- •Кафедра прикладної математики
- •Методичні вказівки та завдання для виконання контрольної роботи з дисципліни “Основи інформаційних технологій та програмування”
- •Методичні вказівки
- •Найпростіші програми на мові Pascal. Структура Pascal-програми
- •Оператори введення та виведення даних
- •Оператор присвоєння
- •Приклади програм:
- •Оператор розгалуження If. Оператор вибору Case.
- •Оператор вибору Case
- •Стандартні типи даних
- •Цілі типи даних
- •Дійсні типи даних
- •Символьний тип Char
- •Логічний тип Boolean
- •Приклади програм
- •Циклічні алгоритми.
- •Оператор циклу For.
- •Оператор циклу while.
- •Оператор циклу repeat - until
- •Організація циклів за допомогою оператора безумовного переходу goto
- •Приклади програм:
- •Приклад3. В цьому прикладі розглянемо задачу обчислення мінімального елементу масиву та його місцезнаходження.
- •Матриця в дійсних чисел розмірності 4*4, заповнена значеннями
- •Процедури та функції у мові Pascal.
- •Процедури без параметрів
- •Const{опис локальних констант}
- •Var {опис локальних змінних}
- •Процедури з параметрами
- •Функції в мові Pascal
- •Приклади програм
Стандартні типи даних
Для програмування складних задач потрібно використовувати різні типи даних. Наведемо наступну таблицю стандартних типів мови Pascal.
Цілі типи даних
-
Назва типу
К-ть байт
Діапазон
Byte
1
0..255
ShortInt
1
-128..127
Word
2
0..65 535
Integer
2
-32 768..32 767
LongInt
4
-2 147 483 648..2 147 483 647
Над цілими числами можна виконувати стандартні математичні операції: додавання (+), віднімання (-), множення (*), ділення націло (div), обчислення остачі від ділення (mod).
Дійсні типи даних
-
Назва типу
К-ть байт
Діапазон
Single
4
7-8 знаків після коми, 2 знаки для запису порядку
Real
6
11-12 знаків після коми, 2 знаки для запису порядку
Double
8
15-16 знаків після коми, 3 знаки для запису порядку
Extended
10
19-20 знаків після коми, 4 знаки для запису порядку
Для округлення дійсних змінних використовують наступні функції мови Pascal:
Round(x) – округлити x;
Trunc(x) – відкинути дробову частину x;
Int(x) – взяти цілу частину від x;
Frac(x) – взяти дробову частину від x.
Символьний тип Char
Для розміщення об’єктів типу Char використовується комірка оперативної пам’яті розміром 1 байт, в який записується код символа. Для кодування символів використовується таблиця ASCII. Перші 128 символів включають управляючі символи, арабські цифри та символи латинського алфавіту. У другій половині кодової таблиці розміщені графічні символи та символи національних алфавітів. Впорядкування символів в алфавіті співпадає з їх впорядкуванням у кодовій таблиці.
Об‘єкти типу Char можна порівнювати між собою. Символ вважається більшим, якщо його ASCII-код більший. Наприклад,
‘A’<’C’ {код ‘A’=65, код ’C’=67}
Функція, що повертає код символа називається Ord(). Обернена до неї функція Chr() за кодом повертає сам символ. Наприклад,
Ord(‘A’)=65, Chr(67)=’C’.
Кількість всіх символів, які можуть використовуватись у мові Pascal, дорівнює 256.
Логічний тип Boolean
Змінна логічного типу може приймати лише два значення True (істинно) або False (хибно), хоча для її розміщення використовується комірка пам’яті розміром 1 байт. До змінних логічного типу можна застосовувати логічні операції: not, and, or, таблички істинності яких наведені вище.
Приклади програм
Приклад 3: Перевірити чи належить точка з координатами (x,y) колу радіусом R з центром в т.(0,0)
Program pr3;
Var
B: Boolean;
x, y, R: Real;
Begin
Writeln(‘Введіть радіус R’);
Readln(R);
Writeln(‘Введіть координати (x, y)’);
Readln(x, y);
B:=Sqr(x)+Sqr(y)<=Sqr(R);
Writeln(B);
End.
Приклад 4: Знайти корені квадратного рівняння .
Program pr4;
Var
a, b, c, D: Real;
Begin
Writeln (’Введіть коефіцієнти рівняння a, b, c’);
Readln(a, b, c);
D:=b*b-4*a*c;
If D>0 then
begin
D:=Sqrt(D);
Writeln(‘x1=’,(-b-D)/(2*a);
Writeln(‘x2=’ ,(-b+D)/(2*a));
end
else
If D=0 then Writeln(‘x1=x2=’,-b/(2*a))
else Writeln(‘Немає коренів!’);
End.
Приклад 5: Написати програму для здійснення операцій додавання, віднімання, множення, ділення за вибором користувача.
Program pr5;
Var
op: Char;
a, b: Real;
Begin
Writeln (’Введіть операцію (+,-,*,/)’);
Readln(op);
Writeln (’Введіть значення a та b’);
Readln(a, b);
Case op of
‘+’: Writeln(‘Результат =’,a+b);
‘-’: Writeln(‘Результат =’,a-b);
‘*’: Writeln(‘Результат =’,a*b);
‘/’: Writeln(‘Результат =’,a/b);
else Writeln(‘Невідома операція!’);
end;
End.