Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
261.doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Практические примеры

Программа 1

Дан список учащихся класса, содержащий следующие поля: фамилия, имя, класс, оценка по математике, информатике, физике, средний бал по всем предметам. Определить у какого ученика оценка по математике выше, чем по информатике. У какого ученика средний бал по всем предметам равен 5.

program zadacha_1;

uses crt;

type

s=record {Список учеников}

f: string[15];{фамилия}

im: string[10];{имя}

kl:integer;{класс}

oc_m: 1..5; {оценка по математике}

oc_f: 1..5; {оценка по физике}

oc_i: 1..5; {оценка по информатике}

sr: real; {средний бал}

end;

var

a: array [1..30] of s; {массив учащихся}

n: integer;{количество учащихся в классе}

i: integer;

begin

clrscr;

writeln('Введите количество учащихся в классе');

readln(n);

for i:=1 to n do

with a[i] do

begin

write('Введите фамилию ',i,' учащегося--> ');

readln (f);

write('Введите его имя-->');

readln (im);

write('Введите класс-->');

readln(kl);

write('Введите его оценку по математике-->');

readln (oc_m);

write('Введите его оценку по информатике-->');

readln (oc_i);

write('Введите его оценку по физике-->');

readln (oc_f);

end;

for i:=1 to n do

with a[i] do

begin

sr:=(oc_m+oc_f+oc_i)/3;

end;

writeln;

writeln('........СПИСОК УЧАЩИХСЯ.....................');

writeln;

for i:=1 to 67 do

write('-');

writeln;

writeln('| № | Фамилия | Имя | Класс | Матем | Инф | Физ | Ср.б |');

for i:=1 to 67 do

write('-');

writeln;

for i:=1 to n do

with a[i] do

begin

writeln(i:3,f:15,im:10,kl:9,oc_m:7,oc_i:7,oc_f:7,sr:8:2);

end;

for i:=1 to n do

with a[i] do

begin

if a[i].oc_m>a[i].oc.i then

writeln('У ',a[i].f,' оценка по математике выше чем по информатике');

if a[i].sr=5 then

writeln('У ',a[i].f,' средний бал по всем предметам – 5');

end;

readln;

end.

Программа 2

Дана запись координат N точек на плоскости. Найти близлежащую точку к началу координат.

program zadacha_2;

uses crt;

type s=record

x,y,d:integer;

end;

var

a:array [1..100] of s;

i: integer;

n: integer;

min: integer;

begin

clrscr;

write ('Введите количество точек ');

readln (n);

For i:=1 to n do

with a[i] do

begin

write ('введите координаты ',i,' точки ');

readln (x,y);

end;

for i:=1 to n do

with a[i] do

begin

a[i].d:=(x*x)+(y*y);

end;

min:=a[1].d;

for i:=1 to n do

with a[i] do

begin

if a[i].d < min then

begin

min:=a[i].d;

end;

end;

for i:=1 to n do

with a[i] do

begin

if a[i].d = min then

begin

writeln ('точка ',i, ' ближняя k (0,0) имеет координаты(',a[i].x,',',a[i].y,')');

end;

end;

readln;

end.

Программа 3

Найти сумму и произведение двух комплексных чисел:

z1=a1+i*b1 и z2=a2+i*b2.

program соmpl;

туре соmpl = гесоrd

ге : геаl;

im : геаl

end;

var z1,z2,s,р соmpl;

begin

writeln('компл.число a+i*b вводите двумя числами а и b: ');

writeln('введите 1 число: '); readln(z1.re,z1.im); write('введите 2 число: '); readln(z2.re,z2.im);

s.re := z1.re + z2.re;

s.im : = z1.im + z2.im;

р.ге := z1.re * z2.re – z1.im * z2.im;

p.im := z1.ге * z2.im + z2.re * z1.im; writeln('s=',s.re:4:2,' + I * ‘s.im:4:2);

write('р=',р.ге:4:2,' + i * p.im:4:2);

end.