Розробка уроку — практичної роботи

Тема: cкладання та виконання алгоритмів опрацювання величин числового типу в навчальному середовищі програмування.

Мета: навчитися складати та виконувати алгоритми з величинами числового типу в середовищі програмування Free Pascal. Після виконання роботи учень

знає зміст понять:
змінна і стала;

описує:

класифікує: числові типи величин;

уміє:

Обладнання: ПК з встановленими ОС і середовищем програмування Free Pascal, (дана) інструкція.

Структура уроку

  1. Організаційний момент.
  2. Актуалізація опорних знань.
  3. Інструктаж з ТБ.
  4. Вироблення практичних навичок.
  5. Підбиття підсумків уроку, виставлення оцінок.
  6. Домашнє завдання.

Хід уроку

1. Організаційний момент
Вітання з класом. Перевірка присутності і готовності учнів до уроку. Перевірка виконання домашнього завдання.

2. Актуалізація опорних знань

Подати означення або опис понять, виділених жирним написанням.

Сталівид даних, величину яких заборонено змінювати протягом виконання програми. Їх описують після зарезервованого слова const.

Зміннівид даних, величину яких дозволено змінювати протягом виконання програми. Їх описують після зарезервованого слова var.

Властивості змінної: назва, тип і поточна величина.

Запис назви змінної чи сталої може містити лише літери латиниці (без розрізнення великих і малих), цифри або нижнє підкреслення і має задовольняти такі вимоги:

Тип даних характеризує допустимі величини для цих даних і сукупністю операцій над ними.

Числові дані можуть бути двох типів: цілі та дійсні.

Цілі типи числових величин мови Паскаль

ТипДіапазонНеобхідна
пам'ять
byte0..255 1 байт
word0..65535 2 байти
shortint–128..127 1 байт
integer–32767..32768 2 байти
longint–2147483648..2147483647 4 байти
int64–9223372036854775808..+92233720368547758078 байтів

Операції з цілими числами

НазваПозначенняПрикладРезультат
додавання+2+35
віднімання 10-8 2
множення *3*412
частка від діленняdiv17 div 5 3
(за)лишок від діленняmod17 mod 52
ділення /17/53,4

Примітка. Якщо один з аргументів від'ємний, результат ділення із залишком може не збігатитя з означенням «чистої математики». Наприклад, результати обчислення виразів (-3) div (-2) і (-3) mod (-2) дорівнюють відповідно 1 і –1, а не 2 і 1.

Дійсні типи числових величин мови Паскаль

ТипДіапазонЧисло значущих цифрНеобхідна
пам'ять
real2.9 · 10–39 до 1.7 · 10+38 11 – 12 6 байт
single1.5 · 10–45 до 3.4 · 10+38 7 – 84 байти
double5.0 · 10–324 до 1.7 · 10+308 15 – 168 байт
extendedвід 3.4 · 10–4932 до 1.1 · 10+493219 – 20 10 байт
comp–9.2 · 10–18 до 9.2 · 10+18 19 – 20 8 байт

Операції з дійсними числами

ОпераціяПозначенняПрикладРезультат
додавання+2 + 35
віднімання 10 – 82
множення *3 * 412
ділення/ 17 / 53,4
Приклади опису змінних
var   a: byte;
      b: integer;
c, d, e: real;
      f: double;

3. Вивчення нового матеріалу

Примітка. Частину поданого далі матеріалу вчитель може призначити на самостійне опрацювання. Але дію кожної переліченої комбінації клавіш чи вказівки меню учень повинен випробувати у дії до наступного уроку.

Призначення вказівок меню і функціональних клавіш
у інтегрованому середовищі програмування


Після знаку рівності "=" подано призначення клавіш.

F10 — перехід у рядок меню:

4. Інструктаж з ТБ

5. Закріплення вивченого матеріалу

Примітка. Завдання виконувати, вважаючи вхідні дані коректними. Передбачити введення чисел з клавіатури й виведення результату на екран. Після завантаження інтегрованого середовища програмування Free Pascal виконати вказівку меню File / New. Набравши текст прогами, компілювати (Alt + F9) й виправляти доти, поки результат компіляції не стане успішним. Запускати на виконання програму (Ctrl + F9) і вводити всі змістовно різні вхідні дані, для яких шлях галуженнями алгоритму різний. У разі помилкових результатів:

Про успішне виконання кожного завдання повідомляти вчителя підняттям руки.

Завдання 1. Написати програму знаходження найбільшого спільного дільника (НСД) двох цілих чисел a, b:

Програма

var a,b,c: longint;
BEGIN
write ('Ввести цілі a, b: ');
readln(a,b);
write('НСД(',a,', ',b,') = ');
if (a=0) or (b=0) then a:=abs(a+b)
                  else begin
    a:=abs(a);
    b:=abs(b);
    repeat c:=a mod b;
           a:=b;
           b:=c
     until b=0           end;
writeln(a)
END.

Завдання 2. Скласти алгоритм та написати програму знаходження суму двох дробів з натуральними чисельниками і знаменниками: a/b + с/d. Результат подати правильним дробом.

Алгоритм

  1. Ввести величини натуральних чисел a, b, с, d.
  2. Знайти чисельник і знаменник суми a/b + c/d = (ad + bc)/(bd).
  3. Скоротити знайдені чисельник і знаменник на їхній найбільший спільний дільник.
  4. Знайти частку й лишок від ділення чисельника на знаменник.
  5. Якщо частка відмінна від 0, вивести її величину.
  6. Якщо частка і залишок відмінні від 0, вивести символ «+».
  7. Якщо остача відмінна від 0, вивести її величину, символ «/» і величину знаменника.
Програма
var a,b,c,d,p,q: longint;
BEGIN
write('Ввести натуральні a, b, c, d: ' );
readln(a,b,c,d);
write(a,'/',b,' + ',c,'/',d,' = ');
p:=a*d+b*c;
q:=b*d;
a:=p;
b:=q;
repeat c:=a mod b;
       a:=b;
       b:=c
 until b=0;
p:=p div a;
q:=q div a;
if  ((p div q)<>0) then write(p div q);
if  ((p div q)<>0) and 
    ((p mod q)<>0) then write(' + ');
if  ((p mod q)<>0) then write(p mod q,'/',q);
writeln
END.

Завдання 3. Нарахувати податок залежно від розміру доходу d:

6. Підбиття підсумків уроку
Виставлення оцінок.

7. Домашнє завдання

  1. Ввести натуральне число. Замінити його на суму його цифр. Таку дію виконувати, поки не буде отримано одноцифрове число (його називають числовим коренем початкового числа). Вивести отриману цифру.

  2. Удосконалити розв'язання завдання 2, передбачивши перехід до найменшого спільного знаменника замість добутку знаменників.

  3. З’ясувати, чи є 5-цифрове числа є паліндромом, тобто чи збігається запис цифр числа у зворотному порядку із записом числа.


Текст упорядкувала Галина Григорівна Седлецька, вчитель середньої загально­освітньої школи № 297 Святошинського району міста Києва, під час виконання випускної роботи на курсах підвищення кваліфікації з 28.10.2013 по 01.11.2013.