Введення в програмування на мові pascal 1

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

Імена в мовах програмування прийнято називати ідентифікаторами. Є ідентифікатори змінних, констант, типів, функцій і т.д.

З поняттям величини пов'язані наступні характеристики (атрибути):

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

Постійної називається величина, значення якої не змінюється (оскільки таке можуть редагувати лише адміністратори) в процесі виконання алгоритму, а залишається одним і тим же, зазначеним в тексті алгоритму. Змінної називається величина, значення якої змінюється (в загальному випадку, може змінюватися) в процесі виконання алгоритму.

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

Розрізняють змінні наступних простих типів: цілі (Integer, Byte, ShortInt, Word, LongInt), речові (Real, Double, Single, Extended), логічний (Boolean), символьний (Char), що перераховується, діапазонний (інтервальний).

В цілому, ієрархія типів у мові Pascal наступна:

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

Кожен тип має свій ідентифікатор.

Примітка. Наведений тут опис простих типів актуально для Turbo Pascal; в інших реалізаціях Pascal обсяги пам'яті і значення числових величин можуть лежати в інших діапазонах.

Про подання інформації в пам'яті комп'ютера можна прочитати в даній статті.

Обмін інформацією з комп'ютером передбачає використання певних засобів вводу-виводу. У ЕОМ основним засобом введення є клавіатура, виведення - дисплей.

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

У мові Pascal вона виглядає наступним чином:

Читається: "Ввести речовинну А. цілу У і символьну С".

Як тільки в програмі зустрічається виклик процедури Read, ЕОМ призупиняє виконання цієї програми і чекає, поки користувач введе з клавіатури відповідні значення, які будуть присвоюватися змінним, перерахованим в списку введення, в порядку перерахування. Значення даних, що вводяться одночасно відображаються на екрані дисплея. Після натискання клавіші enter. коли всі змінні приймуть свої значення з вхідного набору даних, певного користувачем, виконання програми триває з оператора, наступного за Read.

У списку введення значення поділяються між собою пропуском (або кожне вводиться в окремому рядку). Присвоєння значень з вхідного потоку виконується зліва направо відповідно до порядку проходження змінних у процедурі Read. Процедура ReadLn схожа на Read. Різниця лише в тому, що ReadLn реагує на кінець рядка, і в разі виявлення відбувається відразу перехід до наступного рядка.

Приклади введення даних за допомогою процедури ReadLn:

Процедура, яка дозволяє виводити значення змінних (виразів) на екран, називається процедурою виведення.

У Pascal ця команда виглядає наступним чином

У списку виведення може бути або один вираз, або послідовність виразів, розділених між собою комами.

Процедура Write здійснює висновок значень виразів, наведених в його списку, на поточний рядок до її заповнення. За допомогою процедури WriteLn реалізується висновок значень виразів, наведених в його списку, на один рядок дисплея і перехід до початку наступного рядка.

Приклади виведення даних:

Для управління розміщенням виведених значень процедури Write і WriteLn використовуються з форматами. Під форматом даних розуміється розташування і порядок кодування окремих полів елементів даних.

Процедура виведення з форматом для цілого типу має вигляд:

Тут N. M. L - вираження цілого типу, що задають ширину поля виведення значень.

При виведенні речових значень Write (R) без вказівки формату виводить речовий R в поле шириною 18 символів у формі з плаваючою комою в нормалізованому вигляді. Для десяткового подання значення R застосовується оператор з форматами виду WriteLn (R. N. M). В десяткового запису числа R виводиться M (0 ≤ M ≤ 24) знаків після коми, всього виводиться N знаків.

Загальна структура програми на Pascal така:

Оператор присвоювання - один з найпростіших і найбільш часто використовуваних операторів у будь-якій мові програмування, в тому числі і в Pascal. Він призначений для обчислення нового значення деякої змінної, а також для визначення значення, що повертається функцією. У загальному вигляді оператор присвоювання можна записати так:

Оператор виконується наступним чином. Обчислюється значення виразу в правій частині присвоювання. Після цього змінна, зазначена в лівій частині, отримує обчислене значення. При цьому тип виразу повинен бути сумісний з привласнення з типом змінної! Як зазначалося раніше, тип виразу визначається типом операндів, що входять в нього, і залежить від операцій, що виконуються над ними.

