- •Конспект лекций по курсу «Информатика» для студентов очной и заочной форм обучения.
- •Базовые положения
- •§.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.1. Процедурный язык обработки файлов
Основные функции языка:
перепись информации из файла в ОЗУ и обратно,
создание новых файлов,
изменение названий существующих файлов,
удаление файлов.
Для организации обработки файла (что особенно важно: для одновременной работы сразу с несколькими файлами) в языке Pascal, предусмотрен специальный класс информационных объектов – файловых переменных.
Опр. Файловая переменная – информационный объект размещенный в оперативной памяти и содержащий следуюшие данные о файле:
полное название файла на ВЗУ и его размер,
адрес начала файла на ВЗУ и адрес активной записи (позиции) файла,
описание структуры файла.
признак состояния файла (открыт, закрыт, режим чтения или записи).
Описание файловых переменных проводится с помощью стандартных операторов Var.
Примеры:
Type T1= array[1..50] of real; {описываем структуру записи файла, каждая
запись которого состоит из пятидесяти вещественных чисел типа REAL }
T2=record of {описываем структуру записи файла, в которой размещаются данные о ФИО и дате рождения неких лиц. Размер каждой записи 96 байт}
Fam, Im, Ot: string[30];
God, Mes, Den: integer;
End;
. . . . . . .
Var Fa, Fb: file of T1; {файловые переменные с именами Fa, Fb будут обслуживать
типизированные файлы с записями типа T1}
P: file of T2; {файловая переменная с именем P будет обслуживать
типизированные файлы с записями типа T2}
TF1, TF2, TF3: text; {файловые переменные с именами TF1, TF2, TF3 будут
обслуживать текстовые файлы с записями типа string}
FF, FL: file; {файловые переменные с именами FF, FL планируется
использовать для обслуживания не типизированных файлов }
{создаем в оперативной памяти рабочие переменные (информационные объекты) для размещения информации одной записи для каждого типа используемых файлов}
R: T1; { R - для файлов с типом записи T1}
Rp: T2; { Rp - для файлов с типом записи T2 }
S: string; { S - для текстовых файлов}
. . . . . . .
Для начала работы с любым файлом надо связать соответствующую структуре файла файловую переменную с конкретным физическим файлом. Эта команда дается процедурой
Assign (FileVar , FileName);
где FileVar – имя файловой переменной,
FileName – имя файла (параметр типа string).
Примеры:
Assign (Fa,’A:\Dann.kk’); {Семантика: Файловая переменная Fa назначается для
обслуживания файла с именем Dann.kk, который находится на диске А}
Assign (P,’Infor23’);
Assign (TF2,’Referat.txt’);
Assign (FF,’G:\Referat.doc’);
После привязки файловой переменной к конкретному физическому файлу, этот файл нужно перевести в состояние планируемого информационного обмена:
открыть только для чтения, команда Reset(FileVar);
открыть только для записи, команда Rewrite(FileVar);
открыть для записи и чтения, команда Append(FileVar);.
Команда «прочесть очередную запись из файл» реализуется процедурой Read(FileVar , RabName); , где RabName – рабочая переменная (фрагмент оперативной памяти) соответствующая типу записей файла FileVar.
Команда «поместить очередную запись в файл» реализуется процедурой Write(FileVar , RabName); , где RabName – рабочая переменная соответствующая типу записей файла FileVar.
Команда Close(FileVar); закрывает доступ к файлу.