Практичні роботи з інформатики для учнів 8 класу. Робота з формами, написами та кнопками

Про матеріал
Практичні роботи з інформатики для учнів 8 класу. Робота з формами, написами та кнопками
Перегляд файлу

Готуючись до практичних робіт, опрацюйте дані проекти.

Робота з формами, написами та кнопками

Спочатку задача про роботу з кількома формами для зразку. Використати на другій формі компонент RadioGroup, за допомогою якого буде змінюватися колір тла першої форми. На другій формі передбачити виведення заголовку першої форми. Інформацію про програму читати на третій формі. 

http://khmelschool8.at.ua/PTM/robota_z_formami.jpg

Уважно працюйте із файлами Unit1, Unit2, Unit3. Передбачте підключення відповідних модулів 

Unit1:

Uses Unit2, Unit3;

procedure TForm1.Button1Click(Sender: TObject);
begin
   form2.Show;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  form3.ShowModal;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  close;
end;      

Unit2:

implementation
uses Unit1;  

procedure TForm2.Button1Click(Sender: TObject);
begin
if radioGroup1.ItemIndex=0 then form1.color:=clWhite;
if radioGroup1.ItemIndex=1 then form1.color:=clRed;
if radioGroup1.ItemIndex=2 then form1.color:=clBlue;
if radioGroup1.ItemIndex=3 then form1.color:=clGreen;

end;

procedure TForm2.Button2Click(Sender: TObject);
begin
  Close;
end;

procedure TForm2.Button3Click(Sender: TObject);
begin
 form2.Label2.Caption:=form1.Caption;
end;     

Unit3:

implementation
uses Unit1; 

procedure TForm3.Button1Click(Sender: TObject);
begin
  Close;
end; 

Проект 1. Довідник користувача ПК з використанням модального режиму для відображення форми.

http://khmelschool8.at.ua/fizika/forma_dovidnik_z_informatiki.png

Завдання передбачає виведення трактування комбінацій класів у окремі формі.

implementation
uses Unit2, Unit3, Unit4;

{$R *.lfm}

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
begin
  Unit2.Form2.ShowModal;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Unit3.Form3.ShowModal;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  Unit4.Form4.ShowModal;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  Form1.Close;
end;       

Проект 2 "Довідник з фізики"

 http://khmelschool8.at.ua/fizika/forma_dovidnik_z_ifiziki.png

implementation
uses Unit2, Unit3, Unit4;

{$R *.lfm}

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
begin
  Unit2.Form2.ShowModal;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Unit3.Form3.ShowModal;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  Unit4.Form4.ShowModal;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  form1.Close;
end;       

Проект 3 "Квартплата"

http://khmelschool8.at.ua/fizika/forma_kvartplata.png http://khmelschool8.at.ua/fizika/forma_kvartplata_1.png

Введення даних про площу квартири та кількість осіб, що у ній проживають вводиться у вікнах введення даних InputBox. Результат виводиться на форму.

procedure TForm1.Button1Click(Sender: TObject);
var s,n,lift,smitya,remont,kvartpl:real;
begin
  s:=StrToFloat(InputBox('Введення площі', 'Введіть площу квартири', ''));
  n:=StrToFloat(InputBox('Введення даних про жильців', 'Введіть кількість осіб, що проживають у квартирі', ''));
  lift:=0.36*s;
  smitya:=0.12*s*n;
  remont:=0.5*s;
  kvartpl:=2.15*s;
  s:=lift+remont+kvartpl+smitya;
  Edit1.Text:=FloatToStr(s);
end;  

Проект 4 "Чарівні кнопки."

Переконайтеся, як можна, переставляючи фрагменти слів, отримувати нові слова.

http://khmelschool8.at.ua/fizika/charivni_knopki_uchvorennja_sliv.png

procedure TForm1.Button1Click(Sender: TObject);
begin
  label4.Caption:=label3.Caption+label2.Caption;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  label4.Caption:=label2.Caption+label3.Caption;
end;    

Проект 5 "Паркові доріжки"

http://khmelschool8.at.ua/fizika/parkovi_dorizhki_1.png http://khmelschool8.at.ua/fizika/parkovi_dorizhki_2.png

