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

z := 1.0;

while i <= n do begin

p := 1.0; j := 1;

while j <= 2*i - 1 do begin

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

r := r + z/p; z := -z;

i := i + 1 end; writeln(r) end.

19. program Prim7(input, output); var n, i, j: integer;

p, r, x: real; begin read(n, x); r := 0.0;

i := 1;

while i <= n do begin

p := 1.0; j := 1;

while j <= i do begin

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

r := r + p; i := i + 1 end; writeln(r) end.

20. program Prim7(input, output); var n, i, j: integer;

p, r, x: real; begin read(n, x); r := 0.0;

i := 1;

while i <= n do begin

p := 1.0; j := 1;

while j < i do begin

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

r := r + p; i := i + 1 end; writeln(r) end.

Задание 7. Разработка программы с вложенными циклами

Составить подробную спецификацию программы с примерами входных и выходных данных. Разработать программу, используя таблицы разработки. Алгоритм должен быть ерализован с использованием вложенных циклов. Выполнить трассировку программы. Ввести программу в ЭВМ, сравнить результаты трассировки и работы программы.

Содержание отчета:

1.Задание

2.Спецификация

3.Таблица разработки

4.Текст программы

5.Таблица трассировки

1.Дано натуральное число n. Получить f1, f2, ..., fn где

f

i

=

 

 

1

 

+

 

1

 

+K+

1

 

 

 

 

 

 

 

i2

+1

i

2 +2

 

i2 +i +1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Найти натуральное число от 1 до N с максимальной суммой дели-

телей.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 - 6. Даны натуральные чипа m и n. Вычислить

 

 

n

 

 

m

 

1

 

 

 

 

 

 

 

n

m

j i +1

 

3. ∑∑

 

 

 

 

 

 

 

 

5. ∑∑

 

 

+ j

2

 

 

 

 

i + j

 

 

i=1 i=1 i

 

 

 

 

 

 

i=1 i=1

 

 

n

 

 

m

 

 

 

 

 

 

 

 

 

 

n

m

1

 

 

4. ∑∑sin(i3 + j4 )

 

 

6. ∑∑

 

 

 

i +2 j

 

 

i=1 i=1

 

 

 

 

 

 

 

 

 

 

i=1 i=1

7 - 10. Дано натуральное число n.

Вычислить

 

 

 

7. n

k(k +1)Kk 2

 

 

 

9. n

k k

 

 

 

 

 

k =1

 

 

 

 

 

 

 

 

 

 

 

 

k =1

 

 

 

 

 

8. n

 

1

 

 

 

 

 

 

 

 

 

 

10. n

(1)k (2k 2 +1)!

 

2

)!

 

 

 

 

 

 

 

 

