Тема: алгоритми опрацювання величин.
Мета: навчитися складати та виконувати алгоритми з величинами числового типу в середовищі програмування Free Pascal. Після виконання роботи учень:
складати алгоритми опрацювання величин числового типу;
складати, редагувати, налагоджувати та виконувати програми опрацювання числових величин у навчальному середовищі програмування Free Pascal;
аналізувати результати виконання програм опрацювання величин числового типу;
налагоджувати програму та виконувати її у покроковому режимі в навчальному середовищі програмування 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 <назва>
[параметри] : <тип>
[опис локальних змінних]
[вказівки] — оголошення функцій користувача;
Величина — одиниця даних, якими оперує програма. Вона має такі властивості:
назва (ідентифікатор) — послідовність літер латиниці, цифр і нижнього підкреслювання «_», на початку — обов'язково літера;
тип — визначає обсяг відведеної пам'яті, можливі дії, правила тлумачення бітів пам'яті та множину допустимих значень. Мова Pascal не предбачає зміни типу змінної протягом виконання програми;
розмірність — проста або складена (структурована);
значення — елемент множини допустимих значень величини. Це єдина властивість змінної, яку можливо змінити протягом виконання програми, написаною мовою Pascal.
Цілі числові типи
Назва типу | Діапазон зміни | Кількість відведених байтів |
---|---|---|
byte | 0..255 | 1 |
word | 0..65535 | 2 |
shortint | – 128..127 | 1 |
integer | – 32768..32767 | 2 |
longint | – 2147483648..2147483647 | 4 |
int64 | – 9 223 372 036 854 775 808 ..9 223 372 036 854 775 807 | 8 |
Дійсні числові типи
Назва типу | Діапазон зміни | Число значущих цифр | Кількість відведених байтів |
---|---|---|---|
Real | 2.9·10–39..1.7·1038 | 11–12 | 6 |
Single | 1.5·10–45..3.4·1038 | 7–8 | 4 |
Double | 5.0·10–324..1.7·10308 | 15–16 | 8 |
Extended | 3.4·10–4932..1.1·104932 | 19–20 | 10 |
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 на множині дійсних чисел.
Алгоритм
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. Визначити, яка з двох дат передує іншій, не перевіряючи коректність даних. Алгоритм
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. Визначення виду трикутника за градусною мірою двох його кутів. Алгоритм
Ввести величини A, B.
Обчислити C = 180 – A – B.
Якщо хоча б одна з величин A, B, C не є додатною, вивести повідомлення про те, що трикутника з такими кутами не існує, і завершити виконання програми.
Якщо всі кути будуть однакові, вивести повідомлення про те, що трикутник є рівностороннім, і завершити виконання програми.
Якщо будь-які два кути однакові, вивести повідомлення про те, що трикутник є рівнобедреним, інакше вивести повідомлення, що він є різностороннім.
Якщо один з кутів прямий (градусна міра дорівнює 90), вивести повідомлення про те, що трикутник є прямокутним.
Якщо один з кутів тупий (градусна міра перевищує 90), вивести повідомлення про те, що трикутник є тупокутним.
Якщо усі кути гострі (градусна міра менша ніж 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. Домашнє завдання
Скласти блок-схему й написати програму для з'ясування, чи існує трикутник з даними довжинами сторін.
Скласти блок-схему й написати програму розв'язання рівняння a/x + b = 0 на множині дійсних чисел.
Текст упорядкувала Подковська Тетяна Олексіївна, вчитель спеціалізованої школи № 185 Святошинського району міста Києва, під час виконання випускної роботи на курсах підвищення кваліфікації з 28.10.2013 по 27.12.2013 року.