Предмет: Информатика,
автор: yailsaf2016
Как вы думаете, можно ли использовать в арифметическом выражении оператора присваивания неопределенную переменную? К каким последствиям это может
привести?
Ответы
Автор ответа:
0
1. Если имеется в виду язык Pascal, то получим следующее:
var: a;
//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016)
begin
readln(a);
b:=a+a;
writeln (b);
end.
Program50.pas(5) : Неизвестное имя 'b'
2. Попробуем такой вариант на Python
a =int(input())
b = a+a
print(b)
При вводе а получим на выходе 10
Получается, что в Pacal требуется объявлять переменные в секции переменных, или в любом месте программы можно объявить переменную с помощью служебного слова var для PascalABC.net. Первый код можно переписать так, и он будет работать:
var: a;
//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016)
begin
readln(a);
var b:=a+a;
writeln (b);
end.
Рузультат при введенном значении 5 равен 10
var: a;
//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016)
begin
readln(a);
b:=a+a;
writeln (b);
end.
Program50.pas(5) : Неизвестное имя 'b'
2. Попробуем такой вариант на Python
a =int(input())
b = a+a
print(b)
При вводе а получим на выходе 10
Получается, что в Pacal требуется объявлять переменные в секции переменных, или в любом месте программы можно объявить переменную с помощью служебного слова var для PascalABC.net. Первый код можно переписать так, и он будет работать:
var: a;
//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016)
begin
readln(a);
var b:=a+a;
writeln (b);
end.
Рузультат при введенном значении 5 равен 10
Автор ответа:
0
Это верно, если речь о необъявленной переменной. Но чаще неопределенной называют переменную, которой не присвоили значение, т.е. неинициализированную.
Автор ответа:
0
Да, главная беда freepascal, переменнная получает место в памяти а там мусор ...
Автор ответа:
0
Это не беда, это совершенно правильное поведение переменной. В С/С++ так все объекты себя ведут.
Автор ответа:
0
Если программист не выполнил инициализацию - значит ему так надо было. Почему компилятор насильно инициализирует числовую переменную нулем?
Автор ответа:
0
Да, наверное это логичнее чем при объявлении переменных их автоматически инициализировать
Похожие вопросы
Предмет: Математика,
автор: anya7991861816
Предмет: Қазақ тiлi,
автор: zlayatatarka1989
Предмет: Английский язык,
автор: Аноним
Предмет: Математика,
автор: alinaangelocek