Реферат Курсовая Конспект
Лабораторная работа № 6 ТЕКСТОВЫЕ ФАЙЛЫ - раздел Образование, Лабораторная Работа № 6 ...
|
Теоретические сведения
Буфер.
Ввод данных в файл и вывод их из файла организуется через буфер. Буфер – область в памяти, отводимая при открытии файла. Вначале все, что вводится (выводится), пишется в буфер. Только при наполнении или специальной команде сброса буфера происходит передача содержимого в файл.
Для некоторых типов файлов размер буфера можно определять программно (обычно размер задается по умолчанию).
При выводе на экран эффект буферизации отключается.
Пример
1. q = 'AB*1', a = 'DF#2', b = 'KM@3', W = -122×10-9, E = 156,
F = (1,2,3,4,5).
2. Найти разность R между максимальным и минимальным элементами массива
Порядок выполнения работы
1. С помощью Проводника Windows на рабочем логическом диске создайте папку (например, Ivanov6) для размещения файлов проекта.
2. Создайте проект «Console Application» консольного приложения Delphi.
3. Сохраните файлы проекта в папку Ivanov6 под именем Ivanov6.
4. Вставьте текстовый файл в проект (команда меню «File / New / Other…»). Выберите на вкладке «New» тип вставляемого объекта «Text».
5. В результате текстовый файл File1.txt будет вставлен в проект и открыт в окне редактора.
6. Сохраните файл под именем Ivanov6_1.txt (команда меню «File | Save As…»)
7. Внесите в новый файл данные первого задания (строки – без пробелов, числа – через пробел):
8. Сохраните изменения файла (команда меню «File | Save»).
9. Отредактируйте текст главной программы для задачи 1.
PROGRAM Ivanov6;
{$APPTYPE CONSOLE}
USES
SysUtils;
Var
F:array [1..10] of integer; // Массив F
teta,alfa,beta :string[4];// Стринги
w :real;// Вещественное число W
e :integer;// Целое число Е
i :integer;// Счетчик элементов массива F
n :integer;// Количество элементов массива F
fi,fo :text;// Файловые переменные fi,fo
begin
// Файловой переменной fi назначается файл Ivanov6_1.txt
AssignFile(fi,'Ivanov6_1.txt');
Reset(fi); // Текстовый файл открывается для чтения
Readln(fi,teta,alfa,beta);// Чтение из файла первой строки
Readln(fi,w,e); // Чтение из файла второй строки
Readln(fi,n); // Чтение из файла третьей строки
for i:=1 to n do Read(fi,F[i]); // Чтение из файла четвертой строки
CloseFile(fi); // Закрывается прочитанный файл fi
// Выводим информацию в файл:
// Файловой переменной fo назначается файл Ivanov6_1.out
AssignFile(fo,'Ivanov6_1.out');
Rewrite(fo);// Текстовый файл fo открывается для записи
Writeln(fo,' teta=',teta,' alfa=',alfa,' beta=',beta);
Writeln(fo,' w=',w:12:9,' e=',e:4);
Write(fo,' F=(');
for i:=1 to n do Write(fo,F[i]:3);
Writeln(fo,' )');
CloseFile(fo); // Закрывается файл fo,созданный программой
// выводим информацию на экран:
Writeln(' teta=',teta,' alfa=',alfa,' beta=',beta);
Writeln(' w=',w:12:9,' e=',e:4);
Write(' f=(');
for i:=1 to n do Write(F[i]:3);
Writeln(' )');
WriteLn('***** Press <ENTER> to finish *****');
Readln;// задержка экрана
Const
MaxDim = 10;// максимальный размер матрицы
Type
arr=array[1.. MaxDim,1.. MaxDim] of integer;// тип arr для массива А
Var
A:arr;// массив А
R:integer;// разность
Amax:integer;// максимальный элемент
Amin:integer;// минимальный элемент
i,j:integer;// счетчики по строкам, столбцам
m:integer;// размер квадратной матрицы
fi,fo:text;// файловые переменные
begin
// Файловой переменной fi назначается файл Ivanov6_2.txt
AssignFile(fi,'Ivanov6_2.txt');
Reset(fi);// Текстовый файл открывается для чтения
// Файловой переменной fo назначается файл Ivanov6_2.out
AssignFile(fo,'Ivanov6_2.out');
Rewrite(fo);// Текстовый файл fo открывается для записи
Readln(fi,m);// чтение размера матрицы из первой строки файла
if m>MaxDim then// проверка размера матрицы
Begin
M:=MaxDim;
Writeln('Матрица из файла урезана до размера массива');
End;
for i:=1 to m do // чтение из файла матрицы А
Begin
for j:=1 to m do Read(fi,A[i,j]);
Readln(fi);// перевод указателя файла на новую строку
End;
CloseFile(fi);// Закрывается прочитанный файл fi
Amin:=A[1,1];// начальные установки
Amax:=A[1,1];
// поиск минимального и максимального элементов:
for i:=1 to m do
for j:=1 to m do
Begin
if A[i,j] < Amin then Amin:=A[i,j];
if A[i,j] > Amax then Amax:=A[i,j];
End;
R:=Amax-Amin;// разность
Writeln(fo,' Amax=',Amax,' Amin=',Amin,' Raznost = ',R);
Writeln('Amax=',Amax,' Amin=',Amin,' Raznost = ',R);
CloseFile(fo);// Закрывается файл fo,созданный программой
WriteLn('***** Press <ENTER> to finish *****');
Readln;// задержка экрана
end.
21. Запустите приложение на выполнение (горячая клавиша F9). Консольное окно с результатами расчета для задачи 1 выглядит так:
22. Откройте файл с результатами Ivanov6_2.out (команда меню «File | Open»)
23. Проанализируйте содержание выходного файла Ivanov6_2.out
24. Сохраните и закройте проект Ivanov6_2.
ВАРИАНТЫ ЗАДАНИЙ
Задача 1
1. .
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21. .
22.
23.
24.
25..
26.
27.
28.
29.
30.
Варианты заданий для задачи 2взять из лабораторной работы № 5.
– Конец работы –
Используемые теги: Лабораторная, работа, Текстовые, файлы0.078
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Лабораторная работа № 6 ТЕКСТОВЫЕ ФАЙЛЫ
Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов