
- •Введение
- •Лабораторная работа №1
- •Лабораторная работа №2 Задача 1
- •Лабораторная работа №3 Задача 1
- •Лабораторная работа №4
- •Задача 3
- •Лабораторная работа №5
- •Лабораторная работа №6
- •Лабораторная работа №7
- •Лабораторная работа №8-10
- •Лабораторная работа №11 Задача 1
- •Лабораторная работа №12
- •Лабораторная работа №14
- •Лабораторная работа №15
- •Лабораторная работа №16
- •Лабораторная работа №17
- •Заключение:
Лабораторная работа №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.