Урок 33 Інформатика (АП)
Призначення модуля CRT. Текстовий режим роботи монітора комп’ютера.
Мета.
Навчальна. ознайомити учнів з правилами організації керування текстовим виведенням на екран; процедурами керування звуковими сигналами, правилами ініціалізації графічного режиму; типовими процедурами для створення графічних примітивів. Навчити переходити в графічний режим роботи; використовувати колір фону та тексту для оформлення виведення інформації; визначати текстові вікна, процедури керування курсором для організації діалогу, створювати графічні примітиви; користуватися процедурами заливки, використовувати графічні процедури для побудови діаграм, графіків функцій.
Розвиваюча. Розвивати логічне мислення, самостійність, вміння застосовувати набуті знання до практичних завдань.
Виховна. Виховувати наполегливість, естетичність у оформленні, грамотно висловлювати свої думки, вміння раціонально використовувати час.
Тип уроку. Засвоєння нових знань і навичок.
Матеріали для роботи з учнями:
План
Пам’ятка для учня!
Хід уроку
1. Перевірка домашнього завдання.
1. Наявність.
2. Питання.
3. Задача.
Дано три цілих додатних числа x, y, z. Визначити, чи можна з відрізків з цими довжинами утворити трикутник. Визначити, який це трикутник: гострокутний, тупокутний чи прямокутний.
2. Актуалізація опорних знань.
3. Мотивація навчальної діяьності.
4. Призначення модуля CRT. Текстовий та графічний режим роботи монітора комп’ютера.
Текстовий режим роботи
Підключення модулів
У Турбо Паскалі зосереджена велика кількість різних операцій, процедур, функцій і інших об'єктів, призначених для виконання певних дій. Якби вони завжди були присутні в пам'яті комп'ютера, то виконуваний файл turbo.exe був би дуже обширним. Тому всі функціональні об'єкти системи Турбо Паскаль розміщені в окремих розділах - модулях. У кожному модулі зосереджені об'єкти, орієнтовані на виконання дій певного класу. Наприклад, у модулі CRT зосереджені процедури і функції, що дозволяють керувати введенням і виведенням даних, модуль GRAРН орієнтований на роботу з графічною інформацією, модуль DOS забезпечує роботу в операційній системі. Найбільш використовувані модулі (зокрема, модуль CRT) знаходяться у файлі turbo.tpl.
Підключення необхідних модулів реалізується в розділі Uses, який розміщується відразу після заголовку програми.
Приклад 1. Підключення модулів GRAPH, CRT:
Uses Graph, Crt;
Після підключення певного модуля всі операції з нього будуть доступні при виконанні програми. Якщо в програму включено операцію, яка належить до модуля, що не був підключений, при компіляції або виконанні програми буде виведено повідомлення про помилку.
Введення-виведення даних, з яким ми ознайомились, починається з того місця на екрані, де в даний момент знаходиться текстовий курсор. Якщо ми бажаємо зробити розташування інформації на екрані більш наочним, керувати позиціюванням курсору, змінювати кольори текстових повідомлень в залежності від їх призначення, нам необхідно підключити модуль CRT і скористатися його функціональними можливостями.
Модуль CRT містить підпрограми керування читанням з клавіатури, текстовим виведенням на екран дисплею, звуковим генератором.
Позиціювання курсору
Вікно текстового виведення (Output) має розмір 80x25: 80 позицій (стовпців) і по горизонталі і 25 рядків по вертикалі. Розміри текстового екрана залежать від установок Паскаля. Початком координат є лівий верхній кут екрана.
Процедура GotoXY переводить курсор у потрібне місце екрана або поточного вікна. Оператор має такий синтаксис:
GotoXY (X, Y);
де X - номер стовпця (1..80), Y - номер рядка. (1..25).
Параметри X, Y можуть бути константами, числовими виразами або змінними цілого типу. Якщо параметри X, Y виходять за межі вказаних діапазонів, курсор встановлюється в позицію (1; 1).
Приклад 2. Виведення привітання по центру текстового екрану.
Uses Crt;
Begin
СІrScr; {очищення екрану}
GotoXY (35, 12);
WriteLn ('Добридень!')
End.
Функції WhereX і WhereY типу Byte дозволяють визначити поточні координати курсору:
WhereX повертає його горизонтальну (стовпець),
a WhereY - вертикальну (рядок) координати.
Приклад 3.
Зсув курсору для введення даних на 3 позиції:
Write ('Введіть відповідь');
GotoXY (WhereX+3, WhereY);
ReadLn (К);
В цьому прикладі можна помітити різницю між процедурами та функціями:
Керування кольором
Процедура TextBackGround (X) визначає колір фону текстового екрану. Параметр X:Byte може бути константою, змінною або виразом.
Оператор ClrScr викликає процедуру очищення екрану. При виконанні оператора ClrScr екран замальовується поточним кольором фону, який попередньо встановлено процедурою TextBackGround, тим самим складається враження «очищення» екрану. Якщо поточний колір фону не задано, екран заливається чорним кольором.
Процедура TextColor(X) визначає колір символів. Параметр X: Byte може бути константою, змінною або виразом.
Для процедур TextColor і TextBackGround встановлені спеціальні системні константи та їх числові еквіваленти.
0 | Black | чорний |
1 | Blue | синій |
2 | Green | зелений |
3 | Cyan | блакитний |
4 | Red | червоний |
5 | Magenta | фіолетовий |
6 | Brown | коричневий |
7 | LightGrey | яскраво-сірий |
8 | DarkGrey | темно-сірий |
9 | LightBlue | яскраво-синій |
10 | LightGreen | яскраво-зелений |
11 | LightCyan | яскраво-блакитний |
12 | Light Red | рожевий |
13 | LightMagenta | бузковий |
14 | Yellow | жовтий |
15 | White | білий |
28 | Blink | блимання символа |
Приклад 4.Виведення привітання червоним кольором на світло-сірому фоні екрану.
Uses Crt;
Begin
TextBackGround (7);
ClrScr;
TextColor (4);
WriteLn ('Добридень!')
End.
Приклад 5. Виведення повідомлення з використанням мерехтіння символів:
TextColor (Red + Blink);
WriteLn ('Помилка!')
Текстові вікна
Текстові вікна в програмах використовуються для обмеження площі введення-виведення інформації. Для задания текстових вікон призначена процедура Window, синтаксис якої такий:
Window (x1,y1,x2,y2);
де х1, у 1 - координати лівого верхнього кута вікна,
х2, у2 - координати правого нижнього кута.
Процедура Window визначає текстове вікно екрану - частину екрана, в межах якої надалі діятимуть процедури введення/виведення. Таким чином, при роботі з вікном параметри процедури GotoXY треба задавати відносно поточного вікна.
Координати x1,y1,x2,y2 повинні відповідати умовам: 1<= х1<х2<=80; 1<=y1<у2<=25;
Приклад 6. Створення вікна і заповнення його синім кольором.
TextBackGround (1);
Window (5,5,20,10);
СІrscr;
Читання з клавіатури
Функція ReadKey типу Char повертає символ, який відповідає клавіші, натиснутій на клавіатурі:
С := ReadKey;
де С - ім'я змінної типу Char, якій буде присвоєне значення натис-нутого символу.
В операційній системі MS-DOS при натисканні на клавіші клавіатури відповідні коди символів вміщуються в буфер клавіатури, звідки вони далі можуть бути прочитані програмою. При звертанні до функції ReadKey аналізується буфер клавіатури: якщо в ньому є ще не прочитаний програмою символ, то він повертається в якості значення функції. Якщо непрочитаних символів немає, програма буде чекати натискання на будь-яку клавішу. Це дозволяє використовувати оператор ReadKey для затримання виконання програми до натискання на будь-яку клавішу:
ReadKey;
Слід відзначити, що введення символу за допомогою ReadKey не супроводжується відображенням символу на екрані.
Функція KeyPressed типу Boolean повертає значення False, якщо буфер клавіатури порожній, і значення True, якщо в буфері є непрочитаниq програмою символ. Для призупиненая виконання програми використовується оператор циклу:
Repeat Until KeyPressed;
5. Самостійне виконання вправ.
Вправа 1. «Текстовий режим роботи»
Задача. Скласти програму для обчислення площі прямокутника зі сторонами А і В.
1) Обмежимо значення А і В таким чином: нехай 1<А<40, 1<В<40. Такі обмеження дозволять нам побудувати на екрані прямокутник зі вказаними сторонами. Використаємо можливості модуля CRT j 22.5 13175 j для оформлення вигляду текстового екрану.
Підключіть модуль CRT і опишіть змінні, необхідні для розв'язування задачі: А, В - сторони прямокутника, S - його площа, X,Y - довжини сторін текстового вікна, яке зображує заданий прямокутник.
Uses Crt;
var А, В, S: Real; X, Y: Integer; Begin
2) Організуйте введення даних і виведення результату в текстове вікно зеленого кольору, розташоване в правій половині екрану:
Window (45,10,75,20);
TextBackGround (2);
ClrScr;
TextColor (15);
Write (*A,B=> ');
ReadLn (A,B);
S := a*b;
GotoXY (10,8);
WriteLn ('5=', S : 5 : 2);
3) В лівій половині екрану зобразіть прямокутник, сторони якого приблизно дорівнюють А і В. Параметри процедури Window повинні бути цілого типу, тому потрібно виконати перетворення введених значень А / В до цілого типу:
X:=Round (A); Y:=Round (в);
4) Створіть текстове вікно синього кольору, яке зображує заданий прямокутник:
Window (5, 5, 4+Х, 4+Y); TextBackGround (1); ClrScr;
5) В нижній частині екрану в текстове вікно зеленого кольору виведіть жовтим кольором повідомлення про розміри прямокутника:
Window (5,23,35,24);
TextBackGround (2); ClrScr;
TextColor (14);
WriteLn ('Прямокутник зі сторонами1);
WriteLn ( А : 3 : 1, ' і 1, В : 3 : 1);
Затримайте виконання програми: ReadKey;
6) Перед завершенням програми відтворіть чорний колір фону:
Window (0,0,80,25);
TextBackGround (0);
СІrscr
End.
Збережіть файл програми. Виконайте програму для різних значень А і В.
5. Підсумки уроку.
6. Домашнє завдання.