Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Дьяченко В.Б. ЛП_И

.pdf
Скачиваний:
15
Добавлен:
13.03.2016
Размер:
913.62 Кб
Скачать

 

 

 

10

 

 

 

 

 

 

 

 

 

Блок-схема

 

 

 

 

 

 

 

 

НАЧАЛО

 

 

 

 

 

 

 

 

Ввод

 

 

 

 

 

 

 

 

x,a,t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нет

t>0

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y at2

 

 

 

y x

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вывод y

КОНЕЦ

Программа на языке Паскаль

program z3; var

x, a, t, y: real; begin

writeln (‘ввод х, a, t’); read (x, a, t);

if t>0 then y :=x *sqrt (t) else y :=a *sqr (t); writeln (‘y=’, y:8:2);

end.

Р е з у л ь т а т р а б о т ы п р о г р а м м ы

1) y = 51.00 (t<0 ) 2) y = 24.00 (t>0 )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ВАРИАНТЫ ЗАДАНИЙ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если H2 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2gH ,

 

 

 

 

 

 

 

 

 

1. Q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2gZ ,

 

 

если H

2

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если n 1

 

 

 

 

 

 

1,5

 

 

 

n,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если n 1

 

 

 

 

 

 

1,3

 

 

 

n,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

100

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если P 50

 

 

 

 

 

 

 

P

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. L

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

100

 

 

 

 

,

 

 

 

 

если P 50

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

100 P

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L2

 

 

Q2

 

 

 

 

если a

L

 

P

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

2

 

 

4. M

L2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если a

L

 

 

 

P

 

 

 

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

763

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

HL2

 

 

 

 

 

 

 

 

если H 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 ,

 

 

 

 

 

 

 

 

 

 

 

 

5. g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

64 3 HL2

 

 

если H 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если n 30

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6. Cv

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S

 

 

 

,

 

 

 

 

 

 

 

 

 

если n 30

 

 

 

 

 

n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P L,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если P P

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

2

 

 

 

 

 

 

 

 

 

 

 

P

P

 

L

 

 

 

 

 

 

 

 

 

 

 

 

7. F

P L

 

,

 

 

 

 

если P P

 

 

 

 

1

 

 

 

 

2

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

1

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,1V

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если H2

0

 

 

 

 

2g

Z

 

 

o

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2g

 

 

 

 

 

 

 

 

 

 

 

8. V

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2g

H

1,1V 2

,

 

если H

 

 

0

 

 

 

 

 

 

 

 

 

o

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12

sin

 

,

 

 

если 90

 

180

 

 

 

 

9. A

 

 

 

 

 

0,7 0,35

,

если 90

 

 

 

 

90

 

 

 

 

 

 

qL2

,

 

 

 

 

 

 

 

 

 

 

если a b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10. M

 

12

 

 

 

 

 

 

 

 

 

 

 

 

q L x

 

 

 

 

q

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

L x ,

если a b,

 

 

6 L a

 

6b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

H12 h12

 

 

 

если j 1

K

 

 

 

 

 

 

 

 

 

 

,

 

 

2 Lp m2h1

 

 

 

 

 

 

 

 

 

 

11. q

 

 

 

 

H12 H22

 

 

 

 

 

 

 

 

K

 

 

 

,

 

 

если j 2

 

 

2 Lp lдр

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 2

K

,

 

 

 

 

если n 1

 

 

2K2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12. L

 

 

 

K sin

 

 

 

1 2

,

 

если n 2

 

 

 

2K2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

H H

2

 

 

 

 

 

 

если j 0

 

 

1

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

13. J

 

n lпл

 

 

 

 

 

 

 

 

 

 

 

tg ,

 

 

 

 

 

 

 

 

 

если j 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 n

г

 

K,

 

 

 

если b 18

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 n г о ,

 

 

если b 18

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если j 1

 

bh,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15.

 

 

2

 

 

 

 

 

 

 

 

 

 

 

d

 

 

 

 

 

 

 

если j 2

,

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

K S J JK o

,

 

 

 

 

пр

16. tпр

 

 

 

 

0,

 

 

22gZ

17. Q d o ,

2gZo ,

если J JK

если J JK

если n 1 если n 2

13

ЛАБОРАТОРНАЯ РАБОТА № 4

ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ ЦИКЛИЧЕСКИХ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ

Ц е л ь р а б о т ы . Получение навыков разработки, программирования алгоритмов циклических процессов «с предусловием» и «постусловием», отладки и тестирования программ.

