Разработать алгоритм циклической структуры и составить программу табулирования функции.

Министерство образования и науки, молодежи и спорта

Украины

Одесская государственная академия строительства и архитектуры

Кафедра ПВМ и САПР

 

 

 

Контрольная работа

По информатике

Семестр

Выполнил студент гр.

Фамилия, инициалы

Вариант №

Проверила доц. Ковалёва И.Л.

Одесса 2012

Министерство образования и науки, молодежи и спорта Украины

Одесская государственная академия строительства и архитектуры

Кафедра ПВМ и САПР

ЗАДАНИЕ № 1

Арифметические выражения и алгоритм линейной структуры

Выполнил студент гр.

Фамилия, инициалы

Вариант №

Проверила доц. Ковалёва И.Л.

Одесса 2012

Задание № 1 А

Записать арифметические выражения в символах алгоритмического языка

;

Задание № 1 Б

Задание: Вычислить корни уравнения по формулам: ; ;
Блок – схема  

Программа

 

REM алгоритм линейной структуры

DI

М P, F, Y1, Y2, Y3

INPUT P, F

CONST PI = 3.14

Y1 = 2 * P ^ ( 1 / 3) * COS ( F / 3 )

Y2 = 2 * P ^ ( 1 / 3) * COS ( F / 3 + 2 * PI / 3)

Y3 = 2 * P ^ ( 1 / 3) * COS ( F / 3 + 4 * PI / 3)

PRINT “Y1=”; Y1 , “Y2 =”; Y2, “Y3 =”; Y3

END

 

 

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

P, F?_2, 4

Y1= .592762 Y2 = -2.41739 Y3=1.824628

Министерство образования и науки Украины

Одесская государственная академия строительства и архитектуры

Кафедра ПВМ и САПР

ЗАДАНИЕ № 2

Алгоритм разветвляющейся структуры

Выполнил студент гр.

Фамилия, инициалы

Вариант №

Проверила доц. Ковалёва И.Л.

Одесса 2012

Задание IIА

Построить алгоритм и написать программу

Задание: Вычислить значение функции , где
Блок – схема

Программа

REM алгоритм разветвляющейся структуры

DIМ G, H , Y, R1, R

INPUT “G, H” : G, H

Y = (G + 2) / H

R1 = ABS (Y – Y ^ 2 / 2)

IF R1 < > 0 THEN

R = LOG ( R1 ) / LOG ( 2.5 )

PRINT “R = ”; R

ELSE

PRINT “Функция не определена”

END IF

END

Результат выполнения программы (данные вводятся дважды - для проверки правильности работы обеих ветвей программы):

 

H?_2, 3

R = -1.39796

 
 


G, H?_-2, 2

Функция не определена

Задание II Б

Построить алгоритм и написать программу

Задание: Вычислить значение функции y, для произвольного значения аргумента x , x > 4 y = , если x < - 3 а, - 3 x 4
Блок – схема
 
 


+ -

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

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


Программа

 

REM алгоритм разветвляющейся структуры

DIМ A, X , Y

INPUT “A, X” ; A, X

IF X > 4 THEN

Y = ATN ( SQR (X - 3 ) )

ELSE

IF X < - 3 THEN

Y = TAN ( X +A ^ 2 )

ELSE

Y = A

END IF

END IF

PRINT “ Y = ”; Y

END

 

 

Результат выполнения программы (данные вводятся трижды - для проверки правильности работы трёх ветвей программы):

 

A, X?_5, 6

Y = 1.047198

 

   
 
 
 


A, X? 5, 2

Y = 0.008852

 

 

A, X?_5, -4

Y = 5

 

Министерство образования и науки, молодежи и спорта

Украины

Одесская государственная академия строительства и архитектуры

 

Кафедра ПВМ и САПР

 

ЗАДАНИЕ № 3

 

Алгоритм циклической структуры

 

Выполнил студент гр.

 

Фамилия, инициалы

 

Вариант №

 

Проверила доц. Ковалёва И.Л.

 

Одесса 2012

 

ЗАДАНИЕ III А Табулирования функции

Разработать алгоритм циклической структуры и составить программу табулирования функции.

, где ,

Решение: примем обозначения: ykYK, xk XK, DL, k К

Решение можно осуществить с помощью операторов WHILE – WEND, DO – LOOP, FOR – NEXT.

1. Цикл «ПОКА»
Блок – схема
 
 


_


+

           
   
 
 
 
   


Программа

 

REM Табулирование функции

REM Цикл Пока WHILE - WEND

DIМ A , B0, D, Bi, Yi, i

INPUT “B0, D, A” ; B0, D, A

i = 1

WHILE i < = 5

