Циклический процесс.
Задача 4. Вычислить значение функции.
Исходные данные: a0=2.15; a1=3.02; a2=4.15; a3=1.35;
x0=0.67; x1=0.95; x2=0.37; x3=0.78;
Составим схему алгоритма – см.рис.3. п.1
Присвоим массивам имена:
Ai | Xi | Yi |
А(I) | X(I) | Y(I) |
2.3.3. Пункт аналогичен п.2.1.3.
Распечатку исходной информации и результатов выберем в виде:
ИСХОДНЫЕ ДАННЫЕ:
Печать в одной строке с использованием TAB;
РЕЗУЛЬТАТЫ РАСЧЁТА:
Печать в разных строках с использованием TAB;
2.3.5. Программа:
10 REM Иванов В.П., гр.107…, вариант 1–3
20 PRINT
30 PRINT
40 DIM A(3), X(3), Y(3)
50 FOR I=0 TO 3
60 INPUT A(I), X(I)
70 IF I<=2 GOTO 100
80 Y(I)=A(I)^2+X(I)^2/COS(X(I))
90 GOTO 110
100 Y(I)=A(I)* X(I)*SIN(X(I))
110 NEXT I
120 PRINT ”Исходные данные”
130 FOR I=0 TO 2
140 PRINT TAB(5); “A(“; I; ”)=”; A(I); TAB(15); “X(“;I;”)=”;X(I);
150 NEXT I
160 PRINT “Результаты расчёта:”
170 FOR I=0 TO 3
180 PRINT TAB(10); “Y(“; I; ”)=”; Y(I);
190 NEXT I
200 LPRINT
210 LPRINT ”Исходные данные:”
220 FOR I=0 TO 3
230 LPRINT TAB(5); “A(“; I; ”)=”; A(I); TAB(15); “X(“;I;”)=”;X(I);
240 NEXT I
250 LPRINT “Результаты расчёта:”
260 FOR I=0 TO 3
270 LPRINT TAB(10); “Y(“; I; ”)=”; Y(I);
280 NEXT I
290 STOP
300 END
40-я строка резервирует память для элементов массивов;
50–100 строки – циклический процесс (из 4-х циклов) для ввода исходных данных и вычисления функции Y(I);
строки 120–150 и 160–190 предназначены для распечатки исходных данных и результатов расчёта на экране монитора согласно п.2.3.4.;
строки 200–280 – для вывода той же информации на принтер.
2.3.6. Выполнение программы:
а) подайте команду: RUN
б) программа будет останавливаться при каждом операторе INPUT в строке 60; необходимо на каждый знак вопроса печатать значения а0 и x0 через запятую:
?2.15, 0.87
?3.02, 0.95
?4.15, 0.37
?1.35, 0.78
В результате выполнения программы информация в виде п.2.3.4. выводится на экран монитора и принтер.
2.4. Вычислительный процесс с подпрограммой.
Рисунок 3. Примеры схем алгоритмов
Задача 5. Вычислить значение функции:
при a=3.2; x=-0.75; c1=1.5; c2=-2.3; c3=-3.4.
Вычисление произведений оформить подпрограммой.
2.4.1. Составим схему алгоритма основной программы (рис.3, схема 2), и подпрограммы (рис.3, схема 3).
2.4.2. присвоим переменным и массиву имена:
a | x | … | П | Сi |
A | X | … | Р... | С(I) |
2.4.3. Пункт аналогичен п.2.1.3.
2.4.4. Распечатку исходных данных и результатов выберем в виде:
ИСХОДНЫЕ ДАННЫЕ:
А= X=
Элементы массива С(I)=
……… ……… ………. ………
РЕЗУЛЬТАТЫ РАСЧЕТА:
Р1=…………… Y=………………
2.4.5. Программа:
10 REM Иванов В.П., гр.107…, вариант 1–3
20 PRINT
30 PRINT
40 DIM С(3)
50 DATA 3.2, -.75
60 GOSUB 290
70 Р1=Р
80 READ A, X
90 Y=(A*X^2+EXP(X))/SQR(ABS(A))+P1
100 PRINT ”Исходные данные”
110 PRINT “A=”; A, “X=”; X
120 PRINT “Элементы массива С(I)=”
130 FOR I=3 TO 3
140 PRINT С(I),
150 NEXT I
160 PRINT TAB(11); “Результаты расчёта:”
170 PRINT TAB(2); “P1=”; P1; TAB(15); “Y=”; Y
190 LPRINT ”Исходные данные:”
200 LPRINT “A=”; A, “X=”; X
210 LPRINT “Элементы массива С(I)=”
220 FOR I=1 TO 3
230 LPRINT С(I),
240 NEXT I
250 LPRINT TAB(11); “Результаты расчёта:”
260 LPRINT TAB(2); “P1=”; P1; TAB(15); “Y=”Y
270 STOP
280 REM -- ПОДПРОГРАММА
290 FOR I=1 TO3
300 INPUT C(I)
310 NEXT I
320 P=1
330 FOR I=1 TO3
340 P=P*C(I)
350 NEXT I
360 RETURN
370 END
40 – я строка резервирует память для трёх элементов массива;
строка 50 задаёт начальные условия, которые считываются в 80–ой строке;
обращение к подпрограмме происходит в 60–й строке;
в 70–й строке результат, полученный при выполнении подпрограммы, присваивается переменной Р1 (это не обязательно, т.к. в программе нет другого обращения к подпрограмме);
в 90–й строке вычисляется значение функции.
Строки 100 – 170 выводят информацию на экран согласно п.2.4.4., а строки 190 – 260 - на принтер. Завершается основная программа 270–й строкой с обязательным оператором STOP.
Строки 290 – 360 - это подпрограмма вычисления произведения, оканчивающаяся оператором RETURN.
Завершает программу с подпрограммой оператор END в 370 –й строке.
ПРИЛОЖЕНИЕ 2
Дата добавления: 2021-12-14; просмотров: 260;