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

Контрольная работа 2 вариант 27

.docx
Скачиваний:
15
Добавлен:
01.04.2014
Размер:
45.21 Кб
Скачать

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Кафедра программного обеспечения информационных технологий

Факультет ЗВиДО

Специальность ПОИТ

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

по дисциплине «Основы алгоритмизации и программирования»

часть 1

Вариант № 27

Выполнил: Куриленко А.Е.

Минск 2012

1. Задание

Ввести массив Х(20), ε и n. Вычислить с точностью ε корень n-ой степени из положительного числа Xj, полагая в качестве начального приближения y0 = Xj. Каждое следующее приближение выражается через предыдущее по формуле:

Yi+1 = Yi + (1 / n) * (Xj / Yin-1 – Yi)

2. Схема алгоритма рис.1.

Ввод (E, n) и массива Mas

y:=Mas[I]

I:=1 To 20

vs:=y+(1/n)*(Mas[I]/exp(ln(y)*(n-1))-y)

E1:=y-vs

y:=vs

Until Abs(E1)<=E

Вывод у, Е1

Рис. 1. Диаграмма Насси-Шнейдермана

3. Описание алгоритма.

1) Вводим числа E и n, и задаем массив Mas

2) Выполняем цикл массива I:=1 To 20

3) Устанавливаем начальное приближение y:=Mas[I]

4) Выполняем вычисления в цикле, до тех пор пока не выполнится условие Abs(E1)<=E.

5) Выводим результаты y, E1.

4. Программа на языке Pascal

{Вычисление корня n-й степени из положительных чисел массива (20),

с точностью E. Разработчик - Куриленко А.Е. 15.06.2012г.}

Program Massiv;

{Описания}

Var

Mas:Array [1..20] of real;

E, E1, n, y, vs: real;

I:integer;

{Вычисления}

Begin

{Чтение исходных данных}

Writeln('Введите E и n');

Readln (E, n);

For I:=1 To 20 Do

begin

Writeln('Введите Mas[',I,']');

Read(Mas[I]);

end;

For I:=1 To 20 Do {Цикл массива}

begin

y:=Mas[I]; {Установка начального приближения}

Repeat

begin

vs:=y+(1/n)*(Mas[I]/exp(ln(y)*(n-1))-y); {Формирование приближения}

E1:=y-vs; {Вычисление точности}

y:=vs; {Присвоение значения приближения}

end;

Until Abs(E1)<=E; {Выход из цикла по выполнению условия}

writeln('y=',y,' ', 'E1=',E1); {Вывод результатов}

end;

Readln;

End.

5. Тестовый набор данных.

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

E=0.01, n=3

Mas (5, 15, 20, 45, 5, 15, 20, 45, 5, 15, 20, 45, 5, 15, 20, 45, 5, 15, 20, 45)

Результаты:

у = 1,709975964 Е1 = 0,0001726

у = 2,466212076 E1 = 0,0007609

y = 2,71441848 E1 = 0,0015307

y = 3,55691840 E1 = 0,0094413

у = 1,709975964 Е1 = 0,0001726

у = 2,466212076 E1 = 0,0007609

y = 2,71441848 E1 = 0,0015307

y = 3,55691840 E1 = 0,0094413

у = 1,709975964 Е1 = 0,0001726

у = 2,466212076 E1 = 0,0007609

y = 2,71441848 E1 = 0,0015307

y = 3,55691840 E1 = 0,0094413

у = 1,709975964 Е1 = 0,0001726

у = 2,466212076 E1 = 0,0007609

y = 2,71441848 E1 = 0,0015307

y = 3,55691840 E1 = 0,0094413

у = 1,709975964 Е1 = 0,0001726

у = 2,466212076 E1 = 0,0007609

y = 2,71441848 E1 = 0,0015307

y = 3,55691840 E1 = 0,0094413