- •Введення
- •Список лабораторних робіт
- •Оформлення звіту по лабораторній роботі
- •Правила написання програм
- •Правила виконання схем алгоритмів
- •Лабораторна робота № 1 лінійний обчислювальний процес
- •Лабораторна робота № 2 обчислювальний процес, що розгалужується
- •Лабораторна робота № 3 циклічний процес
- •Лабораторна робота № 4 типи даних, визначувані програмістом
- •Лабораторна робота № 5 робота з одновимірними і двовимірними масивами
- •Лабораторна робота № 6 сортування одно і двовимірних масивів.
- •Лабораторна робота № 7 функції і процедур, визначувані програмістом
- •Лабораторна робота № 8 модулі і динамічно зв'язувані бібліотеки.
- •Лабораторна робота № 9 множини і операції над ними
- •Лабораторна робота № 10 комбіновані типи (записи )
- •Лабораторна робота № 11 файли і робота з ними
- •Лабораторна робота № 12 статистичнi I динамiчнi структури даних
- •Лабораторна робота № 13 лабіринт
- •Лабораторна робота № 14 евристики.
- •Лабораторна робота № 15 класи
Лабораторна робота № 1 лінійний обчислювальний процес
Завдання: Визначити тип даних. За допомогою операторів введення-виводу скласти програму обчислення функції а, заданою в таблиці 1.
Основні відомості про складання програм на мові Паскаль
Перший рядок програми називається заголовком. Заголовок складається з оператора PROGRAM і імені програми. Після заголовка слідують рядки, в яких поміщається розділ опису змінних. У рядках цього розділ указують імена змінних і тип даних, призначених в даній програмі.
На вибір імен змінних накладають наступні обмеження:
імена змінних не можуть бути зарезервованими словами;
імена змінних повинні починатися з букви.
Імена змінних при перерахуванні в розділі опису змінних розділяються комами.
Наступний розділ програми - розділ операторів або тіло програми.
Тіло програми полягає між двома зарезервованими словами BEGIN і END. По своєму функціональному призначенню ці слова аналогічні відкриваючій і закриваючій дужкам відповідно. Для розділення операторів в мові Паскаль використовують крапку з комою.
Проте крапка з комою не ставиться:
якщо за оператором слідують зарезервовані слова END, ELSE і UNTIL;
після зарезервованих слів THEN, ELSE, VAR, CONST, BEGIN.
Якщо необхідно відзначити кінець програми, то після оператора END ставиться крапка.
Приклад 1 - Визначення суми двох чисел
program summ;
var a, b, result:integer;
begin
a:=10;
b:=4;
result:=a+b;
writeln(a, b, result);
end.
Перший рядок програми - заголовок, складається із зарезервованого слова PROGRAM і імені програми summ.
Другий рядок - розділ опису змінних, починається із зарезервованого слова VAR з подальшим перерахуванням імені змінних, розділених комами і з вказівкою типу змінних. У даному конкретному випадку використовуються цілі змінні (A, B, RESULT) - тип INTEGER.
Далі в тілі програми змінним привласнюються конкретні значення або вирази.
Загальна форма запису оператора привласнення:
змінна: = вираз;
Оператора привласнення встановлює значення змінній рівній величині, отриманій в результаті обчислення виразу. Змінна і вираз повинні бути одного типу. Закінчується програма зарезервованим словом END, після якого ставиться крапка.
1.2 Зарезервовані слова
-
AND
GOTO
RECORD
ARRAY
IF
REPEAT
BEGIN
IMPLEMENTATION
SEGMENT
CASE
IN
SEPARATE
CONST
INTERFACE
SET
DIV
LABEL
THEN
DO
MOD
TO
DOWNTO
NOT
TYPE
ELSE
OF
UNIT
END
OR
UNTIL
FILE
PACKED
USES
FOR
PROCESS
VAR
FORWARD
PROCEDURE
WHILE
FUNCTION
PROGRAM
WITH
1.3 Тип даних INTEGER (цілий)
У цілочисельній арифметиці використовуються операції:
“+” - складання;
“-“ - віднімання;
“*” - множення;
DIV - цілочисельне ділення;
MOD - залишок від ділення;
ABS (X) - абсолютна величина X;
SQR (X) - квадрат числа X;
У виразі послідовність виконання операцій визначається стандартними правилами алгебри проходження.
1.4 Тип даних REAL (речовий)
З дійсними числами можна виконувати такі операції:
“+” - складання;
“-“ - віднімання;
“*” - множення;
“/” - ділення;
SIN (X) - синус X, заданий в радіанах;
COS (X) - косинус X, заданий в радіанах;
EXP (X) - експонента e в ступені X;
LN (X) - натуральний логарифм Х (Х>0);
SQRT (X) - квадратний корінь X (X>=0);
ABS (X) - абсолютна величина X;
SQR (X) - квадрат числа X;
ARCTAN (X) - арктангенс Х, заданий в радіанах;
TRUNC (X) - ціла частина;
ROUND (X) - округлення до найближчого цілого.
Для піднесення до ступеня дійсних чисел необхідно використовувати тотожність
.
Дійсні числа можуть бути представлені:
у вигляді послідовності цифр з десятковою крапкою;
у експоненціальній формі.
Наприклад: 3.15, 5.4, 7E-14, 2.8E5.
Приклад 2 - Обчислення синуса і косинуса
program trig;
var arg, result1, result2:real;
begin
arg:=1.031;
result1:=sin(arg);
result2:=cos(arg);
writeln(arg, result1, result2);
end.
1.5 Оператори введення і виведення даних
Для введення даних з терміналу на мові Паскаль передбачені оператори READ і READLN.
Загальна форма запису:
READ (змінна, змінна...);
READLN (змінна, змінна...);
Відмінність оператора READLN від READ в тому, що READLN читає дані нового рядка. Виведення інформації на термінал здійснюється операторами WRITE і WRITELN. У інструкції WRITE на відміну від інструкції READ можуть бути присутніми вирази. При використанні WRITELN наступна друкована величина виводиться з початку нового рядка. У інструкції WRITE наступна величина друкується з того місця, де зупинився друкуючий механізм пристрою друку (принтер). Операторами виводу можна друкувати також текст, який необхідно помістити між апострофами.
Загальна форма запису:
WRITE (вираз, вираз: формат...)
WRITELN (вираз, вираз: формат...)
У конструкції формату перше число, що стоїть за двокрапкою, визначає ширину поля введення.
Наприклад, інструкція WRITE(A:5) показує, що значення змінної А повинно займати 5 позицій на екрані терміналу. Друге число в описі формату використовується тільки для виведення речових значень, воно визначає число цифр, що стоять праворуч від десяткової крапки.
Наприклад, якщо А=23.17, то в результаті виконання інструкції WRITE(A:10:4) на пристрої виводу буде отримано 23.1700. Якщо для виведення речового значення використовується формат, в якому задана тільки ширина поля виводу, то на пристрої виводу число з'явиться в експоненціальній формі.
При інструкції WRITE(A:10) на пристрої буде отримано 2.31700E+1.
1.6 Константи
Якщо в процесі виконання програми одне і те ж числове значення використовується кілька разів, то зручно такому числу привласнити ім'я і описати його як константу. Привласнення імен константам робить програму зручнішою для розуміння і внесення виправлень. Розділ опису констант завжди передує розділу опису змінних.
Приклад 3 - Розрахунок площі і довжини кола
program okr;
const pi=3.14159;
var radius:real;
begin
read(radius);
writeln(' довжина кола=', (2*pi*radius):6:2);
writeln(' площа круга =', (pi*sqr(radius):6:2);
end.
Таблиця 1 - Варіанти завдань для лабораторної роботи № 1
-
№
Вид функції
Початкові дані
X
Y
Z
1
4
-0.8
-5
2
2
0.273
4.642
3
5
3
4
4
3
0.845
5.54
5
6
6.63
-2
6
2
-4
6
7
2
10.35
2.379
8
15
3
0.248
9
-3
3.981
1.25
10
-5
4.8
7.5
11
10
0.47
-0.82
12
7
4.5
3.249
13
2
9
10.241
14
-4
0.869
1.276
15
8
11.25
2.43
16
4
3
2.45
17
-3
0.5
8.45
18
-12
0.196
10.64
19
3
1.63
16.3
20
-85
2
120.4
21
5
10
1.25
22
-20
17.42
-3.298
23
15
4.28
-1.33
24
8
25
8.5
25
2
4.8
3.6
26
5
24.9
-0.2
27
24
-1.25
-29.8
28
10
1.24
-8.6
29
2
-0.5
0.44
30
4
2.47
-1.25