Студопедия

КАТЕГОРИИ:

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



Крок 1. Підключити модулі з керуючими структурами і функціями інтегрування




Читайте также:
  1. Векторының модулін табыңыз
  2. Вступ. Загальні відомості про чисельні інтегрування.
  3. Және векторлары берілген. Осы векторлардың қосындысының модулін табыңдар
  4. Інтегрування розкладом
  5. Інтегрування частинами
  6. Методи прямокутників, трапецій, Сімпсона (парабол) чисельного інтегрування
  7. Операції над неперервними функціями
  8. Приведемо текст програми роботи зі структурами з використанням інформації по дискам.
  9. Развивающиеся страны пользуются соответствующими структурами ООН и Фонда Карнеги, у некоторых из них есть центры подготовки дипломатов (например в Камеруне).

#include <conio.h>

#include <stdio.h>

#include <iostream.h>

#include "integral.cpp"

#include "E:/modul/graph.cpp"

#include "E:/modul/mouse.cpp"

#include "E:/modul/abstr.cpp"

#include "E:/modul/baseinp.cpp"

#include "E:/modul/check.cpp"

#include "E:/modul/button.cpp"

#include "E:/modul/numedit.cpp"

#include "E:/modul/label.cpp"

#include "E:/modul/edit.cpp"

void main(){

clrscr();

Крок 2. Ініціалізувати графику і зафарбувати фон кольором №8

graphinit(8);

Крок 3.Ініціалізувати мишку

InitMouse();

Крок 4. Висвітити покажчик мишки

ShowMouse();

Крок 5. Оголосити об'єкти для відображення функції, яку інтегруємо

//Мітка для відображення виду функції

ClLabel funk(230,57,"Інтеграл функції f(x)=",15);

//Поле для введення самої функції

ClEdit FuncOfText(230,50,150,20,"x");

Крок 6. Оголосити об'єкти для введення меж інтегрування

//Поле введення початку проміжку інтегрування

ClLabel from(230,100,"Межі інтегрування: від ",11);

ClNumEdit a(230,100,70,20,0);

//Поле введення кінця проміжку інтегрування

ClLabel to(330,100,"до ",11);

ClNumEdit b(330,100,70,20,5);

Крок 7. Оголосити об'єкти для введення кількості кроків інтегрування

//Поле введення кількості кроків інтегрування

ClLabel shagi(270,150,"Кількість кроків інтегрування ",11);

ClNumEdit sh(280,150,100,25,100);

Крок 8. Оголосити об'єкти для виводу результатів інтегрування

//Поля виводу результатів

ClLabel rez(380,216,"Результат інтегрування: ",14);

ClLabel oldInt(500,220,"Попередні обчислення: ",10,1,1);

ClLabel sredn(400,10,"Середнє значення по всіх методах

",10);

ClNumEdit Sredn(400,10,200,25,0);

Крок 8.1. Оголосити об'єкти для виводу результатів методом Ньютона-Котеса

ClLabel kotesa(170,300,"Метод Ньютона-Котеса ",10);

ClNumEdit Kotesa(170,290,200,25,0);

ClNumEdit oldKotesa(400,290,200,25,0);

ClCheck sKotesa(380,295,0);

Крок 8.2. Оголосити об'єкти для виводу результатів методом прямокутників

ClLabel pryam(176,330,"Метод прямокутників ",10);



ClNumEdit Pryam(170,320,200,25,0);

ClNumEdit oldPryam(400,320,200,25,0);

ClCheck sPryam(380,325,0);

Крок 8.3. Оголосити об'єкти для виводу результатів методом трапецій

ClLabel trap(176,360,"Метод трапецій ",10);

ClNumEdit Trap(170,350,200,25,0);

ClNumEdit oldTrap(400,350,200,25,0);

ClCheck sTrap(380,355,0);

Крок 8.4. Оголосити об'єкти для виводу результатів методом Сімпсона

ClLabel parabol(176,390,"Метод парабол ",10);

ClNumEdit Parabol(170,380,200,25,0);

ClNumEdit oldParabol(400,380,200,25,0);

ClCheck sParabol(380,385,0);

Крок 9. Оголосити кнопку для визначення моменту необхідності обчислення інтеграла

//Кнопки для визначення інтеграла різними методами

ClButton start(400,150,100,25,"Порахувати");

Крок 10. Оголосити кнопку для виходу з програми

ClButton exit(10,10,50,20,"<--");

Крок 11. Визначити нескінченний цикл для забезпечення постійного запросу до всіх керуючих об'єктів програми for(;;){
Крок 11.1. Якщо натиснута кнопка виходу, то вийти з програми

if (exit.zapros()) break;

Крок 11.2. Якщо натиснута кнопка «Порахувати інтеграл», то обчислити інтеграл всіма методами і записати результати у відповідні поля виводу значень



if (start.zapros()){

}

Крок 11.2. Якщо скинутий прапорець напроти поля виводу значення інтегралу методом Ньютона-Котеса, то зберегти попереднє значення інтегралу й обчислити його нове значення по цьому методу

if (sKotesa.

GetState()==0){

oldKotesa.SetNum(Kotesa.Num);

Kotesa.SetNum(metod_Nyutona_Kotesa(FuncOfText.text,
a.Num, b.Num, sh.Num));

}

Крок 11.3. Якщо скинутий прапорець напроти поля виводу значення інтеграла методом прямокутників, то зберегти попереднє значення інтегралу й обчислити його нове значення цим методом.

if (sPryam.GetState()==0){

oldPryam.SetNum(Pryam.Num);

Pryam.SetNum(metod_Pryam

(FuncOfText.text, a.Num, b.Num, sh.Num));

}

Крок 11.4. Якщо скинутий прапорець напроти поля виводу значення інтеграла за методом трапецій, то зберегти попереднє значення інтеграла й обчислити його нове значення цим методом.

if (sTrap.GetState()==0){

oldTrap.SetNum(Trap.Num);

Trap.SetNum

(metod_Trap(FuncOfText.text, a.Num, b.Num, sh.Num));

}

Крок 11.5. Якщо скинутий прапорець навпроти поля виводу значення інтеграла за методом парабол, то зберегти попереднє значення інтеграла й обчислити його нове значення цим методом.

if (sParabol.GetState()==0){

oldParabol.SetNum(Parabol.Num);

Parabol.SetNum(metod_Parabol(FuncOfText.text, a.Num,

b.Num, sh.Num));

Крок 11.6. Обчислити усереднене значення інтеграла

//Обчислення усередненого значення

Sredn.SetNum((Parabol.Num + Trap.Num + Uedlya.Num +

Bode.Num + Kotesa.Num + Chebisheva.Num + Gaussa.Num)/7);

};

Крок 11.7. Зробити запит на зміну стану об’єктів уведення границь інтегрування і кількості кроків.



a.zapros();

b.zapros();

sh.zapros();

Крок 11.8. Зробити запит на зміни стану прапорців допустимості обчислення інтеграла.

sBode.zapros();

sUedlya.zapros();

sKotesa.zapros();

sPryam.zapros();

sTrap.zapros();

sParabol.zapros();

sKotesa.zapros();

}

Крок 11.9. Якщо натиснута клавіша Esc вийти з програми.

if (kbhit()) if (getch()==27) break;

}

Крок 12. Закрити графічний режим.

closegraph();

Крок 13. Кінець.

}


Дата добавления: 2014-12-23; просмотров: 16; Нарушение авторских прав







lektsii.com - Лекции.Ком - 2014-2021 год. (0.015 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты