Мова програмування Pascal
Download
Report
Transcript Мова програмування Pascal
Алфавіт. Поняття величини. Типи даних.
1.
2.
3.
Алфавіт – набір дозволених до
використання символів
Синтаксис – правила
оформлення конструкцій мови
(опис типів даних, команди,
функції, програми)
Семантика (зміст) – правила
розуміння конструкцій мови
Символи – основні нероздільні знаки, за
допомогою яких описуються програми та
дані
Слово – послідовність символів з алфавіту
мови програмування, яка має певний зміст
Вирази
Команди
Латинські букви (регістр не розпізнається)
A-Z, a-z
Знак підкреслювання _ (відноситься до
букв)
Арабські цифри 0-9
Спеціальні символи (прості або складені).
Прості символи: ; : , . (“розділові” знаки),
< > = (символи порівняння)
$ ’ # (керуючий символ)
Приклад: #7 – біп, #32 – пробіл
Складений символ: послідовність
символів, яка несе певний зміст
Символи порівняння <=, >=, <>
Присвоєння :=
‘7‘ – позначення символів на відміну від
чисел
Діапазон ..
1..10 ‘a’..’z’
// рядковий коментар
/* багаторядковий
коментар */
(* … *)
{… }
( ) – використовується для запису аргументів
функції, для перерахування списку вводувиводу.
[ ] – використовується в массивах
{ } – для запису коментарів
1.
2.
3.
Зарезервовані (службові) - слова, значення
яких міняти не можна
Стандартні - значення їх визначене, але
програміст може його змінити
Імена (ідентифікатори) - слова, які
встановлює програміст
1. Службові: Program, begin, end, if, for,
сonst, var, function, procedure
2. Стандартні: sin, cos, Pi, integer, real
3. Ідентифікатори (імена програміста): A1,
c, x, min.
Це послідовність букв, цифр та _, яка
починається з букви. Може бути до 63 символів.
Приклади правильних
імен
Неправильні
A
Л
R21
21R
CO
COS
X[10]
X{10}
TOR
TO
X_1
X1
N25
#25
Case_1
Case
В математиці: позначається буквою або
числом
З точки зору програміста: величина модель фізичного або математичного
об’єкта
З точки зору комп’ютера: величина іменоване місце в пам’яті
1.
2.
3.
Розмір місця в оперативній пам’яті в
байтах
Множина значень
Множина операцій
Тип величини задає всі 3 характеристики
Числові (цілі – знакові та беззнакові; дійсні)
Символьні
Логічні
Величини можуть бути:
КОНСТАНТАМИ (значення не міняється в
процесі виконання програми)
ЗМІННИМИ (величина може змінювати своє
значення)
Опис констант:
const
<ім’я константи 1>=<значення 1>;
<ім’я константи 2>=<значення 2>;
Приклад
const
max=1000;
school=‘Liceum 145’;
var
<ідентифікатор1>:<тип змінної 1>;
<ідентифікатор2>:<тип змінної 2>;
Тип змінної – це множина значень, які може
мати змінна та набір операцій, які можна
застосувати до змінної.
Приклад
var
x: integer;
a, b: real;
f: text;
sum: byte;
Довжина
Назва
1
2
4
8
byte
word
longword
uint64
Діапазон
значень
0 - 255
0 – 65535
0 - 109
0 – 1019
Довжина
Назва
1
2
shortint
integer
Діапазон
значень
-128 .. 128
-32768 .. 32767
4
longint
-2*108 .. 2*108
8
int64
–1018 .. 1018
Бінарні: + - */
div-цілочисленне ділення
10 div 3=3
mod – залишок від цілочисленного
ділення
10 mod 3=1
8*(10-6**6)
Shl – зсув вліво
Shr - зсув вправо
x shl n=x*2n - цілочисленне множення
x shr n=x/2n – цілочисленне ділення!
Унарні операції –X, +X
Функція odd(x) – визначає непарність числа
(false або true)
Функція abs(x) – модуль числа
Функція sqr(x) – квадрат числа
Довжина Назва
Діапазон значень
6
real
2,9*10-39 .. 2,9*1038
4
single
1,5*10-45..3,48*1038
8
double
5*10-324..1.1*10308
10
extended 3,4*10-4932 .. 1,1*104932
Функція
Значення
Тип результату
Abs(X)
Модуль
Співпадає з типом X
Arctan(X)
Арктангенс
Дійсний
Cos(X)
Косінус
Дійсний
Ехр(Х)
еx
Дійсний
Frac(X)
Дробова частина числа
Дійсний
Int(X)
Ціла частина числа
Дійсний
Trunc(x)
Ціла частина числа
Цілий
Pi
Pi=3.1415926535897932
385
Sin(X)
Сінус аргумента
Дійсний
Sqr(X)
Квадрат аргумента
Співпадає з типом X
Sqrt(X)
Квадратний корінь
аргумента
Дійсний
tgx
boolean – 1 байт (TRUE, FALSE)
A B
NOT
A A OR B A AND B A XOR B
0 0 1
0
0
0
0 1 1
1
0
1
1 0 0
1
0
1
1 1 0
1
1
0
Операція «порядковий номер» для
логічного типу: FALSE<TRUE, отже
ORD(FALSE)=0
ORD(TRUE)=1
S: CHAR; – 1 байт, діапазон значень –
кодова таблиця ASCII (1-31- керуючі
символи, пробіл – 32 символ; всього 256
значень). Операції над символами:
ORD (‘A’)=65
CHR (65)=‘A’
S:
String;
символьна строка, 255 байт
(256 – перший байт містить довжину)
S: String(40);
До множини операцій входять:
всі операції порівняння (відповідно
порядковим номерам в ASCII таблиці):
‘ ‘<‘_’<‘0’<‘1’<…<‘9’<‘A’<‘B’<…<‘Z’<‘a’…
Операція конкатенації + (поєднання
символів)
‘1’+’2’=‘12’
‘A’+’B’=‘AB’
Довжина
Назва
Діапазон
1 байт, без знаку Byte
0-255
2 байта, без
знаку
Word
0-65 535
4 байта, без
знаку
Longword
0 .. 4 294 967
295
1 байт, знакове
Shortint
-128-127
2 байта, знакове
Smallint (DELPHI)
-32768 .. 32767
4 байта, знакове
Longint
-2*108 .. 2*108
8 байт
Int64 (DELPHI)
–1018 .. 1018
Sizeof(byte)=1;
Sizeof(longint)=4;
Sizeof(boolean)=1
Результат операції / - завжди дійсний
12/3*3<>12
Тип результату операцій із декількома
типами співпадає з найбільшим типом
Var
a:real;
b:byte;
a+b – результат дійсний: 1+1.0=2.0
1+0.0; 10/5; 12-13; Sin(0); 4
Int(9.5); trunc(9.5); frac(9.5); odd(9)
1)X-Y, якщо x - ціле, y - дійсне
2)(X+y)/10, якщо x, y- цілі
3)sin(x)*cos(y), якщо x - ціле, y - дійсне
4)(x+y)*(y-2), якщо x, y- цілі
Ім’я
змінної
компілятор
Адреса
пам’яті
програма
Змінна
(значення
у пам’яті)
Код Символ Код Символ Код Символ Код
Символ
32 пробел 56 8 80 P 104 H
33 ! 57 9 81 Q 105 I
34 “ 58 : 82 R 106 J
35 # 59 ; 83 S 107 K
36 $ 60 < 84 T 108 L
Фрагмент
таблиці ASCII
37 % 61 = 85 U 109 m
38 & 62 > 86 V 110 n
39 ' 63 ? 87 W 111 o
40 ( 64 @ 88 X 112 p
41 ) 65 A 89 Y 113 q
42 * 66 B 90 Z 114 r
43 + 67 C 91 [ 115 s
44 , 68 D 92 \ 116 t
45 - 69 E 93 ] 117 u
46 . 70 F 94 ^ 118 v
47 / 71 G 95 _ 119 w
48 0 72 H 96 ` 120 x
49 1 73 I 97 A 121 y
50 2 74 J 98 b 122 z
51 3 75 K 99 c 123 {
52 4 76 L 100 d 124 |
53 5 77 M 101 e 125 }
54 6 78 N 102 f 126 ~
55 7 79 O 103 g 127