Главная Обратная связь

Дисциплины:






КОНТРОЛЬНА РОБОТА 2 3 страница



Алгоритм розгалуженої структури, - виконує дії в одному з передбачених напрямків

Алгоритм циклічної структури – передбачає виконання багаторазово повторюваних дій.

 

3.5. Приклад виконання задачі 1Б

Завдання: відповідно до умови розробити алгоритм лінійної структури й скласти програму.

Умова: знайти площу грані, площа повної поверхні й об'єм куба з довжиною ребра - а.

Розв'язання: приймемо позначення: а → А, Sгр → SGR,

Sп→ SP, Vкуб → V

Блок – схема Програма

 
 

REM алгоритм лінійної структури ‘оператор- коментар

INPUT “Довжина ребра куба A”; A ‘ введення даних

Sгр
SGR = A ^ 2

Sпов
SP = SGR * 6 ‘оператори присвоювання

V = A ^ 3

V
PRINT “Sгр =”;SGR;“Sп =”;SP;“V =”; V ‘ виведення

END ‘ кінець програми

Результат виконання програми:

 

Довжина ребра куба A? 3_

Sгр = 9 Sп = 54 V = 27

3.6. Приклад виконання задачі 2А

Завдання: відповідно до умови задачі розробити алгоритм розгалуженої структури і скласти програму обчислення функції.

Умова: Обчислити значення функції , де

Розв'язання: приймемо позначення: Y → Y, a → A, x → X, n → N

 

При розв'язанні необхідно передбачити два варіанти: при рівності нулю знаменника у формулі Y обчислення не відбувається й видається текстове повідомлення, а якщо ні, то обчислюється значення функції Y і друкується результат

Блок – схема

       
   
 
 


 

 


+ -

Y

           
   
 
 
 
   



Програма

REM алгоритм розгалуженої структури ‘оператор - коментар

INPUT “ A, N”; A, N ‘введення данных

X = SIN (N+1) / (2+N) ‘оператори присвоювання

IF X < > 0 THEN ‘оператор умовного переходу

Y = (A+TAN(A ^ 2+1)) / X ^ 2 ‘оператори присвоювання

PRINT “Y =”; Y ‘виведення

ELSE

PRINT “Функція Y не визначена” ‘виведення

END IF ‘завершення оператора умовного переходу

END ‘ кінець програми

Результат виконання програми:

1-й варіант

A, N? 2, 3_

Y = -60.25818266

2-й варіант

A, N? 2, -1_

Функція Y не визначена

3.7. Приклад виконання задачі 2Б

Завдання: відповідно до умови задачі розробити алгоритм розгалуженої структури і скласти програму обчислення функції.

Умова: , якщо 1 < x < 2

y = , якщо x ≥ 2



, якщо x ≤ 1

Розв'язання: приймемо позначення: Y → Y, x → X, a → A, b → B

При розв'язанні необхідно передбачити три можливі варіанти обчислення функції Y по одній із трьох формул залежно від умов.

Блок – схема

 
 


+ -

-

Y 1-а формула
+

Y 3-а формула
Y 2-а формула

 

       
   
 
 


Програма

REM алгоритм розгалуженої структури ‘оператор - коментар

INPUT “ A, B, X”; A, B, X ‘введення данных

IF X > 1 AND X < 2 THEN ‘оператор умовного переходу

Y = (A+ X^2) ^ (1 / 3) ‘оператори присвоювання

ELSE IF X > = 2 THEN ‘оператор умовного переходу

Y = LOG (0.5 + X) ‘оператори присвоювання

ELSE

Y = SIN (ABS(X)) + B ‘оператори присвоювання

END IF ‘завершення оператора умовного переходу

END IF ‘завершення оператора умовного переходу

PRINT “Y =”; Y ‘виведення

END ‘ кінець програми

Результат виконання програми:

1-й варіант A, B, X? 2, 3, 1.5 _

Y = 1.61977

2-й варіант A, B, X? 2, 3, 4 _

Y = 1.504077

3-й варіант A, B, X? 2, 3, -1 _

Y = 3.017452

3.8. Приклад виконання задачі 3 А

Завдання: Розробити алгоритм циклічної структури и скласти програму табулювання функції.

Умова: , де ,

Розв'язання: приймемо позначення: yk → yk, xk → xk, Δ → DL, k → К

