Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы информатики, организации ЭВМ, вычислительных и информационных систем. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
Вычислительный процесс, содержащий один или несколько
циклов, называется циклическим. По количеству выполнения циклы делятся на
Циклы с определенным (заранее заданным) числом повторе-
ний;
Циклы с неопределенным числом повторений.
Количество повторений последних зависит от соблюдения не­которого условия, задающего необходимость выполнения цикла.
При этом условие может проверяться в начале цикла – тогда речь идет о цикле с предусловием, или в конце – тогда это цикл с посту­словием.
Зацикливание - неверно задано условие окончания цикла, кото- рое всегда будет истинным – при этом тело цикла будет выполнять­ся бесконечно.
Вспомогательный алгоритм (процедура) – алгоритм, ранее
разработанный и целиком используемый при алгоритмизации кон­кретной задачи. В некоторых случаях при наличии одинаковых по­следовательностей указаний (команд) для различных данных с це­лью сокращения записи также выделяют вспомогательный алго-
ритм.
Контрольные вопросы
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]