Лекция: Введення і виведення даних. Для введення і виведення даних використовуються процедури

 

read ([f,] v1,v2, … ,vn ), readln ([f,] v1,v2, … ,vn ),

write ([f,] v1,v2, …, vn ), writeln ([f,] v1,v2, … ,vn ),

 

Де f – файлова змінна є необов’язковим параметром і при його відсутності введення даних здійснюється зі стандартного вхідного файла input (з клавіатури), а виведення – у стандартний вихідний файл output (на екран монітора), v1,v2, …, vn – список змінних при введенні і список виразів при виведенні даних.

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

При введенні даних символьного типу символ читається із вхідного файла і присвоюється змінній списку введення.

При введенні даних цілого типу дані у вхідному файлі повинні розділятися пробілами, знаками табуляції або ознакою кінця рядка і відповідати синтаксису цілого числа. Наприклад,

 

Var i, j, k:integer; Дані у вхідному файлі:

Begin -143 562 +75 < Enter >

read (i, j, k );

…………. Змінним присвоюються значення:

End. I=-143, j=562, k=75.

 

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

При введенні даних дійсного типу дані у вхідному файлі повинні розділятися або пробілами, або знаками табуляції, або ознакою кінця рядка і відповідати синтаксисові цілого або дійсного числа. Наприклад,

Var a, b, c:integer; Дані у вхідному файлі:

Begin -17.3 56 5.75e1 < Enter >

read (a,b,c );

…………. Змінним присвоюються значення:

End. a=-143, b=56.0, c=57.5.

 

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

 

var s1,s2,s3:string [6]; Дані у вхідному файлі:

begin Рядок символів.

read (s1,s2,s3 );

…………. Змінним присвоюються значення:

end. s1=’Рядок’, s2=’символ’, s3=’ів.’.

 

При виведенні даних параметри v1,v2,…, vn у процедурах write і writeln мають вигляд

 

вираз [: <мінімальний розмір поля> [:< десяткові знаки>]],

 

де вираз, значення якого обчислюється і виводиться, може бути тільки символьного, цілого, логічного і дійсного типів або символьним рядком; <мінімальний розмір поля> – формат, що визначає кількість позицій, які відводяться для виведення значення виразу, може задаватися для всіх типів даних; десяткові знаки – формат, який визначає кількість дробових знаків у числі, може задаватися тільки для дійсних даних разом з першим форматом.

Виведення даних буде форматним, якщо задані формати або безформатним, якщо формати не задані. При безформатному виведенні значення будуть розміщуватися у вихідному файлі підряд без будь-яких розділових знаків. При форматному виведенні – значення розміщуються у визначених першим форматом полях і будуть вирівняні за їх правою межею.

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

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

Умова того, що точки не лежать на одній прямій

.

Площа трикутника дорівнює .

Периметр трикутника дорівнює

 

.

 

Для розв’язання задачі командою File|New Application створимо новий проект. На екрані з’явиться форма із заголовком Form1. Присвоїмо властивостям форми Caption (заголовок форми) та Name (програмне ім’я) нові значення. Caption = Обчислення периметра і площі трикутника, Name = Form1(за замовчуванням). Тепер командою File|Save All запам’ятаємо програмний модуль у файл з іменем ULAB1_1.pas, а проект – LAB1_1.dpr.

При цьому середовище Delphi створює файл проекту (DPR-файл), вміст якого автоматично змінюється зі створенням нових форм. Головний файл програми має вигляд:

program LAB1_1;

uses

Forms,

ULAB1_1 in 'ULAB1_1.pas' {Form1};

{$R *.RES}

begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.Run;

End.

 

У DPR-файлі підключення модуля Forms є обов’язковим, оскільки у ньому міститься визначення об’єкта Application. Цей об’єкт є основою будь-якої Delphi-програми і доступний на протязі її виконання. За ним підключаються всі модулі проекту. Директива {$R*.RES} підключає до результуючого EXE-файла ресурси, зокрема піктограму програми, яку буде видно на Панелі Задач Windows. Далі йде програмний блок, в якому викликаються три методи об’єкта Application. Метод Initialize підготовлює програму до роботи, метод CreateForm завантажує та ініціалізує форми, а метод Run активізує головну форму і починає виконання програми.

Об’єкт Application відсутній у Палітрі Компонентів, тому його властивості можна встановлювати тільки програмно. Найбільш важливі з них: MainForm – ім’я головної форми; ExeName – повне ім’я EXE-файла; Title – ім’я програми та Icon – піктограма програми, які відображаються на Панелі Задач Windows; HelpFile – ім’я файла довідника програми.

Після завершення розробки проекту DPR-файл містить перелік програмних модулів, які будуть подаватися на вхід компілятора.

Розробимо форму для введення початкових даних і виведення результату. Розмістимо на цій формі шість компонентів Edit для введення координат точок А, В, С і три для виведення результату. Присвоїмо цим компонентам програмні імена Edit1, Edit2, Edit3, Edit4, Edit5, Edit6, Edit7, Edit8, Edit8, Edit9, встановлені за замовчуванням (властивість Name) і очистимо їм значення властивості Text. Пояснення до цих компонентів зробимо за допомогою компонента Label (властивість Caption).

Крім цього, розмістимо на формі дві керуючі кнопки (компонент Button) з написами Обчислити та Вихід (властивість Caption) і програмними іменами Button1, Button2 (властивість Name) (Рис. 1.2).

 


Рис 1.2. Форма Обчислення периметра

і площі трикутника

 

Тепер потрібно написати обробники кнопок Обчислити та Вихід. Для того, щоб написати обробники цих кнопок, потрібно вибрати відповідну кнопку, перейти в Інспекторі Об’єктів на сторінку Events та двічі клацнути лівою клавішею мишки в полі значення події OnClick. У результаті з’явиться заготовка, в яку потрібно вписати текст обробника. Тексти обробників містяться у програмному модулі ULAB1_1.

unit ULAB1_1;

еще рефераты
Еще работы по информатике