Проектирование циклических алгоритмов с заданным числом повторений и уравнением с условием

Расчет значений и построение графиков двух функций. Схема циклических алгоритмов. Разработка программы нахождения корней уравнения методами бисекции и хорд и программы вычисления определённого интеграла методами трапеций и серединных прямоугольников.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 22.12.2016
Размер файла 554,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Федеральное государственное бюджетное образовательное учреждение высшего образования

Омский государственный технический университет

Кафедра Информатики и вычислительной техники

Направление 09.03.01 «Информатика и вычислительная техника»

РАСЧЕТНО-ГРАФИЧЕСКАЯ РАБОТА

на тему Проектирование циклических алгоритмов с заданным числом повторений и уравнением с условием

Студент группы ИВТ-163

Гергерт А.В.

Омск 2016

Оглавление

  • 1. Задание к расчётно-графической работе
  • 2. Математическая формулировка задачи
  • 3. Текст программы
    • 3.1 Файлы исходного кода
    • 3.2 Заголовочные файлы
  • Приложение
  • 1. Задание к расчётно-графической работе

1. Разработать схему алгоритма, написать и отладить программу для расчета и построения графиков двух функций (результаты расчетов должны храниться в виде массивов и распечатываться в виде таблицы). Необходимо выделить наибольшее и наименьшее значения для каждой из функций. Добавить в нее решение нелинейного уравнения и вычисления приближенного значения определенного интеграла по заданию преподавателя.

2. Разработать программу нахождения корней уравнения =0 на интервале [a,b] с точностью e = 0.001(интервал подобрать или рассчитать самостоятельно). При реализации использовать метод половинного деления (бисекции) или метод хорд [в данной работе применены оба метода].

3. Разработать программу для вычисления определённого интеграла численными методами прямоугольников или трапеций [в работе используются метод трапеций и метод серединных прямоугольников]. Интервал интегрирования разбить равномерно на N>50 частей.

2. Математическая формулировка задачи

1. Для нахождения значений функции в равномерно распределённых в диапазоне от a до b точках диапазон делится на 15 частей. Затем в цикле вычисляются значения абсцисс, а также функций в заданных точках. Результаты сохраняются в трёхмерный массив, в той же функции выводятся на экран. Также производится определение максимального и минимального значений в отдельных функциях. Схема алгоритма приведена на рис. 1. Вычисления производятся для функций и .

2. Пусть задано уравнение и интервал [a, b]= [0, 2], где функция f(x) непрерывна, имеет разные знаки на концах интервала. Согласно теореме Больцано-Коши (непрерывная функция, принимающая на концах отрезка значения с разными знаками, обращается в ноль в некоторой точке этого отрезка), в интервале от a до b существует точка, являющаяся решением данного уравнения. Алгоритм нахождения корня на интервале методом бисекции сводится к следующей последовательности действий:

§ Вычисляется начальное значение ;

§ Если , где определяет требуемую погрешность вычислений, то c будет являться приближенным значением корня уравнения и выводиться как результат расчётов

§ Иначе сравниваются знаки функций и на концах отрезка [a, c], для чего определяется знак их произведения. Если полученное произведение отрицательное, то функции имеют разные знаки, корень находится на отрезке [a, c]. В этом случае интервал [a, b] заменяется [a, c], для чего присвоим b = c;

§ Иначе, если произведение положительное, корень уравнения находится на отрезке [c, b] и в расчётах интервал [a, b] заменяется на [c, b], для чего присвоим a = c;

§ Вычисления по схеме (п.a-п.d) повторяются в цикле до тех пор, пока не выполнится условие п.2.

В качестве метода для поиска второго корня текущего уравнения также применен метод хорд.

3. Приближенное значение определенного интеграла вычисляется как сумма площадей N трапеций, построенных на интервале интегрирования [a, b]. Интервал разбивается на N равных частей длиной , на каждой из которых строится трапеция с основаниями, равными и и высотой .

Формула интегрирования приобретает вид

Для сравнения точности также используется метод серединных прямоугольников.

Рисунок 1 - подпрограмма меню

