Пожалуйста напишите эти задачи используя только эти команды:array, begin, do, else, procedure, repeat, of, if, or, for, then, until, to, var, indeger, real, Write, read, whil, const, program, end, else writeln, randomize, random, imax. Всё остальное мы не проходили!
11. В целочисленных массивах а и b содержатся длины катетов
десяти прямоугольных треугольников (a[i] — длина перво-
го катета, b[i] — длина второго катета і-го треугольника).
Напишите программу, которая по имеющимся данным опре-
делит треугольник с наибольшей площадью и выведет его
номер, длины катетов и площадь. Предусмотрите случай,
когда таких треугольников несколько.
12. Занесите информацию о десяти европейских странах в мас-
сивы п (название страны), k (численность населения), s (пло-
щадь страны). Напишите программу, выводящую названия
стран в порядке возрастания плотности их населения.
TO OTTICIPANOW
Ответы
Ответ:
program triangle;
var
a, b: array [1..10] of Integer;
s: array [1..10] of Real;
i: Integer;
smax: Double;
begin
Randomize;
WriteLn ('Катеты треугольников:');
for i := Low (a) to High (a) do begin
a [i] := Random (101) + 1;
b [i] := Random (101) + 1;
Write (a [i], ', ', b [i], '; ');
end;
WriteLn;
WriteLn ('Площади:');
for i := Low (a) to High (a) do begin
s [i] := a [i] * b [i] / 2;
Write (s [i] :5 :2, ' ');
end;
smax := 0;
for i := Low (s) to High (s) do begin
if s [i] > smax then
smax := s [i]
end;
WriteLn;
WriteLn ('Треугольники с наибольшей площадью:');
for i := Low (s) to High (s) do begin
if s [i] = smax then begin
WriteLn ('Номер: ', i);
WriteLn ('Катет а: ', a [i]);
WriteLn ('Катет b: ', b [i]);
WriteLn ('Площадь: ', s [i] :5 :2);
end;
end;
ReadLn;
end.
Программа №2
program country;
var
c: array [1..10] of string;
n, s, srt: array [1..10] of Integer;
p: array [1..10] of Real;
i, j, imin: Integer;
pmin, pp: Real;
begin
c [1] := 'Австрия';
n [1] := 8169;
s [1] := 83858;
c [2] := 'Албания';
n [2] := 2831;
s [2] := 28748;
c [3] := 'Болгария';
n [3] := 7621;
s [3] := 110910;
c [4] := 'Великобритания';
n [4] := 61100;
s [4] := 244820;
c [5] := 'Венгрия';
n [5] := 10075;
s [5] := 93030;
c [6] := 'Германия';
n [6] := 83251;
s [6] := 357021;
c [7] := 'Греция';
n [7] := 10815;
s [7] := 131957;
c [8] := 'Испания';
n [8] := 45061;
s [8] := 504851;
c [9] := 'Италия';
n [9] := 59530;
s [9] := 301230;
c [10] := 'Франция';
n [10] := 63181;
s [10] := 574030;
for i := 1 to 10 do
p [i] := n [i] * 1000 / s [i];
i := 1;
for j := 1 to 10 do begin
for i := 1 to 10 do
if P [i] > 0 then begin
imin := i;
Break;
end;
for i := 1 to 10 do
if (P [i] > 0) and (p [i] < p [imin]) then
imin := i;
srt [j] := imin;
p [imin] := 0;
end;
WriteLn ('Название' :15, ' ', 'Население' :9, ' ', 'Площадь' :7, ' ', 'Плотность' :9);
for i := 1 to 10 do begin
j := srt [i];
pp := n [j] * 1000 / s [j];
WriteLn (c [j] :15, ' ', n [j] :9, ' ', s [j] :7, ' ', pp :9 :2);
end;
ReadLn;
end.