- •Введение
- •Интегрированная среда qbasic Запуск и завершение qbasic
- •Главное меню qbasic
- •Встроенный справочник qbasic
- •Формальные сведения о qbasic Алфавит qbasic
- •Д Данные Переменные анные в языке qbasic
- •Длинная целая –2147483647 до 2147483648 (&)
- •Переменные
- •Переменные
- •Defint X-X (целые числа, inTeger)
- •Константы
- •Выражения в языке qbasic
- •Арифметические выражения
- •Условные выражения
- •Логические выражения
- •Символьные выражения
- •Встроенные функции
- •Input "Сообщение", список переменных
- •Оператор вывода данных
- •Статический ввод данных
- •Команды управления ходом выполнения программы
- •Безусловная передача управления
- •Условная передача управления
- •Формат записи вложенных условных операторов
- •Множественный выбор (select case)
- •Работа с датой и временем
- •Цикл со счетчиком (for…next)
- •Цикл while … wend
- •Вложенные циклы
- •Массивы
- •Одномерные массивы
- •Определение массивов
- •Заполнение массива
- •Порядок работы с массивами
- •Действия над элементами одномерного массива
- •Двумерные массивы Основные понятия
- •Заполнение массива
- •Действия над элементами двумерного массива
- •Подпрограммы
- •Функции, определяемые пользователем
- •1 Вариант
- •2 Вариант
- •Работа со строковыми типами данных Оператор line input
- •Операции со строковыми данными
- •Функции для работы с текстами
- •Графическая обработка данных
- •Оператор screen
- •Оператор color
- •Операторы pset, preset
- •Прямые линии – отрезки
- •Рисование прямоугольников
- •Оператор circle
- •Оператор paint
- •Вывод текста в графическом режиме
- •Графическое “перо” draw
Цикл while … wend
Формат
WHILE логическое выражение
Блок команд
WEND
Данный оператор позволяет выполнять блок команд до тех пор, пока значение логического выражения "Истина". После завершения цикла управление передается команде, следующей за WEND. Например:
WHILE PAS$<>"Петуния"
INPUT"Введите пароль";PAS$
WEND
PRINT"Добро пожаловать"
Этот цикл будет работать до тех пор, пока не будет введен правильный пароль.
В блоке команд должен присутствовать оператор, влияющий на значение логического выражения.
Например:
I=0
WHILE I<=10
I=I+1 'оператор, который влияет на значение логического выражения
WEND
PRINT I
Пример бесконечного цикла
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
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