Типи даних
Тип даних - це множина значень однакової природи разом із набором операцій, які над ними виконуються. Тип даних задає: 1) область допустимих значень, які може прийняти змінна даного типу (тим самим визначається об'єм пам'яті, що відводиться під зберігання цієї змінної); 2) допустимі правила, операції та функції обробки конкретних типів даних. 2.4.1 Стандартні типи даних Одним з найважливіших понять у програмуванні є змінна. Змінна - це поіменована ділянка оперативної пам'яті комп'ютера, де зберігається значення деякої величини, значення якої змінюється в процесі виконання програми. Змінна має такі властивості: назву (ідентифікатор), значення, тип. Кількість змінних та їх властивості задає користувач. Тип змінної визначає її допустимі значення, а також операції, які можна над нею виконувати. Розглянемо стандартні типи даних: числові цілі (табл. 1), числові дійсні (табл. 2), символьний та логічний.
Розглянемо такі дві змінні: var x:byte; y:integer. Цим змінним можна надати, наприклад, таких значень: х:=65; у:=-5. Зауважимо, що змінна х не може набувати від’ємних значень, оскільки вони не входять до діапазону допустимих значень типу byte. Дійсні числа можна записувати у форматі з фіксованою крапкою, наприклад, 5.04, -12.109, або у форматі з плаваючою крапкою, наприклад, 5.2Е+2 (це є 520.0), 16.1Е-3 (це є 0.0161). Символи nE + 2 означають множення числа n на 10 у степені +2, тобто в загальному вигляді nEm = n • 10m символьний тип (char) - це множина символів кодової таблиці комп’ютера ASCII. Символьна стала - це символ, взятий у лапки, наприклад, ’а’, ’5’, ’%’. Логічний тип (boolean) характеризується двома значеннями: false (хибність) та true (істинність). Усі стандартні типи (окрім дійсного) є впорядкованими, тобто для кожного даного визначені наступне та попереднє значення. 2.4.2 Типовані сталі. Окрім звичайних, є ще типовані сталі. Вони дають змогу оголошувати змінну й відразу надавати їй значення: const <ім’я сталої 1>: <тип 1> = <значення 1>; … <ім’я сталої n>: <тип n> = <значення n>; На відміну від звичайних, значення типованих стали у програмі можна змінювати. Приклад типованих сталих: const mysymbol: char = ‘a’; n: integer = 5; p: real = 1.73; 2.5 Розділи оголошення сталих і змінних Усі величини, які входять у програму, повинні бути описані у розділі сталих (констант), якщо вони не мінятимуть значення протягом виконання програми: const <стала 1> = <значення 1>; … <стала n> = <значення n>; або у розділі оголошення змінних, якщо вони обчислюватимуться: var <список змінних 1>: <тип змінних 1>; … <список змінних n>: <тип змінних n>; Елементи списків записують через кому. Кутові дужки <…> - це засіб формалізованого описування конструкцій мови. У конкретних програмах їх не використовують. Наприклад. const a=4; b=7.58E+3; var c: integer; d: real; 2.6 Команди присвоєння, введення й виведення Прості (інша назва - лінійні) програми складаються з команд присвоєння, введення-виведення даних та виклику процедур. 2.6.1 Команда присвоєння Команда присвоєння має вигляд (синтаксис): <ім’я змінної>:= <вираз>; Дія команди (семантика). Обчислюється вираз і його значення надається змінній. Вираз призначений для описування формул, за якими виконуються обчислення. Вираз може містити числа, змінні, сталі, назву функції, з’єднані символами операцій. Приклад. A:= B+C; ALFA:= 6*D; Z1:= 12; Змінна і вираз мають бути одного типу або узгодженими: змінним дійсного типу можна надавати значення виразів цілого типу, а змінним рядкового типу присвоювати значення виразів символьного типу, але не навпаки. 2.6.2 Команди введення (read, readln) даних Надавати значення змінним можна двома способами: за допомогою команди присвоєння, наприклад:= 5, або команд уведення даних з клавіатури. Другий спосіб робить програму більш універсальною, оскільки дає змогу розв’язувати задачі для різних значень змінних. Команда read має вигляд: read (<змінна 1>, …, <змінна n>); Дія команди. Виконання програми зупиняється. Система переодить у режим очікування введення дани. Значення цих дани користувач набирає на клавіатурі через проміжок або натискає після кожного даного клавішу Enter. У результаті виконання цієї команди відповідним змінним будуть присвоєні конкретні значення. Команда readln має вигляд: readln (<змінна 1>, …, <змінна n>); Між вказівками read и readln є різниця. Після виконання вказівки read курсор залишиться в цьому ж рядку. Після виконання вказівки readln буде зроблено перехід у наступний рядок. Зауваження. Команду readln без параметрів часто використовують у середовищі ТР, щоб оглянути результати виконання програми на екрані. Щоб після цього перейти у режим редагування програми, потрібно натиснути на клавішу вводу (Enter). 2.6.3 Команди виведення (write, writeln) даних Для виведення на екран повідомлень та результатів обчислювань використовують команди write та writeln: write (список); writeln (список); У списку виведення перелічуються через кому сталі, змінні, вирази або текстові константи. Команда writeln діє так само як і команда write, але після її виконання курсор переходить у наступний рядок. Таким чином вивід значень наступної команди (write чи writeln) буде у новому рядку. Для переходу на новий рядок екрана чи для пропуску рядка використовують команду writeln без параметрів. Для зручності виведення даних користуються своєрідними підказками користувача (текстовими константами). Приклад writeln (‘X=’, X); writeln (‘Y=’, Y); writeln (‘Z=’, Z); На екран буде виведено результат: X=23 Y=12 Z=8 Як бачимо з прикладу, текстові константи (‘X=’, ‘Y=’, ‘Z=’) або підказки користувача повинні з двох боків братися в лапки і відділятися від змінної комою. Для зручності введення даних користуються поєднанням вказівок read і write. Приклад read (’Введіть значення X: ’); writeln (X); read (’Введіть значення Y: ’); writeln (Y); read (’Введіть значення Z: ’); writeln (Z); Загальний вигляд послідовного виконання даних команд: Введіть значення X: 23 Введіть значення Y: 12 Введіть значення Z: 8 2.6.4 Форматний вивід Команди write та writeln можуть здійснювати форматний вивід даних. Форматування - це подання результатів у наперед заданому користувачем вигляді. Для цього після виразу через двокрапку записують число (:n) -кількість позицій на екрані, які треба надати для виведення значення цього виразу. Формат :n застосовують для даних цілого та рядкового типів. Під час виведення даних дійсного типу зазначають загальну кількість позицій для всіх символів (n) та кількість позицій для дробової частини (m), тобто формат має вигляд :n:m. Приклад (А=12,8) writeln (’A=’, А); На екрані отримаємо такий результат: А= 1.2800000000Е+01 writeln (’A=’, А:5:2); Результат: А= 12.80 2.6.5 Складений оператор Складений оператор - це послідовність довільних команд програми, відокремлених одна від одної крапкою з комою, взятих в операторні дужки -службові (зарезервовані) слова begin … end. Формат: begin <оператор1>; <оператор2>; … <onepaTopN> end; Після службового слова end ставиться крапка з комою. У деяких випадках, коли складений оператор використовується у командах розгалуження, крапка з комою може і не записуватися. Приклад Begin a:=3.5; b:=7.2; s:=a+b; writeln(‘s=’,s) end; 2.7 Основні операції, стандартні функції та деякі процедури Основні операції, стандартні функції та деякі процедури мови Pascal описані в табл. 3 та 4 відповідно. Виконання кожної операції здійснюється з урахуванням її пріоритету (1 - найвищий). Для зміни звичайного порядку виконання операцій використовують круглі дужки, наприклад: 2*-3-2=-8; 2*(-3-2)=-10; 5*(2+13)=75; 20+100/20*5=45; 20+100/(20*5)=21. Результатом операції div є ціла частина від ділення двох чисел, a mod -остача, наприклад: (9-2) div 2 = 3; 7 mod 2 = 1.
2.8 Приклад лінійної програми Ввести з клавіатури чотирьохзначне число та знайти добуток цифр цього числа. Лістинг програми PROGRAM PRIMER1; USES CRT; VAR A, A1, A2, A3, A4, A5, A6, A7: INTEGER; BEGIN WRITELN (‘Введіть ціле 4-х значне число’); READLN (A); // 4375 A1:= A MOD 10; // 5 WRITELN (A1); A2:= A DIV 10; // 437 A3:= A2 MOD 10; // 7 WRITELN (A3); A4:= A2 DIV 10; // 43 A5:= A4 MOD 10; // 3 WRITELN (A5); A6:= A DIV 1000; // 4 WRITELN (A6); A7:= A1 * A3* A5*A6; // 420 WRITELN (A1, ‘*’, A3, ‘*’, A5, ‘*’, A6, ‘=’, A7); WRITELN; END. Хід роботи: 1. Вивчити теоретичний матеріал. 2. Виконати індивідуальне завдання. 3. Скласти звіт, в якому відповісти на теоретичні питання, описати алгоритм, описати програму, привести контрольний приклад виконання програми. Контрольні запитання: 1. Для чого призначена мова програмування Pascal? 2. Що таке транслятор? 3. Що таке інтерпретатор? 4. Який порядок створення програми і запису її в файл? 5. Як створити exe-файл? 6. Як виконати програму? 7. З яких розділів складається Pascal-програма? 8. Які стандартні типи даних використовуються у мові Pascal? 9. Який оператор введення даних використовується у мові Pascal? 10. Який оператор виведення інформації використовується у мові Pascal? 11. Які пріоритети математичних операцій використовуються при створенні математичних виразів у мові Pascal? Індивідуальні завдання: Створити програму на мові Pascal для приведеної задачі згідно варіанту: Обчислити значення функції f(x) при заданому значенні аргументу.
|