
- •Введение
- •Интегрированная средаQbasic Запуск и завершение qbasic
- •Главное меню qbasic
- •Встроенный справочник qbasic
- •Формальные сведения оQbasic Алфавит qbasic
- •Д Данные Переменныеанные в языке qbasic
- •Выражения в языкеQbasic
- •Арифметические выражения
- •Условные выражения
- •Логические выражения
- •Символьные выражения
- •Встроенные функции
- •Команды в языкеQbasic
- •Оператор вывода данных
- •Статический ввод данных
- •Команды управления ходом выполнения программы
- •Безусловная передача управления
- •Условная передача управления
- •Формат записи вложенных условных операторов
- •Множественный выбор (select case)
- •Работа с датой и временем
- •Цикл со счетчиком (for…next)
- •Цикл while … wend
- •Вложенные циклы
- •Массивы
- •Одномерные массивы
- •Определение массивов
- •Заполнение массива
- •Порядок работы с массивами
- •Действия над элементами одномерного массива
- •Двумерные массивы Основные понятия
- •Заполнение массива
- •Действия над элементами двумерного массива
- •Подпрограммы
- •Функции, определяемые пользователем
- •1 Вариант
- •2 Вариант
- •Работа со строковыми типами данных Оператор line input
- •Операции со строковыми данными
- •Функции для работы с текстами
- •Графическая обработка данных
- •Оператор screen
- •Оператор color
- •Операторы pset, preset
- •Прямые линии – отрезки
- •Рисование прямоугольников
- •Оператор circle
- •Оператор paint
- •Вывод текста в графическом режиме
- •Графическое “перо”draw
Формат записи вложенных условных операторов
IF логическое выражение THEN
<блок команд 1>
[ELSEIF логическое выражение THEN
<блок команд 2>]
……………………..
[ELSE
<блок команд n>]
END IF
Пример3
Составить программу вычисления функции:
1 вариант
IF Z<0 THEN
F=Z-5/Z^2
ELSEIF Z<=1 THEN
F=Z^2-1
ELSE
F=1/(1-Z)
ENDIF
PRINT "F=";F
END
2 вариант
IF Z<0 THEN F=Z-5/Z^2
IF Z<=1 AND Z>=0 THEN F=Z^2-1
IF Z>1 THEN F=1/(1-Z)
PRINT "F=";F
END
Для самостоятельного решения:
Составить программу определения кислотности раствора с помощью лакмусовой бумажки. Напомним, что, если бумажка окрашивается в красный цвет - раствор кислотный; синий - раствор щелочной; не меняет цвет - раствор нейтральный.
Множественный выбор (select case)
Формат
SELECT CASE арифм_выражение или симв_выражение
CASE условие 1
<блок команд 1>
CASE условие 2
<блок команд 2>
……………….
[CASE ELSE
<блок команд n>]
END SELECT
Условие оператора CASE можно указать в одном из трех форматов:
CASE константа 1, константа 2, …
CASE IS знак_отношения константа
CASE константа 1 TO константа 2
Константы в условии должны быть того же типа, что и выражение в SELECT CASE.
Алгоритм множественного выбора заключается в следующем:
вычисляется значение выражения, записанного в SELECT CASE.
проверяется, удовлетворяет ли это значение одному из указанных в CASE условий
если значение удовлетворяет какому-то условию, выполняется блок команд, следующий за данным CASE.
Пример
INPUT "Введите значение ",A
SELECT CASE A
CASE 1,5
PRINT "А равно 1 или 5"
CASE IS >5
PRINT "А больше 5"
CASE -8 TO 2.5
PRINT "А не меньше -8, но не больше 2.5"
CASE else
PRINT "Ни одно условие не выполняется"
END SELECT
После выполнения того или иного блока команд управление передается команде, следующей за ENDSELECT.
Работа с датой и временем
Функция DATE$
Выдается текущая дата, зарегистрированная в компьютере. Формат даты: ММ-ДД-ГГГГ.
Например
PRINT DATE$
Выведется текущая дата: 15-09-2000
Функция TIME$
Выдается текущее системное время, зарегистрированное в компьютере. Формат времени: ЧЧ:ММ:СС (часы, минуты, секунды).
Например
PRINT TIME$ , на экране выдается текущее время.
Циклы
В языке BASIC предусмотрено два основных способа организации циклов:
повторение блока команд заданное количество (число) раз (цикл со счетчиком);
циклическое повторение блока команд, пока выполняется (или не выполняется) некоторое условие.
Цикл со счетчиком (for…next)
Этот оператор используется, когда некоторый блок команд необходимо выполнить заданное число раз.
Формат
FOR счетчик=E1 TO E2 [STEP E3]
Блок команд
NEXT счетчик
счетчик (параметр)- числовая переменная;
E1 - начальное значение счетчика;
E2 - конечное значение счетчика;
E3 - шаг изменения счетчика. По умолчанию этот шаг равен 1;
Блок команд - набор операторов, предназначенных для повторения.
Выполнение. Если E3 >0, то цикл продолжается все время, пока счетчик < или = E2. Если E3 <0, то цикл продолжается все время, пока счетчик > или = E2.
Примеры
FOR I=1 TO 5
PRINT I;
NEXT I
Результат: 1 2 3 4 5
Тело цикла будет выполняться 5 раз. Шаг изменения счетчика по умолчанию равен 1.
FOR I=1 TO 5 STEP 2
PRINT I;
NEXT I
Результат: 1 3 5
Обратный цикл
FOR I=5 TO 1 STEP -1
PRINT I;
NEXT I
Результат: 5 4 3 2 1
FOR I=5 TO 1
PRINT I;
NEXT I
Проверка выхода из цикла производится в начале цикла, поэтому цикл не выполнится ни разу.
Ограничения при использовании оператора цикла FOR…NEXT:
Не изменяйте значение параметра цикла внутри цикла
FOR I=1 TO 5
I=I+1 ' НЕЛЬЗЯ!
NEXT I
Никогда не передавайте управление внутрь цикла, это может привести к непредсказуемым результатам.
GOTO 10 ' НЕЛЬЗЯ!
FOR I=1 TO 5
10 INPUT A
S=S+A
NEXT I
Досрочный выход из цикла
Для цикла FOR предусмотрена возможность безусловного выхода из цикла ( до его завершения). Управление передается команде, следующей за NEXT.
Формат команды выхода:
EXIT FOR
Например
FOR I=1 TO 10
INPUT "Введите значение параметра";F
IF F=100 THEN EXIT FOR
S=S+F
NEXT I
PRINT "Значения "
Подсчет:
-
Сумма
Количество
Произведение
S=0
K=0
P=1
S=S+A
K=K+1
P=P*A
Пример1. Подсчитать сумму 10 значений переменной A.
S=0
FOR I=1 TO 10
INPUT "Введите значение переменной";A
S=S+A 'Подсчет суммы значений переменной A
NEXT I
PRINT "Сумма ="; S
Пример 2. Подсчитать количество положительных чисел и произведение отрицательных чисел из N введенных.
INPUT “Введите количество значений”;N
К=0
P=1
FOR I=1 TO N
INPUT "Введите значение переменной";A
IF A>0 THEN K=K+1
IF A<0 THEN P=P*A
NEXT I
PRINT"Количество положительных чисел =";K
PRINT"Произведение отрицательных чисел =";P
Домашнее задание:
Подсчитать сумму положительных элементов, не превышающих значения 10 из N введенных.
Подсчитать количество мальчиков, рост которых превышает 165 см и количество девочек, рост которых не превышает 165.
Практическое занятие
Пример 1. Рассчитать и вывести на печать значения функции Y=5/X при изменении аргумента X от -5 до 5 с шагом 2.
FOR X=-5 TO 5 STEP 2
Y= 5/X
PRINT "X=";X, "Y=";Y
NEXT X
Пример 2. Дан ряд чисел 100, 55, -1000, 20, 5, 8, 33, 48. Найти количество пар чисел квадрат разности которых <100.
DATA 100, 55, -1000, 20, 5, 8, 33, 48
K=0
FOR I=1 TO 8 STEP 2
READ A,B
IF (A-B)^2 < 100 THEN K=K+1
NEXT I
PRINT "Количество пар чисел квадрат разности которых <100 =";K
Пример 3. Найти максимальное значение из N введенных. Вывести максимальное значение и его индекс.
INPUT "Введите количество значений";N
INPUT "Введите первое значение";A
MAX=A : IN=1
FOR I=2 TO N
PRINT "Введите "; I; "-ое значение"
INPUT A
IF A>MAX THEN MAX=A : IN=I
NEXT I
PRINT "Максимальное значение =";MAX
PRINT “Индекс максимального значения =”; IN
Домашнее задание:
О
пределить максимальное значение среди положительных элементов изN введенных.
Подсчитать значения функции f(x)=1-х2 на заданном интервале [-0,5; 0,5] с шагом 0,1.