Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика часть 1.pdf
Скачиваний:
16
Добавлен:
02.05.2015
Размер:
489.96 Кб
Скачать

10.j:=0;

11.rez:=0;

12.while j<n do

13.begin

14.rez:=rez+i*x*y;

15.j:=j+1;

16.end;

17.rez1:=rez1+rez/n;

18.i:=i+1;

19.end;

20.write (rez1)

21.End.

Входные данные 2 2 8

Строка

Ход выполнения

n

x

y

i

j

rez

rez1

4

вход в Prim3

?

?

 

?

 

?

 

5

 

2

2

8

 

 

 

 

6

 

 

 

 

1

 

 

 

7

 

 

 

 

 

 

 

0

8

(i<=n)=True

 

 

 

 

 

 

 

10

 

 

 

 

 

0

 

 

11

 

 

 

 

 

 

0

 

12

(j<n)=True

 

 

 

 

 

 

 

14

 

 

 

 

 

 

16

 

15

 

 

 

 

 

1

 

 

12

(j<n)=True

 

 

 

 

 

 

 

14

 

 

 

 

 

 

32

 

15

 

 

 

 

 

2

 

 

12

(j<n)=False

 

 

 

 

 

 

 

17

 

 

 

 

 

 

 

16

18

 

 

 

 

2

 

 

 

8

(i<=n)=True

 

 

 

 

 

 

 

10

 

 

 

 

 

0

 

 

11

 

 

 

 

 

 

0

 

Строка

Ход выполнения

n

x

y

i

j

rez

rez1

 

12

(j<n)=True

 

 

 

 

 

 

 

 

14

 

 

 

 

 

 

32

 

 

15

 

 

 

 

 

1

 

 

 

12

(j<n)=True

 

 

 

 

 

 

 

 

14

 

 

 

 

 

 

64

 

 

15

 

 

 

 

 

2

 

 

 

12

(j<n)=False

 

 

 

 

 

 

 

 

17

 

 

 

 

 

 

 

48

 

18

 

 

 

 

3

 

 

 

 

8

(i<=n)=False

 

 

 

 

 

 

 

 

20

Вывод: 48

 

 

 

 

 

 

 

 

21

Выход из prim3

 

 

 

 

 

 

 

 

Результат: 48

 

 

 

 

 

 

 

 

Рассмотрим вывод

математического

выражения для

результата. Во внешнем цикле выражение rezl:=rezl+rez/n

соответствует rezli=rezli-1+rezi/n, i=1,..,n, то есть

n

rezi

/ n , в свою

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

очередь

внутреннему

циклу

соответствует rezj=rezj-1+i*x*y, j=

 

 

 

n1

 

 

 

 

 

 

 

 

 

 

0,..,n-1,

то есть i * x * y . В

итоге

математическое

выражение

 

 

 

j =0

 

 

 

 

 

 

 

 

 

 

результата запишется так

 

 

 

 

 

 

 

 

n

1

n1

n

i * x

* y

n1

n

n

 

 

n 1

 

i * x * y =

1 =

ixy

n = xyi

= xy

n .

 

n

 

 

 

i =1

n j =0

i =1

 

j =0

i =1 n

i =1

 

2

 

 

Вложенные циклы

Задание 6

Выполнить трассировку программы для заданных входных данных. Ввести программу в ЭВМ, сравнить результаты трассировки и работы программы. Записать математическое

27

выражение выдаваемого программой результата как функцию от

end;

 

входных данных.

i:=i+1

 

№1

end;

 

progran prim3(input,output);

writeln(r)

 

var m,n,i,j,r:integer;

end.

 

begin

Входные данные

2 2

read(m,n);

№3

 

r:=0; i:=1;

progran prim3(input,output);

while i<=n do

var m,n,i,j:integer;

begin j:=1;

r:real;

 

while j <=m do

begin

 

begin

read(m,n);

 

r:=r+sqr(i+j);

r:=0; i:=1;

 

j:=j+1

while i<=n do

 

end;

begin

 

i:=i+1

j:=1;

 

end;

while j <=m do

 

writeln(r)

begin

 

end.

r:=r+(j-i+1)/(i+j);

Входные данные 2 2

j:=j+1

 

№2

end;

 

progran prim3(input,output);

i:=i+1

 

var m,n,i,j:integer;

end;

 

r:real;

writeln(r)

 

begin

end.

 

read(m,n);

Входные данные

2 2

r:=0; i:=1;

№4

 

while i<=n do

progran prim3(input,output);

begin

var n,i,j,p,r:integer;

j:=1;

begin

 

while j <=m do

read(n);

 

begin

r:=0; i:=1;

 

r:=r+1/(2*i+j);

while i<=n do

 

j:=j+1

begin

 

28

p:=i; j:=1;

 

var n,i,j:integer;

