Определение количества информации. Единицы измерения информации. 3 страница

Вначале стоит немного рассказать о распространенном формате RAR. Данный формат сжатия был разработан нашим соотечественником Евгением Рошалом, соответственно название формата является аббревиатурой, включающей первую букву фамилии разработчика и первые две буквы термина архиватор. Формат RAR имеет большую историю: он изначально разрабатывался под DOS, а затем и для других операционных систем, включая позже Microsoft Windows. Так появилась программа WinRAR — функциональный, много форматный архиватор. Следует добавить, что созданы также версии архиватора для платформ MacOS X, Linux и FreeBSD.

Необходимо перечислить основные свойства данного архиватора, одновременно являющиеся его достоинствами. WinRAR позволяет легко создавать многотомные и самораспаковывающиеся архивы. Кроме того, есть возможность открывать, просматривать и изменять содержимое архивов в других форматах (например,. arj). Что касается повреждения архивов, в WinRAR предусмотрена возможность полного и частичного восстановления. Осуществлять работу можно как в простом режиме командной строки, так и в режиме полноэкранного интерфейса. Весьма удобными являются функции поиска и тестирования файлов и архивов, а также функция проверки файлов на вирусы. Оригинальной функцией, характерной только для архивов RAR, является поддержка непрерывного кодирования. Архив можно заблокировать специальным паролем для того, чтобы защитить его от изменений.

Кстати, в третьей версии для сжатия текстовых данных используется алгоритм «PPMII», автором которого является наш соотечественник Дмитрий Шкарин. Кроме того, в третью версию внедрен новый метод шифрования AES («Advanced Encryption Standard»).

WinZIP

Архиватор WinZIP был создан в 1990 году для платформы Windows компанией Nico Mak Computing, которая позже стала называться WinZip Computing. Данная программа-архиватор работает в основном по алгоритму сжатия PKZIP. Аналогично формату RAR название формата PKZIP — это аббревиатура, включающая инициалы разработчика Фила Каца (Phil Katz). Интересна история появления слова ZIP: «ZIP» означает «Zork Interpretation Program», то есть программа для сжатия игры Zork, размер которой в те времена казался немалым. Формат PKZIP имеет непростую историю появления на свет: он создавался в условиях жесткой конкуренции компании Фила Каца под названием PKWARE и их конкурента SEA, создателя метода сжатия ARC. Формат PKZIP был разработан Кацем на базе ARC, то есть PKZIP1 изначально был улучшенной версией ARC, что не могло не повлечь за собой скандалы и судебные разбирательства по поводу авторских прав. В результате позже была выпущена вторая версия формата сжатия PKZIP2, которая уже имела мало чего общего с форматом ARC и существенно превосходила его по ряду показателям.

В архиваторе также реализованы метод сжатия PPMd и технология AES. В WinZip есть возможность созданные с помощью программы архивы отправлять по электронной почте и записывать архивы на диски, не покидая окна программы. Пользователь может выбирать между классическим интерфейсом архиватора и адаптированным.

7-ZIP

Создателем данного продукта также является наш соотечественник, это разработчик Игорь Павлов. Создание данной программы связано с разработанным в 2001 году новым форматом архивирования 7z. Архиватор работает по видоизмененному LZ-алгоритму — методу сжатия «LZMA» («Lempel-Ziv-Markov chain-Algorithm»). Принцип работы LZMA включает, подобно методу Хаффмана, построение «двоичного дерева» Преимуществом 7-ZIP является поддержка технологии «одновременной мультипоточности» или «гиперпоточности» «HTT» («Hyper-Threading Technology»), реализованной в архитектуре Intel Pentium 4.