Х о д в ы п о л н е н и я р а б о т ы .

1.Разработать алгоритм решения в соответствии с заданием.

2.Составить блок-схему решения задачи и написать программу на алгоритмическом языке ПАСКАЛЬ.

3.Набрать программу.

4.Выполнить программу на ПК.

5.Проверить правильность работы программы на тестовом варианте исходных данных, вычислив по заданию результат.

6.Записать результат работы программы.

Пример выполнения работы

1.Алгоритм решения отображаем на блок-схеме.

2.Составляем программу на языке ПАСКАЛЬ.

3.Выполняем тестовый вариант, вычисляем значение функции у=х2, исходные данные:

x = [2;10], x=2 (шаг) , начальное значение xn =2 , конечное значение xk =10 dx=2 ( x dx)

1) x = xn x = 2, y=4

2) x = 2+2=4,

y=16

3) x =4+2=6,

y=36

4) x =6+2=8,

y=64

5) x =8+2=10,

y=100

4.Набираем программу, проверяем, и при наличии ошибок исправляем, используя порядок работы в Pascal АВС.

5.Выполняем программу на ПК, сравниваем результат с тестовым вариантом, если результаты не совпадают, вносим изменения в программу и вновь выполняем программу.

6.Записываем результаты работы программы.

14

Цикл «с предусловием» (1 способ)

Блок-схема

НАЧАЛО

Ввод

xn,xk,dx

x=xn

нет

x<=xk

да

y=x2

Вывод x, y

x=x+dx КОНЕЦ

Программа

program zz; var

x, xn, xk, dx, y : real; begin

writeln (‘ввод xn, xk, dx’); read (xn, xk, dx);

x := xn;

while x <= xk do begin

y:=sqr (x);

writeln (‘x=’, x:6:1, ‘y=’, y:6:1);

x:=x+dx; end; end.

Результат работы программы

x = 2.0

y=4.0

x = 4.0

y=16.0

x = 6.0

y=36.0

x = 8.0

y=64.0

x =10.0

y=100.0

15

Цикл «с постусловием» (2 способ)

 

 

Блок-схема

Программа

 

 

 

 

 

НАЧАЛО

program zz2;

 

 

 

 

 

var

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x, xn, xk, dx, y: real;

 

 

 

 

Ввод

begin

 

 

 

 

 

xn,xk,dx

 

 

 

 

 

writeln (‘ввод хn, xk, dx’);

 

 

 

 

 

 

 

 

 

 

 

 

read (xn, xk, dx);

 

 

 

 

 

X=xn

 

 

 

 

 

x:=xn;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

writeln (‘_ _ _ _ _ _ _ _ _ _ _ _ _’);

 

 

 

 

 

 

 

 

 

 

writeln (‘I х

I

y

I’);

 

 

y=x2

 

 

 

 

 

writeln (‘_ _ _ _ _ _ _ _ _ _ _ _ _’);

 

 

 

 

 

repeat

 

 

 

 

 

 

 

 

 

 

 

 

 

Вывод

y :=sqr (x);

 

 

 

 

 

writeln (x:5:1, ‘ I ‘,

y: 5:1);

 

 

 

x, y

 

 

 

x:=x+dx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

until x>xk

 

 

 

 

 

x=x+dx

 

 

 

 

 

 

 

writeln (‘I_ _ _ _ _ _ _ _ _ _ _ _ _ I’);

 

 

 

 

 

 

 

 

 

 

end.

 

 

 

нет

x>xk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

КОНЕЦ

 

 

 

 

Результат работы программы

_ _ _ _ _ _ _ _ _ _ _ _ _

I x I y I

_ _ _ _ _ _ _ _ _ _ _ _ _

I

2.0

I

4.0

I

I

4.0

I

16.0

I

I

6.0

I

36.0

I

I

8.0

I

64.0

I

I 10.0

I 100.0

I

_ _ _ _ _ _ _ _ _ _ _ _ _

16

ВАРИАНТЫ ЗАДАНИЙ

Вычислить

1)

n =

av2

 

 

 

 

, g =x+2y

 

 

2g

 

 

 

 

 

 

 

m

2)

z =

 

P , P =

 

 

 

 

n + 1

3) p a2 b2 , b 3a c

4)

M P

 

a2

 

, a

l

 

12

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5)

O d

 

f l

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6)

r

cos2 x aex

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7)

s

kn 3 k n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 h l2

8)

p

 

 

h l

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9)

y

 

 

a ba2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10)

A

 

 

 

