Стивен Прата - Язык программирования C. Лекции и упражнения (6-е изд.) 2015

Тут можно читать онлайн Стивен Прата - Язык программирования C. Лекции и упражнения (6-е изд.) 2015 - бесплатно полную версию книги (целиком) без сокращений. Жанр: Прочая старинная литература, издательство Вильямс, год 0101. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Стивен Прата - Язык программирования C. Лекции и упражнения (6-е изд.) 2015 краткое содержание

Язык программирования C. Лекции и упражнения (6-е изд.) 2015 - описание и краткое содержание, автор Стивен Прата, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Язык программирования C. Лекции и упражнения (6-е изд.) 2015 - читать онлайн бесплатно полную версию (весь текст целиком)

Язык программирования C. Лекции и упражнения (6-е изд.) 2015 - читать книгу онлайн бесплатно, автор Стивен Прата
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Полный код для моделирования консультационного киоска в торговом центре представлен в листинге 17.9. В соответствие с методом, предложенным в главе 12, для генерации случайных значений применяются стандартные функции rand(), srand() и time(). Чтобы можно было использовать программу, обновите определение типа Item в файле queue.h следующим образом:

typedef struct item

{

long arrive; // время присоединения клиента к очереди

int processtime; // желаемое количество минут консультации

} Item;

Не забудьте также выполнить компоновку mall.с с queue.с.

Листинг 17.9. Программа mall.с

758 глава 17 Расширенное представление данных Программ - фото 565

758 глава 17

Расширенное представление данных Программа позволяет указывать количество часов - фото 566

Расширенное представление данных Программа позволяет указывать количество часов - фото 567 Расширенное представление данных Программа позволяет указывать количество часов - фото 568

Расширенное представление данных

Программа позволяет указывать количество часов моделирования и среднее число клиентов, обращающихся за консультацией в течение часа. Выбор большого количества часов моделирования обеспечит получение довольно точных средних значений, тогда как малое количество часов дает своего рода случайную вариацию, которая может иметь место от часа к часу. Эти моменты демонстрируют показанные ниже результаты пробных запусков. Обратите внимание, что средние значения длины очереди и времени ожидания для 80 часов и для 800 часов почти совпадают, но результаты двух одночасовых выборок существенно отличаются как друг от друга, так и от средних значений для более длительных периодов. Это обусловлено тем, что меньшие статистические выборки характеризуются большими относительными вариациями.

Учебный пример: консультационный киоск Зигмунда Ландера Введите длительность моделирования в часах:

80

Введите среднее количество клиентов, прибывающих за час:

20

принятых клиентов: 1633 обслуженных клиентов: 1633 отказов: О

средняя длина очереди: 0.46 среднее время ожидания: 1.35 мин

Учебный пример: консультационный киоск Зигмунда Ландера Введите длительность моделирования в часах:

800

Введите среднее количество клиентов, прибывающих за час:

20

принятых клиентов: 16020 обслуженных клиентов: 16019 отказов: О

средняя длина очереди: 0.44 среднее время ожидания: 1.32 мин

Учебный пример: консультационный киоск Зигмунда Ландера

760 глава 17

Введите длительность моделирования в часах:

1

Введите среднее количество клиентов, прибывающих за час:

20

принятых клиентов: 20 обслуженных клиентов: 20 отказов: О

средняя длина очереди: 0.23 среднее время ожидания: 0.70 мин

Учебный пример: консультационный киоск Зигмунда Ландера Введите длительность моделирования в часах:

1

Введите среднее количество клиентов, прибывающих за час:

20

принятых клиентов: 22 обслуженных клиентов: 22 отказов: 0

средняя длина очереди: 0.75 среднее время ожидания: 2.05 мин

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

Учебный пример: консультационный киоск Зигмунда Ландера Введите длительность моделирования в часах:

ВО

Введите среднее количество клиентов, прибывающих за час:

25

принятых клиентов: 1960 обслуженных клиентов: 1959 отказов: 3

средняя длина очереди: 1.43 среднее время ожидания: 3.50 мин

Учебный пример: консультационный киоск Зигмунда Ландера Введите длительность моделирования в часах:

ВО

Введите среднее количество клиентов, прибывающих за час:

30

принятых клиентов: 2376 обслуженных клиентов: 2373 отказов: 94

средняя длина очереди: 5.85 среднее время ожидания: 11.83 мин

Обратите внимание на резкое возрастание среднего времени ожидания с увеличением частоты прибытия клиентов. Среднее время ожидания при 20 клиентах в час (80-часовое моделирование) составило 1,35 минуты. Это значение возрастает до 3,5 минуты при 25 клиентах в час и до 11,83 минуты при 30 клиентах в час. Кроме того, количество отказов возрастает от 0 до 3 и до 94 соответственно. Зигмунд мог бы воспользоваться подобным анализом для принятия решения о необходимости открытия второго киоска.

Расширенное представление данных 761

Сравнение связного списка и массива

Многие задачи программирования, такие как создание списка или очереди, могут решаться с помощью связного списка, под которым мы понимаем связанную последовательность динамически выделяемых структур, или посредством массива. Каждая форма обладает преимуществами и недостатками, поэтому выбор между ними зависит от конкретных требований задачи. Основные характеристики связных списков и массивов приведены в табл. 17.1.

Таблица 17.1. Сравнение массивов и связных списков

Давайте более пристально взглянем на процесс вставки и удаления элементов Для - фото 569

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

Теперь посмотрим, как получить доступ к элементам списка. В массиве для непосредственного обращения к любому элементу можно применять индекс массива. Это называется произвольным доступом. В связном списке необходимо начинать с начала списка и затем переходить от узла к узлу до тех пор, пока не будет достигнут желаемый узел; это называется n о еле д овател ън ым доступом.

Рис 1 79 Вспшвка элемента в массив глава 17 Последовательный доступ - фото 570

Рис. 1 7.9. Вспшвка элемента в массив

картинка 571 картинка 572

глава 17

Последовательный доступ может быть также реализован и в массиве. Для упорядоченного перемещения по массиву достаточно инкрементировать его индекс. В одних ситуациях последовательного доступа вполне достаточно. Например, если требуется отобразить каждый элемент в списке, то последовательный доступ прекрасно подойдет В других ситуациях, как будет показано далее, наличие произвольного доступа дает огромное преимущество.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Стивен Прата читать все книги автора по порядку

Стивен Прата - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Язык программирования C. Лекции и упражнения (6-е изд.) 2015 отзывы


Отзывы читателей о книге Язык программирования C. Лекции и упражнения (6-е изд.) 2015, автор: Стивен Прата. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x