ІНСТРУКЦІЯ ДО ПРАКТИЧНОЇ РОБОТИ
Завдання. Обчислити значення виразу z = (а + 2b)/(а – 3b), де а, Ь — дійсні числа.
Знаменник дробу може дорівнювати нулю. Тому алгоритм розв’язання має містити розгалуження, в якому будуть враховані два можливих випадки:
Вказівки до складання програми для обчислення значення виразу у середовищі програмування Lazarus.
для виклику вікна діалогу Новий .... У цьому вікні вибирати пункт Програма та натиснути кнопку Гаразд.
У результаті вам буде запропоновано зберегти файли project1.lpi та unit1.pas, для яких потрібно буде вказати новостворену теку для зберігання.
щоб надати формі такого вигляду.
<…>
У цій процедурі використано такі змінні:
У процедурі використано такі вказівки:
<…>
Зберегти зміни в проекті:
і файл project1.exe буде запущено на виконання.
Аналогічно пересвідчитися у коректності роботи програми при а = 3, b = 1 з діагностикою: "Значення виразу невизначене."
1
ТЕМА: Створення програми з розгалуженням з використанням змінних у середовищі програмування.
МЕТА:
навчальна:
розвивальна:
виховна:
По завершенню вивчення учень:
ОБЛАДНАННЯ: ПК із встановленим ОС і середовищем програмування IDE Lazarus.
СТРУКТУРА УРОКУ
|
(1 хв.) |
|
(4 хв.) |
|
(4 хв.) |
|
(2 хв.) |
|
(10 хв.) |
|
(2 хв.) |
|
(17 хв.) |
|
(4 хв.) |
|
(1 хв.) |
ХІД УРОКУ
1. Організаційний момент
Вітання з класом. Перевірка присутності і готовності учнів до уроку.
2. Перевірка виконання домашнього завдання
Учні аналізують виконання власних проектів.
3. Актуалізація опорних знань
- ЩО ТАКЕ АЛГОРИТМ?
Алгоритм – це чітко визначена для конкретного виконавця послідовність дій, які спрямовані на досягнення поставленої мети або розв’язання задачі певного типу.
- СПОСОБИ ОПИСУ АЛГОРИТМІВ.
- ВИДИ АЛГОРИТМІВ?
- ЛІНІЙНИЙ АЛГОРИТМ – ЦЕ…
- ПРОГРАМА – ЦЕ…
Програма – це сукупність алгоритмів, написаних спеціальною мовою, для розв’язування поставленої задачі на ПК. Ця мова називається мовою програмування. Текст програми називають її кодом.
- ТРАНСЛЯТОР – ЦЕ…
Транслятор – це програма, призначена для перекладу тексту програми з однієї мови програмування на іншу. Процес перекладання називається трансляцією. Розрізняють два типи трансляторів – компілятори та інтерпретатори.
- ЯК НАЗИВАЄТЬСЯ КОНСТРУКЦІЯ BEGIN ... END?
4. Мотивація, оголошення теми
Мотивація навчання: сьогодні ми навчимося складати програми з розгалуженням у середовищі Lazarus. Cклавши програму один раз, можна виконати її для різних значень вхідних даних. Це може істотно зекономити час виконання завдань для багатьох варіантів вхідних даних. Сподіваюся, ви навчитеся краще логічно мислити і використовувати програмування для ефективного розв’язання і навчальних, і практичних задач.
Тема уроку: Створення програми з розгалуженням з використанням змінних у середовищі програмування.
5. Подання нового матеріалу
Величина — властивість деякого об’єкта, виражена елементом деякої (зазвичай, упорядкованої) множини.
Прикладами величин є, наприклад, ширина і висота класної дошки, колір дошки, напис на кнопці, її кнопки розташування на формі та інше. У математиці — довжина і ширина прямокутника, його площа, градусна міра кута тощо. У фізиці — час, швидкість, пройдений шлях, густина речовини тощо.
Cтала (константа) — величина, значення якої не змінюється..
Прикладом математичної сталої є, наприклад, число Піфагора π — відношення довжини кола до його діаметра. Прикладом фізичної сталої є швидкість світла у порожнечі для різних інерційних систем відліку.
Змінна — величина, значення якої може змінюватися..
Прикладами змінної є: температура повітря, оцінки учнів з контрольної роботи, вага товару.
Властивості величини у програмуванні:
Деякі стандартні типи величин мови Object Pascal:
Тут для цілих типів вказано діапазон допустимих значень, для дійсних типів — діапазон допустимих значень абсолютної величини.
Логічний тип описує величину, що може набувати лише одне з двох таких значень: false (хибність) або true (істина).
Символьний тип Char передбачає використання символів всієї кодової таблиці комп'ютера ASCII (літер, цифр, спеціальних символів). Цей тип є впорядкованим і порядковим (порівнюють коди символів). Значення записують як символ, взятий у апострофи (наприклад, 'x') або дієз + код символу (наприклад, #222).
Рядковий тип String задає описує послідовність величин типу Char. Цей тип є впорядкованим (порівнюють коди символів спочатку перших, при їхньому збігу — наступних і т.д.). Зазвичай значення записують як послідовність символів, взятих у апострофи. Наприклад, 'abc'.
Усі змінні потрібно оголосити (описати) в розділі опису змінних, який розпочинають службовим словом Var. Усі сталі потрібно оголосити (описати) в розділі опису сталих, який розпочинають службовим словом Const. Наприклад, таким чином:
Var n:integer; k1,k2: real; z: char; t: string;
Const n=12; g=9.8; z='?'; t='Чемпіон!';
При описі неструктурованих сталих (як і в поданому вище прикладі) тип величини зазвичай не вказують. Інакше доведеться писати довше:
Const n: byte =12; g: real =9.8; z:char ='?'; t: string ='Чемпіон!';
3 етапи роботи зі змінними (величинами):
Розгалуження — це така алгоритмічна структура, що передбачає виконання однієї або іншої вказівки залежно від справдження певного висловлювання (умови).
Всі мови програмування мають такі спеціальні вказівки (оператори) для розгалуження залежно від справдження певної умови. Їх називають умовні уператори. У мові Object Pascal є такі види умовного оператора: повний і неповний.
Повний оператор (розгалуження) має такий вигляд:
if умова then вказівка1 else вказівка2
При справдженні умови буде виконано вказівку1, інакше — вказівку2. Тут під вказівками розуміємо як окрему вказівку, так і послідовність вказівок. Тому у блок-схемі повної форми розгалуження замість слова «вказівка» вжито слово «послідовність».
Якщо в умовному операторі після слів then або else виконують послідовність вказівок, їх потрібно брати в операторні дужки словами begin та end. Умовний оператор матиме такий вигляд:
if умова then
begin
послідовність вказівок 1
end
else
begin
послідовність вказівок 2
end;
Якщо у точці розгалуження (програми) має бути більше двох варіантів вибору, додаткові оператори потрібно вкласти в середину гілки «інакше». Такі додаткові оператори називають вкладеними умовними операторами.
Неповний оператор розгалуження у поданні блок-схемою має такий вигляд:
Під час виконання неповного розгалуження при справдженні умови буде виконано вказівку (послідовність вказівок) всередені блока, інакше — здійснено перехід до виконання вказівок, розташованих після вказівки розгалуження. В програмі такий оператор записують таким чином:
if умова then вказівка;
У випадку виконання послідовності вказівок в разі істиності умови цей оператор матиме такий вигляд:
if умова then
begin
послідовність вказівок
end;
Для ілюстрації виконання повної форми вказівки розгалуження розглянемо фрагмент проекту, у якому пропонують перевірити правильність введення 4-цифрового паролю, значення якого задають у розділі опису сталих. Наприклад, таким чином:
const parol_1 = 1243;
На збіг перевіряють пароль parol_2, який вводять у поле редагування Edit1.
parol_2:=StrToInt(Edit1.Text);
if parol_2 = parol_1 then
Label3.Caption:=' Пароль правильний!'
else
Label3.Caption:=' Пароль неправильний!');
Для ілюстрації виконання неповної форми вказівки розгалуження розглянемо фрагмент проекту, у якому подвоюється ціле число а у випадку, якщо воно більше за число 5.
If а >5 then
begin
а := а*2;
Label3.Caption:='a = ' + IntToStr(a);
end;
Для ілюстрації виконання вказівки розгалуження з вкладеними додатковими операторами розгалуження розглянемо фрагмент проекту, у якому менше з двох різних цілих чисел треба замінити їхньою різницею, більше — їхнім подвоєним добутком та вивести їхнє відношення і (нові) їхні значення. У разі збігу значень чисел ніяких операцій з числами не виконувати, а лише вивести повідомлення про їхню рівність.
if a < b then
begin
Label3.Caption:=IntToStr(a)+' < '+ IntToStr(b);
a := a - b;
b := 2*a*b;
Label4.Caption:='a = '+IntToStr(a)+' b = '+IntToStr(b)
end
else
if b < a then
begin
Label3.Caption:=IntToStr(b)+' < '+ IntToStr(a);
b := a - b;
a := 2*a*b;
Label4.Caption:='a = '+IntToStr(a)+' b = '+IntToStr(b)
end
else Label4.Caption:='Значення чисел збігаються і дорівнюють '+IntToStr(a);
6. Інструктаж з ТБ
Учні повторяють правила безпечної роботи за комп’ютером.
7. Вироблення практичних навичок
Інструкція до практичної роботи.
Завдання. Обчислити значення виразу z = (а + 2b)/(а – 3b), де а, Ь — дійсні числа.
Знаменник дробу може дорівнювати нулю. Тому алгоритм розв’язання має містити розгалуження, в якому будуть враховані два можливих випадки:
Вказівки до складання програми для обчислення значення виразу у середовищі програмування Lazarus.
для виклику вікна діалогу Новий .... У цьому вікні вибирати пункт Програма та натиснути кнопку Гаразд.
У результаті вам буде запропоновано зберегти файли project1.lpi та unit1.pas, для яких потрібно буде вказати новостворену теку для зберігання.
щоб надати формі такого вигляду.
procedure TForm1.Button1Click(Sender: TObject);
var a,b,x,y,z:real;
begin
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
x:=a-3*b;
y:=a+2*b;
if x<>0 then
begin
z:=y/x;
label4.Caption:='z='+FloatToStr(z);
end
else
label4.Caption:='Значення виразу не визначене.';
end;
У цій процедурі використано такі змінні:
У процедурі використано такі вказівки:
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
Зберегти зміни в проекті:
і файл project1.exe буде запущено на виконання.
Аналогічно пересвідчитися у коректності роботи програми при а = 3, b = 1 з дігностикою: "Значення виразу невизначене."
Таким чином проект для обчислення значення виразу створено і перевірено. Для кращого засвоєння матеріалу можна переглянути навчальне відео
8. Підбиття підсумків уроку
Аналіз виконаних робіт. Виставлення оцінок.
9. Домашнє завдання
Доробити проекти у разі потреби.
1