
- •Информатика
- •Лабораторный практикум
- •По программированию
- •На Турбо-Паскале
- •Содержание
- •Предисловие
- •Общая схема выполнения лабораторной работы
- •Лабораторная работа № 1
- •Var r,d: real; {раздел описаний переменных может
- •Блок-схема алгоритма
- •Текст программы
- •Результат расчета
- •Варианты заданий
- •Лабораторная работа № 2
- •If Pr then {здесь Pr – логическая переменная,}
- •Разбор контрольного варианта Задание
- •Блок-схема алгоритма
- •Текст программы
- •Результаты расчетов
- •Варианты заданий
- •Лабораторная работа № 3
- •Общие пояснения
- •Разбор контрольного варианта Задание
- •Алгоритм
- •Текст программы
- •Vvod: writeln('Сколько будет чисел?');
- •Варианты заданий
- •Лабораторная работа № 4
- •Задачи лабораторной работы Вопросы, изучаемые в работе
- •Задание (общее ко всем вариантам)
- •Требования к программе
- •Содержание программы
- •Общие пояснения
- •Var Massiv1,Nmbs:IntMasMax; {завели 2 целочисл. Массива}
- •Разбор контрольного варианта Задание.
- •Текст программы
- •Результаты работы
- •Варианты заданий
- •Лабораторная работа № 5
- •Общие пояснения
- •Var {здесь выделяется место под все массивы }
- •Разбор контрольного варианта Задание
- •Формирование таблицы идентификаторов
- •Алгоритм
- •Текст программы.
- •Содержимое файла результатов umnik5.Res
- •Варианты заданий
- •Лабораторная работа n 6
- •Задачи лабораторной работы Вопросы, изучаемые в работе
- •Задание (общее ко всем вариантам)
- •Требования к программе
- •Содержание программы
- •Общие пояснения
- •Разбор контрольного варианта Задание
- •Рассмотрение метода решения
- •Алгоритм
- •Текст программы.
- •Vvod_eps:writeln('введите минимальный размер слагаемого);
- •Результаты расчета
- •Варианты заданий
- •Лабораторная работа n 7
- •Задачи лабораторной работы Вопросы, изучаемые в работе
- •Задание (общее ко всем вариантам).
- •Требования к программе и отчету по работе
- •Содержание программы.
- •Пояснения к лабораторной работе Общие пояснения к использованию процедур и функций.
- •Механизм параметров
- •Разбор контрольного варианта Задание
- •Б Рисунок 7. Алгоритм 31-го варианталок-схема алгоритма Текст программы.
- •Лабораторная работа n 8
- •Алгоритмы построения графиков на экране
- •Стандартный модуль работы с графическим экраном Graph
- •Разбор контрольного варианта № 31 Задание
- •Алгоритм
- •Разбор контрольного варианта № 32 Задание
- •X,y:mas; { текущие значения переменных х иY}
- •Xmin,Xmax,t,tmin,tmax, { минимальное и максимальное значения х на графике }
- •Imin,Imax, { координаты экрана, соответствующиеYminиYmax}
- •Варианты заданий
- •Лабораторная работа № 9
- •Задачи лабораторной работы Вопросы, изучаемые в работе
- •Задание (общее ко всем вариантам)
- •Требования к программе
- •Содержание программы
- •Общие пояснения
- •Односвязные списки
- •Двусвязные списки
- •Нульсвязные списки
- •Описание файлов с данными
- •Inc(I); { стандартная процедура увеличения на 1 }
- •Разбор контрольного варианта Задание
- •Содержание программы
- •Алгоритм
- •Текст программы
- •IfBegthen{ если добавляем в начало }
- •If Beg then { если удаление из начала }
- •Варианты заданий
- •Литература
- •Приложение а. Система меню и команды Турбо-Паскаля Меню системы программирования Турбо-Паскаль
- •Главное меню
- •Опции главного меню
- •Локальные меню
- •Основные команды встроенного редактора текста
- •Приложение б. Сообщения об ошибках
- •Сообщения об ошибках на шаге выполнения
- •Приложение в. Описание числовых файлов для лабораторных работ
- •I,j : integer; {I- счетчик элементов массива, j - номер символа в файле }
- •Приложение г. Таблица ascii-кодов (с альтернативной кодировкой)
Приложение в. Описание числовых файлов для лабораторных работ
Текстовые файлы DATF.TXT и DATI.TXT содержат соответственно вещественные и целые числа, набитые по 10 чисел в строке, DATF.BIN и DATI.BIN содержат вещественные и целые числа во внутримашинной кодировке. Файлы SIMBOL.TXT,RUS.TXTиLAT.TXTсодержат символьную информацию. Имена, строение и метод доступа к данным файлов приведены ниже.
1. Файл DATI.TXT– последовательный символьный (текстовый) набор целочисленных данных, содержит 1000 чисел в виде 50 строк (записей) по 20 чисел в каждой строке. Значения чисел не превосходят 999 по абсолютной величине.
Пример открытия файла и чтения из него чисел с 310 по 315:
VAR
mas : array[1..5] of integer;
fin : text;
. . .
BEGIN
. . .
Assign(fin,'D:\LAB1\DATI.TXT');
Reset(fin);
пропуск 300 чисел в виде 15 строк по 20 чисел:
for i:=1 to 15 readln(fin);
пропуск первых 9 чисел (301-309)
и чтение 6 чисел (310-315):
for i:=1 to 9 read(fin);
for i:=1 to 6 read(fin,mas[i]);
close(fin); закрытие файла
. . .
Примечание: Если рассматривать этот набор данных, как содержащий последовательность символов – цифр, пробелов и других служебных символов, то при чтении его в символьный массив рекомендуется пропускать концы строк. Например, при чтении из этого набора данных в одномерный символьный массив Txtследует использовать функциюEoln:
for i:= ... do
if not Eoln(fin) then Read(fin, Txt[i])
elseReadln(fin);
Если желательно дополнительно также пропускать все пробелы (и символы табуляции), то лучше использовать функцию SeekEoln :
for i:= ... do
if not SeekEoln(fin) then Read(fin, Txt[i])
elseReadln(fin);
И, наконец, если при чтении желательно брать только цифры, то можно в программу добавить "шаг назад" при каждом вводе не цифрового значения:
for i:= ... do
begin
Read(fin, Txt[i])
if (Txt[i] < '0') or (Txt[i] > '9') then i:=i-1;
end;
2. Файл DATF.TXT– последовательный символьный (текстовый, форматный) набор вещественных данных, содержит 500 чисел в виде 50 строк (записей) по 10 чисел в каждой строке. Значения чисел не превосходят 1000000 по абсолютной величине. Пример открытия файла и чтения из него чисел с 32 по 35:
VAR
mas : array[1..4] of real;
fin : text;
. . .
BEGIN
. . .
Assign(fin,'D:\LAB1\DATF.TXT');
Reset(fin);
пропуск 31 числа:
for i:=1 to 31 read (fin);
чтение 4 чисел:
for i:=1 to 4 read(fin,mas[i]);
close(fin);
. . .
Примечание: Если читать из этого набора данных в символьный массив, рекомендуется пользоваться приемами, описанными для файла DATI.TXT.
3. Файл DATI.BIN– файл прямого доступа, представляет набор целочисленных данных, содержит 1000 двухбайтовых целых чисел. Должен описываться как файл из данных целого типа или массивов целого типа. Значения чисел не превосходят 999 по абсолютной величине. Пример открытия файла и чтения из него каждого 5-го числа:
VAR
dann,fict : integer;
fin : file of integer;
. . .
BEGIN
Assign(fin,'D:\LAB1\DATI.BIN');
Reset(fin);
While not Eof do
begin
for i:=1 to 4 do read(fin,fict); { пропуск 4 чисел, чтением их в фиктивную переменную}
Read(fin,dann); { чтение числа }
. . .
end;
close(fin); {закрытие файла }
. . .
4. Файл DATF.BIN– бесформатный (двоичный, внутримашинный) файл прямого доступа, представляет набор вещественных данных, содержит 500 шестибайтовых вещественных чисел. Должен подключаться к файловой переменной вещественного типа. Значения чисел не превосходят 99 по абсолютной величине. Пример открытия файла и чтения из него всех чисел после 90-го по 10 штук:
TYPE
MAS10 = array[1..10] of real;
VAR
dann : MAS10;
fin : file of MAS10;
. . .
BEGIN
. . .
Assign(fin,'D:\LAB1\DATI.BIN');
Reset(fin);
пропуск 90 чисел, чтением их в переменную dann длиной 10 чисел 9 раз
for i:=1 to 9 do
read(fin,dann);
While not Eof do {пока не кончится файл}
begin
Read(fin,dann); { чтение очередных 10 чисел: }
. . .
end;
close(fin); { закрытие файла }
. . .
5. Файл SIMBOL.TXT– символьный (текстовый) файл последовательного доступа, представляет набор символьных данных, содержит 410 элементов (без переводов строк). Этот набор данных можно связывать как с текстовой, так и с типизированной (типаchar) файловой переменной.
Пример 1. Чтение из файла с 20-го по 50-ый символы в одномерный символьный массив:
VAR
mas : array[0..30] of char;
fin : text;
. . .
BEGIN
. . .
Assign(fin,'D:\LAB1\SIMBOL.TXT');
Reset(fin);
пропуск 19 символов:
for i:=1 to 19 read (fin);
чтение 31 символа, с 20-го по 50-й:
for i:=0 to 30 read(fin,mas[i]);
close(fin); закрытие файла
. . .
Пример 2. Чтение из файла с каждого четвертого символа в одномерный символьный массив длиной 40 байт:
TYPE
SimMas = array[1..40] of char;
VAR
Sim : SimMas;
fin : file of char;