program AlgorithmToPascal;
var
x, y: integer;
begin
readln(x);
if x > 0 then
y := sqrt(x) // В Pascal функция sqrt() работает только с вещественными числами, поэтому для корректной работы нужно изменить тип переменной y на real.
else
y := abs(x);
writeln;
end.
и в картинке для наглядности
Задание 10. Найдите ошибку в операторе на языке Паскаль:
if (x>=2) or (y<=12);
then begin x:=x+1; y:=0 end;
else begin x:=0; y:=y+1 end;
content_copy
download
Use code with caution.
Pascal
Ошибка: В строке if (x>=2) or (y<=12); после условия (x>=2) or (y<=12) стоит лишняя точка с запятой (.
Объяснение:
В языке Паскаль точка с запятой ( является разделителем операторов. Когда точка с запятой ставится сразу после условия if, она завершает оператор if до блока then. В результате, блоки then и else оказываются синтаксически оторванными от оператора if и компилятор воспринимает их как отдельные блоки кода, что приводит к ошибке.
Исправленный код:
if (x>=2) or (y<=12) then
begin
x := x + 1;
y := 0
end
else
begin
x := 0;
y := y + 1
end;
content_copy
download
Use code with caution.
Pascal
Задание 11. Преобразовать алгоритм, записанный на алгоритмическом языке в программу на языке Pascal.
Алгоритмический язык:
алг выражение
нач цел x
вещ y
ввод x
если x>=0
то y:=sqrt(x)
иначе y:=abs(x)
все
вывод y
кон
content_copy
download
Use code with caution.
Программа на языке Pascal:
program expression;
var
x: integer;
y: real;
begin
readln(x);
if x >= 0 then
y := sqrt(x)
else
y := abs(x);
writeln;
end.
content_copy
download
Use code with caution.
Pascal
Пояснения к переводу:
алг выражение переводится как program expression; - объявление имени программы.
нач цел x переводится как var x: integer; - объявление целочисленной переменной x.
вещ y переводится как var y: real; - объявление вещественной (действительной) переменной y.
ввод x переводится как readln(x); - ввод значения переменной x с клавиатуры.
если x>=0 то y:=sqrt(x) иначе y:=abs(x) все переводится как if x >= 0 then y := sqrt(x) else y := abs(x); - условный оператор if-then-else.
sqrt(x) - функция для вычисления квадратного корня (square root).
abs(x) - функция для вычисления абсолютного значения (absolute value).
вывод y переводится как writeln; - вывод значения переменной y на экран.
кон переводится как end. - конец программы.
Все задания выполнены! Если у вас есть еще вопросы, задавайте.