
- •Раздел 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 Задание
2 Программа "цикл и ветвление"
Пример 2
Дана функция
е1/3lg|z|
+1, если z<0
y = 0 , если z=0
tg2x , если z>0
Написать программу для вычисления значений функции на
отрезке x [-1;1] с шагом 0.1 для z = sin x - 0.1.
В примере для каждого значения х сначала нужно определить z, а затем, если z < 0. то у вычислить по первой формуле, если z = 0, то у = 0 и если z > 0, то по третьей формуле.
Описание программы
В примере 2 использованы циклический и ветвящийся вычис-
лительные процессы.
Вначале организуется цикл For… по параметру х, а внутри цикла проверяются условия, обуславливающие ветвящийся вычислительный процесс, где для каждого значения переменной z =f(x) предусмотрена своя ветвь вычисления значений искомой функции у.
В первой программе применён условный оператор IF…THEN, во второй - IF…THEN…ELSE… .
87
Программа
CLS FOR X=-1 TO 1 STEP .1 Z=SIN(X)-.1 IF Z<0 THEN m1 IF Z=0 THEN m2 Y=TAN(x)^2: GOTO m3 m1:Y=EXP(1/3*LOG10(ABS(Z))) GOTO m3 m2: Y = 0 m3:PRINT "Y="Y,"Z=","X="X NEXT X END |
или
CLS FOR X=-1 TO 1 STEP 0.1 Z=SIN(X)-0.1 IF Z<0 THEN Y=EXP(1/3*LOG10(ABS(Z))):GOTO A IF Z=0 THEN Y=0 ELSE Y=TAN(x)^2 A: ? "Y="Y,"Z="Z,"X="X NEXT X END
|
3 Программа "цикл в цикле и ветвление"
Пример 3
Вычислить сумму S положительных и произведение Р отрицательных значений функции y = cos t -b, в области t [-1;1] с шагом 0.2 и в области b [-0.1;0.2] с шагом 0.1.
В примере - две переменные, t и b, нужно для каждого значения t просчитать все b, если y>0,, то прибавить его значение к предыдущей сумме S, если y<0, то умножить его на предыдущее произведение Р.
Для ввода начальных значений S и P используем операторы ввода DATA, READ.
В примере 3 встречаются два циклических и ветвящийся вы-
числительные процессы. Внешний цикл организован по параметру t, внутренний цикл - по параметру b.
Внутри цикла после вычисления значения функции у осуществляется проверка условий ветвящегося вычислительного процесса, который реализует вычисление произведения отрицательных значений функции (в случае выполнения условия у<0) и вычисление суммы положительных значений функции.
88
Программа
DATA 0.1
READ S,P
FOR T=-1 TO 1 STEP .2
FOR B=-.1 TO .2 STEP .1
LET Y=COS(T^3)^2-B
PRINT "Y="Y,"T="T,"B="B
IF Y<0 THEN LET P=P*Y:GOTO 90
S=S+Y
NEXT B
NEXT T
PRINT "S="S,"P="P
120 END
4 Контрольные вопросы
1 Назовите известные вам структуры алгоритмов.
2 Какие вычислительные процессы реализуются в сложных алгоритмах?.
3 Как организуются программы с вложенными циклами ?
4 Какие вычислительные процессы можно выделить в
задании по вашему варианту ?
5 Охарактеризуйте синтаксис и особенност применения
операторов IF, GOTO, FOR, NEXT.
6 Сколько циклов может быть вложено друг в друга ?