While <условие> do begin
{тело циклы}
end;
Type
tE = record
v: integer;
p: integer;
end;
procedure Swap2E(var a: tE; var b: tE);
// Обмен содержимым пары записей
var
Buff: integer;
begin
Buff := a.v; a.v := b.v; b.v := Buff;
Buff := a.p; a.p := b.p; b.p := Buff
end;
procedure Swap3E(var a: tE; var b: tE; var c: tE);
// Обмен содержимым трех записей
// Предполагается, что до вызова процедуры a.v>=b.v,
// после вызова значение с.v помещается в a.v или b.v так,
// чтобы большее из трех значений попало в a.v, а следующее
// по величине попало в b.v. Младшее значение теряется.
begin
if c.v >= a.v then begin
Swap2E(a, b); Swap2E(a, c)
end
else
if c.v > b.v then Swap2E(b, c);
end;
const
n = 50;
var
a: array[1..n] of integer;
R1, R2, T: tE;
i, e, m: integer;
begin
i := 1;
writeln('Вводите числа, 0 - конец ввода');
repeat
read(e);
a[i] := e;
i:=i+1;
until e = 0;
m := i;
if a[1] > a[2] then begin
R1.v := a[1]; R1.p := 1;
R2.v := a[2]; R2.p := 2
end
else begin
R1.v := a[2]; R1.p := 2;
R2.v := a[1]; R2.p := 1
end;
for i := 3 to m do
begin
T.v := a[i];
T.p := i;
Swap3E(R1, R2, T)
end;
writeln('Максимальные значения имеют элементы с номерами ', R1.p, ' и ', R2.p);
writeln('Сумма этих элементов равна ', R1.v + R2.v)
end.
Контрольный пример:
Вводите числа, 0 - конец ввода
18
6
13
40
14
52
0
Максимальные значения имеют элементы с номерами 6 и 4
Сумма этих элементов равна 92
// Блок схема в приложении.
const
max = 100;
var
sum:word;
index:byte;
BEGIN
sum:=0;
for index:=1 to max do
if not odd(index) then
sum:=sum+index;
writeln('Сумма четных чисел от 1 до ', max ,' = ', sum);
END.
Дано: N=750 (байт), t=1 минута 20 (с.)
Найти: V (бит/с.)
Переведем данные значения в биты и секунды и вычислим скорость передачи по формуле: V=N/t
N=750 байт= 750*8= 6000 бит
t= 1 минута 20 с.= 80 с.
V=N/t= 6000/80= 75 бит/с.
Ответ: 75 бит/с.
begin
var a:=ArrRandom(10,-10,10).Println;
writeln(a.Sum);
end.