1. Внимательно читаем условие задания. Требуется составить и использовать процедуру, которая считает сумму двух одинаковых чисел.
Остальное текстуально относится к самой программе: ввод данных, проверка условия с зацикливанием и вывод.
// PascalABC.NET 3.3, сборка 1599 от 17.12.2017
// Внимание! Если программа не работает, обновите версию!
procedure Strange(a,b:real; var c:real; var flag:boolean);
begin
flag:=a=b;
if flag then c:=a+b
end;
begin
var a,b,c:real;
var f:boolean;
while true do begin
(a,b):=ReadReal2('Введите пару чисел:');
Strange(a,b,c,f);
if f then begin
Writeln('Сумма равна ',c);
break
end
else Writeln('Числа не равны')
end
end.
Пример
Введите пару чисел: 2 4.5
Числа не равны
Введите пару чисел: 4 4
Сумма равна 8
2. Можно представить, что автор задания не в ладах с русским языком и на самом деле процедура должна сделать все сама, а программа - только вызвать эту процедуру. Тогда решение может быть таким.
procedure Strange2;
begin
while true do begin
var (a,b):=ReadReal2('Введите пару чисел:');
if a=b then begin
Writeln('Сумма равна ',a+b);
exit
end;
Writeln('Числа не равны')
end
end;
begin
Strange2
end.
Пример
Введите пару чисел: 4.5 4.4
Числа не равны
Введите пару чисел: 3.6 3.6
Сумма равна 7.2