Коля и Миша разрезали два одинаковых прямоугольника. У Коли получились два прямоугольника, каждый периметром 7 см, а у Миши – два прямоугольника, каждый периметром 11 см. Какой периметр имели первоначальные прямоугольники?
Const n=8; var aNam, aFam, aDat: array[1..n] of string; i: integer;
begin aNam[1]:='Олег'; aFam[1]:='Бубенков'; aDat[1]:='1993'; aNam[2]:='Игорь'; aFam[2]:='Бросов'; aDat[2]:='1991'; aNam[3]:='Тимур'; aFam[3]:='Наружный'; aDat[3]:='1961'; aNam[4]:='Анастасия'; aFam[4]:='Боброва'; aDat[4]:='1985'; aNam[5]:='Михаил'; aFam[5]:='Тапаров'; aDat[5]:='1957'; aNam[6]:='Евгений'; aFam[6]:='Костарева'; aDat[6]:='1992'; aNam[7]:='Мария'; aFam[7]:='Никитин'; aDat[7]:='1977'; aNam[8]:='Ксения'; aFam[8]:='Бабенкова'; aDat[8]:='1978'; writeln('Лица, чьи фамилии начинаются на букву "Б"'); for i := 1 to n do if aFam[i][1] = 'Б' then writeln(aNam[i],' ',aFam[i], ' (', aDat[i], ')') end.
тестовый прогон:
Лица, чьи фамилии начинаются на букву "Б" Олег Бубенков (1993) Игорь Бросов (1991) Анастасия Боброва (1985) Ксения Бабенкова (1978)
Возможна также более "современная" запись программы
const n = 8;
type tP = record Nam: string; Fam: string; Dat: string end;
var M: array[1..n] of tP; i: integer;
begin with M[1] do begin Nam := 'Олег'; Fam := 'Бубенков'; Dat := '1993' end; with M[2] do begin Nam := 'Игорь'; Fam := 'Бросов'; Dat := '1991' end; with M[3] do begin Nam := 'Тимур'; Fam := 'Наружный'; Dat := '1961' end; with M[4] do begin Nam := 'Анастасия'; Fam := 'Боброва'; Dat := '1985' end; with M[5] do begin Nam := 'Михаил'; Fam := 'Тапаров'; Dat := '1957' end; with M[6] do begin Nam := 'Евгений'; Fam := 'Костарева'; Dat := '1992' end; with M[7] do begin Nam := 'Мария'; Fam := 'Никитин'; Dat := '1977' end; with M[8] do begin Nam := 'Ксения'; Fam := 'Бабенкова'; Dat := '1978' end; writeln('Лица, чьи фамилии начинаются на букву "Б"'); for i := 1 to n do With M[i] do begin if Fam[1] = 'Б' then writeln(Nam, ' ', Fam, ' (', Dat, ')') end end.
function ProdPos(a: V): longint; var i: integer; begin Result := 1; foreach var p: longint in a do if p > 0 then Result := Result * p end;
procedure InitMas(var a: V; title: string); var i: integer; begin writeln(title, '(', length(a, 0), '). Вводите элементы.'); for i := 0 to length(a, 0) - 1 do read(a[i]) end;
n=8;
var
aNam, aFam, aDat: array[1..n] of string;
i: integer;
begin
aNam[1]:='Олег'; aFam[1]:='Бубенков'; aDat[1]:='1993';
aNam[2]:='Игорь'; aFam[2]:='Бросов'; aDat[2]:='1991';
aNam[3]:='Тимур'; aFam[3]:='Наружный'; aDat[3]:='1961';
aNam[4]:='Анастасия'; aFam[4]:='Боброва'; aDat[4]:='1985';
aNam[5]:='Михаил'; aFam[5]:='Тапаров'; aDat[5]:='1957';
aNam[6]:='Евгений'; aFam[6]:='Костарева'; aDat[6]:='1992';
aNam[7]:='Мария'; aFam[7]:='Никитин'; aDat[7]:='1977';
aNam[8]:='Ксения'; aFam[8]:='Бабенкова'; aDat[8]:='1978';
writeln('Лица, чьи фамилии начинаются на букву "Б"');
for i := 1 to n do
if aFam[i][1] = 'Б' then
writeln(aNam[i],' ',aFam[i], ' (', aDat[i], ')')
end.
тестовый прогон:
Лица, чьи фамилии начинаются на букву "Б"
Олег Бубенков (1993)
Игорь Бросов (1991)
Анастасия Боброва (1985)
Ксения Бабенкова (1978)
Возможна также более "современная" запись программы
const
n = 8;
type
tP = record
Nam: string;
Fam: string;
Dat: string
end;
var
M: array[1..n] of tP;
i: integer;
begin
with M[1] do begin Nam := 'Олег'; Fam := 'Бубенков'; Dat := '1993' end;
with M[2] do begin Nam := 'Игорь'; Fam := 'Бросов'; Dat := '1991' end;
with M[3] do begin Nam := 'Тимур'; Fam := 'Наружный'; Dat := '1961' end;
with M[4] do begin Nam := 'Анастасия'; Fam := 'Боброва'; Dat := '1985' end;
with M[5] do begin Nam := 'Михаил'; Fam := 'Тапаров'; Dat := '1957' end;
with M[6] do begin Nam := 'Евгений'; Fam := 'Костарева'; Dat := '1992' end;
with M[7] do begin Nam := 'Мария'; Fam := 'Никитин'; Dat := '1977' end;
with M[8] do begin Nam := 'Ксения'; Fam := 'Бабенкова'; Dat := '1978' end;
writeln('Лица, чьи фамилии начинаются на букву "Б"');
for i := 1 to n do
With M[i] do begin
if Fam[1] = 'Б' then
writeln(Nam, ' ', Fam, ' (', Dat, ')')
end
end.
V = array of integer;
function ProdPos(a: V): longint;
var
i: integer;
begin
Result := 1;
foreach var p: longint in a do
if p > 0 then Result := Result * p
end;
procedure InitMas(var a: V; title: string);
var
i: integer;
begin
writeln(title, '(', length(a, 0), '). Вводите элементы.');
for i := 0 to length(a, 0) - 1 do
read(a[i])
end;
procedure GetMas(var a: V; dim: integer; title: string);
begin
SetLength(a, dim);
InitMas(a, title);
end;
const
n1 = 10;
n2 = 15;
var
A, B: V;
begin
GetMas(A, n1, 'Массив А');
GetMas(B, n2, 'массив B');
writeln('Большее произведение положительных ', max(ProdPos(A), ProdPos(B)))
end.
Тестовый прогон:
Массив А(10). Вводите элементы.
1 1 1 1 2 1 2 2 1 5
массив B(15). Вводите элементы.
1 0 2 4 0 1 -3 -4 1 2 3 1 -3 0 2
Большее произведение положительных 96