Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабораторные работы по информатике 6-15.doc
Скачиваний:
3
Добавлен:
09.11.2018
Размер:
1.79 Mб
Скачать

1) Объяснить работу программы.

2) Объяснить назначение блоков 1- 8 блок-схемы.

3) Провести вычисления и построить функцию y=x при следующих значениях а, b, h :

a b h

0 4 1

0 4 0.5

0 4 0.3

4) Как уточнить значение функции при x=2 справа ?

Лабораторная работа № 7, 8

Работа в среде Турбо Паскаль.

Вычисление произведения (суммы) заданного количес-тва членов ряда.

Вычисление произведения (суммы) членов ряда с задан-ной степенью точности.

Пример 7.1 Найти произведение первых десяти членов ряда с общим членом:

1 Начало

2 P:=1; F:=1; U:=1;

3 n=1, 10

4 U:= -U;

5 F:=F*n;

6 P:=P*(1+(n+U)/F);

7 Вывод (p)

8 Конец

Блок-схема

Пример 7.1 (Продолжение).

Program PR_7_1;

var P,F:real; U,n:integer;

begin

P:=1; F:=1; U:=1;

for n:=1 to 10 do

begin

U:=-U;

F:=F*n;

P:=P*(1+(n+U)/F);

end;

writeln('P=',P:10:4)

end.

1) Объяснить работу программы.

2) Объяснить назначение блоков 1- 8 блок-схемы и вписать в них выполняемые ими функ-ции.

3) Вычислить самостоятельно значения P, F, U, n после первого и второго прохода по циклу, и сверить с вычисля-емыми по программе (сделать вывод этих параметров).

4) Провести вычисление по про-грамме.

Пример 8.1 Найти с точностью до е произведение членов ряда из примера 7.1 .

1 Начало

2 Ввод (е)

3 P:=1; F:=1; U:=1; S:=0; n:=1;

4 U:= -U;

5 F:=F*n;

6 P:=P*(1+(n+U)/F);

A:=abs(S-P); S:=P; n:=n+1;

7 A<e

8 Вывод (P,A)

9 Конец

Пример 8.1 (Продолжение).

Program PR_8_1;

var P,F,S,e,A:real; U,n:integer;

begin

writeln('vvedite e');

read(e);

P:=1; F:=1; U:=1; S:=0;

n:=1;

repeat

U:=-U;

F:=F*n;

P:=P*(1+(n+U)/F);

A:=abs(S-P);

S:=P;

n:=n+1;

until A<e;

writeln('P=',P:8:4);

writeln('A=',A:8:4)

end.

Пример 8.1 (Продолжение).

1) Объяснить работу программы.

2) Объяснить назначение блоков 1- 9 блок-схемы и вписать в них выполняемые ими функ-ции.

3) Вычислить самостоятельно значения P, F, U, A, S, n после первого и второго про-хода по циклу, и сверить с вычисляемыми по программе (сделать вывод этих параме-тров).

4) Провести вычисление по про-грамме.

Лабораторная работа № 9

Работа в среде Турбо Паскаль.

Одномерные массивы.

Описание массивов. Ввод, вывод массивов. Суммирова-

ние, среднее арифметическое, геометрическое, гармони- ческое.

Одномерный массив

Массив - это упорядоченный набор однотипных элементов ,

снабженный индексами i=1, …, n.

Описание массива.

Для описания массива надо сообщить компилятору:

а) количество элементов; б) тип элементов; в) нумерацию элементов.

type <имя типа> = array[<тип индекса>] of <тип элементов>;

type <имя типа> = ( имя1, имя2, …, имя N);

Примеры.

а) type ar = array [1..10] of real;

b) const n=10;

type ar = array [1.. n] of real;

c) const n=10;

var a: array [1.. n] of real;

d) type cwet = (beli, tscherni, goluboi,krasni,zeleni);

Одномерный массив.

Ввод массива.

for i:=1 to n do read(a[i]);

Вывод массива.

В столбец:

for i:=1 to n do writeln(a[i]);

В строку:

for i:=1 to n do write(a[i],’ ‘);

С заданием формата:

for i:=1 to n do write(a[i]:6);

Пример 9.1 Найти сумму элементов массива

Объяснить работу программы.

Как описывается массив?

Объяснить назначение блоков 1- 8 блок-схемы и вписать в них выполняемые ими функ-ции.

