1 Востаннє редагувалося Bartash (04.10.2014 17:34:53)

Тема: Допоможіть написати блок-схему коду

#include "stdafx.h"
#include "iostream"
using namespace std;


float f(double x)
{
    double x1;
    x1 =log(x+3/5);
    return x1;
}
float rectangle(double min, double max, int sit)
{
    double h, wee1 = 0, i1 = 0;
    h = (max - min) / sit;
    for (int i2 = 1; i2 <= sit; i2++)
    {
        i1 = f(min + (h / 2))*h;
        if (i1<0)
            i1 *= (-1);
        wee1 += i1;
        min += h;
    }
    return wee1;
}
float trapezodial(double min, double max, int sit)
{
    double h, wee2 = 0, i1 = 0;
    h = (max - min) / sit;
    for (int i2 = 1; i2 <= sit; i2++)
    {
        i1 = (f(min)*h);
        if (i1<0)
            i1 *= (-1);
        wee2 += i1;
        i1 = ((f(min + h)) - f(min))*(h / 2);
        if (i1<0)
            i1 *= (-1);
        wee2 += i1;
        min += h;
    }

    return wee2;
}

float simpson(double min, double max)
{
    double wee3 = 0, m;
    m = ((min + max) / 2);
    wee3 = (((max - min) / 6)*(f(min) + (4 * (f(m))) + f(max)));
    if (wee3<0)
        wee3 *= (-1);
    return wee3;
}






int main(int argc, _TCHAR* argv[])
{
    setlocale(LC_CTYPE, "rus");
    double min, max, wee1, wee2, wee3;
    int sit, kor;
    cout << "Виберiть спосiб для вирiшення завдання:" << endl; cout << "________________________________________________________________________________" << endl;
    cout << "Метод прямокутника,введiть 1" << endl << "Метод Сiмпсона,введiть 2" << endl << "Правило трапецiї,введiть 3" << endl;
    cout << "Вибрати всi способи вирiшення завдання,введiть 4" << endl;
    cout << "________________________________________________________________________________" << endl;
    cin >> kor;
    while (kor<1 || kor>4)
    {
        cout << "Некоректний ввiд!" << endl;
        cin >> kor;
    }
    cout << "________________________________________________________________________________" << endl;
    cout << "Введiть мiнiмальне значення iнтегрування:" << endl;
    cin >> min;
    cout << "Введiть максимальне значення iнтегрування:" << endl;
    cin >> max;
    while (min >= max)
    {
        cout << "Некоректний ввiд!" << endl;
        cin >> max;
    }
    cout << "ВВедiть крок сiтки" << endl;
    cin >> sit;
    cout << "________________________________________________________________________________" << endl;

    if (kor == 1)
    {
        cout << "Метод прямокутникiв.Результат = " << rectangle(min, max, sit) << endl;
    }
    if (kor == 2)
    {
        cout << "Метод трапецiї.Результат = " << trapezodial(min, max, sit) << endl;
    }
    if (kor == 3)
    {
        cout << "Метод сiмпсона.Результат = " << simpson(min, max) << endl;
    }
    if (kor == 4){
        cout << "Метод прямокутникiв.Результат = " << rectangle(min, max, sit) << endl;
        cout << "Метод трапецiї.Результат = " << trapezodial(min, max, sit) << endl;
        cout << "Метод сiмпсона.Результат = " << simpson(min, max) << endl;
    }

    system("pause");
    return 0;
}

Bartash: код слід брати у теги [ code ].

2

Re: Допоможіть написати блок-схему коду

http://replace.org.ua/topic/628/

тут спілкуються українці (серед них є програмісти)
https://discord.gg/Zk29v4P

3

Re: Допоможіть написати блок-схему коду

О а мене цікавить, чи реально записати функцію у вигляді блок-схеми?

4

Re: Допоможіть написати блок-схему коду

Цілком

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»

5

Re: Допоможіть написати блок-схему коду

Цілком

Здається я догадуюся як, але якщо можна покажіть на будь-якому простому прикладі.

6

Re: Допоможіть написати блок-схему коду

http://www.informatika.edusite.ru/9_0115.jpg

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»

7 Востаннє редагувалося Joker (05.10.2014 00:04:51)

Re: Допоможіть написати блок-схему коду

Під словом "функція" я мав на увазі відрізок коду який часто повторюється і задля цього винесений у окремий блок.

#include <iostream>
#include <conio.h>
using namespace std;

void say ()
{

for (int i=0; i<50; ++i)
cout << "\n" << "HELLO" << endl;

}


int main ()
{
say ();

_getch();
return 0;
}

P.S. можуть бути помилки, писав код прямо тут.