while j<=i do

 

p,r:real;

begin

 

begin

p:=p*(p+j);

 

read(n);

j:=j+1

 

r:=0; i:=1;

end;

 

while i<=n do

r:=r+p;

 

begin

i:=i+1

 

p:=1; j:=1;

end;

 

while j<=sqr(i) do

writeln(r)

 

begin

end.

 

p:=p*j;

Входные данные

2

j:=j+1

№5

 

end;

progran prim3(input,output);

r:=r+p;

var n,i,j,p,r:integer;

i:=i+1

begin

 

end;

read(n);

 

writeln(r)

r:=0; i:=1;

 

end.

while i<=n do

 

Входные данные 2

begin

 

№7

p:=i; j:=1;

 

progran prim3(input,output);

while j<=i do

 

var n,i,j,z:integer;

begin

 

p,r:real;

p:=p*i;

 

begin

j:=j+1

 

read(n);

end;

 

r:=0; i:=1; z=-1;

r:=r+p;

 

while i<=n do

i:=i+1

 

begin

end;

 

p:=1; j:=1;

writeln(r)

 

while j<=2*i-i do

end.

 

begin

Входные данные

2

p:=p*j;

№6

 

j:=j+1

progran prim3(input,output);

end;

29

r:=r+z*p;

 

while i<=n do

 

z:=-z;

 

begin

 

i:=i+1

 

p:=1; p2:=1; j:=1;

end;

 

while j<=i do

 

writeln(r)

 

begin p:=p*i; p2:=p2*sqr(x);j:=j+1 end;

end.

 

r:=r+p*p2;

 

Входные данные

2

i:=i+1

 

№8

 

end;

 

progran prim3(input,output);

writeln(r)

 

var n,i,j:integer;

 

end.

 

p,p2,r,x:real;

Входные данные

2 2

begin

 

№10

 

read(n,x);

 

progran prim3(input,output);

r:=0; i:=1;

 

var n,i,j:integer;

 

while i<=n do

 

r,x:real;

 

begin p:=1; j:=1;

begin

 

while j<=2*i -1do

read(n,x);

 

begin p:=p*j; j:=j+1 end;

r:=0; i:=1;

 

p2:=p; p:=1; j:=1;

while i<=n do

 

while j<=i do

 

begin j:=i;

 

begin p:=p*j; j:=j+1 end;

while j<=n do

 

r:=r+(p2+abs(x))/p;

begin r:=r+(x+i)/j;j:=j+1 end;

i:=i+1

 

i:=i+1

 

end;

 

end;

 

writeln(r)

 

writeln(r)

 

end.

 

end.

 

Входные данные

2 5

Входные данные

2 3

№9

 

№11

 

progran prim3(input,output);

progran prim3(input,output);

var n,i,j:integer;

 

var n,i,j,p,r:integer;

p,p2,r,x:real;

begin

 

begin

 

read(n);

 

read(n,x);

 

r:=0; i:=1;

 

r:=0; i:=1;

 

while i<=n do

 

30

begin j:=1;p:=1;

 

begin p:=p*j;j:=j+1 end;

while j<=n do

 

r:=r*p;

 

begin p:=p*j;j:=j+1 end;

i:=i+1

 

r:=r+p;

 

end;

 

i:=i+1

 

writeln(r)

 

end;

 

end.

 

writeln(r)

 

Входные данные

2

end.

 

№14

 

Входные данные

2

progran prim3(input,output);

№12

 

var n,i,j,k,p,r:integer;

progran prim3(input,output);

begin

 

var n,i,j,k,p,r:integer;

read(n,k);

 

begin

 

r:=0; i:=1;

 

read(n,k);

 

while i<=n do

 

r:=0; i:=1;

 

begin j:=1;p:=1;

 

while i<=n do

 

while j<=i do

 

begin j:=1;p:=1;

 

begin p:=p*(i+k);j:=j+1 end;

while j<=i+k do

 

r:=r+p;

 

begin p:=p*j;j:=j+1 end;

i:=i+1

 

r:=r+p;

 

end;

 

i:=i+1

 

writeln(r)

 

end;

 

end.

 

writeln(r)

 

Входные данные

2 5

end.

 

№15

 

Входные данные

2 1

progran prim3(input,output);

№13

 

var n,i,j,z:integer;

 

progran prim3(input,output);

p,p_x,p_n,r,x:real;

var n,i,j,p,r:integer;

begin

 

begin

 

read(n,x);

 

read(n);

 

r:=0; i:=1; z=:-1; p_n:=1;

r:=1; i:=1;

 

while i<=n do

 

while i<=n do

 

begin p:=1; p_x:=1; j:=1;

begin j:=1;p:=1;

 

while j<=i do

 

while j<=n do

 

begin p:=p*j; p_x:=p_x*x; j:=j+1 end;

31