Перейти к основному содержанию
EDU-MMCS
Вы используете гостевой доступ (Вход)

Язык программирования C#

  1. В начало
  2. Курсы
  3. Весенний семестр
  4. Магистратура
  5. Язык программирования C#
  6. Основы языка C#
  7. Домашнее задание №7.

Домашнее задание №7.

Требуемые условия завершения
Открыто с: воскресенье, 7 апреля 2019, 00:00
Срок сдачи: воскресенье, 14 апреля 2019, 00:00
  1. Преобразовать арифметическое выражение в инфиксной записи в выражение в постфиксной. 

    Говорят, что выражение записано в инфиксной форме, если знак операции (сложения, умножения, вычитания либо деления) стоит между своими аргументами, например, 5 + 7. Каждая операция имеет приоритет выполнения (сначала выполняются умножение и деление, затем сложение и вычитание). Для изменения приоритета выполнения операций используются круглые скобки. 

    Вычислять значение выражения, записанного в инфиксной форме, неудобно. Проще сначала перевести его в постфиксную, или обратную польскую запись, в которой знак операции записывается после своих операндов, например, 5 7 +. 

    Для перевода выражения из инфиксной формы в постфиксную с учетом приоритетов операций и скобок существует простой алгоритм. Алгоритм работает со стеком, в котором хранятся знаки операций. Сначала стек пуст. На вход алгоритму подается последовательность лексем (числа, скобки или знаки операций), представляющая некоторое арифметическое выражение, записанное в инфиксной форме. Результатом работы алгоритма является эквивалентное выражение в постфиксной форме. Вводятся приоритеты операций: открывающая скобка имеет приоритет 0, знаки + и – — приоритет 1 и знаки * и / — приоритет 2. 

      • Если не достигнут конец входной последовательности, прочитать очередную лексему. 
      • Если прочитан операнд (число), записать его в выходную последовательность. 
      • Если прочитана открывающая скобка, положить ее в стек. 
      • Если прочитана закрывающая скобка, вытолкнуть из стека в выходную последовательность всё до открывающей скобки. Сами скобки уничтожаются. 
      • Если прочитан знак операции, вытолкнуть из стека в выходную последовательность все операции с большим либо равным приоритетом, а прочитанную операцию положить в стек. 
    Если достигнут конец входной последовательности, вытолкнуть все из стека в выходную последовательность и завершить работу.
    Выходную последовательность удобно представлять списком, из которого в конце формируется выходная строка с исходным выражением в постфиксной записи. 
  2. Вычислить значение выражения, заданного в инфиксной форме.

◄ Лабораторная работа №8. Коллекции
Лабораторная работа №9. Классы и объекты ►
Пропустить Навигация
Навигация
  • В начало

    • Страницы сайта

      • Мои курсы

      • Теги

    • Мои курсы

    • Курсы

      • Весенний семестр

        • Прикладная математика и информатика

        • Фундаментальная информатика и ИТ

        • Математика, механика

        • Педагогическое образование

        • Магистратура

          • Разработка мобильных приложений и компьютерных игр

          • Научные вычисления - 2025

          • ИАБолДанн

          • История инф

          • Data Scince и АД

          • МО (маг ИИ)

          • NLP

          • M1. Artificial Intelligence

          • CSm2Research

          • Мат. модели в МСС

          • НИС

          • Свертки

          • Язык программирования C#

            • Общее

            • Основы языка C#

              • ЗаданиеЛабораторная работа №1. Введение

              • ЗаданиеДомашнее задание №1

              • СтраницаУсловный оператор

              • СтраницаПеречисления и оператор выбора

              • СтраницаЦиклы

              • ЗаданиеЛабораторная работа №2.

              • ЗаданиеДомашнее задание №2

              • ЗаданиеЛабораторная работа №3. Массивы

              • ЗаданиеДомашнее задание №3

              • ЗаданиеЛабораторная работа №4. Последовательности.

              • ЗаданиеДомашнее задание №4

              • ФайлСтроки в C#

              • ФайлКласс StringBuilder

              • ЗаданиеЛабораторная работа №5. Строки

              • СтраницаРегулярные выражения

              • СтраницаЯзык регулярных выражений

              • ЗаданиеДомашнее задание №5. Регулярные выражения.

              • ЗаданиеЛабораторная работа №6. Файлы.

              • ЗаданиеДомашнее задание №6. Статистическая обработка резу...

              • ЗаданиеЛабораторная работа №7. Рекурсия

              • ЗаданиеЛабораторная работа №8. Коллекции

              • ЗаданиеДомашнее задание №7.

            • Объектно-ориентированное программирование

            • Индивидуальное задание

        • Аспирантура

        • Вечернее отделение

        • Другое

        • ОИИ

      • Осенний семестр

        • Прикладная математика и информатика

        • Фундаментальная информатика и ИТ

        • Математика, механика

        • Педагогическое образование

        • Магистратура

          • Разработка мобильных приложений и компьютерных игр

        • Аспирантура

        • Вечернее отделение

        • Другое

      • Воскресная компьютерная школа

        • Пользователь компьютера плюс

        • Пользователь прикладных программ

        • Программирование I ступень

        • Программирование II ступень

        • Программирование III ступень

        • Архив

      • Воскресная математическая школа

        • Открытое тестирование РНОМЦ и мехмата ЮФУ - 2025

        • Олимпиадная математическая школа

        • Повышение квалификации

        • Доступная математика

        • Лаборатория математического онлайн-образования мех...

        • Осенняя универсиада

        • Научно-практическая конференция

        • ВМШ

          • ВМШ - 24

        • Летняя олимпиадная математическая школа РНОМЦ и ме...

      • Государственная итоговая аттестация

      • Дополнительное образование

      • Олимпиады

      • Видеолекции

      • Разное

      • Архив курсов

      • Заочная школа мехмата ЮФУ

Служба поддержки сайта
Вы используете гостевой доступ (Вход)
Язык программирования C#
Сводка хранения данных
Скачать мобильное приложение Яндекс.Метрика