Создание архивов в 7-ZIP часто превосходит результаты работы в WinRAR по ряду показателей: в 7-ZIP выше скорость сжатия и расжатия файлов. По данному параметру 7-ZIP опережает также многие другие ZIP-архиваторы. Как и в третьей версии WinRAR, здесь имеется поддержка технологии сжатия AES. Аналогично WinRAR, 7-ZIP работает под операционные системы MacOS X, Linux, FreeBSD. Архиватор работает также на платформах Solaris, OpenBSD, Cygwin, AIX, Syllable, BeOS. Помимо вышеперечисленных достоинств программы следует иметь в виду, что данный архиватор является бесплатным, распространяется как свободное программное обеспечение «GNU LGPL». Таким образом, программа 7-ZIP является вполне достойным конкурентом платным архиваторам и даже имеет ряд технических преимуществ перед ними.

18 Модели объектов и процессов. Классификация моделей: физические и абстрактные (словесные, математические, информационные).

Информационная модель — модель объекта, представленная в виде информации, описывающей существенные для данного рассмотрения параметры и переменные величины объекта, связи между ними, входы и выходы объекта и позволяющая путём подачи на модель информации об изменениях входных величин моделировать возможные состояния объекта.Информационная модель (в широком, общенаучном смысле) — совокупность информации, характеризующая существенные свойства и состояния объекта, процесса, явления, а также взаимосвязь с внешним миром.

Классификация моделей по форме представления:

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

Абстрактные (нематериальные) – не имеют реального воплощения. Их основу составляет информация. это теоретический метод познания окружающей среды. По признаку реализации они бывают: мысленные и вербальные; информационные

Мысленные модели формируются в воображении человека в результате раздумий, умозаключений, иногда в виде некоторого образа. Это модель сопутствует сознательной деятельности человека.

Вербальные – мысленные модели выраженные в разговорной форме. Используется для передачи мыслей

Информационные модели – целенаправленно отобранная информация об объекте, которая отражает наиболее существенные для исследователя свойств этого объекта.

Типы информационных моделей:

Табличные – объекты и их свойства представлены в виде списка, а их значения размещаются в ячейках прямоугольной формы. Перечень однотипных объектов размещен в первом столбце (или строке), а значения их свойств размещаются в следующих столбцах (или строках)

Иерархические – объекты распределены по уровням. Каждый элемент высокого уровня состоит из элементов нижнего уровня, а элемент нижнего уровня может входить в состав только одного элемента более высокого уровня

Сетевые – применяют для отражения систем, в которых связи между элементами имеют сложную структуру

По степени формализации информационные модели бывают образно-знаковые и знаковые. Напримеры:

Образно-знаковые модели:

Геометрические (рисунок, пиктограмма, чертеж, карта, план, объемное изображение)

Структурные (таблица, граф, схема, диаграмма)

Словесные (описание естественными языками)

Алгоритмические (нумерованный список, пошаговое перечисление, блок-схема)

Знаковые модели:

Математические – представлены матем.формулами, отображающими связь параметров

Специальные – представлены на спец. языках (ноты, хим.формулы)

Алгоритмические – программы

Признаки классификаций моделей: Классификация моделей по области использования

19 Классификация моделей: дескриптивные, функциональные, аналитические, информационные.

Дескриптивная модель [description model] — модель, предназначенная для описания и объяснения наблюдаемых фактов или прогноза поведения объектов, в отличие от нормативных моделей, предназначенных для нахождения желательного (например, оптимального) состояния объекта.

ФУНКЦИОНАЛЬНЫЕ МОДЕЛИ [functional models] — один из двух основных типов экономико-математических моделей (при их классификации по способам выражения соотношений между внешними условиями, внутренними параметрами и искомыми характеристиками моделируемого объекта) наряду со структурными моделями. Ф. м. описывает поведение системы безотносительно к ее внутренней структуре (см. также “Черный ящик”). Если обозначить входы и выходы моделируемого объекта соответственно через X и Y, то построить Ф. м. — это значит отыскать оператор D, связывающий X и Y, т. е. Y=D(X).

При изучении Ф. м. возникают гипотезы о причинах тех или иных реакций объекта на воздействие внешней среды и, таким образом, открывается путь к анализу его структуры и формированию структурных моделей.