Комментарий: в файле исходного кода и заголовочном файлах определён ряд констант, определяющих поведение подпрограммы. Так, например, числовые значения кода клавиш заменены на константы с понятными названиями. Перемещение выделяемого элемента меню циклическое: это означает, что по достижению numMenu-1 элемента следующим элементом будет TABLE (первый)

Информация о функциях, вызываемых в методах, хранится в перечислении и структуре.

Рисунок 2 - подпрограмма расчета таблиц функций

Для удобства отладки подпрограмма была разбита на ряд дискретных задач - сгенерировать таблицу значений (трёхмерный массив), определить максимальное и минимальное значение (в данной подпрограмме удобнее определять номер элемента в каждом ряде), выполнить вывод с учётом условия (необходимо выделить цветом минимальное и максимальное значения)

Рисунок 3 - подпрограмма поиска корней уравнения

В данной подпрограмме используются два метода - solve - метод бисекции, solve2 - метод хорд - из-за ограничений каждого из методов невозможно определить сразу два корня для уравнения

Рисунок 4 - подпрограмма вычисления определённого интеграла

Используются два метода - compute - метод трапеций, описанный в математическом представлении задачи, compute2 - метод серединных прямоугольников

программа уравнение интеграл функция

Рисунок 5 - подпрограмма построения графиков функций

Рисунок 6 - подпрограмма отображения заставки

Клавиша Esc в данном примере служит для выхода из функции draw()

Рисунок 7

3. Текст программы

Файлы исходного кода

РГР.cpp

#include "stdafx.h"

extern HANDLE hStdOut;

extern CONSOLE_SCREEN_BUFFER_INFO csbInfo;

extern SMALL_RECT consolRect;

int main() {

setlocale(LC_ALL, "RUS");

SetConsoleTitle(L"РГР вариант 3. Гергерт Андрей Владимирович, ИВТ-163");

hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);

GetConsoleScreenBufferInfo(hStdOut, &csbInfo);

consolRect = csbInfo.srWindow;

cls();

drawMenu();

}

void Exit() {

exit(0);

}

AuthorInfo.cpp

#include "stdafx.h"

extern HANDLE hStdOut;

void drawInfo() {

system("cls");

SetConsoleTextAttribute(hStdOut, 47);

printf("Автор программы:\nГергерт Андрей Владимирович\n");

SetConsoleTextAttribute(hStdOut, 79);

printf("Группа:\nИВТ-163\n");

SetConsoleTextAttribute(hStdOut, 160);

printf("Вариант: 3\n\n");

SetConsoleTextAttribute(hStdOut, 158);

}

definedIntegral.cpp

#include "stdafx.h"

void computeIntegral() {

system("cls");

double a, b;

lint slices;

printf("Введите левую границу: ");

scanf("%lf", &a);

printf("\nВведите правую границу: ");

scanf("%lf", &b);

printf("\nВведите количество разбиений: ");

scanf("%ld", &slices);

printf("\nИнтеграл равен:\n%.6lf (метод трапеций)\n%.6lf (метод прямоугольников)\n", compute(a, b, slices), compute2(a, b, slices));

}

double compute(double a, double b, lint slices) {

double sum = 0, x = a, dx = fabs(b - a) / slices;

while (x < b) {

sum += (functionI(x + dx) + functionI(x)) * dx / 2;

x += dx;

}

return sum;

}

double compute2(double a, double b, lint slices) {

double sum = 0, x = a, dx = (b - a) / slices;

while (x < b) {

sum += functionI(x - dx / 2);

x += dx;

}

sum *= dx;

return sum;

}

double functionI(double x) {

return 1 / sqrt(2 + pow(x, 3));

}

drawMenu.cpp

#include "stdafx.h"

#define KEY_ARROW_UP 72

#define KEY_ARROW_DOWN 80

#define KEY_ENTER 13

#define KEY_ESC 27

#define MAIN_X 5

#define MAIN_Y 6

typedef void(*FUN) (void);

typedef struct {

int x, y;

char *str;

FUN f;

} ITEM;

