Програмування. Введення та виведення інформації

Матеріал з Фізмат Вікіпедії
Перейти до: навігація, пошук

Тема. Введення та виведення інформації

Мета: вивчити загальний вигляд та форми процедур введення та виведення інформації; виховати інформаційну культуру учня.

ХІД УРОКУ

Яким би досконалим не був алгоритм опрацювання інформації для користувача (нас із вами), важливою є можливість побачити, прочитати результат виконання програми. Для того щоб алгоритм відповідав вимогам властивості «масовість», потрібно передбачити можливість виконання його при різних значеннях даних. У Паскалі для цього передбачено процедури виведення та введення інформації.

Загальний вигляд процедури виведення інформації:

write(<список елементів виведення>) або writeln(<список елементів виведення>); Процедура write після виведення інформації залишає курсор на першій вільній позиції рядка виведення, а процедура writeln після виведення інформації переводить курсор на початок наступного рядка.

У списку елементів виведення інформації можуть бути:

• ідентифікатори, значення яких виведено на екран;

• вирази, значення яких спочатку обчислюються, а потім виводяться на екран;

• сталі величини.

Наприклад:

Write(‘Введіть значення трьох натуральних чисел’);

write(‘Cума двох поданих чисел’ , а + b);

write(‘ a=’, a, ‘b=’, b);

writeln(‘ a=’,10);

Зверніть увагу на те, що:

• всі коментарі є рядковими сталими величинами і їх необхідно «брати в апострофи»;