procedure TForm1.Button1Click(Sender: TObject);
var a,b,c:real;
begin
  a:=StrToFloat(InputBox('Введення довжин доріжок','Введіть довжину першої перпендикулярної доріжки',''));
  b:=StrToFloat(InputBox('Введення довжин доріжок','Введіть довжину другої перпендикулярної доріжки',''));
  c:=sqrt(a*a+b*b);
  MessageDlg('Довжина найкоротшої доріжки ',FloatToStr(c), mtInformation, [mbOk], 0);
end;   

Проек 6. Домашня бухгалтерія

http://khmelschool8.at.ua/fizika/bukhgalterija_2.png http://khmelschool8.at.ua/fizika/bukhgalterija_1.png

procedure TForm1.Button1Click(Sender: TObject);
var d1,d2,d3,s:integer;
begin
  d1:=StrToInt(InputBox('Введення доходу', 'Введіть дохід 1-го члена родини', ''));
  d2:=StrToInt(InputBox('Введення доходу', 'Введіть дохід 2-го члена родини', ''));
  d3:=StrToInt(InputBox('Введення доходу', 'Введіть дохід 3-го члена родини', ''));
  s:=d1+d2+d3;
  Edit6.Text:=IntToStr(s);
end;

procedure TForm1.Button2Click(Sender: TObject);
var kom, trans, telef, inter, td, s, zal:integer;
begin
  kom:=StrToInt(Edit1.Text);
  trans:=StrToInt(Edit2.Text);
  telef:=StrToInt(Edit3.Text);
  inter:=StrToInt(Edit4.Text);
  td:=StrToInt(Edit5.Text);
  s:=StrToInt(Edit6.Text);
  zal:=s-(kom+trans+telef+inter+td);
  MessageDlg(IntToStr(zal), mtInformation, [mbOK], 0);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  Close;
end;  

Проект 7. "Тривалість рейсу"

http://khmelschool8.at.ua/fizika/trivalist_rejsu.png

procedure TForm1.Button1Click(Sender: TObject);
var s1,s2,s3,v1,v2,v3,t,truv,god,hv: real;
begin
  s1:=StrToFloat(Edit1.Text)*1000;
  s2:=StrToFloat(Edit2.Text)*1000;
  s3:=StrToFloat(Edit3.Text)*1000;
  v1:=StrToFloat(Edit4.Text)*1000/60;
  v2:=StrToFloat(Edit5.Text)*1000/60;
  v3:=StrToFloat(Edit6.Text)*1000/60;
  t:=StrToFloat(Edit7.Text);
  truv:=s1/v1+s2/v2+s3/v3+2*t;
  god:=int(truv/60);
  hv:=truv-god*60;
  MessageDlg('Загальна тривалість рейсу '+FloatToStr(god)+' годин '+floatToStr(hv)+' хвилин', mtInformation, [mbOK], 0);
end;       

Створіть аналогічний проект, але організуйте введення даних у вікнах вводу даних.

Проект 8 "Туристична агенція"

http://khmelschool8.at.ua/fizika/turistichna_agencija_1.png

http://khmelschool8.at.ua/fizika/turistichna_agencija_2.png

procedure TForm1.Button1Click(Sender: TObject);
var kod,month, day, number: integer;
  feeding:real;
begin
  kod:=StrToInt(InputBox('Введення даних','Введіть персональний код',''));
  month:=StrToInt(InputBox('Введення даних','Введіть місяць',''));
  day:=StrToInt(InputBox('Введення даних','Введіть кількість днів',''));
  number:=StrToInt(InputBox('Введення даних','Введіть кількість осіб',''));
  feeding:=StrToFloat(InputBox('Введення даних','Введіть тип харчування',''));
  Label7.Caption:=IntToStr(kod);
  Label8.Caption:=IntToStr(month);
  Label9.Caption:=IntToStr(day);
  Label10.Caption:=IntToStr(number);
  Label11.Caption:=FloatToStr(feeding);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Close;
end;   

  Проект 9 "Тест з біології"

Опрацюйте даний проект та додайте ще дві форми із тестовими запитаннями

http://khmelschool8.at.ua/fizika/test_z_biologiji.png 

