Підсумовування функціональних рядів

Блок-схема алгоритму та функціональні ряди. Код програми обчислення визначених інтегралів. Операції з масивами та значення накопичення функціональної суми. Діапазон зміни аргументу і обчислення функціональної суми у режимі відображення формул та графіки.

Рубрика Программирование, компьютеры и кибернетика
Вид отчет по практике
Язык украинский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.