HANDLE hStdOut;

CONSOLE_SCREEN_BUFFER_INFO csbInfo;

SMALL_RECT consolRect;

COORD curspos = { 0,1 };

WORD workWindowAttributes = 158;

WORD inactiveItemAttributes = 31;

WORD activeItemAttributes = 160;

ITEM menu[numMenu] = {

{ MAIN_X, MAIN_Y, " ПОСТРОЕНИЕ ТАБЛИЦЫ ЗАДАННЫХ ФУНКЦИЙ ", doTable},

{ MAIN_X, MAIN_Y + 2," РЕШЕНИЕ НЕЛИНЕЙНОГО УРАВНЕНИЯ ", solveEquation},

{ MAIN_X, MAIN_Y + 4," ВЫЧИСЛЕНИЕ ОПРЕДЕЛЁННОГО ИНТЕГРАЛА ", computeIntegral},

{ MAIN_X, MAIN_Y + 6," ПОСТРОЕНИЕ ГРАФИКОВ ЗАДАННЫХ ФУНКЦИЙ", drawGraph},

{ MAIN_X, MAIN_Y + 8," ИНФОРМАЦИЯ ОБ АВТОРЕ ", drawInfo},

{ MAIN_X, MAIN_Y + 10," ГРАФИЧЕСКАЯ ЗАСТАВКА ", drawScreensaver},

{ MAIN_X, MAIN_Y + 12," ВЫХОД(доступно на нажатию ESC) ", Exit}

};

void getCursorPos(){

GetConsoleScreenBufferInfo(hStdOut, &csbInfo);

curspos = csbInfo.dwCursorPosition;

}

void showCursor(bool visible) {

CONSOLE_CURSOR_INFO ccInfo;

ccInfo.bVisible = visible;

ccInfo.dwSize = 20;

SetConsoleCursorInfo(hStdOut, &ccInfo);

}

void gotoXY(int x, int y) {

COORD cursorPos = { x, y };

SetConsoleCursorPosition(hStdOut, cursorPos);

}

void cls() {

system("cls");

}

void drawMenu() {

menuItems sel = TABLE;

prepare(sel);

itemMenu(sel, true);

fflush(stdin);

int iKey = 67;

while (true) {

if (_kbhit()) {

iKey = _getch();

switch (iKey) {

case KEY_ARROW_DOWN:

if (sel < numMenu - 1) {

itemMenu(sel, false);

sel = (menuItems)(sel + 1);

itemMenu(sel, true);

} else {

itemMenu(sel, false);

sel = TABLE;

itemMenu(sel, true);

}

showCursor(false);

break;

case KEY_ARROW_UP:

if (sel > 0) {

itemMenu(sel, false);

sel = (menuItems)(sel - 1);

itemMenu(sel, true);

}

else {

itemMenu(sel, false);

sel = EXIT;

itemMenu(sel, true);

}

showCursor(false);

break;

case KEY_ENTER:

gotoXY(curspos.X, curspos.Y);

SetConsoleTextAttribute(hStdOut, workWindowAttributes);

showCursor(true);

switch (sel) {

case TABLE:

doTable();

break;

case EQUATION:

solveEquation();

break;

case INTEGRAL:

computeIntegral();

break;

case GRAPH:

drawGraph();

break;

case AUTHOR:

drawInfo();

break;

case SCREENSAVER:

drawScreensaver();

break;

default:

Exit();

}

cout << "Нажмите любую клавишу для выхода в меню" << endl;

getch();

prepare(sel);

getCursorPos();

fflush(stdin);

gotoXY(menu[sel].x, menu[sel].y);

showCursor(false);

break;

case KEY_ESC:

gotoXY(0, 0);

cls();

Exit();

}

}

}

}

void itemMenu(int sel, bool activate) {

WORD itemAttributes;

if (activate) itemAttributes = activeItemAttributes;

else itemAttributes = inactiveItemAttributes;

gotoXY(menu[sel].x, menu[sel].y);

SetConsoleTextAttribute(hStdOut, itemAttributes);

cout << menu[sel].str;

}

