Применение правил раскрытия скобок и правил вынесения за скобки при вычислении арифметических выражений, Раскрытие скобок, Вынесение за скобки - Программное обеспечение КС
На первой стадии осуществляется упрощение выражения с целью устранения его избыточности. Избыточность, представляя собой корректное сочетание лексем, затрудняет обработку выражения. Далее указаны избыточные и соответствующие упрощенные сочетания лексем.
Раскрытие скобок
Конвейерная архитектура, в отличие от матричной, очень чувствительна к количеству выполняемых операций. Другими словами, как правило, любые преобразования исходного выражения, ведущие за собой увеличение количества операций, заранее проигрышны. К таким преобразованиям относится раскрытие скобок.
Реализация этого метода осуществляется следующим образом:
- 1. Пусть мы имеем исходное выражение (a+b)-x*(d-e)+q 2. На следующем шаге исходное выражение разбиваем на "лексемы", т. о. мы получаем следующий набор лексем:
1 |
2 |
3 |
(a+b) |
X*(d-e) |
Q |
- 3. Затем, начинаем просмотр всех подвыражений на предмет нахождения скобок. 4. Далее, анализируем наличие знаков (*,/) относительно скобок. 5. Если знаков (*,/) относительно скобок нет, то скобки отбрасываются и выражение переписывается без скобок. Если есть наличие знаков (*,/) перед скобками или за скобками, то тогда содержимое в скобках умножается(делится) на переменную(константу) стоящую перед(после) знака (*,/). 6. Избавление от скобок производится поэтапно: 1- (a+b)-x*(d-e)+q 2- A+b-x*(d-e)+q 3- A+b-x*d+x*e+q
Вынесение за скобки
Закон вынесения за скобки общих членов применяется для упрощения реализации арифметического выражения не только параллельным образом, но и последовательным. В данной курсовой работе этот метод реализован по следующему алгоритму:
- 1. Разбивается исходное выражение на отдельные подвыражения ("лексемы") относительно знаков " + " и " - ". Таким образом, получаем список выражений, в которых будем отыскивать общие члены. 2. Определяем список всех простейших переменных и числовых констант выражения в целом. 3. Начинаем просмотр всех подвыражений на совпадение переменных и констант, при этом выполняем эту операцию в таком порядке, в котором все значения переменных и числовых констант записаны в списке. 4. Затем мы циклически сдвигаем эти значения в списке и начинаем 3 шаг заново. Выполняем до тех пор, пока не получим исходный список значений.
Похожие статьи
-
Формирование вершин дерева В основу формирования каждого узла дерева положен следующий принцип. Операция (вершина дерева) считается распознанной, если в...
-
Цель Работы - научиться использовать операции динамического выделения и освобождения памяти на примере работы с одномерными и двумерными массивами, а...
-
Ввод нового алгоритма Ввод выражения осуществляется путем нажатия соответствующих кнопок в окне программы с клавиатуры. Информация о вычислительном...
-
Как записываются арифметические выражения - Основы программирования
Арифметические выражения записываются по следующим правилам: - Нельзя опускать знак умножения между сомножителями и ставить рядом два знака операций. -...
-
Данный процесс отражает регламент работ по разработке программных продуктов в рамках учебных проектов, который будет использован при создании исполяемой...
-
Одной из наиболее популрных методологий гибкой разработки является Scrum, его популярность заключается в простоте. Подобная методология подходит для...
-
Изучить операторы цикла в ТР. - Циклические алгоритмы
Циклы организуются, чтобы выполнить некоторый оператор или группу операторов определенное число раз. В языке Си три оператора цикла: for, while и do -...
-
Подпрограммы - Язык программирования PERL. Сфера применения
Как и все структурированные языки программирования, Perl поддерживает подпрограммы. Подпрограмма может быть определена с помощью ключевого слова sub, как...
-
Скалярные переменные - Язык программирования PERL. Сфера применения
Как отмечалось, скалярная переменная может содержать единственное значение. В языке Perl имена скалярных переменных всегда начинаются со знака ($). В еле...
-
Постановка задачи на разработку программного обеспечения Для того чтобы предлагаемая схема была интегрирована в САПР, который не имеет функции интеграции...
-
Анализ современных систем безопасности. Правовые аспекты применения видеонаблюдения Установка системы видеонаблюдения и ее использование являются весьма...
-
Для проекта предусматривающего наличие большого количества задач, отображение показателей и составление отчетов, ручное ведение проекта не является...
-
Помимо этапа разработки ПО, также немаловажным являются этапы накопления и передачи знаний, а также взаимодействия членов проектной команды. На...
-
Возможности символьного процессора (Symbolic) Символьными называются такие вычисления, результаты работы которых представляются в аналитическом виде, т....
-
При заполнения каждой ячейки таблицы распределения исходов сравнения двух рук нам необходимо перебрать все возможные варианты общих карт. Таким образом...
-
В качестве инструмента моделирования был выбран программный продукт RunaWFE. Данный продукт позволяет не только создать модель бизнес-процесса, но и...
-
Каждая диаграмма состояний в UML описывает все возможные состояния одного экземпляра определенного класса и возможные последовательности его переходов из...
-
В рамках данной работы по разработке схемотехнического метода повышения сбоеустойивости ПЛИС поставлены следующие задачи: 1. Создание сбоеустойчивой...
-
Согласно рассмотренным практикам и методологиям можно составить общее описание разрабатываемой модели разработки ПО в рамках учебных проектов. Основным...
-
Теоретические сведения - Программное обеспечение КС
Конвейерные системы - Универсальный многофункциональный процессор. Состоят из одного или множества многофункциональных конвейерных процессоров. Эти...
-
Для того, чтобы вынести решение об оправданности или неоправданности внедрения автоматизированного тестирования вместо ручного, необходимо...
-
Примеры антивирусных программ, Антивирус Касперского 7.0 - Программное обеспечение компьютера
Наиболее распространенные антивирусные программы: ADINF, AIDSTEST, AVP, DrWeb. NAV (Symantec), SCAN (McAfee), VIRUSAFE (Eliashim) и др. К антивирусам,...
-
Цель Работы - изучить одну из базовых концепций ООП, наследование классов в С++, заключающуюся в построении цепочек классов, связанных иерархически,...
-
Вирусы и антивирусное программное обеспечение
Реферативная часть Что такое вирус? Один из известных "докторов" Д. Н Лозинский дал определение вируса на примере клерка. Представим себе аккуратного...
-
Объект ориентированный класс программирование Цель Работы - изучить методику создания одномерных динамических символьных массивов при помощи...
-
Выполнение тест-кейсов - Тестирование программного обеспечения
Одной из особенностей процесса тестирования является необходимость проведения тестирования программы специалистом, который не является ее автором....
-
Advanced Encryption System - алгоритм шифрования, разработанный в 1998 году, который пришел на замену алгоритму DES. Данный алгоритм базируется на шифре...
-
Вся информация, которую обрабатывает компьютер, должна быть представлена двоичным кодом с помощью двух цифр -- 0 и 1. Эти два символа принято называть...
-
Данная глава посвящена решению таких задач, как выявление теоретических основ тестирования, классификация и описание видов тестирования, анализ и...
-
2.2 Технологическое обеспечение - Программное обеспечение Центра занятости населения
Технологическое обеспечение включает описание организации технологии сбора, передачи, обработки и выдачи информации и отражает последовательность...
-
2.1 Описание структуры базы данных Реляционная схема базы данных для ЦЗН представлена следующими таблицами: "ПО" - содержит список единиц программного...
-
Автоматизированное тестирование программного обеспечения - это процесс проверки программного обеспечения, который включает в себя такие шаги как запуск,...
-
Файловые менеджеры в Windows - Операционная система. Программное обеспечение компьютера
Файловый менеджер -- компьютерная программа, предоставляющая интерфейс пользователя для работы с файловой системой и файлами. Файловый менеджер позволяет...
-
Adobe Dreamweaver Adobe Dreamweaver - это HTML-редактор от компании Adobe, который на сегодняшний день очень известный. Первая его версия была выпущена в...
-
Длительные учебные проекты по разработке ПО, такие как курсовые работы или задания по какому-либо курсу программирования, обычно разбиваются на набор...
-
Для запуска кластеризации пользователю нужно ввести 4 параметра: А) Название ODBC драйвера с созданным подключением. Как создать Такое подключение,...
-
Базовый интерфейс двоичного дерева поиска состоит из трех операций: - FIND(K) -- поиск узла, в котором хранится пара (key, value) с key = K. - INSERT(K,...
-
После создания диапазона критериев можно запустить расширенный фильтр и подвергнуть данные списка фильтрации. Для этого надо: Поместить указатель ячейки...
-
Рис. 7 Пример двоичного дерева поиска Двоичное дерево поиска (binary search tree, BST) -- это двоичное дерево, для которого выполняются следующие...
-
Описание существующей проблемы сбоев работы ПЛИС Проблема отсутствия специализированных микросхем под определенное воздействие КП с оптимальной...
Применение правил раскрытия скобок и правил вынесения за скобки при вычислении арифметических выражений, Раскрытие скобок, Вынесение за скобки - Программное обеспечение КС