procedure TForm1.Button1Click(Sender: TObject);
begin
  messageDlg('Молодуць! У тебе хороші знання з біології!',mtinformation,[mbOK],0);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  messageDlg('Ти помилився. Спробуй дізнатися більше про кровоносну систему',mtinformation,[mbOK],0);
end;   

Проект 10 "Сума цифр тризначного числа"

http://khmelschool8.at.ua/fizika/suma_cifr_triznachnogo_chisla.png

procedure TForm1.Button1Click(Sender: TObject);
var chislo,sotni,des,odun,s:integer;
begin
  chislo:= StrToInt(InputBox('Введення числа','Введіть трицифрове число',''));
  sotni:=chislo div 100;
  chislo:=chislo-sotni*100;
  des:=chislo div 10;
  odun:=chislo-des*10;
  s:=sotni+des+odun;
  MessageDlg('Сума цифр даного числа ',IntToStr(s), mtInformation, [mbOk], 0);
end; 

Проект 11 "Сімейний депозит"

http://khmelschool8.at.ua/fizika/simejnij_depozit.png

procedure TForm1.Button1Click(Sender: TObject);
var p,a,s:real;
begin
 p:=0.18;
 a:=StrToFloat(Edit1.Text);
 s:=a+a*p;
 MessageDlg(FloatToStr(s)+' грн.', mtInformation, [mbOk], 0);
end;   

Памятайте, що при опрацюванні текстових величин, які містять символи українського алфавіту, слід в розділ Uses додати модуль LCLProc. Тоді перед іменем кожної функції слід додавати UTF8.

Проект 1 "Вітальна листівка"

http://khmelschool8.at.ua/MT/listivka_1.jpg http://khmelschool8.at.ua/MT/listivka_2.jpg

procedure TForm1.Button1Click(Sender: TObject);
var person,even,nik:string;
begin
 person:=Edit1.Text;
 Label5.Caption:=person;
 Label5.Visible:=True;
 Edit1.Visible:=False;
 Label1.Visible:=False;
 Label3.Visible:=False;
 even:=Edit2.Text;
 Edit2.Visible:=False;
 Label6.Caption:=even;
 nik:=Edit3.Text;
 Edit3.Visible:=False;
 Label7.Caption:=nik;
 end;   

Проект 2 "Нагадування"

http://khmelschool8.at.ua/MT/nagaduvannja.jpg

procedure TForm1.Button1Click(Sender: TObject);
var den:string;
begin
  den:=Edit1.Text;
  MessageDlg('Увага! Сьогодні - '+den, mtInformation, [mbOK], 0 );
end;   

Проек 3 "Утворення нових слів"

http://khmelschool8.at.ua/MT/novi_slova.jpg

procedure TForm1.Button1Click(Sender: TObject);
var slovo,s1,s2:string;
begin
 slovo:=InputBox('Введення слова', 'Введіть дане слов','' );
 s1:=UTF8copy(slovo, 3, 5);
 s2:=UTF8copy(slovo, 5, 1)+ UTF8copy(slovo, 4, 1)+ UTF8copy(slovo, 6, 2)+UTF8copy(slovo, 2, 1)+UTF8copy(slovo, 8, 4);
 Label1.Visible:=True;
 Label2.Caption:=s1;
 Label3.Caption:=s2;
end;   

Проект 4 "Ініціали"

http://khmelschool8.at.ua/MT/iniciali.jpg

procedure TForm1.Button1Click(Sender: TObject);
var pr,im,pb,prin:string;
begin
  pr:=Edit1.Text;
  im:=Edit2.Text;
  pb:=Edit3.Text;
  prin:=pr+' '+UTF8copy(im, 1, 1)+'.'+UTF8copy(pb,1,1)+'.';
  Edit4.Text:=prin;
end;     

Проект 5 "Шифрування"

http://khmelschool8.at.ua/MT/shifrovka.jpg

