Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2021, 19:57   #1
Толик"
Новичок
Джуниор
 
Регистрация: 20.05.2021
Сообщений: 2
По умолчанию Подскажите правильно ли составлена блок схема

Буду благодарна за любую ссылку/подсказку)
Код:
double mc(double(*f)(double))
{
    srand(time(NULL));
 
    double krok, p, suma = 0, max = 0, min = 0, fun = 0;
    int k = 0;
    int n = 10000000;
    krok = (c_do - c_od) / lp;
    for (p = c_od; p <= c_do; p += krok) {
        fun = (*f)(p);
        if (fun >= max) {
            max = fun;
        }
        else 
            if (fun <= min) {
            min = fun;
        }
    }
    for (int i = 1; i <= n; i++) {
        double x, y, fun2;
 
        x = rand();
        x = x / RAND_MAX;
        x = x * (c_do - c_od);
        x = x + c_od;
 
 
        y = rand();
        y = y / RAND_MAX;
        y = y * (max - min);
        y = y + min;
 
        fun2 = (*f)(x);
        if (y > 0 && fun2 > y) {
            k++;
        }
        else if (y < 0 && fun2 < y) {
            k--;
        }
 
    }
    suma = (k * (c_do - c_od) * (max - min)) / n;
 
    return suma;
раыавыолврашфгцрауыашыварфоарывд.jpg

Последний раз редактировалось Толик"; 20.05.2021 в 20:17.
Толик" вне форума Ответить с цитированием
Старый 21.05.2021, 05:02   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,429
По умолчанию

Как-то у вас пол с ником плохо соотносится. В коде функции нет ввода c_od и c_do, поэтому странно их наблюдать на блок-схеме. Типы обычно не пишутся. Само объявление переменной не указывается на блок-схеме, только инициализация. Различия:
Код:
В коде - На блок-схеме
"p <= c_do" - "p < c_do"
"fun" - "t"
"fun >= max" - "fun > max"
"fun2" - "t2"
"fun2 = (*f)(x);" - "fun = fun * x" - тут вообще не то
"p += krok" можно сделать на блок-схеме одним блоком, а не двумя. По ветке нет условия "(y < 0 && fun2 < y)" i тоже нужно увеличивать. suma возвращается из функции, а не выводится (не знаю, каким лучше блоком обозначить).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 21.05.2021, 11:39   #3
Толик"
Новичок
Джуниор
 
Регистрация: 20.05.2021
Сообщений: 2
По умолчанию

Как тогда можно в схеме изобразить вызов функции fun2 = (*f)(x)?

Последний раз редактировалось Толик"; 21.05.2021 в 12:02.
Толик" вне форума Ответить с цитированием
Старый 21.05.2021, 20:46   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,429
По умолчанию

Да, наверное, так и написать "fun2 = (*f)(x)". И справа на блок-схеме тоже поправить "fun = (*f)(p)".
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 21.05.2021, 22:36   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,708
По умолчанию

Вообще-то по ГОСТ 19.701-90. ЕСПД для вызова подпрограмм используется вот такая хреновина (см. рис.) Сама подпрограмма будет иметь отдельную схему (в противоречии с ГОСТ их упорно продолжают называть блок-схемами, как в 70-х годах прошлого столетия) с элементами НАЧАЛО и ОКОНЧАНИЕ. Конечно, если это не библиотечная функция вроде синуса или логарифма.
Изображения
Тип файла: jpg СхП.jpg (6.0 Кб, 4 просмотров)
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Правильно ли составлена программа? Марина357 Помощь студентам 7 23.11.2015 15:22
правильно ли программа составлена?? Татьяна123456 Общие вопросы C/C++ 2 14.11.2012 22:45
программа правильно составлена? Aidar19 Помощь студентам 0 24.05.2012 20:31
правильно ли выполнена блок-схема e73t4ph Общие вопросы C/C++ 7 23.05.2012 15:16
Подскажите верна ли блок-схема Dialon Паскаль, Turbo Pascal, PascalABC.NET 2 09.02.2009 21:56