Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
15
Добавлен:
20.06.2014
Размер:
71.68 Кб
Скачать

Лабораторная работа №4

Тема: Программирование алгоритмов обработки файловых структур данных на языке Паскаль в инструментальной среде Delphi.

Цель работы: Овладение навыками алгоритмизации и программирования файловых структур данных, проектированием структуры файла, вывод данных в файл, чтение данных из файла.

  • Изучить возможности языка программирования для обработки строковых данных;

  • Освоить функции и процедуры обработки текстовых строк;

  • Овладеть практическими навыками разработки и программирования итерационной циклической структуры (while, repeat) для обработки текстовых строк.

Выполнил студент группы

Задание 1

Исходный код программы:

type

R=Record

famil:string[25];

oc1:1..5;

oc2:1..5;

end;

var F:File of R;

a:R;

k:Integer;

begin

Assign(F,'SPISOK.TXT');

Writeln('Vvod spiska zakonchitsya nagatiem');

Writeln('Klavishi"^".');

Rewrite(F);

k:=0;

Repeat

k:=k+1;

write('Vvedite svedenie na ',k,'ychenika');

Readln(a.famil);

if a.famil<>'^' then

begin

readln(a.oc1);

readln(a.oc2);

write(F,a)

end;

writeln

until a.famil='^';

close(F);

reset(F);

Writeln('Svedenie ob ychenicah klassa: ');

While not EOF(f) do

begin

read(F,a);

Write(a.famil,' ',a.oc1,' ',a.oc2);

Writeln;

end;

Close(F);

Reset(F);

Writeln('Spisoc yspevauchsih ychenikov: ');

While not EOF(F) do

begin

Read(F,a);

if (a.oc1>=4) And (a.oc2>=4) then Writeln(a.famil)

end;

Close(F);

readln;

end.

Исходные данные:

Результаты расчёта:

Блок схема:

Задание 2

Исходный код программы:

var f,g,h:text;

k:integer;

begin

assign(f,'f.txt');

assign(g,'g.txt');

assign(h,'h.txt');

reset(f);

rewrite(g);

while not eof(f) do begin

read(f,k);

if k>0 then write(g,' ',k);

end;

reset(f); reset(g); rewrite(h);

while not eof(g) do begin

read(g,k);

write(h,k,' ');

repeat

read(f,k);

until k<0;

write(h,k,' ');

end;

close(f);

close(g);

close(h);

end.

Исходные данные:

Результаты расчёта:

Блок схема:

Задание 3

Исходный код программы:

var S:string;

flag:boolean;

f:text;

begin

flag:=false;

write('Vvedite name fail: ');

repeat

readln(S);

{$I-}

assign(f,s);

reset(f);

case IOResult of

0:flag:=true;

3:write('Pyti k fail ykazan neverno. Izmenite pyti: ');

5:write('Dostypa k fail not. Izmenite name disk: ');

152:write('Takogo diska net. Izmenite name fail: ');

else write('Takogo fail net. Izmenite name fail: ');

end;

until flag;

{$I+}

end.

Исходные данные:

Результаты расчёта:

Блок схема:

Задание 4

Исходный код программы:

var f,k:text;

ch:integer;

begin

assign(f,'f.txt'); assign(k,'k.txt');

reset(f); rewrite(k);

while not eof(f) do begin

read(f,ch);

write(k,ch:3);

end;

close(f); close(k);

end.

Исходные данные:

Результаты расчёта:

Блок схема:

Задание 5

Исходный код программы:

var a:array[1..5] of integer; S:string;

f,k:text;

i,j,L,max:integer;

begin

assign(f,'f.txt'); assign(k,'k.txt');

reset(f); rewrite(k);

j:=0;

while not eof(f) do begin

max:=-MaxInt;

for i:=1 to 5 do

begin

if not eof(f) then begin

read(f,a[i]);

if a[i]>max then max:=a[i];

end;

end;

write(k,' ',max);

j:=j+1;

end;

close(f);

close(k);

end.

Исходные данные:

Результаты расчёта:

Блок схема:

Соседние файлы в папке Лаба4