Error: Incorrect password!
Error: Incorrect password!
Уроки Паскаля :: Введение в Pascal

Уроки Паскаля


Урок 10. Немного про Case и goto.
Март 6, 2021 – 00:11
Звертайтесь за адресою
Здравствуйте, дорогие читатели! Сегодня мы с вами поговорим про оператор выбора — case и оператор безусловного перехода — goto.

Если вы спросите любого программиста или учителя информатики, что такое goto, они скажут вам, что goto — зло. Но иногда, может быть, он необходим(для общего развития). Что же такое goto? Давайте разбираться.

GoTo

Goto — оператор безусловного перехода. Все, что необходимо вам — специальная метка. Вместо того, чтобы объяснять вам, что надо делать с этой меткой и куда ее вставлять, я решу простую задачу и вы сразу все поймете.

Условие задачи: считывать число и суммировать его со всеми предыдущими числами, пока это число меньше десяти и больше минус десяти.

Решение:

program example; label 1; //Объявляем все метки через запятую var s, a: integer; // Блок меток расположен перед блоком объявление переменных. begin s := 0; a := 0; 1: // Наша метка S := S + a; // Плюсуем read(a); //Считываем а if (a > 10) or (a < -10) then write(s) // Если (a > 10) or (a < -10), прекращаем работу программы else goto 1; // Иначе перемещаемся в метку end.

Более подробно про goto мы поговорим в следующий раз.

Case

Чаще всего case называют оператором выбора. Итак, предположим, что переменная по условию задачи может принимать ограниченный диапазон значений или только конкретные значения. Текущее значение переменной (селектора) сравнивается со значениями-случаями, перечисленными в теле оператора case. Если значение селектора совпадает с каким-либо значением в операторе case, то выполняется ветка, относящаяся к данному случаю.

Общая форма записи:
case of
значение1 : оператор;
значение2 : оператор;
. . . . . . . . . .
значениеN : оператор
else оператор;
end;

В операторе может быть несколько действий, то есть использоваться begin, end, а может быть пустой оператор. Значений может быть несколько.

Кстати, вы заметили, что значения выступают в роли меток? 🙂

Source: learnpascal.ru
Похожие публикации