0 / 0 / 0
Регистрация: 17.09.2015
Сообщений: 10
|
||||||
1 | ||||||
Нужно создать блок схему алгоритма программы C++02.04.2016, 13:45. Показов 1053. Ответов 3
Не знаю как нарисовать блок-схему данной программы, хотя бы алгоритм обхода дерева
0
|
02.04.2016, 13:45 | |
Ответы с готовыми решениями:
3
Нужно начертить блок-схему алгоритма Создать блок-схему и словесное описание алгоритма построить блок-схему алгоритма вычисления выражения Очень нужно нужно составить блок-схему этой программы. |
116 / 106 / 51
Регистрация: 29.03.2016
Сообщений: 480
|
|
02.04.2016, 15:07 | 2 |
определите главную функцию
проходя по каждой строке в ней, нарисуйте блоки соответствующего действия без вхождения в функции для каждой из функций нарисуйте свои блок схемы вхождения в функции обозначайте ссылкой (ну или как там по стандарту функции обозначаются) при необходимости, после всего проделанного объедините в одну блок-схему (но это лишнее)
0
|
0 / 0 / 0
Регистрация: 17.09.2015
Сообщений: 10
|
|
03.04.2016, 11:37 [ТС] | 3 |
В этом то и проблема, я не знаю какая главная функция и вообще не понимаю что происходит в коде.
0
|
116 / 106 / 51
Регистрация: 29.03.2016
Сообщений: 480
|
|
03.04.2016, 14:21 | 4 |
да, главной функции здесь нет, кроме того отсутствуют внешние определения некоторых переменных/структур (например ui), ну и ошибки в названиях переменных есть, например: val-ues вместо определенной values
файл явно не полон, но если дали задание построить блок схему для этого, то делайте отдельные блок-схемы для каждой из функций и не пытайтесь их связать bool MainWindow::is_op(QChar arg) тут возвращается оператор один из перечисленных, и, вероятно, если в качетве оператора в функцию передано что-то иное, то не возвращается ничего int MainWindow:rior_op(QChar arg) здесь определяется приоритет операторов QString MainWindow:ostfix(QString arg) тут заносятся в стек операторы в порядке, в котором в последствии будут выполняться арифметические операции, т.е. анализируется строка по большому счету именно эта функция и вызывает другие функции, поэтому ее можно назвать главной над всеми остальными (есть ошибки в названиях дочерних функций, напр: pri-or_op вместо prior_op), но она все же выполняет часть, необходимой для анализа сложной формулы, работы QString MainWindow:refix(QString arg) т.к в предыдущей функции операции загонялись в стек о не в очередь, то эта функция инвертирует строку, т.е. переворачивает стек. void MainWindow::tree_streight(tree *node) здесь мы встречаемся, судя по названию, с указателем на дерево тут имеет место рукирсивный проход по нему и судя по кол-ву ветвлений дерево является бинарным ui->listWidget_2->addItem(node->str); и вот та структура о которой я говорил в начале, она добавляет какую-то позицию (опять же исходя из названия функци addItem). что это не представляется возможным узнать без описания этой функции node - указатель на элемент (узел) дерева видимо эта функция троит дерево void MainWindow::tree_sim(tree *node) примерно тоже что в предыдущей функции, но ... double MainWindow::result(tree *node) ну и наконец результат. тут становится понятно что из некой формулы формировалось дерево которое теперь рекурсивно обходится и считается. в результате получаем ответ. концепция ясна но все равно не хватает информации для однозначной описания алгоритма резюме: делайте блок-схемы для каждой из функций отдельно
1
|
03.04.2016, 14:21 | |
03.04.2016, 14:21 | |
Помогаю со студенческими работами здесь
4
Нужно создать программу сортировки методом пузырька в Visual Basic и блок схему к коду программы Какой UML диаграммой заменить блок схему алгоритма программы (приведен пример блок схемы)? построить блок-схему алгоритма вычисления выражения Очень нужно Создать блок-схему алгоритма вычисления суммы ряда Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |