В чём ошибка этой программы? Она должна запрашивать ввод 2 чисед, а потом вызывать функцию с помомщью которой выведет сумму и разность числа var a,b,c:string; procedure summ(plus:string;minus:string); Begin plus:=a+b; minus:=a+b; writeln('',plus,''); writeln('',minus,''); end; Begin Writeln('chislo'); Readln(b); Readln(b); summ (Writeln('',plus,'',''minus'') end.
В процедуре summ параметры plus и minus должны быть объявлены как var, чтобы их значения могли быть изменены и переданы обратно в основную программу.Внутри процедуры summ неправильно вычисляется разность чисел. Вместо этого нужно было использовать вычитание (minus:=a-b;).В основной программе ошибочно дважды считывается значение переменной b, вместо того, чтобы считывать значение переменных a и b.В вызове функции summ передается неверное количество параметров и неправильное их объединение в строку.
Более корректный вариант программы:
var a, b: integer; procedure summ(var plus, minus: integer); begin plus := a + b; minus := a - b; writeln('Сумма: ', plus); writeln('Разность: ', minus); end; begin writeln('Введите первое число:'); readln(a); writeln('Введите второе число:'); readln(b); summ(a, b); end.
Ошибки в этой программе:
В процедуре summ параметры plus и minus должны быть объявлены как var, чтобы их значения могли быть изменены и переданы обратно в основную программу.Внутри процедуры summ неправильно вычисляется разность чисел. Вместо этого нужно было использовать вычитание (minus:=a-b;).В основной программе ошибочно дважды считывается значение переменной b, вместо того, чтобы считывать значение переменных a и b.В вызове функции summ передается неверное количество параметров и неправильное их объединение в строку.Более корректный вариант программы:
var a, b: integer;procedure summ(var plus, minus: integer);
begin
plus := a + b;
minus := a - b;
writeln('Сумма: ', plus);
writeln('Разность: ', minus);
end;
begin
writeln('Введите первое число:');
readln(a);
writeln('Введите второе число:');
readln(b);
summ(a, b);
end.