Тема: Поняття мови програмування.
Урок №2
Тема: Середовище програмування Турбо Паскаль. Практична робота.
Урок №3
Тема: Структура програми. Типи даних. Основні математичні функції.
Урок №4
Тема: Введення і виведення даних. Складання лінійних алгоритмів
Урок №5
Тема: Приорітет операцій. Практична робота "Створення лінійних програм"
Урок №6
Тема: Умовний оператор (оператор розгалуження). Структура умовного оператору.
Урок №7
Тема: Умовний та складовий оператор.
Практичне завдання
1. Створити програму для обчислення значення функції. (лінійна)
2. Створити программу на знаходження найбільшого та найменшого з двух чисел. (розгалужена)
Урок №8
Тема: Практична робота №4
Урок №9
Тема: Оператор вибору Case. Розв'язання задач.
Урок №10
Тема: Розвязання задач з розгалудженням
Варіант 1
- Напишіть програму, яка зчитує з клавіатури ріст людини, а потім виводить слово «Високий», якщо значення змінної ріст >160, або виводить слово «Низький», якщо значення змінної ріст не більше 160.
- Напишіть програму підрахунку значення у за системою рівнянь, в якій вхідними даними є значення х, а вихідними – значення у
Варіант 2
- Напишіть програму, яка зчитує з клавіатури значення змінної exam. Якщо значення змінної більше або дорівнює 60, то виводиться слова «Залік зараховано», якщо значення менше 60, то виводиться слова «Залік не зараховано»
- Напишіть програму підрахунку значення у за системою рівнянь, в якій вхідними даними є значення х, а вихідними – значення у
Урок №11
Тема: Оператор циклу FOR
Урок №12
Тема: Цикли з передумовою та післяумовою
Урок №13
Тема: Практична робота №5 «Створення та реалізація циклічних програм»
Урок №14
Тема: Розвязування задач.
Варіант 1
1. Написати програму для визначення площі трапеції за висотою h, з основами a та b.
2. Дано два дійсних числа Х та У. Менше з них замінити їх напівсумою, а більше - їх подвоєним добутком. Результат вивести на екран.
3. Визначити суму кубів натуральних чисел від n до m (n<m) (значення n та m задає користувач)
Варіант 2
1. Обчислити площу прямокутного трикутника за формулою Герона.
2. Дано три дійсних числа. Піднести до квадрату лише додатні числа. Результат вивести на екран.
3. Визначити добуток цілих чисел від а до с (значення цілих чисел а та с задає користувач)
Варіант 3
1. Дано катети прямокутного трикутника. Знайти його гіпотезу і площу.
2. Дано три різних числа, найти середнє з них та вивести його на екран. Середнім називається число, яке більше найменшого з даних чисел, але меньше найбільшого.
3. Визначити суму квадратів усіх парних чисел від а до с ( значення а та с задає користувач а<с)
Варіант 4
1. Обчислити обєм паралелепіпеда зі сторонами a, b,c
2. Складіть програму знаходження добутку двох найбільших чисел з трьох введених чисел з клавіатури.
3. Вивести всы парны числа починаючи від числа а і до числа х. Числа а та х задає користувач.
Урок №15
Тема: Розв'язування задач.
Урок
Тема:
Пример 1. Создать текстовый файл, в который записать 3 предложения. Program File_text;
var f1 : text; st : string; n: byte;
begin
assign (f1, 'file1.txt'); {связать с файлом file1.txt файловую переменную f1 }
rewrite (f1); { создать новый файл с именем file1.txt }
writeln ( f1, 'Очень полезно изучать'); { записать предложения в файл}
writeln ( f1, ' всем ученикам ');
writeln (f1, ' язык Pascal ');
close (f1); { закрыть файл для записи }
reset (f1); { открыть файл для чтения }
end .
Алфавіт і словник мови
Програма мовою Паскаль формується за допомогою набору знаків, що утворюють алфавіт мови, і складається з літер, десяткових і шістнадцяткових цифр і спеціальних символів.
У якості літер використовують великі та малі літери латинського алфавіту: АВCDEFGHIJKLMNОPQRSTUVWXYZ abcdefghijklm nopqrstuvwxyz, а також _ (знак підкреслення).
У якості десяткових цифр: 1234567890. Шістнадцяткові цифри утворюються з десяткових цифр і літер від А до F (або від а до f).
При написанні програм застосовуються спеціальні символи:
+ плюс
* зірочка (знак множення)
= дорівнює
< менше
$ знак грошової одиниці
() круглі дужки
. крапка
: двокрапка
' апостроф
@ ет (або комерційне а)
|
- мінус
/ знак ділення
> більше
# міжнародний комерційний номер
[] квадратні дужки
{} фігурні дужки
, кома
; крапка з комою
~ тильда
пробіл.
|
Комбінації спеціальних символів можуть утворювати складені символи, які сприймаються комп'ютером як один символ:
:= присвоювання <> не дорівнює
… діапазон значень >= більше або дорівнює
(..) альтернатива [ ] <= менше або дорівнює.
(* *) альтернатива {}
Неподільні послідовності символів утворюють слова, що несуть певний зміст у програмі. Слова відділяються розділовими символами, такими як: пробіл, кома, символ кінця рядка, коментар. Слова поділяються на: стандартні, зарезервовані, ідентифікатори користувача. Зарезервовані слова є складовою частиною мови, мають фіксоване написання і назавжди визначений зміст. Наприклад:begin, else, function, write, end, program та ін.
Стандартні слова призначені для заздалегідь визначених розробником мови типів даних, констант, процедур і функцій (наприклад, sin, cos, Pi). Зарезервований ідентифікатор можна перевизначити, але це може призвести до помилки, тому краще цього не робити.
Ідентифікатори користувача використовують для позначення констант, змінних, процедур і функцій, що визначені самим програмістом. Існують загальні правила написання ідентифікаторів:
- Ідентифікатор починається тільки з літери або знака підкреслення.
- Ідентифікатор може складатися з літер, цифр і знака підкреслення.
- Між двома ідентифікаторами має бути хоча б один розділовий знак.
- Максимальна довжина ідентифікатора 127 символів, але значущими є тільки перші 63 символи.
- Ідентифікатор не може бути зарезервованим словом.
У написанні програм можна використовувати як великі, так і малі літери. Компілятор не визначає різниці між ними.
Правила оформлення програм (пунктуації):
- Крапку з комою можна не ставити після begin і перед end, тому що ці слова є операторними дужками, а не операторами.
- Крапка з комою розділяє оператори. її відсутність між операторами викликає помилку компіляції. Наявність між операторами кількох крапок з комою не є помилкою, тому що компілятор сприймає їх як ознаку наявності порожніх операторів.
- При використанні вкладених структур може виникнути ситуація:
end;
end;
end
end;
end
Крапку з комою можна ставити як після кожного, так і після останнього end. А наприкінці програми можна ставити крапку.
- В операторах циклу крапка з комою не ставиться після while, repeat, do і перед until.
- В умовних операторах крапка з комою не ставять після then і перед else.
1. Поняття величини.
У своїй роботі програміст має справу з таким поняттям, як величина.
Що ж таке величина? З точки зору програмування величини — це дані, що обробляються програмами. Мова Паскаль інтерпретує дані, як а. константи або змінні. Як перші, так і другі визначаються ідентифікаторами (іменами), за допомогою яких можна звертатися для одержання х відповідних значень. Константами називають такі дані, яким присвоюються значення в описовій частині програми, й у процесі виконання програми їх змінювати заборонено. Для визначення констант служить зарезервоване слово const.
Формат опису:
Const < ідентифікатор > = < значення константи >;
Приклад: Const Max=1000;
Vxod='сегмент 5';
Є константи, до значень яких можна звертатися без попереднього опису.
Ідентифікатор
|
Тип
|
Значення
|
Опис
|
True
|
Boolean
|
True
|
Істина
|
False
|
Boolean
|
False
|
Хибність
|
Maxint
|
integer
|
32767
|
Максимальне ціле
|
Змінні, на відміну від констант, можуть змінювати свої значення в процесі виконання програми. Кожна змінна і константа належать до визначеного типу даних. Тип констант визначається компілятором автоматично. Тип змінних обов'язково вказується перед тим, як їх використати. Для опису змінних призначено зарезервоване слово var.
Формат опису:
Var <ідентифікатор> : <тип даних>;
Приклад: Var Suml, Sum2 : real;
2. Типи даних.
Тип даних — це сукупність властивостей певного набору даних, від яких залежать: діапазон значень, якого можуть набувати ці дані, а також сукупність операцій, які можна виконувати над цими даними.
Усі типи даних у мові програмування Паскаль розділяють на дві групи: скалярні (прості), структуровані (складені). Скалярні типи, у свою чергу розділяють на стандартні та типи користувача. Стандартні типи користувачам пропонують розробники системи Turbo Pascal. Типи користувача — розроблюють програмісти самостійно.
До стандартних скалярних типів належать типи: цілі, дійсні, літерні, булівські. Величини цілих типів можна подавати як у десятковій, так і в шістнадцятковій системах числення. Якщо число подане в шістнадцят-ковій системі, перед ним без пробілу записується знак $. Діапазон зміни шістнадцяткових чисел від $0000 до SFFFF.
Цілі типи даних являють собою значення, що можна використовувати в арифметичних виразах.
Стандартні цілі типи наведено в таблиці:
Тип
|
Діапазон
|
Необхідна пам'ять (байт)
|
Byte
|
0...255
|
1
|
Shortint
|
-128... 127
|
1
|
Integer
|
-32768 ...32767
|
2
|
Word
|
0... 65535
|
2
|
Longint
|
-2147483648 ...2147483647
|
4
|
Дійсні типи даних являють собою дійсні значення, що використовуються в арифметичних виразах і займають у пам'яті від 4 до 10 байт. У програмі мовою Паскаль можна подавати дані дійсних типів у вигляді як із плаваючою, так і з фіксованою крапкою.
Дійсні десяткові числа з фіксованою крапкою записуються за звичайними правилами арифметики. Зверніть увагу, що ціла частина від дробової відокремлюється десятковою крапкою, а не комою. Якщо десяткова крапка відсутня, число вважається цілим. Перед числом може знаходитися знак «+» або «-». Якщо знак відсутній, то число вважається додатнім.
Дійсні десяткові числа у форматі з плаваючою крапкою подаються в експоненціальному вигляді: тЕ+р,де т- мантиса (ціле або дробове число з фіксованою десятковою крапкою), Е - означає «десять у степені», р -порядок (ціле число). Мантиса має бути нормалізованою, тобто поданою у вигляді числа з діапазону від 0 до 9 (це означає, що крапка завжди знаходиться після першої значущої цифри числа). Однак можна записати мантису у вигляді будь-якого дробового числа з фіксованою крапкою. Нормалізація при цьому виконується системою автоматично. Наприклад:
Число у форматі з плаваючою крапкою
|
Значення числа
|
0.4500Е+02
|
0.45*102=45
|
-2.600Е05
|
-2.6*105 = -260000
|
+0.45670Е-02
|
0.4567*10-2= 0.004567
|
Стандартний (найчастіше використовуваний) дійсний тип даних наведений у таблиці:
Тип
|
Діапазон значень
|
Мантиса (кількість значущих цифр)
|
Необхідна пам'ять (байт)
|
Real
|
±2.9*10Е-39 .. 1.7*10Е38
|
11-12
|
6
|
Літерний (символьний) тип може набувати значень ASCII-таблиці комп'ютера. Символьній змінній в пам'яті виділяється один байт, тому можна зберегти тільки один символ ASCII-таблиці.
Булівський тип подається двома значеннями: True (істина) або False (хибність). Цей тип застосовують у логічних виразах і виразах відношення.
Примітка: Для розв'язування майже всіх задач шкільного курсу інформатики учням цілком достатньо використання стандартного дійсного типу даних, але якщо вчитель вважає потрібним, то він може дати учням інші чотири дійсних типа (single, double, extended, comp).
Структуровані типи у своїй основі мають один або кілька скалярних типів даних. До структурованих типів даних належать рядки, масиви, файли, записи і т.д. їх ми розглянемо пізніше.
Перетворення типів:
Ціле значення можна перетворити в дійсне, присвоївши дійсній змінній ціле значення: А:=3+5.
Дійсне значення можна переворити в ціле за допомогою стандартних функцій: TRUNC(X) – ціла частина аргументу; ROUND(X) – аргумент, округлений до найближчого цілого (за правилами математики); INT(X) – аргумент, округлений до найближчого меншого цілого.
Сумісність типів:
При виконанні оператора присвоювання обчислюється вираз, що стоїть в правій частині, і його значення присвоюється змінній в лівій частині. При цьому тип виразу повинен відповідати типу змінної. Для стандартних типів це означає, що вони повинні збігатися. Допускається присвоювання змінній дійсного типу значення цілого типу. Присвоювання ж змінній цілого типу виразу дійсного типу заборонено!
Змінні і константи всіх типів використовуються у виразах
Вираз задає порядок виконання дій над даними і складається з операндов (констант, змінних, звертань до функцій), круглих дужок і знаків операцій. Круглі дужки ставлять, як і в математиці, для керування порядком виконання операцій. Якщо дужки відсутні, то операції виконуються залежно від їх пріоритетів, про що буде сказано далі.
У мові Паскаль є такі операції: арифметичні; відношення (порівняння); логічні. Операції можуть бутиунарними та бінарними. У першому випадку операція стосується одного операнду і завжди записується перед ним, у другому операція виражає відношення між двома операндами і записується між ними.Арифметичні операції задають арифметичні дії у виразах над значеннями операндів цілих та дійсних типів. Найчастіше використовуються арифметичні операції, що подані в наступній таблиці:
Операція
|
Дія
|
Тип операндів
|
Тип результату
|
Бінарні
| |||
+
|
Додавання
|
Цілий
|
Цілий
|
Дійсний
|
Дійсний
| ||
_
|
Віднімання
|
Цілий
|
Цілий
|
Дійсний
|
Дійсний
| ||
*
|
Множення
|
Цілий
|
Цілий
|
Дійсний
|
Дійсний
| ||
/
|
Ділення
|
Цілий
|
Дійсний
|
Дійсний
|
Дійсний
| ||
Div
|
Ділення націло
|
Цілий
|
Цілий
|
Mod
|
Залишок від ділення
|
Цілий
|
Цілий
|
Унарні
| |||
+
|
Збереження знака
|
Цілий
|
Цілий
|
Дійсний
|
Дійсний
| ||
-
|
Інверсія знака
|
Цілий
|
Цілий
|
Дійсний
|
Дійсний
|
Операції відношення виконують порівняння двох операндів і визначають значення виразу є істинним або хибним. Результат завжди має булівський тип одного з двох значень: True (істина) абоFalse (хибність).
Операція
|
Назва
|
Вираз
|
Результат
|
=
|
Дорівнює
|
А=В
|
True, якщо А дорівнює В
|
<>
|
Не дорівнює
|
А<>В
|
True, якщо А не дорівнює В
|
>
|
Більше
|
А>В
|
True, якщо А більше В
|
<
|
Менше
|
А<В
|
True, якщо А менше В
|
>=
|
Більше або дорівнює
|
А>=В
|
True, якщо А більше або дорівнює В
|
<=
|
Менше або дорівнює
|
А<=В
|
True, якщо А менше або дорівнює В
|
Результатом виконання логічного (булівського) виразу є логічне значення True або False.
Виконання кожної операції відбувається з урахуванням її пріоритету. Пріоритети операцій зазначені в наступній таблиці:
Операція
|
Приоритет
|
Вид операції
|
Not, унарні «-»і «+»
|
перший (вищий)
|
Унарна операція
|
*, /, div, mod, and
|
другий
|
Операції типу множення
|
+, -, or
|
третій
|
Операції типу додавання
|
=, <>, <, >, <=, >=
|
четвертий (нижчий)
|
Операції відношення
|
Арифметичні вирази у якості операндів можуть містити імена функцій. Про поняття функції мова буде йти пізніше в курсі програмування, але стандартні функції (cos, sin, x2 та інші) знайомі учням зі шкільного курсу математики, і використання таких виразів у курсі інформатики відрізняється тільки правилами запису (синтаксису). Так, наприклад, у програмуванні аргумент функції обов'язково береться в круглі дужки.
3. Команда присвоювання
Команда присвоювання має вигляд
<ім'я змінної> := <вираз>;
Дія команди. Обчислюється вираз і його значення надається змінній. Вираз призначений для описування формул, за якими виконуються обчислення. Вираз може містити числа, змінні, сталі, назви функцій,з'єднані символами операцій.
Змінна і вираз мають бути одного типу або узгодженими: змінним дійсного типу можна надавати значення виразів цілого типу, а змінним рядкового типу присвоювати значення виразів символьного типу, але не навпаки.
Приклад. Розглянемо дію команд присвоєння в програмі Trykutnyk: p:=a+b+c; p:=p/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)). Тут обчислюється значення периметра і воно надається змінній р, півпериметра (надається також змінній р) та площі (надається змінній s).
Основні стандартні функції та процедури
Функція
|
Тип
аргументу
|
Тип
результату
|
Математичний запис, коментар
| ||||
abs(x)
|
integer, real
|
integer, real
| |||||
arctan(x)
|
integer, real
|
real
|
arctgx
| ||||
cos(x)
|
integer, real
|
real
|
cosx
| ||||
sin(x)
|
integer, real
|
real
|
sinx
| ||||
exp(x)
|
integer, real
|
real
|
ex
| ||||
ln(x)
|
integer, real
|
real
|
lnx
| ||||
sqrt(x)
|
integer, real
|
real
| |||||
sqr(x)
|
integer, real
|
integer, real
|
X2
| ||||
ord(x)
|
char упорядкований
|
integer
|
ASCII-код симв., номер елемента
| ||||
succ(x)
|
упорядкований
|
упорядкований
|
повертає наступне значення х
| ||||
pred(x)
|
упорядкований
|
упорядкований
|
Повертає попереднє
значення х
| ||||
round(x)
|
real
|
integer
|
заокруглює число х до цілого
| ||||
trunc(x)
|
real
|
integer
|
відкидає дробову частину числа х
| ||||
int(x)
|
real
|
real
|
відкидає дробову частину числа х
| ||||
frac(x)
|
real
|
real
|
дробова частина числа х
| ||||
odd(x)
|
integer
|
boolean
|
true (x - непарне), false (x - парне)
| ||||
random (x)
|
integer
|
integer
|
Генерує випадкове число з діапазону від 0 до х
| ||||
upcase(x)
|
char
|
char
|
замінює малу літеру латинської абетки на велику
| ||||
процедури:
| |||||||
inc(x.y)
|
integer
|
integer
|
збільшує х на у
| ||||
inc(x)
|
integer, char
|
integer, char
|
Збільшує x на 1
| ||||
dec(x.y)
|
integer
|
integer
|
Зменшує x на у
| ||||
dec(x)
|
integer, char
|
integer, char
|
Зменшує x на 1
| ||||
Розглянемо приклади значень функцій і виконання процедур:
round(2.1)=2, int(2.1)=2.0, x:=l; inc(x,5); (х=6),
round(2.1)=2, int(2.1)=2.0, x:=l; inc(x,5); (х=6),
round(6.8)=7, int(6.8)=6.0, x:=V; inc(x); (x='b'),
trunc(2.1)=2, frac(2.1)=0.1, x:=7; dec(x,3); (x=4),
trunc(6.8)=6, frac(6.8)=0.8, x:='d'; dec(x); (x=V).
Це відповідає такому запису в Pascal:
exp (In (x)* ).
Правила лінійного запису арифметичних виразів:
- вираз повинен бути записаний у вигляді лінійного ланцюжка символів, що обумовлено конструкцією пристрою введення інформації;
- не можна опускати знак операції множення;
- порядок виконання операцій одного пріоритету регулюється дужками;
- аргументи функцій записуються в круглих дужках.
Перестановка змінних. Добре іллюструє роботу із змінними наступне завдання - поміняти місцями значення двох змінних а й b (тобто, щоб в а з’явилося те, що було раніше в b, і навпаки). Здавалося б, можна записати так:
а := b; b := а;
однак тут криється помилка. Давайте перевіримо це на конкретному прикладі. Нехай а дорівнювало 10, а значення b дорівнювало 7. Після виконання оператора а := b в b залишиться 7; а дорівнюватиме 7, і тепер, якщо виконати оператор присвоювання b := а, там також виявиться 7. Ми втратили одне зі значень! Як же бути? Вихід полягає у використанні додаткової промієної змінної t, в якій ми збережемо значення змінної а до того, як його буде треба замінити новим:
t := а; а := b; b := t;
Корисно перевірити виконання даного фрагментe програми на конкретному прикладі:
a
|
b
|
t
| |
Значення до
|
10
|
7
|
-
|
Після t:=a
|
10
|
7
|
10
|
Після a:=b
|
7
|
7
|
10
|
Після b:=t
|
7
|
10
|
10
|
Немає коментарів:
Дописати коментар