Розв’язання завдань по реалізації алгоритмів у вигляді програми з використання
простих змінних
Мета: формування практичних навичок
складання програм з лінійними алгоритмами; виховання інформаційної культури.
Тип уроку: формування навичок.
Хід уроку.
І. Актуалізація опорних знань учнів.
Дати відповіді на
запитання:
1.
Яку структуру повинна мати програма на мові Паскаль?
2.
Які блоки в програмі обов’язкові, а які ні?
3.
Що таке лінійна програма?
4. Які оператори використовують для введення/виведення
інформації?
ІІ. Формування навичок.
1. Нехай а=0. Якого значення набуде змінна а, якщо команду а:= а+2 виконати:
а) один раз(2); б) два рази підряд(4); в) три рази підряд(6).
2. Нехай а=1. Якого значення набуде змінна а, якщо команду а:= а*2 виконати:
а) один раз(2); б) два рази підряд(4); в) три рази підряд(8).
3. Які значення матимуть змінні (та якого вони є типу) після виконання
команд присвоювання, якщо раніше були виконані команди А:=3; В:=5; С:=0:
команд присвоювання, якщо раніше були виконані команди А:=3; В:=5; С:=0:
а) А1 := (2*А -
3*С)/(11-2*В);(6)
б) А2 := А/2 +
В+5*А/(В+С);(9,5)
III. Лабораторна робота №4.
Розв’язування
задач
Задача 1.
Розрахувати зарплату вчителя за місяць, якщо кожен день
тижня у нього К уроків (К задає користувач), а в місяці 4 тижні. За один
урок нараховується 8 гривень 75 коп. З усієї обчисленої суми загальне
відрахування становить 20%.
Аналіз задачі
Дано: кількість уроків в день - k (ціле)
Знайти:
заробітну плату - Z (дійсна)
Дослідження
Z=(k *5*4*8,75)*0,8
Program Groshi;
var k: integer; Z: real;
begin
writeln(‘Введіть кількість уроків
в день:’);
readln(k);
Z:=(5*k*4*8.75)*0.8;
write(‘Заробітна плата вчителя
становить’,
Z:8:2)
end.
Задача 2
Визначити, яку платню одержить на фірмі сумісник за виконану роботу, якщо йому нараховано S
грн., а податок становить 20%.
Дослідження
Необхідні змінні: S
— сума нарахувань сумісника; Р—реальна платня, яку він одержить у касі (за умовою вона становить 80 % від нарахувань).
Програма має наступний вигляд:
Program Task_2;
Uses crt;
Var P,S : real;
Begin
Clrscr;
Write ('Введіть суму нарахувань
робітника') ; Readln(S);
P := S*0.8;
Writeln('Платня сумісника становить:', P:8:2);
Readkey;
End.
3адача 3.
Від міста А до В автомобіль їхав t1 = 5 год з середньою швидкістю v1 = 70 км/год , від В до С — t2 = 4 год. зі швидкістю v2 = 75 км/год . Визначити відстань між містами.
program Distance;
var t1, vl,
t2, v2, ab, be, ac : integer;
begin
tl := 5 ; t2 := 4; vl := 70 ; v2 := 75;
ab := vl * tl; bс := v2 * t2; ac :== ab +bc;
writeln
(ab:6, bc:6, ac:6);
readln
end.
Виконаємо програму і на екрані отримаємо: 350
300 650.
Завдання. Модифікуйте програму на випадок чотирьох міст.
Задача 4. Автотранспортна фірма «Радар» купує п'ять (kl)
мікроавтобусів «Пежо» по 32100 грн. (с1) за автобус і три (к2) мікроавтобуси «Івеко» по 29500 грн. (с2). Яку суму (suma) потрібно заплатити?
program Radar;
var kl, cl, k2, c2, suma : integer;
begin
kl := 5 ; k2 := 3; cl := 32100 ; c2 := 29500;
suma := kl * cl + k2 * c2;
writeln (suma:8);
readln
end.
Виконаємо програму, і замість результату отримаємо повідомлення про
помилку. Виявляється, що значення змінної suma є 249 000, і воно вийшло за допустимі межі, визначені
для типу integer. Ось чому правильно оголосити змінні потрібно так:
var kl, k2, cl, c2 : integer; suma : longint; .
Отже, щоб розв'язати задачу, потрібна додаткова пам'ять, оскільки змінні
типу longint займають удвічі більше пам'яті, ніж змінні типу integer.
Завдання. Виконайте програму Radar
і поекспериментуйте з різними цінами. Модифікуйте
програму, якщо купують три марки автобусів.
Задача 5. Ввести з клавіатури будь-яке тризначне число. Визначити суму його цифр і
вивести цифри числа у зворотному порядку.
Нехай змінна а міститиме значення заданого числа. Цифри числа позначимо
так: і —
кількість сотень, j
— кількість десятків, k
— кількість одиниць, а їхню суму — s.
Для визначення цифр деякого числа використовують операції
div та mod.
program MyNumber; var a,
i, j, k, s : integer;
begin
write('Введіть число a: ');read (a);
і := a div 100; {Отримаємо
кількість сотень}
j := a div 10 mod 10; {Отримаємо к-сть
десятків}
k := a mod 10; {Отримаємо кількість одиниць}
s := і + j + k;
writeln('Cyмa цифр числа а = ', s);
writeln(k,j,i)
end.
Виконаємо програму. Введемо число 235 - отримаємо
результат суми цифр числа а = 10
Вправи та задачі для
самостійного розв’язання
1.
Швидкість світла 299792 км/с. Яку
відстань долає світло за хвилину, годину, добу?
2.
Квіткова клумба має форму круга. Обчисліть її периметр і
площу за заданим радіусом.
3.
Тіло падає з прискоренням g. визначіть пройдений тілом шлях h=gt2/2 після першої та другої секунди падіння.
ІV. Підсумок уроку.
Мені вдалося …
Мені сподобалося…
Не вдалося …
Не сподобалося…
Я сумніваюся…
Я б змінив …
На уроці вийшло…
Мені було на уроці
V.Домашнє завдання.