- •Основи програмування мовою Паскаль
- •Часть 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.3 Оператор виведення
Загальний вид запису операторів
write(список виразів і/або змінних);
writeln(список виразів і/або змінних);
Елементи списку перелічуються через кому. У список можуть входити також рядка в апострофах ' '
Робота операторів
Елементи списку виводяться в користувацьке вікно програми. Дійсні значення виводяться в експонентній формі(з буквою E). Рядки виводяться " як є". Після виведення робота програми триває з наступного оператора.
Оператор writelnвідрізняється відwriteлише тим, що після виведення значення останнього елемента списку виконується переклад курсору на наступний рядок екрана.
Приклади:
1) Потрібно дати користувачеві можливість увести із клавіатури число, потім програма зведе це число у квадрат і виведе результат на екран.
var a,a2:integer;
. . . .
writeln ('Уведіть ціле число:'); {це запрошення до введення!}
read (a);
a2:=sqr(a);
writeln ('Квадрат числа=',a2);
Якщо ввести a=2, на екрані буде надруковане
Квадрат числа=4
| ---курсор на наступному рядку
Після виведення результату виконання програми продовжиться, а якщо оператор writelnбув у ній останнім, те й завершиться. Щоб користувач встигнув прочитати результат, випливає наприкінці програми додати оператор
readln;
який буде чекати натискання клавіші Enter.
2) Потрібно вивести результати розв'язку квадратного рівняння x1=1.5 і x2=2.5
write ('x1=',x1,'_x2=',x2);
- пробіл тут потрібний, щоб значення x1 не злилося з рядком 'x2='
на екрані буде надруковано:
x1= 1.5000000000E+00 x2= 2.5000000000E+00|
-курсор залишився наприкінці рядка, тому що використаний write!
Дійсні числа читати в подібній формі незручно, для їхнього виведення використовуйте розв'язок з наступного розділу.
4.4 Керування виводом даних
В операторі writeабоwritelnдійсне значення (а також ціле або строкове) найчастіше зручніше записувати у вигляді:
змінна:ширина:точність
ширина– ціле позитивне число, визначає, скільки екранних позицій приділяється для виведення всього числа. Визначена для будь-яких чисел і рядків.
точність– ціле позитивне число, визначає, скільки цифр із ширини приділяється на вивід дробової частини числа. Визначенатільки для дійсних чисел. Не враховує позицію десяткової крапки. Розумні значення точності – від0доширина-2включно. Неприпустимі значення ширини й точності не будуть враховані при виведення.
Приклад:друкуємо значення змінних
var x1,p:real;
i:integer;
. . . .
x1:=2.5; p:=-3.175; i:=2;
writeln ('x1=',x1:8:2,'_p=',p:9:4);
write ('I=','_':5,i:2);
На екрані буде надруковано:
x1=____2.50_p=__-3.1750
I=______2
_ скрізь позначає пробіл
4.5 Вивід на друк
Іноді потрібно, щоб програма вивела результати своєї роботи на принтер. Для цього досить виконання двох умов. Першим оператором розділу описів програми слід указати оператор
uses printer;
що підключає стандартну бібліотеку для роботи із принтером, а першим параметром оператора writeабоwritelnуказати символічне ім'я принтераlst, описане в бібліотеціprinter:
write ('Hello');рядок 'Hello' виведена на екран,
write (lst,'Hello');а тут – уже на принтер
Відмінність між writeіwritelnзберігається при виведенні на принтер – тобто, при використанніwritelnпозиція друку на принтері буде переведена на наступний рядок.
Тут не приводиться код, що дозволяє перевірити, чи готовий принтер до друку й чи вдалася операція виведення даних на нього. Подібні перевірки ми навчимося робити, вивчивши стандартну функцію Ioresult.