Підсумовування функціональних рядів
Блок-схема алгоритму та функціональні ряди. Код програми обчислення визначених інтегралів. Операції з масивами та значення накопичення функціональної суми. Діапазон зміни аргументу і обчислення функціональної суми у режимі відображення формул та графіки.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | отчет по практике |
Язык | украинский |
Дата добавления | 30.11.2011 |
Размер файла | 2,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Міністерство освіти та науки, молоді та спорту України
Державний вищий навчальний заклад
Національний гірничий університет
Кафедра СЕП
Звіт
з першої навчальної практики
Підсумовування функціональних рядів
студентки групи ЕЕ-10-2
Яковенко Юлії
Керівник практики
доц. Хацкевич Ю.В.
Дніпропетровськ
2011
Зміст
Завдання 1. Підсумовування функціональних рядів
1.1 Умови завдання
1.2 Блок-схема алгоритму
1.3 Виконання завдання у Delphi
1.4 Код програми обчислення у Delphi
1.5 Виконання завдання в Excel
1.6 Висновок
Завдання 2. Обчислення визначених інтегралів
2.1 Умови завдання
2.2 Блок-схема алгоритму
2.3 Виконання завдання у Delphi
2.4 Код програми обчислення у Delphi
2.5 Виконання завдання в Excel
2.6 Висновок
Завдання 3. Операції з масивами
3.1 Умови завдання
3.2 Блок-схема алгоритму
3.3 Виконання завдання у Delphi
3.4 Код програми обчислення у Delphi
3.5 Виконання завдання в Excel
Висновок
Завдання 1. Підсумовування функціональних рядів
1.1 Скласти блок-схему алгоритму та програму обчислення
· Значення функціональної суми свого варіанту накопиченим підсумком для кількості членів і від 1 до n доданків;
· Значення суми з потрібною точністю =0,001. Знайти також кількість підсумованих при цьому елементів (членів);
· Значення функції згідно з її формулою.
1.2. Функціональний ряд:
Діапазон зміни аргументу: [0,1;0,8]
n=13
Функція:
Схема алгоритму обчислення значення функціональної суми
Виконання завдання у Delphi
Обчислення функціональної суми при х=0,1
Обчислення функціональної суми при х=0,4
Обчислення функціональної суми при х=0,8
Код програми обчислення у Delphi
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Math, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Edit2: TEdit;
Label2: TLabel;
Label3: TLabel;
Edit3: TEdit;
Button1: TButton;
Label4: TLabel;
Edit4: TEdit;
Edit5: TEdit;
Label5: TLabel;
Edit6: TEdit;
Label6: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var x,y,sn,se,dif:real;
i:integer;
begin
x:=strtofloat(edit1.text);
if (x>=pi/5) and (x<=(4*pi)/5) then
begin
sn:=0;
for i:=1 to 18 do
begin
sn:=sn+power(-1,i+1)*(sin(i*x)/i);
end;
edit2.Text:=floattostr(sn);
i:=1;
se:=0;
while abs(power(-1,i+1)*(sin(i*x)/i))>=0.001 do
begin
se:=se+power(-1,i+1)*(sin(i*x)/i);
i:=i+1;
end;
edit5.Text:=inttostr(i);
edit3.text:=floattostr(se);
y:=x/2;
edit4.Text:=floattostr(y);
dif:= se-sn;
edit6.Text:=floattostr(dif);
end
else
begin
edit2.Text:='повторите ввод';
edit3.Text:='повторите ввод';
edit4.Text:='повторите ввод';
edit5.Text:='повторите ввод';
edit6.Text:='повторите ввод';
end;
end;
end.
Виконання завдання в Excel
Обчислення функціональної суми
Виконання завдання у режимі відображення формул
Висновок
Це завдання було легко робити у Delphi. Результати роботи зрозумілі та наглядні. Але зрозуміліше та швидше, звісно в Excel. Завдяки тому що ми побудували в Excel графік залежності значення суми від кількості підсумованих членів, можна було наглядно побачити результати виконання завдання.
Завдання 2. Обчислення визначених інтегралів
2.1 Скласти схему алгоритму та програму обчислення
· визначеного інтеграла при 8-10 значеннях кількістю n відрізків розбивки інтервалу;
· значення визначеного інтеграла з точністю ;
· точного значення інтеграла засобом табулювання першообразної функції та з відомої формули Ньютона-Лейбніца;
2.2 Загальна формула Сімпсона:
; ;
2.3. Інтеграл:
Метод Трапецій; Число дільниць інтегрування n=22; Крок h=;
Первісна функція: ;
Блок-схема алгоритму обчислення
інтеграл програма код алгоритм
Виконання завдання у Delphi
Код програми обчислення у Delphi
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls, Math;
type
TForm1 = class(TForm)
Button1: TButton;
StringGrid1: TStringGrid;
Button2: TButton;
Memo1: TMemo;
StringGrid2: TStringGrid;
Label2: TLabel;
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var Summ,h,b,x,f:real;
a,i:integer;
begin
x:=StrToFloat(edit1.Text);
h:=pi/12;
a:=0;
i:=1;
b:=pi/12;
x:=a;
Summ:=0;
while x<=b do
begin
f:=(x/2)-(1/4)*sin(2*x);
StringGrid1.RowCount:=StringGrid1.RowCount+1;
StringGrid1.Cells[0,i]:=FloatToStr(i);
StringGrid1.Cells[1,i]:=FloatToStr(x);
StringGrid1.Cells[2,i]:=FloatToStr(f);
x:=x+h;
i:=i+1;
Summ:=Summ+f;
end;
Memo1.Clear;
Memo1.Lines.Add('Summ='+FloatToStr(Summ));
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.Cells[0,0]:='Xi';
StringGrid1.Cells[1,0]:='Значение Xi';
StringGrid1.Cells[2,0]:='Значение первообразной функции';
StringGrid2.Cells[0,0]:='a';
StringGrid2.Cells[1,0]:='b';
StringGrid2.Cells[2,0]:='Число участков n';
StringGrid2.Cells[3,0]:='Шаг h';
StringGrid2.Cells[4,0]:='Значение интеграла';
StringGrid2.Cells[5,0]:='Отклонение от точного значения';
end;
procedure TForm1.Button2Click(Sender: TObject);
var x,f,C,Summ,K,v,u,S,h,b:real;
i,n,a:integer;
begin
x:=StrToFloat(edit1.Text);
b:=pi/2;
f:=(x/2)-(1/4)*sin(2*x);
a:=0;
n:=6;
h:=(b-a)/n;
v:=power(sin(a),2)+power(sin(b),2)
K:=0;
for i:=1 to (n-1) do
begin
u:=power(sin(a+i*h),2);;
K:=K+u;
end;
S:=h*((v/2)+K);
while (abs(S-Summ))<0.001 do
begin
h:=h/2;
n:=2*n;
end;
C:=abs(S-f);
StringGrid2.RowCount:=StringGrid2.RowCount+1;
StringGrid2.Cells[0,StringGrid2.RowCount-2]:=FloatToStr(a);
StringGrid2.Cells[1,StringGrid2.RowCount-2]:=FloatToStr(b);
StringGrid2.Cells[2,StringGrid2.RowCount-2]:=FloatToStr(n);
StringGrid2.Cells[3,StringGrid2.RowCount-2]:=FloatToStr(h);
StringGrid2.Cells[4,StringGrid2.RowCount-2]:=FloatToStr(S);
StringGrid2.Cells[5,StringGrid2.RowCount-2]:=FloatToStr(C);
end;
end.
Виконання завдання у Excel
Виконання завдання у режимі відображення формул
Висновок
Це завдання було легше виконувати у Delphi. Більш точнішими значення були у Excel. Але щоб отримати задану точність потрібно виконувати дію на великій кількості дільниць інтегрування. Тому можна зробити висновок, що це завдання раціональніше робити у Delphi.
Завдання 3. Операції з масивами
3.1 Скласти схему алгоритму та програму перетворення дійсного вектора за правилом: якщо , то всім елементам надати значення найбільшого з них. Якщо , то вектор залишити незмінним. У протилежному випадку всі елементи замінити їх квадратами. Елементи вектора обчислювати попередньо за формулою , і = 1,2,…,6.
Визначений вектор вивести до друку.
Блок-схема алгоритму
Виконання завдання у Delphi
Код програми обчислення у Delphi
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Math, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
Var x:array[1..10] of real;
flag:boolean;
i:integer;
begin
flag:=true;
For i:=1 to 6 do
x[i]:=arctan(sqrt(i)+2/9);
For i:=1 to 5 do
if (x[i]>x[i+1])then
flag:=false;
If flag=true then
For i:=1 to 5 do
x[i]:=x[6]
Else
begin
flag:=true;
For i:=1 to 5 do
if (x[i]<x[i+1])then
flag:=false;
If flag=false then
For i:=1 to 6 do
x[i]:=sqr(x[i]);
end;
memo1.lines.clear;
for i:=1 to 6 do
memo1.lines.add(floattostr(x[i]));
end;
end.
Виконання завдання у Excel
Виконання завдання у режимі відображення формул
Висновок
Це завдання було набагато легше виконувати y Excel. Значення були точними як у Excel, так й у Delphi. Виконання завдання у Excel універсальне та раціональне, тому що можна використовувати для різних значень ікса.
Размещено на Allbest.ru
Подобные документы
Обчислення наближеного значення суми спадного ряду. Складання блок-схеми та програми, яка б виводила на друк сгенерований, сформований та впорядкований масиви. Використання операторів умовного переходу If - Then - Else. Розроблення програми на VBA.
практическая работа [51,7 K], добавлен 09.11.2009Складання блок-схеми і програми обчислення значення функції з заданою точністю та програми табулювання функції з заданим кроком. Обчислення двох значень поліному за допомогою схеми Горнера. Програма введення вхідних даних з клавіатури і з файлу ZAD4.DAT.
контрольная работа [168,6 K], добавлен 29.09.2010Лінійна програма на C++. Арифметичні вирази. Обчислення значень функції. Значення логічних виразів і логічних операцій. Види циклів, обчислення нескінченної суми з заданою точністю. Створення файлу цілих чисел з N компонент, виведення їх на екран.
контрольная работа [12,7 K], добавлен 09.09.2011Обґрунтування переваги чисельного диференціювання функції з використанням інтерполяційної формули Стірлінга по відношенню до формул Ньютона, Гауса та Бесселя. Розробка оптимального алгоритму обчислення другої похідної. Лістинг, опис і тестування програми.
курсовая работа [483,2 K], добавлен 21.10.2013Розробка програми для спрощення та автоматизації обчислення інтегралів методом трапецій у визначених межах інтегрування із заданою точністю. Елементи програми "Інтеграл", алгоритм, способи логічної структуризації, засоби обміну даними, мова програмування.
курсовая работа [234,5 K], добавлен 12.12.2013Блок-схема та програма обчислення значення функції y=f(x) у точці x0. Обчислення двох значень поліному з використанням схеми Горнера. Програма табуляції функції Y на проміжку [a,b] з шагом h. Програма визначення нульових елементів квадратної матриці.
контрольная работа [63,3 K], добавлен 23.09.2010Використання ітерацій для обчислення приблизних значень величин. Розробка ітераційних алгоритмів з перевіркою правильності введення даних. Побудова блок-схеми і програмування мовою Turbo Pascal обчислення значення функції, розкладеної в степеневий ряд.
лабораторная работа [197,2 K], добавлен 16.12.2010Отримання компонентів вектора із квадратної матриці відповідно до заданого алгоритму. Обчислення значення функції. Базова програма реалізації алгоритму. Модуль глобальних описів. Сервісний модуль обслуговування матриці. Результати роботи програми.
курсовая работа [19,5 K], добавлен 30.01.2013Формування квадратної транспонованої матриці, отримання з неї компонентів вектора та обчислення значення функції в мові Pascal. Базова програма реалізації алгоритму. Сервісний модуль обслуговування матриці. Головна програма та результати її роботи.
курсовая работа [40,2 K], добавлен 10.03.2011Стандарти OpenMP i MPI як основні засоби програмування для багатопроцесорних систем. Розробка програми паралельного розрахунку інтеграла для функції з певним кроком дискретизації, паралельної програми множення квадратної матриці на квадратну матрицю.
курсовая работа [2,5 M], добавлен 11.12.2013