UkrReferat.com
найбільша колекція україномовних рефератів

Всього в базі: 75855
останнє поновлення: 2016-12-09
за 7 днів додано 12

Реферати на українській
Реферати на російській
Українські підручники

$ Робота на замовлення
Реклама на сайті
Зворотній зв'язок

 

ПОШУК:   

реферати, курсові, дипломні:

Українські рефератиРусские рефератыКниги
НазваБуферизація екрана та клавіатури (реферат)
Авторdimich
РозділІнформатика, компютерні науки
ФорматWord Doc
Тип документуРеферат
Продивилось1345
Скачало332
Опис
ЗАКАЧКА
Замовити оригінальну роботу

Реферат на тему:

 

Буферизація екрана та клавіатури

 

Екран і клавіатура є текстами, зв’ язаними з файловими змінними output

і input. Для роботи з ними також уживаються буфери.

 

Спочатку розглянемо екран. З ним зв’ язаний буфер, але символи,

потрапивши в нього, одразу копіюються на екран. Якби цього не було,

інформація на екрані з’ являлася би з небажаними затримками.

 

При виконанні процедури WRITE за значенням її кожного аргумента

обчислюється стала, тобто послідовність символів, які через буфер одразу

виводяться на екран. Насправді, виклик

 

write(E1, E2, … , EN )

 

виконується як послідовність викликів

 

write ( E1 ); write ( E2 ); … ; write ( EN ).

 

Виконання writeln відрізняється тим, що в буфер екрана "додається eol",

і курсор переводиться в наступний рядок.

 

Організація роботи з клавіатурою набагато складніше. Символи, утворені

натисканням клавіш, накопичуються в буфері клавіатури. Він уміщає 15

символів. У цьому можна переконатися, запустивши програму

 

uses crt;

 

begin delay(16000) end.

 

При її виконанні протягом 16 секунд неважко встигнути натиснути якусь

клавішу 16 разів і за останнього натискання почути звуковий сигнал комп’

ютера, що свідчить про переповнення буфера клавіатури. Буфер

переповнюється, оскільки за виконання цієї програми символи з нього не

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

відображаються на екрані і взагалі "зникають".

 

Перенесення символів у внутрішній буфер відбувається за виконання

процедур читання readln і read. Як і для інших текстів, його розмір 128

байтів. У цьому можна переконатися, запустивши програму

 

begin readln end.

 

За її виконання комп’ ютер починає чекати натискань на клавіші. Кожне

натискання на клавішу (крім Enter) приводить до появи відповідного

символу в буфері клавіатури. Цей символ одразу переноситься в її

внутрішній буфер та через екранний буфер без затримки відображається на

екрані. Після того, як набрано 128 символів, наступний символ до

внутрішнього буфера не переноситься й на екрані не з’ являється.

Натомість можна почути звуковий сигнал, що свідчить про переповнення

внутрішнього буфера.

 

Натискання на клавішу Enter веде до появи відповідного символу в буфері

клавіатури та переведення курсора в новий рядок екрана. Коли цей символ

з’ являється у внутрішньому буфері, рядок у ньому розглядається як

"завершений символом eol".

 

Завершений рядок у внутрішньому буфері аналізується й за сталими в ньому

обчислюються значення базових типів та присвоюються змінним, указаним у

виклику read (readln). Якщо сталих менше, ніж змінних у виклику, то

виконання продовжується, тобто внутрішній буфер спорожнюється та

починається чекання нових символів із клавіатури.

 

Коли в черговому рядку проаналізовано останню сталу, поточним стає

наступний за нею символ у внутрішньому буфері. Виконання процедури read

на цьому закінчується. За наступного виконання процедури читання нові

символи будуть додаватися до змісту внутрішнього буфера, але пошук і

аналіз сталих почнеться від поточного символу буфера, що залишився від

-----> Page:

0 [1]

ЗАМОВИТИ ОРИГІНАЛЬНУ РОБОТУ