k =1 (k

 

 

 

 

 

 

 

k =1

 

 

 

 

11 - 14. Даны натуральное число n, действительное число x. Вычислить

11.

n

(2i)!+

 

x

 

 

 

 

13.

n

k 2 x2k

 

 

 

 

2

 

 

 

 

 

 

 

 

 

i=1

(i )!

 

k =1

 

x +k

 

 

1

n

 

 

 

xi

 

 

n

n

12.

(1)i

 

14.

∑∑

 

m

 

n

(i!+1)!

 

 

i=1

 

 

 

 

i=1 m=k

15-22. Даны действительные числа a, b (a < b), натуральное число n, функция y = f(x), определенная на отрезке [а, b]. Вывести на дисплей график функции. Для построения графика вычислить значе-

ния функции yi = f(xi), где xi = a + ih; i = 0, 1,..., n; h=(b–a)/n. Ось

0x расположить вертикально, ось 0у – горизонтально. Шаг по оси 0х – это переход на новую строку, шаг по оси 0y – позиция следующего символа в текущей строке. Точки графика изображать символом *. Рассмотреть следующие функции:

15.y = |sinx| + |cosx|; a = 0, b = π , n = 23

16.y = 2 sinx + 3 cosx; a = π , b = π , n = 23

17.y =

18.y =

19.y =

x2 +1 ; a = –1, b = 2, n = 23

1; a = –1, b = 3, n = 23

x2 x +1

x 3

; a = –1, b = 4, n = 23

x2 +2

 

20. y=e–xsin2x; a = –π/2, b = 2π , n = 23

Задание 8. Трассировка программы, содержащих процедуры и функции

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

Содержание отчета:

1.Задание

2.Текст программы

3.Таблица трассировки

1.program prim4(input, output); VAR a, b: INTEGER; procedure swap(VAR x, y:

INTEGER); VAR a: INTEGER; BEGIN

a := x; x := y; y := a END; BEGIN

READ(a, b); swap(a, b); WRITELN(a, b) END.

2.program prim4(input, output); VAR a, b: INTEGER; PROCEDURE swap(x, y:

INTEGER); VAR a: INTEGER; BEGIN

a := x; x := y;

y := a END; BEGIN READ(a, b); swap(a, b);

WRITELN(a, b) END.

3. program prim4(input, output); VAR a, b: INTEGER;

procedure swap(VAR x: INTEGER; y: INTEGER);

VAR a: INTEGER; BEGIN

a := x; x := y; y := a END; BEGIN

READ(a, b); swap(a, b); WRITELN(a, b) END.

4. program prim4(input, output);

VAR a, b: INTEGER; procedure addxy(var x, y:

INTEGER); VAR a: INTEGER; BEGIN

x := x + y; y := x - y; a := x * y END; BEGIN

READ(a, b); addxy(a, b); WRITELN(a, b) END.

5.program prim4(input, output); VAR a, b: INTEGER;

procedure addxy(x, y: INTEGER); VAR a: INTEGER;

BEGIN

x := x + y; y := x - y; a := x * y END; BEGIN

READ(a, b); addxy(a, b); WRITELN(a, b) END.

6.program prim4(input, output); VAR a, b: INTEGER; procedure addxy(VAR x:

INTEGER;y: INTEGER); VAR a: INTEGER;

BEGIN

x := x + y; y := x - y; a := x + y; END; BEGIN

READ(a, b); addxy(a, b);

WRITELN(a, b)

END.

7.program prim4(input, output); VAR a, b, r: INTEGER; PROCEDURE maxxy(VAR x, y, z:

INTEGER); VAR a: INTEGER; BEGIN

IF x > y THEN z := x

ELSE z := y;

x := x + 1; y := y + 2; a := y; END; BEGIN READ(a, b); r := 0;

maxxy(a, b, r); WRITELN(a, b, r) END.

8.program prim4(input, output); VAR a, b, r: INTEGER; procedure maxxy(x, y, z: INTEGER);

VAR a: INTEGER; BEGIN

IF x > y THEN z := x

ELSE z := y;

x := x + 1; y := y + 2; a := y; END; BEGIN

r := 0; READ(a, b); maxxy(a, b, r);

WRITELN(a, b, r)

END.

9.program prim4(input, output); VAR a, b, r: INTEGER; function maxxy(VAR x, y:

INTEGER): INTEGER; VAR a: INTEGER;

BEGIN

IF x > y THEN a := x

ELSE a := y;

maxxy := a; x := x + 1; y := y + 2; a := y; END; BEGIN READ(a, b);

r := maxxy(a, b); WRITELN(a, b, r) END.

10.program prim4(input, output); VAR a, b, r: INTEGER;

function maxxy(x, y: INTEGER): INTEGER;

VAR a: INTEGER; BEGIN

IF x > y THEN a := x

ELSE a := y;

maxxy := a; x := x + 1; y := y + 2; a := y; END; BEGIN READ(a, b);

r := maxxy(a, b); WRITELN(a, b, r) END.

11.program prim4(input, output); VAR a, b, r: INTEGER;

function swapmax(var x, y: INTEGER): INTEGER;

VAR a: INTEGER; BEGIN

IF x > y THEN a := x

ELSE BEGIN a := y; y := x; x := a END;

swapmax := a END; BEGIN READ(b, a);

r := swapmax(a, b); WRITELN(a, b, r) END.

12.program prim4(input, output); VAR a, b, r: INTEGER;

function swapmaxxy(x, y: INTEGER): INTEGER;

VAR a: INTEGER; BEGIN

IF x > y THEN a := x

ELSE BEGIN a := y; y := x; x := a END;

swapmaxxy := a END;

BEGIN READ(a, b);

r := swapmaxxy(b, a); WRITELN(a, b, r)

END.

13.program prim4(input, output); VAR a, b, c: INTEGER; procedure op(VAR x, y, z:

INTEGER); VAR a: INTEGER; BEGIN

a := x;

x := x - y; z := x + y; y := a + y END; BEGIN

READ(a, b, c); op(a, b, c); WRITELN(a, b, c) END.

14.program prim4(input, output); VAR a, b, c: INTEGER; PROCEDURE op(x, y, z: INTEGER);

VAR a: INTEGER; BEGIN

a := x;

x := x - y; z := x + y; y := a + y END; BEGIN

READ(a, b, c); op(a, b, c); WRITELN(a, b, c) END.

15.program prim4(input, output); VAR a, b, c: INTEGER; PROCEDURE op(VAR x, y: INTEGER; z: INTEGER);

VAR a: INTEGER; BEGIN

a := x;

x := x - y;

z := x + y; y := a + y END; BEGIN

READ(a, b, c); op(a, b, c); WRITELN(a, b, c) END.

16.program prim4(input, output); VAR a, b, r: INTEGER;

function swapmax(var x: INTEGER;

y:INTEGER): INTEGER; VAR a: INTEGER;

BEGIN

IF x < y THEN a := x + y ELSE

BEGIN a := y; y := x; x := a END;

swapmax := a - b END;

BEGIN READ(b, a);

r := swapmax(a, b); WRITELN(a, b, r) END.

17.program prim4(input, output); VAR a, b, r: INTEGER;

function swapmaxxy(x, y: INTEGER): INTEGER;

VAR a: INTEGER; BEGIN

IF x <= y THEN a := x + y ELSE

BEGIN a := y;

y := x;