Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Принудительное прерывание программы





 

До сих пор рассматривались программы, которые выполняли операторытолько один раз. Но часто бывает нужно, чтобы оператор выполнялся заданное число раз. Бывает, что нужно, чтобы оператор выполнялся до тех пор, пока выполняется некоторое заданное условие. Если записано неверное условие, то программа может выполять оператор бесконечное число раз. Для её прерывания используется комбинация клавиш CTRL+BREAK.

Приведём пример программы, которая заканчивается принудтительным прерыванием.

 

DO

PRINT “INFORMATIKA”;

LOOP

 

 

Цикл DO……LOOP

 

Создадим программу, которая работает до тех пор, пока пользователь не ответит «ДА» или «да» на вопрос «Нравится ли вам QBASIC?”. Если пользователь ответит что-то другое, программа спрашивает его заново.

 

DO

INPUT «Нравится ли вам QBASIC?”, O$

LOOP UNTIL O$=«ДА» OR O$= «да»

PRINT «Прекрасно!»

 

Обратим внимание, что, если в операторе INPUT используется запятая, знак? в конце текста не ставится, а если стоит;,то ставится.

 

Общая структура операторов DO…. LOOP:

Первая возможность – это когда логическое условие находится в конце.

Например:

 

DO

………(Операторы)

LOOP UNTIL (логическое выражение)

 

В последнем примере было логическое выражение O$=«ДА» OR O$= «да»

Вторая возможность – написать логическое выражение вначало. Например,

DO UNTIL (логическое выражение)…

…(операторы)

LOOP

 

Оба цикла выполняют операторы до тех пор, пока условие неверно (значение равно 0). Если условия нет, то цикл бесконечный. Иногда вместо команды UNTIL используется команда WHILE. Тогда цикл работает до тех пор, пока условие выполняется (значение –верно, т.е. отличное от нуля)

Логическое условие может быть написано вначале:

DO WHILE (логическое условие)

(операторы)

LOOP

Логическое условие может быть написано в конце:

DO

(операторы)

LOOP WHILE (логическое условие)

 

Если WHILE или UNTIL находятся в конце, то цикл выполняется хотя бы один раз, а если впереди, то ноль или больше раз.

Рассмотрим ещё две программы, где используется оператор WHILE или UNTIL. Программы печатают все числа от 1 до 10.

 

Программа 1.

I=1

DO

PRINT I
I=I+1

LOOP UNTIL I=10

 

 

Программа 2.

 

I=0

DO

PRINT I
I=I+1

LOOP WHILE I<10

 

Из цикла DO …..LOOP можно выйти и преждевременно. Для этого используется оператор EXIT DO. Рассмотрим программу, которая находит такое значение I, что II=2. Программа заканчивает выполнение, когда находит значение I с заданной точностью. Программа заканчивает работу, если не находит такое значение, т.е. I становится больше 2 и нет смысла искать значения дальше.

 

DO

I=I+0.0001

IF ABS (2-I^I)<0.001 THEN

PRINT “Значение равно”; I

EXIT DO

END IF

LOOP UNTIL I>2

PRINT «Программа закончила работу»

 

При изменении шага и точности могут возникнуть случаи, когда решения нет.

 







Дата добавления: 2015-09-07; просмотров: 387. Нарушение авторских прав; Мы поможем в написании вашей работы!




Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


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

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

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

Демографияда "Демографиялық жарылыс" дегеніміз не? Демография (грекше демос — халық) — халықтың құрылымын...

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

ЛЕЧЕБНО-ПРОФИЛАКТИЧЕСКОЙ ПОМОЩИ НАСЕЛЕНИЮ В УСЛОВИЯХ ОМС 001. Основными путями развития поликлинической помощи взрослому населению в новых экономических условиях являются все...

Studopedia.info - Студопедия - 2014-2026 год . (0.008 сек.) русская версия | украинская версия