Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы информатики, организации ЭВМ, вычислительных и информационных систем. Учебное пособие
.pdf
Вычислительный процесс, содержащий один или несколько
циклов, называется циклическим. По количеству выполнения циклы
делятся на
Циклы с определенным (заранее заданным) числом повторе-
ний;
Циклы с неопределенным числом повторений.
Количество повторений последних зависит от соблюдения некоторого условия, задающего необходимость выполнения цикла.
При этом условие может проверяться в начале цикла – тогда речь
идет о цикле с предусловием, или в конце – тогда это цикл с постусловием.
Зацикливание - неверно задано условие окончания цикла, кото-
рое всегда будет истинным – при этом тело цикла будет выполняться бесконечно.
Вспомогательный алгоритм (процедура) – алгоритм, ранее
разработанный и целиком используемый при алгоритмизации конкретной задачи. В некоторых случаях при наличии одинаковых последовательностей указаний (команд) для различных данных с целью сокращения записи также выделяют вспомогательный алго-
ритм.
Контрольные вопросы
1. Понятие алгоритма.
2. Свойства алгоритмов.
3. Правила построения алгоритмов.
4. Виды алгоритмов и их реализация.
5. Линейные, разветвляющиеся и циклические алгоритмы.
6. Подчиненные или вспомогательные алгоритмы.
1.6. Данные. Основные структуры данных [5]
Понятие информации и данных. Отличие информации от дан-
ных
Данные – это совокупность сведений, зафиксированных на
определенном носителе в форме, пригодной для постоянного хранения, передачи и обработки. Преобразование и обработка данных
позволяет получить информацию.
30

Информация – это результат преобразования и анализа данных. Отличие информации от данных состоит в том, что данные -
это фиксированные сведения о событиях и явлениях, которые хранятся на определенных носителях, а информация появляется в результате обработки данных при решении конкретных задач. Например, в базах данных хранятся различные данные, а по определенному запросу система управления базой данных выдает требуемую
информацию.
Отличие информации от данных состоит в том, что:
данные – это фиксированные сведения о событиях и явлени-
ях, которые хранятся на определенных носителях, а информация
появляется в результате обработки данных при решении конкретных задач, это носители информации, а не сама информация. Данные превращаются в информацию только тогда, когда ими заинте-
ресуется человек.
информацию можно измерять. Мера измерения содержа-
тельности информации связана с изменением степени неосведомленности получателя и основана на методах теории информации.
Человек извлекает информацию из данных, оценивает, анализирует
ее и по результатам анализа принимает то или иное решение.
Классификация структур данных
Структуры данных – это совокупность элементов данных и
отношений между ними. При этом под элементами данных может
подразумеваться как простое данное, так и структура данных. Под
отношениями между данными понимают функциональные связи
между ними и указатели на то, где находятся эти данные.
Можно указать ряд причин, поясняющих необходимость и
удобство организации данных в некоторую структуру:
Отражение в организации данных логики задач, объек-
тивно существующей взаимосвязи и взаимообусловленности между
данными;
Оптимизация последовательности обработки данных;
Неудобство использования большого количества одиноч-
ных данных, поскольку это ведет к необходимости использования
многих имен (идентификаторов).
Перечисленные причины приводят к тому, что в современных
языках и системах программирования резервируется широкий
31

спектр различных структур данных, и, помимо этого, предусматривается возможность создания структур, необходимых пользователю.
Графическое представление элемента структуры данных показано
на рис.1
Рис. 1 – Графическое представление элемента структуры данных
Существуют 3 уровня представления данных:
• абстрактный (математический) уровень – определяет ха-
рактер организованности структуры данных. Организованность
описывается математической моделью, состоящей из множества
элементов (значениями данных и отношениями между ними);
Логический уровень организации данных отражается в тек-
сте программы и определяет порядок обработки данных;
Физический уровень отображает информационный объект в
запоминающем устройстве ЭВМ в виде файлов;
Мы, занося информацию в компьютер, представляем ее в ка-
ком-то виде, который на наш взгляд упорядочивает данные и при-
дает им смысл. Машина отводит поле для поступающей информа-
ции и задает ей какой-то адрес. Таким образом получается, что мы
обрабатываем данные на логическом уровне, как бы абстрактно, а
машина делает это на физическом уровне. Последовательность пе-
реходов от логической организации к физической показана на рис.2.
32

