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

{

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

}


 

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

12185. Расположение компонентов в ПК 297.4 KB
  Лабораторная работа № 11 Расположение компонентов в ПК. 1. Цель работы Изучение расположения компонентов в ПК и их назначение. 2. Теоретические сведения Компоненты компьютера Если вы пользуетесь настольным компьютером то наверное уже знаете что не существует о
12186. Мониторинг работоспособности материнской платы 41.91 KB
  Лабораторная работа № 17 Мониторинг работоспособности материнской платы 1. Цель работы Научиться диагностировать работоспособность системной платы 2. Теоретические сведения SpeedFan мощная утилита мониторинга Задача мониторинга критически важных параметров р
12187. СИРОВИННІ МАТЕРІАЛИ МАРТЕНІВСЬКОГО ВИРОБНИЦТВА 1.09 MB
  1 СИРОВИННІ МАТЕРІАЛИ МАРТЕНІВСЬКОГО ВИРОБНИЦТВА Шихтові матеріали поділяються на металеві і неметалічні. До металевої частини шихти відносяться: чавун брухт розкислювачі і легуючі добавки; до неметалічної залізна і марганцева руда окалина агломерат вапняк і ва...
12188. ОСОБЛИВОСТІ ПОБУДОВИ ЗЛИВКІВ СПОКІЙНОЇ, КИПЛЯЧОЇ ТА НАПІВСПОКІЙНОЇ СТАЛЕЙ 797.5 KB
  ОСОБЛИВОСТІ ПОБУДОВИ ЗЛИВКІВ СПОКІЙНОЇ КИПЛЯЧОЇ ТА НАПІВСПОКІЙНОЇ СТАЛЕЙ Особливості побудови зливка спокійної сталі Звичайна структура зливка спокійної сталі рис. 7.1 характеризується наступними основними зонами. Зона 1. Тонкий поверхневий шар що утвор
12189. ВИЗНАЧЕННЯ ВМІСТУ ВУГЛЕЦЮ В СТАЛІ ЗА ДОПОМОГОЮ КАРБОМЕТРУ ALPHA 1.03 MB
  ВИЗНАЧЕННЯ ВМІСТУ ВУГЛЕЦЮ в СТАЛІ ЗА ДОПОМОГОЮ карбометру ALPHA Ціль роботи: вивчити методи контролю вмісту вуглецю в сталі; освоїти один з фізичних методів визначення вуглецю в сталі. Теоретичне введення Перед проведенням лабораторної роботи студент зобовя
12190. ХРОНОМЕТРАЖ ПЛАВКИ В СТАЛЕПЛАВИЛЬНОМУ АГРЕГАТІ 31.5 KB
  ХРОНОМЕТРАЖ ПЛАВКИ В СТАЛЕПЛАВИЛЬНОМУ АГРЕГАТІ Мета роботи: 1. Вивчити конструкцію сталеплавильного агрегату. 2. Ознайомитись з організацією робіт сталеплавильного агрегату. 3. Вивчити технологію плавки в сталеплавильному агрегаті. Перед проведенням ла...
12191. Определение порядка реакции по мурексиду и ката¬лизатору (кислоте) 282.69 KB
  Цель работы: определение порядка реакции по мурексиду и катализатору кислоте; определение константы диссоциации слабой кислоты путем кинетических измерений. Схема установки Рис. 1. Общий вид прибора где 1 узел светофильтров 2 узел кюветодержателя 3 и
12192. Ознакомиться с оптическим методом изучения кинетики реакции; определить порядок реакции по сахару к катализатору 151 KB
  Цель работы: ознакомиться с оптическим методом изучения кинетики реакции; определить порядок реакции по сахару к катализатору; определить среднюю константу скорости. Схема установки Рис. 1. Схема поляриметра где 1 источник света 2 светофильтр 34 поляр
12193. Определить частные и общий кинетический порядок реакции 31.15 KB
  Цель работы: определить частные и общий кинетический порядок реакции Fe3I→Fe2I Рабочие формулы где: n1 частный порядок реакции по ионам железа n2 частный порядок реакции по йодидионам где: n общий порядок реакции. Таблица 1 Экспериментальны