tehnologia (1018792), страница 26

Файл №1018792 tehnologia (Г.С. Иванова - Учебник - Технология программирования) 26 страницаtehnologia (1018792) страница 262017-07-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 26)

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

5.9.150Если стрелка, изображающая вызов, касается блока, то обращение происходит к модулюцеликом, а если входит в блок, то - к элементу внутри модуля.При необходимости на структурной карте можно уточнить особые условия вызова (рис.5.10): циклический вызов, условный вызов и однократный вызов - при повторном вызовеосновного модуля однократно вызываемый модуль не активизируется.Связи по данным и управлению обозначают стрелками, параллельными дуге вызова,направление стрелки указывает направление связи (рис.

5.11).Структурные карты Константина позволяют наглядно представить результатдекомпозиции программы на модули и оценить ее качество, т. е. соответствиерекомендациям структурного программирования (сцепление и связность).Пример 5.2. Представим в виде структурной карты Константайна полную структурнуюсхему, полученную в предыдущем примере (см. рис. 5.6).Подпрограммы Очистка окна,Выводпрямоугольника,Выводстроки текста, Вывод отрезка прямой,Задание цвета рисования и Заданиецветафонаявляютсячастьюбиблиотеки графических примитивовпрактическивлюбойсредепрограммированияуниверсальногоязыка, поэтому их включать вструктурную карту не будем.Для остальных подпрограммпокажем особые условия вызова итипы связей (рис.

5.12).151Модули Расчет значений функции, Вывод таблицы и Построение графика связаны сосновной программой по образцу, так как параметры X и Y структурные (массивы),следовательно программа считается сцепленной по образцу.Анализ показывает, что количество сцеплений по образцу в программе можноуменьшить, если подпрограмму Расчет значений функции перенести на следующий уровень(рис.

5.13). Однако в этом случае при смене вида результата таблица значений будетрассчитываться заново.Аналогично можно перенести подпрограмму Разбор функции на более низкий уровень ивызывать ее, например, из подпрограммы Расчет значений функции, но поскольку великавероятность многократного вычисления значений одной функции на разных интервалах, врядли это целесообразно.152После внесения соответствующих изменений в алгоритм следует определить полнуюспецификацию модулей.

Спецификация должна включать: имя, краткое описание назначения,перечень входных и выходных параметров с указанием типа и области допустимых входных ивыходных значений. Затем можно приступать к реализации модулей.В соответствии с требованиями нисходящей разработки (комбинированный подход)можно предложить следующий порядок реализации модулей:• Основная программа,• Вывод окна с текстом,• Вывод заголовка и меню,153• Разбор функции,• Вычисление значений функции,• Вывод таблицы,• Расчет значений функции,• Построение графика.Структурные карты Джексона будут рассмотрены вместе с предложенной им методикойпроектирования программ, основанной на декомпозиции данных в § 5.5.5.4.

Проектирование структур данныхПод проектированием структур данных понимают разработку их представлений впамяти. Основными параметрами, которые необходимо учитывать при проектированииструктур данных, являются:• вид хранимой информации каждого элемента данных;• связи элементов данных и вложенных структур;• время хранения данных структуры («время жизни»);• совокупность операций над элементами данных, вложенными структурами иструктурами в целом.Вид хранимой информации определяет тип соответствующего поля памяти. В качествеэлементов данных в зависимости от используемого языка программирования могутрассматриваться:• целые и вещественные числа различных форматов;• символы;• булевские значения: true и false;а также некоторые структурные типы данных, например:• строки;• записи;• специально объявленные классы.При этом для числовых полей очень важно правильно определить диапазон возможныхзначений, а для строковых данных - максимально возможную длину строки.Связи элементов и вложенных структур, а также неустойчивость и совокупностьопераций над элементами и вложенными структурами определяют структуры памяти,используемые для представления данных.

Время жизни учитывают при размещении данных встатической или динамической памяти, а также во внешней памяти.Рассмотрим существующие варианты внутреннего представления данных, их элементови связей между ними более подробно.Представление данных в оперативной памяти. Различают две базовые структурыорганизации данных в оперативной памяти: векторную и списковую.154Векторная структура представляет собойпоследовательность байт памяти, которыеиспользуются для размещения полей данных(рис. 5.14). Последовательное размещениеорганизованных структур данных позволяетосуществлять прямой доступ к элементам: поиндексу (совокупности индексов) - в массивахили строках или по имени поля - в записях илиобъектах.Однако выполнение операций добавления и удаления элементов при использованиивекторных структур для размещения элементов массивов может потребовать осуществлениямногократных сдвигов элементов.Структуры данных в векторном представлении можно размещать как в статической, таки в динамической памяти.

Расположение векторных представлений в динамической памятииногда позволяет существенно увеличить эффективность использования оперативной памяти.Желательно размещать в динамической памяти временные структуры, хранящиепромежуточные результаты, и структуры, размер которых сильно зависит от вводимых исходных данных.Списковые структуры строят из специальных элементов, включающих помимоинформационной части еще и один или несколько указателей - адресов элементов иливложенных структур, связанных с данным элементом.

Размещая подобные элементы вдинамической памяти можно организовывать различные внутренние структуры (рис. 5.15).155Однако при использовании списковых структур следует помнить, что:• для хранения указателей необходима дополнительная память;• поиск информации в линейных списках осуществляется последовательно, а потомутребует больше времени;• построение списков и выполнение операций над элементами данных, хранящихся всписках, требует более высокой квалификации программистов, более трудоемко, асоответствующие подпрограммы содержат больше ошибок и, следовательно, требуют болеетщательного тестирования.Обычно векторное представление используют для хранения статических множеств,таблиц (одномерных и многомерных), например, матриц, строк, записей, а также графов,представленных матрицей смежности, матрицей инцидентности или аналитически [55].Списковое представление удобно для хранения динамических (изменяемых) структур иструктур со сложными связями.В наиболее ответственных случаях при выборе внутреннего представления целесообразноопределять вычислительную сложность [24, 55] выполнения наиболее часто встречающихсяопераций со структурой данных или ее элементами для различных вариантов.

А такжеоценивать их емкостную сложность.Пример 5.3. Разработать внутреннее представление неориентированного графа, надкоторым в основном выполняют операции определения смежности вершин, определениявершин, смежных данной, и удаления вершины.В [27, 55] предложены 10 вариантов внутреннего представления неориентированногографа, приведенного на рис.

5.16, а. Причем представление в виде матрицы смежности (рис.5.16, б) использует табличный способ описания связности вершин. Комбинации векторови односвязных списков (рис. 5.16, в-г) реализуют аналитическое задание графа, а вектор исписок n-связных списков напрямую отображают связи вершин. Интересно также, чтоструктуры, изображенные на рис. 5.16. б, в и д, могут быть размещены в статической памяти.Для выбора структуры необходимы исследования. В табл. 5.2 приведены результатырасчета временной сложности указанных операций на уровне машинных команд в тактахмикропроцессора для каждого представления и емкостной сложности этих представлений.(Оценка временной сложности выполнялась по методике, предложенной в [27, 55].)Анализ результатов показывает, что, если число вершин n < 100, то с точки зренияуменьшения времени выполнения наиболее эффективное представление - массив списков.Если же существенно экономное использование оперативной памяти, то наиболееэффективное представление - массив динамических векторов.Представление данных во внешней памяти.

Характеристики

Тип файла
PDF-файл
Размер
7,85 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Учебник - Технология программирования
Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6458
Авторов
на СтудИзбе
304
Средний доход
с одного платного файла
Обучение Подробнее