Рис. 2 – Последовательность переходов от логической
организации к физической
Структурирование данных предполагает существование (или
установление) между ними каких-то отношений (связей). В зависи-
мости от характера этих отношений можно выделить несколь-
ко классификационных признаков структур данных:
Отношение порядка;
Однородность;
Характер отношений между элементами.
Сначала рассмотрим отношение порядка. Структуры данных
делятся на упорядоченные и неупорядоченные. В упорядоченных
структурах элементы размещаются по порядку в соответствии со
значением некоторого признака. Наиболее простым признаком является порядковый номер элемента; установление порядка в соответствии с номером называется нумерацией. При этом если весь
набор элементарных данных имеет общий идентификатор (напри-
мер, M), то отдельным данным присваиваются собственные идентификаторы – индексы (например, или ). Вообще, в качестве
индекса может выступать любой знак из конечного алфавита. Лексикографический порядок индексов определяет отношение следования между элементами структуры, состоящей из элементарных
данных, то есть элемент следует после , а элемент следует
33

после . Примером структур, в которых упорядочение произво-
дится по номеру элемента, являются массивы.
Порядковый номер элемента данных можно считать внешним
признаком этого элемента, который может присваиваться элементу
независимо от значения элемента. Например, регистрационный номер документа определяется только временем его поступления в
учреждение, а не его содержанием. Помимо нумерации в структу-
рах данных используется упорядочение по значению некоторого
внутреннего признака, например, размещение фамилий в алфавитном порядке или предприятий в порядке убывания их рентабельно-
сти – такое упорядочение называется ранжированием.
Примером неупорядоченных структур являются множества –
в них не определен порядок элементов; единственное, что можно
установить в этом случае для каких-то конкретных данных, так это
их принадлежность (или непринадлежность) выбранному множе-
ству.
Следующим классификационным признаком структур данных
является однородность. К однородным относятся структуры, содержащие элементарные данные только одного типа. Неоднородные
структуры объединяют данные разных типов. Примерами однородных структур являются массивы, множества, стеки. Примером
неоднородных структур могут служить записи.
Еще одним классификационным признаком структур данных
является характер отношений между элементами. По взаимной под-
чиненности элементов структуры данных подразделяются на ли-
нейные и нелинейные. В линейных структурах все элементы равно-
правны. К таким структурам относятся массив, множество, стек,
очередь. В нелинейных структурах между элементами существуют
отношения подчиненности или они могут быть связаны логическими условиями. В качестве примеров нелинейных структур можно
привести деревья, графы.
Далее рассмотрим и охарактеризуем некоторые структуры
данных: массив, стек, очередь, дерево, граф.
Массив. Упорядоченная линейная совокупность однородных
данных называется массивом. Пример одномерного массива показан на рис. 3
34

Рис. 3 – Пример одномерного массива
Примеры двумерных массивов показаны на рис. 4
Рис. 4 – Примеры двумерных массивов
Комментарии к определению:
Термин «упорядоченная» здесь означает, что элементы мас-
сива пронумерованы;
Термин «линейная» свидетельствует о равноправности всех
элементов массива;
Термин «однородных» подчеркивает следующее: в том слу-
чае, когда массив формируется из элементарных данных, это могут
быть данные лишь одного типа, например, массив вещественных
чисел или массив символов; если же элементами массива окажутся
сложные (структурные) данные, например, массив массивов – в
этом случае «однородных» означает, что все массивы, являющиеся
элементами сложного массива, должны иметь одинаковую структу-
ру и размер.
Размерность массива – это количество индексов (сам индекс
– величина переменная), определяющих положение элемента в массиве.
Так, если индекс единственный, массив называет-
ся одномерным. Часто такой массив называют вектором, строкой
или столбцом. Массив, элементы которого имеют два индекса,
называется двумерным или матрицей. Массивы с тремя индексами
называются трехмерными, с четырьмя – четырехмернымии так
далее Максимальная мерность массива либо может быть ограничена
синтаксисом языка программирования, либо может не иметь такого
ограничения.
35

