Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Мета роботи: навчитися розробляти алгоритми і програмувати засобами мови Turbo Pascal з використанням циклів. Завдання: розробити aлгоритм, намалювати блок-схему і написати програму обчислення



Варіант №17

Мета роботи: навчитися розробляти алгоритми і програмувати засобами мови Turbo Pascal з використанням циклів. Завдання: розробити aлгоритм, намалювати блок-схему і написати програму обчислення значення функції f(x),розкладеної в степеневий ряд. Призначення кожної змінної пояснити в коментарях. Обчислення суми членів ряду проводити доти, доки абсолютна величина члена ряду не стане меншою від ɛ (наприклад, ɛ= ). При цьому порахувати кількість виконаних кроків ітерації(скільки членів ряду ввійшло в суму). Крім тогою, для під страховки від за циклювання,яке може виникнути через некоректні вхідні дані, встановити ліміт кількості кроків. Якщо вихід із циклу відбувся через вичерпання ліміту, то видати про це повідомлення. При обчисленні наступного члена ряду використовувати попередній член чи його частину, а не організовувати додатковий цикл для повного його обчислення. Порівняти (знайти абсолютне значення різниці) обчислене з використанням ряду наближене значення функції зі значенням, обчисленим за формулою функції. В алгоритмі передбачити перевірку правильності введення даних. Програму виконувати доти, доки дані не будуть введені правильно. За алгоритмом провести розрахунки не менш ніж з трьома різними наборами вхідних даних: при різних значеннях х, ɛ і ліміту кількості кроків. Як результат роботи видати: обчислене наближене значення функції, кількість кроків ітерації, обчислене за формулою значення функції, абсолютну різницю наближеного і «точного» значень функції.

;

Текст програми:

Program Rud;

{rakhuie nablyzhene znachennia za stepenevym riadom}

uses crt;

var x,eps,xn,an,s,f:real; {x - nezalezhna zminna;xn - nakopychennia stepenia;

an - znachennia funktsii; s - nakopychennia znachennia funktsii; f - tochne

znachennia funktsii}

kk,n:integer; {kk - max kilkist iteratsii; n - kilkist iteratsii}

d:boolean;

begin

clrscr;

repeat

d:=true;

writeln('riad E(n=1..+00) ((n^2)*(x^n)) pry x(-1,1)');

writeln('vvedit x');

readln(x);

if (x<=-1) or (x>=1)

then begin

writeln('nevirne x');

d:=false; end;

until d;

begin

writeln('vvedit eps'); readln(eps);

writeln('vvedit limit kilkosti interatsii'); readln(kk);

xn:=1;

n:=0;

s:=0;

repeat {obrakhunok znachennia nablyzhenoho}

n:=n+1;

xn:=xn*x;

an:=xn*n*n;

s:=s+an;

until (abs(an)<eps) or (n>=kk);

if (n>=kk)

then

writeln('perevyshcheno limit kilkosti krokiv');

writeln('rezultat:');

writeln(' kilkist krokiv interatsii:',n);

writeln(' nablyzhene znachennia funktsii:',s:0:9);

f:=((1+x)*x)/((1-x)*(1-x)*(1-x)); {obrakhunok tochnoho znachennia}

writeln(' tochne znachennia funktsii:',f:0:9);

writeln(' |f-s|=',abs(f-s):0:9); end;

end;

readln;

end.

Блок-схема програми:

 
 


Prav:=true

 
 

 


d:=false

Ні Так

 

 

 

       
 
 
   



 

 


 
 

 


Так

Ні

 

 
 


Ні

Так

 
 

 


 
 

 


Результат роботи програми:

 
 

 

 


Висновок: янавчився розробляти алгоритми і програмувати засобами мови Turbo Pascal з використанням циклів.

Я розробив aлгоритм, намалював блок-схему і написав програму обчислення значення функції f(x), розкладеної в степеневий ряд. Порівняв (знайшов абсолютне значення різниці) обчислене з використанням ряду наближене значення функції зі значенням, обчисленим за формулою функції. За алгоритмом провів розрахунки з трьома різними наборами вхідних даних: при різних значеннях х, ɛ і ліміту кількості кроків. Як результат роботи програма видає: обчислене наближене значення функції, кількість кроків ітерації, обчислене за формулою значення функції, абсолютну різницю наближеного і «точного» значень функції.

В завданні №2 програма видає різні значення при сумуванні через переповнення. Коли сума чисел є в межах типу даних, але декілька перших доданків при сумуванні перевищують максимально можливе значення - комп’ютер зберігає лише частину числа, яка поміщається у виділену, для цього числа, пам’ять. Тому при різній послідовності доданків може бути різний результат.

 

 


Дата добавления: 2015-09-29; просмотров: 23 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Контроль параметрів джерел вторинного електроживлення РЕА | Колективні гіпертексти. Вікі-середовища як інструмент індивідуального та колективного написання гіпертексту

mybiblioteka.su - 2015-2024 год. (0.011 сек.)