- •Раздел 2 Программирование на языке
- •Лабораторная работа № 1
- •1 Порядок решения задач на компьютере
- •2 Разработка линейных программ
- •Input "Ввести d, k,n"; d, k,n
- •3 Операторы read, datа, restore
- •3 Запуск qbasic, ввод и редактирование программ
- •Лабораторная работа № 2
- •2 Программы ветвления
- •Input X
- •Лабораторная работа № 3
- •1 Операторы цикла qb
- •2 Примеры программ с циклами
- •3 Контрольные вопросы
- •4 Задание
- •Лабораторная работа № 4
- •1 Программа вычисления арифметического ряда
- •2 Программы вычисления факториалов
- •3 Алгоритм итерационного цикла
- •4 Контрольные вопросы
- •5 Задания
- •Лабораторная работа № 5
- •1 Программа "цикл в цикле"
- •2 Программа "цикл и ветвление"
- •3 Программа "цикл в цикле и ветвление"
- •4 Контрольные вопросы
- •5 Задания
- •Лабораторная работа № 6
- •1 Одномерные массивы - векторы
- •2 Двумерные массивы – матрицы. Обработка массивов
- •3 Контрольные вопросы
- •4 Задания
- •Лабораторная работа № 7
- •1 Функции пользователя
- •3 Процедуры. Операторы sub и end sub
- •Лабораторная работа № 8
- •1 Графические операторы qbasic
- •2 Программа рисования графических объектов
- •3 Построение графиков функций
- •4 Контрольные вопросы
- •5 Задание
1 Программа "цикл в цикле"
Пример 1 Дана функция двух изменяющихся переменных
Z = sin t + a
Требуется составить программу для вычисления значений функции в области t [0;1] с шагом 0.2 и в области а [0.1;0.5] с шагом 0.1.
85
В примере требуется для каждого значения величины t просчитать весь диапазон изменения величины а.
Согласно правилам записи программ операторы разных циклов записываются со сдвигом , причём оператор, закрывающий свой цикл, записывается по оператором, открывающим его (см. программу).
Допустимая организация Недопустимая организация
циклов циклов
FOR A = ...
FOR B = ... FOR A =...
NEXT B FOR B =...
FOR C =... NEXT A
FOR D =... FOR C =...
NEXT D NEXT B
NEXT C NEXT C
NEXT A
Количество вложенных циклов неограниченно.
Программа
CLS
FOR T=0 TO 1 STEP .2 ' открывание внешнего цикла
FOR A=.1 TO .5 STEP .1 ' открывание внутреннего цикла
Z=SIN(T)+A
PRINT "Z=";Z,"T=";T,"A=";A
NEXT A ' закрывание внешнего цикла
NEXT T ' закрывание внутреннего цикла
END
или
CLS
T=0
WHILE T<=1 ' открывание внешнего цикла
FOR A=0.1 TO 0.5 STEP 0.1 ' открывание внутреннего цикла
Z=SIN(T)+A
? "Z=";Z
NEXT A ' закрывание внешнего цикла
T=T+0.2
WEND ' закрывание внутреннего цикла
END
86
Описание программы
Оператором FOR T=0… открывается цикл по Т и переменной Т присваивается значение 0, затем оператором FOR А=1 открывается цикл по А, его первое значение равно 0,1.При этих значениях рассчитывается z, затем распечатываются Z, T и А и оператором NEXT A закрывается цикл по А, т.е. А принимает следующее значение, равное 0,2, а Т остаётся равным 0. При этих Т и А снова просчитывается и распечатываются Z, T и А, потом А принимает значение 0,3 и т.д. до 0,5, затем, когда диапазон А заканчивается, следующий оператор программы (NEXT T) присваивает Т следующее значение, равное 1 и при этом Т=1 просчитывается весь цикл по А и т.д. Таким образом, при каждом значении Т величина А принимает значения всего своего интервала, т.е. программа перебирает все возможные сочетания Т и А и при них вычисляет и выводит на экран Z, T и А.
Работа второй программы аналогична, но в ней использованы различные операторы цикла - FOR…NEXT и WHILE…WEND.