procedure TForm1.Button1Click(Sender: TObject);
var slovo:string;
begin
  slovo:=InputBox('Введення слова', 'Введіть довільне слово з 5 букв', '');
  slovo:=UTF8copy(slovo, 1, 1)+UTF8copy(slovo, 1, 1)+UTF8copy(slovo, 2, 1)+UTF8copy(slovo, 2, 1)+UTF8copy(slovo, 3, 1)+UTF8copy(slovo, 3, 1)+UTF8copy(slovo, 4, 1)+UTF8copy(slovo, 4, 1)+UTF8copy(slovo, 5, 1)+UTF8copy(slovo, 5, 1);
  Edit1.Text:=slovo;
end;  

Проект 6 "Дата народження"

http://khmelschool8.at.ua/MT/data_narodzhennja_1.jpg

procedure TForm1.Button1Click(Sender: TObject);
var den,mis,rik, skor:string;
begin
  den:=Edit1.Text;
  mis:=Edit2.Text;
  rik:=Edit3.Text;
  skor:=den+'.'+mis+'.'+rik;
  Edit4.Text:=skor;
  Image1.Visible:=true;
end;   

  Проект 7 "Нові слова"

http://khmelschool8.at.ua/MT/novi_slova_1.jpg

procedure TForm1.Button1Click(Sender: TObject);
var t1,t2,t3,t4,n1,n2,n3,n4:string;
begin
  t1:=Edit1.Text;
  t2:=Edit2.Text;
  t3:=Edit3.Text;
  t4:=Edit4.Text;
  n1:=UTF8copy(t1,4,1)+UTF8copy(t1,10,2)+UTF8copy(t1,7,1)+UTF8copy(t1,3,1)+UTF8copy(t1,9,1);
  n2:=UTF8copy(t2,9,1)+ UTF8copy(t2,1,1)+ UTF8copy(t2,6,1)+ UTF8copy(t2,8,1)+UTF8copy(t2,7,1)+UTF8copy(t2,9,1);
  n3:=UTF8copy(t3,3,3)+ UTF8copy(t3,2,2)+UTF8copy(t3,2,1);
  n4:=UTF8copy(t4,7,2)+UTF8copy(t4,5,1)+UTF8copy(t4,4,1)+UTF8copy(t4,3,1);
  Edit5.Text:=n1;
  Edit6.Text:=n2;
  Edit7.Text:=n3;
  Edit8.Text:=n4;
end;   

Проект 8 "Калькулятор"

http://khmelschool8.at.ua/PTM/kalkuljator.jpg

procedure TForm1.Button1Click(Sender: TObject);
var a,b,c:real;
begin
 a:=StrToFloat(Edit1.Text);
 b:=StrToFloat(Edit2.Text);
 c:=a+b;
 Label3.Caption:=FloatToStr(c);
end;

procedure TForm1.Button2Click(Sender: TObject);
var a,b,c:real;
begin
 a:=StrToFloat(Edit1.Text);
 b:=StrToFloat(Edit2.Text);
 c:=a-b;
 Label3.Caption:=FloatToStr(c);
end;

procedure TForm1.Button3Click(Sender: TObject);
var a,b,c:real;
begin
 a:=StrToFloat(Edit1.Text);
 b:=StrToFloat(Edit2.Text);
 c:=a*b;
 Label3.Caption:=FloatToStr(c);
end;

procedure TForm1.Button4Click(Sender: TObject);
var a,b,c:real;
begin
 a:=StrToFloat(Edit1.Text);
 b:=StrToFloat(Edit2.Text);
 c:=a/b;
 Label3.Caption:=FloatToStr(c);
end; 

Проект 9 "Розрядні одиниці"

http://khmelschool8.at.ua/MT/rozrjadni_odinici.jpg

procedure TForm1.Button1Click(Sender: TObject);
var chislo,t,s,d,o:integer;
begin
 chislo:=StrToInt(Edit1.Text);
 t:=chislo div 1000;
 chislo:=chislo-t*1000;
 s:=chislo div 100;
 chislo:=chislo-s*100;
 d:=chislo div 10;
 o:=chislo-d*10;
 Edit2.Text:=IntToStr(t)+'*1000+'+IntToStr(s)+'*100+'+IntToStr(d)+'*10+'+IntToStr(o);
end;  

 

docx
До підручника
Інформатика 8 клас (Ривкінд Й.Я., Лисенко Т.І., Чернікова Л.А., Шакотько В.В.)
Додано
29 квітня 2020
Переглядів
1291
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку