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 ()

{

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

}


 

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

60850. Описание типологии MBTI 88.5 KB
  ТЕОРЕТИЧЕСКАЯ ОСНОВА Основой тестирования служит классификация Карла Юнга разделившего в 1920 г различные группы людей по основным архетипам совокупности инстинктов. Отличия между людьми можно в очень обобщенном виде свести к следующим противопоставлениям: экстраверты интроверты: первые черпают энергию в общении с людьми могут поддержать любую беседу воспринимают информацию по мере поступления контактны; вторые нуждаются в уединении для обработки информации хотя чисто внешне они могут не иметь видимых проблем в общении;...
60851. Быт и традиции древних греков 34.5 KB
  Для решения учебных задач урока для усвоения новой темы применяется метод опережающего обучения и работа в группах. Метод применяемый на данном этапе – объяснительно – иллюстративный. Для закрепления теоретического материала учащиеся получают творческое задание: Считаете ли Вы спартанское воспитание образцовым Используется модельный метод обучения в группах что позволяет трансформировать полученные теоретические знания на получение практических навыков.
60852. Описания типов по Тайгеру 173.5 KB
  Первое место среди их приоритетов занимают взаимоотношения с людьми забота о других. Их интересуют не только очевидные явления но и их возможные последствия а также то в какой мере эти последствия могут отразиться на других людях. Чрезвычайно организованные по натуре ENFJ предпочитают жить в упорядоченном мире и ожидают того же от других. Они хорошо разбираются в людях отличаются чувством ответственности и заботы о других.
60853. Складывание рыбки в технике оригами 63.5 KB
  Кто знает откуда к нам пришло искусство оригами из Японии Что такое оригами искусство складывания бумаги А кто уже умеет складывать какие-нибудь фигурки из оригами самостоятельно Какие III.
60855. Осенний бал 42.5 KB
  Я буду читать сценарий называть персонажей у кого в открытке указана эта роль пожалуйте на сцену Итак: камера мотор начали Буффонада: Снимается кино Читает вызывая по одному участников постановки и заставляя их входить в образ...
60856. Эпоха Екатерины II 65.5 KB
  ЦЕЛЬ: охарактеризовать внутреннее и внешнее развитие Российской империи в период правления Екатерины II рассмотреть причины ход и последствия восстания Пугачёва; развивать умение работать с учебником историческими документами...