Bi = B0 - D * i : Bi1= B0 + D * (i + 1)

Yi = (0.27+ Bi) ^ (1/ 3) +SIN (Bi –4 * A) / ( 1 - LOG ( Bi1))

PRINT “Y“ ; I ; “=“ ; Yi

i = i + 1

WEND

END

 

 

REM табулирование функции

REM Цикл Пока DO- LOOP

DIМ A , B0, D, Bi, Yi, i

INPUT “B0, D, A” ; B0, D, A

i = 1

DO WHILE i < = 5

Bi = B0 - D * i : Bi1= B0 + D * (i + 1)

Yi = (0.27+ Bi) ^ (1/ 3)+SIN (Bi –4 * A) / ( 1 - LOG ( Bi1) )

PRINT “Y“ ; I ; “=“ ; Yi

i = i + 1

LOOP

END

2 Цикл «До»
Блок – схема
 
 


 
 


           
   
 
 
 
   


-

+

 

 

Программа

 

REM алгоритм цикл.

стр. Цикл До DO-LOOP

REM табулирование функции

DIМ A , B0, D, Bi, Yi, i

INPUT “B0, D, A” ; B0, D, A

i = 1

DO

Bi = B0 - D * i : Bi1= B0 + D * (i + 1)

Yi = (0.27+Bi) ^ (1/ 3) + SIN (Bi –4 *A) / (1 –

LOG(Bi1))

PRINT “Y“ ; I ; “=“ ; Yi

i = i + 1

LOOP UNTIL i > 5

END

 

3. Цикл «СЧЕТЧИК»
Блок – схема
 
 


 
 


               
   
 
 
 
   
 
   


Программа

 

REM алгоритм цикл.

стр. Цикл Счетчик FOR- NEXT

REM табулирование функции

DIМ A , B0, D, Bi, Yi, i

INPUT “B0, D, A” ; B0, D, A

FOR i = 1 TO 5

Bi = B0 - D * i : Bi1= B0 + D * (i + 1)

Yi = (0.27+Bi) ^ (1/ 3) + SIN(Bi – 4 *A) / (1-

LOG( Bi1))

PRINT “Y“ ; I ; “=“ ; Yi

NEXT i

END

Результат выполнения программ: DL? 0.3 _ Y1 = 7.841378E-03 Y2 = 5.905402E-03 Y3 = .5958232 Y4 = .9987214 Y5 = .5284869

ЗАДАНИЕ III Б: разработать алгоритм циклической структуры и составить программу вычисления суммы.

, где ,

Решение: обозначим s S, xi XI, x0 X0, hH, i I

1. Цикл «ПОКА»
Блок – схема
 
 


 
 
G = 0  


_

+

       
 
 
   


Программы

 

REM алг. цикл. стр. Цикл Пока WHILE - WEND

REM вычисление суммы

DIМ A , G, D, XK, GK, K

INPUT “ D, A” ; D, A

K = 3

G = 0

WHILE K < = 21

XK = D * K

GK = COS( (XK + A) ^ 2)

G = G+G K : K = K+ 2

WEND

PRINT “G = ” ; G

END

 

REM алгоритм цикл. стр. Цикл Пока DO - LOOP

REM вычисление суммы

DIМ A , G, D, XK, GK, K

INPUT “ D, A” ; D, A

K = 3

G = 0

DO WHILE K < = 21

XK = D * K

GK = COS( (XK + A) ^ 2)

G = G+G K : K = K+ 2

LOOP

PRINT “G = ” ; G

END

 

 

2 Цикл «До»
k = k+2  
Блок – схема

 
 


 
 
G = 0  


       
   
 
 


-

+

Программа

 

REM алгоритм цикл.

стр. Цикл До DO-LOOP

REM вычисление суммы

DIМ A , G, D, BK, YK, K

INPUT “ D, A” ; D, A

K = 3

G = 0

DO

XK = D * K

GK = (COS (XK + A) + SQR ( ABS (1 – XK ))) ^ 2

G = G+GK

K = K+ 2

LOOP UNTIL K > 21

PRINT “G = ” ; G

END

3 Цикл «СЧЕТЧИК»
Блок – схема

           
 
 
   
G = G + Gk
 
   


Программа

 

REM алгоритм цикл.

стр. Цикл Счетчик FOR- NEXT

REM вычисление суммы

DIМ A , G, D, BK, YK, K

INPUT “ D, A” ; D, A

G = 0

FOR K = 3 TO 21 STEP 2

XK = D * K

GK = (COS (XK + A) + SQR(ABS(1–XK ))) ^ 2

G = G + GK

NEXT K

PRINT “G = ” ; G

END

Результат выполнения программ D, A?_ .2, 43 G = 28.14528