Мегаобучалка Главная | О нас | Обратная связь


Детальное описание основной функции ChartoInt



2019-12-29 268 Обсуждений (0)
Детальное описание основной функции ChartoInt 0.00 из 5.00 0 оценок




Функция ChartoInt преобразует набор символов из строки, набранной пользователем в числа. Преобразование происходит следующим образом, имеем некоторые символы XYZ, программа преобразует их так:

Определяется разрядность числа, скажем сотни, следовательно, 1 число умножается на 100 + следующее число, умноженное на 10 + следующее число, умноженное на 1.

Пример:

x,y,z à x*100+y*10+z*1 = xyz

1,2,3 à 1*100+2*10+3*1 = 123

 

Детальное описание основной функции процедуры Scobka

Функция Scobka преобразует все выражения в скобках в числа, например (2+4/2) будет преобразовано в 4.

Получаем массив данных и знаков через указатели, сканируем массив знаков на открытые и закрытые скобки и обозначаем начало скобок через N, а конец через N1. Числа и знаки, входящие в этот промежуток, образуют два новых массива данных и знаков, но уже без скобок, после чего вызывается функция Sumin и возвращается численное значение скобок, которое вставляется в исходный массив чисел с проведением сдвига данных и чисел.

Пример:

 

 

Как мы видим, вначале раскрывается 1 скобка, выражение в ней рассчитывается и следовательно в массивах значений и чисел происходит сдвиг. Затем тоже проделывается со второй скобкой. В конце мы имеем массив значений состоящий только из знаков +, -, * и /.

 

Детальное описание основной функции процедуры Sumin

Функция Sumin производит компоновку числовых и знаковых массивов с использованием приоритета операций и последуйщего расчёта результата.

Т.е в выражении последовательно выполняются все операции, сперва с умножением "*", затем с делением "/", затем с сложением "+" и затем с вычитанием "-".

Пример: 12+2*7-10/2 à 12+14-10/2 à12+14-5 à 6-5 à 21

Детально работа функций описана в приложении 1.

Общая структура программного средства


Блок схема

Основная блок схема

 




Блок схема функции ChartoInt


Блок схема функции Sumin



Блок схема функции Scobka




Заключение

Данный метод не является оптимальным, так как:

· Не использует классы.

· "Сдвиг" не вынесен в отдельную функцию, что затрудняет модернизацию.

· Сложность при попытке включения вложенных скобок

· Сложность при попытке включения математических операций таких как cos(), sin(), степень и другие.

· Строгое ограничение числового диапазона расчётов

· Отсутствие "дружественного" - оконного интерфейса.

Возможное решение данных проблем – это переход на другую платформу, Microsoft® Visual C++ или Borland® Delphi.


Приложение 1



2019-12-29 268 Обсуждений (0)
Детальное описание основной функции ChartoInt 0.00 из 5.00 0 оценок









Обсуждение в статье: Детальное описание основной функции ChartoInt

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (268)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)