Создан заказ №2975591
7 мая 2018
2 Входная строка содержит арифметическое выражение которое может содержать целочисленные константы
Как заказчик описал требования к работе:
Необходимо написать решение следующих двух задач на Pascal
1.
Юный хакер Костя случайно набрал команду rm -f c еще одним дополнительным параметром – маской. Маска содержит в себе буквы, а также символы ? (обозначает ровно один произвольный символ) и * (обозначает любую последовательность символов,
возможно, пустую). Выясните, сколько файлов осталось в каталоге после исполнения этой команды.
Формат входных данных
Первая строка входных данных содержит маску , указанную Костей в качестве параметра. Вторая строка входных данных содержит целое число N (0≤N≤1000) – количество файлов, которое было в каталоге. Далее идет N различных строк с именами файлов, каждая строка состоит из строчных латинских букв и по длине не превосходит 32 символов. Исходная маска также не превосходит по длине 32 символов и может содержать строчные латинские буквы и символы ? и *.
Формат выходных данных
Программа должна вывести единственное число – количество оставшихся в каталоге файлов, то есть количество файлов, не удовлетворяющих заданной маске.
Пример входных данных
?a*
5
a
mama
ma
aa
bb
Пример выходных данных
2
2.
Входная строка содержит арифметическое выражение, которое может содержать целочисленные константы, скобки, бинарные операторы +, -, *, /, унарные операторы + и -. Вычислите значение этого выражения.
Формат входных данных
Во входных данных содержится единственная строка, содержащая цифры, знаки арифметических операций, круглые скобки. Строка не содержит пробелов. Все целочисленные константы не превосходят по модулю 10^9. Арифметическое выражение корректно, никакие два знака арифметической операции не идут подряд (то есть унарный оператор не следует после бинарного), числа не содержат лидирующих нулей. Гарантируется, что результат работы, а также результаты всех промежуточных вычислений, не превосходят 10^9. Длина строки не превосходит 1000 символов.
Все действия выполняются слева направо. Сначала выполняются умножения и деления, затем – сложения и вычитания. Деление выполняется нацело по правилам компилятора g++.
Формат выходных данных
Программа должна вывести значение данного выражения. При возникновении деления на ноль, программа должна вывести слово Error.
Примеры
Вход Выход
2-(7+3*4)/5 -1
1/(1-1) Erro
подробнее
Фрагмент выполненной работы:
2. Входная строка содержит арифметическое выражение, которое может
содержать целочисленные константы, скобки,
бинарные операторы +, -, *, /, унарные операторы + и -.
Вычислите значение этого выражения.
Формат входных данных
Во входных данных содержится единственная строка, содержащая
цифры, знаки арифметических операций, круглые скобки.
Строка не содержит пробелов. Все целочисленные константы
не превосходят по модулю 10^9. (работа была выполнена специалистами author24.ru) Арифметическое выражение
корректно, никакие два знака арифметической операции не
идут подряд (то есть унарный оператор не следует после бинарного),
числа не содержат лидирующих нулей.
Гарантируется, что результат работы, а также результаты всех
промежуточных вычислений, не превосходят 10^9.
Длина строки не превосходит 1000 символов.
Все действия выполняются слева направо.
Сначала выполняются умножения и деления,
затем – сложения и вычитания.
Деление выполняется нацело по правилам компилятора g++.
Формат выходных данных
Программа должна вывести значение данного выражения.
При возникновении деления на ноль, программа
должна вывести слово Error.
Решение:
Будем переводить формулу в обратную польскую нотацию. Общий смысл такой нотации – указать вначале аргументы функции, а потом выполняемую над ними операцию.
Например:
2+3 запишем как 2,3,+
2+3+4 запишем как 2,3,4,+,+
При преобразовании формулы в такую запись должен учитываться приоритет операций и расставленные скобки, например
2+3*4 запишем как 2,3,4,*,+
2*3+4 запишем как 2,3,*,4,+
(2+3)*4 запишем как 2,3,+,4,*
2*(3+4) запишем как 2,3,4,+,*
Процедура перевода формулы в такую нотацию называется ToPoland, а вычисление выражения по записи осуществляет процедура EvalPol, которая также отслеживает ошибки вроде деления на ноль.
Подробнее с алгоритмом и использованием стека можно ознакомиться по ссылке http://algolist.manual.ru/maths/misc/revpn.php
{1. Юный хакер Костя случайно набрал команду rm -f c еще одним дополнительным параметром
– маской. Маска содержит в себе буквы, а также символы ? (обозначает ровно один
произвольный символ) и * (обозначает любую последовательность символов, возможно, пустую)...Посмотреть предложения по расчету стоимости
Заказчик
заплатил
заплатил
20 ₽
Заказчик не использовал рассрочку
Гарантия сервиса
Автор24
Автор24
20 дней
Заказчик принял работу без использования гарантии
8 мая 2018
Заказ завершен, заказчик получил финальный файл с работой
5
2 Входная строка содержит арифметическое выражение которое может
содержать целочисленные константы.jpg
2019-05-22 23:07
Последний отзыв студента о бирже Автор24
Общая оценка
5
Положительно
Автор вежливо всё объяснил. Всё очень быстро и качественно. На все мои вопросы ответил