Для операцій додавання, віднімання і множення тип результату в залежності від типу операнда буде таким:

У Pascal є операції цілочисельного ділення і знаходження залишку від ділення. При виконанні цілочисельного ділення (операція div) залишок від ділення відкидається.

Наприклад, 15 div 3 = 5; 18 div 5 = 3; 123 div 10 = 12, 7 div 10 = 0.

За допомогою операції mod можна знайти залишок від ділення одного цілого числа на інше.

Наприклад, 15 mod 3 = 0; 18 mod 5 = 3; 123 mod 10 = 3, 7 mod 10 = 7.

При записи виразів алгебри використовують арифметичні операції (додавання, множення, віднімання, ділення), функції Pascal, круглі дужки.

Порядок дій при обчисленні значення виразу:
  1. обчислюються значення в дужках;
  2. обчислюються значення функцій;
  3. виконується унарні операції (унарний мінус - зміна знака);
  4. виконуються операції множення і ділення (в тому числі цілочисельного ділення і знаходження залишку від ділення);
  5. виконуються операції додавання і віднімання.
Вбудовані математичні функції мови Pascal

Запис на Pascal

Піднесення до степеня (крім зведення в квадрат і піднесення до степеня числа e) відсутній. Для зведення в довільну ступінь можна скористатися очевидним рівністю: x y = e y ln x. Для зведення числа в натуральну ступінь можна написати власну функцію. наприклад,

Інший спосіб отримати натуральне значення z = x y. де x. y - натуральні, це зробити так: Z: = Round (Exp (Y * Ln (X))).

Примітка. Цікавою є завдання одержання ступеня будь-якого цілого числа (за винятком нуля), якщо підстава ступеня - невід'ємне ціле, без використання розвилки. Одне з можливих рішень. (-1) * Ord (Odd (Y)) * Exp (Y * Ln (X)) + Ord (Odd (Y + 1)) * Exp (Y * Ln (X)). Тут Ord (K) - функція, яка повертає порядковий номер величини K в тому чи іншому порядковому типі (в прикладі використано властивість, що порядковий номер False дорівнює 0, а порядковий номер True - 1).

Приклади запису математичних виразів:

Запис на Pascal

(Abs (x) - Abs (y)) / (1 + Abs (x * y))

Ln (Abs ((y - Sqrt (Abs (x))) * (x - y / (z + Sqr (x) / 4))))

Логічний операнд - це конструкція відповідної мови програмування, яка задає правило для обчислення одного з двох можливих значень: True або False.

Найчастіше логічні вирази використовують в операторах присвоювання або для запису того чи іншого умови. Складовими частинами логічних виразів можуть бути: логічні значення (True, False); логічні змінні; відносини.

Наприклад, 1) Y: = True; 2) Z: = False; 3) LogPer: = A> B; 4) Log1: = (A = B) And (C <= D).

Як видно з прикладів, ставлення - це два вираження, розділених між собою знаком операції відносини (>, <, =, <>, <=,>=). Ставлення є найпростішою конструкцією логічного виразу. Воно обчислює результат True, якщо виконується задане співвідношення, і False - в іншому випадку.

Примітка. Незважаючи на те, що операції відносини =, <>,> =,

Перш за все звернемо увагу на те, що цю складну фігуру доцільно розбити на кілька простіших: трикутник, що лежить в I і IV координатних чвертях, і трикутник, що лежить в II і III чвертях. Таким чином, точка може потрапити всередину однієї з цих фігур, або на лінію, їх обмежує. Кількість відносин, що описують якусь область, зазвичай збігається з кількістю ліній, цю область обмежуючих. Щоб точка потрапила всередину області, необхідна істинність кожного з відносин, тому над ними виконується операція AND. Так вся область була розбита на кілька, то між відносинами, що описують кожну з них, використовується операція OR.

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

Завдання 3. Обчислити значення виразу

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

Контрольні питання і завдання

Сайт створено в системі uCoz