46221

Стек

Доклад

Информатика, кибернетика и программирование

Типичный пример модуля определение стека. Здесь необходимо решить такие задачи: Предоставить пользователю интерфейс для стека например функции push и pop. Гарантировать что представление стека например в виде массива элементов будет доступно лишь через интерфейс пользователя. Обеспечивать инициализацию стека перед первым его использованием.

Русский

2013-11-20

14.63 KB

0 чел.

Вопрос7. Стек

Со временем при в проектировании программ акцент сместился с организации процедур на

организацию структур данных.  Помимо всего прочего это вызвано и ростом размеров программ.

Модулем обычно называют совокупность связанных процедур и тех данных, которыми они управляют.

Парадигма программирования приобрела вид:

Определите, какие модули нужны; поделите программу так, чтобы данные были скрыты в этих модулях

Эта парадигма известна также как  "принцип сокрытия данных".  Если в языке нет возможности

сгруппировать связанные процедуры вместе с данными,  то он плохо поддерживает модульный стиль

программирования. Теперь метод написания "хороших" процедур применяется для отдельных процедур

модуля. Типичный пример модуля - определение стека. Здесь необходимо решить такие задачи:

[1]  Предоставить пользователю интерфейс для стека (например, функции push () и pop ()).

[2]  Гарантировать, что представление стека (например, в виде массива элементов) будет доступно

лишь через интерфейс пользователя.

[3]  Обеспечивать инициализацию стека перед первым его использованием.

Использовать стек можно так:

#include "stack.h"  // используем интерфейс стека

void some_function ()

{

push ( 'c' );

char c = pop ();

if ( c != 'c' )  error ( "невозможно" );

}

Допустим,  что описание интерфейса находится в файле stack.h,  тогда реализацию стека можно

определить следующим образом:

#include "stack.h"  // используем интерфейс стека

static char v [ stack_size ];     // ``static'' означает локальный

                                                   // в данном файле/модуле

static char * p = v;  // стек вначале пуст

void push ( char c )

{

//проверить на переполнение и поместить в стек

}

char pop ()

{

//проверить, не пуст ли стек, и считать из него

}


 

А также другие работы, которые могут Вас заинтересовать

85683. Ребристое перекрытие многоэтажных гражданских и промышленных зданий 3.49 MB
  Выбор рационального варианта производят на основании сравнения технико-экономических показателей перекрытия в зависимости от назначения здания, конструктивных размеров, архитектурного оформления потолка, размеров помещений, эксплуатационных требований...
85686. Планирование производственной программы механического цеха машиностроительного завода 956 KB
  В курсовом проекте приведен комплекс расчетов по планированию производственной деятельности механического цеха машиностроительного предприятия. В задачи курсового проекта входят определения стоимости основных фондов цеха, составление калькуляции себестоимости единицы продукции...
85687. Проект участка магистральной улицы 232.5 KB
  Проезжая часть улиц должна обеспечивать пропуск транспортных потоков расчетной интенсивности. Поэтому необходимое число полос движения при многополосной проезжей части рассчитывают с учетом пропускной способности одной полосы через интенсивность приведенного транспортного потока.
85688. Иерархия нормативных правовых актов Российской Федерации 209 KB
  Целью настоящей работы является выявление и разрешение проблем связанных с иерархическим построением нормативных правовых актов в Российской Федерации. Для достижения указанной цели были поставлены следующие задачи: Раскрыть понятие и значение иерархии нормативных правовых актов...
85689. Стабилизатор тока 744.89 KB
  Потребителями электроэнергии постоянного тока в диапазоне мощностей, характерных для транзисторных преобразователей, являются электронная аппаратура всевозможного функционального назначения, маломощный электропривод, аккумуляторные батареи.
85690. Анализ финансового состояния «ООО Дракон» 1.19 MB
  Бухгалтерский баланс является важнейшим источником информации о финансовом положении предприятия на отчетную дату. Он позволяет определить состав и структуру имущества предприятия ликвидность и оборачиваемость оборотных активов. Наличие собственного капитала и текущих обязательств, состояние и динамику...
85691. ПРОЕКТИРОВАНИЕ РАЙОННОЙ ЭЛЕКТРИЧЕСКОЙ СЕТИ 220/110 КВ 2.67 MB
  В нормальных режимах работы ЭП первой категории должны обеспечиваться электрической энергией от двух независимых взаимно резервирующих источников питания. Перерыв в электроснабжении ЭП первой категории может быть допущен лишь на время автоматического восстановления питания.