50006 (566626)
Текст из файла
МОНУ НТУУ"КПІ"
Лабораторна робота № 6
По темі:
"Проектування ітераційних алгоритмів"
Виконала
студентка 1-го курсу ТЕФ
Групи ТР-01
Печененко В.О.
Перевірив:
Щербашин Ю.Д.
Київ
2010
Мета роботи: навчитися розробляти ітераційні алгоритми і програмувати їх засобами мови Turbo Pascal з використанням циклів.
Завдання: розробити алгоритм, намалювати блок-схему і написати програму обчислення значення функції , розкладеної в степеневий ряд.
Обчислення суми членів ряду проводити доти, доки абсолютна величина члена ряду не стане меншою від (наприклад,
). При цьому порахувати кількість виконаних кроків ітерації (скільки членів ряду ввійшло в суму). Крім того, для підстраховки від зациклювання, яке може виникнути через некоректні вхідні дані, встановити ліміт кількості кроків. Якщо вихід із циклу відбувся через вичерпання ліміту, то видати про це повідомлення.
При обчисленні наступного члена ряду використовувати попередній член чи його частину, а не організовувати додатковий цикл для повного його обчислення.
Порівняти (знайти абсолютне значення різниці) обчислене з використанням ряду наближене значення функції із значенням, обчисленим за формулою функції.
В алгоритмі передбачити перевірку правильності введення даних.
За алгоритмом провести розрахунки не менш ніж з трьома різними наборами вхідних даних: при різних значеннях х, і ліміту кількості кроків.
Як результат роботи видати: обчислене наближене значення функції, кількість кроків ітерації, обчислене за формулою значення функції, абсолютну різницю наближеного і "точного" значень функції.
Програма:
при
program nabl_znach;
{rakhuie nablyzhene znachennia za stepenevym riadom}
uses crt;
var x, eps, xn,an,s,f:real;
kk, n:integer;
begin
clrscr;
writeln('riad E(n=1..00)(n+1)^2*x^n pry x(-1,1)');
writeln('vvedit x'); readln(x);
if (x1) then writeln('nevirne x') {pereviryaem na virnist x}
else
begin
writeln('vvedit eps'); readln(eps);
writeln('vvedit limit kilkosti iteratsii'); readln(kk);
xn:=1; {prysvoyemo znachenia zminnyh}
n:=0;
s:=0;
repeat {r}
an:=xn*sqr(n+1); s:=s+an;
xn:=xn*x;
n:=n+1;
until (abs(an)kk); {r}
if (n>kk) then writeln('perevyscheno limit kilkosti krokiv'); {yaksho cykl zakin iteraciyamy}
writeln('resultat:');
writeln(' kilkist krokiv iteratsii:',n);
writeln(' nablyzhene znachennia funktsii:',s);
f:=(1+x)/((1-x)*(1-x)*(1-x)); {tochne znachenia}
writeln(' tochne znachennia funktsii:',f);
writeln(' |f|-|s|=',abs(f)-abs(s)); {pohybka mizh tochnym ta nabl}
end;
readkey;
end.
Приклади роботи програми:
Висновок
У цій роботі ми навчилися розробляти ітераційні алгоритми, будувати їх блок-схеми та програмувати засобами мови Turbo Pascal з використанням циклів. Ітерації корисні для обчислення приблизних значень деяких величин чи функцій.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.