Конспект лекций Губарь (Конспект лекций "Начальный курс информатики" А.М.Губарь), страница 6
Описание файла
PDF-файл из архива "Конспект лекций "Начальный курс информатики" А.М.Губарь", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 6 страницы из PDF
В этом случаеколичество информации будет равно разности между начальной Hн иконечной Hк энтропией или между априорной (до опыта) и апостериорной(после опыта) энтропией:I = Hн – Hк.Если эта неопределенность снимается полностью (апостериорнаяэнтропия превратилась в нуль), то только тогда количество полученнойинформации равно энтропии Hн, причем оно будет максимальным, еслиаприорная энтропия была наибольшей, когда все вероятности возможныхсобытий были одинаковы.1.5. Информация и данныеНа первый взгляд может показаться, что два этих понятия – синонимы,но это не так. Данные можно трактовать как зарегистрированные результатынаблюдений за объектами окружающего нас материального мира ипроисходящими в нем событиями.
Такие результаты являются сигналами,имеющими энергетическую природу, поскольку их появление всегда связанос любым обменом энергией и ее переходом из одной формы в другую.Итак, данные – это каким-либо образом зафиксированные сигналы,которые хранятся в определенном виде для их последующего применения.Когда они начинают использоваться для уменьшения существующейнеопределенности в той или иной предметной области, то превращаются винформацию. Таким образом, информация рассматривается как более общеепонятие, ведь ею являются используемые данные.Информация, как и данные, может быть структурирована.
В этом случаев ней всегда содержатся и различные отношения, например, причинноследственные, в результате чего она образует единую систему, которую мыпривыкли называть знанием. Когда данные воспринимаются человеком, они,как мы уже установили, становятся для него информацией. Но ведь разныелюди в зависимости от своего образовательного уровня и по другимпричинам по-разному воспринимают один и тот же набор фактов или могутвовсе не понять смысл, заложенный в них. Следовательно, присущее даннымсвойство превращаться в информацию является потенциальным, так какможет быть реализовано или нет различными людьми.Необходимо также отметить, что компьютер всегда работает с данными,а не с информацией, поскольку он не может мыслить и, значит,интерпретировать ее.
Между тем, в устной речи и разнообразных текстах (втом числе и в этом учебном пособии) мы часто по привычке смешиваем этидва понятия, но установленные между ними различия всегда надо иметь ввиду.Любая компьютерная программа, реализующая определенный алгоритм,при функционировании осуществляет преобразование исходных данных вконечные, в том числе с использованием промежуточных результатов,поэтомубольшоезначениеприобретаютспособыпредставленияиорганизации данных. В ходе эволюции средств вычислительной техники ипрограммирования также повышались и возможности представления данных.В настоящее время кроме простейших неструктурированных данных широкоиспользуются различные типы структурированных данных, которые такназываются потому, что образуются в результате разнообразных комбинацийпростых данных и обладают определенной организационной структурой.
Кним относятся массивы, записи, списки, стеки и т.д.Простейший тип неструктурированных данных соответствует простомуправилу: одно имя – одно значение. Как известно, в математике используютсяцелые, вещественные или действительные и комплексные числа, а такжелогические величины. В информатике, а точнее в языках программирования,по аналогии с этим любая константа, переменная, выражение или функциятакже относятся к определенному типу данных, характеризующемумножество значений, которые они могут принимать. Этот тип явноуказывается в описании соответствующей величины, и над данными каждоготипа могут выполняться определенные операции.Например, над целыми числами могут выполняться операции сложения,вычитания и умножения.
Чтобы результат деления не вышел за пределымножества целых чисел, используются две разновидности этой операции:определение целой части или остатка от деления одного числа на другое.Аналогично эти операции над целыми числами выполняются и в компьютере.Результат вычислений также оказывается абсолютно точным. Единственноеотличие заключается в том, что компьютерные числа имеют ограниченныйдиапазон – это связано с их представлением в ячейках памяти, поэтому прилюбойсистемекодированиявсегдасуществуютсамоебольшое(положительное, М+) допустимое и самое малое (отрицательное, М-) числа.Как правило, между ними выполняются такие соотношения:М++ 1 = М- и М-– 1 = М+,которые станут более понятными, когда мы рассмотрим представлениеотрицательных чисел в разрядной сетке компьютера с помощью обратногокода, о чем речь пойдет в следующей главе, а сейчас поговорим о такназываемых числах конечной точности.Предположим, для записи целых положительных чисел в нашемраспоряжении только три десятичных разряда.
В этом случае мы можемпредставить тысячу чисел, от 000 до 999, но в этот ряд не войдут числаопределенных типов, а именно: числа больше 999 и отрицательные числа,дроби, иррациональные и комплексные числа. В результате сложения,вычитания и умножения целых чисел всегда также получаются целые числа,поэтому говорят, что набор этих чисел замкнут по отношению к этим тремдействиям. Однако по отношению к делению набор целых чисел не замкнут,так как в результате выполнения этой операции далеко не всегда получаютсяцелые числа.Числа конечной точности не замкнуты относительно всех четырехарифметических действий.
Ведь в результате сложения или умножениятрехразрядных десятичных чисел может получиться слишком большойрезультат (число больше 999), в результате вычитания – слишком маленькийрезультат (отрицательное число), наконец, при делении – не целое число.Приведенные примеры можно разбить на два класса: первые три случаяотносятся к одному из них, а четвертый – к другому. Ошибки переполненияили из-за потери значимости возникают, когда результат выполненияоперации выходит за пределы представления чисел; ошибочный результаттакже получается, когда он не принадлежит заданному ряду чисел, то естьявляется числом другого типа. Компьютеры работают с числами конечнойточности, поэтому в них предусмотрены специальные аппаратные средствадля обнаружения и исправления ошибок переполнения.Осталось отметить, что ассоциативный и дистрибутивный законы такжене работают с числами конечной точности.Пусть a = 600, b = 400, c = 100.
Вычислим обе части выраженияa + (b – c) = (a + b) – c.В левой части сначала вычисляется разность, равная 300, а затем сумма; витоге получим 900. При вычислении в правой части суммы трехразрядныхчисел произойдет переполнение, так как результат 1000 выходит за пределырассматриваемого набора целых чисел; в итоге после вычитания неполучится 900.Теперь попробуем вычислить обе части выраженияa · (b – c) = a · b – a · cпри a = 5, b = 200, c = 100.
В левой части получим результат 500, которого недостичь для правой части, потому что снова произойдет переполнение приумножении a на b. Таким образом, порядок выполнения действий с такимичислами имеет важное значение.Надвещественнымичисламимогутвыполнятьсявсечетыреарифметические операции. Однако надо иметь в виду, что при компьютернойреализации точность получаемого результата никогда не превышаетнекоторого фиксированного значения, так как числа в памяти компьютераимеют ограниченную длину.Символьные или литерные данные кодируются числовыми кодами,поэтому их можно сравнивать.
Другими словами, они обладают свойствомупорядоченности, например: “a” < “b”, “b” < “c” и т.д., кроме того, обычно посимволу можно получить его числовой код и наоборот.Над строчными величинами выполняется единственная операцияконкатенации или сложения строк, например,“ab” + “cde” = “abcde”.Как правило, можно определить длину строки, т.е. количество входящих в неесимволов, удалить из нее фрагмент и т. п.К логическим данным, которые могут принимать только одно из двухвозможных значений – «истина» («true») или «ложь» («false»), применимыосновные логические операции: конъюнкция (логическое И, «and»),дизъюнкция (логическое ИЛИ, «or») и отрицание (логическое НЕ, «not»).
Обэтом мы поговорим подробнее в третьей главе.Структурированные данные предоставляют программисту гораздобольше возможностей при обработке информации, хотя надо иметь в виду,чторазличныеязыкипрограммированияпо-разномуреализуютструктуризацию данных. Однако к настоящему времени многие такиесложные структуры стали практически стандартными и реализованы вбольшинстве используемых алгоритмических языков. К рассмотрению этихструктур, образуемых из простых типов данных, мы и перейдем, но сначалададим их общую классификацию, проведенную по четырем основнымпризнакам и представленную на рисунке 1.3.Рис.
1.3. Классификация структурированных данныхСложная структура может состоять из однотипных или разнотипныхпростых данных. В первом случае такая структура является однородной, вовтором – неоднородной. Структура считается упорядоченной, если междувсеми входящими в нее элементами определен порядок следования; впротивном случае, естественно, структура не упорядочена. Упорядоченныеструктуры по способу доступа к их элементам подразделяются на структурыпрямого и последовательного доступа. При наличии возможности прямогодоступа любой элемент такой структуры сразу доступен для использования,если же этой возможности нет, то, чтобы «добраться» до нужного элемента,необходимо перебрать все предыдущие. Наконец, если размер структуры, тоесть ее длина или количество входящих в нее элементов, строго фиксированзаранее и не может быть изменен в процессе обработки, то такая структураявляется статической.
У динамической структуры размер определяется вовремя работы с ней и при необходимости может изменяться.Пожалуй,наиболеераспространеннымтипомструктурированныхданных является массив – в нашей терминологии это однороднаяупорядоченная статическая структура прямого доступа. Компоненты массивапредставляют собой его однотипные элементы, которые объединяютсяобщим именем – идентификатором массива. Благодаря этому и с помощьюиндекса они, имея одно и то же имя, но различаясь по индексам, могутидентифицироваться или адресоваться, то есть любая компонента массивадоступна для обработки как одиночная переменная.Наиболеепростойструктуройрассматриваемоготипаявляетсяодномерный массив линейной структуры, содержащий фиксированный наборопределенных величин. Однако компонентами массива, в свою очередь,могут быть и более сложные структуры, например другие массивы. В этомслучае формируется как бы массив массивов, то есть многомерный массив,для индексации элементов которого требуется уже более одного индекса.