- •Конспект лекций по курсу «Информатика» для студентов очной и заочной форм обучения.
- •Базовые положения
- •§.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.2.Программа “ Жизненный путь файла “
(Создание файла, запись в файл, чтение из файла, уничтожение файла)
Program JPF;
Type TF = array [1..3] of real;
Var FL : file of TF;
AR: TF;
i, j: integer;
Begin
{создание файла}
ASSIAN(FL, ‘A:\F3.RR‘);
REWRITE (FL);
for j :=1 to 4 do
begin
for i:=1 to 3 do AR [i]:=i + j*100;
WRITE(FL ,AR);
end;
CLOSE(FL);
{чтение информации из файла}
RESET (FL);
for j :=1 to 2 do
begin
READ(FL, AR);
for j :=1 to 3 do WRITE (AR[i]:10:3);
WRATELN;
end;
CLOSE(FL);
{уничтожение файла}
ERASE(FL);
End.
Семантика →звуковая транскрипция
и прагматика {пояснение смысла и цели} операторов этой программы.
Program JPF ; → Начни чтение и трансляцию команд (операторов)
программы с именем JPF .
{ текст программы должен быть размещен в файле с именем JPF.pas }
Type TF= array [1..3] of real ; → Запомни под именем TF структуру информационных объектов (ИО), которые состоят из трех, последовательно расположенных, чисел стандартного типа Real .
{ переменные типа TF образуют отдельные записи файла}
Var FL : file of TF ; → Размести в оперативной памяти ИО с именем FL. Тип этого ИО – файловая переменная, предназначенная для обслуживание файлов с записями структуры TF.
AR : TF ; → Размести в оперативной памяти ИО с именем AR, структура этого ИО описана ранее под именем TF .
{В эту область памяти (переменную с именем AR) планируется копировать
(читать) информацию из файла. Информация из AR будет также копироваться
(записываться) в файл, т.е. на ВЗУ(Внешнее Запоминающее Устройство)}
i , j : integer ; → Размести в оперативной памяти два ИО (носителя цело-
численной информации) с именами i и j.
{ i и j – рабочие (вспомогательные) переменные программы
для организации циклических вычислений }
Begin → Начни чтение “исполнимых“ операторов программы.
ASSIGN ( FL , ‘A : \ F3 . RR‘ ) ; → Внеси в файловую переменную FL имя
конкретного файла (в нашем случае это имя: A : \ F3 . RR).
{ файл планируется создать на флоппи-диске A :\ , собственное имя файла F3.RR }
REWRITE (FL) ; → Создай новый (пустой) файл, параметры которого указаны (ранее записаны) в файловой переменной FL.
{если файл с именем F3 . RR уже существует на диске A : \ , то его
содержимое будет уничтожено, т.е. “стерто с дискеты“ }
For j : =1 to 4 do → Повторяй выполнение всех операторов, размещённых ниже, в операторных скобках begin … end, последовательно наращивая на 1 содержимое переменной j начиная от 1 и до 4 .
{ j – счетчик количества записей (номер очередной записи) заносимых в FL}
Begin → Открой операторную скобку.
For i: =1 to 3 do → Повторяй выполнение, следующего за словом-разделителем DO, оператора присвоения, последовательно наращивая на 1 содержимое переменной i начиная от 1 и до 3 .
{ организуем перебор всех трех элементов массива AR ,
содержимое которого планируется записать в файл }
AR[i] : = i + j*100 ; → Выполни арифметические операции над числовыми переменными, указанными в правой части оператора, и внеси результат в i–ый элемент массива AR .
{ заполняем массив AR (фрагмент ОЗУ) " некой полезной информацией "}
WRITE(FL , AR) ; → Перепиши информацию из фрагмента ОЗУ с
именем AR в файл FL.
{Записать (скопировать) информацию из массива AR в очередную запись файла, описанного в файловой переменной FL}
End; → Закрой операторную скобку.
CLOSE ( FL ) ; → Закрой доступ к файлу, описанному в переменной FL.
{теперь в файл с именем «A:\F3.RR» нельзя: ни читать, ни писать}.
{ в созданный файл F3 . RR внесены четыре записи, каждая из которых содержит по три числа. Информация файла может интерпретирована как таблица чисел: }
-
101
102
103
← 1-ая запись файла
201
202
203
←2-ая запись файла
301
302
303
←3-ая запись файла
401
402
403
←4-ая запись файла
RESET(FL) ; → Открой доступ к файлу FL для чтения информации.
{имя и параметры файла ранее внесены в файловую переменную FL}
For j : =1 to 4 do → Повторяй выполнение всех операторов, приводимых в ниже следующих операторных скобках begin … end, последовательно наращивая содержимое переменной j от 1 до 4 .
{организуем цикл чтения всех четырех записей файла}
Begin → Открой операторную скобку.
READ(FL, AR); → Прочти запись из файла FL в память по адресу AR.
{содержимое очередной записи файла будет скопировано в массив AR}
For i: =1 to 3 do → Повторяй выполнение нижеследующего оператора печати последовательно наращивая содержимое переменной i от 1 до 3.
{Цикл печати всех трех элементов массива будет выполнена в одной строке экрана}
WRITE(AR[i]: 10: 3) ; → Напечатай на экране монитора содержимое переменной AR[i] как число в формате F. Курсор экрана оставь в позиции за последней отпечатанной цифрой.
{формат F:10:3 означает размещение действительного числа в 10-и позициях, три из которых отводятся под запись дробной части}
WRITELN ; → Напечатай на экране «ничего...», но обязательно перемести
курсор экрана в следующую строку.
{Эта команда позволяет распечатать записи файла строго: одна под
другой, т.е. вывести содержимое файла в форме таблицы}
End; → Закрой операторную скобку.
CLOSE (FL) ; → Закрой доступ к файлу FL для чтения и записи.
{теперь описанный в файловой переменной FL файл можно
переименовывать или удалять}
ERASE (FL) ; → Уничтожь файл FL.
{На дискете будет вытерта (удалена) только информация о названии файла, но
само содержимое файла, т.е. соответствующие магнитные записи останутся}
End. → Заверши чтение блока " исполнимых " операторов программы и всей программы.
Результат работы программы – печать на экране монитора таблицы:
101.000 102.000 103.000
201.000 202.000 203.000
301.000 302.000 303.000
401.000 402.000 403.000