• апострофів у списку елементів виведення повинна бути парна кількість (якщо в тексті коментаря граматика передбачає використання апострофа, то використайте лапки, наприклад «комп'ютер»).

Із форматуванням виведення значень змінних дійсного типу <ім'я змінної> : т:п ви вже знайомі, існує аналогічний формат виведення значень змінних і цілого типу <ім'я змінної>: т, де т - кількість знакомісць для поцифрового запису цілого числа. Форматування виведення зручне для позиційного запису значень у стовпчик, коли цілі частини числа підписуються під цілими, дробові під дробовими, одиниці — під одиницями, десятки (десяті) — під десятками (десятими) тощо.

За відсутності форматування значення дійсних чисел виводиться в показниковій формі, а цілих — з наступної за літералом позиції.

Загальний вигляд процедури введення інформації: read (<список елементів виведення>) або гeadln(<список елементів виведення>) ;

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

Наприклад:

Read(a, b, c);

Read(alfa );

Read(m, n);

Під час виконання процедур геad та readln програма переходить у стан очікування введення даних із клавіатури, причому:

• якщо передбачається введення відразу декількох значень, то їх можна вводити в одношу рядку, відділяючи одне від одного символом «пропуск», або в окремих рядках, завершуючи введення кож¬ного значення клавішею Еnter;

• процедура не завершить своєї роботи, поки не будуть введені значення для всіх змінних;

• у процесі введення даних змінні одержують значення послідовно (перше значення одержить перша змінна, друге — друга тощо);

• тип значень, що вводяться, повинен відповідати типовій змінній, вказаному в розділі описів, інакше буде видано повідомлення про помилку, і середовище програмування припинить виконання програми.

Оскільки елементами (параметрами) процедури введення даних не можуть бути коментарі (підказки), необхідно обов'язково перед ними ставити процедури виведення інформації з відповідними коментарями, щоб ваша програма не була «німою», щоб користувачеві було зрозуміло, скільки даних і які саме необхідно вводити для її виконання.

Наприклад:

write ('Введіть два натуральних числа =>'); readln (m, n) ;

Процедуру введення даних без параметрів зручно використовувати для так званої затримки у виконанні програми. Зустрівши в тексті процедуру readln, комп'ютер переходить у режим очікування введення даних із клавіатури, і цей процес буде продовжуватися до натискання клавіші Еnter.

Виконаємо вправу. Напишіть програму, яка б виводила на екран вашу заяву директору школи з проханням перевести вас з однієї підгрупи вивчення інформатики в іншу. Чи ви знайомі із формами ділових паперів і директором школи? Якщо так, тоді берімося до справи.

По-перше, визначимо склад аргументів. Нам необхідно ввести прізвище, ім'я, по батькові директора школи (у давальному відмінку), своє прізвище, ім'я, по батькові (у родовому відмінку) та своє прізвище в називному відмінку, а також: порядковий номер класу, у якому навчаєтеся, номер підгрупи, з якої вас перевести, номер підгрупи, до якої перевести.

По-друге, вибрати імена змінним (ідентифікатори), якими буде оперувати наша програма, та встановити їх тип:

pd, id, bd — прізвище, ім'я, по батькові директора школи в давальному відмінку;

pu, iu, bu — прізвище, ім'я, по батькові учня — автора заяви — у родовому відмінку;

р — прізвище учня в називному відмінку (наша програма не в відмінювати прізвища);

k — клас, у якому навчається учень;

q1, q2 — номера підгруп вивчення інформатики;

змінні pd, id, bd, pu, iu, bu р типу String;

змінні k, q1, q2 типу Іnteger.

Тоді програма може мати вигляд:

Program Zajava;

vаг

pd, id, bd, pu, iu, bu, p: string;

q1, q2: integar;

begin

writeln ('Введіть прізвище, iм’я, по батькові директора школи ') ;

write('у давальному відмінку ');

гeadln (pd, id, bd) ;

writeln ('Введіть своє прізвище, iм’я, по батькові ') ;

write('у родовому відмінку ');

гeadln (pu, iu, bu) ;

writeln ( 'Введіть номер класу, у якому навчаєтеся 1- 11');

гeadln (k) ;

write ('Введіть номер підгрупи, з якої вас перевеcти ') ;

гeadln (q1) ;

write ('Введіть номер підгрупи, до якої вас перевести ' ) ;

гeadln (q2) ;

writeln ( 'Введіть своє прізвище в називному відмінку ');

гeadln (р) ;

сleаг;

writeln ('Директору ЗОШ І-ІІІ ступенів ');

writeln ( 'села Нижбірок ' );

writeln (pd, id, bd);

writeln ('учня ', k, ' класу ' );

writeln (pu, iu, bu);

writeln ('3 А Я В А');

writeln ('3 огляду на зміни в моєму розпорядку дня, прошу Вас ' );

writeln ('перевести мене з ',q1,' підгрупи вивчення інформатики до ',q2,'. ' );

writeln ('21 листопада 2007 р. ');

writeln (р) ;

еnd.

З горем пополам написали, і що ж? Те, що з'явилося на екрані, в жодні рамки не лізе до форми написання заяви. Виявляється, що процедури виведення інформації, а може і наша програма, «не вміють» форматувати на екрані текст виведення. Так, процедури виведення «не вміють», а от програму ми можемо «заставити». Як? Для цього вам потрібно відкрити (відомим вам способом) довідкову службу середовища програмування, у якій відкрити книжку «Мова програмування», відкрити папку «Різні процедури», у якій уважно прочитати розділи «Графічний екран», «Встановлення поточних координат», «Встановлення кольору тексту», «Поточні координати та кольори», «Вибір шрифту».

Поки ви не навчилися визначати поточні координати для виведення текстової інформації із заданої позиції (від поданої точки на екрані), скористайтеся таким практичним прийомом, який дозволяє приблизно визначати ці координати: поводіть курсором миші по полю вікна виведення результатів і у другому вікні рядка стану (нижня сторона рамки вікна АLОО) ви побачите, як змінюються координати центра курсора-«хрестика». Так «на око» можна визначити координати точки вікна результатів, яка є початком рядка виведення.

Питання для самоконтролю

1. Які стандартні процедури у Паскалі забезпечують введення інформації?

2. Як відбувається введення інформації?

3. Які стандартні процедури у Паскалі забезпечують виведення інформації?

4. Які елементи може містити процедура виведення інформації на екран?

5. Як забезпечити форматування виводу значень змінних?

6. Як можна організувати затримку виконання програми?

7. Запишіть «солодку парочку» процедур блоку введення інформації.

8. Додаткові питання:

• Як вивести інформацію, починаючи від заданої точки екрана?

• Як змінити розмір шрифту, колір шрифту для виведення інформації на екран?

Домашнє завдання

1. Вивчити назви та склад елементів процедур введення та виведення інформації у Паскалі, вміти читати та записувати їх.