русс | укр

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

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Конспект лекций


Дата добавления: 2014-02-04; просмотров: 1208; Нарушение авторских прав


Контрольные задания

Выполнение контрольных заданий

Контрольные вопросы и упражнения

Представление стека в виде списка

В виде списка удобно хранить стек с элементами переменной длины или трудно предсказуемым количеством элементов. Вершина стека размещается в начале списка, где выполнять операции включения и исключения элемента проще, чем в конце (рис. 19.5).

 

Рис. 19.5 Стек в виде списка

 

 

1. Что такое стек?

2. Как можно хранить стек?

3. Опишите стек, состоящий из целых чисел, в виде списка. Опишите отдельные функции вталкивания элемента в стек и выталкивания элемента из стека. Приведите примеры их вызова.

 

 

 

1. Получите у преподавателя индивидуальное задание.

2. Составьте программу на языке С и подберите тесты для проверки программы на компьютере.

3. Отладьте программу на компьютере.

5. Оформите и сдайте отчет.

 

1. Дано арифметическое выражение длиной до 20 символов, оканчивающееся пробелом. Выражение содержит однобуквенные идентификаторы и знаки операций +, -, *, /. Преобразовать выражение в обратную польскую запись, используя стек операций и приоритетов.

Пример.

Вх. текст: a*b+c/d-e

Результат: ab*cd/+e-

 

2. Дано арифметическое выражение в постфиксной (обратной польской) записи длиной до 20 символов, оканчивающееся пробелом. Получить эквивалентную последовательность элементарных присваиваний, содержащих одну арифметическую операцию (используя стек операндов).

 

а) В левой части операторов присваивания использовать вспомогательные переменные R1,R2,R3,...

Пример.

Вх. текст: abc*+def+/-

Результат: R1:=b*c

R2:=a+R1

R3:=e+f

R4:=d/R3

R5:=R2-R4

б) В левой части операторов присваивания использовать вспомогательные переменные R1,R2,R3,..., сократив до минимума число этих переменных.



Пример.

Вх. текст: abc*+def+/-

Результат: R1:=b*c

R1:=a+R1

R2:=e+f

R2:=d/R2

R2:=R1-R2

 

3. Дано арифметическое выражение длиной до 30 символов, оканчивающееся знаком равенства. Выражение содержит знаки операций +, -, *, / и однозначные целые числа и представлено в обратной польской записи. Вычислить значение выражения, используя стек операндов.

Пример.

Вх. текст: 345+2*63/-+= 19

результат

 

4. Дано скобочное выражение длиной до 50 символов, оканчивающееся пробелом. Напечатать попарно порядковые номера соответствующих открывающих и закрывающих скобок в выражении.

Пример.

1 4 8 10 14 19 27

Вх. текст: (a+(b+c)/(a-b)*(x+(y+2)**3))/2

Результат: 4 8

10 14

19 23

16 27

1 28

 

Указание. Для запоминания номеров открывающих скобок использовать стек.

 

5. Дана последовательность чисел, оканчивающаяся нулем.

а) Напечатать только отрицательные числа из этой последовательности, причем, если подряд идет несколько отрицательных чисел, печатать их в обратном порядке. Например:

Вх. последовательность: 5 -1 -20 -8 10 14 -3 5 -2 -13 -7 0

Результат: -8 -20 -1 -3 -7 -13 -2

Указание. Последовательность подряд расположенных отрицательных чисел помещать в стек.

 

б) Напечатать только положительные числа из этой последовательности, причем, если подряд идет несколько положительных чисел, печатать их в обратном порядке. Например:

Вх. последовательность: -2 5 10 20 15 -4 -6 2 -10 3 1 4 -5 0

Результат: 15 20 10 5 2 4 1 3

Указание. Последовательность подряд расположенных положительных чисел помещать в стек.

 

6. Дана последовательность из n слов (n<=20) в алфавитном порядке. Длина каждого слова не более 10 букв. Напечатать слова, начинающиеся с одной и той же буквы в обратном порядке, используя стек. Например:

Вх. последовательность: Результат:

Август апрель

Апрель август

Май море

Март март

Море май

Лето лето

 

 

Часть 1
Оглавление

 

Оглавление. 2

Введение. 4

1. Этапы и проблемы решения задач с использованием компьютера. 4

2. Общие сведения о языке программирования C++ и системе программирования. 4

2.1. История создания языка C++. 4

2.2. Краткая характеристика языка C++. 5

Алфавит языка. 5

Ключевые слова. 6

Идентификаторы.. 6

Знаки операций. 7

Константы.. 7

Комментарии. 7

2.3. Структура и основные элементы программы.. 7

2.4. Трансляция программ и их выполнение. 9

3. Стандартные (базовые) типы данных, операции и выражения. 11

3.1. Типы данных, переменные и константы.. 12

Понятие типов данных. 12

Классификация простых предопределенных типов данных. 13

Переменные, константы.. 13

3.2. Целочисленные типы данных. 15

3.3. Вещественные типы данных. 16

3.4. Логический тип данных. 17

3.5. Символьный тип данных. 17

3.6. Операции и выражения. 19

Преобразования типов данных. 21

Операция присваивания. 24

Арифметические операции. 26

Операции отношения. 30

Логические операции. 30

Поразрядные (битовые) операции. 31

Операции составного присваивания. 35

Условная операция. 36

Операция sizeof 36

Приоритеты рассмотренных операций. 37

3.7. Ввод и вывод простых типов данных. 38

Вывод текстовых строк. 39

Ввод/вывод арифметических типов данных. 41

Форматирование ввода / вывода. 42

4. Основные управляющие структуры программирования и управляющие конструкции в языке С++ 49

4.1. Идеи структурного программирования. 49

4.2. Управляющие структуры и инструкции языка C++. 52

Условная инструкция (if) 52

Инструкция множественного выбора (switch) 56

Цикл с предусловием (while) 57

Цикл с постусловием (do while) 60

Итерационный цикл (for) 61

Инструкции перехода. 63

5. Приемы программирования циклов. 65

5.1. Рекуррентные вычисления. 65

5.2. Инвариант цикла. 69

6. Массивы и указатели. 71

6.1. Понятие массива. 71

6.2. Объявление массивов. 72

Объявление одномерных массивов. 72

Объявление многомерных массивов. 73

6.3. Ввод-вывод массивов. 75

Вывод массивов. 75

Ввод массивов. 75

6.4. Текстовые строки как массивы символов. 77

Определение текстовой строки. 77

Ввод текстовых строк с клавиатуры.. 78

Обработка текстовых строк. 80

Массивы текстовых строк. 81

7. Разработка программ при работе с массивами. 82




<== предыдущая лекция | следующая лекция ==>
Представление стека в виде вектора | Этапы и проблемы решения задач с использованием компьютера


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.179 сек.