Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний технічний університет України
“Київський політехнічний інститут”
Кафедра ОТ
ЗВІТ
про виконання лабораторної роботи № 9_2
з дисципліни
“Основи програмування та алгоритмічні мови”
Тема: Текстові файли
Постановка задачі
Створити два текстових файли, вводячи їх рядки з клавіатури. Переписати в новий текстовий файл рядки, які є у другому вихідному файлі, і відсутні у першому. Визначити кількість таких рядків. Вивести вміст вхідних і створеного файлів.
Текст програми з коментарями
uses crt;
const adres1='t1.txt';
adres2='t2.txt';
adres3='t.txt';
procedure create(s:string);
var c:char;
y:integer;
t:text;
begin
assign(t,s);
rewrite(t);
write('Dlya vixoda nagmite '); textcolor(4); writeln('klavishy peremesheniya ili klavishy "F#"'); textcolor(1);
write(' ');
repeat
repeat
c:=readkey;
if c=#0 then break;
if c<>#13 then
begin
write(c);
write(t,c);
end;
until c=#13;
writeln;
write(' ');
if c<>#0 then
writeln(t);
until c=#0;
readkey;
close(t);
writeln;
end;
procedure vivod(adres:string);
var s:string;
t:text;
begin
assign(t,adres);
reset(t); textcolor(1);
while not(eof(t)) do
begin
write(' ');
readln(t,s);
writeln(s);
end;
readln;
close(t);
end;
function len(var t:text):byte;
var i:byte;
begin
reset(t);
i:=0;
while not(eof(t)) do
begin
readln(t);
inc(i);
end;
close(t);
len:=i;
end;
function Up(s:string):string;
var i:byte;
begin
for i:=1 to length(s) do
s[i]:=Upcase(s[i]);
Up:=s;
end;
procedure poisk;
var i,n:byte;
b:boolean;
s1,s2:string;
t,t1,t2:text;
begin
assign(t,adres3);
assign(t1,adres1);
assign(t2,adres2);
rewrite(t);
close(t);
reset(t2);
while not(eof(t2)) do
begin
readln(t2,s2);
i:=0;
b:=true;
reset(t1);
while not(eof(t1)) do
begin
readln(t1,s1);
if Up(s1)=Up(s2) then
b:=false;
end;
if b then
begin
append(t);
writeln(t,s2);
close(t);
end;
close(t1);
end;
close(t2); textcolor(0);
write('kolichestvo ryadov kotorie est` vo vtorom i net v pervom faile: '); textcolor(4); writeln(len(t)); textcolor(0);
writeln('Sodergimoe 3 faila: ');
vivod(adres3);
end;
BEGIN
textbackground(7);
textcolor(0);
clrscr;
writeln('Result of laboratory work 9_2');
writeln('variant 4');
writeln('Executed student of group IP-02 Bondur Vladislav');
writeln('Vvedite stroki v 1 fail');
create(adres1); textcolor(0);
writeln('Vvedite stroki v 2 fail');
create(adres2); textcolor(0);
writeln('Sodergimoe 1 faila: ');
vivod(adres1); textcolor(0);
writeln('Sodergimoe 2 faila: ');
vivod(adres2);
poisk;
END.
Блок-схема алгоритму
Результат виконання програми у вигляді відеокопії екрана
/
Висновки
Перевіримо, чи правильно працює моя програма:
Після ряду обчислень отримуємо наступні М-норми:
1 матриця: 258.74; 380.23; 148.46; 274.55; 170.17.
2 матриця: 283,58; 230,54; 324,47; 259,29; 216,67
Отже, в масиві А найбільша М-норма другої строки і дорівнює 380,23, а в масиві В: 3 строчка 324,47
Їх середнє арифметичне дорівнює 352,35
Як бачимо, результат програми співпав з результатами моїх обчислень.