Уроки 42-45 (цикли) - вправи
TRANSCRIPT
Урок №42-45. Вправи
Зміст Завдання 1. Урожай Завдання 2. Кількість слів у
реченні Завдання 3. Просте число Завдання 4. Гра Завдання 5. Літаюча кнопка Завдання 6. y=n! (с.р.) Завдання 7. y=1!+2!+…+n! (с.р.) Завдання 8. Арифметична
прогресія (с.р.)
Завдання 9. НСД Завдання 10.Шкала
Фаренгейта Завдання 11. Оплата за
електроенергію Завдання 12. Пенсійний
калькулятор Завдання 13. Знижки Завдання 14. Кролики Завдання 15. Порівняння
Завдання 9Знайти найбільший спільний дільник
двох даних натуральних чисел
Завдання 9 (підказка)R:=a mod b;While r<>0 do begin a:=b; b:=r; r:=a mod b;End;Edit3.text:= IntToStr(b);
While a<>b do begin if a>b then a:=a-b else if b>a then b:=b-a; end;Edit3.text:= IntToStr(b);
АБО
Завдання 1Фермер вирощує новий сорт рослин для годівлі тварин. Він дослідив закономірність, що після кожного зрізу, який здійснюється через тиждень (один раз на тиждень) не більше 5 разів, кількість зеленої маси збільшується за формулою: s=s+(i-1)*i, де і – номер тижня, s – кількість зеленої маси, при першому зрізі s=1. розробіть проект,за яким буде визначено, чи встигне фермер зібрати n одиниць зеленої маси
Завдання 1var Form1: TForm1; s, i, n:integer;implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);begin s:=1; n:=strtoint(edit1.text); i:=1; while i<=10 do begin s:=s+(i-1)*i; i:=i+2; end; if n<=s then messagedlg('Встигне отримати',mtinformation,[mbOK],0) else messagedlg('Не встигне отримати',mtinformation,[mbOK],0); end;
Завдання 2Розробіть проект, за допомогою якого можна
визначити, скільки слів уведено в текстове поле, якщо відомо, що між словами міститься лише один пропуск
Завдання 2 (підказка) varn,i,k:byte; s:string;….procedure TForm1.Button1Click(Sender: TObject);begin n:=length(edit1.Text); s:=edit1.text; k:=1; i:=1; while i<=n do begin if s[i]=' ' then k:=k+1; i:=i+1; end; messagedlg(inttostr(k),mtinformation,[mbOK],0)end;
For i:=1 to n do
if s[i]=‘ ‘ then k:=k+1;
Repeat
if s[i]=' ' then k:=k+1;
i:=i+1
Until i>n;
Завдання 3
Завдання 3
Завдання 4
Розробіть проект, який реалізує гру Вгадай число між комп'ютером та користувачем. Користувач не більш ніж за 6 спроб має відгадати задумане число з діапазону від1 до 20. Числа вводити за допомогою вікна введення. Якщо користувач відгадає , то у вікно виведення виводиться повідомлення про кількість спроб, якщо ні – виводиться задумане число. Комп'ютер повинен повідомляти підказки: “Твоє число менше від задуманого”, “Твоє число більше за задумане”.
Завдання 4
Завдання 4vari, n, k:byte; fl:boolean;…procedure TForm1.Button1Click(Sender: TObject);begin Label2.Caption:=edit1.text+', я загадав число від 1 до 20'; randomize; n:=random(20); {задумали число} fl:=false; {не вгадали} i:=1; while(i<=6)and(fl=false)do {спроби вгадати} begin k:=strtoint(InputBox('Спробуй відгадай','Введі число:','')); if k<n then messagedlg('Твоє число менше від задуманого', mtinformation,[mbOk],0) else if k>n then messagedlg('Твоє число більше за задумане', mtinformation,[mbOk],0) else begin fl:=true; messagedlg('Дуже добре! Спроб - '+inttostr(i), mtinformation,[mbOk],0) end; i:=i+1; end; if fl=false then messagedlg('Ні. Число, яке я задумав - '+inttostr(n), mtinformation,[mbOk],0)end;
Завдання 5
Завдання 5 (підказка)Var i,x,y:integer;…
procedure TForm1.Panel1Click(Sender: TObject);begin x := 1; y := 1; for i:=1 to 30000 do begin Panel1.Top := Panel1.Top + y; Panel1.Left := Panel1.Left + x; If Panel1.Top > Form1.Height - Panel1.Height Then y := y * (-1); If Panel1.Left > Form1.Width - Panel1.Width Then x := x * (-1); If Panel1.Top < 1 Then y := y * (-1); If Panel1.Left < 1 Then x := x * (-1); end;end;
Завдання 6 (самостійно)Обчислити значення y=n!N!=1*2*3*…*(n-1)*n
Y:=1;For i:=2 to n do y:=y*I;Edit2.text:=IntToStr(y);
Завдання 7 (самостійно)Обчислити значення y=1!+2!+..+n!
Sum:=0;Y:=1;For i:=1 to n do begin y:=y*I; sum:=sum+y; end;Edit2.text:=IntToStr(sum);
Завдання 8 (самостійно)Обчислити суму додатних членів арифметичної
прогресії з додатним першим членом і від'ємною різницею
S:=0;While a>0 do begin s:=s+a; a:=a+d; end;Edit3.text:= IntToStr(s);
S:=0;Repeat s:=s+a; a:=a+d; Until a<=0;Edit3.text:=
IntToStr(s);
Завдання 9Знайти найбільший спільний дільник
двох даних натуральних чисел
Завдання 9 (підказка)R:=a mod b;While r<>0 do begin a:=b; b:=r; r:=a mod b;End;Edit3.text:= IntToStr(b);
While a<>b do begin if a>b then a:=a-b else if b>a then b:=b-a; end;Edit3.text:= IntToStr(b);
АБО
Завдання 10
Завдання 10 (Варіант І)vart, tp, tk, krok:real; s:string;…procedure TForm1.Button1Click(Sender: TObject);begin tp:=strtofloat(edit1.text); tk:=strtofloat(edit2.text); krok:=strtofloat(edit3.text); t:=tp;s:=''; while t<=tk do begin s:=s+ floattostr(9/5*t+32)+' '; t:=t+krok; end; label6.caption:=s;end;
Завдання 10 (Варіант ІІ)vart, tp, tk, krok:real; …procedure TForm1.Button1Click(Sender: TObject);begin tp:=strtofloat(edit1.text); tk:=strtofloat(edit2.text); krok:=strtofloat(edit3.text); t:=tp; while t<=tk do begin Listbox1.Items.Add(floattostr(9/5*t+32)); t:=t+krok; end; end;
Завдання 11
Завдання 11
Завдання 11
Завдання 11
vark,v:real;…
procedure TForm1.Button1Click(Sender: TObject);begin k:=strtofloat(edit1.text); if radiogroup1.ItemIndex=0 then k:=k-30; if k<100 then v:=k*45.6 else if (k>100) and (k<=600) then v:=k*78.9 else v:=k*147.9; messagedlg(floattostr(v), mtinformation,[mbOk],0)end;
Завдання 12
Завдання 12
Завдання 12vars,m,p:real;…procedure TForm1.Button1Click(Sender: TObject);begin s:=strtofloat(edit1.text); if combobox1.ItemIndex=0 then m:=1380 else if combobox1.ItemIndex=1 then m:=1450 else if combobox1.ItemIndex=2 then m:=1550 ; if s<=3*m then p:=0 else if (s>3*m) and (s<=10*m) then p:=(s-3*m)*0.15 else p:=(7*m)*0.15+(s-10*m)*0.2; edit2.text:=floattostr(s-p); edit3.text:=floattostr(p);end;
Завдання 13
Завдання 13
Завдання 14
Завдання 14 (підказка)…F1:=1;F2:=1;For i:=3 to n do begin f3:=f2+f1; f1:=f2; f2:=f3;End;…
…If (n=1) or(n=2) then
messagedlg(‘1’, mtinformation,[mbOk],0)
else messagedlg(inttostr(f3),
mtinformation,[mbOk],0);…
Завдання 15
Завдання 15 (підказка)n:=strtoint(edit1.Text); y:=1; for i:= 2 to N do Y:=Y*i; edit2.text:=inttostr(Y); edit3.text:=inttostr(N*N); if Y> N*N then label4.caption:='>' else if Y< N*N then label4.caption:='<' else label4.caption:='=';
Джерела1. Морзе Н.В., Барна О.В., Вембер В.П. Інформатика.підручник для 8
класу загальноосвітніх навчальних закладів. – К.:Оріон, 2016.2. http://intuit.valrkl.ru/course-1265/index.html#ID.3.section.4 –
Программирование на Lazarus. Ачкасов Вячеслав Юрьевич 3. Лисенко Т.С., Ривкінд Й.Я., Чернікова Л.А., Шакотько В.В.
Інформатика. Академічний рівень, профільний рівень. – К: Ґенеза, 2011.
4. Вовк Т. В. Готуємось до ДПА з інформатики. На допомогу вчителю та учням. - Днвпропетрівськ, 2011.
5. Бондаренко О.О. Інформатика. Visual Basic. 9 клас. – Шепетівка: ПП Шестопалов, 2009.
6. Дудзяний І. М. Програмування мовою Visual Basic/VBA. - Львів: Видавничий центр ЛНУ імені Івані Франка, 2004
7. http://visualbasic.at.ua/ - Початковий курс програмування Visual Basic8. http://urokinfo.ho.ua/view_post.php?id=146 - Iнформатика в школі.
Матеріали до уроків
1. Морзе Н.В., Барна О.В., Вембер В.П. Інформатика.підручник для 8 класу загальноосвітніх навчальних закладів. – К.:Оріон, 2016.
2. http://intuit.valrkl.ru/course-1265/index.html#ID.3.section.4 – Программирование на Lazarus. Ачкасов Вячеслав Юрьевич
3. Лисенко Т.С., Ривкінд Й.Я., Чернікова Л.А., Шакотько В.В. Інформатика. Академічний рівень, профільний рівень. – К: Ґенеза, 2011.
4. Вовк Т. В. Готуємось до ДПА з інформатики. На допомогу вчителю та учням. - Днвпропетрівськ, 2011.
5. Бондаренко О.О. Інформатика. Visual Basic. 9 клас. – Шепетівка: ПП Шестопалов, 2009.
6. Дудзяний І. М. Програмування мовою Visual Basic/VBA. - Львів: Видавничий центр ЛНУ імені Івані Франка, 2004
7. http://visualbasic.at.ua/ - Початковий курс програмування Visual Basic8. http://urokinfo.ho.ua/view_post.php?id=146 - Iнформатика в школі.
Матеріали до уроків