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

Тема: алгоритми опрацювання величин.

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

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

Хід уроку

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

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

Елементи синтаксису Pascal —
використання розділових знаків для відокремлення чи вказання:

; — вказівок;
, — елементів списків;
. — цілої частини числа від дробової;
.. — меж неперервного діапазону;
' ' — символів або рядків тексту;
( ) — виразів і списків;
[ ] — індексу чи діапазону індексів масиву;
(* *) або { } — коментарів;
: — міток;
$ — шістнадцяткового коду;
^ — символ керування.

Описова частина містить опис всього, що буде надалі використано у програмі:

uses <назва1>,<назва2> ...; — приєднання бібліотек та модулів;

label <назва1>,<назва2> ...;— оголошення (перелік) міток;

type
<назва1>=<опис1 через наявні типи>;
<назва2>=<опис2 через наявні типи>
...; — опис типів даних;

const
<назва1>[:тип]=<значення1>;
<назва2>[:тип]=<значення2>
...; — оголошення сталих (величин), значення яких не буде змінено протягом виконання програми. При спробі змінити сталу буде вказано на помилку на етапі компіляції;

var <назва1>, <назва2>... :<тип> — оголошення змінних;

procedure <назва>
[параметри];
[опис локальних змінних]
[вказівки]
— оголошення процедури;

function <назва>
[параметри] : <тип>
[опис локальних змінних]
[вказівки]
— оголошення функцій користувача;

Величинаодиниця даних, якими оперує програма. Вона має такі властивості:

Цілі числові типи

Назва
типу
Діапазон
зміни
Кількість
відведених
байтів
byte0..2551
word0..655352
shortint– 128..1271
integer– 32768..327672
longint– 2147483648..21474836474
int64– 9 223 372 036 854 775 808
..9 223 372 036 854 775 807
8

Дійсні числові типи

Назва
типу
Діапазон
зміни
Число
значущих
цифр
Кількість
відведених
байтів
Real2.9·10–39..1.7·103811–126
Single1.5·10–45..3.4·10387–84
Double5.0·10–324..1.7·1030815–168
Extended3.4·10–4932..1.1·10493219–2010
Comp– 9 223 372 036 854 775 808
..9 223 372 036 854 775 807
19 8

Символьний тип char передбачає використання символів всієї кодової таблиці комп'ютера ASCII (літер, цифр, спеціальних символів). Цей тип є впорядкованим і порядковим (порівнюють коди символів). Символьну сталу записують як символ, взятий в апострофи. Наприклад, '$'.

Логічний тип boolean описує величину, що може бути лише хибною (false) або істиною (true), але на збереження якого відводять 1 байт.

3. Вивчення нового матеріалу
Кожне із завдань 1, 2, 3 розв'язувати за допомогою конкурсу ідей, після чого порівнювати отримане розв'язання з поданим демонстраційним.

Завдання 1. Розв'язання рівняння ax + b = 0 на множині дійсних чисел.

Алгоритм

  1. Ввести (зчитати) величини a, b.
  2. Якщо a0, вивести:
    • повідомлення: «Рівняння має єдиний корінь»;
    • величину x = – b/a,
    інакше:
    • якщо b ≠ 0, вивести повідомлення: «Рівняння не має коренів»;
    • інакше вивести повідомлення: «Коренем рівняння є будь-яке число».
Блок-схема
Програма
var a,b,x: real;
begin
write('Введіть коефіцієнти лінійного рівняння a, b:');
readln(a,b);
if a<>0 then writeln ('Рівняння має один корінь ',-b/a)
        else if b=0 then writeln('Корінь рівняння - будь-яке число')
                    else writeln('Рівняння не має коренів')
end.

Завдання 2. Визначити, яка з двох дат передує іншій, не перевіряючи коректність даних.

Алгоритм

  1. При j = 1, 2:
    • ввести вхідні дані d, m, y — число, номер місяця й рік;
    • обчислити nj = d + 31(m + 12y).
  2. Вивести відповідь, виходячи з того, що та дата j передує, для якої число nj менше.
Блок-схема
Програма

var d,m,y,n1,n2: longint;
function n(j: byte):longint;
begin
  write ('Задайте',j,'-у дату: ');
  readln(d,m,y);
  n:=d+31*(m+12*y);
end;
begin
  n1:=n(1);
  n2:=n(2);
if n1=n2 then writeln('Перша дата збігається з другою') else
if n1<n2 then writeln('Перша дата передує другій')
         else writeln('Друга дата передує першій');
end.

Завдання 3. Визначення виду трикутника за градусною мірою двох його кутів.

Алгоритм

  1. Ввести величини A, B.

  2. Обчислити C = 180 – A – B.

  3. Якщо хоча б одна з величин A, B, C не є додатною, вивести повідомлення про те, що трикутника з такими кутами не існує, і завершити виконання програми.

  4. Якщо всі кути будуть однакові, вивести повідомлення про те, що трикутник є рівностороннім, і завершити виконання програми.

  5. Якщо будь-які два кути однакові, вивести повідомлення про те, що трикутник є рівнобедреним, інакше вивести повідомлення, що він є різностороннім.

  6. Якщо один з кутів прямий (градусна міра дорівнює 90), вивести повідомлення про те, що трикутник є прямокутним.

  7. Якщо один з кутів тупий (градусна міра перевищує 90), вивести повідомлення про те, що трикутник є тупокутним.

  8. Якщо усі кути гострі (градусна міра менша ніж 90), вивести повідомлення про те, що трикутник є гострокутним.

Блок-схема
Програма
var A, B, C: real;
begin
  write('Введіть величини A, B:');
  readln(A,B);
  C:=180-(A+B);
  if (A<=0) or (B<=0) or (C<=0) then begin
    writeln ('Трикутника з такими кутами не існує');
                                           halt end;
  if (A=B) and (B=C) then                     begin
    writeln ('Трикутник є рівностороннім');
                                           halt end;
  if (A=90)  or (B=90)  or (C=90) then write ('Трикутник прямокутний ');
  if (A>90)  or (B>90)  or (C>90) then write ('Трикутник тупокутний ');
  if (A<90) and (B<90) and (C<90) then write ('Трикутник гострокутний ');
  if (A=B) or (A=C) or (B=C) then writeln('i рівнобедрений')
                             else writeln('i різносторонній')
end.

4. Інструктаж з ТБ
5. Закріплення вивченого матеріалу

Завантажити інтегроване середовище програмування Free Pascal і для кожного з розглянутих завдань 1, 2 і 3 робити таке:

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

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

  1. Скласти блок-схему й написати програму для з'ясування, чи існує трикутник з даними довжинами сторін.

  2. Скласти блок-схему й написати програму розв'язання рівняння a/x + b = 0 на множині дійсних чисел.


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