В основі розв'язання лежить простий цикл, при реалізації якого заздалегідь відоме число циклічних дій (повторень). Розв'язання можна здійснити за допомогою операторів WHILE – WEND, DO – LOOP, FOR – NEXT.

Блок – схеми

1. Цикл ''Поки'' 2. Цикл '' До'' 3. Цикл ''З лічильником''

k=2

                       
   
k=2
     
 
     
       
xk
 
 
 
     
yk
 
 


xk
yk
+

yk

           
 
   
k=k+2
 
 
 


-

k=k+2
 
 

 


+

 

Зауваження:

в алгоритмах № 1 і 2 необхідно до початку циклічних дій виконати початкові присвоювання – дії, що забезпечують виконання першого кроку циклу (у даному прикладі – це початкове значення параметра циклу k = 2).

Програми

REM алгоритм циклічної структури ''Поки'' ‘оператор - коментар

INPUT “ DL”; DL ‘введення даних

K= 2 ‘оператор присвоювання

WHILE K < = 10 ‘оператор початку циклу

XK =0.2+DL * K : YK = SIN(ABS(1- XK))^3 ‘оператор присвоювання

PRINT “Y''; K;” =”; YK ‘виведення

K= K+2 ‘оператор присвоювання

WEND ‘завершення циклу

END ‘ кінець програми

 

REM алгоритм циклічної структури '' До'' ‘оператор - коментар

INPUT “ DL”; DL ‘введення даних

K= 2 ‘оператори присвоювання

DO ‘оператор початку циклу

XK =0.2+DL * K : YK = SIN(ABS(1- XK))^3 ‘оператори присвоювання

PRINT “Y''; K;” =”; YK ‘виведення

K= K+2 ‘оператори присвоювання

LOOP UNTIL K > 10 ‘завершення циклу

END ‘ кінець програми

 

REM алгоритм цикл. структури ''З лічильником'' ‘оператор-коментар

INPUT “ DL”; DL ‘введення даних

FOR K = 2 TO 10 STEP 2 ‘оператор початку циклу

XK =0.2+DL * K: YK = SIN(ABS(1- XK))^3 ‘оператори присвоювання

PRINT “Y''; K;” =”; YK ‘виведення

NEXT K ‘завершення циклу

END ‘ кінець програм и

Результат виконання програм:

DL? 0.3 _

Y2 = 7.841378E-03

Y4 = 5.905402E-03

Y6 = .5958232

Y8 = .9987214

Y10 = .5284869

3.9. Приклад виконання задачі 3 Б

Завдання: розробити алгоритм циклічної структури й скласти програму обчислення суми.

Умова: , де ,

Розв'язання: позначимо s → S, xi → XI, x0 → X0, h → H, i → I

Блок – схеми

1. Цикл ''Поки'' 2. Цикл '' До'' 3. Цикл ''З лічильником''

           
 
     
 

           
 
i =1, S=0
   
i =1, S=0
     
S=0
 
 


-

xi

xi
xi
+

Si = cos xi3
-

Si = cos xi3

             
   
S = S + Si
     
 
S = S + Si
 
   
i = i +1
 
 

 

 


i = i +1
_

+

             
   
     
 
 
   
 
 


Зауваження:

У всіх алгоритмах до початку циклічних дій виконуються початкові присвоювання (у даному прикладі – це S = 0 – початкове значення суми й i = 1 – початкове значення параметра циклу в алгоритмах № 1 і 2).

Висновок результату обчислення суми здійснюється після закінчення циклічних дій.

Програми

REM алгоритм цикл. структури ''Поки'' ‘оператор - коментар

INPUT “ H, X0 ”; H, X0 ‘введення даних

I = 1: S = 0 ‘оператори присвоювання

DO UNTIL I > 11 ‘оператор начатку циклу

XI = X0+H * I: SI = COS (XI ^ 3) ‘оператори присвоювання

S = S + SI : I = I + 1

LOOP ‘завершення циклу

PRINT “S =”; S ‘виведення

END ‘ кінець програми

 

REM алгоритм цикл. структури '' До'' ‘оператор - коментар

INPUT “ H, X0 ”; H, X0 ‘введення даних

I = 1: S = 0 ‘оператори присвоювання

DO ‘оператор начатку циклу

XI = X0+H * I: SI = COS (XI ^ 3) ‘оператори присвоювання

S = S + SI : I = I + 1

LOOP WHILE I < = 11 ‘завершення циклу

