Контрольная работа 2 вариант 27
.docxБЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Кафедра программного обеспечения информационных технологий
Факультет ЗВиДО
Специальность ПОИТ
Контрольная работа № 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