G2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CRw

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11)

N 1, 25 sin x

 

ac

 

 

 

 

12)

F a

 

ac

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a b

13)

B

25,5

 

 

 

 

 

 

 

 

 

 

 

 

 

cos2 x

 

 

 

 

 

 

 

 

 

 

 

при заданных значениях:

xn, xк, x

nn, nк, n

an, ak, a

ln, lk, l

dn, dk, d

an, ak, a

kn, kk, k

ln, lk, l

an, ak, a

Gn, Gk , G

xn, xk, x

xn, xk, x

xn, xk, x

17

ЛАБОРАТОРНАЯ РАБОТА № 5

ПРОГРАММИРОВАНИЕ КОМБИНИРОВАННЫХ АЛГОРИТМОВ

Ц е л ь р а б о т ы . Овладение навыками разработки и программирования комбинированных алгоритмов (разветвление в цикле), освоение табличной формы представления данных на языке Паскаль, получение дальнейших навыков по отладке и тестированию программ.

Х о д в ы п о л н е н и я р а б о т ы .

1.Разработать алгоритм решения в соответствии с заданием.

2.Составить блок-схему решения задачи и написать программу на алгоритмическом языке ПАСКАЛЬ.

3.Набрать программу.

4.Выполнить программу на ПК.

5.Проверить правильность работы программы на тестовом варианте исходных данных, вычислив по заданию результат.

6.Записать результат работы программы.

Пример выполнения работы

1.Алгоритм решения отображаем на блок-схеме.

2.Составляем программу на языке ПАСКАЛЬ.

3.Выполняем тестовый вариант, вычисление значения функции

 

 

bc x

 

c 0

 

 

 

z c2x

 

c 0

 

 

 

 

 

 

 

при xн=1,0

(начальное значение) до

xк=9,0

(конечное значение)

с шагом x=2,0

( x dx); b =5,0

вычисляем по формулам

(для с>0,

c = 10,0)

(для с≤0, c = -6,0)

1)

x = 1,

z = 51

1)

x = 1,

z = 37

2)

x = 3,

z = 53

2)

x = 3,

z = 39

3)

x = 5,

z = 55

3) x = 5,

z = 41

4)

x = 7,

z = 57

4)

x = 7,

z = 43

5)

x = 9,

z = 59

5) x = 9,

z = 45

4.Набираем программу, проверяем и при наличии ошибок исправляем, используя порядок работы в Pascal АВС.

5.Выполняем программу на ПК, сравниваем результат с тестовым вариантом, если результаты не совпадают, вносим изменения в текст программы и вновь выполняем программу.

6.Записываем результаты работы программы.

18

Блок-схема

НАЧАЛО

Ввод b, c, xn, xk, dx

 

x=xn

 

x<=xk

 

да

да

c>0

 

z bc x

 

 

x = x + dx

 

Вывод

 

x, z

нет

нет

z c2x

КОНЕЦ

Программа program z5;

var z,b,c,dx,x,xn,xk:real; begin

writeln (‘введите b,c,xn,xk,dx,’); read (b,c,xn,xk,dx);

x:=xn;

writeln (‘_ _ _ _ _ _ _ _ _ _ _ _ _’); writeln (‘I х I z I’); writeln (‘_ _ _ _ _ _ _ _ _ _ _ _ _’); while (x<=xk) do

19

begin

if c>0 then z:= b*c + x else z:= SQR(c) * x ; writeln(x:5:1, ’I’, z:5:1); x:=x + dx;

end;

writeln (‘_ _ _ _ _ _ _ _ _ _ _ _ _’); end.

Р е з у л ь т а т р а б о т ы п р о г р а м м ы

( для с>0, c =10,0)

_ _ _ _ _ _ _ _ _ _ _ _ _

I x I z I

_ _ _ _ _ _ _ _ _ _ _ _ _

I

1.0

I

51.0

I

I

3.0

I

53.0

I

I

5.0

I

55.0

I

I

7.0

I

57.0

I

I

9.0

I

59.0

I

_ _ _ _ _ _ _ _ _ _ _ _ _

( для с≤0, c = -6,0 )

_ _ _ _ _ _ _ _ _ _ _ _ _

I x I z I

_ _ _ _ _ _ _ _ _ _ _ _ _

I

1.0

I

37.0

I

I

3.0

I

39.0

I

I

5.0

I

41.0

I

I

7.0

I

43.0

I

I

9.0

I

45.0

I

_ _ _ _ _ _ _ _ _ _ _ _ _