- •Основи програмування мовою Паскаль
- •Часть 1. Основы языка Паскаль 2
- •Часть 2. Элементы профессионального программирования на Паскалі 62
- •Частина 1. Основи мови Паскаль
- •1. Алгоритм і програма
- •1.1. Алгоритм
- •1.2. Властивості алгоритму
- •1.3. Форми запису алгоритму
- •1.4. Програма й програмне забезпечення
- •1.5. Етапи розробки програми
- •2. Дані в мові Паскаль
- •2.1 Константи
- •2.2 Змінні й типи змінних
- •3. Арифметичні вирази
- •4. Лінійний обчислювальний процес
- •4.1 Оператор присвоювання
- •4.2 Оператор уведення
- •4.3 Оператор виведення
- •4.4 Керування виводом даних
- •4.5 Вивід на друк
- •5. Структура простої програми на Паскалі
- •6. Компілятор і оболонка Turbo Pascal
- •7. Обчислювальний процес, що розгалужується, і умовний оператор
- •7.4. Короткий умовний оператор
- •If логічний_вираз then оператор1;
- •7.5. Повний умовний оператор
- •If логічний_вираз then оператор1
- •7.7. Вкладені умовні оператори
- •7.9. Приклади програм з умовним оператором
- •8. Директиви компілятора й обробка помилок уведення
- •9. Оператор циклу. Цикли із передумовою і після-умовою
- •10. Цикл із лічильником і дострокове завершення циклів
- •11. Типові алгоритми табулювання функцій, обчислення кількості, суми й добутку
- •11.1 Алгоритм табулювання
- •11.2 Алгоритм організації лічильника
- •11.3 Алгоритми нагромадження суми й добутку
- •12. Типові алгоритми пошуку максимуму й мінімуму
- •13. Розв'язок навчальних завдань на цикли
- •14. Одномірні масиви. Опис, уведення, вивід і обробка масивів на Паскалі
- •15. Розв'язок типових завдань на масиви
- •Частина 2. Елементи професійного програмування на Паскалі
- •16. Кратні цикли
- •16.1 Подвійний цикл і типові завдання на подвійний цикл
- •16.2 Оператор безумовного переходу
- •17. Матриці й типові алгоритми обробки матриць
- •18. Підпрограми
- •18.1 Процедури
- •18.2 Функції
- •18.3 Масиви як параметри підпрограми
- •18.4 Відкриті масиви
- •19. Безлічі й перечислимые типи
- •20. Обробка символьних і строкових даних
- •20.1. Робота із символами
- •20.2 Робота з рядками
- •21. Текстові файли
- •21.1 Загальні операції
- •21.2 Приклади роботи з файлами
- •21.3 Робота з параметрами командного рядка
- •22. Записи. Бінарні файли
- •23. Модулі. Створення модулів
- •23.1. Призначення й структура модулів
- •Implementation
- •23.2. Стандартні модулі Паскаля
- •24. Модуль crt і створення простих інтерфейсів
- •25. Модуль Graph і створення графіки на Паскалі
- •Додаток 1. Таблиці Ascii-Кодів символів для операційних систем dos і Windows
- •Додаток 2. Основні директиви компілятора Паскаля
- •Додаток 3. Основні повідомлення про помилки Паскаля
- •Додаток 4. Додаткові лістинги програм
- •Додаток 5. Розширені коди клавіатури
- •Ascii‑ коди
- •Розширені коди
- •Додаток 6. Правила гарного коду
- •Додаток 7. Рекомендована література
4. Лінійний обчислювальний процес
ЛВП являє собою набір операторів, виконуваних послідовно, один за іншим. Основу програми ЛВП становлять оператори присвоювання, уведення й виведення даних.
4.1 Оператор присвоювання
Оператор присвоювання використовується для збереження результату обчислення вирази в змінній. Загальний вид:
змінна := вирази;
Знак :=читається як "привласнити".
Робота оператора:
Спочатку обчислюється вирази, що стоїть праворуч від знака :=, потім результат записується в змінну, що стоїть ліворуч від знака. Наприклад, після виконання оператора
k:=k+2;
поточне значення змінної kзбільшиться на2.
Тип змінної повинен бути не молодше типу вирази (наприклад, якщо вирази дає ціле число, результат можна писати й у цілу, і в речовинну змінну, якщо результат обчислення вирази речовинний, писати його в цілую змінну не можна, тому що може відбутися втрата точності.
Приклади:
1. Записати оператор присвоювання, який дозволяє обчислити відстань між двома крапками на площині з координатами (x1,y1) і (x2,y2).
Відповідь: d:=sqrt(sqr(x1–x2)+sqr(y1–y2));
2. Записати послідовність операторів присвоювання, що забезпечують обмін значеннями змінних xіyу пам'яті комп'ютера.
Відповідь:c:=x;
x:=y;
y:=c;
де з– додаткова змінна того ж типу, щоxіy, через яку здійснюється обмПр. Грубою помилкою було б, наприклад, спробувати виконати обмін операторамиx:=y;y:=x;- адже вже після першого з них ми маємо два значенняy, а вихідне значенняxзагублене.
4.2 Оператор уведення
Загальний вид запису операторів
read(список_змінних);
readln(список_змінних);
Змінні в списку перелічуються, як звичайно, через кому. Тут і далі список даних, переданих будь-якому операторі (а пізніше й написаним нами підпрограмам), ми будемо називати параметрами. Таким чином, параметрами оператора (точніше,стандартної процедури)readє імена змінних, описаних раніше в розділіvar.
Робота операторів
По досягненню оператора введення виконання програми зупиняється й очікується введення даних користувачем. значення, що вводяться, змінних розділяються пробілом або перекладом рядка (натисканням Enter). Після введення значень усіх змінних зі списку робота програми триває з наступного оператора.
Readlnвідрізняється відreadтільки тим, що всі змінні повинні бути введені в один рядок екрана,Enterнатискається один раз наприкінці.Readlnвикористовується в основному для введення рядків тексту, для введення чисел краще використовуватиread, тому що в цьому випадку користувач може вводити дані більш вільно (і в одну, і в кілька рядків екрана).
Якщо користувач уводить дані неприпустимого типу (наприклад, рядок тексту замість числа), то виводиться повідомлення про помилку й робота програми переривається.
Приклад: потрібно ввести дані для розв'язку квадратного рівняння
var a,b,c:real;
. . . .
read (a,b,c);
Наприклад, a=1, b=4, c=2.5 На екрані вводимо:
1_4_2.5¬
_ означає пробіл
¬ означає натискання Enter, переходимо на наступний рядок
або
1¬
4¬
2.5¬
або
1¬
4_2.5¬
Пробілів може бути й трохи.
Як правило, перед оператором уведення ставиться оператор виведення, службовець запрошенням до введення, що й пояснює користувачеві, що саме слід зробити (див. нижче).