Задание 2. Высококвалифицированный программист Вася Пупкин написал программу нахождения среднего арифметического двух чисел. В своей программе Вася использовал подпрограмму-функцию, в которой непосредственно высчитывается среднее арифметической двух чисел. В основной программе с клавиатуры вводятся два значения, затем с функции высчитывается среднее арифметическое и результат выводится на экран. Нечаянно Вася пролил чай на клавиатуру, в результате чего потеряны некоторые части программы. Теперь заказчик отказывается выплачивать Васе гонорар, и программисту грозит голодная смерть Васю и восстановите текст программы.
Program ;
var
a, b, rez: ;
function average(c,d: real): ;
begin
average := (__ + ___) / 2;
end;
begin
readln(a,b);
rez ___ average(a,b)__
writeln(__:5:2);
end.
-55(10) = -37(16) = -0011 0111(2) в прямом коде. Для хранения отрицательных чисел используется модифицированный обратный код.
Обратный код получается инверсией всех битов.
-0011 0111(2) = 1100 1000(2) в восьмибитном представлении (обратный код)
Модифицированный код получается из обратного путем прибавления единицы в младшем (левом) разряде числа.
1100 1000(2) = 1100 1001(2) в восьмибитном представлении (модифицированный обратный код)
1100 1001(2) = С9(16) = 0хС9
N = 15;
var
mas:array[1..15] of integer;
i, max1, max2, min, c, d:integer;
begin
c:=-1;
max1:=-maxint;
min:=maxint;
max2:=-maxint;
randomize;
for i:=1 to N do
mas[i]:=random(101)-50;
write('Массив: ');
for i:=1 to N do
write(mas[i], ' ');
writeln;
for i:=1 to N do
begin
if (mas[i]>0) AND (mas[i]>max1) then
max1:=mas[i];
if (mas[i] mod 2 <> 0) AND (max2<mas[i]) then
begin
c:=i;
max2:=mas[i];
end;
if (mas[i] mod 2 <> 0) AND (min>mas[i]) then
begin
d:=i;
min:=mas[i];
end;
end;
writeln('Максимальный положительный элемент: ',max1);
writeln('Минимальный нечетный элемент: ',min);
writeln('Максимальный нечетный элемент: ',max2);
if c<d then
writeln('Максимальный элемент стоит раньше')
else
writeln('Минимальный элемент стоит раньше');
end.