Аналитические модели (англ. analytical models) – один из классов математического моделирования, широко используемый в экологии. При построении таких моделей исследователь сознательно отказывается от детального описания экосистемы, оставляя лишь наиболее существенные, с его точки зрения, компоненты и связи между ними, и использует достаточно малое число правдоподобных гипотез о характере взаимодействия компонентов и структуры экосистемы. Аналитические модели служат, в основном, целям выявления, математического описания, анализа и объяснения свойств или наблюдаемых феноменов, присущих максимально широкому кругу экосистем. Так, например, широко известная модель конкуренции Лотки–Вольтерра позволяет указать условия взаимного сосуществования видов в рамках различных сообществ.

Информационная модель — модель объекта, представленная в виде информации, описывающей существенные для данного рассмотрения параметры и переменные величины объекта, связи между ними, входы и выходы объекта и позволяющая путём подачи на модель информации об изменениях входных величин моделировать возможные состояния объекта.

Информационная модель (в широком, общенаучном смысле) — совокупность информации, характеризующая существенные свойства и состояния объекта, процесса, явления, а также взаимосвязь с внешним миром.

Информационные модели делятся на описательные и формальные.

Описательные информационные модели — это модели, созданные на естественном языке (то есть на любом языке общения между людьми: английском, русском, китайском, мальтийском и т. п.) в устной или письменной форме.

Формальные информационные модели — это модели, созданные на формальном языке (то есть научном, профессиональном или специализированном). Примеры формальных моделей: все виды формул, таблицы, графы, карты, схемы и т. д.

Информационные модели в информатике - это модели, описывающие классы объектов, принадлежащие к данному домену (проблемной области), атрибуты этих объектов и отношения между этими объектами.

Хроматические (информационные) модели — это модели, созданные на естественном языке семантики цветовых концептов и их онтологических предикатов (то есть на языке смыслов и значений цветовых канонов, репрезентативно воспроизводившихся в мировой культуре). Примеры хроматических моделей: «атомарная» модель интеллекта (АМИ), межконфессиональная имманентность религий (МИР), модель аксиолого-социальной семантики (МАСС) и др., созданные на базе теории и методологии хроматизма.

20 Понятие алгоритма, свойства алгоритмов Способы описания алгоритмов.

Алгоритмом называется точное и понятное предписаниe исполнителю совершить последовательность действий, направленных на решение поставленной задачи. Слово «алгоритм» происходит от имени математика Аль Хорезми, который сформулировал правила выполнения арифметических действий. Первоначально под алгоритмом понимали только правила выполнения четырех арифметических действий над числами. В дальнейшем это понятие стали использовать вообще для обозначения последовательности действий, приводящих к решению любой поставленной задачи. Говоря об алгоритме вычислительного процесса, необходимо понимать, что объектами, к которым применялся алгоритм, являются данные. Алгоритм решения вычислительной задачи представляет собой совокупность правил преобразования исходных данных в результатные.

Основными свойствами алгоритма являются:

детерминированность (определенность). Предполагает получение однозначного результата вычислительного процecca при заданных исходных данных. Благодаря этому свойству процесс выполнения алгоритма носит механический характер;

результативность. Указывает на наличие таких исходных данных, для которых реализуемый по заданному алгоритму вычислительный процесс должен через конечное число шагов остановиться и выдать искомый результат;

массовость. Это свойство предполагает, что алгоритм должен быть пригоден для решения всех задач данного типа;

дискретность. Означает расчлененность определяемого алгоритмом вычислительного процесса на отдельные этапы, возможность выполнения которых исполнителем (компьютером) не вызывает сомнений.

Алгоритм должен быть формализован по некоторым правилам посредством конкретных изобразительных средств. К ним относятся следующие способы записи алгоритмов: словесный, формульно-словесный, графический, язык операторных схем, алгоритмический язык.

Наибольшее распространение благодаря своей наглядности получил графический (блок-схемный) способ записи алгоритмов.

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

При всем многообразии алгоритмов решения задач в них можно выделить три основных вида вычислительных процессов:

