Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



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

 

Власне кажучи, нас в даний момент цікавить саме перший і останній процес спілкування між диригентом (програмістом) і музикантом (ПЕОМ). Саме цей розділ спілкування називають в програмуванні організацією вводу–виводу інформації. В умовах мови програмування 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:

n ClrScr – очищення екрану монітору;

Рис. 1

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

0 Ј х Ј 79

0 Ј у Ј 24

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

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

n TextColor (color);– встановлює колір літер тексту.

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

 

№ кольору Ім’я кольору Значення кольору
Black чорний
Blue синій
Green зелений
Cyan голубий
Red червоний
Magenta фіолетовий
Brown коричневий
LightGrey світлосірий
DarkGrey темносірий
LightBlue світлосиній
LightGreen світлозелений
LightCayn світлоголубий
LightRed рожевий
LightMagenta бузковий
Yellow жовтий
White білий

Таблиця 2. Значення кольорів у модулі crt.

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

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

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

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

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

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

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

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

Задача 2. У текстовому файлі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.

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

n спочатку ставимо у відповідність файловій змінній ім’я файлу: Assign(f, ’DANO.TXT’);

n відкриваємо файл для читання: Reset(f); або для запису: Rewrite(f);

n зчитуємо або записуємо необхідні дані;

n по закінченню роботи закриваємо файл: Close(f);.

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

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

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

 


Читайте також:

  1. II. Організація і проведення спортивних походів
  2. II. Організація перевезень
  3. II. Організація перевезень
  4. А. Організація Острозького колегіуму – Академії
  5. Адміністративно-територіальна організація
  6. Бюджетний устрій в зарубіжних країнах. Організація бюджетного процесу
  7. Бюрократична організація
  8. Вентиляція. Види вентиляції. Організація повітрообміну в приміщеннях, повітряний баланс, кратність повітрообміну
  9. Взаємини з агентствами та організаціями
  10. Взаємодія органів публічної влади з трудовими колективами, підприємствами, установами, організаціями
  11. Вибір оптимального розкладу (режиму) роботи в наукових організаціях.
  12. Види податкових перевірок. Організація і здійснення перевірок.




Переглядів: 636

<== попередня сторінка | наступна сторінка ==>
Опис констант і змінних | Вправи та завдання

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.014 сек.