
- •Поняття програми. Програмування як процес розробки алгоритмів. Загальні підходи програмування.
- •2. Поняття про мови програмування. Класифікація мов програмування. Системи програмування. Поняття про інтерпретацію та компіляцію.
- •Вирази та оператори. Операції, операнди. Пріоритети операцій. Арифметичні вирази. Логічні вирази. Оператори введення і виведення.
- •5. Оператори. Класифікація операторів. Прості оператори. Оператор присвоєння. Структурні оператори. Оператори циклів. Організація циклів. Приклади. Оператори введення та виведення.
- •Структурні типи даних. Масиви. Опис масивів. Обробка даних у масивах.
- •Структурні типи даних. Рядки. Опис рядків. Обробка даних у рядках.
- •Структурні типи даних. Множини. Опис множин. Операції над множинами.
- •Структурні типи даних. Записи. Опис записів, поля. Обробка даних у записах.
- •Динамічні змінні. Покажчики. Найпростіші динамічні структури даних. Використання динамічних структур даних.
- •Списки. Стеки. Черги. Деревоподібні структури даних.
- •Файлові типи. Операції з файлами. Файли прямого та послідовного доступу. Створення, читання та модифікація файлів.
- •Модульне програмування в системі тр. Класифікація модулів. Загальна структура модуля користувача. Використання модулів.
- •Об’єктно-орієнтоване програмування як засіб створення складних програм. Поняття обєкта. Мова Object Pascal.
Вирази та оператори. Операції, операнди. Пріоритети операцій. Арифметичні вирази. Логічні вирази. Оператори введення і виведення.
Змінні – це іменовані величини, визначені в програмі, значення яких може змінюватись під час її виконання. В якості значень змінних можуть виступати будь-які стандартні або задані програмістом нестандартні типи, визначені в програмі. Під кожну змінну виділяється область оперативної пам’яті, розмір якої залежить від типу змінної.
Кожна змінна, яка використовується в програмі, повинна бути описана в розділі опису змінних. Наприклад: Var x : real; i : integer;. Якщо в програмі є кілька змінних одного типу, то при описі їх можна об’єднати в групу, перерахувавши їх через кому. Наприклад:var x,y:real ;
Всі змінні, описані в програмі можна розділити на локальні та глобальні. Змінні, описані в розділі var процедур чи функцій, є локальними. Вони існують лише під час виконання відповідної процедури чи функції. Змінні, описані у розділі var основної програми, є глобальними, вони існують до закінчення виконання програми.
В мові програмування Паскаль для виконання дій над даними існують операції. Операції – це дії, що виконуються над даними (операндами). Операції позначаються спеціальними символами чи групами символів. Наприклад у виразі x + y змінні x, y - це операнди, а “+” – це символ, що означає операцію додавання. Якщо операція застосовується одночасно до двох операндів, то вона називається бінарною (наприклад додавання чи віднімання ), а якщо тільки до одного оператора, то вона називається унарною (наприклад символ “-“ у позначенні від’ємного числа). Кожна операція може застосовуватись лише до операндів певних типів. Дозволені в мові програмування Паскаль операції умовно можна розділити на кілька груп :
• арифметичні операції;• операції відношення;
• логічні (булевські) операції ;• інші операції.
Арифметичні операції можуть застосовуватись до операндів цілого та дійсного типу. Допустимі арифметичні операції наведено в таблиці 1.3.
Позначення |
Операція |
Тип операндів |
Тип результату |
+ |
Додавання |
цілий або дійсний |
цілий або дійсний |
- |
Віднімання |
цілий або дійсний |
цілий або дійсний |
* |
Множення |
цілий або дійсний |
цілий або дійсний |
/ |
Ділення |
цілий або дійсний |
дійсний |
div |
цілочисленне ділення |
цілий |
Цілий |
mod |
залишок від ділення |
цілий |
цілий |
Для даних цілого і логічного типів можуть застосовуватись логічні операції. Допустимі лог. операції наведено у табл..
Познач. |
Операція |
Тип операндів |
Тип результату |
Not |
логічне заперечення |
цілий,логічний |
цілий,логічний |
And |
логічне І, кон’юнкція |
цілий,логічний |
цілий,логічний |
Or |
логічне АБО, диз’юнкція |
цілий,логічний |
цілий,логічний |
xor |
виключне логічне АБО |
цілий,логічний |
цілий,логічний |
Перша логічна операція в таблиці 1.4 – це унарна операція. Її дія полягає в тому, що вона змінює логічне значення на протилежне. Наприклад, якщо а- логічна змінна, що має значення true, то результатом операції (not a) буде false. Всі інші логічні операції – бінарні. Для іх використання необхідно два операнди.
Операції зсуву (shl, shr) – бінарні операції. Перший перанд визначає величину, у якій потрібно виконати побітний зсув, а другий операнд вказує величину цього зсуву . При цьому біти, що звільнюються заповнюються нулями, а значення бітів, що вийшли за межі початкової величини втрачується. Пріоритети операцій
Оператори |
Пріоритет |
Категорія |
@, not |
перший (вищий) |
унарні операції |
*,/,div,mod, nd,shl,shr |
Другий |
операції множення |
+,-,or,xor |
Третій |
операції додавання |
=, <>, <, >,<=, >=, in |
четвертий |
операції відношення |
Найпростіший оператор введення в Паскалі - оператор READ, він записується у вигляді: READ (ім'я, ім'я ,...); де ім'я - імена змінних або типізованих констант. Вводяться значення задаються у вигляді допустимих в Паскалі констант і розділяються будь-якою кількістю пробілів. Для завершення введення слід натиснути клавішу Enter. Оператор вводу можна записати і як READLN, при введенні числових змінних вони еквівалентні. Крім того, оператор READLN без списку в дужках можна використовувати для організації затримки в роботі програми - він буде очікувати натискання клавіші Enter.
Найпростіший оператор виводу записується у вигляді: WRITE (вираз, вираз ,...); або WRITELN (вираз, вираз ,...);
Вивести можна будь-який вираз, якщо необхідно вивести текст, він полягає в апострофи. Оператор WRITELN відрізняється від оператора WRITE тим, що після виведення відбувається перехід на новий рядок. Можна використовувати оператор WRITELN без списку виводу для пропуску рядка.
Поняття типу даних. Типи даних мови Паскаль. Прості та структурні типи даних. Змінні та константи. Користувацькі та стандартні типи даних. Типізовані константи. Цілий, дійсний, булевий та символьний типи.
Величина - це уявний об'єкт, який можна охарактеризувати іменем та значенням. Дані в програмуванні являють собою величини, які опрацьовуються програмою. Вони поділяються на :
константи та змінні;
скалярні та структуровані;
стандартні та дані користувача.
Змінна - це поіменована ділянка оперативної пам'яті комп'ютера, де зберігається значення деякої величини. Змінна має такі властивості: назву (ім'я), значення, тип. Кількість змінних та їх властивості задаються користувачем. Тип змінної визначає її допустимі значення, а також операції, які можна над нею виконати. Константа - це поіменована ділянка оперативної пам'яті, в яку дані заносяться перед виконанням програми і які не дозволяється змінювати в процесі її виконання.
Скалярні величини являють собою прості значення. Тобто, скалярний об'єкт може приймати в будь-який момент виконання програми лише одне якесь значення.
Структуровані величини складаються з декількох значень, тобто, одній величині відповідає деякий набір значень одразу.
Стандартні величини реалізовані в трансляторі мови Паскаль, тому їх можна використовувати без додаткового оголошення.
Крім того, користувач може оголошувати і використовувати власні величини, які називаються даними користувача. Тип даних визначає множину значень, що може приймати змінна. Кожній змінній в програмі необхідно задати один, і тільки один тип даних.
Скалярні стандартні типи даних: integer (тип цілих чисел) , real (тип дійсних чисел), char (літерний тип) та boolean (логічний тип).
У мові Турбо Паскаль існує п'ять вбудованих цілочисельних типів: Shortint (коротке ціле), Integer (ціле), Longint (довге ціле), Byte (довжиною в байт) і Word (довжиною в слово). Кожний тип визначає певну підмножину цілих чисел:
Тип |
Діапазон |
Формат |
Shortint |
-128 .. 127 |
8 бітів із знаком |
Integer |
-32768 .. 32767 |
16 бітів із знаком |
Longint |
-2147483648 .. 2147483647 |
32 біта зі знаком |
Byte |
0 .. 255 |
8 бітів без знака |
Word |
0 .. 65535 |
16 бітів без знака |
До дійсного типу відноситься підмножина дійсних чисел, що можуть бути подані у форматі з плаваючою точкою з фіксованим числом цифр. Є п'ять видів дійсних типів: Real, Single, Double, Extended і Comp. Дійсні типи розрізняються діапазоном і точністю пов'язаних з ними значень. Основним є перший тип. Дані булевого типу (іноді його називають логічним) можуть приймати значення, обумовлені стандартними ідентифікаторами true (істина) і false (неправда). При виконанні операцій відношення вважають справедливим співвідношенням: "false"<"true". Змінна булевого типу займає в пам'яті 1 байт.
Значенням змінної літерного типу може бути один із символів, що входять у таблицю символів. Символи впорядковані один щодо одного відповідно до їх значень в коді ASCII, наприклад: "А" < "У". Значення кодів символів у ASCII змінюються від 0 до 255.
Ідентифікатори в Турбо Паскалі - це імена констант, змінних, міток, типів, об'єктів, процедур, модулів, функцій, програм і полів в записах. Іншими словами ідентифікатор - це ім'я об'єкта яке задається програмістом з урахуванням певних правил:
ідентифікатор може включати букви латинського алфавіту, цифри, знак підкреслення; ніякі інші символи недопустимі;
ідентифікатор не може починатися з цифри;
ідентифікатор не може співпадати з жодним з зарезервованих слів;
довжина індентифікатора довільна, але значущими вважаються лише перші 63 символа;
пробіли та інші спеціальні символи не можуть входити в ідентифікатор.
Тип – це множина значень, яких можуть набувати змінні програми та сукупність операцій, які визначені над цією
множиною значень.
Прості стандартні типи даних: числові (цілочисельні, дійсні), символьний та логічний (булевий).
Цілочисельні типи (byte: 0..255; shortint: -128..127; word: 0..65535; integer (основний): -32768..32767; longint). Для збереження даних цілочисельного типу у пам’яті виділяється від 1 до 4 байт (н-д, для збереження цілих чисел типу byte виділяється 8 біт пам’яті, типу integer – 2 байти). Цілі числа бувають знаковими і беззнаковими. Старший біт несе інформацію про знак.
Дійсні числа (single, real, double, extended) можна записати у форматі з фіксованою крапкою (н-д, 5.04, -12.109), або у форматі з плаваючою крапкою (nE+2 означає множення числа n на 10 у степені +2, тобто nEm = n*10 m).
Символьний тип (char) – це множина символів кодової таблиці комп’ютера ASCII. Символьна стала – це символ, взятий у лапки. Н-д: ’a’, ’5’, ’%’.
Логічний тип (boolean) характеризується двома значеннями: true (істинність), false (хибність).
Усі стандартні типи (окрім дійсного) є впорядкованими, тобто для кожного даного визначені наступне і попереднє.
Крім стандартних типів даних існують користувацькі, які користувач сам визначає в розділі опису типів:
type <ім’я типу 1> = <опис типу 1>; ... <ім’я типу n> = <опис типу n>;
До нестандартних (користувацьких) типів належать перераховуваний, діапазонний та рядковий типи.
Перераховуваний тип утворюють з ідентифікаторів (імен користувача) шляхом їх об’єднання у список, який записується у круглих дужках:
type <ім’я типу> = (<значення 1>, <значення 2>, ..., <значення n>);
Приклад: type week = (mon, tue, wed, the, fri, sat, sun);
colors = (red, green, blue, white, yellow);
Номер першого елемента списку завжди є 0. Дані перерахованого типу не можна вводити з клавіатури чи виводити. Даними перерахованого типу не можуть бути числові чи символьні значення.
Діапазонний тип – це звуження деякого базового упорядкованого типу. Його описують наступним чином: type <ім’я типу> = <значення 1> .. <значення 2>;
Приклад: type weekdays = mon..fri; months = 1..12;
Типізовані константи:
Окрім звичайних, є ще типізовані сталі. Вони дають змогу оголосити змінну і відразу надати їй значення:
const <ім’я сталої 1> : <тип 1> = <значення 1>; ...
<ім’я сталої n> : <тип n> = <значення n>;
На відміну від звичайних ,значення типізованих сталих у програмі можна змінювати. Приклади типізованих сталих:
const mysymbol : char = ’a’; n : integer = 5;