линейный;

ветвящийся;

циклический.

Линейным называется такой вычислительный процесс, при котором все этапы решения задачи выполняются в естественном порядке следования записи этих этапов.

Ветвящимся называется такой вычислительный процесс, в котором выбор направления обработки информации зависит от исходных или промежуточных данных (от результатов проверки выполнения какого-либо логического условия).

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

21 Блoк-cxeмы описания алгоритмов (ГOCT 19.701-90). Основные графические символы на блок-схемах.

Данные

Символ отображает данные, носитель данных не определен.

Запоминаемые данные

Символ отображает хранимые данные в виде, пригодном для обработки, носитель данных не определен.

Специфические символы данных

Оперативное запоминающее устройство

Символ отображает данные, хранящиеся в оперативном запоминающем устройстве.

Запоминающее устройство с последовательным доступом

Символ отображает данные, хранящиеся в запоминающем устройстве с последовательным доступом (магнитная лента, кассета с магнитной лентой, магнитофонная кассета).

Запоминающее устройство с прямым доступом

Символ отображает данные, хранящиеся в запоминающем устройстве с прямым доступом (магнитный диск, магнитный барабан, гибкий магнитный диск).

Документ

Символ отображает данные, представленные на носителе в удобочитаемой форме (машинограмма, документ для оптического или магнитного считывания, микрофильм, рулон ленты с итоговыми данными, бланки ввода данных).

Ручной ввод

Символ отображает данные, вводимые вручную во время обработки с устройств любого типа (клавиатура, переключатели, кнопки, световое перо, полоски со штриховым кодом).

Карта

Символ отображает данные, представленные на носителе в виде карты (перфокарты, магнитные карты, карты со считываемыми метками, карты с отрывным ярлыком, карты со сканируемыми метками).

3.1.2.7. Бумажная лента

Символ отображает данные, представленные на носителе в виде бумажной ленты.

3.1.2.8. Дисплей

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

3.2. Символы процесса

3.2.1. Основные символы процесса

3.2.1.1. Процесс

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

3.2.2.Специфические символы процесса

3.2.2.1. Предопределенный процесс

Символ отображает предопределенный процесс, состоящий из одной или нескольких операций или шагов программы, которые определены в другом месте (в подпрограмме, модуле).

3.2.2.2. Ручная операция

Символ отображает любой процесс, выполняемый человеком.

3.2.2.3. Подготовка

Символ отображает модификацию команды или группы команд с целью воздействия на некоторую последующую функцию (установка переключателя, модификация индексного регистра или инициализация программы).

3.2.2.4. Решение

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

3.2.2.5. Параллельные действия

Символ отображает синхронизацию двух или более параллельных операций.

22 Правила оформления блок-схем алгоритмов. Элементарные базовые структуры алгоритмов.

Базовые структуры алгоритмов — это определенный набор блоков и стандартных способов их соединения для выполнения типичных последовательностей действий.

К основным структурам относятся следующие:

линейные

разветвляющиеся

циклические

Линейными называются алгоритмы, в которых действия осуществляются последовательно друг за другом. Стандартная блок-схема линейного алгоритма приводится ниже:

Разветвляющимся называется алгоритм, в котором действие выполняется по одной из возможных ветвей решения задачи, в зависимости от выполнения условий. В отличие от линейных алгоритмов, в которых команды выполняются последовательно одна за другой, в разветвляющиеся алгоритмы входит условие, в зависимости от выполнения или невыполнения которого выполняется та или иная последовательность команд (действий).

В качестве условия в разветвляющемся алгоритме может быть использовано любое понятное исполнителю утверждение, которое может соблюдаться (быть истинно) или не соблюдаться (быть ложно). Такое утверждение может быть выражено как словами, так и формулой. Таким образом, алгоритм ветвления состоит из условия и двух последовательностей команд.

