Матеріал містить розробку уроку "Практична робота № 12" 8 клас, за підручником Ривкінд Й. Я.
У зв'язку з тим, що в підручнику практична робота досить об'ємна, то я її розбила на 2 частини. Для того, щоб учням було простіше, першу частину можна провести після вивчення теми "Алгоритми з розгалуженням", а другу - після теми "Циклічні алгоритми".
Урок № ___ Дата______
Тема: Інструктаж з ТБ. Практична робота № 12. Частина 1 «Складання та виконання проектів з розгалуженням для опрацювання величин»
Мета: продовжувати формувати в учнів навички роботи з мовою програмування Free Pascal, програмою Lazarus; розвивати логічне мислення, вміння аналізувати, робити висновки; виховувати дисциплінованість, відповідальність та самостійність під час роботи з комп’ютером.
Тип уроку: закріплення знань, умінь та навичок.
Хід уроку
Зробити аналіз виконання практичної роботи, вказати основні помилки та недоліки у виконанні. Оцінити роботи учнів згідно критеріїв оцінювання.
Повторити § 6.6 – 6.7. Підготуватися до практичної роботи № 12. Частина 2, завдання 4 – 6.
Складання програм з розгалуженнями
1. Відкрийте середовище розробки Lazarus і створіть новий проект.
2. Розмістіть на формі елементи керування для розв’язування задачі:
Відомі довжини сторін двох прямокутників. Обчислити площі прямокутників і порівняти їх. Визначити, чи є прямокутники квадратами. З’ясувати, чи вміститься один прямокутник у середину другого. Повідомити отримані результати.
У проекті:
1) складіть обробник події OnClick першої кнопки для обчислення площ прямокутників і виведення повідомлення про те, у якого прямокутника площа більша;
2) складіть обробник події OnClick другої кнопки, виконання якого залежно від установлених прапорців приведе до визначення того, чи є відповідний прямокутник квадратом;
3) складіть обробник події OnClick третьої кнопки, виконання якого приведе до визначення, чи вміститься перший прямокутник усередину другого або другий прямокутник усередину першого залежно від вибраного перемикача;
4) виконайте складені процедури і переконайтеся, що результати їхньої роботи правильні.
3. Створіть у власній папці папку Практична 12_1 і збережіть у ній проект.
(написи виділені червоним кольором залишаємо пустими)
Для першої кнопки
procedure TForm1.Button1Click(Sender: TObject);
var a, b, c, d, S1, S2: real;
begin
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
c:=StrToFloat(Edit3.Text);
d:=StrToFloat(Edit4.Text);
S1:=a*b;
S2:=c*d;
Label5.Caption:=FloatToStr(S1);
Label6.Caption:=FloatToStr(S2);
if S1>S2 then Label12.Caption:='Площа першого прямокутника більша'
else Label12.Caption:='Площа першого прямокутника менша' ;
end;
Для другої кнопки
procedure TForm1.Button2Click(Sender: TObject);
var a, b, c, d: real;
begin
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
c:=StrToFloat(Edit3.Text);
d:=StrToFloat(Edit4.Text);
if CheckBox1.Checked
then begin
if a=b then Label9.Caption:='перший прямокутник є квадратом'
else Label9.Caption:='перший прямокутник не є квадратом'
end;
if CheckBox2.Checked
then begin
if c=d then Label10.Caption:='другий прямокутник є квадратом'
else Label10.Caption:='другий прямокутник не є квадратом'
end;
end;
Для третьої кнопки
procedure TForm1.Button3Click(Sender: TObject);
var a, b, c, d: real;
begin
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
c:=StrToFloat(Edit3.Text);
d:=StrToFloat(Edit4.Text);
if RadioButton1.Checked
then begin
if (a>c) and (b>d)
then Label11.Caption:='перший прямокутник уміститься в другий'
else Label11.Caption:='перший прямокутник не уміститься в другий'
end;
if RadioButton2.Checked
then begin
if (c>a) and (d>b)
then Label11.Caption:='другий прямокутник уміститься в перший'
else Label11.Caption:='другий прямокутник не уміститься в перший'
end;
end;
Урок № ___ Дата______
Тема: Інструктаж з ТБ. Практична робота № 12. Частина 2 «Складання та виконання проектів з повторенням опрацювання величин»
Мета: продовжувати формувати в учнів навички роботи з мовою програмування Free Pascal, програмою Lazarus; розвивати логічне мислення, вміння аналізувати, робити висновки; виховувати дисциплінованість, відповідальність та самостійність під час роботи з комп’ютером.
Тип уроку: закріплення знань, умінь та навичок.
Хід уроку
Зробити аналіз виконання практичної роботи, вказати основні помилки та недоліки у виконанні. Оцінити роботи учнів згідно критеріїв оцінювання.
Повторити § 6.1 – 6.7. Підготуватися до самостійної роботи.
Програмування циклічних обчислень
1. Відкрийте середовище візуального проектування Lazarus.
2. Створіть проект для розв’язування задачі:
Перед початком повені рівень води у річці становив Н м. Під час повені кожну годину рівень води зростав на Р % від рівня попередньої години. Яким буде рівень води через N годин після початку повені? Через скільки годин після початку повені рівень води буде не менше, ніж K м?
1. Розмістіть на формі поля для введення початкових даних, написи з текстами, що будуть пояснювати їхні призначення, та три кнопки.
2. Установіть на першій кнопці напис Питання 1, на другій – Питання 2, на третій – Спочатку, у полів – порожній текст.
3. Складіть обробник події OnClick першої кнопки, виконання якого приведе до виведення у вікно повідомлення відповіді на перше запитання задачі.
4. Виконайте складену процедуру і переконайтеся, що результати її роботи правильні.
5. Складіть обробник події OnClick другої кнопки, виконання якого приведе до знаходження відповіді на друге запитання задачі та виведення його в окремий напис.
6. Виконайте складену процедуру та переконайтеся, що результати її роботи правильні.
7. Складіть обробник події OnClick третьої кнопки, виконання якого приведе до очищення тексту в полях і напису з відповіддю на друге запитання задачі.
3. Створіть у власній папці папку Практична 12_2 і збережіть у ній проект.
(Label1 та Label2 залишаємо пустими)
Для першої кнопки
procedure TForm1.Button1Click(Sender: TObject);
var h, p, x:real; i, n: integer;
begin
h:=StrToFloat(Edit1.Text);
p:=StrToFloat(Edit2.Text);
n:=StrToInt(Edit3.Text);
x:=0;
for i:=1 to n do
begin
x:=p*h/100;
h:=h+x
end;
Label1.Caption:=FloatToStr(h);
end;
Для другої кнопки
procedure TForm1.Button2Click(Sender: TObject);
var h, p, k, x: real; n: integer;
begin
h:=StrToFloat(Edit1.text);
p:=StrToFloat(Edit2.text);
k:=StrToFloat(Edit4.text);
x:=0; n:=0;
while k>h do
begin
x:=p*h/100;
h:=h+x;
n:=n+1;
end;
Label2.Caption:=FloatToStr(n);
end;
Для третьої кнопки
procedure TForm1.Button3Click(Sender: TObject);
var n: integer;
begin
Edit1.Text:=' ';
Edit2.Text:=' ';
Edit3.Text:=' ';
Edit4.Text:=' ';
Label2.Caption:= ' ';
end;