Сайт начал процедуру переезда на новый хостинг

Новый сайт
LOGO
Главная Регистрация Вход RSS
Приветствую Вас, Гость
Категории раздела
Случайное решение
[11.10.2013][ЕГЭ (П)]
ЕГЭ Математика B6 (0)
[24.01.2016][ОГЭ]
На графике изображена зависимость атмосферного давления от высоты над уровнем моря. По горизонтали указана высота над уровнем моря в ки (0)
[29.01.2016][ОГЭ]
На клетчатой бумаге с размером клетки 1x1 отме¬чены три точки: А, В и С. Найдите расстояние от точки А до середины отрезка ВС (0)
[08.10.2013][Методика]
Методика изучения содержательной линии «Алгоритмизация и программирование» в курсе Информатики и ИКТ» (0)
[11.02.2016][ОГЭ]
На клетчатой бумаге с размером клетки 1x1 изображён параллелограмм. Найдите его площадь. (0)
[11.02.2016][ОГЭ]
Катеты прямоугольного треугольника равны 60 и 80. Найдите гипотенузу этого треугольника. (0)
[19.09.2015][ЕГЭ (П)]
Поставьте в соответствие каждому неравенству множество его решений. (0)
[01.11.2015][ОГЭ]
Проектор полностью освещает экран А высотой 240 см, расположенный на расстоянии 300 см от проектора. На каком наименьшем расстоянии (в с (0)
Статистика
Яндекс.Метрика
Поделиться
Реклама
Вход на сайт
Популярное
[14.10.2015][ОГЭ]
Площадь четырёхугольника можно вычислить по формуле s=d1*d2*sin a/2 , где d1 и d2 — длины диагоналей четырехугольника, а —угол между диа (0)
[11.03.2016][ОГЭ]
Найдите площадь квадрата, описанного около окружности радиуса 9. (0)
[21.12.2014][ЕГЭ (П)]
Диагональ правильной четырёхугольной призмы наклонена к плоскости основания под углом 30°. Боковое ребро равно 3. Найдите диагональ призмы. (0)
[15.04.2015][ЕГЭ (П)]
В прямоугольном параллелепипеде ABCDA1B1C1D1 известны длины рёбер: АВ = 3, AD = 4, АА1 = 32. Найдите площадь сечения, про¬ходящего через вер (0)
[14.10.2015][ОГЭ]
12. На клетчатой бумаге с размером клетки 1x1 изображён параллелограмм. Найдите его пло¬щадь (0)
[21.12.2014][ЕГЭ (П)]
Корень(9 - 4*корень(5)) - корень(5) или √9-4√5-√5 (0)
[11.02.2016][ОГЭ]
На клетчатой бумаге с размером клетки 1x1 изображена трапеция. Найдите длину её средней линии. (0)
[29.01.2016][ОГЭ]
Биссектриса равностороннего треугольника равна 9Корень(3) . Найдите его сторону. (0)
[14.10.2015][ОГЭ]
После уценки телевизора его новая цена составила 0,57 старой. На сколько процентов уменьшилась цена телевизора в результате уценки? (0)
[21.12.2014][ЕГЭ (П)]
В случайном эксперименте симметричную монету бросают триж¬ды. Найдите вероятность того, что решка выпадет все три раза (0)
Свидетельство
Главная » Статьи » Программирование » Pascal, Delphi, Lazarus

Lazarus. Составной оператор.

Современные алгоритмы достаточно сложны и в ответ на какое-то действие обычно происходит (или не происходит) целый ряд действий. Если в программе все операторы следуют друг за другом, то и выполняются они по порядку. Поэтому общий ряд операторов необходимо особым образом выделять.

Например: если s>j, то необходимо s:=s+1 и j:=j-1. Несложно описать эту задачу при помощи оператора if.

If s>j then s:=s+1  j:=j-1;

Но этот код не будет работать, так как два оператора присваивания не разделены ‘;’.

А если поставить ‘;’, то получим вот это If s>j then s:=s+1;  j:=j-1;

Этот код уже будет работать, но не так как нам хотелось. s:=s+1 будет выполнятся, когда s>j, а   j:=j-1 будет выполнятся всегда. Это произойдет потому что   j:=j-1 от оператора if отделено ‘;’ и не попадает под действие этого оператора.

Для того чтобы эти действия выполнялись вместе необходимо применить особый оператор. Он называется – составной оператор.

Составной оператор служит для объединения групп операторов, которые по смыслу программы рассматриваются как один оператор.

Как в примере: s:=s+1;  j:=j-1 должны быть одним оператором. Что бы выполнятся после if вместе. Для того чтобы объединить два оператора будем использовать операторные скобки begin   end;.

If s>j then

begin

        s:=s+1;

        j:=j-1

end;

Теперь все что находится в операторных скобках является составным оператором и будет выполнятся если s>j.  Операторы, находящиеся в операторных скобках выполняются последовательно, в том порядке, в котором записаны.

Во многих операторах синтаксис языка требует использование только одного оператора, в этом случае и необходимо использовать составной оператор ( как после слова then по синтаксису должен стоять только один  оператор).

При использовании составного оператора есть один нюанс. После последнего оператора, входящего в состав составного оператора, можно не ставить ‘;’. Это объясняется тем что ‘;’ служит для отделения операторов друг от друга, а в составном операторе в конце отделение производится словом end; обязательно с ‘;’.

Если же вы поставите ‘;’, то программа будет работать без ошибок и полностью правильно. Просто вы создадите пустой оператор. Этот оператор не вызывает не каких действий и не какими символами не обозначается. В простейшем случае это просто пустое место между двумя ‘;’

Begin

;;

End;

В этом примере есть сразу три пустых оператора  между   begin  ;   и между ;; и между   ; end;.

 

 

Категория: Pascal, Delphi, Lazarus | Добавил: Ret-Ar (17.08.2013)
Просмотров: 2742 | Рейтинг: 0.0/0