В зависимости от того, в обоих ветвях решения задачи находится последовательность команд или только в одной разветвляющиеся алгоритмы делятся на полные и не полные (сокращенные).
Стандартные блок-схемы разветвляющегося алгоритма приведены ниже:

Циклическим называется алгоритм, в котором некоторая часть операций (тело цикла — последовательность команд) выполняется многократно. Однако слово «многократно» не значит «до бесконечности». Организация циклов, никогда не приводящая к остановке в выполнении алгоритма, является нарушением требования его результативности — получения результата за конечное число шагов.

Перед операцией цикла осуществляются операции присвоения начальных значений тем объектам, которые используются в теле цикла. В цикл входят в качестве базовых следующие структуры:

блок проверки условия

блок, называемый телом цикла

Существуют три типа циклов:

Цикл с предусловием

Цикл с постусловием

Цикл с параметром (разновидность цикла с предусловием)

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

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

Цикл с параметром является разновидностью цикла с предусловием. Особенностью данного типа цикла является то, что в нем имеется параметр, начальное значение которого задается в заголовке цикла, там же задается условие продолжения цикла и закон изменения параметра цикла. Механизм работы полностью соответствует циклу с предусловием, за исключением того, что после выполнения тела цикла происходит изменение параметра по указанному закону и только потом переход на проверку условия.
Стандартные блок-схемы циклических алгоритмов приведены ниже:

23 Основные этапы решения задач с помощью компьютера.

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

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

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

Третий этап - Алгоритмизация задачи.
На основе математического описания необходимо разработать алгоритм решения. Более подробно этот этап будет рассмотрен в пункте "1.1.2 Основы алгоритмизации" данной главы.

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

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

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

24 Классификация языков программирования, поколения языков программирования.

Существуют различные классификации языков программирования.

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

Если язык близок к естественному языку программирования, то он называется языком высокого уровня, если ближе к машинным командам, – языком низкого уровня.

В группу языков низкого уровня входят машинные языки и языки символического кодирования: Автокод, Ассемблер. Операторы этого языка – это те же машинные команды, но записанные мнемоническими кодами, а в качестве операндов используются не конкретные адреса, а символические имена. Все языки низкого уровня ориентированы на определенный тип компьютера, т. е. являются машинно–зависимыми.

Машинно–ориентированные языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.).

К языкам программирования высокого уровня относят Фортран (переводчик формул – был разработан в середине 50–х годов программистами фирмы IBM и в основном используется для программ, выполняющих естественно – научные и математические расчеты), Алгол, Кобол (коммерческий язык – используется, в первую очередь, для программирования экономических задач), Паскаль, Бейсик (был разработан профессорами Дармутского колледжа Джоном Кемени и Томасом Курцом.), Си (Деннис Ритч – 1972 году), Пролог (в основе языка лежит аппарат математической логики) и т.д.

Эти языки машинно–независимы, т.к. они ориентированы не на систему команд той или иной ЭВМ, а на систему операндов, характерных для записи определенного класса алгоритмов. Однако программы, написанные на языках высокого уровня, занимают больше памяти и медленнее выполняются, чем программы на машинных языках.

Программу, написанную на языке программирования высокого уровня, ЭВМ не понимает, поскольку ей доступен только машинный язык. Поэтому для перевода программы с языка программирования на язык машинных кодов используют специальные программы – трансляторы.

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

Языки программирования также можно разделять на поколения:

– языки первого поколения: машинно–ориентированные с ручным управлением памяти на компьютерах первого поколения.

– языки второго поколения: с мнемоническим представлением команд, так называемые автокоды.

– языки третьего поколения: общего назначения, используемые для создания прикладных программ любого типа. Например, Бейсик, Кобол, Си и Паскаль.

– языки четвертого поколения: усовершенствованные, разработанные для создания специальных прикладных программ, для управления базами данных.

– языки программирования пятого поколения: языки декларативные, объектно–ориентированные и визуальные. Например, Пролог, ЛИСП (используется для построения программ с использованием методов искусственного интеллекта), Си++, Visual Basic, Delphi.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: