Читайте также:
|
|
ЗАДАНИЕ № 4
Алгоритм комбинированной структуры
Выполнил(а) студент(ка)
Группы (шифр группы)
Фамилия, инициалы
Вариант № ___
Проверила Ковалёва И.Л.
Одесса 2012
ЗАДАНИЕ IV Алгоритм комбинированной структуры
Задание: Вычислить значение функции
, 0,3 < a ≤ 2
z= , a ≤ 0,3 или a > 2,
для a = 0,1; 0,25; 0,3; 0,5; 1; 1,5; 2; 3,5; 4; 5.
Здесь . Пренебречь членами ряда, меньшими 10-5
Решение: обозначим y→ Y, yn → YN, i → I, n → N, ε →Ε как простые переменные, z → Z (I), a → A(I) как одномерные массивы, длина каждого из которых составляет 10 элементов
Вариант решения
Блок – схема
![]() |
|
|
| |||
|
+
![]() |
![]() | |||
![]() |
+ _
![]() |
|
|
![]() |
Программа
REM алгоритм комбинированной структуры
DIM A(1 TO 10), Z(1 TO 10)
DATA 0.1, 0.25, 0.3, 0.5, 1, 1.5, 2, 3.5, 4, 5
INPUT “E”; E
N = 1: Y = 0
DO
YN = (N – 1.2) / (3 ^ N + N ^ 2)
Y = Y + YN: N = N + 1
LOOP WHILE ABS(YN) > E
PRINT “Y=”; Y
FOR i = 1 TO 10
READ A(i)
IF A(i) > 0.3 AND A(i) < = 2 THEN
Z(i) = (A (i) + Y) ^ 5
ELSE
Z(i) = ABS (2 * A (i) – Y) ^ (1 / 3)
END IF
PRINT “A(”; i; “)=”; A(i), “Z (”; i; “)=”; Z(i)
NEXT i
END
Вариант решения (использование функции пользователя)
![]() |
Блок – схема
![]() |
|
|
|
|
+
![]() |
|
|
+ _
![]() | |||
![]() | |||
![]() |
![]() | |||||||
![]() | |||||||
![]() | |||||||
| |||||||
![]() |
|
Программа
DECLARE FUNCTION F1 ‘ текст основной программы
DECLARE FUNCTION F2
DIM A(1 TO 10), Z(1 TO 10)
DATA 0.1, 0.25, 0.3, 0.5, 1, 1.5, 2, 3.5, 4, 5
INPUT “E”; E
N = 1: Y = 0
DO
YN = (N – 1.2) / (3 ^ N + N ^ 2)
Y = Y + YN: N = N + 1
LOOP WHILE ABS(YN) > E
PRINT “Y=”; Y
FOR i = 1 TO 10
READ A(i)
IF A(i) > 0.3 AND A(i) < = 2 THEN
Z(i) = F1(A(i), Y)
ELSE
Z(i) = F2(A(i), Y)
END IF
PRINT “A(”; i; “)=”; A(i), “Z (”; i; “)=”; Z(i)
NEXT i
END
FUNCTION F1(C,D) ‘ текст функции пользователя F1
F1 = (2*C+,D)^5
END FUNCTION
FUNCTION F2(C,D) ‘ текст функции пользователя F2
F2 = ABS(2*C - D)^(1 / 3)
END FUNCTION
Вариант решения (использование подпрограммы пользователя)
|
|
|
+
|
|
|
|
+
Программа
DECLARE SUB SUMMA ‘ текст основной программы
DIM A(1 TO 10), Z(1 TO 10)
DATA 0.1, 0.25, 0.3, 0.5, 1, 1.5, 2, 3.5, 4, 5
INPUT “E”; E
CALL SUMMA (E, Y)
FOR i = 1 TO 10
READ A(i)
IF A(i) > 0.3 AND A(i) < = 2 THEN
Z(i) = (2*A(i)+ Y)^5
ELSE
Z(i) = (A(i), Y)
END IF
PRINT “A(”; i; “)=”; A(i), “Z (”; i; “)=”; Z(i)
NEXT i
END
SUB SUMMA(E, Y) ‘ текст подпрограммы пользователя SUMMA
N = 1: Y = 0
DO
YN = (N – 1.2) / (3 ^ N + N ^ 2)
Y = Y + YN
N = N + 1
LOOP WHILE ABS(YN) > E
PRINT “Y=”; Y
END SUB
Результат выполнения программы
E?_.00001
Y =.115105
A(1)=.1 Z (1)=.003107
A(2)=.25 Z (2)=.088053
A(3)=.3 Z (3)=.187003
A(4)=.5 Z (4)=.960058
A(5)= 1 Z (5)= 1.235271
A(6)= 1.5 Z (6)= 1.423563
A(7)= 2 Z (7)= 1.572026
A(8)= 3.5 Z (8)= 18235.03
A(9)= 4 Z (9)= 35194.17
A(10)= 5 Z (10)= 105889.3
Дата добавления: 2015-12-08; просмотров: 71 | Нарушение авторских прав