330 likes | 735 Views
Мова програмування Pascal. Алфавіт. Поняття величини. Типи даних. Складові мови. Алфавіт – набір дозволених до використання символів Синтаксис – правила оформлення конструкцій мови (опис типів даних, команди, функції, програми) Семантика (зміст) – правила розуміння конструкцій мови.
E N D
Мова програмування Pascal Алфавіт. Поняття величини. Типи даних.
Складові мови • Алфавіт – набір дозволених до використання символів • Синтаксис – правила оформлення конструкцій мови (опис типів даних, команди, функції, програми) • Семантика (зміст) – правила розуміння конструкцій мови
При побудові описів програм у мові Pascal використовуються: • Символи – основні нероздільні знаки, за допомогою яких описуються програми та дані • Слово – послідовність символів з алфавіту мови програмування, яка має певний зміст • Вирази • Команди
1.Алфавіт • Латинські букви (регістр не розпізнається) A-Z, a-z • Знак підкреслювання _ (відноситься до букв) • Арабські цифри 0-9 • Спеціальні символи (прості або складені). Простісимволи: ; : , . (“розділові” знаки), < > = (символи порівняння) $ ’ # (керуючий символ) Приклад: #7 – біп, #32 – пробіл Складений символ: послідовність символів, яка несе певний зміст
Складені символи • Символи порівняння <=, >=, <> • Присвоєння := • ‘7‘ – позначення символів на відміну від чисел • Діапазон .. 1..10 ‘a’..’z’ • // рядковий коментар • /* багаторядковий коментар */ • (* … *) • { … }
Спеціальні символи • ( ) – використовується для запису аргументів функції, для перерахування списку вводу-виводу. • [ ] – використовується в массивах • { } – для запису коментарів
Слова • Зарезервовані (службові) - слова, значення яких міняти не можна • Стандартні - значення їх визначене, але програміст може його змінити • Імена (ідентифікатори) - слова, які встановлює програміст
Приклади слів • 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 COCOS X[10] X{10} TOR TO X_1 X 1 N25 #25 Case_1Case
Величина • В математиці: позначається буквою або числом • З точки зору програміста: величина - модель фізичного або математичного об’єкта • З точки зору комп’ютера: величина - іменоване місце в пам’яті
Характеристики величини • Розмір місця в оперативній пам’яті в байтах • Множина значень • Множина операцій Тип величини задає всі 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;
Операції над цілими числами Бінарні: + - */ div-цілочисленне ділення 10 div 3=3 mod – залишок від цілочисленного ділення 10 mod 3=1
Пріоритет операцій • 8*(10-6**6)
Операції над цілими числами Shl – зсув вліво Shr - зсув вправо xshl n=x*2n -цілочисленне множення xshr n=x/2n – цілочисленне ділення! Унарні операції –X, +X Функція odd(x) – визначає непарність числа (false або true) Функція abs(x) – модуль числа Функція sqr(x) – квадрат числа
Нечислові типи: логічний (булів) boolean – 1 байт (TRUE, FALSE)
Булівський тип (логічний) – додаткові відомості • Операція «порядковий номер»для логічного типу: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’
Як дізнатися, скільки байт відведено під певний тип даних? • 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- цілі
Принцип адресності фон Неймана та змінні величини компілятор Ім’я змінної Адреса пам’яті програма Змінна (значення у пам’яті)
Фрагмент таблиці ASCII Код Символ Код Символ Код Символ Код Символ 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 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