Суббота, 27 Апреля 2024, 09:27
Приветствую Вас Гость | RSS

Форма входа
Печенька с предсказанием
Печенька с предсказанием
Российское образование
Новости образования

Ученикам

Главная » Статьи » Паскаль » Процедуры, функции

Процедура GOTO

Процедура GOTO

Процедура Goto - осуществляет переход в какое-нибудь место в программе из любой ее точки. То есть с ее помощью можно "прыгать" по программе. Обычно эти прыжки происходят из-за каких либо условий, вот пример: 

Вводим два числа; 

Складываем их и выводим сумму на экран; 

Спрашиваем, повторить ли действие? 

Если ответ утвердительный, переходим (прыгаем) на пункт 1 данного алгоритма. 

Завершаем программу.

 

В этом примере программа может выполняться бесконечно, пока ответ пользователя будет утвердительным. Как же это сделать? 

Команда goto переходит к определенному месту, которое помечается так называемой "меткой". Эти метки - особенный тип Паскаля, можно даже сказать и не тип, а часть языка. До того, как их использовать, метки нужно описать - сообщить Паскалю о их наличии. Описание меток происходит также, как и описание переменных. Для описания меток имеется специальный раздел, наподобие var только гораздо проще его. Метки не имеют типа, нужно просто задать им имя. Раздел с метками называется label и оформляется следующим образом: 

Этот пример хорошо демонстрирует использование процедуры goto. Посмотрите внимательно на программу. Что она делает? Запрашивает два числа и если 1-е больше чем 2-е, то повторяется сначала. Необходимые комментарии: 

label -Это и есть раздел описания меток. Служебное слово label озаглавливает этот раздел, после него идут имена меток. Если меток несколько, то они перечисляются через запятую. 

First: -Так устанавливается метка в программе. Обратите внимание на синтаксис - после имени метки ставиться двоеточие - ":". 

IfA > BThengotoFirst; - А это и есть переход при выполнении условия. Заметьте, в конструкции if...then...else отсутствует слово else, оно нам не нужно, так как мы не делаем ничего при невыполнении условия. 

А теперь давайте вспомним задачу - ввести два числа, сложить и запросить повтор. 

Итак, напишем эту программу с учетом пройденного материала: 

Program UseGOTO; 

label 

Again; 

var 

A,B: Integer; 

S: String; 

Begin 

Again: 

Write('Введите A: '); 

Readln(A); 

Write('Введите B: '); 

Readln(B); 

Writeln('A+B = ',A+B); 

Write('Еще раз? (Y/N): '); 

Readln(S); 

If S = 'Y' Then goto First; 

Readln; 

end.


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

Категория: Процедуры, функции | Добавил: RedkovskayaAA (17 Сентября 2013)
Просмотров: 977 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Безопасность в Интернете
Поиск
Наш опрос
Оцените мой сайт
Всего ответов: 106
Участник рейтинга
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Праздники России