Предмет: Информатика,
автор: omegaalfovich
В чём ошибка этой программы?
Она должна запрашивать ввод 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.
Ответы
Автор ответа:
0
В этой программе множество ошибок.
1. В заголовке процедуры procedure summ(plus:string;minus:string); параметры plus и minus описаны, как строки. В теле процедуры обоим параметрам присваивается значение, равное соединению строк a и b, а вовсе не сумма чисел и их разность, как требует условие.
2. Поскольку параметры не имеют описателя var, после выхода из процедуры их исходное значение не изменяется.
3. Операторы Readn(b) дважды выполняют присваивание переменной b, а переменная a значения не получает.
4. Вызов процедуры summ неверен, поскольку вместо пары строковых фактических параметров используется вызов процедуры Writen, что синтаксически неверно.
1. В заголовке процедуры procedure summ(plus:string;minus:string); параметры plus и minus описаны, как строки. В теле процедуры обоим параметрам присваивается значение, равное соединению строк a и b, а вовсе не сумма чисел и их разность, как требует условие.
2. Поскольку параметры не имеют описателя var, после выхода из процедуры их исходное значение не изменяется.
3. Операторы Readn(b) дважды выполняют присваивание переменной b, а переменная a значения не получает.
4. Вызов процедуры summ неверен, поскольку вместо пары строковых фактических параметров используется вызов процедуры Writen, что синтаксически неверно.
Похожие вопросы
Предмет: Алгебра,
автор: gunknila
Предмет: Алгебра,
автор: nikitkashadrin
Предмет: Английский язык,
автор: ismukhametovegor
Предмет: Физика,
автор: Аноним
Предмет: Литература,
автор: LoloшkaxD