С.А. Григорьев
Операторы в Паскале могут быть помечены. Метки - это идентификаторы, или целые числа от 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.
Другие работы по теме:
Расчет распределительных сетей
Расчет системы водоснабжения. Выбор диаметров труб для участков сети. Режим максимального водопотребления. Расчет режима максимального транзита нагрузка сети. Производительность насосной станции. Начальное потокораспределение. Первый закон Кирхгофа.
Проектирование вычислительных модулей
Проектирование вычислительного модуля, состоящего из 2 датчиков давления и 4 датчиков температуры (до +125 и до +400). Составление схемы подключения датчиков. Написание демонстрационных программ для работы с устройствами DS18B20, АЦП DS2450 и MPX2010.
Расчет жесткого стержня
Построение математической модели и составление программы для расчета опорных реакций жесткого стержня с тремя опорными узлами. Определение внутренних усилий, поперечной силы Q и изгибающего момента М во внутренних сечениях стержня под действием нагрузки.
Основные операторы языка Turbo-Paskal. Процедуры и функции
Принцип работы основных операторов языка программирования Turbo-Paskal: оператор присваивания, выбора Case, безусловного перехода, цикла, уловный, составной. Формальное описание и вызов функции и процедуры. Требования к списку фактических параметров.
Программирование. Контрольная работа
Контрольная работа Составьте программу, определяющую является ли вводимое с клавиатуры целое число положительным или отрицательным. Текст программы:
Вычисление вероятности игры в КРЭКС(кости)
Игра в “крэкс”( 2 кости Правила такие.Игрок бросает 2 кости и подсчитывает сумму S выпавших очков. Он сразу же выигрывает,если S=7 или 11,и проигрывает,если S есть 2;3 или 12. Всякая другая сумма – это его “пойнт”.Если в первый раз выпадает “пойнт”,то игрок бросает кости до тех пор,пока он или не выйграет,выбросив свой “пойнт”, или не проиграет,получив сумму очков,равную 7.Какова вероятность выигрыша?
Организация функции ПОИСК в Tmemo
Представленный ниже код я использовал при написании текстового редактора. Всё вроде работает. Итак, на форме должны быть TMemo (Editor), TFindDialog (FindDialog) и TButton (Button).
Алгоритмизация и программирование на языке Паскаль
Составление алгоритмов и программ для вычисления значений неизвестных: программирование формул; операторы ввода и вывода; условный оператор; цикл с предусловием и с постусловием, с заданным числом повторений; графические средства; тестирование программы.
Операторы языка Си
Характеристики операторов языка Си. Операторы безусловного и условного перехода: if, if-else, if-else if. Оператор переключатель switch. Оператор цикла с предусловием while, постусловием do-while. Упрощение логических выражений, взаимозаменяемость циклов.
Вопросы по информатике
В чем состоят особенности организации пакетного режима работы ЭВМ. Сформировать файл, содержащий результаты сессии студентов одной группы в виде матрицы.
Сложение и вычитание целых неотрицательных чисел в двоичном коде
Числа с фиксированной точкой характеризуются длиной слова в битах, положением двоичной точки, бывают беззнаковыми или знаковыми. Позиция двоичной точки определяет число разрядов в целой и дробной частях машинного слова. Представление отрицательного числа.
Языки программирования
Структурное программирование. Структурная программа. Оконная система диалога. Новые объектные концепции.
Условный оператор. Блок. Оператор выбора
С.А. Григорьев Условный оператор в Паскале записывается в виде: IF логическое выражение THEN оператор/блок [ELSE оператор/блок] логическое выражение - это любое выражение, значение которого имеет тип Boolean, блок - это последовательность операторов, заключенная в логические скобки : BEGIN операторы END; .
Операторы Turbo Pascal 7
Операторы Turbo Pascal Содержание 1. Операторы ввода и вывода информации. 2. Операторы языка ТР.7. 2.1 Составной оператор Begin ... end. 2.2 Условный оператор If.
Способы описания алгоритма Виды операторов
Министерство Образования Республики Беларусь Учреждение Образования «Гомельский государственный университет им. Ф. Скорины» Математический факультет Кафедра ВМ и Программирования
Вычисление вероятности игры в КРЭКСкости
Игра в “крэкс”( 2 кости Правила такие.Игрок бросает 2 кости и подсчитывает сумму S выпавших очков. Он сразу же выигрывает,если S=7 или 11,и проигрывает,если S есть 2;3 или 12. Всякая другая сумма – это его “пойнт”.Если в первый раз выпадает “пойнт”,то игрок бросает кости до тех пор,пока он или не выйграет,выбросив свой “пойнт”, или не проиграет,получив сумму очков,равную 7.Какова вероятность выигрыша?
Циклические алгоритмы
Циклические алгоритмы Алгоритмы содержащие команды повторения, называют циклическими. Команды повторения составляют цикл. Цикл - это такая форма организации действий, при которой одна последовательность действий повторяется несколько раз( или не разу), до тех пор , пока выполняются некоторые условия.
New York Times Co Vs United States
Essay, Research Paper New York Times Co. v. United States U.S. Supreme Court, 1971 The New York Times printed allegedly classified documents that leaked from the Pentagon
Bla Bla Essay Research Paper 1 Id
Bla Bla Essay, Research Paper 1. I?d like to begin by saying that everything that you just heard about the success of gun control is FALSE. Case and point: Washington D.C. Since 1976, the District of Columbia has had the country?s most extreme gun control laws. NO civilian may BUY or CARRY a handgun, nor may ANY gun be kept loaded or assembled in a home for self-defense.
Choice Of Frontier Lines Essay Research Paper
Unlikely frontiers by choice, no decision to halt.? Governor who wanted to earn respect by expanding his province ?frontiers congealed around the orders of the empire: they arose by default? ?
Алгоритми і програми з розгалуженнями
Тема: . План. Оператор безумовного переходу (goto). Умовні оператори. Складена команда. Література: Я.М. Глинський. Інформатика. Алгоритмізація і програмування. Книжка 1. с. 67-85.
Використання масивів та циклів
Лаболаторна робота №3 Тема: Організація циклів та масивів на мові Паскаль. Мета: Навчитись розвязувати задачі з циклом, працювати з масивами. Теоретичні відомості.