void prepare(menuItems sel) {

SetConsoleTextAttribute(hStdOut, 0);

cls();

SetConsoleTextAttribute(hStdOut, inactiveItemAttributes);

for (int i = 0; i < numMenu; i++) {

gotoXY(menu[i].x, menu[i].y);

cout << menu[i].str;

}

itemMenu(sel, true);

}

equation.cpp

#include "stdafx.h"

#define precision 0.001

void solveEquation() {

system("cls");

printf("Корни уравнения \"5*x-exp(x)-2*x*sqrt(x)=0\"\nс точностью %lf=\nx1 = %.5lf(метод бисекции)\nx2 = %.5lf(метод хорд)\n", precision, solve(0.1, 0.8), solve2(1, 2));

}

double solve(double a, double b) {

double c;

while ((b - a) > 2 * precision) {

c = (a + b) / 2;

if (functionE(c) == 0)

break;

else if (functionE(a)*functionE(c) < 0)

b = c;

else

a = c;

}

return c;

}

double solve2(double a, double b) {

while (fabs(b - a) > precision)

{

a = b - (b - a) * functionE(b) / (functionE(b) - functionE(a));

b = a + (a - b) * functionE(a) / (functionE(a) - functionE(b));

}

return b;

}

double functionE(double x) {

return 5 * x - exp(x) - 2 * x * sqrt(x);

}

Graphics.cpp

#include "stdafx.h"

#define modX 75

#define modY 50

#define X0 100

#define Y0 200

HDC hdc;

extern HANDLE hStdOut;

extern CONSOLE_SCREEN_BUFFER_INFO csbInfo;

void drawGraph() {

hdc = GetDC(GetConsoleWindow());

GetConsoleScreenBufferInfo(hStdOut, &csbInfo);

system("cls");

drawAxis();

drawF1();

drawF2();

ReleaseDC(NULL, hdc);

}

void drawAxis() {

COLORREF whitePen = RGB(255, 255, 255);

HPEN axis = CreatePen(PS_SOLID, 2, whitePen);

SelectObject(hdc, axis);

MoveToEx(hdc, X0 - modX, Y0, NULL);

LineTo(hdc, X0 + 7 * modX, Y0);

MoveToEx(hdc, X0, Y0 - 4 * modY, NULL);

LineTo(hdc, X0, Y0 + 8 * modY);

DeleteObject(axis);

TextOutA(hdc, X0 + 7 * modX - 8, Y0 + 3, "x", 1);

TextOutA(hdc, X0 + 3, Y0 - 4 * modY + 24, "y", 1);

}

void drawF1() {

COLORREF penColor = RGB(0, 255, 0);

HPEN pen = CreatePen(PS_SOLID, 3, penColor);

SelectObject(hdc, pen);

MoveToEx(hdc, X0 + modX * -1, Y0 - modY * (4 * exp(-fabs(-1)) - 1), NULL);

for (double x = -1.0; x < 5 + 0.001; x += 0.01f) {

LineTo(hdc, X0 + modX * x, Y0 - modY * (4 * exp(-fabs(x)) - 1));

}

DeleteObject(pen);

SetBkColor(hdc, RGB(0, 255, 0));

TextOutA(hdc, X0 + 5 * modX, Y0 + modY, "F1(x) = 4 * exp(-|x|) - 1", 25);

}

void drawF2() {

COLORREF penColor2 = RGB(255, 0, 0);

HPEN pen2 = CreatePen(PS_SOLID, 3, penColor2);

SelectObject(hdc, pen2);

MoveToEx(hdc, X0 + modX * -1, Y0 - modY * cos(-1), NULL);

for (double x = -1.0; x < 5 + 0.001; x += 0.01f) {

LineTo(hdc, X0 + modX * x, Y0 - modY * cos(x));

}

DeleteObject(pen2);

SetBkColor(hdc, RGB(255, 0, 0));

TextOutA(hdc, X0 + 5 * modX, Y0 - modY / 1.5, "F2(x) = cos x", 13);

}

Screensaver.cpp

