Організація вводу-виводу » Pascal - основи програмування

Основи програмування на мові Pascal

 

Спонсори

Організація вводу-виводу

    Власне кажучи, нас в даний момент цікавить саме перший і останній процес спілкування між диригентом (програмістом) і музикантом (ПЕОМ). Саме цей розділ спілкування називають в програмуванні організацією вводу–виводу інформації. В умовах мови програмування Pascal та нашої гри цій меті служать дві команди, або як ще іноді кажуть дві інструкції: Read (Readln) та Write (Writeln), які на зрозумілу нам українську мову переводяться як прочитати (отримати) та написати (вивести, надрукувати) необхідні дані. Закінчення “–ln” в деяких варіантах команд трактується як “перейти на новий рядок” (скорочення від англійського – line new).

    В процесі вводу та виводу в одній інструкції можна перераховувати необхідні константи, змінні, повідомлення і т.д., перераховуючи їх через кому. Так, наприклад, повідомлення виду

Write(s1, t, 'дані про особу', man);

вказує на те, що на екран комп’ютера будуть виведені значення змінних sl, t, після чого буде написана фраза ” дані про особу ” і в кінці надруковано значення змінної man. Відсутність вище вказаного закінчення “–ln” говорить про те, що подальші повідомлення будуть виводитись на екран саме в цьому рядку, а не в іншому місці. Уважні читачі мабуть вже самі помітили, що між символами ’ ’ можуть стояти будь–які повідомлення на довільній розмовній мові, найбільш зрозумілій користувачу або програмісту.

    При виводі повідомлень на екран ПЕОМ ми маємо змогу виводити інформацію в такому вигляді, в якому нам потрібно. Для цієї мети в Паскалі передбачено форматування числових значень змінної, яке в загальному випадку записується так:

write(s:n:m); {s – змінна типу real, а n,m – integer}

  • де n – кількість цифр у всьому числі;
  • m – кількість значущих цифр у дробовій частині змінної.

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

write(10*pi:1:3);

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

program demowrite1;
uses crt;
begin
clrscr; { очистити екран }
write(10*pi:1:3);
readln;
end.


