Студопедия — Управляющие конструкции QBasic
Студопедия Главная Случайная страница Обратная связь

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

Управляющие конструкции QBasic






1. Оператор безусловного перехода GOTO N, где N-метка. В качестве N можно взять любое число, не обязательно совпадающее с номером строки, так как в QBasic 4.5 строки можно не нумеровать. Но двух одинаковых меток в одной программе не должно быть. Исполнение программы будет продолжено с той её части, которая начинается с указанной метки.

 

Пример:

.......

GOTO 10

.......

10 PRINT "Текст"

.......

2. Условный оператор IF...THEN...ELSE (Если...Тогда...Иначе):

 

IF <условие> THEN <список операторов> ELSE <список операторов>

Если заданное условие истинно, выполняется список операторов, стоящий после THEN, в противном случае выполняется список операторов, стоящий после ELSE.

Слово ELSE может и отсутствовать. Тогда происходит переход к строке, следующей за оператором IF...THEN.

Условия представляют собой логические соотношения: равенства или неравенства = равно, <> неравно, > больше, < меньше, >= больше или равно, <= меньше или равно.

При использовании сложных условий (объединении двух и более условий) применяют слова AND (И) и OR (ИЛИ): Условие1 AND (или OR) Условие2...

Условный оператор позволяет реализовать алгоритм с ветвлением.

 

Пример 1:

CLS

INPUT "Введите год основания Москвы: M="; M

IF M = 1147 THEN PRINT "Вы правы!" ELSE PRINT "Вы ошиблись!"

 

Пример 2:

CLS

PRINT "Вычислите y=1/(x-2) для всех x"

INPUT "Введите x=", x

IF x = 2 THEN PRINT "При x=2 функция не определена!": END

y = 1 / (x - 2)

PRINT "y="; y

Применяется также частный случай условного оператора - оператор условного перехода: IF <условие> GOTO N ELSE <список операторов> Число N - метка. Если условие выполняется, то происходит переход по метке N, а иначе выполняется список операторов, стоящих после ELSE. Слово ELSE может и отсутствовать. Тогда происходит переход к строке, следующей за оператором IF...GOTO.

 

Пример 3:

CLS

INPUT "Если хочешь каникулы, вводи 1. Если нет, любое число. n=", n

IF n = 1 THEN GOTO 10 ELSE GOTO 20

10 PRINT "Хочу каникулы!": END

20 PRINT "Хочу учиться!"

 

3. Оператор цикла FOR...TO...NEXT... позволяет реализовать циклический алгоритм, когда часть программы может быть выполнена много раз подряд. FOR...TO... - начало цикла, NEXT... - конец цикла.

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

FOR X=A TO B STEP H

...................

NEXT X

Здесь X - переменная, A - начальное значение переменной, B - конечное значение переменной, H - шаг, с которым меняется переменная. Если шаг STEP H отсутствует, то по умолчанию шаг H=1. При этом переменная X называется счётчиком цикла. Повторение участка программы с шагом H происходит до тех пор, пока X<B. Число повторений цикла равно (B-A)/H. При X=B цикл заканчивается и выполняется оператор, следующий за оператором конца цикла NEXT. Возможно, что шаг H<0, но тогда A>B.

 

Пример 1: Напечатать на экране текст 20 раз.

CLS

FOR X=1 TO 20

PRINT "С Новым Годом!"

NEXT X

 

Пример 2: Вычислить сумму n первых членов ряда S=1+1/4+1/9+...+1/n^2

CLS

INPUT "Введите число членов ряда: n=", n

FOR i = 1 TO n

S = S + 1 / i ^ 2

NEXT i

PRINT "Сумма n первых членов ряда равна: S=", S

Пример 3: Нарисуйте 15 разноцветных концентрических окружностей.

SCREEN 7

FOR i = 1 TO 15

CIRCLE (160, 100), i * 6, i

NEXT i

 

Пример 4: Разлинуйте экран в клеточку.

SCREEN 7

FOR i = 1 TO 32

LINE (0, 10 * i)-(320, 10 * i), 15

