- •Указания по выполнения практических и лабораторных работ
- •Лабораторная работа № 1 Блок-схемы как графическое представление алгоритмов. Основные блоки, используемые в блок- схемах алгоритмов
- •Краткие теоретические сведения Основные этапы решения задач на компьютере
- •Языки программирования
- •Трансляторы
- •Язык программирования Паскаль
- •Использование среды программирования турбо паскаль
- •Порядок выполнения работы
- •Типы вычислительных процессов
- •Блок-схемы алгоритмов
- •Примеры составления блок-схемы алгоритма
- •Основные файлы пакета Турбо Паскаль
- •Запуск интегрированной среды программирования Турбо Паскаль
- •Работа с меню ис
- •Меню File
- •Меню Run
- •Меню Compile
- •Меню Debug
- •Меню Tools
- •Меню Options
- •Меню Window
- •Меню Help
- •Порядок выполнения работы
- •Процедуры ввода-вывода
- •Порядок выполнения работы
- •Оператор записи WriteLn аналогичен процедуре Write, но после вывода последнего в списке значения для текущей процедуры WriteLn происходит перевод курсора к началу следующей строки.
- •Пример программы с использованием процедур ввода-вывода данных с различными форматами выводимых данных
- •Порядок выполнения работы
- •Операторы языка Паскаль
- •Оператор присваивания
- •Оператор безусловного перехода (go to)
- •Порядок выполнения работы
- •Оператор выбора case
- •Порядок выполнения работы
- •Оператор повтора for
- •Примеры программ с использованием оператора for
- •Оператор повтора Repeat
- •Пример программы с использованием оператора repeat
- •Пример программы с использованием операторов присваивания, повтора и выбора
- •Порядок выполнения работы
- •Пример программы с использованием оператора повтора while
- •Порядок выполнения работы
- •Примеры описания одномерных и двумерных массивов
- •Действия над массивами
- •Действия над элементами массива
- •Ввод-вывод элементов массива
- •Пример программы ввода-вывода одномерного массива
- •Пример программы ввода-вывода двумерного массива
- •Порядок выполнения работы
- •Пример программы нахождения в одномерном массиве максимального элемента
- •Порядок выполнения работы
- •Порядок выполнения работы
- •Основные логические структуры:
- •Функции в Паскале
- •Встроенные функции и процедуры
- •Арифметические процедуры и функции
- •Скалярные процедуры и функции
- •Функции преобразования типов
- •Процедуры управления программой
- •Специальные процедуры и функции
- •Вызов стандартной процедуры или функции
- •Порядок выполнения работы
- •Пример программы с использованием функции, определенной пользователем
- •Порядок выполнения работы
- •Пример программы с использованием процедуры, определенной пользователем
- •Механизм передачи параметров
- •Порядок выполнения работы
- •Нетрадиционное использование подпрограмм. Косвенная рекурсия
- •Порядок выполнения работы
- •Линейный поиск
- •Линейный поиск в упорядоченном массиве данных
- •Бинарный (двоичный) поиск
- •Пример программы с использованием алгоритма бинарного поиска
- •Порядок выполнения работы
- •Методы внутренней сортировки
- •Сортировки включением
- •Сортировка выбором
- •Порядок выполнения работы
- •Шейкерная сортировка
- •Пирамидальная сортировка
- •Обменная сортировка разделением
- •Порядок выполнения работы
- •Естественное слияние
- •Многопутевое слияние
- •Порядок выполнения работы
- •Пример разработки собственного модуля
- •Порядок выполнения работы
- •Скалярные процедуры и функции
- •Функции преобразования типов
- •Процедуры управления программой
- •Специальные процедуры и функции
- •Вызов стандартной процедуры или функции
- •Порядок выполнения работы
- •Формат описания строкового типа
- •Фрагмент описания строковых данных
- •Стандартные строковые процедуры и функции
- •Пример программы работы со стандартными строковыми процедурами и функциями
- •Примеры программ работы со строковыми переменными
- •Порядок выполнения работы
- •Пример программы работы с записями
- •Порядок выполнения работы
- •Пример программы работы с записями
- •Порядок выполнения работы
- •Операции над множествами
- •Объединение Пересечение Разность
- •Порядок выполнения работы
- •Формат описания файлового типа
- •Средства обработки файлов
- •Текстовые файлы
- •Пример программы работы с текстовым файлом
- •Порядок выполнения работы
- •Средства работы с типизированными файлами
- •Пример программы работы с типизированным файлом
- •Порядок выполнения работы
- •Средства работы с нетипизированными файлами
- •Пример программы для работы с типизированными файлами
- •Порядок выполнения работы
- •Распределение памяти при выполнении программы
- •Пример программы распределения памяти и получения доступа к полям psp.
- •Порядок выполнения работы
- •Статические и динамические переменные
- •Указатели
- •Типизированные указатели
- •Нетипизированный указатель (pointer)
- •Доступ к переменной по указателю
- •Управление динамической памятью
- •Процедуры динамического распределения
- •Пример программы с использованием динамической памяти
- •Порядок выполнения работы
- •Пример программы создания и использования связанного списка
- •Порядок выполнения работы
- •Параметр процедурного типа
- •Порядок выполнения работы
- •Контрольные вопросы
- •Литература
- •Содержание
Текстовые файлы
Текстовые файлы представляют собой совокупность символов, разделенных на строки, причем в конце каждой строки стоит признак конца строки. Особенностью работы с текстовыми файлами является то, что параметры, значения которых вводятся и выводятся с помощью процедур READ или WRITE, могут быть не только типа String или Char, но и других типов (целых, вещественных - при вводе, целых, вещественных, логических - при выводе).
При работе с текстовыми файлами необходимо, прежде всего, объявить соответствующую файловую переменную:
Var
F:text;
Начало работы с текстовым файлом - стандартное: файловой переменной ставится в соответствие имя файла (процедура Assign), а затем открывается новый текстовый файл (процедура Rewrite) или открывается существующий текстовый файл (процедура Reset).
Далее в таблице представлены процедуры и функции для работы с текстовыми файлами.
Процедуры и функции для работы с текстовыми файлами |
Описание |
APPEND(F)
|
Открытие существующего файла. Открывается существующий файл, с которым связана файловая переменная F и указатель текущего компонента файла перемещается на конец файла. F- переменная любого файлового типа. После открытия текстовый файл можно дополнять информацией, начиная с конца строки. |
READ(F,<список>) |
Чтение из файла. |
READLN(F,<список>) |
Чтение строки из файла. |
SETTEXTBUF(F,BUF[,SIZE]) |
Назначение буфера ввода- вывода. Для файла, с которым связана файловая переменная F, назначается буфер ввода- вывода в виде переменной BUF любого типа. |
WRITE(F,<список>) |
Запись в файл. |
WRITELN(F,<список>) |
Запись строки в файл. |
EOLN(F) |
Коней строки файла. |
EOF(F) |
Конец файла. |
Пример программы работы с текстовым файлом
Program Txt_file; {Пример обработки текстового файла}
Type
fil = text;
Var
Fl, Fl_New : fil;
Name, New_Name : string[12] ;
Txt : string;
Ch : char;
procedure Read_Text; {Считывание текста из файла}
begin
{$I-} {Директива компилятору на отключение стандартной проверки операций ввода-вывода}
Repeat
Write('Введите имя файла для считывания текста: ');
Readln(Name); Writeln;
Assign(Fl,Name) ;
Reset (Fl);
if IOresult<>0 then
begin
Writeln('Файл не найден...');
Close(Fl);
end ;Writeln;
Until IOresult=0 ;
{$I+} {Директива компилятору на включение стандартной проверки операций ввода-вывода}
Writeln('Файл ' ,Name, ' : ') ;Writeln;
while not Eof(Fl) do
begin
Readln(Fl, Txt) ;
Writeln(Txt) ;
end;
Close(Fl);Writeln;
Write('Файл считан, нажмите Enter...');Readln;
end ; {конец процедуры Read_Text }
procedure App_Text; {Добавление текста в файл}
begin
Append(Fl); {Открыть файл для присоединения нового текста}
Writeln('Файл ',Name,' открыт для присоединения нового текста ') ;
Writeln('Вводите текст для записи(для окончания нажмите Enter) :');
Writeln;
Repeat
Write (' :>') ;
Readln(txt);
Writeln(fl,txt);
Until txt=' ';
Close(Fl);Writeln;
Writeln('Присоединение нового текста окончено, нажмите Enter...');
Readln;
end ; {конец процедуры App_Text}
procedure Erase_File; {Удаление файла}
begin
Erase(Fl); {Удаление файла}
Writeln('Файл ',Name,' удален с диска, нажмите Enter...');
Readln;
end; {конец процедуры Erase_File}
procedure Rename_File; {Переименование файла}
begin
Write('Введите новое имя файла: ');
Readln (New_Name) ;
Rename(Fl,New_Name); {Переименование файла}
Writeln('Файл',Name,'переименован в ',New_Name,',нажмите Enter...');
Readln;
end ; {конец процедуры Rename_File}
procedure Copy_File; {Копирование текстового файла}
begin
Write('Введите имя файла, в который копируется файл ', Name);
Readln(New_Name);
Reset(Fl) ;
Assign (Fl_New,New_Name) ;
Rewrite(Fl_New);
while not Eof(Fl) do
begin
Readln(Fl,Txt);
Writeln (Fl_New, Txt) ;
end ;
Close (Fl);
Close (Fl_New);Writeln;
Write('Файл ',Name,' скопирован в ',New_Name,', нажмите Enter...');
Readln ;
end ; {конец процедуры Copy_File}
Begin {Начало основной программы}
Inp_Text;
App_Text;
Write('Удалить файл (D),переименовать(R),скопировать(С),Выход(Е) ');
Readln(Ch) ;
case Ch of
'D','d' : Erase_File;
'R','r' : Rename_File;
'С','с' : Copy_File ;
'E', 'e' : Halt(1);
end;
end.