#include "stdafx.h"

extern HDC hdc;

extern HANDLE hStdOut;

extern CONSOLE_SCREEN_BUFFER_INFO csbInfo;

void drawScreensaver() {

GetConsoleScreenBufferInfo(hStdOut, &csbInfo);

system("cls");

draw();

}

void draw() {

srand(time(NULL));

int iKey = 0, i, j;

hdc = GetDC(GetConsoleWindow());

COLORREF color;

while (iKey != 27) {

i = 0;

while (i < 50) {

j = 0;

while (j < 30) {

color = RGB(rand() % 256, rand() % 256, rand() % 256);

SelectObject(hdc, CreatePen(PS_DASHDOTDOT, 3, color));

Rectangle(hdc, 10 + i * 10, 10 + 10 * j, 90 + i * 10, 90 + 10 * j);

Sleep(150);

if (_kbhit()) {

iKey = _getch();

if (iKey == 27)

goto END;

}

j += 10;

}

i += 15;

}

END:Sleep(500);

SetConsoleTextAttribute(hStdOut, rand() % 256);

cls();

}

ReleaseDC(NULL, hdc);

SetConsoleTextAttribute(hStdOut, 158);

cls();

}

table.cpp

#include "stdafx.h"

extern HDC hdc;

extern HANDLE hStdOut;

extern CONSOLE_SCREEN_BUFFER_INFO csbInfo;

void drawScreensaver() {

GetConsoleScreenBufferInfo(hStdOut, &csbInfo);

system("cls");

draw();

}

void draw() {

srand(time(NULL));

int iKey = 0, i, j;

hdc = GetDC(GetConsoleWindow());

COLORREF color;

while (iKey != 27) {

i = 0;

while (i < 50) {

j = 0;

while (j < 30) {

color = RGB(rand() % 256, rand() % 256, rand() % 256);

SelectObject(hdc, CreatePen(PS_DASHDOTDOT, 3, color));

Rectangle(hdc, 10 + i * 10, 10 + 10 * j, 90 + i * 10, 90 + 10 * j);

Sleep(150);

if (_kbhit()) {

iKey = _getch();

if (iKey == 27)

goto END;

}

j += 10;

}

i += 15;

}

END:Sleep(500);

SetConsoleTextAttribute(hStdOut, rand() % 256);

cls();

}

ReleaseDC(NULL, hdc);

SetConsoleTextAttribute(hStdOut, 158);

cls();

}

Заголовочные файлы

РГР.h

#pragma once

#ifndef RGR_H

#define RGR_H

int main(void);

void Exit(void);

#endif

AuthorInfo.h

#pragma once

#ifndef AUTHORINFO_H

#define AUTHORINFO_H

void drawInfo(void);

#endif

definedIntegral.h

#pragma once

#ifndef DEFINEDINTEGRAL_H

#define DEFINEDINTEGRAL_H

void computeIntegral(void);

double compute(double, double, lint);

double compute2(double, double, lint);

double functionI(double);

#endif

drawMenu.h

#pragma once

#ifndef DRAWMENU_H_

#define DRAWMENU_H_

const int numMenu = 7;

enum menuItems { TABLE, EQUATION, INTEGRAL, GRAPH, AUTHOR, SCREENSAVER, EXIT };

void drawMenu(void);

void gotoXY(int, int);

void itemMenu(int, bool);

void cls(void);

void getCursorPos(void);

void showCursor(bool);

void prepare(menuItems);

#endif

equation.h

#pragma once

#ifndef EQUATION_H_

#define EQUATION_H_

void solveEquation(void);

double solve(double, double);

double solve2(double, double);

double functionE(double);

#endif

Graphics.h

#pragma once

#ifndef GRAPHICS_H

#define GRAPHICS_H

void drawGraph(void);

void drawAxis(void);

void drawF1(void);

void drawF2(void);

#endif

screensaver.h

#pragma once

#ifndef SCREENSAVER_H_

#define SCREENSAVER_H_

void drawScreensaver(void);

void draw(void);

#endif

stdafx.h

#pragma once