Провести вычисление по про-грамме для массива n = 5

(1, 2, 3, 4, 5).

Пример 9.1 (Продолжение).

Program Pr_9_1;

const n=5;

type

ar=array[1..n] of real;

var

a:ar;

i:integer;

S:real;

begin

writeln('vvedite massiv');

for i:=1 to n do

read(a[i]);

readln;

S:=0;

for i:=1 to n do

S:=S+a[i];

writeln('S=',S:10:2)

end.

Пример 9.2 Найти сумму элементов массива (см. Пример 9.1).

Program Pr_9_2;

const n=5;

var

a:array[1..n] of real; i:integer; S:real;

begin

writeln('vvedite massiv');

for i:=1 to n do

read(a[i]);

readln;

S:=0;

for i:=1 to n do

S:=S+a[i];

writeln('S=',S:10:2)

end.

Пример 9.2 (Продолжение).

Объяснить работу программы.

Как описывается массив?

Чем отличаются программы в приведенных примерах 9.1 и

9.2 .

Провести вычисление по про-грамме для того же массива

n =5 (1, 2, 3, 4, 5).

Пример 9.3 Найти среднее арифметическое элементов массива (см. Пример 9.1).

Program Pr_9_3;

const n=5;

var

a:array[1..n] of real; i:integer;

S,Sarifm:real;

begin

writeln('vvedite massiv');

for i:=1 to n do

read(a[i]);

S:=0;

for i:=1 to n do

S:=S+a[i];

Sarifm:=S/n;

writeln('S=',S:10:2);

writeln('Sarifm=',Sarifm:8:2)

end.

Пример 9.3 (Продолжение).

Объяснить работу программы.

Как описывается массив?

Нарисовать блок-схему и объяснить назначение бло-ков.

Провести вычисление по про-грамме для массива n = 5

(1, 2, 3, 4, 5).

Пример 9.4 Найти среднее геометрическое элементов массива (см. Пример 9.1).

Program Pr_9_4;

const n=5;

var

a:array[1..n] of real; i:integer;

P,Sgeom:real;

begin

writeln('vvedite massiv');

for i:=1 to n do

read(a[i]);

P:=1;

for i:=1 to n do

P:=P*a[i];

Sgeom:=exp((1/n)*ln(P));

writeln('P=',P:10:2);

writeln('Sgeom=',Sgeom:8:2)

end.

Пример 9.4 (Продолжение).

Объяснить работу программы.

Как описывается массив?

Нарисовать блок-схему и объяснить назначение бло-ков.

Провести вычисление по про-грамме для массива n = 5

(1, 2, 3, 4, 5).

Блок-схема

Пример 9.5 Найти среднее квадратическое элементов массива (см. Пример 9.1).

Program Pr_9_5;

const n=5;

var

a:array[1..n] of real; i:integer;

S,Sqvadr:real;

begin

writeln('vvedite massiv');

for i:=1 to n do

read(a[i]);

S:=0;

for i:=1 to n do

S:=S+sqr(a[i]);

Sqvadr:=sqrt(S/n);

writeln('S=',S:10:2,', ','S/n=',(s/n):6:2);

writeln('Sqvadr=',Sqvadr:8:2)

end.

Пример 9.5 (Продолжение).

Объяснить работу программы.

Как описывается массив?

Нарисовать блок-схему и объяснить назначение бло-ков.

Провести вычисление по про-грамме для массива n = 5

(1, 2, 3, 4, 5).

Блок-схема

Пример 9.6 Найти среднее гармоническое элементов массива (см. Пример 9.1).

Program Pr_9_6;

const n=5;

……………..

Дописать самостоятельно программу.

Нарисовать блок-схему и объяснить назначение бло-ков.

Провести вычисление по про-грамме для массива n = 5

(1, 2, 3, 4, 5).

Лабораторная работа № 10

Работа в среде Турбо Паскаль.

Одномерные массивы.

Сортировка одномерных массивов.

Пример 10.1 Найти произведение элементов массива

Program Pr_10_1;

const n=5;

var

a:array[1..n] of real;

i:integer;

P:real;

begin

writeln('vvedite massiv');

for i:=1 to n do

read(a[i]);

readln;

P:=1;

for i:=1 to n do

P:=P*a[i];

writeln('P=',P:10:2)

end.

Пример 10.1 (Продолжение).