Задание переменных.
Первое, с чем мы сталкиваемся, при переходе от Бейсика к Паскалю, это определение типа. В Бейсике принято неявное определение типа переменных. Это значит, что мы писали какое-то выражение, например:
X = 1
Это означало, что
X это переменная целого типа. А если мы писали:X = 0.5
Это означало, что
X это переменная вещественного () типа.Такое определение переменных называется контекстным (по смыслу) или неявным. В Паскале действует жесткое правило:
“Каждая переменная должна быть описана явно”.
Var
Оператор присвоения.
Бейсик |
Паскаль |
z = 2 |
z := 2; |
Признаком оператора присвоения является символ =Если на одной строке находятся несколько операторов, тогда они разделяются символом ; Если на строке находится один оператор, никаких признаков завершения оператора не требуется |
Признаком оператора присвоения являются символы :=Как и любой оператор, оператор присвоения завершается символом ; |
z = x+y |
z := x+y; |
В правой части оператора присвоения может стоять вычисляемое выражение (приведено простейшее) |
Блочная структура.
Паскаль имеет явную блочную структуру. Блок служит для объединения группы операторов, и тогда эта группа воспринимается как единый составной оператор. Рассмотрим например оператор IF.
Бейсик |
Паскаль |
IF x > 0 THENy = 0 z = 2 END IF |
if x >0 then beginy := 0; x := 2; end; |
Операторы y=0 и z=2 выполняются по условию x>0. Для того, чтобы знать сколько операторов должны быть выполнены, служит завершение условного оператора END IF. |
Для того, чтобы два оператора были выполнены по условию, они заключаются в служебные слова begin … end |
Так как в Бейсике нет слова
begin начинающего группу операторов, то началом группы операторов служат такие операторы какЗато для каждого из них есть свое завершение. Для
IF это END IF. Для оператора SELECT CASE это END SELECT.В Паскале для любого блока у нас есть одинаковый для всех, безличный
end.
Бейсик |
Паскаль |
IF x > 0 THENy = 0 ELSEIF x>-3 THEN y = 1 ELSE y = 2 END IF |
if x >0 theny := 0 |
В Паскале нет оператора elseif. Там, где надо использовать такую конструкцию, используется вложенный оператор if. В примере он выделен синим цветом.Обратите внимание, что между y:=0 и else нет точки с запятой. Это тот редкий случай когда она не ставится, так как оператор if then else, это один оператор. |
|
И в Паскале и в Бейсике внутрь одного оператора можно вставлять другой оператор, в том числе и такой же. |
Бейсик |
Паскаль |