Размер массива – это максимальные значения индексов элементов. Размер массива указывается в блоке описания программы;
Существуют символьные массивы – они называются строка-
ми или строковыми данными. С ними возможен целый набор операций, неопределенных для одиночных символьных данных: опера-
ция конкатенации (объединения) строк с формированием новой
строки, операция замещения части строки, определения числовых
(количественных) характеристик строки.
Стек. Существует структура данных, в которой элемент, по-
мещенный в нее первым, выходит последним, и наоборот, тот эле-
мент, который последним входит, выходит первым (рис. 5). Такая
структура данных получила название стек (или магазин – по сход-
ству с магазином стрелкового оружия). «Стек» на английском озна-
чает «стопка».
Рис. 5 – Стек
Эти структуры реализуются в виде специальным образом организованных областей ОЗУ компьютера. Часто стек называют па-
мятью типа LIFO (Last-InFirst-Out). В стеке ячейки памяти (или ре-
гистры стековой памяти) соединяются друг с другом таким образом,
что занесение данных в стек возможно только через первую ячейку
(вершину стека), при этом содержимое остальных ячеек сдвигается
вниз, по направлению к дну стека по мере его заполнения. Извлекаться первым будет содержимое ячейки, которая была заполнена
последней – то есть ячейки, ближайшей к вершине стека.
Стек – это упорядоченная структура равноправных данных,
поэтому стек является линейной структурой данных. В ячейках сте-
ка могут содержаться данные разных типов, поэтому стек – структура в общем случае неоднородная.
Очередь. Отличие очереди от стека в том, что извлечение ин-
формации из очереди производится по принципу «первым вошел –
36

первым вышел», то есть со дна структуры. Извлекается первым со-
3-й уровень
2-й уровень
1-й уровень
Корень
.
Лист 1 Лист 2
.
Лист 3
держимое той ячейки, которая была заполнена первая (рис. 6).
Рис. 6 – Очередь
Способы организации данных в виде стека и очереди оказываются удобными, например, при работе с подпрограммами в слож-
ных программах.
Дерево. Дерево или иерархия являются примером нелинейной
структуры. В ней элемент каждого уровня (за исключением самого
верхнего) входит в один и только один элемент более высокого
уровня. Элемент самого высокого уровня называется корнем, а эле-
менты самых нижних уровней называются листьями (рис. 7):
Рис. 7 – Дерево (Иерархия)
Отдельные элементы иерархической структуры могут быть как
однородными, так и неоднородными. Примером иерархической
37

структуры организации данных может служить файловая структура
в запоминающих устройствах компьютера.
Граф. Часто отношения между данными представляются в ви-
де графа– совокупности точек и линий, причем каждая линия со-
единяет две точки. Точка получает смысл элемента структуры (дан-
ных), а линии – смысл отношения между элементами.
Точки называются вершинами графа, линии называются реб-
рами графа. Ребро, соединяющее две конкретные вершины, называ-
ется инцидентным этим вершинам, а сами эти вершины называют-
ся смежными; причем они инцидентны этому ребру.
Число ребер, инцидентных вершине, называется степенью
вершины.
Если два ребра инцидентны одной и той же паре вершин, то
эти ребра называются кратными.
Ребро, у которого совпадают обе вершины, называет-
ся петлей.
Граф задается списком вершин и списком ребер, в котором для
каждого ребра указывается пара инцидентных для него вершин.
Например, для графа на рис. 8: список вершин {1,2,3,4}; список
ребер: a(1,2), b(1,4), c(2,4), d(2,3), e(3,4), f(2,3), g(4,4); смежные пары
вершин:(2,3), (2,4), (1,2), (1,4), (3,4); ребро g является петлей; ребра
d и f– кратные; степени вершин 2 и 4 равны 4; степень вершины 3
равна 3; вершины 1 – равна 2.
Рис. 8 – Неориентированный граф
Ребро, соединяющее вершины, может иметь направление – тогда это ребро называется ориентированными изображается стрелкой (рис. 9).
38

Граф, в котором все ребра ориентированные, называет-
ся ориентированным; ребра ориентированного графа называются
дугами.
Дуги называются кратными, если они соединяют одни и те же
вершины и совпадают по направлению. При обозначении дуги всегда первой указывается вершина, из которой дуга начинается,
например, (2,3) на рис. 9.
Рис. 9 – Ориентированный граф
Маршрут – это последовательность ребер, в которой конец
предыдущего ребра совпадает с началом следующего ребра. Маршрут, в котором конечная вершина совпадает с начальной, называет-
ся циклом.
Граф называется связным, если между любыми двумя его
вершинами имеется маршрут. Граф является упорядоченной, нели-
нейной, неоднородной структурой.
Понятие графа, благодаря наглядности и высокой общности в
информатике выступает в качестве основного средства описания
структур данных, систем, порядка выполнения действий. Примером
графа может служить блок-схема программы.
1.7. Алгебра логики. Основные понятия и принципы [6]
Алгебра логики (алгебра высказываний) — раздел математиче-
ской логики, в котором изучаются логические операции
над высказываниями. Чаще всего предполагается, что высказывания
могут быть только истинными или ложными, то есть используется
39
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
