Составить программу в pascalABC.net с использованием подпрограммы в виде процедуры:котоая...

0 голосов
23 просмотров

Составить программу в pascalABC.net с использованием подпрограммы в виде процедуры:котоая считает сумму двух одинаковых чисел.Если это не так,то программа выаодит на экран сообщение о том,что числа разные. Повторяется до тех пор,пока ведение числа не будут удовлетворять заданному условию
Помогите плиз


Информатика (25 баллов) | 23 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
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
(150k баллов)
0 голосов

Procedure sumSameNumbers();
var
  a, b, sum: real;
begin
repeat
  write('Введите a и b: '); readln(a, b);
  if a = b then
  begin
    sum := a + b;
    writeln('Сумма = ', sum)
  end
  else
    writeln('Числа не одинаковые');
 until a = b;  
end;

begin
   sumSameNumbers();
end.

(9.4k баллов)