Академический Документы
Профессиональный Документы
Культура Документы
C-222 LL nr.6
C-222 LL nr.6
DAREA DE SEAMĂ
la lucrarea de laborator № 6
Disciplina: INFORMATICA
Tema:Fishiere Pascal
A efectuat
studentul gr. C-222 Pascari Marc
A verificat
Conf. univ., dr. Andronic Serghei
Chișinău - 2022
Цель работы: Научиться работать с текстовым и типизированным файлом
Задача:
Составить блок схему алгоритма и программу, которая:
1.Считываетс клавиатуры и записывает в типизированном
файлеА.dat144 компонентов.
2.Читает файлА.datи создает матрицу А размерностью 12x12.
3.Осуществляет поиск минимального элемента, принадлежащий
множеству элементов, расположенныхв нечетных столбцах матрицы.
4.Находит максимальный элемент из множества элементов
принадлежащих заштрихованной части матрицы.
5.Заменяетместами элементы, найденные во втором и третьем
пунктах настоящего задания.
6.Выводит на экран монитора и записывает в текстовом файле
В.txt модифицированную матрицу и полученные результаты,
сопровождая их идентификаторами используемых переменных и
соответствующими комментариями..
Блок схема алгоритма:
Start
a
Assign(Fint,mml)
Reset(Fint)
Rewrite(Fint)
I=1
I=1
J=1
J=1
Читать B(I,j)
Запись
из A.dat
A(I,J) в
файле
A.dat
J=j+1
J=j+1
J<=12
J<=12
I=i+1
I=i+1
I<=12
I<=12
ba c
b
i
Min=A[1,1]; Max=A[1,12]x
x=1; y=1; 1=1; y1=12;i=1
j=1;
I=1
J=13-i
A[I,J]<
Min
A[I,j]>max
X=i; y=j
Max=A[I,j]
Min=A{I,j}
X1=I;y1=j
I=i+1
J=j+1
I<=12
J<=12
J=j+2
I=i+1
j>12
I<=12 d
c
d
e
Close(Fint)
Запись
in Max
A[x,y]=Max
A[x1,y1]=Min
Запись
Max Min
I=1 b
Close(f,txt)
J=1
Запись end
A[I,J]
Запись
A[I,j]B.txt
J=j+1
J<=12
I=i+1
I<=12 e
Листинг программы:
Program Fi_3;
Type M2= array [1..12,1..12] of Integer;
Matrice = File of Integer;
Var A:M2;
Fint:Matrice;
Ftxt:Text;
i,j, Max,x,y, Min,x1,y1:integer;
mml:string;
hj:string;
Begin
writeln('Введите имя типизированного файла:');
read(mml);
read(hj);
writeln('Введите имя текстового файла:');
//Assign (Ftxt,hjko);
Assign (Fint,mml);
Rewrite (Fint);
//Rewrite (Ftxt);
//Записываем значения матрицы в файл
for i:=1 to 12 do
for j:=1 to 12 do
Begin
writeln('A[',i,',',j,']=');
readln(A[i,j]);
write(Fint,A[i,j]);
end; //Конец первого пункта
writeln('Исходная матрица:');
Reset(Fint);
for i:=1 to 12 do
begin
for j:=1 to 12 do
begin
read(Fint,A[i,j]);
write(A[i,j]:4);
end;
writeln;
end;
writeln; //Конец второго пункта
Min:=A[1,1]; x:=1; y:=1; j:=1;
Repeat
For i:=1 to 12 do
If A[i,j]<Min Then
Begin
Min:=A[i,j];
x:=i; y:=j
end;
j:=j+2
Until j>12; //Конец третьего пункта
Close (Fint);
A[x,y]:=Max;
A[x1,y1]:=Min; //Конец пятого пункта