Referat.me

Название: Метки. Оператор GOTO. Процедура Halt

Вид работы: статья

Рубрика: Информатика

Размер файла: 14.04 Kb

Скачать файл: referat.me-130874.docx

Краткое описание работы: С.А. Григорьев Операторы в Паскале могут быть помечены. Метки - это идентификаторы, или целые числа от 0 до 9999, они могут записываться перед любым выполняемым оператором и отделяются от него двоеточием. Оператор может иметь любое количество меток. Все метки, использованные в программе, должны быть описаны в разделе описаний с ключевым словом LABEL.

Метки. Оператор GOTO. Процедура Halt

Метки. Оператор GOTO. Процедура Halt

С.А. Григорьев

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

GOTO метка;

передает управление оператору с соответствующей меткой, при этом все операторы, расположенные между оператором GOTO и оператором, которому передается управление, не выполняются. С помощью оператора GOTO нельзя передать управление : внутрь цикла, внутрь условного оператора и внутрь оператора выбора.

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

Одним из случаев, когда программисту может показаться полезным оператор GOTO, является необходимость прекратить выполнение программы при возникновении той или иной ошибки. Пусть, например, программа вычисляет некоторую функцию от квадратного корня из заданного числа:

VAR x : Real;

BEGIN WRITE('Введитечисло '); READ(x);

x:=SQRT(x);

{вычисление функции от x}

END.

Если введено отрицательное число, то в третьем операторе программы произойдет аварийное прерывание. Стремясь избежать этого, мы могли бы записать программу в виде:

VAR x : Real;

LABEL Finish;

BEGIN WRITE('Введитечисло '); READ(x);

IF x<0 THEN GOTO Finish;

x:=SQRT(x);

{вычисление функции от x}

Finish:END.

Однако можно не использовать GOTO :

VAR x : Real;

BEGIN WRITE('Введитечисло '); READ(x);

IF x<0 THEN WRITELN('ошибка !')

ELSE BEGIN

x:=SQRT(x);

{вычисление функции от x}

END;

END.

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

VAR x : Real;

BEGIN WRITE('Введитечисло '); READ(x);

IF x<0 THEN BEGIN WRITELN('ошибка !'); HALT; END;

x:=SQRT(x);

{вычисление функции от x}

END.

Наша программа стала почти идеальной. Доведем ее до совершенства :

VAR x : Real;

BEGIN REPEAT

WRITE('Введите неотрицательное число ');

READ(x);

WRITELN;

UNTIL x>=0;

x:=SQRT(x);

{вычисление функции от x}

END.

Похожие работы

  • Операторы Turbo Pascal 7

    Операторы Turbo Pascal Содержание 1. Операторы ввода и вывода информации. 2. Операторы языка ТР.7. 2.1 Составной оператор Begin ... end. 2.2 Условный оператор If.

  • Оператор выбора case

    Для программирования разветвлений в алгоритме чаще всего используется условный оператор if…then или if…then…else. Однако если путей выбора много, то запись алгоритма с помощью условного оператора становится сложной.

  • Программирование Паскаль

    Программирование на языке Паскаль Структура программы на Турбо Паскаль Программа на языке Паскаль состоит из заголовка, разделов описаний и раздела операторов. Заголовок программы содержит имя программы, например:

  • Условные и безусловные операторы в языке программирования Си

    Лабораторная работа"++" Цель работы: познакомиться с работой условного оператора и оператора перехоlа. Изучить оператор выбора варианта. Научиться применять их при составлении программ.

  • Турбо Паскаль 7.0

    ТЕМА: ТурбоПаскаль7.0 Логические операторы и операторы цикла. Отладка программ. Укороченная форма оператора if В операторе if часть, начинающаяся словом else, может отсутствовать. Часть, следующая за словом then, выполняется, если логическое условие, стоящее после слова if, имеет значение true.

  • Дополнительные команды Google

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

  • Условный оператор. Блок. Оператор выбора

    Условный оператор. Блок. Оператор выбора С.А. Григорьев Условный оператор в Паскале записывается в виде: IF логическое выражение THEN оператор/блок [ELSE оператор/блок] логическое выражение - это любое выражение, значение которого имеет тип Boolean, блок - это последовательность операторов, заключенная в логические скобки : BEGIN операторы END; .

  • Способы описания алгоритма Виды операторов

    Министерство Образования Республики Беларусь Учреждение Образования «Гомельский государственный университет им. Ф. Скорины» Математический факультет Кафедра ВМ и Программирования

  • Вычисление вероятности игры в КРЭКСкости

    Игра в крэкс 2 кости Правила такие.Игрок бросает 2 кости и подсчитывает сумму S выпавших очков. Он сразу же выигрывает,если S=7 или 11,и проигрывает,если S есть 2;3 или 12. Всякая другая сумма – это его “пойнт”.Если в первый раз выпадает “пойнт”,то игрок бросает кости до тех пор,пока он или не выйграет,выбросив свой “пойнт”, или не проиграет,получив сумму очков,равную 7.Какова вероятность выигрыша?

  • Ввод вывод данных в дельфи

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