Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР_06_Файлы.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
489.98 Кб
Скачать

Порядок выполнения работы

  1. С помощью Проводника Windows на рабочем логическом диске создайте папку (например, Ivanov6) для размещения файлов проекта.

  2. Создайте проект «Console Application» консольного приложения Delphi.

  3. Сохраните файлы проекта в папку Ivanov6 под именем Ivanov6.

  4. Вставьте текстовый файл в проект (команда меню «File / New / Other…»). Выберите на вкладке «New» тип вставляемого объекта «Text».

  1. В результате текстовый файл File1.txt будет вставлен в проект и открыт в окне редактора.

  1. Сохраните файл под именем Ivanov6_1.txt (команда меню «File | Save As…»)

  1. Внесите в новый файл данные первого задания (строки – без пробелов, числа – через пробел):

  1. Сохраните изменения файла (команда меню «File | Save»).

  2. Отредактируйте текст главной программы для задачи 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; // задержка экрана

Readln;

END.

  1. Запустите приложение на выполнение (горячая клавиша F9). Консольное окно с результатами расчета для задачи 1 выглядит так:

  1. Откройте файл с результатами Ivanov6_1.out (команда меню «File | Open»)

  1. Проанализируйте содержание выходного файла Ivanov6_1.out

  1. Сохраните и закройте проект Ivanov6.

  2. Создайте новый проект консольного приложения Delphi и сохраните его файлы в папку Ivanov6 под именем Ivanov6_2.

  1. Вставьте текстовый файл в проект (команда меню «File / New / Other…»). Выберите на вкладке «New» тип вставляемого объекта «Text».

  2. В результате текстовый файл File1.txt будет вставлен в проект и открыт в окне редактора.

  3. Сохраните файл под именем Ivanov6_2.txt (команда меню «File | Save As…»)

  1. Внесите в новый файл Ivanov6_2.txt данные второго задания:

  1. Сохраните изменения файла (команда меню «File | Save»).

  2. Отредактируйте текст главной программы для задачи 2.

program Ivanov6_2;

{$APPTYPE CONSOLE}

uses

SysUtils;

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.

  1. Запустите приложение на выполнение (горячая клавиша F9). Консольное окно с результатами расчета для задачи 1 выглядит так:

  1. Откройте файл с результатами Ivanov6_2.out (команда меню «File | Open»)

  1. Проанализируйте содержание выходного файла Ivanov6_2.out

  1. Сохраните и закройте проект Ivanov6_2.