Уроки 42-45 (цикли) - вправи

37
Урок №42-45. Вправи

Upload: -

Post on 03-Mar-2017

70 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Уроки 42-45 (цикли) -  вправи

Урок №42-45. Вправи

Page 2: Уроки 42-45 (цикли) -  вправи

Зміст Завдання 1. Урожай Завдання 2. Кількість слів у

реченні Завдання 3. Просте число Завдання 4. Гра Завдання 5. Літаюча кнопка Завдання 6. y=n! (с.р.) Завдання 7. y=1!+2!+…+n! (с.р.) Завдання 8. Арифметична

прогресія (с.р.)

Завдання 9. НСД Завдання 10.Шкала

Фаренгейта Завдання 11. Оплата за

електроенергію Завдання 12. Пенсійний

калькулятор Завдання 13. Знижки Завдання 14. Кролики Завдання 15. Порівняння

Page 3: Уроки 42-45 (цикли) -  вправи

Завдання 9Знайти найбільший спільний дільник

двох даних натуральних чисел

Page 4: Уроки 42-45 (цикли) -  вправи

Завдання 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);

АБО

Page 5: Уроки 42-45 (цикли) -  вправи

Завдання 1Фермер вирощує новий сорт рослин для годівлі тварин. Він дослідив закономірність, що після кожного зрізу, який здійснюється через тиждень (один раз на тиждень) не більше 5 разів, кількість зеленої маси збільшується за формулою: s=s+(i-1)*i, де і – номер тижня, s – кількість зеленої маси, при першому зрізі s=1. розробіть проект,за яким буде визначено, чи встигне фермер зібрати n одиниць зеленої маси

Page 6: Уроки 42-45 (цикли) -  вправи

Завдання 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;

Page 7: Уроки 42-45 (цикли) -  вправи

Завдання 2Розробіть проект, за допомогою якого можна

визначити, скільки слів уведено в текстове поле, якщо відомо, що між словами міститься лише один пропуск

Page 8: Уроки 42-45 (цикли) -  вправи

Завдання 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;

Page 9: Уроки 42-45 (цикли) -  вправи

Завдання 3

Page 10: Уроки 42-45 (цикли) -  вправи

Завдання 3

Page 11: Уроки 42-45 (цикли) -  вправи

Завдання 4

Розробіть проект, який реалізує гру Вгадай число між комп'ютером та користувачем. Користувач не більш ніж за 6 спроб має відгадати задумане число з діапазону від1 до 20. Числа вводити за допомогою вікна введення. Якщо користувач відгадає , то у вікно виведення виводиться повідомлення про кількість спроб, якщо ні – виводиться задумане число. Комп'ютер повинен повідомляти підказки: “Твоє число менше від задуманого”, “Твоє число більше за задумане”.

Page 12: Уроки 42-45 (цикли) -  вправи

Завдання 4

Page 13: Уроки 42-45 (цикли) -  вправи

Завдання 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;

Page 14: Уроки 42-45 (цикли) -  вправи

Завдання 5

Page 15: Уроки 42-45 (цикли) -  вправи

Завдання 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;

Page 16: Уроки 42-45 (цикли) -  вправи

Завдання 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);

Page 17: Уроки 42-45 (цикли) -  вправи

Завдання 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);

Page 18: Уроки 42-45 (цикли) -  вправи

Завдання 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);

Page 19: Уроки 42-45 (цикли) -  вправи

Завдання 9Знайти найбільший спільний дільник

двох даних натуральних чисел

Page 20: Уроки 42-45 (цикли) -  вправи

Завдання 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);

АБО

Page 21: Уроки 42-45 (цикли) -  вправи

Завдання 10

Page 22: Уроки 42-45 (цикли) -  вправи

Завдання 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;

Page 23: Уроки 42-45 (цикли) -  вправи

Завдання 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;

Page 24: Уроки 42-45 (цикли) -  вправи

Завдання 11

Page 25: Уроки 42-45 (цикли) -  вправи

Завдання 11

Page 26: Уроки 42-45 (цикли) -  вправи

Завдання 11

Page 27: Уроки 42-45 (цикли) -  вправи

Завдання 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;

Page 28: Уроки 42-45 (цикли) -  вправи

Завдання 12

Page 29: Уроки 42-45 (цикли) -  вправи

Завдання 12

Page 30: Уроки 42-45 (цикли) -  вправи

Завдання 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;

Page 31: Уроки 42-45 (цикли) -  вправи

Завдання 13

Page 32: Уроки 42-45 (цикли) -  вправи

Завдання 13

Page 33: Уроки 42-45 (цикли) -  вправи

Завдання 14

Page 34: Уроки 42-45 (цикли) -  вправи

Завдання 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);…

Page 35: Уроки 42-45 (цикли) -  вправи

Завдання 15

Page 36: Уроки 42-45 (цикли) -  вправи

Завдання 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:='=';

Page 37: Уроки 42-45 (цикли) -  вправи

Джерела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нформатика в школі.

Матеріали до уроків