Предмет: Информатика,
автор: anna981007
Паскаль.
Какое обращение к процедуре S содержит ошибку?
Procedure S (a:byte; b:real; var c:char);
Begin
c:=Chr(a);
b:=b+a;
end;
Var
x:byte;
y:real;
z:char;
Begin
...
Варианты ответов:
S(x, y+x, z);
S(2, sin(x), z);
S(x*2, x, z);
S(y+x, y, z);
Ответы
Автор ответа:
0
S(y+x, y, z);
- ошибка
y+x имеет тип real+byte = real и не может быть подставлен туда, где ожидался byte. Это связано с запретом в Паскале неявного приведения вещественного типа к целочисленному.
y+x имеет тип real+byte = real и не может быть подставлен туда, где ожидался byte. Это связано с запретом в Паскале неявного приведения вещественного типа к целочисленному.
Приложения:

Автор ответа:
0
Спасибо большое! помогите пожалуйста еще с одним https://znanija.com/task/27582521
Автор ответа:
0
а почему первый вариант верный? там ведь тоже два разных типа складывается?
Автор ответа:
0
Там параметр real в процедуре. И при сложении real
Интересные вопросы
Предмет: Математика,
автор: AndrewKarabiner
Предмет: Геометрия,
автор: korolstikbot
Предмет: История,
автор: alinaartemenko2008
Предмет: Математика,
автор: olggromenko201
Предмет: Математика,
автор: natamir79