- •Методичні рекомендації до виконання лабораторних робіт
- •Для спеціальностей
- •Лабораторна робота № 1 Лінійні програми
- •Теоретичні відомості
- •Вирази, операнди, операції.
- •Аналогічно не можна змішувати літерні та числові типи даних,тобто вираз типу:
- •Введення-виведення інформації.
- •Завдання
- •Лабораторна робота № 2 Використання операторів умовного та безумовного переходів
- •Теоретичні відомості
- •Оператор умови if
- •Завдання
- •Лабораторна робота № 3 Використання операторів циклу
- •Теоретичний матеріал
- •Завдання
- •Лабораторна робота № 4 Обробка табличних елементів
- •Теоретичний матеріал
- •1 Спосіб
- •2 Спосіб
- •Завдання
- •Лабораторна робота № 5 Сортування елементів масиву
- •Теоретичний матеріал
- •Завдання
- •Лабораторна робота № 6 Робота з даними типу String
- •Теоретичний матеріал
- •Завдання
- •Лабораторна робота № 7 Використання множин даних
- •Теоретичний матеріал
- •Завдання
- •Лабораторна робота № 8 Обробка даних типу запис
- •Теоретичний матеріал
- •Завдання
- •Лабораторна робота № 9 Файлові типи даних
- •Теоретичний матеріал
- •Завдання
- •Лабораторна робота № 10 Типизовані файли
- •Теоретичний матеріал
- •Типизовані файли
- •Завдання
- •Лабораторна робота № 11 Організація підпрограм з використанням функцій
- •Теоретичний матеріал
- •Завдання
- •Лабораторна робота № 12 Організація підпрограм з використанням процедур
- •Теоретичний матеріал
- •Параметри-значення
- •2. Параметри-змінні
- •Завдання
- •Лабораторна робота № 13 Модульна організація програм
- •Теоретичний матеріал
- •Завдання
- •Варіант 1. Робота з матрицями
- •Варіант 2. Арифметичні дії з цілими числами, які не визначаються типом Longint
- •Варіант 3. Цілочисельна арифметика
- •Варіант 4. Опрацювання лінійного масиву даних
- •Варіант 5. Аналіз текстового рядка
- •Варіант 6. Трикутник
- •Варіант 7. Опрацювання масиву даних
- •Варіант 8. Опрацювання масиву даних
- •Варіант 9. Опрацювання двовимірних масивів
- •Лабораторна робота № 14 Створення графічних зображень
- •Теоретичний матеріал
- •Завдання
- •Список літератури
Аналогічно не можна змішувати літерні та числові типи даних,тобто вираз типу:
5 + ‘F’
являється помилковим.
Однак відсутність автоматичного перетворення типів у Паскалі не означає, що він зовсім не має засобів перетворення даних: просто їх необхідно використовувати явно. Так, для перетворення значень одного скалярного типу в інший можна використовувати наступні функції перетворення типів:
Chr(I) |
Перетворює цілий тип у літерний, тобто повертає символ стандартного коду таблиці ASCII з номером, що дорівнює значенню I. Якщо значення більше 255, виникає програмне переривання. Наприклад: Chr(105); результат=‘i’. |
Ord(S) |
Для значень літерного типу S, функція Ord повертає їх номер у стандартному коді обміну інформацією у відповідності з таблицею ASCII. Таким чином, літерний тип перетворюється у цілий. Наприклад:) Ord(‘A’); результат = 65. |
Round(X) |
Повертає значення Х, округлене до найближчого цілого числа. Результат має цілий тип, тобто дійсна змінна перетворюється на цілу Наприклад: Round(5.6); Результат = 6. |
Trunc(X) |
Повертає найближче ціле число, яке менше або дорівнює Х, якщо Х>=0, і більше або рівне Х, якщо Х<0. Результат відноситься до цілого типу. |
Виходячи з цього наступний оператор:
X := Y/X;
буде помилковим (X та Y мають ті ж самі типи, що описані вище), а оператор
X := round(Y/X);
помилок не має.
Зверніть також увагу на те, що операції DIV та MOD теж виконуються тільки з цілими типами даних і спроба використати у якості операторів для них дійсні дані призводить до помилки.
Для величин перелічувальних типів (всі цілі, літерний та булевський) існують також декілька зручних стандартних функцій, наведених у наступній таблиці:
Pred(X) |
Визначає попереднє значення для даного типа. Наприклад, Pred(5)=4, Pred(True)=False, Pred(‘B’)=’A’. |
Succ(X) |
Визначає наступне значення для даного типа. Наприклад, Succ(5)=6, Succ(True)=False, Succ(‘A’)=’B’. |
Odd(X) |
Перевіряється число на парність. Аргументом цієї функції може бути тільки число типу longint, а результат дорівнює true, якщо аргумент парний, і false – в протилежному випадку. |
Введення-виведення інформації.
Введення даних – це передача інформації від зовнішнього носія в оперативну пам'ять для обробки.
Виведення даних– це зворотній процес, коли дані передаються після обробки з оперативної пам'яті на зовнішній носій.
Процедура читання Read забезпечує введення числових даних, символів, рядків і т.д. для наступної їхньої обробки.
Формат введення:
Read (x1,x2,...xn);
де x1, x2,... xn – змінні допустимих типів даних,
Процедура читання Readln аналогічна процедурі Read, єдина відміннісь полягає в тому, що після зчитування останнього в списку значення для однієї процедури Readln дані для наступної процедури Readln будуть зчитуватися з початку нового рядка.
Процедура запису Write робить виведення числових даних, символів, рядків і булівських значень на екран монітору.
Формат:
write (Y1, Y2,... Yn) – виведення на монітор;
де Y1, Y2,... Yn – дані, що виводяться,
Процедура запису Writeln аналогічна процедурі Write, але після виведення останнього в списку значення для поточної процедури Writeln відбувається переміщення курсору до початку наступного рядка. Процедура Writeln, записана без параметрів, виконує тільки переміщення курсору на початок наступного рядка.
Приклад:
Writeln(‘Y1=’,Y1)
Формати виведення інформації.
У процедурах виведення Write і Writeln є можливість запису виразу, що визначає ширину поля для виведення. У прикладах, що подаються далі, використовуються наступні умовні позначення:
І – ідентифікатор, що визначає ціле число,
R – ідентифікатор, що визначає дійсне число,
р,q – цілі константи, що визначають довжину поля виведення та кількість цифр після десяткової крапки.
Виведення десяткового значення цілої величини I, починаючи з позиції розташування курсору.
Значення I |
Вираз |
Результат |
134 |
write(I); |
134 |
5671 |
write(I); |
5671 |
287 |
write(I,I,I); |
287287287 |
Виведення десяткового значення цілої величини I у крайні праворуч позиції поля шириною р.
Значення I |
Вираз |
Результат |
134 |
write(I:6); |
___134 |
1 |
write(I:10); |
_________1 |
312 |
write(I+I:7); |
____624 |
Виведення у поле шириною 18 символів десяткового значення величини R у форматі з плаваючою крапкою.
Значення R |
Вираз |
Результат |
715.432 |
write(R); |
__7.1543200000E+02 |
-1.919E+01 |
write(R); |
_-1.9190000000E+01 |
567.986 |
write(R/2); |
__2.8399300000E+02 |
Виведення у крайні праворуч позиції поля шириною р десяткового значення величини R у форматі з фіксованою крапкою, причому після десяткової крапки виводиться q цифр (0<=q<=24), що представляють дробову частину числа. Якщо q=0, ні дробова частина, ні десяткова крапка не виводяться. Якщо q>24, то при виведенні використовується формат із плаваючою крапкою.
Значення R |
Вираз |
Результат |
511.04 |
write(R:8:4); |
511.0400 |
-46.78 |
write(R:7:2); |
_-46.78 |
-46.78 |
write(R:9:4); |
_-46.7800 |