- •Загальні вимоги до оформлення звітів з лабораторних робіт
- •Лабораторна робота № 1. Програмування лінійного обчислювального процесу
- •Завдання: скласти програми мовами Паскаль та Сі для обчислення математичного виразу згідно з варіантом завдання1.
- •Опис програмного інтерфейсу з користувачем.
- •Завдання: скласти програми мовами Паскаль та Сі для визначення:
- •Математична постановка задачі.
- •Тестовий приклад.
- •Аналіз результатів роботи програми.
- •Опис програмного інтерфейсу з користувачем.
- •Лабораторна робота № 2. Програмування розгалуженого обчислювального процесу
- •Завдання:
- •Завдання: скласти програму мовою Паскаль та Сі для обчислення
- •Аналіз результатів роботи програми.
- •Опис програмного інтерфейсу з користувачем.
- •Завдання:
- •Завдання: скласти програми мовами Паскаль та Сі для обробки натиснення клавіш на клавіатурі:
- •Завдання: скласти програми мовами Паскаль та Сі для перевірки, чи належить точка з координатами (х, у) до заданої області(див. Варіанти завдань).
- •Аналіз результатів роботи програми.
- •Опис програмного інтерфейсу з користувачем.
Завдання: скласти програми мовами Паскаль та Сі для обробки натиснення клавіш на клавіатурі:
вивести на екран кодів алфавітно-цифрових клавіш і перевірити, чи співпадають вони з кодами символів в таблиці ASCII – кодів.
вивести на екран повідомлення ‘ESC’, ‘Enter’, ‘Прогалина’, ‘TAB’ в залежності від натиснутої клавіші. Бажано, в програмі ввести константи для кодів відповідних клавіш: ESC=#27, ENTER=#13, SPACE=#32, TAB=#9.
вивести на екран повідомлення “Простий код” або “Розширений код” та безпосередньо код в залежності від натиснутої клавіші.
Рекомендації до виконання роботи
В залежності від типу клавіатури на ній можуть бути розташовані 83/84, 101/102, 122 клавіші. Але принцип розташування та призначення основних клавіш на всіх типах клавіатури однакові.
При натисненні або відпусканні клавіші на клавіатурі генерується електричний сигнал, який розпізнається контролером клавіатури. Контролер клавіатури передає код відповідної клавіші(скен-код) для подальшої обробки. В залежності від типу клавіші генеруються прямі або розширені коди.
Прямий скен-код клавіші розміром один байт і його значення співпадає з кодом відповідного символу в таблиці ASCII-кодів.
Розширений скен-код займає два байти: старший – нульовий, молодший – код клавіші.
-
старший байт
молодший байт
00
код клавіші
Алфавітно-цифрова група клавіш, клавіши Esc, Tab, BackSpace, Enter, пробіл(Space), клавіші правої цифрової групи (крім Del) повертають прямі скен-коди.
Функціональні клавіші та клавіші управління урсором повертають розширені скен-коди.
Зсувні клавіші Shift, Ctrl, Alt, клавіші CapsLock (фіксування режиму прописних букв) та Num Lock(фіксування режиму введення цифр), PrintScrn(друк екрану), ScrollLock(блокування прокрутки екрану), Pause/Break() не повертають кодів. Але якщо зсувні клавіші використовуються в комбінаціями з клавішами алфавітно-цифрової клавіатури, вони повертають розширений скен-код. Наприклад, якщо натиснути на клавіатурі кнопку з латинською буквою ‘a’, буде повернений код 97, при натисканні Shift+a буде повернений код 65 – це символ ‘А’.
Esc 27 |
12 функціональних клавіш (розширений код) |
|
Панель індикаторів |
|||||||||||||
|
Back spase 8 |
|
NL |
|
||||||||||||
Tab 9 |
Алфавітно-цифрові клавіші |
|
|
Клавіші управління (розширений код) |
Права цифрова група клавіш |
|||||||||||
Caps Lock Ø |
|
Enter 13 |
||||||||||||||
Shift Ø |
|
Shift |
|
|
|
|||||||||||
Ctrl Ø |
Alt Ø |
SPACE (“Any key”) 32 |
Alt Ø |
Ctrl Ø |
|
|
|
|
Del |
|
||||||
Рис. ?? Загальна схема розташування клавіш |
Клавіши управління курсором (розширений код) |
Права цифрова група клавіш (прямий код) |
|||||||||
Print Scrn |
Scroll Lock |
Pause Break |
|
Num Lock |
/ |
* |
– |
|
||
Ø |
Ø |
Ø |
|
Ø |
47 |
42 |
45 |
|
||
Insert |
Home |
PgUp |
|
Home |
|
PgUp |
+ |
|
||
82 |
71 |
73 |
|
55 |
56 |
57 |
43 |
|
||
Delete |
End |
PgDn |
|
|
|
|
|
|||
83 |
79 |
81 |
|
52 |
|
54 |
|
|||
|
|
|
|
End |
|
PgDn |
Enter |
|
||
|
72 |
|
|
49 |
50 |
51 |
13 |
|
||
|
|
|
|
Ins |
Del |
|
||||
75 |
80 |
77 |
|
48 |
00:83 |
|
||||
Рис. ??. Розташування та коди клавіш управління курсором та правих цифрових. |
|
|
#include <stdio.h> |
|
#include <conio.h> |
|
main() |
|
{ |
|
int c; |
|
clrscr(); |
|
do |
|
{ |
|
printf("Натисніть клавішу\n"); |
|
c=getch(); |
|
if (c==0) |
|
{ |
|
c=getch(); |
|
printf("Розширений код >>>%d", c); |
|
} |
|
else |
|
printf("Код клавіші >>>%d\n", c); |
|
|
|
printf("\n <ESC> для виходу або будь-яку клавішу для продовження \n"); |
|
} |
|
while (getch() != 27); |
|
|
|
} |