LINE (10 * i, 0)-(10 * i, 200), 15

NEXT i

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

Примечание: Оператор IF...THEN...ELSE в QBasic должен быть записан в одну строку!

 

Пример 5.

CLS

REM Вычислить функцию y=1/(x^2-5*x-6)

FOR x = -10 TO 10

IF x ^ 2 - 5 * x - 6 = 0 THEN PRINT "При x=-1, x=6 функция не определена!"

ELSE y = 1 / (x ^ 2 - 5 * x - 6)

PRINT "x="; x, " y="; y

NEXT x

 

Пример 6.

CLS

REM Вычислить функцию y=1/SQR(x^2-3*x+2)

FOR x = -5 TO 5

IF x >= 1 AND x <= 2 THEN PRINT "При 1<=x=<2 функция не определена!"

ELSE y = 1 / SQR(x ^ 2 - 3 * x + 2)

PRINT "x="; x, " y="; y

NEXT x

Для работы с целыми числами в языке Basic служат следующие операторы:

1) Оператор Y = INT(X) округляет до целого

дробное число X или результат деления A/B

Y = INT(A/B).

Тоже самое действие выполняет деление \

X = A \ B

Например, INT(3.5) = 3

X = INT(8/3) = 2

X = 8 \ 3 = 2

2) Оператор MOD делит одно число на другое

и возвращает только остаток деления: A MOD B.

Он вычисляет остаток от деления, например:

1. 14 MOD 5 = 4

2. 11 MOD 4 = 3

3. 17 MOD 3 = 2

4. 15 MOD 2 = 1

 

Пример 1: Определение чётности или нечётности числа.

CLS

INPUT "Введите число N=", N

IF N MOD 2 THEN PRINT "Число нечётное" ELSE PRINT "Число чётное"

END

 

Пример 2: Разработать программу нахождения и вывода

на экран всех чисел, оканчивающихся на 5,

и делящихся на 3, из диапазона чисел от 5 до 1000.

CLS

FOR i = 5 TO 1000 STEP 5

x = i MOD 3

IF x = 0 THEN PRINT i;

NEXT i

END

 

Пример 3: Определите, является ли число простым, или нет.

Натуральное число N называется простым,

если его делителями являются только два числа: 1 и N.

CLS

INPUT "Введите число N=", N

IF N <= 3 THEN GOTO 10

d = 2

IF N MOD 2 = 0 THEN GOTO 20

d = 3

FOR i = 1 TO N

d = d + 2

IF N MOD d = 0 THEN GOTO 20

IF N <= d * d THEN GOTO 10

NEXT i

10 PRINT "Число N-простое."

INPUT "Для продолжения - Enter.", z

END

20 PRINT "Число N-составное. Оно делится на"; d

INPUT "Для продолжения - Enter.", w

END

 

 

Некоторые полезные команды QBasic.

 

Оператор LOCATE a, b - указывает позицию экрана (a-строка, b-столбец), начиная с которой будет печататься текст или число. Обычно используется перед оператором PRINT. Пример: LOCATE 4, 10: PRINT "Здравствуй, мир!"

 

Оператор SWAP X1, X2 - заставляет переменные X1 и X2 обменяться своими значениями. Пример:

X = 3

Y = 5

SWAP X, Y

Директива FILES выдает список подкаталогов и файлов в текущем каталоге. Кроме того, выдается свободная память на жестком диске.

Директива SHELL осуществляет сеанс связи с MS-DOS. Возвращение обратно из DOS в QBasic - команда EXIT.

Кроме того, директива SHELL "name" позволяет запускать программу name.exe или name.com, указанную в кавычках. Эта программа должна находиться в текущем каталоге, там же, где и *.bas файл. Расширение exe или com можно не указывать.

 







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



Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Сравнительно-исторический метод в языкознании сравнительно-исторический метод в языкознании является одним из основных и представляет собой совокупность приёмов...

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

Конституционно-правовые нормы, их особенности и виды Характеристика отрасли права немыслима без уяснения особенностей составляющих ее норм...

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

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

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

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