Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Портфолио Шимбирёв.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.53 Mб
Скачать

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

Задача 1

Постановка задачи: Создать меню.

Тест:

Входные данные:

Выходные данные:

Нет данных

Нет данных

Блок-схема:

Листинг программы:

uses crt;

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

i,j:byte;

f:text;

s,d:string;

g:char;

procedure menu;

var i:integer;

begin

a[1]:=' 1=new ';

a[2]:=' 2=write ';

a[3]:=' 3=read ';

a[4]:=' 4=delete';

a[5]:=' 5=rename';

for i:=1 to 5 do

if j=i then

writeln('>-> ',a[i],' <-<')

else

writeln(' ',a[i],' ');

end;

procedure a1;

begin

writeln('name = ');

readln(s);

s:='C:\'+s+'.txt';

assign(f,s);

rewrite(f);

close(f);

writeln('File created');

end;

procedure a2;

begin

writeln('name = ');

readln(s);

writeln('stroka = ');

readln(d);

s:='C:\'+s+'.txt';

assign(f,s);

if fileexists(s)=true then

append(f);

write(f,d);

close(f);

writeln('Ready');

end;

procedure a3;

begin

writeln('name = ');

readln(s);

s:='C:\'+s+'.txt';

assign(f,s);

reset(f);

read(f,d);

close(f);

writeln(d);

writeln('Ready');

end;

procedure a4;

begin

writeln('name = ');

readln(s);

s:='C:\'+s+'.txt';

assign(f,s);

rewrite(f);

if fileexists(s)=true then

begin

close(f);

erase(f);

end;

writeln('File deleted');

end;

procedure a5;

begin

writeln('name = ');

readln(s);

s:='C:\'+s+'.txt';

assign(f,s);

if (fileexists(s))=true then

begin

reset(f);

writeln('new name');

readln(d);

d:='C:\'+d+'.txt';

close(f);

rename(f,d);

writeln('File renamed');

end;

end;

begin

j:=1;

repeat

readkey;

g:=readkey;

if (g=#40) or (g=#80) then

begin

clrscr;

if j=5 then

j:=1

else

j:=j+1;

menu;

end;

if (g=#38) or (g=#72) then

begin

clrscr;

if j=1 then

j:=5

else

j:=j-1;

menu;

end;

if g=#13 then

begin

clrscr;

case j of

1:a1;

2:a2;

3:a3;

4:a4;

5:a5;

end;

end;

until 1+1=1;

end.

Скриншоты:

Рис 13.

Рис 14.

Рис 15.

Рис 16.

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

Постановка задачи: В таблице хранятся следующие данные об учениках: фамилия, имя, отчество, рост, масса. Вычислить средний рост учеников, рост самого высокого и самого низкого ученика. Сколько учеников могут заниматься в баскетбольной секции, если рост баскетболиста должен быть больше 170 см?

Тест:

Входные данные:

Выходные данные:

Нет

Нет

Блок-схема:

Листинг программы:

uses crt;

type

group = record;

n:string[30];

r:byte;

m:byte;

end;

var

a:array[1..99] of group;

n:byte;

i:integer;

nor:real;

max:byte;

maxi:byte;

min:byte;

mini:byte;

b:byte;

begin

writeln('Введите размер таблици');

readln(n);

for i:=1 to n do

begin

writeln('Введите Ф.И.О.');

readln(a[i].n);

writeln('Введите рост');

readln(a[i].r);

writeln('Введите массу');

readln(a[i].m);

end;

nor:=0;

max:=0;

min:=250;

for i:=1 to n do

begin

nor:=nor+a[i].r;

if max < a[i].r then

begin

max:=a[i].r;

maxi:=i;

end;

if min > a[i].r then

begin

min:=a[i].r;

mini:=i;

end;

if a[i].r > 170 then b:=b+1;

end;

nor:=nor/n;

writeln('Средний рост учеников - ', nor:1:1);

writeln('Максимальный рост - ', a[maxi].n, ' ',max);

writeln('Минимальный рост - ', a[mini].n, ' ',min);

writeln(b, ' учеников имеют рост выше 170см.');

end.

Скриншот:

Рис 17.