Поделись:





РАЗДЕЛЫ
Авиация и космонавтика (292)
Административное право (113)
Английский язык (62064)
Арбитражный процесс (22)
Архитектура (98)
Астрология (15)
Астрономия (4788)
Банкосвкое дело (4987)
Без категории (14560)
Безопасность жизнедеятельности (2585)
Биографии (3219)
Биология (4036)
Биология и химия (1421)
Биржевое дело (61)
Ботаника и сельское хозяйство (2694)
Бухгалтерский учет и аудит (7694)
Валютные отношения (47)
Ветеринария (45)
Военная кафедра (732)
География (4779)
Геодезия (27)
Геология (1186)
Геополитика (42)
Государство и право (19449)
Гражданское право и процесс (434)
Делопроизводство (17)
Деньги и кредит (96)
ЕГЭ (32)
Естествознание (92)
Журналистика (899)
ЗНО (47)
Зоология (34)
Издательское дело и полиграфия (475)
Инвистиции (91)
Информатика (3452)
Информатика, программирование (5960)
Исторические личности (2109)
История (20812)
История техники (765)
Кибернетика (60)
Коммуникации и связь (3050)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (580)
Краткое содержание произведений (1000)
Криминалистика (102)
Криминология (46)
Кулинария (1147)
Культура и искусство (8212)
Культурология (501)
Литература (зарубежная) (2035)
Литература и русский язык (11459)
Логика и логстика (545)
Маркетинг (7739)
Медицина и здоровье (9936)
Международное право (79)
Международные отношения (2189)
Менеджмент (11960)
Металлургия (82)
Москвоведение (764)
Музыка (1307)
Налоги и налогооблажение (199)
Наука и техника (1139)
Начертательная геометрия (9)
Окультизм и уфология (8)
Педагогика (7566)
Политология (3650)
Право, юриспруденция (3708)
Предпринимательство (406)
Промышленность и производство (6865)
Психология (8363)
Психология и педагогика (4048)
Радиоэлектронника (364)
Реклама (948)
Религия и мифология (2829)
Риторика (23)
Сексология (748)
Социология (4709)
Статистика (80)
Страхование (105)
Строительство (1984)
Таможенная система (655)
Теория государства и права (219)
Теория организации (35)
Технология (492)
Транспорт (2552)
Туризм (80)
Уголовное право и процесс (369)
Управление (105)
Физика (3298)
Физкультура и спорт (4360)
Философия (6846)
Финансовые науки (4389)
Финансы (5237)
Химия (2195)
Цифровые устройства (22)
Экология (4322)
Экономика (19673)
Экономико-математическое моделирование (644)
Экономическая география (113)
Экономическая теория (2472)
Этика (887)
Юриспруденция (268)
Языковедение (135)
Языкознание и филология (1140)
Счетчики


Метки
Раздел: Информатика


Метки. Оператор 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.



Оценка: 0. | Оценило 0 человека.
ВНИМАНИЕ
Уважаемые гости, хотим обратить Ваше внимание на то, что все представленные работы на этом сайте получены с публичных ресурсов, находятся в свободном доступе, не являются уникальными и не подходят для их сдачи "как есть".
Если вы обладаете авторским правом на какую либо информацию, размещенную на нашем сайте и не согласны с её общедоступностью, обязательно сообщите нам об этом.
Данные работы Вы можете использовать в качестве дополнительных материалов для написания своего реферата либо любой другой работы.
В ПОМОЩЬ УЧАЩИМСЯ
Мы настоятельно рекомендуем нашим пользователям самостоятельно выполнять все работы. Но бывают ситуации, когда нет возможности, либо элементарно времени, чтобы самому заниматься той или иной работой. В этом случае можно заказать выполнение за вас реферата, курсовой и т.д. Но будет ли такая работа соответствовать всем вашим критериям? Сомневаемся. Поэтому хотим дать вам хороший совет. Найдите на нашем сайте работу, максимально подходящую под ваши критерии. Закажи повышение оригинальности и получите уникальную работу для сдачи. Это сэкономит вам деньги и вы получите именно то, что хотели.
НОВОСТИ НАУКИ
Обратная связь
По всем интересующим вас вопросам обращайтесьна почту:


Если у вас есть интересная работа и вы хотите ей поделиться, присылайте ее нам и мы обязательно разместим ее на нашем сайте, а пользователи обязательно скажут вам спасибо: