GithubHelp home page GithubHelp logo

luzinsan / siaod_1_formulas_and_stack Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 9 KB

1-я лабораторная работа по Структурам и алгоритмам обработки данных в ЭВМ. Реализует подсчёт формулы нахождения максимального и минимального элемента из двух заданных ЦИФР. Применяется структура Stack, написанная с использованием символьного массива. Основные функции стека написаны преподавателем (Pop(), Push(), Top(), IsEmpty()). Программа работает с файлом и считывает данные. Результат записывается в другой файл.

C++ 100.00%
stack tusur dpsaaiec semester-3 course-2

siaod_1_formulas_and_stack's Introduction

formulas_and_stack

Стек на статическом массиве

1-я лабораторная работа по Структурам и алгоритмам обработки данных в ЭВМ. 
Реализует подсчёт формулы нахождения максимального и минимального элемента из двух заданных ЦИФР.
Применяется структура Stack, написанная с использованием символьного массива. 
Основные функции стека написаны преподавателем (Pop(), Push(), Top(), IsEmpty()). 
Программа работает с файлом и считывает данные. Результат записывается в другой файл. 
  • Задание.

    Используя стек, решить следующую задачу. 
    В текстовом файле F записана без ошибок формула следующего вида:
    
    • <формула> ::= <цифра> | М(<формула>, <формула>) | m(<формула>, <формула>)
    • <цифра> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9,
    где М обозначает функцию max, а m - min. 
    Вычислить как целое число значение данной формулы. 
    Например, М(M(4,5),m(6,M(8,3))). Для реализации АТД Стек использовать массив.
    
  • Алгоритм решения задачи

  1. Считать символ из файла;
  2. В соответствии с функцией (M или m), вызвать данную функцию;
  3. Продолжать вызывать функцию рекуррентно, пока не встретим цифру;
  4. Как только встретили цифру, положить её в стек;
  5. Имея как минимум две цифры в стеке и встретив символ завершения перечисления параметров ‘)’, вынимаем два числа из стека;
  6. В соответствии с функцией сравниваем полученные два числа;
  7. Результат сравнения заносим обратно в стек;
  8. Выходим из функции и продолжаем пункт 3 до тех пор, пока не закончатся все символы завершения перечисления параметров ‘)’.
  • Программная реализация
    • Последовательность действий при программной реализации:
  1. Задать массив необходимого типа и размера, на котором будет реализована структура данных типа стек.
  2. Реализовать алгоритм решения поставленной задачи.
  3. Реализовать основные функции работы со стеком (Push, Pop, IsEmpty, Top).
  4. Реализовать в главной функции корректное считывание данных из файла;
  5. Реализовать функции нахождения минимума и максимума между двумя цифрами (M, m).

siaod_1_formulas_and_stack's People

Contributors

luzinsan avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.