Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основи алгоритмізації.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
83.83 Кб
Скачать
  1. Вирази та оператори. Операції, операнди. Пріоритети операцій. Арифметичні вирази. Логічні вирази. Оператори введення і виведення.

Змінні – це іменовані величини, визначені в програмі, значення яких може змінюватись під час її виконання. В якості значень змінних можуть виступати будь-які стандартні або задані програмістом нестандартні типи, визначені в програмі. Під кожну змінну виділяється область оперативної пам’яті, розмір якої залежить від типу змінної.

Кожна змінна, яка використовується в програмі, повинна бути описана в розділі опису змінних. Наприклад: 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 без списку виводу для пропуску рядка.

  1. Поняття типу даних. Типи даних мови Паскаль. Прості та структурні типи даних. Змінні та константи. Користувацькі та стандартні типи даних. Типізовані константи. Цілий, дійсний, булевий та символьний типи.

Величина - це уявний об'єкт, який можна охарактеризувати іменем та значенням. Дані в програмуванні являють собою величини, які опрацьовуються програмою. Вони поділяються на :

 константи та змінні;

 скалярні та структуровані;

 стандартні та дані користувача.

Змінна - це поіменована ділянка оперативної пам'яті комп'ютера, де зберігається значення деякої величини. Змінна має такі властивості: назву (ім'я), значення, тип. Кількість змінних та їх властивості задаються користувачем. Тип змінної визначає її допустимі значення, а також операції, які можна над нею виконати. Константа - це поіменована ділянка оперативної пам'яті, в яку дані заносяться перед виконанням програми і які не дозволяється змінювати в процесі її виконання.

Скалярні величини являють собою прості значення. Тобто, скалярний об'єкт може приймати в будь-який момент виконання програми лише одне якесь значення.

Структуровані величини складаються з декількох значень, тобто, одній величині відповідає деякий набір значень одразу.

Стандартні величини реалізовані в трансляторі мови Паскаль, тому їх можна використовувати без додаткового оголошення.

Крім того, користувач може оголошувати і використовувати власні величини, які називаються даними користувача. Тип даних визначає множину значень, що може приймати змінна. Кожній змінній в програмі необхідно задати один, і тільки один тип даних.

Скалярні стандартні типи даних: 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;