// libraries

#include "targetver.h"

#include <stdio.h>

#include <tchar.h>

#include <math.h>

#include <locale>

#include <conio.h>

#include <iostream>

#include <Windows.h>

using namespace std;

typedef unsigned int uint;

typedef long int lint;

// own headers

#include "table.h"

#include "equation.h"

#include "definedIntegral.h"

#include "drawMenu.h"

#include "РГР.h"

#include "Graphics.h"

#include "AuthorInfo.h"

#include "screensaver.h"

table.h

#pragma once

#ifndef TABLE_H

#define TABLE_H

#define N 15

void doTable(void);

void generateMassive(void);

void drawMassive(double [3][N][N]);

int getMinNumber(double[3][N][N], int);

int getMaxNumber(double[3][N][N], int);

#endif

Приложение А

Таблица значений функций

X

F1

F2

-1

0,471518

0,540302

-0,57143

1,258872

0,841129

-0,14286

2,467512

0,989813

0,285714

2,005909

0,959461

0,714286

0,958167

0,755561

1,142857

0,275626

0,414997

1,571429

-0,16901

-0,00063

2

-0,45866

-0,41615

2,428571

-0,64735

-0,75639

2,857143

-0,77027

-0,95982

3,285714

-0,85034

-0,98963

3,714286

-0,90251

-0,84044

4,142857

-0,93649

-0,53924

4,571429

-0,95863

-0,14049

5

-0,97305

0,283662

Приложение Б

Графики функций

Приложение В

Результаты выполнения

1. Интерфейс программы

2. «Построение таблицы заданных функций»

3. «Решение нелинейного уравнения»

4. «Вычисление определённого интеграла»

5. «Построение графиков заданных функций»

6. «Информация об авторе»

7. «Графическая заставка» - заставка динамическая, поэтому приведён единичный скриншот работы функции

Приложение Г

Дополнительные расчёты значений для каждой из функций

Корни нелинейного уравнения

Определённый интеграл

Решение было выполнено в среде научного языка Wolfram Language

Размещено на Allbest.ru

...

