- •Конспект лекций по курсу «Информатика» для студентов очной и заочной форм обучения.
- •Базовые положения
- •§.1. Физическое устройство и разумная деятельность мозга
- •§2. Самодостаточная эвм
- •2.1. Память (оперативная память)
- •2.2. Процессор
- •2.3. Программа
- •2.4. Жизненный цикл «Самодостаточной эвм»
- •§3. Язык процессора – базовый язык эвм
- •§4. Реальная эвм. Периферийные устройства
- •§5. Язык программирования. Программа транслятор
- •§6. Язык программирования Pascal
- •6.1. Базовые типы числовых информационных объектов
- •6.2. Явные константы
- •6.3. Оператор описания var
- •Var и1, и2, и3, . . . . ,Иn: Итипа;
- •6.5. Операторы консольного ввода информации
- •6.5.1. Стандартные форматы вывода числовой информации.
- •6.6. Логические переменные
- •6.7. Операторы управления программой
- •6.7.1. Условный оператор if then
- •If Условие then Оператор ;
- •6.7.2. Условный оператор выбора if then else
- •6.8. Метки операторов. Оператор безусловного перехода
- •6.9. Циклические вычисления. Операторы зацикливания
- •Организация циклических вычислений операторами if then goto
- •Программа вычисления корня по формуле Герона.
- •6.9.3. Оператор цикла for to
- •6.9.4. Оператор цикла for downto
- •6.9.5. Оператор цикла while
- •6.9.6. Программа вычисления длины дуги кривой
- •7. Массивы переменных
- •7.1. Программа нахождения экстремальных значений
- •7.2. Программа решения системы линейных алгебраических уравнений
- •8. Сортировка информации
- •8.1. Элементы формальной логики, теории множеств и операций
- •8.2. Упорядоченные структуры информационных объектов
- •8.3. Алгоритм сортировки «поплавок»
- •8.3.1. Программа сортировки массива «на месте»
- •8.3.2. Программа сортировки «индексов» массива
- •8.4. Алгоритм быстрого поиска информации в линейно упорядоченном массиве
- •8.4.1. Программа поиска в отсортированных массивах.
- •9. Символьные переменные
- •9.1.Строковые переменные
- •9.1.1. Программа написания чисел прописью
- •10. Клавиатурное управление эвм
- •§.11. Информационные объекты класса – изображение
- •11.1. Устройство функционированиемонитора
- •11.2. Процедурный язык управления графическим экраном
- •11.3. Оцифровка и масштабирование реальных изображений (чертежей) для последующего их вывода на экран
- •11.4. Пример построения фрагмента графика функции
- •11.5. Ввод и обработка информации в форме изображений
- •§12. Информационные объекты класса – подпрограммы
- •12.1. Подпрограммы типа procedure
- •12.1.1. Пример оформления подпрограммы-процедуры
- •12.2. Подпрограммы класса function
- •12.2.1.Пример оформления подпрограммы-функции
- •12.3. Процедурные языки программирования
- •12.4. Библиотечные модули Unit
- •§13. Динамическое распределение оперативной памяти эвм
- •13.1. Программа использующая динамические переменные
- •§14. Переменные типа record
- •§15. Внешняя память эвм. Работа с файлами
- •15.1. Процедурный язык обработки файлов
- •15.2.Программа “ Жизненный путь файла “
- •15.3. Текстовые файлы
- •§16. Элементы объектно-ориентированного программирования
- •Основная рекомендуемая литература.
15.3. Текстовые файлы
Структурная организация текстового файла имитирует размещение привычной текстовой информации на бумажном носителе:
сам файл – аналог листа бумаги (лист неограниченной длины),
каждая запись файла – отдельная строка на листе,
запись состоит из последовательности символов (символ – байт),
размер (длина) каждой строки – произвольна и может включать от 0 до 255 символов, запись без символов – аналог пустой строки,
все записи пронумерованы: сверху вниз (от первой и до последней),
строка состоит из последовательности символов, которые номеруются слева направо.
Информация в текстовом виде передается посредством упорядоченной последовательности слов (в частности – чисел), которые разделяются специальными символами – разделителями (чаще всего – пробелами).
Текстовые файлы допускают только последовательный доступ к своему содержимому. Файлы этого типа могут быть открыты либо только для чтения, либо только для записи, причем записи читаются и записываются строго по порядку: от первой к последней.
Битовое содержимое записи текстового файла соответствует структуре переменных типа STRING. Однако информация из текстового файла может быть прочитана и в переменные любого скалярного типа: Real, Integer, Word, Boolean и т.д., но только в том случае - если она представлена соответствующими символами.
Процесс записи информации в текстовый файл аналогичен ранее рассмотренной операции вывода информации (печати) на экран монитора, т.е. допускает использование форматов.
Освоение текстовых файлов не должно вызывать особых трудностей, т.к. мы уже имеем должный опыт работы с файлами этого типа:
периферийное устройство клавиатура - постоянно открытый для чтения текстовый файл, обслуживаемый стандартной файловой переменной с именем KBD. Если в универсальных операторах чтения Read и ReadLN вообще не указывать файловую переменную, то чтение данных будет осуществляться именно с клавиатуры,
периферийное устройство алфавитно-цифровой экран – постоянно открытый для записи текстовый файл, обслуживаемый стандартной файловой переменной с именем SCR. Если в универсальных операторах записи Write и WriteLN вообще не указывать файловую переменную, то запись данных будет осуществляться только на экран,
консольный ввод информации задействует оба этих стандартных файла,
тексты набираемых Вами программ (с помощью встроенного редактора turbo.exe) размещаются в типичных текстовых файлах, но со специальным расширением имени PAS, а не TXT.
Пример работы с текстовым файлом:
Program NNN;
Var F: text; S: string; i: integer; R: real; b: Boolean;
BEGIN
Assign(F,’Dann.pas’); ReWrite(F); {связать файловую переменную с файлом под
именем ’Dann.pas’ и открыть файл для записи}
Writeln(F,’Отладочные данные ’); {первая запись в файл содержит информацию,
смысл которой предназначен для человека }
Writeln(13 567.4011 true’); {вторая запись в файл, содержит символы,
которые можно трактовать как значения
переменных стандартных для языка Pascal типов }
I:=55; R:=444.777; b:=false;
Writeln(F,’ i:6, R:10:2,’ ‘,b); {образец записи форматированной информации
в текстовый файл }
Reset(F); {переключение файла в режим чтения}
Readln(F, S); WriteLn(S); {читаем первую запись файла и выводим ее на экран}
Read(F, I, R, b); Writeln(I:5, R:7:1, b); {читаем форматированную информацию
из текстового файла в соответствующие переменные
и тут же печатаем их на экране }
Read(F, I, R, b); Writeln(I, R:7:1, b);
Close(F) {закрываем доступ к файлу}
END.
Результат работы: в текстовом файле с именем Dann.pas будут размещены три записи (содержимое файла можно просмотреть с помощью любого текстового редактора):
Отладочные данные
13 567.4011 true
55 444.78false
На экран монитора будет выведено:
Отладочные данные
13 567.4true
55 444.8false