дає на екрані монітору результат 31.416.

    Зверніть увагу на фразу uses crt; перед початком програми. Ця фраза повідомляє, що до нашої програми автоматично підключається модуль crt. Модуль – це додаткова програма, яка підключається до вашої програми. Існують стандартні модулі, до яких відноситься і модуль crt, крім того кожен програміст може створювати власні модулі, які ще прийнято називати бібліотеками, і підключати їх до своїх програм. Зроблено це для того, щоб зменшити об’єм програми, яку потрібно написати, і мати можливість використовувати раніше написані програми багато разів. З питання створення власних модулів рекомендуємо звернутись до технічної документації, яка поставляється фірмою – розробником разом з компілятором Паскаля.

    Ми ж лише вкажемо на деякі операції, що містяться в згадуваному модулі crt:

  • - ClrScr – очищення екрану монітору;
  • - Gotoxy(x,y) – встановити курсор на екрані у точці з координатами (х,у). Тут потрібно сказати про координати екрану. Зверніть увагу, що початок координат знаходиться в лівому верхньому куті екрану. Крім того, вісь ОY направлена вниз. У текстовому режимі значення координат змінюються в межах:

    0 <= X <= 79
    0 <= Y <= 24

    тобто можна виводити 80 символів по осі ОХ і всього 25 рядків.

     

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

  • - TextColor (color); – встановлює колір літер тексту
        Кольори можна задавати або назвою кольору (на англійській мові), яку Паскаль–програма розуміє, або їх номером.
        Значення кольорів приведено у таблиці 2:

    № кольору

    Ім’я кольору

    Значення кольору

    0

    Black

    чорний

    1

    Blue

    синій

    2

    Green

    зелений

    3

    Cyan

    голубий

    4

    Red

    червоний

    5

    Magenta

    фіолетовий

    6

    Brown

    коричневий

    7

    LightGrey

    світлосірий

    8

    DarkGrey

    темносірий

    9

    LightBlue

    світлосиній

    10

    LightGreen

    світлозелений

    11

    LightCayn

    світлоголубий

    12

    LightRed

    рожевий

    13

    LightMagenta

    бузковий

    14

    Yellow

    жовтий

    15

    White

    білий

     

        А взагалі слід відмітити, що значення параметру Color може змінюватись в межах від 0 до 255, в залежності від типу монітору (CGA, EGA, VGA і т.д.), і навіть в більших.

     

  • - TextBackGround (color); – встановлює колір для фону символів.

  • - Delay (Time); – затримка тривалості виконання програми. Одночасно може виконувати роль тривалості звукового сигналу (див. нижче).

  • - Sound (n); – подання звукового сигналу частоти n на вмонтований в ПЕОМ внутрішній динамік (не путайте з Sound – картою!).

  • - NoSound; – відключення звукового сигналу.

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

 

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

 

    Ми ж зараз, дещо випереджуючи події, розглянемо введення даних з текстового файлу і виведення даних у текстовий файл. Таке випередження ми можемо пояснити тим, що у багатьох завданнях, що будуть розглядатись далі, нам прийдеться зчитувати інформацію з текстового файлу або записувати у нього результати роботи програми. Для розгляду організації такої роботи знову звернемось до аналогій. Уявіть собі, що вам для розв’язку фізичної задачі необхідно знайти у довіднику значення деякої величини, наприклад, густини заліза. Для цього нам потрібно взяти в руки довідник з фізики, відкрити його і прочитати необхідні дані. Після цього нам залишиться лише закрити відкритий довідник і продовжувати далі розв’язувати задачу. Аналогом книги є текстовий файл і робота з ним повністю відповідає описаному вище способу роботи з довідником. Для повноти картини сформулюємо і розв’яжемо задачу, у якій і вкажемо команди для роботи з текстовими файлами.

 

Задача 1. У текстовому файлі DANO.TXT знаходиться значення радіусу кулі. Записати у текстовий файл RESULT.TXT значення її об’єму.

 

Розв’язання: Наведемо програму, що вирішує дане завдання, а в коментарях до неї приведемо необхідні пояснення.

program demo_file;
var f : text; { файлова змiнна для текстового файлу }
R, V : real; { змінні для радіусу і об’єму }
begin
Assign(f,'DANO.TXT'); {Поставилиу відповідність файловій змінній ім’я файлу }
Reset(f); { Відкрили файли тільки для читання }
Readln(f,R); { Прочитали з файлу значення змінної }
Close(f); { Закрили файл }
V :=(4*pi*R*R*R)/3; { Обчислили об’єм }
Assign(f,'RESULT.TXT'); {Поставили у від–ність файловій змінній новий файл }
Rewrite(f); { Відкрили його для запису }
Write(f,V:5:3); { Записали у файл значення об’єму }
Close(f); { Закрили файл }
end.

 

    Як бачите, нічого складного немає, потрібно тільки запам’ятати, що всі три дії є обов’язковими, тобто:

  • - спочатку ставимо у відповідність файловій змінній ім’я файлу: Assign(f, ’DANO.TXT’);
  • - відкриваємо файл для читання: Reset(f); або для запису: Rewrite(f);
  • - зчитуємо або записуємо необхідні дані;
  • - по закінченню роботи закриваємо файл: Close(f);.

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

Assign(f, 'A:\WORK\DANO.TXT');

 

 

Для повного засвоєння даного матеріалу рекомендуємо самостійно спробувати зчитати з текстового файлу та записати у текстовий файл деяку інформацію. Вид інформації та назви файлів придумайте самі.

скачать dle 10.4фильмы бесплатно Наступна сторінка » Вправи та завдання Попередня сторінка » Опис констант і змінних