Подобные документы

  • Описание особенностей программирования циклических алгоритмов на С/С++. Использование операторов цикла для организации повтора в программе определенных действий. Создание и реализация программы приближенного вычисления интеграла методом трапеций.

    лабораторная работа [86,3 K], добавлен 25.03.2019

  • Создание схем алгоритмов и составление программы на языке Pascal для вычисления значений заданных функций. Сущность и порядок нахождения значения определенного интеграла. Анализ работы подпрограмм. Разработка тестов для проверки правильности алгоритмов.

    контрольная работа [831,0 K], добавлен 24.11.2013

  • Разработка программы для нахождения корней нелинейных уравнений несколькими методами: методом хорд, касательных, половинного деления, итераций. Реализации программы с помощью системы программирования Delphi 7. Методика работы пользователя с программой.

    курсовая работа [1,3 M], добавлен 11.02.2013

  • Принципы разработки математических моделей, алгоритмов и программ. Составление программы вычисления функции с использованием нестандартных функций. Нахождение значения корней нелинейного уравнения по методу касательных. Программа для вычисления интеграла.

    курсовая работа [568,3 K], добавлен 07.03.2015

  • Метод хорд решения нелинейных уравнений. Вычисление интеграла методом Симпсона. Процесс численного решения уравнения. Окно программы расчета корней уравнения методом хорд. Алгоритм вычисления интеграла в виде блок-схемы. Выбор алгоритма для вычислений.

    курсовая работа [832,6 K], добавлен 24.07.2012

  • Составление алгоритмов и программ для вычисления значений неизвестных: программирование формул; операторы ввода и вывода; условный оператор; цикл с предусловием и с постусловием, с заданным числом повторений; графические средства; тестирование программы.

    курсовая работа [1,5 M], добавлен 13.03.2011

  • Использование нестандартных функций и подпрограмм (процедур) для составления алгоритмов вычислений. Программы для вычисления значение корней нелинейного уравнения по методу половинного деления. Составление алгоритма операций над матрицами и интегралами.

    курсовая работа [580,0 K], добавлен 23.08.2015

  • Численные методы. Создание программного продукта, использование которого позволит одновременно исследовать два метода вычисления определенных интегралов: метод трапеций и метод Симпсона. Рассмотрен ход вычисления интеграла в виде кода программы.

    курсовая работа [834,6 K], добавлен 14.04.2019

  • Разработка программы, выполняющей интегрирование методом входящих прямоугольников с кратностями и методом Симпсона. Расчет определённого интеграла приближенным и точным методами. Оценка погрешности при вычислении приблизительного значения интеграла.

    контрольная работа [71,7 K], добавлен 13.02.2016

  • Нахождение и расчет суммы первых N натуральных чисел. Алгоритм программы, тестовые наборы. Проектирование программы соответствия между челдронами и пеками при заданном начальном значении количества челдронов, шаге изменения и количестве значений.

    лабораторная работа [1,0 M], добавлен 23.11.2014

  • Методы левых и правых прямоугольников численного интегрирования для вычисления интегралов. Геометрический смысл определённого интеграла. Программная реализация, блок-схемы алгоритмов. Результат работы тестовой программы. Решение задачи с помощью ЭВМ.

    курсовая работа [180,4 K], добавлен 15.06.2013

  • Разработка с использованием приложения Mathcad алгоритма и программы решения нелинейного уравнения методами касательных, половинного деления и хорд. Решение с помощью ее заданных нелинейных уравнений. Создание графической иллюстрации полученных решений.

    курсовая работа [665,7 K], добавлен 22.08.2013

  • Исследование количества, характера и расположения корней. Определение их приближенных значений итерационными методами: половинного деления (дихотомии) и хорд. Тексты программ. Решение уравнений на языках программирования Borland Delfi и Turbo Pascal.

    курсовая работа [500,3 K], добавлен 15.06.2013

  • Разработка и анализ алгоритмов с использованием электронных таблиц и прикладных программ Smath Studio, Microsoft Excel. Проверка алгоритма ветвления или выбора. Реализация циклов на примере вычисления определённого интеграла с заданной точностью.

    контрольная работа [1,0 M], добавлен 19.03.2016

  • Решение циклических программ и программ вычисления функции с условием. Уравнение в табличном редакторе Microsoft Excel и в Turbo Pascal. Вычисление определенного интеграла методом прямоугольников, трапеции, Симпсона. Линейные и нелинейные уравнения.

    курсовая работа [233,6 K], добавлен 27.12.2009

  • Формулирование и создание программы по вычислению определенного интеграла по формуле трапеций с тремя десятичными знаками и по формуле Симпсона. Выбор Delphi как программного средства разработки программы. Создание алгоритма и листинг программы.

    курсовая работа [990,9 K], добавлен 15.06.2009

  • Методы и алгоритмы вычисления определенных интегралов: метод трапеций и метод Симпсона (метод парабол). Оформление функции вычисления заданного определённого интеграла на Visual Basic 6.0. Программный код функции. Создание приложения для вычисления.

    курсовая работа [483,6 K], добавлен 25.06.2014

  • Способы и методы нахождения значения определённого интеграла. Программные средства языка C. Программные средства языка Pascal (версия 7.0). Алгоритм программы вычисления определённого интеграла. Тестирование программы. Обработка результатов измерений.

    курсовая работа [2,5 M], добавлен 01.06.2010

  • Проверить условие сходимости и записать расчетные формулы для нахождения корня уравнения. Составить блок-схему алгоритма, программу решения задачи. Вычисления определенного интеграла методом Симпсона. Построить график функции Y=1/sqr(3sin(x)+2cos(x)).

    курсовая работа [29,6 K], добавлен 02.10.2008

  • Разработка программы, которая по заданной самостоятельно функции будет выполнять интегрирование методом прямоугольников. Блок-схема алгоритма вычисления интеграла (функция rectangle_integrate). Экспериментальная проверка программы, ее текст на языке C.

    курсовая работа [232,0 K], добавлен 27.05.2013

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