Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по QBASIC.doc
Скачиваний:
9
Добавлен:
20.09.2019
Размер:
357.38 Кб
Скачать

Цикл while … wend

Формат

WHILE логическое выражение

Блок команд

WEND

Данный оператор позволяет выполнять блок команд до тех пор, пока значение логического выражения "Истина". После завершения цикла управление передается команде, следующей за WEND. Например:

WHILE PAS$<>"Петуния"

INPUT"Введите пароль";PAS$

WEND

PRINT"Добро пожаловать"

Этот цикл будет работать до тех пор, пока не будет введен правильный пароль.

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

Например:

  1. I=0

WHILE I<=10

I=I+1 'оператор, который влияет на значение логического выражения

WEND

PRINT I

  1. Пример бесконечного цикла

I=0

WHILE I<=10

INPUT A

S=S+A

WEND

PRINT S

В блоке команд нет оператора, который бы изменял значение I.

Если при первой проверке условия окажется, что значение логического выражения - "Ложь", блок команд не будет выполнен ни разу. Например:

I=10

WHILE I<10

I=I+1

WEND

Пример 1. Вычислить сумму четных чисел в интервале от 1 до 10 включительно.

' I - четные числа

' Sum - сумма четных чисел

I=2

Sum=0

WHILE I<=10

Sum=Sum+I

I=I+2

WEND

PRINT"Сумма четных чисел в интервале от 0 до 10 =";Sum

Пример 2. В подъезде N ступенек. Сколько шагов будет сделано, если шагать через 3 ступеньки.

' KS - количество ступенек

' KH - количество шагов

INPUT "Введите количество ступенек";N

KS=0

KH=0

WHILE KS<=N

KS=KS+3

KH=KH+1

WEND

PRINT"Количество шагов=";KH

Пример 3. Известна сумма номеров страниц. Определить номер страницы.

' NS - номер страницы

' S - сумма номеров страниц

INPUT"Введите сумму номеров страниц";Q

NS=0

S=0

WHILE S<Q

NS=NS+1

S=S+NS

WEND

PRINT"Номер страницы = ";NS

Домашнее задание:

Вычислить значения членов последовательности K=3i, где i=1, 3, 5, ..., не превышающих заданного числа N.

Вложенные циклы

Можно организовать весьма сложные повторения, используя циклы внутри циклов (Вложенные циклы).

Формат:

FOR

FOR ---------

 тело внутреннего цикла

NEXT --------

NEXT

Пример 1. Напечатать таблицу умножения до 12 в виде

1*2=2

2*2=4 и т.д.

FOR I=2 TO 12

FOR J=1 TO 12

PRINT J;”*”;I;”=”;J*I

NEXT J

NEXT I

Пример 2. Напечатать таблицу умножения до 5 в виде таблицы.

1 2 3 4 5

2 4 6 8 10 и т.д.

FOR I=2 TO 12

FOR J=1 TO 12

PRINT J*I;

NEXT J

PRINT

NEXT I

Пример 3. Напечатать все четырехзначные натуральные числа в десятичной записи которых нет двух одинаковых цифр.

FOR T=1 TO 9 ‘

FOR S=0 TO 9

FOR D=0 TO 9

FOR E=0 TO 9

IF T<>S AND T<>D AND T<>E AND S<>D AND S<>E AND D<>E THEN

M=T*1000+S*100+D*10+E

PRINT M,

ENDIF

NEXT E

NEXT D

NEXT S

NEXT T

Задание

Найти и напечатать все трехзначные числа сумма кубов которых равна самому числу. Например: 407=43+03+73=64+0+343