русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Операторы Stop, End и Exit Sub


Дата добавления: 2015-06-12; просмотров: 695; Нарушение авторских прав


До сих пор мы писали процедуры, которые выполняли свою работу до конца и заканчивали ее только на операторе End Sub, не раньше. Существуют ли операторы, которые подобно операторам выхода из цикла Exit Do и Exit For заставляют компьютер покинуть процедуру, не доходя до ее конца? Такие операторы существуют.

Оператор Endзаставляет Visual Basic завершить работу не только процедуры, а всего проекта, не доходя до конечного End Sub. Пример: программа

Private Sub Command1_Click()

Print 1;: Print 2;: End: Print 3;

End Sub

напечатает 1 2. Правда, заметить это вы успеете только в пошаговом режиме, так как End завершает режим работы и проект мгновенно переходит в режим проектирования.

Ненавистник пошагового режима мог бы мечтать: "Хорошо бы существовал специальный оператор паузы, чтобы наткнувшись на него, компьютер приостанавливал выполнение программы, а мы могли бы спокойно посмотреть на результаты и подумать". Такой оператор есть, это Stop. Наткнувшись на него, компьютер переходит в режим прерывания и делает паузу до тех пор, пока вы снова не щелкните на кнопке Start. Тогда он продолжает работу с того места, где остановился. Вот вариант программы, при котором вы успеваете разглядеть результат:

Private Sub Command1_Click()

Print 1;: Print 2;: Stop: End: Print 3;

End Sub

Еще пример: программа

Private Sub Command1_Click()

Print 2;: A: Print 3;: End: Print 4;

End Sub

 

Private Sub A()

Print 6;: End: Print 7;

End Sub

напечатает 2 6.

 

Оператор Exit Subне такой решительный, как End. Он не выбрасывает Visual Basic из режима работы, а просто заставляет компьютер выйти из процедуры, в которой он выполнился. Если он выполнился в вызываемой процедуре, то Visual Basic возвращается в процедуру, ее вызвавшую. Если он выполнился в процедуре обработки события, то Visual Basic просто завершает работу этой процедуры.



Пример: Заменим в предыдущей программе оба End на Exit Sub:

Private Sub Command1_Click()

Print 2;: A: Print 3;: Exit Sub: Print 4;

End Sub

Private Sub A()

Print 6;: Exit Sub: Print 7;

End Sub

Эта программа напечатает 2 6 3.

 

Задание 87: Вот вам программа с процедурами. Вам нужно, не запуская ее, записать на бумажке весь разговор, который ведут герои “Трех мушкетеров”.

Private Sub Command1_Click()

Print "Я, король Франции, спрашиваю вас - кто вы такие? Вот ты - кто такой?"

ATOS

Print "А ты, толстяк, кто такой?"

PORTOS

Print "А ты что отмалчиваешься, усатый?"

DARTANIAN

Print "Анна! Иди-ка сюда!!!"

Exit Sub

Print "Аудиенция закончена, прощайте!"

End Sub

 

Private Sub ATOS()

Print "Я - Атос"

End Sub

 

Private Sub ARAMIS()

Print "Это так же верно, как то, что я -Арамис!"

End Sub

 

Private Sub PORTOS()

Print "А я Портос! Я правильно говорю, Арамис?"

ARAMIS

Print "Он не врет, ваше величество! Я Портос, а он Арамис."

End Sub

 

Private Sub DARTANIAN()

Print "А я все думаю, ваше величество - куда девались подвески королевы?"

Exit Sub

Print "Интересно, что ответит король?"

PORTOS

End Sub

Сверьте с ответом. Если не сходится, запустите программу в пошаговом режиме.

 

Теперь вы достаточно знаете о процедурах, чтобы они стали для вас удобными кирпичиками для постройки программ. Более мощным средством являются процедуры с параметрами, о которых вы сейчас узнаете.

Задание 88: В программе для задания 60 из 9.3 о продавце автомобилей есть два повторяющихся фрагмента. Сам бог велел сделать их процедурами.

Задание 89: Аналогичную вещь можно проделать для калькулятора из 5.9

 



<== предыдущая лекция | следующая лекция ==>
Зачем нужны процедуры пользователя | Переменные вместо чисел


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.867 сек.