Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
TURBO PASCAL
Лабораторна робота № 15
(2 год.)
Тема: Використання модуля CRT.
Мета роботи: Оволодіти практичними навичками розробки та програмування обчислювального процесу з використанням текстових вікон. Засвоїти порядок використання стандартних функцій та процедур модуля CRT.
За час виконання лабораторної роботи студент повинен освоїти:
Завдання для виконання роботи:
Скласти програму для реалізації завдання згідно варіанту. У програмі передбачити:
Підпрограми модуля Crt забезпечують контроль над текстовими режимами екрану, розширеними кодами клавіатури, кольорами, вікнами і звуком.
Підключення модуля Crt в програму здійснюється за допомогою стандартної директиви:
Uses Crt;
Текстові режими служать для відображення символів кодової таблиці ПЕОМ і характеризуються кількістю символів в рядку і кількістю рядків на екрані. Мінімальною одиницею керування служить символ.
Встановлення цих режимів здійснюється стандартною процедурою
TextMode(Mode);
Можливі значення режиму Mode:
BW40 = 0; { 40x25 чорно/білий на кольоровому дисплеї }
CO40 = 1; { 40x25 кольоровий на кольоровому дисплеї }
BW80 = 2; { 80x25 чорно/білий на кольоровому дисплеї }
CO80 = 3; { 80x25 кольоровий на кольоровому дисплеї }
Mono = 7; { 80x25 однотонний на монохромному дисплеї }
Колір фону та символів задається процедурами:
TextBackground(Color) встановлює колір фону. Color - цілочисельний вираз в діапазоні 0..7, що відповідає одній з перших восьми констант кольору в текстовому режимі.
TextColor(Color) вибирає колір символів. Параметр Color -цілочисельний вираз у діапазоні 0..15, що відповідає одній з констант кольору текстового режиму, визначених у модулі Crt. Можна змусити виведені символи мигати, додавши 128 до значення Color. Для цієї мети існує визначена константа Blink.
Константи кольорів:
Black = 0; Blue = 1; Green = 2; Cyan = 3; Red = 4; Magenta = 5; Brown = 6; LightGray = 7; |
Чорний Синій Зелений Голубий Червоний Фіолетовий Коричневий Світлосірий |
DarkGray = 8; LightBlue = 9; LightGreen = 10; LightCyan = 11; LightRed = 12; LightMagenta= 13; Yellow = 14; White = 15; |
Темносірий Світлосиній Світлозелений Світлоголубий Світлочервоний Світлофіолетовий Жовтий Білий |
Blink = 128; константа мигання.
Процедури:
ClrScr очищує екран, заповнює його кольором фону і встановлює курсор у верхній лівий кут.
СlгЕоl очищує всі символи з позиції курсору до кінця стрічки без переміщення курсору.
DelLine видаляє стрічку, що містить курсор.
InsLine вставляє порожню стрічку в позиції курсору.
GotoXY(x,y) переміщує курсор у задану позицію екрану. Лівий верхній кут екрану відповідає позиції (1,1).
Window(x1,y1,x2,y2) визначає на екрані текстове вікно.
x1 і y1 координати верхнього лівого кута вікна, а x2 і y2 координати нижнього правого кута. Координати x1,y1,x2,y2 задаються відносно верхнього лівого кута екрану. Мінімальний розмір текстового вікна один стовпчик на одну стрічку. Якщо якась з координат неприпустима, то звертання до процедури Window ігнорується. Задане по замовчуванню вікно (1,1,80,25) відповідає всьому екрану. Багато процедур і функцій модуля Crt діють тільки всередині біжучого вікна (включаючи ClrEol, ClrScr, DelLine, GotoXY, InsLine, WhereX, WhereY, Read, Readln, Write і Writeln). Всі екранні координати, крім координат самого вікна, є залежними щодо біжучого вікна. Наприклад, GotoXY(l,1) завжди буде встановлювати курсор у верхній лівий кут біжучого вікна.
Взагалі текстове вікно невидиме. Щоб зробити його видимим, необхідно після процедури Window змінити колір фону процедурою TextBackground, а тоді очистити його процедурою ClrScr.
Приклад процедури створення довільного текстового вікна з вибором кольорів фону та символів:
procedure Wikno(a,b,c,d,cf,ct : byte);
begin
Window(a,b,c,d);
TextColor(ct);
TextBackGround(cf);
ClrScr
end;
Функції:
WhereX визначає Х-координату положення курсору.
WhereY визначає Y-координату положення курсору.
Інші процедури та функції:
Процедури, що змінюють яскравість: LowVideo низька, NormVideo нормальна, HighVideo підвищена;
Функція логічного типу KeyPressed визначає, чи була натиснута клавіша на клавіатурі.
Функція символьного типу ReadKey вводить символ натиснутої клавіші. При цьому символ не відображається на екрані.
Delay(ms) процедура затримки виконання програми на задане число мілісекунд. Наприклад, Delay(1000) затримає програму на 1 секунду.
Sound(Hz) включає внутрішній динамік. Параметр Hz визначає в герцах частоту звуку, що генерується. Динамік буде включений до тих пір поки не буде виконана процедура NoSound, або закінчена чи перервана програма.
NoSound виключає внутрішній динамік комп'ютера.
Sound(440); Delay(500); NoSound;
Такий фрагмент програми генерує звук частотою 440 герц протягом половини секунди:
Варіанти завдань:
(Матриця А довільний масив цілого типу, значення якого по модулю не перевищують 100; m = 4, n = 5)
№ |
Завдання |
1. |
Знайти середнє значення від'ємних елементів матриці A(m x n). |
2. |
Знайти кількість елементів матриці, рівних нулю A(m x n). |
3. |
Знайти кількість додатних елементів матриці A(m x n). |
4. |
Знайти кількість від'ємних елементів матриці A(m x n). |
5. |
Знайти максимальний елемент матриці A(m x n). |
6. |
Знайти мінімальний елемент матриці A(m x n). |
7. |
Знайти кількість елементів, які більші від середнього значення елементів матриці A(m x n). |
8. |
Знайти кількість елементів, які менші від середнього значення елементів матриці A(m x n). |
9. |
Знайти добуток елементів, які знаходяться в парних рядках матриці А(m x n). |
10. |
Знайти суму елементів, які знаходяться в непарних рядках матриці А(m x n). |
11. |
Знайти добуток елементів, які знаходяться в непарних рядках матриці A(m x n). |
12. |
Знайти суму елементів, які знаходяться в парних рядках матриці А(m x n). |
13. |
Знайти суму додатних елементів, які знаходяться в непарних рядках матриці A(m x n). |
14. |
Знайти суму від'ємних елементів, які знаходяться в парних рядках матриці A(m x п). |
15. |
Знайти добуток від'ємних елементів, які знаходяться в парних рядках матриці А(m х n). |
16. |
Знайти суму додатних елементів, які знаходяться в парних рядках матриці A(m x n). |
17. |
Знайти добуток від'ємних елементів, які знаходяться в непарних рядках матриці A(m x n). |
18. |
Знайти суму від'ємних елементів, які знаходяться в непарних рядках матриці A(m x n). |
19. |
Знайти добуток додатних елементів, які знаходяться в парних рядках матриці A(m x n). |
20. |
Знайти добуток додатних елементів, які знаходяться в непарних рядках матриці А(m x n). |
21. |
Знайти добуток елементів матриці A(m x n), для яких сума індексів парне число. |
22. |
Знайти суму елементів матриці A(m x n), для яких сума індексів непарне число. |
23. |
Знайти суму елементів матриці A(m x n). |
24. |
Знайти добуток елементів матриці A(m x n). |
25 |
Знайти суму додатних елементів матриці A(m x n). |
26 |
Знайти середнє значення елементів матриці A(m x n). |
27 |
Знайти добуток додатних елементів матриці A(m x n). |
28 |
Знайти суму від'ємних елементів матриці A(m x n). |
29 |
Знайти добуток від'ємних елементів матриці A(m x n). |
30 |
Знайти середнє значення додатних елементів матриці A(m x n). |