<u>PascalABC.NET 3.3.5, сборка 1660 от 20.04.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
var x:=ReadReal;
var y:real;
if x<5 then y:=1/(x-5)
else
if x=5 then y:=45
else y:=x**3-20;
Writeln(y)
end.
<u>Пример</u>
12.543
1953.350667007
Enter.....................
Немного теории:
Указатель - некая переменная, значение которой является адресом другой переменной.
Адрес сам по себе является целым числом. Память под него выделяется как под целое. Но для нормальной работы с указателем необходимо знать тип переменной, адрес которой хранит указатель.
Унарная операция * позволяет извлечь содержимое ячейки, на которую "указывает" указатель.
Унарная операция & - получение адреса переменной.
В данном задании:
int a=8 - переменной a целого типа присвоили значение 8
int *b - объявили указатель b на переменную целого типа.
&a - извлекли адрес переменной a.
int *b=&a - буквально переводиться как "поместим адрес целой переменной a в переменную b типа указатель на целое".
*b=1+*b - получаем доступ к переменной, адрес которой храниться в b. Это равносильно такому выражению: a=1+a.
В итоге a=9
Ответ: a=9