PRINT “S =”; S ‘виведення

END ‘ кінець програми

 

REM алг. цикл. структури ''З лічильником''оператор - коментар

INPUT “ H, X0 ”; H, X0 ‘введення даних

S = 0 ‘оператори присвоювання

FOR I = 1 TO 11 ‘оператор начатку циклу

XI = X0+H * I: SI = COS (XI ^ 3) ‘оператори присвоювання

S = S + SI

NEXT I ‘завершення циклу

PRINT “S =”; S ‘виведення

END ‘ кінець програми

Результат виконання програм:

H, X0? 1.2, 0.4 _

S= -4.155788

3.10. Приклад виконання задачі 4

Завдання: розробити алгоритм комбінованої структури й скласти програму.

Умова:Обчислити значення функції

,0,5 < с < 2,5

y = , с ≤ 0,5 або с ≥ 2,5,

 

для с = -1,5 ; -0,5 ; -0,1 ; 0 ; 0,5 ; 1,75 ; 1,8 ; 2,5 ; 3,4 ; 5,7.

Тут . Знехтувати членами ряду, меншими ε = 10 - 4

Розв'язання: позначимо z → Z, zn → ZN, i →I, n → N, ε → EPS як прості змінні, c → C(I), y → Y(I) як одномірні масиви, довжина кожного з яких становить 10 елементів ( по кількості заданих значень с).

 

Комбінований алгоритм даної задачі складається із фрагментів алгоритму, що розгалужується, і двох циклічні: простого (із заздалегідь відомим числом повторень) і ітераційного (для обчислення сумиZ), припинення якого відбувається при досягненні заданої точності обчислень zn < ε = 10-4.

 

Реалізація ітераційного циклу можлива тільки за допомогою циклічних алгоритмів типу ''Поки'' або '' До''. Для простого циклу можна використовувати цикл ''З лічильником''.

 

Перша частина алгоритму виконує обчислення змінної Z (ітераційний цикл) значення якої використовується в другої частині (простий цикл обчислення функції Y(I) з розгалуженням – вибором відповідної формули, в залежності від введеного значення змінної C(I)).

 

 

1-й варіант

Блок – схема

 
 
n=1, z =0


 

 
 


+

 

       
   
 


 
 

 


+ -

       
 
Y(i) 1-а формула
   
Y(i) 2-а формула
 

 


 

 
 

 


Програма

REM алгоритм комбінованої структури ‘оператор - коментар

DIM EPS,N,Z,ZN,I,C(1 TO 10),Y(1 TO 10) ‘ опис змінних

INPUT “ EPS ”; EPS ‘введення даних

DATA –1.5,-.5,-.1,0,.5,1.75,1.8,2.5,3.4,5.7 ‘ рядок даних

N = 1: Z = 0 ‘оператори присвоювання

DO ‘оператор начатку циклу

ZN = 0.1*N / (N+0.6)^3: Z=Z+ZN ‘оператори присвоювання

N= N + 1

LOOP WHILE ABS(ZN) > EPS ‘завершення циклу

PRINT “Z=”; Z ‘виведення

FOR I = 1 TO 10 ‘оператор начатку циклу

READ C(I) ‘ введення даних

IF C(I)> .5 AND C(I)< 2.5 THEN ‘оператор умовного переходу

Y(I) = (C(I) * Z - 3) ^ 2 ‘оператор присвоювання

ELSE Y(I) = .5 * Z ^ 3 - 5 * C(I) оператор присвоювання

END IF ‘завершення оператора умовного переходу

PRINT “Y”; I; “=”;Y(I) ‘виведення

NEXT I ‘завершення циклу

END ‘ кінець програми

2-й варіант (з використанням підпрограми користувача)

Зауваження

Фрагмент обчислення Z виділений в окремий програмний модуль – підпрограму користувача (SUB) з іменем SUMZ.

Місце підпрограми SUB - після тексту основного модуля.

Уведення програми, у тексті якої перебуває звертання до підпрограми користувача, виконується за 2 кроки:

- після введення останнього рядка основної програми необхідно ввести частину заголовка процедури, а саме SUB <ім'я> і натиснути ENTER.

На екрані з'являться 3 рядки

SUB ім'я

-

END SUB

- уведення тексту процедури.

Після введення останнього оператора підпрограми необхідно натиснути клавішу F2.





sdamzavas.net - 2020 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...