Главная » Файлы » Для учня/студента » Інформатика | [ Добавить материал ] |
Текстові файли. Ввід даних з клавіатури науковий
14.07.2010, 16:26 | |
Будь-який файл, що складається з послідовності символів, можна у вигляді, показаному на малюнку. Бачимо, що файл є набором рядків тексту, кожен з яких закінчується спеціальним символом "кінець рядка". Весь файл закінчується символом "кінець файлу". При відкриванні файлу для читання операційна система створює спеціальний вказівник, який показує наступний символ, який повинен бути прочитаний з файлу, і встановлює його на перший символ файлу. Зчитуючи кожен наступний символ, операційна система переставляє вказівник на наступний символ. Символи "кінець рядка" вводяться як будь-які інші, а спроба прочитати "кінець файлу" діагностується як помилка. Отже файл читається тільки посимвольно від початку до кінця, тобто є файлом послідовного доступу. Аналогічно можна було б організувати введення з клавіатури. Під час звертання до оператора Read система очікувала б натискання клавіш і вводила інформацію символ за символом. Але це незручно, бо випадково чи помилково натиснутий символ безпосередньо вводиться в програму, що позбавляє користувача можливості зробити виправлення. Тому для введення даних з клавіатури передбачений спеціальний рядок символів, який називається буфером введення. Під час запуску програми на виконання буфер введення порожній. Коли зустрічається перший Read, виконання програми припиняється доти, поки користувач не введе з клавіатури в буфер рядок символів, завершивши його натисканням Enter. До натискання цієї клавіші користувач може перевіряти і виправляти рядок. Виконання програми поновлюється, а ввід здійснюється з буфера доти, поки не буде прочитаний останній символ, який міститься в ньому. Коли даних не вистачає, то система очікує вводу в буфер нового рядка. Таким чином, введення з клавіатури повністю аналогічне введенню з файлу, тільки при цьому кожний рядок вводиться користувачем. Наприклад, якщо при виконанні фрагменту програми Read ( a ); ввести два числа одразу, то програма не очікуватиме вводу другого числа, а введе його з буфера, тобто у вікні виконання будемо бачити таке: 10 25 | |
Просмотров: 219 | Загрузок: 0 | |