|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Реферат: Основные способы обработки большого количества текстовой информации. Обработка информации реферат по информатикеДоклад - Понятие информации. Свойства информации. Обработка информации1 вопрос: Понятие информации. Свойства информации. Обработка информации. Информация – совокупность каких либо сведений, передаваемых людьми устно, письменно либо каким либо др. способом. Информационные процессы реализуются с помощью сигналов, сооб-й и данных: 1) сигнал представляет собой любой процесс, несущий информацию. 2) сообщ-е представляет собой информацию в упорядоченном виде и предназначенное для передачи. 3) данные – это информация, представленная в формализованном виде и предназначенная для обработки техническими средствами (ЭВМ). Данные — это зарегистрированные сигналы, несут информацию о событиях в материальном мире. С точки зрения информатики информация обладает следующими свойствами: Объективность, полнота, достоверность, адекватность, доступность, актуальность. В ходе информационного процесса данные преобразуются из одного вида в другой с помощью методов: обработка данных включает в себя множество различных операций, среди которых можно выделить основные: 1) сбор данных – накопление информации 2) формализация данных – приведение данных, поступающих из различных источников к одной одинаковой форме, чтобы сделать их сопоставимыми. 3) фильтрация – отсеивание лишнего, при этом уменьшается уровень шума и достоверность информации возрастает 4) сортировка данных – упорядочение данных по заданному признаку для удобства пользования. 5) архивация данных – организация хранения данных в удобной и легко доступной форме. 6) защита данных – комплекс мер, направленных на предотвращение утраты данных. 7) транспортировка данных – прием и передача данных между удаленными участниками информационного процесса. 2 вопрос: Предмет и задачи информатики Информатика – техническая наука, систематизирующая прием, создание, хранение, воспроизведение данных, относится к разделу технологических наук. Имеет 2-ое название – информационные технологии Предмет информатики составляет: 1) аппаратное обеспечение средств вычислительной техники. 2) программное обеспечение средств вычислительной техники 3) средства взаимодействия аппаратного и программного обеспечения 4) средства взаимодействия человека с аппаратным и программным обеспечением. Особое внимание уделяется вопросам взаимодействия. В информатике для этого есть специальное понятие – интерфейс. Взаимодействие человека с программным и аппаратным обеспечением называется пользовательским интерфейсом. Различают аппаратный, программный, аппаратно-программный интерфейсы. Основной задачей информатики явл-ся систематизация приемов и методов работы с аппаратными и программными средствами. В составе основной задачи можно выделить: — архитектуру вычислительных систем (ВС) — интерфейсы ВС — программирование — преобразование данных — защита данных — автоматизация — стандартизация 3 вопрос: Представление информации в компьютере Для унификации представления данных в компьютере используется кодирование, т.е. выражение данных одного типа через данные др. типа. В вычислительной технике кодирование называется двоичным и основано на представлении данных последовательностью всего 2-ух знаков (1,0) Одним битом можно выразить 2 понятия (0,1). Двумя битами – 4 (00,01,10,11). i=log2 N формула Ф.Хартли N=2i N – количество независимых кодируемых значений. i – разрядность двоичного кодирования 4 вопрос: Кодирование текстовых данных Если каждому символу алфавита сопоставить определенное целое число (порядковый номер), то с помощью двоичного кода можно кодировать текстовую информацию. 8-ми двоичных разрядов достаточно для кодирования 256 различных символов. Этого хватит для того, чтобы выразить различными комбинациями 8-ми видов все символы английского и русского языка. Лидером в разработке техники явл-ся США. 5 вопрос: Кодирование графических данных Графические данные кодируются с помощью растра – деления поля на мельчайшие точки. Поскольку линейные координаты и индивидуальные свойства каждой точки можно выразить с помощью целых чисел, то значит растровое кодирование можно выразить в двоичной форме. Считается, что для того чтобы правильно передать черно-белое изображение достаточно иметь комбинацию с 256-ю градациями серого цвета. Для кодирования цвета нужно затратить 24 разряда, при этом система кодирования обеспечивает 16,5 млн оттенков разных цветов. Такой режим называется TrueColor. 65536 цветов – 16-ти разрядное кодирование – HighColor; 256 цветов – 8 разрядов – индексное кодирование. 6 вопрос: Единицы представления, измерения и хранения данных Для измерения, хранения информации используются группы из 8-ми битов, которые называются байтом. Группа из 16 бит – слово Группа из 32 бит – удвоенное слово В информатике для измерения данных используют тот факт, что разные типы данных имеют универсальное двоичное представление и поэтому введены единицы основанные на нем. Наименьшей единицей является 1 байт. 1 байт = 8 бит 1 Кбайт = 1024 байт = 210 байт 1 Мбайт = 1024 Кбайт = 220 1 Гбайт = 1024 Мбайт При хранении данных решаются 2 проблемы: как сохранить данные в наиболее компактном виде и как обеспечить им удобный и быстрый доступ. Для обеспечения доступа необходимо чтобы данные имели упорядоченную структуру, но при этом образуется дополнительная нагрузка в виде адресных данных. Поскольку адресные данные тоже имеют размер и подлежат хранению. Хранить данные в виде мелких единиц, таких как байт, неудобно. Поэтому в качестве единицы хранения данные принят объект переменой длины, называемый файлом. Файл – последовательность произвольного числа байтов, обладающая уникальным собственным именем. Обычно в файле хранят данные, относящиеся к одному типу. Тип данных определяет тип файла. Особое внимание уделяется имени файла. Оно фактически несет в себе адресные данные. Без этих адресных данных файл нести информацию не может. 7 вопрос: Программные средства обеспечения вычислительных процессов Программы системного типа называются драйверами. ОС – программы для обеспечения пользовательского интерфейса. Если компьютер оснащен программным обеспечением (ПО) системного уровня, то он подготовлен к установке программ более высоких уровней, к взаимодействию с пользованием => наличие ядра ОС – это непременное условие для возможности работы человека с вычислительной системой. Программы служебного уровня взаимодействуют как с программами базового уровня, так и с программами системного уровня. Основное назначение служебных программ состоит в автоматизации работ по проверке, наладке и настройке компьютерной системы. В разработке служебных программ существует 2 пути: 1) автономное функционирование программ 2) встраивание программ в ОС 8 вопрос: Классификация программных средств Прикладные программы – это те, с помощью которых на данном рабочем месте выполняются конкретные задания. Спектр этих заданий чрезвычайно широк: 1) текстовые редакторы и процессоры 2) графические редакторы – предназначены для создания и обработки графических изображений. В данном классе различают следующие категории: растровые редакторы, векторные и программные средства для создания и обработки трехмерной (3D) графики. 3) системы управления базами данных (СУБД) Базы данных (БД) – огромные массивы данных, организованные в табличные структуры. 4) электронные таблицы – аналогичны БД, но основной акцент делается не на хранение данных, а на преобразование их в соответствии с внутренним содержанием. 5) Системы автоматизированного проектирования (САПР): AutoCAD, ArchiCAD. 6) Бухгалтерские программы (1-С), (БАРС) 7) Служебные программные средства 9 вопрос: Базовая конфигурация ПК. В состав базовой конфигурации ПК включают: Системный блок, клавиатуру, монитор. Монитор – устройство визуального представления данных: — электронно-лучевые; — жидкокристаллические. Размер монитора определяется размером диагонали экрана. Основу жидкокристаллического монитора составляет матрица к которой подводится управляющее напряжение. Представляет собой тонкую пленку, которая меняет свой цвет в зависимости от поданного напряжения – 16,5 млн. цветов. Клавиатура – явл-ся устройством ввода информации. 101 клавиша – минимум. Комбинация монитора и клавиатуры обеспечивает простейший интерфейс пользователя. Мышь – устройство управления манипуляционного типа. Перемещение мыши по поверхности стола синхронизовано с перемещением графического объекта, т.е. указателя мыши на экране монитора. Для мыши драйвер не требуется. Комбинация монитора и мыши обеспечивает наиболее современный вид интерфейса – графический. Системный блок – основной узел ПК 10 вопрос: Устройство системного блока Все основные компоненты компьютера находятся внутри системного блока: системная плата с процессором и оперативной памятью, накопители на жестких и гибких дисках, СD-ROM и др. Кроме этого, в системном блоке находится блок питания. Основным аппаратным компонентом компьютера является материнская плата. Основное ее назначение – согласование работы всех устройств и обеспечение программного интерфейса. К основным входящим устройствам МП относятся: — чипсет – набор микросхем. Качество и возможности МП определяются чипсетами. Чипсеты: северный мост и южный мост. Назначение северного моста: соединение процессора с разными видами памяти. Назначение южного моста: контроллер всех периферийных устройств. Процессор состоит из ячеек, называемых регистрами. В регистрах производится обработка данных по командам программы. С основными устройствами процессор связан шинами: шина данных, шина команд. Шина данных 64-ех разрядная. По этой шине происходит копирование данных из оперативной памяти в регистры процессора и обратно. По шине команд поступают команды из оперативной памяти в процессор. Совокупность всех возможных команд образует систему команд процессора. Процессоры, относящиеся к одному семейству имеют одинаковую систему команд. 18 вопрос: Понятие алгоритма Алгоритм – это точное предписание, которое определяет процесс, ведущий от исходных данных к требуемому конечному результату. Применительно к ЭВМ алгоритм определяет вычислительный процесс, начинающийся с отработки некоторой совокупности возможных исходных данных. Если вычислительный процесс заканчивается получением результатов, то говорят, что соответствующий алгоритм применим к рассматриваемой совокупности исходных данных. Любой применимый алгоритм обладает свойствами: 1) результативностью 2) определенностью 3) массовостью Результативность означает возможность получения результатов после исполнения конечного количества операций. Определенность состоит в совпадении полученных данных независимо от пользователя и применяемых технических средств. Массовость заключается в возможности применения алгоритма к целому классу однотипных задач, различающихся конкретными значениями исходных данных. Для задания алгоритма необходимо описать следующие его элементы: 1) набор объектов, составляющих совокупность возможных исходных данных, промежуточных и конечных результатов. 2) правило начала 3) правило непосредственной переработки информации (описание последовательности действий) 4) правило окончания 5) правило извлечения результатов Программа для ЭВМ представляет собой описание алгоритма и данных на некотором языке программирования. 19 вопрос: Способы описания алгоритмов На практике наиболее распространены следующие формы описания алгоритмов: 1) словесная (запись на естественном языке) 2) графическая (изображение из графических символов) 3) псевдокоды на условном алгоритмическом языке, включающие в себя как элементы программирования, так и фразы естественного языка. 4) программная (тексты на языках программирования) Словесный способ записи алгоритма представляет собой описание последовательных этапов обработки данных. А задается в произвольном изложении на естественном языке. Графический способ описания алгоритмов явл-ся более компактным и наглядным по сравнению с словесным. При графич. представлении алгоритм представляется в виде последовательности функций, связанных между собой блоком, каждый из которых соответствует выполнению 1 или нескольких действий. Такое графическое представление А назыв-ся схемой или блок-схемой. Блок-схема к каждому действию соответствует геометрической фигуре, представленной в виде блочного символа. Блочные символы соединены линиями перехода. Псевдокод представляет собой систему обозначения правил, предназначенных для единообразной записи алгоритма. Он занимает промежуточное место между естественным и формальным языком. 20 вопрос: Линейная алгоритмическая структура Алгоритмы, в которых команды выполняются последовательно одна за другой, называются линейными. Для того чтобы сделать алгоритм более наглядным, часто используют блок-схемы. Различные элементы алгоритма изображаются с помощью различных геометрических фигур: 1) ПРОЦЕСС (прямоугольник): применяется для обозначения действия или последовательности действий, изменяющих значение, форму представления или размещения данных. 2) ВХОД_ВЫХОД (параллелограмм): преобразование данных в форму пригодную для обработки или отображения результатов обработки 3) РЕШЕНИЕ (ромб): вопрос, условие или сравнение 4) ПУСК_ОСТАНОВКА (овал): начало, конец или прерывание процесса обработки данных. 21 вопрос: Алгоритмическая структура «ветвление» Вычислительный процесс называется ветвящимся, если для его реализации предусмотрено несколько направлений или ветвей. Каждое отдельное направление обработки данных является отдельной ветвью вычислений. Выбор направления зависит от заранее выбранного признака, который может относиться к исходным данным, к промежуточным или к конечным результатам. 2 ветви ветвящегося процесса: простой. Направление ветвления выбирается логической проверкой. В результате которой возможны 2 ответа: — да, если условие выполнено — нет Следует иметь в виду, что на схеме алгоритма должны быть показаны все направления вычислений, в зависимости от определенного условия. При однократном прохождении программы процесс реализуется только по одной ветви, а остальные исключаются. Любая ветвь, осуществляющая вычисления, должна приводить к завершению вычислительного процесса. 22 вопрос: Алгоритмическая структура «цикл» Цикл – это многократно повторяющийся участок программы. В организации цикла можно выделить следующие этапы: 1) подготовка или инициализация цикла 2) вычисление цикла или тела цикла 3) модификация параметров 4) проверка условия окончания цикла Порядок выполнения этих этапов может меняться. В зависимости от проверки условия окончания цикла, различают циклы с нижним и верхним окончаниями. Цикл называется детерминированным если число повторений цикла заранее известно. Цикл называется итерационным если число повторений заранее неизвестно. В итерационных алгоритмах необходимо обеспечить обязательное условие выхода из цикла. 23 вопрос: Этапы подготовки и решения задач на ЭВМ В процессе подготовки решения задач можно выделить следующие этапы: 1) постановка задачи 2) математическое описание 3) выбор и основание метода решения 4) алгоритмизация вычислительного процесса 5) составление программы 6) отладка программы 7) решение задачи и анализ результатов. Все этапы связаны друг с другом. Математическое описание характеризуется математической формализацией задачи, при которой существующее отношение между величинами, определяющими результат, выражается посредством математических формул. Математическая модель должна удовлетворять 2-ум требованиям: 1) реалистичности – правильное отражение моделью наиболее существенных черт исследуемого явления 2) реализуемости – достигается отличием от второстепенных деталей, чтобы свести задачу к проблеме с известным решением. 25 вопрос: Компоненты, образующие алгоритмический язык. Компоненты, образующие алгоритмический язык: 1) алфавит 2) синтаксис 3) семантика Алфавит – основной набор символов. Синтаксис – правила построения фраз, позволяющие определять правильно или нет написана та или иная фраза. Семантика – определяет смысловое значение предложений языка. Понятие языка определяется во взаимодействии синтаксических и семантических правил. Синтаксическое правила показывают как образуется данное понятие из других понятий и букв алфавита. 26 вопрос: Стандартные функции. Аргументы функций. Запись алгоритмических выражений. Типы операций: 1) арифметические (+,-,/,*,^) 2) логические (и, или, не) 3) конкатенация (&) Различают выражения арифметические, логические и строковые. Арифметические – для определения числового значения. Все функции (стандартные) работают с аргументами. Аргументы записываются в скобках. В качестве аргументов используются константы, аргументы или выражения. Операции выполняются по приоритету. 27 вопрос: Базы данных и информационные системы (ИС) База данных (БД) – это информационная модель, позволяющая в упорядоченном виде хранить данные о группе объектов. Обладающих одинаковым набором свойств. ИС представляет собой систему, реализующую автоматизированный сбор, обработку и манипулирование данными и включающая технические средства обработки данных: — программное обеспечение; — обслуживающий персонал; Современно формой ИС явл-ся банки данных, которые включают в свой состав: вычислительную систему, одну или несколько БД, систему управления базами данных (СУБД) и набор прикладных программ (ПП) Основные функции БД: 1) хранение данных и их защита 2) изменение (обновление, добавление) хранимых данных 3) поиск и отбор данных по запросам пользователя 4) обработка данных, вывод результата. БД обеспечивает хранение информации и представляет собой поименованную совокупность данных, организованных по определенным правилам, включающих общие принципы описания, хранения и манипулирования данными. 28 вопрос: Модели данных К числу важнейших моделей данных относятся: 1) иерархическая 2) сетевая 3) реляционная 4) объектно-ориентированная В иерархической модели данные представлены в виде древовидной структуры. Примером данной системы может служить Каталог папок windows , с которым можно работать, запустив Проводник. Сетевой базой данных фактически является Всемирная паутина глобальной компьютерной сети Интернет. Гиперссылки связывают между собой сотни миллионов документов в единую распределенную сетевую базу данных. Реляционная модель данных представляется в виде двухмерной таблицы. Достоинства: простота. При увеличении числа таблиц в БД уменьшается скорость. 38 вопрос: Языки запросов QBE и SQL Хранимые в базе данные можно обрабатывать с помощью имеющихся средств просмотра и редактирования таблицы. Для повышения эффективности обработки создаются и выполняются запросы. Запрос представляет собой специальным образом описанное требование, определяющее состав производимых над базой данных операций по выбору и модификации хранимых данных. Для подготовки запросов используют 2 основных языка описания запросов: 1) QBE – язык запросов по образцу 2) SQL – структурированный язык запросов По возможностям эти языки эквивалентны. Главное отличие между ними: способ формирования запросов. QBE – ручное или визуальное формирование запроса. SQLпредполагает программирование запроса. Позволяет создавать сложные запросы путем заполнения предполагаемых системой управления БД (СУБД). SQL основан на реляционном исчислении с переменными записями. Предназначен для выполнения операций над таблицами (создание, удаление, изменение структуры) и над данными таблиц (выборка, изменение, удаление, добавление) Язык SQL – непроцедурный язык и не содержит операторов управления и организации подпрограмм, а также ввода, вывода. В связи с этим язык автономно не используется и обычно погружен в среду СУБД. 39 вопрос: Основные типы данных в БД Тип данных: 1) Текстовый – текст или комбинация текста и чисел. 2) Числовой – числовые данные, используемые для математического исчисления, за исключением финансовых расчетов 3) Поле МЕМО – длинный текст (примечания) 4) дата/время – дата и время 5) Счетчик – автоматическая вставка последовательных увеличивающихся на единицу данных 6) Логический – только одно из 2-ух возможных значений (ДА-НЕТ, ЛОЖЬ-ИСТИНА и т.д.) 7) Поле объекта OLE – объекты, созданные в других программах. Могут быть встроенными и связанными. 8) Гиперссылка – поля, в которых хранятся гиперссылки 9) мастер подстановок – создает поле, позволяющее выбрать значение из другой таблицы. 40 вопрос: Компьютерные вирусы Компьютерный вирус – это программный вход, предназначенный для проведения несанкционированных действий на несущем компьютере. Основные типы компьютерных вирусов: — программные; — загрузочные; — макровирусы; — трояны. Программные вирусы различными способами внедряются в исполнимые программы и обычно активизируются при их запуске. После запуска зараженной программы вирус находится в оперативной памяти компьютера и является активным вплоть до момента выключения компьютера или перезагрузки. Загрузочные вирусы записывают себя в загрузочный сектор диска. При загрузке операционной системы с зараженного диска вирусы внедряются в оперативную память компьютера. В дальнейшем загрузочный вирус ведет себя также как и программный. Макровирусы заражают файлы документов Wordи Excel. Макровирусы являются фактически макрокомандами (макросами), которые встраиваются в документ. 41 вопрос: Методы защиты от компьютерных вирусов Существует 3 рубежа защиты: 1) Предотвращение получения вирусов 2) Предотвращение вирусной атаки, если вирус все таки поступил на компьютер. 3) Предотвращение разрушительных последствий, если атака все таки произошла. 42 вопрос: Средства антивирусной защиты Основным средством антивирусной защиты информации является резервное копирование наиболее ценной информации. Программные средства антивирусной защиты предоставляют следующие возможности: 1) создание образа жесткого диска на внешних носителях (образ диска – точная копия диска) 2) регулярное сканирование жестких дисков в поисках компьютерных вирусов. Контроль за изменением размеров и других атрибутов файла. 12 вопрос: Функции операционных систем. Графические и неграфические ОС. ОС – это комплекс взаимосвязанных программ, предназначенных для того, чтобы обеспечить пользователям и программам удобный способ общения. В функции операционной системы входят: — осуществление диалога с пользователем; — ввод, вывод и управление данными; — планирование и организация процесса обработки программ; — распределение ресурсов; — запуск программ на выполнение; — всевозможные вспомогательные операции обслуживания; — передача информации между различными внутренними устройствами; — программная поддержка работы периферийных устройств. 13 вопрос: Организация файловой системы. Таблицы размещения файлов. Все современные дисковые операционные системы обеспечивают создание файловой системы, предназначенной для хранения данных на дисках и обеспечение доступа к ним. Принцип организации файловой системы – табличный. Поверхность жесткого диска рассматривается как трехмерная матрица, измерениями которой являются номера поверхности, цилиндра и сектора. Под цилиндром понимается совокупность всех дорожек, принадлежащих разным поверхностям и находящихся на равном удалении от оси вращения. Данные о том, в каком месте диска записан тот или иной файл, хранятся в системной области диска в специальных таблицах размещения файлов. Наименьшей физической единицей хранения данных является сектор. Размер сектора равен 512 байт. 14 вопрос: Обслуживание файловой системы. Создание и именование файлов. Создание каталогов. Несмотря на то что данные о местоположении файлов хранятся в табличной структуре, пользователю они представляются в виде иерархической структуры – людям так удобнее, а все необходимые преобразования берет на себя операционная система. К функции обслуживания файловой структуры относятся следующие операции, происходящие под управлением операционной системы: — создание файлов и присвоение им имен; — создание каталогов (папок) и присвоение им имен; — переименование файлов и папок; — копирование и перемещение файлов между дисками компьютера и между папками одного диска; — удаление файлов и папок; — управление атрибутами файлов. Файл – это именованная последовательность байтов произвольной длины. Поскольку из этого определения вытекает, что файл может иметь нулевую длину, то фактически создание файла состоит в присвоении ему имени и регистрации его в файловой системе – это одна из функций операционной системы. Даже когда мы создаем файл, работая в какой-то прикладной программе, в общем случае для этой операции привлекаются средства операционной системы. По способам именования файлов различают «короткое» и «длинное» имя. «Длинное» имя может содержать до 256 символов. Этого вполне достаточно для создания содержательных имен файлов. «Длинное» имя может содержать любые символы, кроме 9-ти специальных. В имени разрешается использовать пробелы и несколько точек. Расширением имени считаются все символы, идущие после последней точки. Каталоги (папки) – важные элементы иерархической структуры, необходимые для обеспечения удобного доступа к файлам, если файлов на носителе слишком много. Файлы объединяются в каталоги по любому общему признаку, заданному пользователем. Каталоги низких уровней вкладываются в каталоги более высоких уровней и являются для них вложенными. Верхним уровнем вложенности иерархической структуры является корневой каталог диска. Все современные ОС позволяют создавать каталоги. Правила присвоения имени каталогу ничем не отличается от правил присвоения имени файлу, хотя негласно для каталогов не принято задавать расширения имен. 15 вопрос: Копирование и перемещение файлов и папок. Удаление файлов и папок. Навигация в файловой системе. Атрибуты файлов. В неграфических операционных системах операции копирования и перемещения файлов выполняются вводом прямой команды в поле командной строки. При этом указывается имя команды, путь доступа к каталогу-источнику и путь доступа к каталогу-приемнику. Средства удаления данных не менее важны для ОС, чем средства их создания, поскольку ни один носитель данных не обладает бесконечной емкостью. Существует как минимум 3 режима удаления данных: удаление, уничтожение и стирание, хотя ОС обеспечивают только 2 первых режима. Удаление файлов является временным. Уничтожение файлов происходит при их удалении в ОС MS-DOS или при очистке Корзины. В этом случае файл полностью удаляется из файловой структуры операционной системы, но на уровне файловой системы диска с ним происходят лишь незначительные изменения. Навигация по файловой структуре является одной из наиболее используемых функций ОС. Удобство этой операции часто воспринимают как удобство работы с ОС. В ОС, имеющих интерфейс командной строки, навигацию осуществляют путем ввода команд перехода с диска на диск или из каталога в каталог. В связи с крайним неудобством такой навигации, широкое применение нашли специальные служебные программы, называемые файловыми оболочками. Кроме имени и расширения имени файла ОС хранит для каждого файла дату его создания (изменения) и несколько флатовых величин, называемых атрибутами файла. Атрибуты – это дополнительные параметры, определяющие свойства файлов. ОС позволяет их контролировать и изменять; состояние атрибутов учитывается при проведении автоматических операций с файлами. Основных атрибутов четыре: — только для чтения – файл не предназначен для внесения изменений — скрытый – мера защиты против случайного повреждения файла. — системный – файлы, обладающие важными функциями в ОС — архивный 16 вопрос: Управление установкой, исполнением и удалением приложений. От того, как ОС управляет работой приложений, во многом зависит надежность всей вычислительной системы. ОС должна предоставлять возможность прерывания работы приложений по желанию пользователя и снятия сбойной задачи без ущерба для работы других приложений. При этом требование надежности операционной ОС может входить в противоречие с требованием ее универсальности. Для правильной работы приложений на компьютере они должны пройти операцию, называемую установкой. Необходимость в установке связана с тем, что разработчики программного обеспечения не могут заранее предвидеть особенности аппаратной и программной конфигурации вычислительной системы, на которой предстоит работать их программам. Таким образом, установочный пакет программного обеспечения, как правило, представляет собой не законченный программный продукт, а полуфабрикат, из которого в процессе установки на компьютере формируется полноценное рабочее приложение. При этом осуществляется привязка приложения к существующей аппаратно-программной среде и его настройка на работу именно в этой среде. Процесс удаления приложений, как и процесс установки, имеет свои особенности и может происходить под управлением вычислительной системы. В таких ОС, где каждое приложение самообеспечено собственными ресурсами, его удаление не требует специального вмешательства ОС. Для этого достаточно удалить каталог, в котором размещается приложение, со всем его содержимым. 17 вопрос: Обслуживание компьютера средствами ОС Предоставление основных средств обслуживания компьютера – одна из функций ОС. Обычно она решается внешним образом – включением в базовый состав ОС первоочередных служебных приложений: — Средства проверки дисков: надежность работы дисков определяет не только надежность работы компьютера в целом, но и безопасность хранения данных, ценность которых намного превышает стоимость самого компьютера. — Средства «сжатия» дисков: экономия памяти — Средства управления виртуальной памяти – современные ОС позволяют расширять оперативную память за счет создания так называемой виртуальной памяти на жестком диске. 29 вопрос: Системы управления базами данных. Транзакции. Целостность БД. Система управления БД представляет собой пакет прикладных программ и совокупность языковых средств, предназначенных для использования, сопровождения БД Системы управления БД делят на: персональные и многопользовательские. Обеспечение целостности БД означает выполнение ряда ограничений, соблюдение которых необходимо для поддержания непротиворечивости хранения данных. Среди ограничений целостности можно выделить ограничение диапазонов значений атрибутов и структурные ограничения на записи отношений. 1-ый тип ограничений предполагает контроль значений атрибутов отношений. Формулировка 2-ого требования тесно связана с понятием внешнего ключа. Внешние ключи служат для связи отношений. 30 вопрос: Реляционная модель данных. Понятие внешнего ключа. Наиболее распространенным способом организации данных является реляционный. Реляционные БД содержат информацию, организованную в виде прямоугольных таблиц. Каждая строка таблицы содержит информацию об одном отдельном объекте описываемой в БД системы, а каждый столбец – определенной характеристики этих объектов. Строки такой таблицы – записи, а столбцы – поля. Каждая запись должна отличаться от других значений главного ключа – определенного поля или совокупности полей, идентифицирующих запись. Для каждого поля определяется тип и формат. Чаще всего реляционная БД – это множество таблиц. Различные таблицы связаны между собой через общие поля. Внешние ключи служат для связи отношений. 31 вопрос: Ограничения и операции над отношениями. Реляционная алгебра и реляционное исчисление. Существует много подходов к определению реляционной алгебры, которые различаются набором операций и способами их интерпретации, но в принципе, более или менее равносильны. Набор основных алгебраических операций состоит из восьми операций, которые делятся на два класса – теоретико-множественные операции и специальные реляционные операции. В состав теоретико-множественных операций входят операции: — объединения отношений — пересечения отношений — взятия разности отношений — прямого произведения отношений Специальные реляционные операции включают: — ограничение отношения — проекцию отношения — соединение отношений — деление отношений 37 вопрос: Обеспечение целостности БД Обеспечение целостности БД означает выполнение ряда ограничений, соблюдение которых необходимо для поддержания непротиворечивости хранения данных. Среди ограничений целостности можно выделить ограничение диапазонов значений атрибутов и структурные ограничения на записи отношений. 1-ый тип ограничений предполагает контроль значений атрибутов отношений. Формулировка 2-ого требования тесно связана с понятием внешнего ключа. Внешние ключи служат для связи отношений. www.ronl.ru Реферат - Современные способы обработки информацииОГЛАВЛЕНИЕ ВВЕДЕНИЕ… 3 СОВРЕМЕННЫЕ СИСТЕМЫ ОБРАБОТКИ ИНФОРМАЦИИ… 8 ПРОБЛЕМЫ, СВЯЗАННЫЕ С КОМПЬЮТЕРНЫМИ СПОСОБАМИ ОБРАБОТКИ ИНФОРМАЦИИ… 8 ОТЛИЧИЯ КОМПЬЮТЕРНОЙ ОБРАБОТКИ ДАННЫХ ОТ НЕАВТОМАТИЗИРОВАННОЙ… 10 ЗАКЛЮЧЕНИЕ… 13 ВВЕДЕНИЕ Единство законов обработки информации в системах pазличной пpиpоды (физических, экономических, биологических и т.п.) является фундаментальной основой теоpии инфоpмационных пpоцессов, опpеделяющей ее общезначимость и специфичность. Объектом изучения этой теоpии является инфоpмация — понятие во многом абстpактное, сушествующее «само по себе» вне связи с конкpетной областью знания, в котоpой она используется. Инфоpмационные pесуpсы в совpеменном обществе игpают не меньшую, а неpедко и большую pоль, чем pесуpсы матеpиальные. Знания, кому, когда и где пpодать товаp, может цениться не меньше, чем собственно товаp. В связи с этим большая роль отводиться и способам обработки информации. Появляются всё более и более совершенные компьютеры, новые, удобные программы, современные способы хранения, передачи и защиты информации. С позиций pынка инфоpмация давно уже стала товаpом и это обстоятельство тpебует интенсивного pазвития пpактики, пpомышленности и теоpии компьютеpизации общества. Компьютеp как инфоpмационная сpеда не только позволил совеpшить качественный скачек в оpганизации пpомышленности, науки и pынка, но он опpеделил новые самоценные области пpоизводства: вычислительная техника, телекоммуникации, пpогpаммные пpодукты. Тенденции компьютеризации общества связаны с появлением новых пpофессий, связанных с вычислительной техникой, и различных категорий пользователей ЭВМ. Если в 60-70е годы в этой сфере доминировали специалисты по вычислительной технике (инженеpы-электpоники и программисты), создающие новые сpедства вычислительной техники и новые пакеты прикладных программ, то сегодня интенсивно pасшиpяется категоpия пользователей ЭВМ — пpедставителей самых pазных областей знаний, не являющихся специалистами по компьютеpам в узком смысле, но умеющих использовать их для pешения своих специфических задач. Пользователь ЭВМ должен знать общие пpинципы оpганизации инфоpмационных пpоцессов в компьютеpной сpеде, уметь выбpать нужные ему инфоpмационные системы и технические сpедства и быстpо освоить их пpименительно к своей пpедметной области. ИСТОРИЯ РАЗВИТИЯ СИСТЕМ ОБРАБОТКИ ИНФОРМАЦИИ По определению профессора Буаде под информацией (лат information — разъяснение, изложение, осведомленность) подразумевается «все то, что уменьшает степень неопределенности нашего знания о данном предмете». Таким образом, эта мера определяет полезность, ценность переданных сведений для конкретного получателя. Иначе говоря, если в полученных сведениях ничего нового для нас нет, то количество полученной информации будет равно нулю. Поэтому более общим является понятие «данные» — любые сведения без оценки их значимости для потребителя. До второй половины 19 века основу информационных технологий составляли перо, чернильница и бухгалтерская книга. Передача информации осуществлялась через посредников, почтальонов, курьеров. Такая связь была очень ненадёжной, зависела от множества посторонних факторов, таких как погода, здоровье курьера, даже его настроение. Продуктивность информационной обработки была крайне низкой, каждое письмо копировалось отдельно вручную, помимо счетов, суммируемых так же вручную, не было другой информации для принятия решений. На смену «ручной» информационной технологии в конце 19 века пришла «механическая». Изобретение пишущей машинки, телефона, диктофона, модернизация системы общественной почты — все это послужило базой для принципиальных изменений в технологии обработки информации и, как следствие, в продуктивности работы. По существу «механическая» технология проложила дорогу к формированию организационной структуры существующих учреждений. 40 — 60-е гг 20 века характеризуются появлением «электрической» технологии, основанной на использовании электрических пишущих машинок со съемными элементами, копировальных машин на обычной бумаге, портативных диктофонов. Они улучшили учрежденческую деятельность за счет повышения качества, количества и скорости обработки документов. Появление во второй половине 60-х годов больших производительных ЭВМ на периферии учрежденческой деятельности (в вычислительных центрах) позволило смесить акцент в информационной технологии на обработку не формы, а содержания информации. Это было началом формирования «электронной», или «компьютерной» технологии. Как известно информационная технология управления должна содержать как минимум 3 важнейших компонента обработки информации: учет, анализ и принятие решений. Эти компоненты реализуются в «вязкой» среде — бумажном «море» документов, которое становится с каждым годом все более необъятным. Существенным недостатком неавтоматизированных информационных систем является обособленность сбора, обработки и использования информации. Причем как отдельные работники, так и подразделения предприятия в целом не имеют доступа к «чужой» базе данных, при необходимости собирая требующуюся им информацию самостоятельно. Если провести аналогию со сферой производства и распределения энергии, то такое состояние соответствует средневековью, когда каждый потребитель энергии строил свою плотину с водяным колесом на расположенной рядом речке или ручье. При современном состоянии энергетики в эпоху электричества энергия производится централизованно и распределяется по сети каждому из потребителей, которые могут ее расходовать, сколько и когда им необходимо. По аналогии одна из основных целей автоматизации — снабдить каждого сотрудника, относящегося к любому подразделению предприятия, информацией в то время и в той форме и объеме, которые ему необходимы (естественно, в пределах его уровня доступа к секретной части базы данных). Для этого необходима единая интегрированная база данных предприятия, локальная вычислительная сеть и соответствующим образом оборудованные автоматизированные рабочие места (АРМ) для каждого из сотрудников. Такой подход подразумевает комплексную автоматизацию предприятия, т.е. создание компьютеризированной системы управления предприятием в целом, в которой подсистемы должны взаимодействовать, предоставлять оперативный доступ к информации, поддерживать принятие решения и т.п. Первые отечественные автоматизированные системы управления предприятием (АСУП) и системы обработки данных появились еще в 60-е годы. Они строились на базе информационных вычислительных центров предприятия (ИВЦ), оснащенных малопроизводительной, громоздкой вычислительной техникой коллективного пользования (часто одна вычислительная машина на все предприятие). Такие системы охватывали в основном задачи учета и планирования (во многих случаях все сводилось лишь к расчету заработной платы и учету кадров). Трудности работы с данными были обусловлены использованием в информационной системе наряду с вычислительной техникой ручных способов сбора, перемещения информации и подготовки ее для передачи на ИВЦ на бумажном носителе, с которого она для ввода в вычислительную машину, в свою очередь, переносилась на перфокарты. Результаты обработки информации также выдавались на бумажный носитель. Впоследствии понятие АСУП так и осталось связанным с системами первого поколения на базе вычислительных машин коллективного пользования с использованием бумажного носителя информации. В 80-е годы в США получил широкое распространение термин «автоматизированный офис». Речь идет об использовании компьютерной техники для автоматизации ряда функций управления: подготовка, обработка, редактирование текстов, их систематизация и хранение; поиск информации; информационное обслуживание руководящих работников и т.п. Внедрение такого рода систем позволило изменить функции ряда работников (например, секретарей, референтов), уменьшить их количество и повысить производительность труда. Эта концепция автоматизированного офиса сохранилась и продолжает развиваться на базе современных технических и программных, средств. Ряд крупных фирм — производителей программного обеспечения (Corel, Microsoft) выпускают все новые и новые интегрированные пакеты программ под названием «Офис» (MSOffice95, MSOffice97, CorelOffice97, Русский Офис и т.п.). СОВРЕМЕННЫЕ СИСТЕМЫ ОБРАБОТКИ ИНФОРМАЦИИ В современных системах обработки информации используются цифровые технологии, исключающие бумажный носитель и осуществляющие обмен данными по сети между АРМ технологии предполагают также объединение совместных усилий группы сотрудников над решением какой-либо задачи (т.е. организацию в сети рабочей группы), обмен мнениями в ходе обсуждения в сети какого-либо вопроса в режиме реального времени (телеконференция), оперативный обмен материалами через электронную почту, электронные доски объявлений и т.п. Для подобных систем, охватывающих работу предприятия в целом, получил распространение термин «корпоративные системы управления бизнес-процессами». Для подобных систем характерно использование технологии «клиент-сервер», в том числе и подключение удаленных пользователей через глобальную сеть Internet. He редкость, когда система объединяет в общее информационное пространство более чем 40 тысяч пользователей, размещающихся по разным странам и континентам. Одним из таких примеров может служить компания McDonalds, имеющая свои подразделения по всему миру, в том числе и в России. ПРОБЛЕМЫ, СВЯЗАННЫЕ С КОМПЬЮТЕРНЫМИ СПОСОБАМИ ОБРАБОТКИ ИНФОРМАЦИИ Просто расстановка на рабочих местах сотрудников персональных компьютеров и соединение их в локальную сеть вряд ли даст положительный эффект в управлении предприятием, если коренным образом не пересмотреть существующую информационную структуру. Нельзя автоматизировать устаревшие способы работы, персональный компьютер может превратиться в средство для высокоскоростного производства новых бумаг. Так, по результатам анализа работы предприятий в США описан случай, когда для включения временного служащего в списочный состав предприятия было оформлено 43 различных документа, всего 113 страниц, включая требуемые копии. Это происходит потому, что в информационной системе существуют лишние связи (коммуникации) между подразделениями и отдельными служащими. При этом для нормального функционирования предприятия требуется не более 20-30 внутренних коммуникаций, на самом же деле их в 3-4 раза больше. Причем практика автоматизации управления предприятием показывает, что установка производительного компьютерного оборудования может привести к увеличению количества коммуникаций за счет печатания «на всякий случай» лишних копий, и их рассылки. Поэтому этапу внедрения на предприятии компьютерной техники должно предшествовать сокращение лишних коммуникаций (сотрудников) до оптимального уровня. Одна из распространённых опасностей: приписывание мнимого могущества компьютеру. Персональный компьютер, каким бы дорогим и производительным он не был, это всего лишь счетная машина, которая не в состоянии решить наши сложные экономические проблемы, если мы сами не в состоянии правильно сформулировать задачу. Большое значение имеют также социально-психологические проблемы, возникающие в коллективе при внедрении компьютерной техники, что вызывает, как правило, сокращение числа сотрудников, улучшение (а значит, и усиление) контроля за деятельностью остальных сотрудников и т.п. Компьютеризация существенно изменяет технологию бухгалтерского учета и анализа хозяйственной деятельности. В неавтоматизированной системе ведения бухгалтерского учета обработка данных о хозяйственных операциях легко прослеживается и обычно сопровождается документами на бумажном носителе информации — распоряжениями, поручениями, счетами и учетными регистрами, например журналами учета. Аналогичные документы часто используются и в компьютерной системе, но во многих случаях они существуют только в электронной форме. Более того, основные учетные документы (бухгалтерские книги и журналы) в компьютерной системе бухгалтерского учета представляют собой файлы данных, прочитать или изменить которые без компьютера невозможно. Компьютерная технология характеризуется рядом особенностей, которые следует учитывать при оценке условий и процедур контроля. ОТЛИЧИЯ КОМПЬЮТЕРНОЙ ОБРАБОТКИ ДАННЫХ ОТ НЕАВТОМАТИЗИРОВАННОЙ Единообразное выполнение операций. Компьютерная обработка предполагает использование одних и тех же команд при выполнении идентичных операций бухгалтерского учета, что практически исключает появление случайных ошибок, обыкновенно присущих ручной обработке. Напротив, программные ошибки (или другие систематические ошибки в аппаратных либо программных средствах) приводят к неправильной обработке всех идентичных операций при одинаковых условиях. Разделение функций. Компьютерная система может осуществить множество процедур внутреннего контроля, которые в неавтоматизированных системах выполняют разные специалисты. Такая ситуация оставляет специалистам, имеющим доступ к компьютеру, возможность вмешательства в другие функции. В итоге компьютерные системы могут потребовать введения дополнительных мер для поддержания контроля на необходимом уровне, который в неавтоматизированных системах достигается простым разделением функций. К подобным мерам может относиться система паролей, которая предотвращает действия, недопустимые со стороны специалистов, имеющих доступ к информации об активах и учетных документах через терминал в диалоговом режиме. Потенциальные возможности появления ошибок и неточностей. По сравнению с неавтоматизированными системами бухгалтерского учета компьютерные системы более открыты для несанкционированного доступа, включая лиц, осуществляющих контроль. Они также открыты для скрытого изменения данных и прямого или косвенного получения информации об активах. Чем меньше человек вмешивается в машинную обработку операций учета, тем ниже возможность выявления ошибок и неточностей. Ошибки, допущенные при разработке или корректировке прикладных программ, могут оставаться незамеченными на протяжении длительного периода. Потенциальные возможности усиления контроля со стороны администрации. Компьютерные системы дают в руки администрации широкий набор аналитических средств, позволяющих оценивать и контролировать деятельность фирмы. Наличие дополнительного инструментария обеспечивает укрепление системы внутреннего контроля в целом и, таким образом, снижение риска его неэффективности. Так, результаты обычного сопоставления фактических значений коэффициента издержек с плановыми, а также сверки счетов поступают к администрации более регулярно при компьютерной обработке информации. Кроме того, некоторые прикладные программы накапливают статистическую информацию о работе компьютера, которую можно использовать в целях контроля фактического хода обработки операций бухгалтерского учета. Инициирование выполнения операций в компьютере. Компьютерная система может выполнять некоторые операции автоматически, причем их санкционирование не обязательно документируется, как это делается в неавтоматизированных системах бухгалтерского учета, поскольку сам факт принятия такой системы в эксплуатацию администрацией предполагает в неявном виде наличие соответствующих санкций. Таким образом, способ обработки хозяйственных операций при ведении бухгалтерского учета оказывает существенное влияние на организационную структуру фирмы, а также на процедуры и методы внутреннего контроля. Качественно изменяется труд бухгалтера и его взаимодействие с администрацией. Однако автоматизации труда бухгалтера мешают специфические условия работы в российских условиях, например большое количество документов, противоречащих друг другу. Дополнительные трудности ожидаются в ближайшие 3 года в связи с переходом России на международные стандарты учета. ЗАКЛЮЧЕНИЕ СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 1. Уч-к “Информатика” Макарова Н. В., Матвеева Л. А., Бройдо В. Л. М.: «Финансы и статистика» 1997 г. 2. “Введение в информационный бизнес”: Учебное пособие Голосов О.В., Охрименко С.А., Хорошилов А.В., под ред-й Тихомирова В.П., Хорошилова А.В. — М.: Финансы и статистика, 1996. www.ronl.ru Курсовая работа - Понятие информации. Свойства информации. Обработка информации1 вопрос: Понятие информации. Свойства информации. Обработка информации. Информация – совокупность каких либо сведений, передаваемых людьми устно, письменно либо каким либо др. способом. Информационные процессы реализуются с помощью сигналов, сооб-й и данных: 1) сигнал представляет собой любой процесс, несущий информацию. 2) сообщ-е представляет собой информацию в упорядоченном виде и предназначенное для передачи. 3) данные – это информация, представленная в формализованном виде и предназначенная для обработки техническими средствами (ЭВМ). Данные — это зарегистрированные сигналы, несут информацию о событиях в материальном мире. С точки зрения информатики информация обладает следующими свойствами: Объективность, полнота, достоверность, адекватность, доступность, актуальность. В ходе информационного процесса данные преобразуются из одного вида в другой с помощью методов: обработка данных включает в себя множество различных операций, среди которых можно выделить основные: 1) сбор данных – накопление информации 2) формализация данных – приведение данных, поступающих из различных источников к одной одинаковой форме, чтобы сделать их сопоставимыми. 3) фильтрация – отсеивание лишнего, при этом уменьшается уровень шума и достоверность информации возрастает 4) сортировка данных – упорядочение данных по заданному признаку для удобства пользования. 5) архивация данных – организация хранения данных в удобной и легко доступной форме. 6) защита данных – комплекс мер, направленных на предотвращение утраты данных. 7) транспортировка данных – прием и передача данных между удаленными участниками информационного процесса. 2 вопрос: Предмет и задачи информатики Информатика – техническая наука, систематизирующая прием, создание, хранение, воспроизведение данных, относится к разделу технологических наук. Имеет 2-ое название – информационные технологии Предмет информатики составляет: 1) аппаратное обеспечение средств вычислительной техники. 2) программное обеспечение средств вычислительной техники 3) средства взаимодействия аппаратного и программного обеспечения 4) средства взаимодействия человека с аппаратным и программным обеспечением. Особое внимание уделяется вопросам взаимодействия. В информатике для этого есть специальное понятие – интерфейс. Взаимодействие человека с программным и аппаратным обеспечением называется пользовательским интерфейсом. Различают аппаратный, программный, аппаратно-программный интерфейсы. Основной задачей информатики явл-ся систематизация приемов и методов работы с аппаратными и программными средствами. В составе основной задачи можно выделить: — архитектуру вычислительных систем (ВС) — интерфейсы ВС — программирование — преобразование данных — защита данных — автоматизация — стандартизация 3 вопрос: Представление информации в компьютере Для унификации представления данных в компьютере используется кодирование, т.е. выражение данных одного типа через данные др. типа. В вычислительной технике кодирование называется двоичным и основано на представлении данных последовательностью всего 2-ух знаков (1,0) Одним битом можно выразить 2 понятия (0,1). Двумя битами – 4 (00,01,10,11). i=log2 N формула Ф.Хартли N=2i N – количество независимых кодируемых значений. i – разрядность двоичного кодирования 4 вопрос: Кодирование текстовых данных Если каждому символу алфавита сопоставить определенное целое число (порядковый номер), то с помощью двоичного кода можно кодировать текстовую информацию. 8-ми двоичных разрядов достаточно для кодирования 256 различных символов. Этого хватит для того, чтобы выразить различными комбинациями 8-ми видов все символы английского и русского языка. Лидером в разработке техники явл-ся США. 5 вопрос: Кодирование графических данных Графические данные кодируются с помощью растра – деления поля на мельчайшие точки. Поскольку линейные координаты и индивидуальные свойства каждой точки можно выразить с помощью целых чисел, то значит растровое кодирование можно выразить в двоичной форме. Считается, что для того чтобы правильно передать черно-белое изображение достаточно иметь комбинацию с 256-ю градациями серого цвета. Для кодирования цвета нужно затратить 24 разряда, при этом система кодирования обеспечивает 16,5 млн оттенков разных цветов. Такой режим называется TrueColor. 65536 цветов – 16-ти разрядное кодирование – HighColor; 256 цветов – 8 разрядов – индексное кодирование. 6 вопрос: Единицы представления, измерения и хранения данных Для измерения, хранения информации используются группы из 8-ми битов, которые называются байтом. Группа из 16 бит – слово Группа из 32 бит – удвоенное слово В информатике для измерения данных используют тот факт, что разные типы данных имеют универсальное двоичное представление и поэтому введены единицы основанные на нем. Наименьшей единицей является 1 байт. 1 байт = 8 бит 1 Кбайт = 1024 байт = 210 байт 1 Мбайт = 1024 Кбайт = 220 1 Гбайт = 1024 Мбайт При хранении данных решаются 2 проблемы: как сохранить данные в наиболее компактном виде и как обеспечить им удобный и быстрый доступ. Для обеспечения доступа необходимо чтобы данные имели упорядоченную структуру, но при этом образуется дополнительная нагрузка в виде адресных данных. Поскольку адресные данные тоже имеют размер и подлежат хранению. Хранить данные в виде мелких единиц, таких как байт, неудобно. Поэтому в качестве единицы хранения данные принят объект переменой длины, называемый файлом. Файл – последовательность произвольного числа байтов, обладающая уникальным собственным именем. Обычно в файле хранят данные, относящиеся к одному типу. Тип данных определяет тип файла. Особое внимание уделяется имени файла. Оно фактически несет в себе адресные данные. Без этих адресных данных файл нести информацию не может. 7 вопрос: Программные средства обеспечения вычислительных процессов Программы системного типа называются драйверами. ОС – программы для обеспечения пользовательского интерфейса. Если компьютер оснащен программным обеспечением (ПО) системного уровня, то он подготовлен к установке программ более высоких уровней, к взаимодействию с пользованием => наличие ядра ОС – это непременное условие для возможности работы человека с вычислительной системой. Программы служебного уровня взаимодействуют как с программами базового уровня, так и с программами системного уровня. Основное назначение служебных программ состоит в автоматизации работ по проверке, наладке и настройке компьютерной системы. В разработке служебных программ существует 2 пути: 1) автономное функционирование программ 2) встраивание программ в ОС 8 вопрос: Классификация программных средств Прикладные программы – это те, с помощью которых на данном рабочем месте выполняются конкретные задания. Спектр этих заданий чрезвычайно широк: 1) текстовые редакторы и процессоры 2) графические редакторы – предназначены для создания и обработки графических изображений. В данном классе различают следующие категории: растровые редакторы, векторные и программные средства для создания и обработки трехмерной (3D) графики. 3) системы управления базами данных (СУБД) Базы данных (БД) – огромные массивы данных, организованные в табличные структуры. 4) электронные таблицы – аналогичны БД, но основной акцент делается не на хранение данных, а на преобразование их в соответствии с внутренним содержанием. 5) Системы автоматизированного проектирования (САПР): AutoCAD, ArchiCAD. 6) Бухгалтерские программы (1-С), (БАРС) 7) Служебные программные средства 9 вопрос: Базовая конфигурация ПК. В состав базовой конфигурации ПК включают: Системный блок, клавиатуру, монитор. Монитор – устройство визуального представления данных: — электронно-лучевые; — жидкокристаллические. Размер монитора определяется размером диагонали экрана. Основу жидкокристаллического монитора составляет матрица к которой подводится управляющее напряжение. Представляет собой тонкую пленку, которая меняет свой цвет в зависимости от поданного напряжения – 16,5 млн. цветов. Клавиатура – явл-ся устройством ввода информации. 101 клавиша – минимум. Комбинация монитора и клавиатуры обеспечивает простейший интерфейс пользователя. Мышь – устройство управления манипуляционного типа. Перемещение мыши по поверхности стола синхронизовано с перемещением графического объекта, т.е. указателя мыши на экране монитора. Для мыши драйвер не требуется. Комбинация монитора и мыши обеспечивает наиболее современный вид интерфейса – графический. Системный блок – основной узел ПК 10 вопрос: Устройство системного блока Все основные компоненты компьютера находятся внутри системного блока: системная плата с процессором и оперативной памятью, накопители на жестких и гибких дисках, СD-ROM и др. Кроме этого, в системном блоке находится блок питания. Основным аппаратным компонентом компьютера является материнская плата. Основное ее назначение – согласование работы всех устройств и обеспечение программного интерфейса. К основным входящим устройствам МП относятся: — чипсет – набор микросхем. Качество и возможности МП определяются чипсетами. Чипсеты: северный мост и южный мост. Назначение северного моста: соединение процессора с разными видами памяти. Назначение южного моста: контроллер всех периферийных устройств. Процессор состоит из ячеек, называемых регистрами. В регистрах производится обработка данных по командам программы. С основными устройствами процессор связан шинами: шина данных, шина команд. Шина данных 64-ех разрядная. По этой шине происходит копирование данных из оперативной памяти в регистры процессора и обратно. По шине команд поступают команды из оперативной памяти в процессор. Совокупность всех возможных команд образует систему команд процессора. Процессоры, относящиеся к одному семейству имеют одинаковую систему команд. 18 вопрос: Понятие алгоритма Алгоритм – это точное предписание, которое определяет процесс, ведущий от исходных данных к требуемому конечному результату. Применительно к ЭВМ алгоритм определяет вычислительный процесс, начинающийся с отработки некоторой совокупности возможных исходных данных. Если вычислительный процесс заканчивается получением результатов, то говорят, что соответствующий алгоритм применим к рассматриваемой совокупности исходных данных. Любой применимый алгоритм обладает свойствами: 1) результативностью 2) определенностью 3) массовостью Результативность означает возможность получения результатов после исполнения конечного количества операций. Определенность состоит в совпадении полученных данных независимо от пользователя и применяемых технических средств. Массовость заключается в возможности применения алгоритма к целому классу однотипных задач, различающихся конкретными значениями исходных данных. Для задания алгоритма необходимо описать следующие его элементы: 1) набор объектов, составляющих совокупность возможных исходных данных, промежуточных и конечных результатов. 2) правило начала 3) правило непосредственной переработки информации (описание последовательности действий) 4) правило окончания 5) правило извлечения результатов Программа для ЭВМ представляет собой описание алгоритма и данных на некотором языке программирования. 19 вопрос: Способы описания алгоритмов На практике наиболее распространены следующие формы описания алгоритмов: 1) словесная (запись на естественном языке) 2) графическая (изображение из графических символов) 3) псевдокоды на условном алгоритмическом языке, включающие в себя как элементы программирования, так и фразы естественного языка. 4) программная (тексты на языках программирования) Словесный способ записи алгоритма представляет собой описание последовательных этапов обработки данных. А задается в произвольном изложении на естественном языке. Графический способ описания алгоритмов явл-ся более компактным и наглядным по сравнению с словесным. При графич. представлении алгоритм представляется в виде последовательности функций, связанных между собой блоком, каждый из которых соответствует выполнению 1 или нескольких действий. Такое графическое представление А назыв-ся схемой или блок-схемой. Блок-схема к каждому действию соответствует геометрической фигуре, представленной в виде блочного символа. Блочные символы соединены линиями перехода. Псевдокод представляет собой систему обозначения правил, предназначенных для единообразной записи алгоритма. Он занимает промежуточное место между естественным и формальным языком. 20 вопрос: Линейная алгоритмическая структура Алгоритмы, в которых команды выполняются последовательно одна за другой, называются линейными. Для того чтобы сделать алгоритм более наглядным, часто используют блок-схемы. Различные элементы алгоритма изображаются с помощью различных геометрических фигур: 1) ПРОЦЕСС (прямоугольник): применяется для обозначения действия или последовательности действий, изменяющих значение, форму представления или размещения данных. 2) ВХОД_ВЫХОД (параллелограмм): преобразование данных в форму пригодную для обработки или отображения результатов обработки 3) РЕШЕНИЕ (ромб): вопрос, условие или сравнение 4) ПУСК_ОСТАНОВКА (овал): начало, конец или прерывание процесса обработки данных. 21 вопрос: Алгоритмическая структура «ветвление» Вычислительный процесс называется ветвящимся, если для его реализации предусмотрено несколько направлений или ветвей. Каждое отдельное направление обработки данных является отдельной ветвью вычислений. Выбор направления зависит от заранее выбранного признака, который может относиться к исходным данным, к промежуточным или к конечным результатам. 2 ветви ветвящегося процесса: простой. Направление ветвления выбирается логической проверкой. В результате которой возможны 2 ответа: — да, если условие выполнено — нет Следует иметь в виду, что на схеме алгоритма должны быть показаны все направления вычислений, в зависимости от определенного условия. При однократном прохождении программы процесс реализуется только по одной ветви, а остальные исключаются. Любая ветвь, осуществляющая вычисления, должна приводить к завершению вычислительного процесса. 22 вопрос: Алгоритмическая структура «цикл» Цикл – это многократно повторяющийся участок программы. В организации цикла можно выделить следующие этапы: 1) подготовка или инициализация цикла 2) вычисление цикла или тела цикла 3) модификация параметров 4) проверка условия окончания цикла Порядок выполнения этих этапов может меняться. В зависимости от проверки условия окончания цикла, различают циклы с нижним и верхним окончаниями. Цикл называется детерминированным если число повторений цикла заранее известно. Цикл называется итерационным если число повторений заранее неизвестно. В итерационных алгоритмах необходимо обеспечить обязательное условие выхода из цикла. 23 вопрос: Этапы подготовки и решения задач на ЭВМ В процессе подготовки решения задач можно выделить следующие этапы: 1) постановка задачи 2) математическое описание 3) выбор и основание метода решения 4) алгоритмизация вычислительного процесса 5) составление программы 6) отладка программы 7) решение задачи и анализ результатов. Все этапы связаны друг с другом. Математическое описание характеризуется математической формализацией задачи, при которой существующее отношение между величинами, определяющими результат, выражается посредством математических формул. Математическая модель должна удовлетворять 2-ум требованиям: 1) реалистичности – правильное отражение моделью наиболее существенных черт исследуемого явления 2) реализуемости – достигается отличием от второстепенных деталей, чтобы свести задачу к проблеме с известным решением. 25 вопрос: Компоненты, образующие алгоритмический язык. Компоненты, образующие алгоритмический язык: 1) алфавит 2) синтаксис 3) семантика Алфавит – основной набор символов. Синтаксис – правила построения фраз, позволяющие определять правильно или нет написана та или иная фраза. Семантика – определяет смысловое значение предложений языка. Понятие языка определяется во взаимодействии синтаксических и семантических правил. Синтаксическое правила показывают как образуется данное понятие из других понятий и букв алфавита. 26 вопрос: Стандартные функции. Аргументы функций. Запись алгоритмических выражений. Типы операций: 1) арифметические (+,-,/,*,^) 2) логические (и, или, не) 3) конкатенация (&) Различают выражения арифметические, логические и строковые. Арифметические – для определения числового значения. Все функции (стандартные) работают с аргументами. Аргументы записываются в скобках. В качестве аргументов используются константы, аргументы или выражения. Операции выполняются по приоритету. 27 вопрос: Базы данных и информационные системы (ИС) База данных (БД) – это информационная модель, позволяющая в упорядоченном виде хранить данные о группе объектов. Обладающих одинаковым набором свойств. ИС представляет собой систему, реализующую автоматизированный сбор, обработку и манипулирование данными и включающая технические средства обработки данных: — программное обеспечение; — обслуживающий персонал; Современно формой ИС явл-ся банки данных, которые включают в свой состав: вычислительную систему, одну или несколько БД, систему управления базами данных (СУБД) и набор прикладных программ (ПП) Основные функции БД: 1) хранение данных и их защита 2) изменение (обновление, добавление) хранимых данных 3) поиск и отбор данных по запросам пользователя 4) обработка данных, вывод результата. БД обеспечивает хранение информации и представляет собой поименованную совокупность данных, организованных по определенным правилам, включающих общие принципы описания, хранения и манипулирования данными. 28 вопрос: Модели данных К числу важнейших моделей данных относятся: 1) иерархическая 2) сетевая 3) реляционная 4) объектно-ориентированная В иерархической модели данные представлены в виде древовидной структуры. Примером данной системы может служить Каталог папок windows , с которым можно работать, запустив Проводник. Сетевой базой данных фактически является Всемирная паутина глобальной компьютерной сети Интернет. Гиперссылки связывают между собой сотни миллионов документов в единую распределенную сетевую базу данных. Реляционная модель данных представляется в виде двухмерной таблицы. Достоинства: простота. При увеличении числа таблиц в БД уменьшается скорость. 38 вопрос: Языки запросов QBE и SQL Хранимые в базе данные можно обрабатывать с помощью имеющихся средств просмотра и редактирования таблицы. Для повышения эффективности обработки создаются и выполняются запросы. Запрос представляет собой специальным образом описанное требование, определяющее состав производимых над базой данных операций по выбору и модификации хранимых данных. Для подготовки запросов используют 2 основных языка описания запросов: 1) QBE – язык запросов по образцу 2) SQL – структурированный язык запросов По возможностям эти языки эквивалентны. Главное отличие между ними: способ формирования запросов. QBE – ручное или визуальное формирование запроса. SQLпредполагает программирование запроса. Позволяет создавать сложные запросы путем заполнения предполагаемых системой управления БД (СУБД). SQL основан на реляционном исчислении с переменными записями. Предназначен для выполнения операций над таблицами (создание, удаление, изменение структуры) и над данными таблиц (выборка, изменение, удаление, добавление) Язык SQL – непроцедурный язык и не содержит операторов управления и организации подпрограмм, а также ввода, вывода. В связи с этим язык автономно не используется и обычно погружен в среду СУБД. 39 вопрос: Основные типы данных в БД Тип данных: 1) Текстовый – текст или комбинация текста и чисел. 2) Числовой – числовые данные, используемые для математического исчисления, за исключением финансовых расчетов 3) Поле МЕМО – длинный текст (примечания) 4) дата/время – дата и время 5) Счетчик – автоматическая вставка последовательных увеличивающихся на единицу данных 6) Логический – только одно из 2-ух возможных значений (ДА-НЕТ, ЛОЖЬ-ИСТИНА и т.д.) 7) Поле объекта OLE – объекты, созданные в других программах. Могут быть встроенными и связанными. 8) Гиперссылка – поля, в которых хранятся гиперссылки 9) мастер подстановок – создает поле, позволяющее выбрать значение из другой таблицы. 40 вопрос: Компьютерные вирусы Компьютерный вирус – это программный вход, предназначенный для проведения несанкционированных действий на несущем компьютере. Основные типы компьютерных вирусов: — программные; — загрузочные; — макровирусы; — трояны. Программные вирусы различными способами внедряются в исполнимые программы и обычно активизируются при их запуске. После запуска зараженной программы вирус находится в оперативной памяти компьютера и является активным вплоть до момента выключения компьютера или перезагрузки. Загрузочные вирусы записывают себя в загрузочный сектор диска. При загрузке операционной системы с зараженного диска вирусы внедряются в оперативную память компьютера. В дальнейшем загрузочный вирус ведет себя также как и программный. Макровирусы заражают файлы документов Wordи Excel. Макровирусы являются фактически макрокомандами (макросами), которые встраиваются в документ. 41 вопрос: Методы защиты от компьютерных вирусов Существует 3 рубежа защиты: 1) Предотвращение получения вирусов 2) Предотвращение вирусной атаки, если вирус все таки поступил на компьютер. 3) Предотвращение разрушительных последствий, если атака все таки произошла. 42 вопрос: Средства антивирусной защиты Основным средством антивирусной защиты информации является резервное копирование наиболее ценной информации. Программные средства антивирусной защиты предоставляют следующие возможности: 1) создание образа жесткого диска на внешних носителях (образ диска – точная копия диска) 2) регулярное сканирование жестких дисков в поисках компьютерных вирусов. Контроль за изменением размеров и других атрибутов файла. 12 вопрос: Функции операционных систем. Графические и неграфические ОС. ОС – это комплекс взаимосвязанных программ, предназначенных для того, чтобы обеспечить пользователям и программам удобный способ общения. В функции операционной системы входят: — осуществление диалога с пользователем; — ввод, вывод и управление данными; — планирование и организация процесса обработки программ; — распределение ресурсов; — запуск программ на выполнение; — всевозможные вспомогательные операции обслуживания; — передача информации между различными внутренними устройствами; — программная поддержка работы периферийных устройств. 13 вопрос: Организация файловой системы. Таблицы размещения файлов. Все современные дисковые операционные системы обеспечивают создание файловой системы, предназначенной для хранения данных на дисках и обеспечение доступа к ним. Принцип организации файловой системы – табличный. Поверхность жесткого диска рассматривается как трехмерная матрица, измерениями которой являются номера поверхности, цилиндра и сектора. Под цилиндром понимается совокупность всех дорожек, принадлежащих разным поверхностям и находящихся на равном удалении от оси вращения. Данные о том, в каком месте диска записан тот или иной файл, хранятся в системной области диска в специальных таблицах размещения файлов. Наименьшей физической единицей хранения данных является сектор. Размер сектора равен 512 байт. 14 вопрос: Обслуживание файловой системы. Создание и именование файлов. Создание каталогов. Несмотря на то что данные о местоположении файлов хранятся в табличной структуре, пользователю они представляются в виде иерархической структуры – людям так удобнее, а все необходимые преобразования берет на себя операционная система. К функции обслуживания файловой структуры относятся следующие операции, происходящие под управлением операционной системы: — создание файлов и присвоение им имен; — создание каталогов (папок) и присвоение им имен; — переименование файлов и папок; — копирование и перемещение файлов между дисками компьютера и между папками одного диска; — удаление файлов и папок; — управление атрибутами файлов. Файл – это именованная последовательность байтов произвольной длины. Поскольку из этого определения вытекает, что файл может иметь нулевую длину, то фактически создание файла состоит в присвоении ему имени и регистрации его в файловой системе – это одна из функций операционной системы. Даже когда мы создаем файл, работая в какой-то прикладной программе, в общем случае для этой операции привлекаются средства операционной системы. По способам именования файлов различают «короткое» и «длинное» имя. «Длинное» имя может содержать до 256 символов. Этого вполне достаточно для создания содержательных имен файлов. «Длинное» имя может содержать любые символы, кроме 9-ти специальных. В имени разрешается использовать пробелы и несколько точек. Расширением имени считаются все символы, идущие после последней точки. Каталоги (папки) – важные элементы иерархической структуры, необходимые для обеспечения удобного доступа к файлам, если файлов на носителе слишком много. Файлы объединяются в каталоги по любому общему признаку, заданному пользователем. Каталоги низких уровней вкладываются в каталоги более высоких уровней и являются для них вложенными. Верхним уровнем вложенности иерархической структуры является корневой каталог диска. Все современные ОС позволяют создавать каталоги. Правила присвоения имени каталогу ничем не отличается от правил присвоения имени файлу, хотя негласно для каталогов не принято задавать расширения имен. 15 вопрос: Копирование и перемещение файлов и папок. Удаление файлов и папок. Навигация в файловой системе. Атрибуты файлов. В неграфических операционных системах операции копирования и перемещения файлов выполняются вводом прямой команды в поле командной строки. При этом указывается имя команды, путь доступа к каталогу-источнику и путь доступа к каталогу-приемнику. Средства удаления данных не менее важны для ОС, чем средства их создания, поскольку ни один носитель данных не обладает бесконечной емкостью. Существует как минимум 3 режима удаления данных: удаление, уничтожение и стирание, хотя ОС обеспечивают только 2 первых режима. Удаление файлов является временным. Уничтожение файлов происходит при их удалении в ОС MS-DOS или при очистке Корзины. В этом случае файл полностью удаляется из файловой структуры операционной системы, но на уровне файловой системы диска с ним происходят лишь незначительные изменения. Навигация по файловой структуре является одной из наиболее используемых функций ОС. Удобство этой операции часто воспринимают как удобство работы с ОС. В ОС, имеющих интерфейс командной строки, навигацию осуществляют путем ввода команд перехода с диска на диск или из каталога в каталог. В связи с крайним неудобством такой навигации, широкое применение нашли специальные служебные программы, называемые файловыми оболочками. Кроме имени и расширения имени файла ОС хранит для каждого файла дату его создания (изменения) и несколько флатовых величин, называемых атрибутами файла. Атрибуты – это дополнительные параметры, определяющие свойства файлов. ОС позволяет их контролировать и изменять; состояние атрибутов учитывается при проведении автоматических операций с файлами. Основных атрибутов четыре: — только для чтения – файл не предназначен для внесения изменений — скрытый – мера защиты против случайного повреждения файла. — системный – файлы, обладающие важными функциями в ОС — архивный 16 вопрос: Управление установкой, исполнением и удалением приложений. От того, как ОС управляет работой приложений, во многом зависит надежность всей вычислительной системы. ОС должна предоставлять возможность прерывания работы приложений по желанию пользователя и снятия сбойной задачи без ущерба для работы других приложений. При этом требование надежности операционной ОС может входить в противоречие с требованием ее универсальности. Для правильной работы приложений на компьютере они должны пройти операцию, называемую установкой. Необходимость в установке связана с тем, что разработчики программного обеспечения не могут заранее предвидеть особенности аппаратной и программной конфигурации вычислительной системы, на которой предстоит работать их программам. Таким образом, установочный пакет программного обеспечения, как правило, представляет собой не законченный программный продукт, а полуфабрикат, из которого в процессе установки на компьютере формируется полноценное рабочее приложение. При этом осуществляется привязка приложения к существующей аппаратно-программной среде и его настройка на работу именно в этой среде. Процесс удаления приложений, как и процесс установки, имеет свои особенности и может происходить под управлением вычислительной системы. В таких ОС, где каждое приложение самообеспечено собственными ресурсами, его удаление не требует специального вмешательства ОС. Для этого достаточно удалить каталог, в котором размещается приложение, со всем его содержимым. 17 вопрос: Обслуживание компьютера средствами ОС Предоставление основных средств обслуживания компьютера – одна из функций ОС. Обычно она решается внешним образом – включением в базовый состав ОС первоочередных служебных приложений: — Средства проверки дисков: надежность работы дисков определяет не только надежность работы компьютера в целом, но и безопасность хранения данных, ценность которых намного превышает стоимость самого компьютера. — Средства «сжатия» дисков: экономия памяти — Средства управления виртуальной памяти – современные ОС позволяют расширять оперативную память за счет создания так называемой виртуальной памяти на жестком диске. 29 вопрос: Системы управления базами данных. Транзакции. Целостность БД. Система управления БД представляет собой пакет прикладных программ и совокупность языковых средств, предназначенных для использования, сопровождения БД Системы управления БД делят на: персональные и многопользовательские. Обеспечение целостности БД означает выполнение ряда ограничений, соблюдение которых необходимо для поддержания непротиворечивости хранения данных. Среди ограничений целостности можно выделить ограничение диапазонов значений атрибутов и структурные ограничения на записи отношений. 1-ый тип ограничений предполагает контроль значений атрибутов отношений. Формулировка 2-ого требования тесно связана с понятием внешнего ключа. Внешние ключи служат для связи отношений. 30 вопрос: Реляционная модель данных. Понятие внешнего ключа. Наиболее распространенным способом организации данных является реляционный. Реляционные БД содержат информацию, организованную в виде прямоугольных таблиц. Каждая строка таблицы содержит информацию об одном отдельном объекте описываемой в БД системы, а каждый столбец – определенной характеристики этих объектов. Строки такой таблицы – записи, а столбцы – поля. Каждая запись должна отличаться от других значений главного ключа – определенного поля или совокупности полей, идентифицирующих запись. Для каждого поля определяется тип и формат. Чаще всего реляционная БД – это множество таблиц. Различные таблицы связаны между собой через общие поля. Внешние ключи служат для связи отношений. 31 вопрос: Ограничения и операции над отношениями. Реляционная алгебра и реляционное исчисление. Существует много подходов к определению реляционной алгебры, которые различаются набором операций и способами их интерпретации, но в принципе, более или менее равносильны. Набор основных алгебраических операций состоит из восьми операций, которые делятся на два класса – теоретико-множественные операции и специальные реляционные операции. В состав теоретико-множественных операций входят операции: — объединения отношений — пересечения отношений — взятия разности отношений — прямого произведения отношений Специальные реляционные операции включают: — ограничение отношения — проекцию отношения — соединение отношений — деление отношений 37 вопрос: Обеспечение целостности БД Обеспечение целостности БД означает выполнение ряда ограничений, соблюдение которых необходимо для поддержания непротиворечивости хранения данных. Среди ограничений целостности можно выделить ограничение диапазонов значений атрибутов и структурные ограничения на записи отношений. 1-ый тип ограничений предполагает контроль значений атрибутов отношений. Формулировка 2-ого требования тесно связана с понятием внешнего ключа. Внешние ключи служат для связи отношений. www.ronl.ru Доклад - Организация информации - Информатика, программированиеПредставление и обработка информации Информатика и информационные технологии Информатика [computerscience] – научное направление, занимающееся изучением законов, методов и способов накапливания, обработки и передачи информации с помощью ЭВМ и других технических средств. Предметом изучения информатики являются информационные технологии и их применение для решения прикладных задач. Технология практически определяет что, как и сколько нужно сделать, чтобы получить требуемый результат. Конечная задача использования информационных технологий – это подготовка и принятие управленческих решений. Информация и данные Первичное понятие информатики – информация. Данное понятие неопределяемо. Поэтому, строго говоря, это понятие можно раскрыть только через указание процессов, в которых оно участвует. Чаще всего под этим понятием подразумевают содержательную сторону, отличая его от понятия «данные», которое, следовательно, отражает собой формальную сторону. Будем понимать под информацией [information] меру устранения неопределённости в отношении исхода интересующего нас события. Тогда под данными [data] будут пониматься объекты любой формы, выступающие в качестве средства представления информации. Можно сказать, что данные – это информация, зафиксированная в определённой форме. Одни и те же данные могут нести различную информацию для разных потребителей. Фиксация информации в виде данных осуществляется с помощью конкретных средств (языковых, изобразительных, числовых и т.д.) на конкретном физическом носителе. Формальное назначение ЭВМ заключается в обработке данных. Причём ЭВМ обрабатывает данные без учёта их смыслового содержания. Для этой обработки используются лишь математические операции. Оценивать смысловое содержание данных может только человек. Представление и обработка данных Для того, чтобы использовать ЭВМ для обработки данных, необходимо располагать некоторым способом представления данных. Способ представления данных будет зависеть от того, для кого эти данные предназначены: для человека (внешнее представление) или для ЭВМ (внутреннее представление). Во внутреннем представлении данные могут быть описаны в аналоговой (непрерывной) или цифровой (дискретной) формах. В соответствии с этим различают аналоговые и цифровые ЭВМ. Практически все используемые ЭВМ в настоящее время являются цифровыми. Таким образом, любые данные в современных ЭВМ представляются в виде целых чисел. Любые виды данных, обрабатываемых на ЭВМ, могут быть сведены к совокупности простейших форм: набор символов (текст), звук (мелодия), изображение (фотографии, рисунки, схемы), вещественные и целые числа (числовая информация). Каждый такой вид данных должен быть некоторым универсальным образом представлен в виде набора целых чисел. Правила такого представления разрабатываются научными институтами и оформляются в виде стандартов. Во внешнем представлении все данные хранятся в виде файлов. Во многих случаях требуется ещё более высокий уровень организации данных на внешнем уровне, тогда данные группируются в базы данных (см. рис.1. Рис. 1. Уровни представления данныхЗадачи по обработке данных предполагают также способы описания процесса самой обработки. Процедуры обработки данных также представляются на внешнем и внутреннем уровне. На внутреннем уровне каждая такая процедура представляет собой последовательность логических операций с целыми числами, и называется программой. Сами логические операции кодируются с помощью средств машинного языка. Рис. 2 Уровни представления обработки данныхНа внешнем уровне процедуры представляются в виде алгоритма. Конкретный вид алгоритма зависит от используемого алгоритмического языка (см. рис. 2). Таким образом, решение любых задач с помощью ЭВМ в конечном счёте сводится к двум взаимосвязанным проблемам: цифровому представлению данных и алгоритмическому представлению способов обработки данных. Внутреннее представление данных Двоичная форма целых чисел. Количество информации ЭВМ является электрическим прибором. Она управляется с помощью электрических сигналов. Поэтому любые данные должны быть некоторым универсальным образом представлены в таком виде, чтобы их можно было легко перевести на «электрический» язык. Таким свойством обладают двоичная форма целых чисел. Для записи числа в двоичной форме используются только два символа 0 и 1. Эти символы легко поставить в соответствие некоторому фиксированному значению напряжения в электрических схемах ЭВМ (см. рис. 3). Рис.3 Поток данных в двоичной формеЧтобы обрабатывать данные, необходимо иметь некоторый универсальный способ представления операций с целыми числами, чтобы эти операции были легко представимы на «электрическом» языке. Оказывается, что этому условию удовлетворяют три операции с двоичными числами. Это операции логического сложения «ИЛИ», логического умножения «И» и отрицания «НЕ». Таблица 1. Операции с двоичными числами
Таким образом, все данные, с которыми работают ЭВМ, представлены в виде двоичных чисел, а все действия с данными сводятся к комбинации трёх логических операций. Пример Рассмотрим сложение чисел 4+3. В двоичной форме эти числа будут иметь вид соответственно 0100 и 0011. Выполняя операцию логического сложения с каждым разрядом обоих чисел, получим число 0111, что является двоичным представлением числа 7. Количество информации, соответствующее двоичному числу, называют битом [bit]. Число, которое представлено N битами называется N-битным или N-разрядным. В дальнейшем оказалось удобным оперировать последовательностями нулей и единиц, объединённых в группы фиксированного размера. Наибольшее значение имеет последовательность из восьми двоичных чисел — 8-разрядное число. Количество информации, соответствующее такому числу, называется байтом [byte]. Кроме того, используются группы, называемые словом [word]. Размер слова зависит от характеристик конкретной ЭВМ, но, как правило, в большинстве современных ЭВМ размер слова равен 2 байтам. Очень часто программистам приходится непосредственно работать с двоичными числами, поэтому, чтобы упростить эту работу, часто используются шестнадцатеричное представление двоичных чисел. Пример Для упрощения перевода целых чисел в двоичную и шестнадцатеричную формы составляется следующая таблица:
4310 = 2В16 = 001010112 Таким образом, первая задача, которая ставится в информатике – это задача представления любых данных в форме целых чисел (в цифровой форме). Цифровое представление символов Правило цифрового представления символов следующее: каждому символу ставится в соответствие некоторое целое число, то есть каждый символ нумеруется. Пример Рассмотрим последовательность строчных букв русского алфавита: а, б, в, г, д, е, ё, ж, з, и, й, к, л, м, н, о, п, р, с, т, у, ф, х, ц, ч, ш, щ, ъ, ы, ь, э, ю, я. Присвоив каждой букве номер от 0 до 33, получим простейший способ представления символов. Последнее число — 32 в двоичной форме имеет вид 100000, то есть для хранения символа в памяти понадобится 6 бит. Так как с помощью шести бит можно представить число 26 – 1 = 63, то шести бит будет достаточно для представления 64 букв. Имеются разные стандарты для представления символов, которые отличаются лишь порядком нумерации символов. Наиболее распространён американский стандартный код для информационного обмена — ASCII [AmericanStandardCodeforInformationInterchange] введён в США в 1963г. В 1977 году в несколько модифицированном виде он был принят в качестве всемирного стандарта Международной организации стандартов [InternationalStandardsOrganization — ISO] под названием ISO-646. Согласно этому стандарту каждому символу поставлено в соответствие число от 0 до 255. Символы от 0 до 127 – латинские буквы, цифры и знаки препинания – составляют постоянную часть таблицы. Остальные символы используются для представления национальных алфавитов. Конкретный состав этих символов определяется кодовой страницей. В русской версии ОС Windows95 используется кодовая страница 866. В ОС Linux для представления русских букв более употребительна кодировка КОИ-8. Недостатки такого способа кодировки национального алфавита очевидны. Во-первых, невозможно одновременное представление русских и, например, французских букв. Во-вторых, такая кодировка совершенно непригодна для представления китайских или японских иероглифов. В 1991 году была создана некоммерческая организация Unicode, в которую входят представители ряда фирм (Borland, IBM, Lotus, Microsoft, Novell, Sun, WordPerfect и др.), и которая занимается развитием и внедрением нового стандарта. Кодировка Unicode использует 16 разрядов и может содержать 65536 символов. Это символы большинства народов мира, элементы иероглифов, спецсимволы, 5000 мест для частного использования, резерв из 30000 мест. Пример ASCII-код символа A = 6510 = 4116 = 010001112 ; ASCII-код символа G = 7110 = 4716 = 010001112 ; ASCII-код символа Z = 9010 = 5A16 = 010110102 . ASCII-код символа C = 6710 = 4316 = 011001112 Unicode-код символа C = 6710 = 00000000011001112 . Цифровое представление вещественных чисел Для того, чтобы представить вещественное число в виде набора целых чисел, его необходимо привести к нормализованной форме: x = M*2P ; где M — называется мантиссой (дробной частью), а P — экспонентой (порядком). После этого мантисса и порядок переводятся в двоичное представление. В памяти ЭВМ вещественное число хранится в виде:здесь S – признак знака. Поэтому необходимо также определить, какой размер памяти будет отведён под все три части нормализованного числа. Далее должны быть определены правила (алгоритмы), по которым будут выполняться арифметические операции с нормализованными вещественными числами. Совокупность таких алгоритмов, а также правил представления чисел в нормализованной форме называется арифметикой плавающих чисел [floatingpointnumber]. Поскольку размер памяти, отводимый под мантиссу и порядок, ограничен, то вещественные числа представляются с некоторой погрешностью (точность десятичных цифр) и имеют ограниченный диапазон изменения. Чем больше размер памяти для плавающего числа, тем точнее можно представить вещественное число. Поэтому для пользователя основными характеристиками арифметики плавающего числа являются длина числа (размер), измеряемая в битах, и точность представления числа. По точности представления вещественных чисел различают плавающие числа одинарной и двойной точности [singleanddoubleprecision]. Пример Рассмотрим принцип цифрового представления вещественного числа 15,375. Пусть под мантиссу отведено 5 десятичных разрядов, а под порядок – 2 разряда. Представим число в нормализованной форме: 15,375 » 1,9219*23. Так как в нормализованной форме первая цифра всегда равна единице, то её можно не хранить. Тогда число будет представлено в виде целого числа 9219003 с относительной погрешностью не более 10-4, то есть число верных десятичных чисел равно 4. В памяти ЭВМ это число будет храниться в двоичной форме, причём можно легко подсчитать, что для хранения такого числа потребуется 27 бит. Максимальное число, которое можно представить таким образом — 9999999=1,99999*1099, а минимальное, не равное нулю — 0000100=0,00001. Если предусмотреть один бит для хранения знака порядка, то минимально представляемое число будет равно 00001-99, то есть 0,00001*10-99 . При попытке выйти за допустимый диапазон ЭВМ выдаст сообщение о переполнении (underflow или overflow). Конкретные характеристики арифметики различны для разных стандартов. Для ПЭВМ наиболее распространённым является IEEE-стандарт (IEEE-754-1985) [InstituteofElectricalandElectronicEngineers], согласно которому вещественные числа представляются в трёх основных формах (см. табл. 1.2). Таблица 2. Данные с плавающей точкой по IEEE-стандарту
Источник: [5]. Здесь нужно заметить, что характеристики плавающего числа двойной точности будут зависеть от той арифметики, которая используется на конкретной ЭВМ. Пример Запишем число 15,375 в двоичном виде: 15.375 = 1111.0112 1.111011*2112 Тогда согласно стандарту IEEE число будет представляться: single 15,375 = 0 1000.0001.0 111.0110.0000.0000.0000.00002 = 4176000016 long double 15,375 = 0 1000.0000.00010. 1110.1100.0000.0000. … 00002 = 402ЕС0000000000016 . Источник: [5]. Особенности плавающей арифметики могут существенно влиять на результаты расчётов, вплоть до того, что погрешность может сделать невозможным получение какого-либо результата вообще, поэтому знание деталей реализации арифметики плавающих чисел является необходимым для программистов. Пример Существует особая характеристика плавающей арифметики – машинное эпсилон. Это число, которое определяется как . Для плавающего числа единичной точности (по IEEE стандарту): . Это значит, если написать программу на языке BASIC: a=1.2 b=1.e-7 printa+b то результат, который выдаст программа, будет равен 1.2. Поэтому программы, учитывающие особенности плавающей арифметики могут трактовать все числа, меньшие, чем машинное эпсилон, практически равными нулю. Цифровое представление изображений Под изображением будем понимать прямоугольную область, закрашенную непрерывно изменяющимся цветом. Поэтому для представления изображений в целых числах необходимо отдельно дискретизировать прямоугольную область и цвет. Для описания области она разбивается на множество точечных элементов – пикселов [pixel]. Само множество называется растром [bitmap, dotmatrix, raster] (см. рис. 1.3), а изображения, которые формируются на основе растра, называются растровыми. Рис.4. Дискретизация области изображенияЧисло пикселов называется разрешением [resolution]. Часто встречаются значения 640х480, 800х600, 1024х768, 1280х1024. Каждый пиксел нумеруется, начиная с нуля слева направо и сверху вниз. Для представления цвета используются цветовые модели. Цветовая модель [colormodel] это правило, по которому может быть вычислен цвет. Самая простая цветовая модель – битовая. В ней для описания цвета каждого пиксела (чёрного или белого) используется всего один бит. Для представления полноцветных изображений используются несколько более сложных моделей. Известно, что любой цвет может быть представлен как сумма трёх основных цветов: красного, зелёного и синего. Если интенсивность каждого цвета представить числом, то любой цвет будет выражаться через набор из трёх чисел. Так определяется наиболее известная цветовая RGB-модель. На каждое число отводится один байт. Так можно представить 224 цвета, то есть примерно 16,7 млн. цветов. Белый цвет в этой модели представляется как (1,1,1), чёрный – (0,0,0), красный (1,0,0), синий (0,0,1). Жёлтый цвет является комбинацией красного и зелёного и потому представляется как (1,1,0). Пример Пусть имеется изображение вида Будем считать, что белый цвет представляется нулём, а чёрный – единицей, тогда в однобитовой модели такое изображение представится в виде:0000000000000000 0000000000000000 0000111110000000 0000100010000000 0000100010000000 0000111110000000 0000000000000000 0000000000000000 В шестнадцатеричном виде этот двоичный набор будет выглядеть так: 00 00 00 00 0F 80 08 80 08 80 0F 80 00 00 00 00 Всего для хранения такого изображения потребуется 16 байт. Данное изображение легко преобразовать в RGB-модель. Достаточно заменить все нули тройками (1,1,1), а все единицы — тройками (0,0,0). Тогда получим следующее шестнадцатеричное представление изображения: FFFFFFFFFFFFFFFFFFFFFFFFFFF0 00 1FFFFF FFF1 FF 1FFFFFFFF1 FF 1FFFFFFFF0 00 1FFFFF FF FF FF FF FF FF FF FF FF FF FF FF Для хранения такого изображения потребуется 48 байт. Цветовая модель RGB [Red-Green-Blue] была стандартизирована в 1931 г. и впервые использована в цветном телевидении. Модель RGB является аддитивной моделью, то есть цвет получается в результате сложения базовых цветов. Существуют и другие цветовые модели, которые для ряда задач оказываются более предпочтительными, чем RGB-модель. Например, для представления цвета в принтере используется субтрактивная CMY-модель [Cyan-Magenta-Yellow], цвет в которой получается в результате вычитания базовых цветов из белого цвета. Белому цвету в этой модели соответствует (0,0,0), чёрному — (1,1,1), голубому — (1,0,0), сиреневому — (0,1,0), жёлтому — (0,0,1). В цветовой модели HSV [Hue-Saturation-Value] цвет представляется через цвет, насыщенность и значение, а в модели HLS [Hue-Lightness-Saturation] через оттенок, яркость и насыщенность. Современные графические редакторы, как правило, могут работать с несколькими цветовыми моделями. Цифровое представление звука Звук можно описать в виде совокупности синусоидальных волн определённых частоты и амплитуды. Частота волны определяет высоту звукового тона, амплитуда – громкость звука. Частота измеряется в герцах (Гц [Hz]). Диапазон слышимости для человека составляет от 20 Гц до 17000 Гц (или 17 кГц). Рис. 5. Дискретизация звукового сигналаЗадача цифрового представления звука, таким образом, сводится к задаче описания синусоидальной кривой. Принцип такого представления изображён на рис. 1.5. Каждой дискретной выборке присваивается целое число – значение амплитуды. Количество выборок в секунду называется частотой выборки [samplingrate]. Количество возможных значений амплитуды называется точностью выборки [samplingsize]. Таким образом, звуковая волна представляется в виде ступенчатой кривой. Ширина ступеньки тем меньше, чем больше частота выборки, а высота ступеньки тем меньше, чем больше точность выборки. Пример Возможности наиболее распространённой современной аппаратуры предусматривают работу с частотой выборки до 44,1 кГц, что позволяет правильно описывать звук частотой до 22,05 кГц. Точность выборки имеет всего два значения 8 бит и 16 бит. То есть для представления амплитуды 8-битного звука используется 28 = 256 уровней амплитуды. Сжатие данных Внутреннее представление данных характеризуется избыточностью. Например, при кодировании символов русского алфавита можно учесть частоту, с которой эти символы встречаются в предложениях русского языка. Тогда для цифрового представления текста потребуется меньшее количество информации. Объём данных имеет большое значение не только для хранения, но также непосредственно влияет на скорость передачи данных по каналам вычислительных сетей. Поэтому были разработаны специальные методы (алгоритмы сжатия данных [datacompression]), с помощью которых можно существенно уменьшить объём данных. Существуют как универсальные алгоритмы, которые рассматривают данные как простую последовательность битов, так и специализированные, которые предназначены для сжатия данных определённого типа (изображений, текста, звука и видео). Эффективность сжатия характеризуется коэффициентом сжатия [compressionratio], который определяется как отношение размера исходных данных к размеру сжатых. В некоторых случаях этот коэффициент достигает значения 10. Пример Рассмотрим принцип сжатия простейшего универсального RLE-метода. Для этого рассмотрим представление изображения, полученного в примере выше. Особенность данного представления заключается в том, что в нём содержатся длинные последовательности подряд идущих нулей или единиц. В RLE-методе предлагается ставить сначала значение числа повторений, а затем повторяющегося числа. Тогда сжатое закодированное изображение получит вид: С4 00 0F 80 08 80 08 80 0F 80 С4 00 Здесь число С используется как признак последовательности одинаковых символов. То есть С4 означает, что далее идёт последовательность из 4 символов. Размер хранимого изображения уменьшился с 16 до 12 байт. Коэффициент сжатия равен 1,33. Эффективность сжатия будет зависеть от размера и содержания изображения. Если то же самое изображение преобразовать в цветовую RGB-модель, то в сжатой форме оно получит вид: СD FF F0 00 1F C3 FF F1 FF 1F C3 FF F1 FF 1F C3 FF F0 00 1F CE FF То есть вместо 48 байт сжатое изображение занимает 22 байта, а коэффициент сжатия равен 2,18. Алгоритмы сжатия широко применяются для более компактного хранения изображений. Для этого было разработано большое число графических форматов растровых изображений. Пример Наиболее популярными являются графические форматы: BMP [BitMaP], PCX, GIF [GraphicsInterchangeFormat], TIFF [TaggedImageFileFormat], JPEG [JointPhotographicExpertsGroup], которые по существу различаются между собой используемыми методами сжатия. Форматы BMP и PCX используют RLE-алгоритм, форматы GIF и TIFF – LZW-алгоритм, JPEG использует одноимённый алгоритм сжатия. Звук и видео также требуют для своего цифрового представления очень большого объёма памяти, поэтому без алгоритмов сжатия работа с видео и звуковыми данными была бы невозможной. Фактическим стандартом для представления звука стал формат MP3, а для представления видеоданных – формат MPEG. Внешнее представление данных Файлы и каталоги Любые данные, представленные в виде совокупности целых чисел, хранятся в памяти ЭВМ в виде файлов. Файл [file] – именованная целостная совокупность данных, причём не имеет значения, каких именно данных. Для файла данные – это лишь набор целых чисел в двоичной форме, поэтому файл – это просто последовательность байтов. Для пользователя имеют значение лишь два признака, которые характеризуют файл как таковой: имя файла и его размер. Размер файлов измеряется в байтах. Рис. 6. Дерево каталогов Как правило, файлы сортируются пользователем согласно определённым признакам по группам. Список такой группы называется каталогом [directory]. Таким образом, организуется особая иерархическая структура – дерево каталогов (см. рис. 1.6 – имена каталогов подчёркнуты). Вершина такого дерева называется корневым каталогом [rootdirectory]. Имя корневого каталога всегда строго определено (на рис. 1.6 — C:\) и зависит от файловой системы (см. тему 3). Модели и базы данных Многие объекты в конкретных прикладных задачах могут быть представлены не в двоичной форме, а в виде сложной информационной структуры. Например, чертёж детали можно представить в виде совокупности отрезков прямых. Тогда в памяти ЭВМ нужно будет хранить не растр, а совокупность вещественных чисел, описывающих координаты концов отрезков. Формализованное описание информационных структур и операций над ними называется моделью данных [datamodel]. Пример Например, для описания шрифтов применяются три модели: битовая, векторная и true-type. Рассмотрим, как можно представить символ «С» с помощью битовой модели. Битовая модель использует тот же принцип, что и битовая цветовая модель для растровых изображений. Каждому символу отводится матрица фиксированного размера. Пусть матрица имеет размер 8х10: После такого графического представления символа, его можно описать десятью числами, размером 1 байт каждое: 00 3С 66 С0 С0 С0 66 3С 00 00 Такие описания составляются для всех символов алфавита, цифр, знаков препинания и помещаются в один файл – файл битового шрифта. Все символы, которые выводятся в текстовом режиме, представлены посредством битовых шрифтов и записаны в ПЗУ. Рассмотренное в примерах выше изображение можно представить через описание четырёх отрезков прямых линий, задавая координаты концов отрезков: (4,2-8,2) (4,2-4,5) (4,5-8,5) (8,5-8,2) Для такого описания требуется 16 чисел. В результате появляется возможность различных геометрических преобразований изображения (масштабирование, повороты, растяжения и др.). Такой способ описания изображений называется векторным и широко используется в проектировании. Но нужно чётко понимать, что при выводе на экран монитора данное изображение будет представлено в растровой форме. В реальных задачах для описания данных требуется очень много файлов, причём данные, содержащиеся в этих файлах, некоторым образом связаны между собой. Например, описание информации по деятельности некоторой судоходной компании будет включать в себя технические данные по судам компании, дислокацию судов, данные по участкам водных путей, размерам канальных и портовых сборов, данные по фрахтовым ставкам, данные для определения эксплуатационных расходов по каждому судну и т.д. Поэтому управление файлами в таких случаях оказывается очень сложным. Чтобы преодолеть эти сложности, исходные данные должны быть организованы в базу данных [database] – совокупность взаимосвязанных данных, сохраняемых и управляемых в соответствии с некоторыми правилами. Эти правила также называются моделью данных. Конкретное построение базы данных и используемая модель данных определяются решаемой задачей. Пример Существуют несколько моделей данных: сетевая, иерархическая, реляционная, объектно-ориентированная. В последнее время наиболее широко используемой является реляционная модель данных. Согласно этой модели все данные организуются в совокупность связанных таблиц. Вопросы, связанные с проектированием баз данных изучаются в специальном курсе «Базы и банки данных». Обработка данных Понятие программы Решение задачи на ЭВМ – это процесс получения результатных данных на основе обработки исходных с помощью программы. Программа [program, routine] – это просто последовательность команд, понятных ЭВМ, или машинных команд. Машинные команды [computerinstruction] представляют собой целые числа, принимая которые, ЭВМ производит строго определённые действия. Набор этих команд зависит от конкретной ЭВМ и носит название машинного языка [computer (machine) language]. Машинные команды, как и данные, хранятся в файлах, однако, файлу с командами можно передать управление компьютером. Такие файлы также называют программами. Пример Пусть в некотором файле записана следующая последовательность чисел: B8 05 03 BB-00 00 CD 16-CD 20 Если запустить этот файл на исполнение (то есть передать ему управление ЭВМ) на ЭВМ с процессором Pentium в ОС Windows95, то клавиатура будет работать быстрее. Всего в данной последовательности закодировано четыре машинных команды. Понятие алгоритма и алгоритмического языка Любая программа составлена в соответствии с некоторым алгоритмом. Алгоритм [algorithm] – это конечный набор предписаний, для которого указано, как и в какой последовательности эти предписания необходимо применять к исходным данным задачи, чтобы получить её решение. Алгоритм – это общий метод решения задачи, конкретное выражение которого будет оформлено в виде программы. Алгоритм даёт возможность чисто механически решать любую задачу из некоторого класса однотипных задач. Алгоритм может быть описан различными способами: формульно, графически, посредством некоторого алгоритмического языка. Алгоритмический язык [algorithmiclanguage] – система обозначений, предназначенная для точного описания алгоритмов для ЭВМ и ли достаточная для автоматического нахождения таких алгоритмов. Такие языки являются искусственными языками со строго определёнными синтаксисом и пунктуацией, поэтому они не допускают свободного толкования для своих конструкций, как это характерно для естественного языка. Существует большое количество языков программирования, предназначенных для решения прикладных задач. Пример Рассмотрим задачу вычисления квадратного корня из некоторого положительного вещественного числа: . Такая задача решается с помощью алгоритма Герона. В формульной записи этот алгоритм будет иметь вид: . Имея некоторое начальное приближение, можно уточнить значение корня, а затем вновь повторить этот процесс. Алгоритмы такого рода имеют название циклических. В графическом представлении алгоритм будет иметь более наглядную форму. На алгоритмическом языке BASIC алгоритм может быть реализован следующим образом: while(1) y=y0 y=(y0+x/y0)/2 y0=y wend Разумеется, в реальной программе должен быть обеспечен выход из цикла. Алгоритм Герона используется при реализации библиотек стандартных математических функций. Машинный язык относится к внутреннему уровню представления обработки данных. Человек обращается к машинному языку в очень специфических случаях. Алгоритмические языки представляют собой внешний уровень и имеют форму, удобную для восприятия человеком. Программирование и языки программирования Использование ЭВМ немыслимо без программирования [programming], которое в самом простом понимании представляет собой создание программ. Более точно, программирование заключается в отображении в памяти ЭВМ цифровых данных о реальных объектах и в описании на машинном языке инструкций по управлению этими данными. Так как для восприятия человеком машинные языки неудобны, то для более эффективной работы были созданы различные языки программирования [programminglanguage]. Наиболее распространены так называемые процедурные языки программирования. Процедурный язык программирования предоставляет набор типов и операций с этими типами, а также средства для логической организации программы – операторы [statement]. Программа на процедурном языке выполняется поэтапно — оператор за оператором. Наиболее распространёнными процедурными языками программирования являются: С, C++, Fortran, Pascal, Basic, VisualBasic, Ada. Язык программирования Fortran был создан в 1956 г. и до 70-х годов использовался в подавляющем числе программных проектов. На сегодняшний день имеется огромное число прикладных программ, созданных на этом языке, поэтому практическое использование Fortran-a продолжается. Однако область использования этого языка программирования ограничена численными расчётами в области физики. Все суперЭВМ имеют в составе своего программного обеспечения средства для работы с Fortran-ом. Для Fortran-а имеется международный стандарт, что позволяет создавать хорошо переносимые программы. Язык Basic представлял собой упрощённый Fortran и был создан в 1964 г. для начального обучения программированию. Однако со временем этот язык приобрёл популярность среди профессиональных разработчиков программ. Основной недостаток языка – это использования большого числа «правил по умолчанию», что затрудняет создание надёжных программ. Отсутствие общепринятого стандарта на язык также мешает его распространению и использованию в серьёзных программных разработках. Язык VisualBasic является объектно-ориентированной версией языка Basic, созданной фирмой Microsoft, и широко используется для разработки графического интерфейса прикладных программ. Язык Pascal был создан в 1970 г. также для изучения программирования, однако, многочисленные положительные качества этого языка обусловили его широкое распространение как среди прикладных, так и среди системных программистов. Наибольшую популярность приобрела объектно-ориентированная версия этого языка, реализованная фирмой Borland в своей RAD-системе Delphi. Язык С, созданный в 1972 г. получил распространение как язык системного программирования. На этом языке написаны операционные системы Unix и её многочисленные версии (Linux, IRIX, AIX), а также операционная система WindowsNT. Язык С++, созданный в 1982 г., являясь принципиально иным языком, тем не менее сохранил совместимость с С, а, следовательно, возможность использования ранее созданных программ. Де-факто язык С++ стал стандартом для создания сложных программ как системных, так и прикладных. Язык программирования Ada был разработан в 1979 г. по заказу Министерства обороны США и является обязательным для многих военных приложений. Основное назначение языка – создание больших программ для работы в реальном времени. Существенным недостатком языка является его громоздкость. Из непроцедурных языков наиболее известными являются LISP и PROLOG. Язык LISP создан в 1959 г. и рассматривается как основной язык программирования систем искусственного интеллекта. Язык логического программирования PROLOG создан в 1978 г. и используется для работы с базами знаний, основанными на фактах и правилах. То есть программы, написанные на этом языке, должны обладать некоторой степенью «интеллектуальности». В зависимости от того, насколько детально учитываются особенности ЭВМ в конкретном языке программирования, говорят об уровне программирования. Язык С является низкоуровневым языком, так как может работать непосредственно с физическими адресами памяти ЭВМ. Языка Ada, LISP, C++ являются высокоуровневыми языками. www.ronl.ru Реферат - Основные способы обработки большого количества текстовой информацииСанкт-Петербургский Государственный морской технический университет Факультет морского приборостроения. Кафедра САУ и БВТ РЕФЕРАТ ПО ДИСЦИПЛИНЕ “ИНФОРМАТИКА” НА ТЕМУ: “Основные способы обработки большого количества текстовой информации”. Выполнил: студентка гр. 31ВМ1 (3111) Жаркова А.Н.________ Проверил: Д.Т.Н., профессор Жуков Ю.И.________ Санкт — Петербург 2000 г. АННОТАЦИЯ Реферат составлен на страницах. Содержит 2 рисунка, 3 таблицы и 2 приложения. Ключевые слова : адресация, автокоррекция, сжатие. Целью реферата является разработка и описание трех практических задач современной информатики: — адресации элементов баз данных, множества или списка, для определения по первичному ключу местоположения элемента в блоке информации; — автокоррекции языковых текстов для обнаружения и исправления ошибок в текстах; — сжатии данных, для хранения данных в предельно компактной форме. СОДЕРЖАНИЕ АННОТАЦИЯ… 2 СОДЕРЖАНИЕ… 3 Введение. 4 ЧАСТЬ 1. МЕТОДЫ АДРЕСАЦИИ… 5 ВВЕДЕНИЕ… 5 1. Теоретическая часть. 5 1.1. Последовательное сканирование списка… 5 1. 2. Блочный поиск… 5 1.3. Двоичный поиск… 5 1.4. Индексно-последовательная организация… 6 1.5. Индексно-произвольная организация… 6 1.6. Адресация с помощью ключа, эквивалентного адресу… 7 1.7. Алгоритм преобразования ключа в адрес… 8 Выводы по части 1. 10 ЧАСТЬ 2. АВТОКОРРЕКЦИЯ ТЕКСТА… 11 ВВЕДЕНИЕ… 11 1. Теоретическая часть. 11 1.1. Методы обнаружения ошибок… 11 1.2. Автоматизация процесса исправления… 11 1.3. Диалоговый и пакетный режимы… 12 Выводы по части 2. 13 ЧАСТЬ 3. СЖАТИЕ ИНФОРМАЦИИ… 13 ВВЕДЕНИЕ… 13 1. Теоретическая часть. 13 1.1. Сжатие числовых данных… 13 1.2. Сжатие словарей… 13 1.3. Сжатие специальных текстов… 14 1.4. Сжатие структурированных данных… 15 1.5. Сжатие текстовой информации общего вида… 15 1.5.1. Адаптивные алгоритмы … 16 1.5.2. Статистические алгоритмы. 16 1.5.2.1. Кодирование фрагментов фиксированной длины… 16 1.5.2.2. Кодирование фрагментов переменной длины… 17 Выводы по части 3. 17 ПРИЛОЖЕНИЕ 1. Методы сжатия данных. 18 Метод Шеннона-Фано… 18 Метод Хаффмена… 18 Заключение. 20 Список литературы… 20 Введение Настоящий реферат состоит из трех самостоятельных частей, в которых излагаются три практические задачи современной информатики – адресация элементов данных линейного списка, автокоррекция естественно языковых текстов, сжатие данных. Они призваны, с одной стороны, для ознакомления с некоторыми практическими задачами информатики, а с другой – закрепить навыки прикладного программирования и составления блок-схем. Первая задача нашла свое применение в таких программных продуктах, как системы управления базами данных, операционные системы (организация поисковых операций в системных данных), компиляторы (работа с таблицами идентификаторов) и многих других. Алгоритмы адресации имеют универсальный характер и используются практически во всех задачах, в которых ведется организация и поиск информации в одномерных массивах, независимо от места ее нахождения – основная память или внешняя. Вторая задача носит более частный характер, а изложенные методы используются при проверке орфографии в текстовых и табличных процессорах, издательских системах, а также как средство верификации результатов работы сканера – после распознавания текста для устранения возможных ошибок выполняется его орфографический анализ. Проблема сжатия данных решается в современных архиваторах. Они, как правило, используют комбинацию методов, изложенных в третьей части. Задачи программируются на языке программирования, который изучается в курсе «Алгоритмические языки и программирование», и, тем самым, закрепляют навыки, полученные в этой дисциплине. Кроме этого, требование подготовки блок-схем средствами WinWord позволяет углубить знания, связанные, с одной стороны, с логическим проектированием алгоритма, а с другой – с правилами начертания блок-схем. Запрограммированные и отлаженные задачи должным образом оформляются, что также способствует умению правильно и аккуратно закреплять результат работы на бумажном носителе информации. ЧАСТЬ 1. МЕТОДЫ АДРЕСАЦИИ ВВЕДЕНИЕ Основную проблему при адресации элементов списков можно сформулировать следующим образом: как по первичному ключу определить местоположение элемента с данным ключом (задача поиска)? Существует несколько различных способов адресации. Они рассматриваются далее. Иногда бывает необходимо объединить несколько полей, чтобы образовать уникальный ключ, называемый в этом случае сцепленным ключом: например, ключ, идентифицирующий студента в институте, является комбинацией номера группы, фамилии, имени и отчества студента (есть случаи, когда в одной группе учатся студенты с одинаковыми фамилиями и именами). Кроме простого и сцепленного, ключ может быть первичным – определять максимум один элемент в списке или вторичным – определять множество (в общем случае не одноэлементное) элементов в списке. Например, фамилия студента в учебной группе, как правило, является первичным ключом, а пол студента – вторичный ключ, поскольку одному значению этого ключа (мужской или женский) соответствует, в общем случае, группа студентов. 1. Теоретическая часть 1.1. Последовательное сканирование списка Наиболее простым способом локализации элемента списка является сканирование списка с проверкой ключа каждого элемента. Этот способ, однако, требует слишком много времени для большинства применений. Он может быть эффективен только при пакетной обработке последовательного файла, находящегося, например, на магнитной ленте, когда каждая запись все равно должна быть прочитана. 1. 2. Блочный поиск Если элементы упорядочены по ключу, то при сканировании списка не требуется чтение каждого элемента. Компьютер мог бы, например, просматривать каждый n-ный элемент в последовательности возрастания ключей. При нахождении элемента с ключом, большим, чем ключ, используемый при поиске, просматриваются последние n-1 элементов, которые были пропущены. Этот способ называется блочным поиском: элементы группируются в блоки, и каждый блок проверяется по одному разу до тех пор, пока ни будет найден нужный блок. Вычисление оптимального для блочного поиска размера блока выполняется следующим образом: в списке, содержащем N элементов, число просмотренных элементов минимально при длине блока, равной ÖN. При этом в среднем анализируется ÖN элементов. 1.3. Двоичный поиск При двоичном поиске рассматривается элемент, находящийся в середине области, в которой выполняется поиск, и его ключ сравнивается с поисковым ключом. Затем поисковая область делится пополам, и процесс повторяется. При этом, если N велико, то в среднем будет просмотрено примерно log2 N-1 элементов. Это число меньше, чем число просмотров для случая блочного поиска. 1.4. Индексно-последовательная организация В общем случае сканирование (последовательный поиск) в списках для нахождения в них элемента является процессом, требующим много времени, если он выполняется над всем списком. Однако его можно использовать для точной локализации элемента в небольшой области, если эта область найдена некоторым другим способом. Если список упорядочен по ключам, то обычно при адресации используется таблица, называемая индексом. При обращении к таблице задается ключ искомого элемента, а результатом процедуры поиска в таблице является относительный или абсолютный адрес элемента. Индекс можно определить как таблицу, с которой связана процедура, воспринимающая на входе информацию о некоторых значениях атрибутов и выдающая на выходе информацию, способствующую быстрой локализации элемента или элементов, которые имеют заданные значения атрибутов. Индекс использует в качестве входной информации ключ и дает на выходе информацию, относящуюся к физическому адресу данного элемента. Если для адресации используется индекс, ЭВМ в основном производит поиск в индексе, а не в списке. При этом существенно экономится время, но требуется память для хранения индекса. Это похоже на использование картотеки в библиотеке. Пользователь отыскивает название требуемой книги в картотеке и находит номер книги по каталогу, который является как бы относительным адресом положения книги на полках. Если элементы списка упорядочены по ключу, индекс обычно содержит не ссылки на каждый элемент, а ссылки на блоки элементов, внутри которых можно выполнить поиск или сканирование. Хранение ссылок на блоки элементов, а не на отдельные элементы в значительной степени уменьшает размер индекса. Причем даже в этом случае индекс часто оказывается слишком большим для поиска и поэтому используется индекс индекса. В больших списках может быть больше двух уровней индекса. Для ускорения поиска сегменты нижнего уровня индекса могут находиться среди данных, на которые они указывают. Например, в файле на диске обычно имеется на каждом цилиндре индекс дорожек, содержащий ссылки на записи, хранящиеся на этом цилиндре. Индексно-последовательные файлы представляют собой наиболее распространенную форму адресации файлов. 1.5. Индексно-произвольная организация Произвольный (непоследовательный) список можно индексировать точно так же, как и последовательный список. Однако при этом требуется значительно больший по размерам индекс, так как он должен содержать по одному элементу для каждого элемента списка, а не для блока элемента. Более того, в нем должны содержаться полные абсолютные (или относительные) адреса, в то время как в индексе последовательного списка адреса могут содержаться в усеченном виде, так как старшие знаки последовательных адресов будут совпадать. По сравнению с произвольным доступом индексно-последовательный список более экономичен как с точки зрения размера индекса, так и с точки зрения времени, необходимого для поиска в нем. Произвольные списки в основном используются для обеспечения возможности адресации элементов списка с несколькими ключами. Если список упорядочен по одному ключу, то он не упорядочен по другому ключу. Для каждого типа ключей может существовать свой индекс: для упорядоченных ключей индексы будут более длинными, так как должны будут содержать по одному данному для каждого элемента. Ключ, который чаще всего используется при адресации списка, обычно служит для его упорядочения, поскольку наиболее быстрый доступ возможен в том случае, когда применяется короткий последовательный индекс. Аналогия с картотекой библиотеки скорее соответствует индексно-последовательному доступу, чем произвольному. В картотеке используются два ключа — название книги и фамилия автора, и, как правило, ни тот, ни другой ключ не применяются при упорядочивании книг на полках, следовательно, оба индекса должны содержать по элементу для каждой книги. Книги упорядочиваются по номеру в каталоге. После того как пользователь нашел номер интересующей его книги в каталоге, он отыскивает книгу на рядах полок. В каждом ряду обычно указаны начальный и конечный номера книг в нем. Пользователь сравнивает номер, который он получил из каталога (индекса), с номерами, указанными в рядах. Найдя нужный ряд, он ищет полку, на которой стоит книга. Аналогично ЭВМ выполняет поиск в файлах, начиная, например, с главного индекса, далее просматривая индекс цилиндров, а затем индекс дорожек. В картотеке библиотеки не указывается физическое местоположение книги на полках. Вместо этого в ней содержится номер в каталоге, который может рассматриваться как символический адрес. Символический адрес указывается потому, что книги переставляются, и, если бы использовался физический адрес, это потребовало бы частой корректировки картотеки библиотеки. По той же причине в индексно-произвольных списках часто используются символические, а не абсолютные адреса. При добавлении новых или удалении старых элементов изменяется местоположение остальных элементов. Если имеется несколько ключей, то индекс вторичного ключа может содержать в качестве выхода первичный ключ записи. При определении же местоположения элемента по его первичному ключу можно использовать какой-нибудь другой способ адресации. По этому методу поиск осуществляется медленнее, чем поиск, при котором физический адрес элемента определяется по индексу. В списках, в которых положение элементов часто изменяется, символическая адресация может оказаться предпочтительнее. Другой причиной для непоследовательного размещения элементов могут служить частые изменения списка. Интенсивное включение новых и удаление старых элементов в последовательно упорядоченном списке связано с большими трудностями и значительным расходом машинного времени. Если бы книги хранились на полках библиотеки в алфавитном порядке, то обеспечение такого порядка занимало бы излишне много времени, так как каждый раз при добавлении новой книги требовалось бы передвигать много книг. 1.6. Адресация с помощью ключа, эквивалентного адресу Известно много методов преобразования ключа непосредственно в адрес в файле. В тех случаях, когда такое преобразование возможно, оно обеспечивает самую быструю адресацию; при этом нет необходимости организовывать поиск внутри файла или выполнять операции с индексами. Наиболее простое решение задачи адресации — указывать во входном сообщении относительный машинный адрес запрашиваемой записи. В некоторых ранних банковских системах номера счетов видоизменялись так, чтобы новый номер или его часть являлись бы адресом элемента для данного счета в списке. Таким образом, адрес был равен ключу или определялся по нему простым способом. Во многих приложениях такой прямой подход невозможен. Номера изделий на заводе не могут изменяться только ради удобства использования ЭВМ, поскольку для работников фирмы они имеют в запросе определенный смысл. Иногда во входном сообщении используется внутренний машинный код; при этом не требуется, чтобы он был равен номеру клиента или номеру изделия. Например, адрес записи счета в файле может печататься в банковской расчетной книжке клиента сберкассы и указываться далее в запросе с терминала. Такие схемы называются прямой адресацией, хотя обычно этот термин используется в более широком смысле для обозначения любого алгоритма, преобразующего ключ непосредственно в машинный адрес. 1.7. Алгоритм преобразования ключа в адрес Способ преобразования ключа в адрес дает почти ту же скорость поиска, что и способ, в котором используется ключ, эквивалентный адресу. В некоторых приложениях адрес может быть вычислен на основе идентификаторов объекта, таких как адрес улицы и номер дома или номер рейса и его дата. Для таких приложений рассматриваемый метод адресации является наиболее простым и быстрым. Чаще всего данный способ применяется в диалоговых системах, где критичным является время поиска в списке, и называется хешированием, перемешиванием или рандомизацией. К недостаткам данного способа относится малое заполнение списка: в списке остаются свободные участки, поскольку ключи преобразуются не в непрерывное множество адресов. При этом методе вся область памяти для размещения списка делится на участки – бакеты размером несколько десятков элементов списка. Сам алгоритм хеширования по первичному ключу определяет, в отличие от других методов, не адрес одного элемента списка, а адрес бакета, содержащего целую группу элементов. При размещении элемента в списке каждый новый элемент добавляется в конец уже имеющихся в бакете элементов; при поиске — после определения адреса бакета поиск нужного элемента выполняется методом последовательного сканирования. Алгоритм хеширования выполняется в три этапа: 1) первый этап выполняется только для нечисловых значений ключей и заключается в замене их числовыми значениями. Для этого составляется таблица соответствия символов алфавита, в котором записываются значения ключей, с цифрами от 1 до 9. Затем каждый символ нечислового значения ключа заменяется своим цифровым эквивалентом. Например, если нечисловые значения ключей определены на русском алфавите, такая таблица будет иметь вид: а 1 и 9 р 8 ш 7 б 2 й 1 с 9 щ 8 в 3 к 2 т 1 э 9 г 4 л 3 у 2 ю 1 д 5 м 4 ф 3 я 2 е 6 н 5 х 4 ь 3 ж 7 о 6 ц 5 ъ 4 з 8 п 7 ч 6 ы 5 Очевидно, разным символам присваивается один цифровой код, что ведет к потере информации. Тогда, например, для ключа со значением КОМПЬЮТЕР цифровой эквивалент имеет вид 264731168. 2) формируется относительный адрес элемента списка. Для этого числовое значение адреса приводится к порядку, равному порядку адресов памяти, где размещен список. Например, список размещен на диске в кластерах с номерами от 10 до 999, т.е. в адресах с порядком, равным 3. Тогда для ключа, полученного на предыдущем этапе, надо выполнить такое преобразование, чтобы из девятизначного числа превратить его в трехзначное. Подобные преобразования выполняются разными способами. Рассмотрим некоторые из них: — возведение в квадрат. Числовое значение ключа возводится в квадрат и в полученном числе по центру выбирается нужное количество цифр. Для нашего случая 2647311682 = 70082591310644200, центральными цифрами являются 131. Таким образом, относительный адрес для ключа КОМПЬЮТЕР равен 131, — метод складывания (не путать со сложением). Числовое значение ключа делится на три части: средняя часть (размещается по центру) имеет количество цифр, равное порядку адресов памяти, где размещен список; оставшиеся правая и левая части «заворачиваются» к средней и совпавшие цифры складываются до образования цифр. Например, для ключа 264731168 этот способ дает следующий результат: 264 731 168 левая средняя правая часть часть часть После складывания: 731- средняя часть 462 — левая часть, «завернутая» по месту стыка со средней частью 861 — правая «завернутая» часть. После сложения совпавших цифр (сложение идет до достижения значения цифры): (7+4+8)(3+6+6)(1+2+1) = (19)(15)(4) = (1+9)(1+5)(4) = (10)(6)(4) = (1+0)(6)(4) = 164 Таким образом, относительный адрес для ключа КОМПЬЮТЕР, полученный вторым способом, равен 164, — метод деления. Числовое значение ключа делится на количество адресов памяти, в которой размещается список. Остаток от деления – относительный адрес. Например, для ключа 264731168 и для числа адресов 989 (999 – 10) остаток от деления равен 593. Это и есть относительный адрес для ключа КОМПЬЮТЕР, — метод сдвига. Числовое значение ключа делится на две равные части, которые смещаются друг навстречу другу так, чтобы общее число разрядов стало равно порядку адресов памяти. Совпавшие разряды складываются. Например, для ключа 264731168 и для тех же адресов: 02647[1] 31168 левая правая часть часть направление движения правой и левой частей числа 02647 после сдвига 31168 3 3 7 (10)(15) = 337(1+0)(1+5)=33716 Поскольку полученное число имеет порядок, больший трех, процедура сдвига повторяется: 033 716 левая часть правая часть 033 после сдвига 749 – конечный результат – относительный адрес для ключа КОМПЬЮТЕР. Очевидно, и этот этап дает потерю информации. 3) вычисление абсолютного адреса. Исходная информация – диапазон изменения относительных адресов (очевидно, от 0 до 999) и адреса размещения элементов списка в памяти (напомним, что список занимает кластеры с адресами от 10 до 999). Тогда абсолютный адрес для элементов списка получается по формуле: <начальный адрес размещения списка> + <относительный адрес элемента> * const, где const – константа, получаемая по формуле: число доступных адресов / максимальный относительный адрес, причем число доступных адресов – разность между максимальным и минимальным адресами размещения списка в памяти. Для нашего случая const = 989 / 999 = 0,989 Тогда, например, для относительного адреса 199 абсолютный адрес (читай – номер кластера) равен 10 + 199*0,989 = 10+197 = 207. Выводы по части 1. Одной из проблем при создании информационных систем является работа со структурированными данными, которые чаще всего являются линейными списками – упорядоченным множеством элементов, порядковые номера которых определяют местоположение элемента в списке. Элементы списка имеют структуру – они состоят из конечного множества полей, каждое из которых имеет определенный смысл, например, фамилии, адреса и т.д. Для таких списков важна задача адресации элементов списков – определение адреса элемента списка по одному из его полей или по совокупному набору полей. Такие поля называются ключевыми (или ключами) (в простейшем случае ключом, например, может быть номер зачетной книжки студента). ЧАСТЬ 2. АВТОКОРРЕКЦИЯ ТЕКСТА ВВЕДЕНИЕ Программы автоматического обнаружения и исправления ошибок в текстах на естественных языках (назовем их автокорректорами — АК, хотя терминология ещё не сложилась) получают все большее распространение. Они используются, в частности, в пакетах WINWORD и EXCEL для проверки орфографии текстовой информации. Говоря точнее, АК производят автоматически лишь обнаружение ошибок, а собственно коррекция ведется обычно при участии человека. 1. Теоретическая часть 1.1. Методы обнаружения ошибок Известны, по крайней мере, три метода автоматизированного обнаружения орфографических ошибок в текстах — статистический, полиграммный и словарный. При статистическом методе из текста одна за другой выделяются составляющие его словоформы, а их перечень по ходу проверки упорядочивается согласно частоте встречаемости. По завершении просмотра текста упорядоченный перечень предъявляется человеку для контроля, например, через экран дисплея. Орографические ошибки и описки в сколь-нибудь грамотном тексте несистематичны и редки, так что искаженные ими слова оказываются где-то в конце перечня. Заметив их здесь, контролирующее лицо может автоматизированно найти их в тексте и исправить. При полиграммном методе все встречающиеся в тексте двух- или трехбуквенные сочетания (биграммы и триграммы) проверяются по таблице их допустимости в данном естественном языке. Если в словоформе не содержится недопустимых полиграмм, она считается правильной, а иначе — сомнительной, и тогда предъявляется человеку для визуального контроля и, если нужно, исправления. При словарном методе все входящие в текст словоформы, после упорядочения или без него, в своем исходном текстовом виде или после морфологического анализа, сравниваются с содержимым заранее составленного машинного словаря. Если словарь такую словоформу допускает, она считается правильной, а иначе предъявляется контролеру. Он может оставить слово как есть; оставить его и вставить в словарь, так что далее в сеансе подобное слово будет опознаваться системой без замечаний; заменить (исправить) слово в данном месте; потребовать подобных замен по всем дальнейшему тексту; отредактировать слово вместе с его окружением. Операции над сомнительным участком текста, указанные или иные возможные, могут комбинироваться исходя из замысла проектировщика АК. Результаты неоднократных исследований показали, что только словарный метод экономит труд человека и ведет к минимуму ошибочных действий обоих родов — пропуска текстовых ошибок, с одной стороны, и отнесения правильных слов к сомнительным, с другой. Поэтому словарный метод стал доминирующим, хотя полиграммный метод иногда и применяют как вспомогательный. 1.2. Автоматизация процесса исправления Можно предложить три степени автоматизации процесса коррекции текста: 1) только обнаружение ошибок, 2) обнаружение их и выдвижение гипотез (альтернатив, кандидатов) по исправлению; 3) обнаружение ошибок, выдвижение гипотез и принятие одной из них (если хотя бы одна выдвинута системой) в качестве автоматически вносимого исправления. Без первой степени АК немыслим. Вторая и третья степень возможны только при словарном методе. Уже вторая существенно облегчает внесение исправлений, ибо в большинстве случаев исключает перенабор сомнительного слова. Особенно полезны найденные альтернативы, когда контролирующее текст лицо нетвердо знает данный естественный язык или конкретную терминологическую область. Однако выдвижение гипотез требует больших переборов с поиском по словарю. Поэтому современные АК часто имеют средство выдвижения гипотез лишь в качестве факультативного, запускаемого, если требуется, избирательно для данного сомнительного слова. Третья степень автоматизации заманчива и одновременно опасна. Заманчивость заключается в полной автоматизации процесса исправления. Опасность же в том, что ни один словарь, в том числе — заключенный в человеческом мозгу, никогда не бывает исчерпывающе полным. Когда незнакомое слово встречает система, основанная на неполном словаре, она может «исправить» его на ближайшее ей знакомое, порой резко исказив исходный смысл текста. Особо опасно править собственные имена лиц, фирм, изделий, Заманчиво уметь пропускать (обходить) собственные имена и сугубо специальные термины, априори полагая их правильными, но безошибочные способы обхода, особенно — терминов, нам не известны. Чисто автоматическому исправлению мог бы способствовать автоматический синтаксический и семантический анализ проверяемого текста, но он ещё не стал принадлежностью обычных АК. И даже при его наличии лишь человек сможет диагностировать быстро меняющиеся совокупности собственных имен, терминов и аббревиатур, а также окказионализмы — случайно появляющиеся словесные новации. В связи со сказанным полная автоматизация исправлений может применяться лишь в любом из следующих ограничительных условий: I) Текст имеет вид перечня терминов и терминологических словосочетаний в стандартной их форме, так что в АК достаточно иметь словарь, замкнутый по объему и проблематике. При этом все термины между собой «непохожи» (например, в словаре нет одновременно АДСОРБЦИЯ и АБСОРБЦИЯ). 2) Ошибки носят характер замены кодов исходных букв на коды литер, совпадающих или близких к исходным по начертанию. Например, заменяются коды ASCII русских букв А, В, С, Е, У на коды латинских букв А, В, С, Е, У; латинские буквы I и 0 — на цифры I и 0 и т.п. Сюда же отнесем повторы одной и той же литеры, возникающие из-за продленного нажима клавиши дисплея или его неисправности. В подавляющем большинстве, если в словоформе более 2 -3 букв, такие исправления абсолютно правильны. 1.3. Диалоговый и пакетный режимы Возможны, в общем случае, два режима работы АК: диалоговый, когда текст проверяется слово за словом и пользователю предоставляется возможность снять очередное затруднение по мере его возникновения, и пакетный, когда готовые большие тексты анализируются в отсутствии пользователя. Во втором случае ненайденные словоформы либо как-то отмечаются в исходном тексте, либо запоминаются отдельно в виде своих адресов (в качестве адреса может использоваться, например, номер строки и номер символа, с которого начинается слово, в строке). Подобная проверка ведется до конца проверяемого файла без вмешательства человека. Далее файл вызывается снова и предъявляется для контроля тех строк, где были замечены сомнительные слова. Выводы по части 2. В высокофлективных языках, к которым относятся, в частности, все славянские, от одной основы могут образовываться до нескольких сот различных словоформ. В этих условиях в АК неизбежны средства морфологического анализа той или иной сложности, а непосредственное использование западных АК и перенос методов их работы на неанглоязычные тексты едва ли даст удовлетворительные результаты, если исключить метод «грубой силы» — неограниченное наращивание объема оперативной памяти (ОП) и быстродействия ЭВМ. ЧАСТЬ 3. СЖАТИЕ ИНФОРМАЦИИ ВВЕДЕНИЕ Объектами сжатия являются: — числовые данные, — упорядоченные текстовые данные (словари), — специальные тексты на формализованных языках, — естественно-языковые тексты общего вида, — структурированные данные. В качестве количественной меры сжатия использ уется коэффициент сжатия — отношение длины первоначального к сжатому тексту, а также продолжительность требуемых преобраз ований. 1. Теоретическая часть 1.1. Сжатие числовых данных Наиболее распространены методы: раз ностное кодирование, кодирование повторений и подавление незначащих нулей. Суть разностного кодирования заключается в хранении вместо абсолютных значений разностей двух смежных чисел или отклонения чисел от их среднего значения. Например, для последовательности чисел 2, 14, 18, 2 7, 34 первый способ даст последовательность 2, 12, 4, 9, 7. Второй способ порождает последовательность: -17, -5, -1, 8, 15 (среднее значение для исходной последовательности — 19). Первый вариант эффективен для медленно меняющихся последовательностей, второй — когда максимальное отклонение от среднего з начительно меньше абсолютного значения среднего. Кодирование повторений заключается в замене цепочки одинаковых символов кодом этого числа и числом повторений. Например, для последовательности 5555 6666 888888 применение этого способа даст последовательность 5(4) 6(4) 8(6). Подавление незначащих нулей оз начает отбрасывание незначащих нулей в старших раз рядах целой части числа и в младших разрядах дробной части. Например, применение этого способа сжатия к последовательности 0010 01,100 011 011 даст последовательность: 10 1,1 11 11. 1.2. Сжатие словарей Под словарями понимают списки неповторяющихся цепочек символов в алфавитном или ином строгом порядке. Такой словарь можно рассматривать как монотонную последовательность чисел и для его сжатия применять метод разностного кодирования (см. п.1.1). З десь он заключается в отбрасывании у каждого слова начальных букв, совпадающих с начальными символами предыдущего слова и замене их на число отброшенных букв. Например, словарь: вычислитель вычислительный вычислять в ре зультате рассматриваемого способа кодирования будет заменен словарем: вычислитель 11ный 6ять. Такой метод, однако, неудобен тем, что при декодировании любого конкретного слова требуется последовательно декодироватьвсе предшеств ующие слова. Поэтому порой используются отдельные перечни н аиболее часто встречающихся частей слов (суффиксы, префиксы), где каждой из них ставится в соответствие более короткий код, заменяющий её в словаре. Например, словарь: встречающийся заменяющий с помощью этого способа сжатия заменится на совокупность словарей: основной вспомогательный встреча1ся 1- ющий заменя1 Важнейшим здесь является алгоритм выбора достаточно длинных и часто встречающихся подцепочек. При его разработке используются эвристические алгоритмы, поскольку эффективного алгоритма поиска оптимального решения не существует. Когда составляющие словаря образ уют сильно обособленные группы слов, можно разделить весь словарь на подсловари, присвоив каждому из них свой индекс, и кодировать слова независимо в каждом из них кодами минимальной длины, а слова из различных подсловарей различать этими индексами. Такой метод является модификацией описанного в п. 1.1 метода сжатия числовых данных через их среднее з начение. 1.3. Сжатие специальных текстов К специальным относятся тексты на формальных языках, отличающихся ограниченным словарем, замкнутой грамматикой. Сюда прежде всего относятся тексты на языках программирования, машинные коды, различные формулы и обозначения, а также ограниченны е подмножество фраз естественного языка в таких четко формализованных з адачах как организация реплик в интерактивных системах, выдача сообщений при компиляции и т.п. Для данного типа информации пригодны методы, описанные в п. 1.5. В то же время специфика этих текстов поз воляет осуществить экономное хранение, основанное на выделении длинных часто повторяющихся фрагментов. Например, текст Фортран-программы: ТYРЕ *, ’ФОРТРАН’ ТYРЕ *,’ ПРОГРАММА' может быть представлен с использованием кодового словаря: программа словарь 1, ' ФОРТРАН' 1 — ТУРЕ * 1 ,'ПРОГРАММА' 1.4. Сжатие структурированных данных Структурированные данные содержат текстовую и иную информацию и хранятся в определенном формате, приемлемом для тех или иных приклад ных задач, например, для документального или фактографического поиска информации. Пример структурированных данных — библиографические описания. Раз нородность данных структурированного типа обуславливает раз личные типы информационной избыточности, поэтому необходимо использовать комбинацию методов, приспособленных к своим подгруппам данных. Так, для числовых полей целесообразно применять методы п. 1.1, для текстовых — описанные в п. 1.5. По некоторым оценкам комбинация этих методов дает сокращение объема данных в 1,5-4 раза, по другим оценкам — даже до 6 раз. В структурированных данных наряду с типами информационной избыточности, характерных для текстовых или нетекстовых данных, существует особый позиционный тип избыточности. Он связан с дублированием информации для идентификации структуры данных. Например, если записи файла имеют структуру: Ф.И.О. студента отношение к воинской обязанности домашний адрес специальность оценки за сессию, причем поля имеют длину, соответственно, 40, 20, 50, 15, 10 байт, то при различных значениях тех или иных полей для конкретных студентов часть области памяти, отводимой под отдельные поля, не будет использоваться. Тогда, если поле «Отношение к воинской обязанности» пусто, его можно исключить из конкретной записи и вся запись будет иметь следующий вид: (Ф.И.О. студента)1 (домашний адрес)3 (специальность)4 (оценки за сессию)5 , где индексы означают принадлежность того или иного значения соответствующему полю. 1.5. Сжатие текстовой информации общего вида Принципиальная воз можность сжатия текстовой информации связ ана с тем, что составляющие текста — буквы и словоформы — раз личаются по частоте встречаемости в тексте, в то время как их длины слабо связаны с частотой. Все алгоритмы сжатия можно классифицировать по используемому методу кодирования и характеру использования статистики и грамматики текста. Методы кодирования можно раз делить на четыре класса в з ависимости от того, какие группы символов кодируются (постоянной или переменной длины), и какие коды использ уются (постоянной или переменной длины). По использ ованию статистики и грамматики алгоритмы сжатия можно разделить на семантически зависимые и семантически нез ависимые. Первые (лингвистические) методы опираются на грамматику естественного яз ыка для выделения в текстах элементов, подлежащих кодированию (как правило, это отдельные слова – словоформы). Семантически независимые методы сжатия в свою очередь можно разделить на те, которые не использ уют, и те, которые используют априорные сведения о статистике текста. В соответствии с этим существуют два типа алгоритмов сжатия: одно — и двухфазные, которые будем называть соответственно адаптивными и статистическими. Семантически зависимые методы не используют для сжатия никаких априорных сведений о статистике текста. Кодирование произ водится в процессе однократного сканирования текста. Оно сводится к замене цепочек символов текста на встроенные указатели, адресованные к той части текста, где такие цепочки уже встречались. В этом случае говорят о внутренней адресации, а сами методы называются адаптивными. В алгоритмах второго типа выполняется ссылка на таблицу кодов, которая может создаваться заново для каждого текста или использоваться одна на все гипотетические тексты. В этом случае говорят о внешней адресации и локальных или глобальных кодовых таблицах. 1.5.1. Адаптивные алгоритмы Строят код постоянной длины для фрагментов переменной длины. Сжимают текст в процессе однократного его сканирования. Кодирование заключается в нахождении повторяющихся участков текста и замене каждого участка указателем, адресованным к той части текста, где такой участок уже встречался. Для декодирования в этом случае кодовой таблицы не требуется. В качестве указателя может использоваться структура (m, n), где m – количество символов назад или вперед по тексту, переместившись на которые можно найти подобный фрагмент текста; n – длина фрагмента в символах. Существует два типа встроенных указателей, указывающих на предшествующие или последующие участки. Алгоритмы, использующие указатели наз ад, могут работать с непрерывным входным по током данных, генерируя непрерывный выходной поток сжатой информации. На каждом шаге алгоритма входной текст заполняет буфер фиксированной длины, внутри которого производится идентификация одинаковых подстрок максимально возможной длины. При нахождении двух таких подстрок вторая з аменяется указ ателем, адресованным в начало первой. Алгоритмы с указателями вперед могут работать лишь с текстами конечной длины, поскольку требуют обратного сканирования текста. Здесь также используется поиск совпадающих подстрок в буфере переменной длины с уже закодированным текстом. Одной из характерн ых черт адаптивных алгоритмов является достаточная их универсальность, т.е. возможность работать с любыми, не только текстовыми данными, ненужность начальной информации о характере данных и их статистике. Эта черта снижает эффективность сжатия и достигаемое сжатие, как правило, меньше полученного другими методами. Но часто адаптивные алгоритмы просты и все же приемлемы по эффективности. Коэффициент сжатия текстовых данных этим методом лежит в пределах 1,8 — 2,5. 1.5.2. Статистические алгоритмы. 1.5.2.1. Кодирование фрагментов фиксированной длиныПростейше й формой словаря в этом случае является кодовая таблица символов алфавита, ставящая в соответствие каждому символу свой код. Коды выбираются с таким расчетом, чтобы общая длина з акодированного ими текста была минимальной. Такую же таблиц у можно составить для всех или наиболее часто встречающихся комбинаций из двух, трех и т.д. букв, т.е. фрагментов с фиксированным числом символов. Ниже приведены частоты букв в русском языке: пробел 0,174 ы 0,016 о 0,080 з 0,016 е, ё 0,071 ъ 0,014 а 0,061 ь 0,014 и 0,061 б 0,014 т 0,05 2 г 0,013 м 0,052 ч 0,012 с 0,045 й 0,010 р 0,040 у 0,009 в 0,038 ж 0,007 л 0,035ю 0,006 к 0,028ш 0,006 н 0,026 ц 0,003 д 0,025щ 0,003 п 0,023э 0,003 у 0,021ф 0,002 я 0,018 х 0,002 Сами коды рассчитываются на основании частот отдельных символов (в случае таблицы символов) или их комбинаций (в этом случае общая частота рассчитывается как произведение частот отдельных символов, входящих в комбинацию) с помощью методов Шеннона-Фано или Хаффмена (описание методов см. в приложении 1). Из быточность информации заключается ещё в корреляции между символами (словами). Метод Хаффмена сохраняет эту избыточность. Существуют модификации метода, позволяющие учесть взаимозависимости. Наиболее простая из них используется, когда все символы можно разделить на небольшое число групп с сильной корреляцией внутри групп и слабой — между ними. Это иногда имеет место для числовых и буквенных символов текста. К другим недостаткам хаффменовских методов относится относительная сложность декодирования — необходимость анализа битовой структуры префиксных кодов, замедляющая процесс декодирования. Дальнейши м развитием метода Хаффмена являются арифметич еские коды. Они происходят из так называемых конкатенацион ных, или блочных, кодов. Суть их заключается в том, что выходной код генерируется для цепочки входных символо в фиксированной длины без учета межсимвольных корреляций. В основе метода лежит представление вероятности каждой цепочки К входных символов (А1 , А2, ... А К) в виде числа, получаемого как сумма К слагаемых вида p(А1 )p( А2 ) ..р (АI-1 )P(АI ), I=1, 2, 3, …… K где р ( S) — вероятность символа S, Р(S) — куммулятивная вероятность символа S, равная сумме вероятностей всех символов AI, для которых р( АI ) больше р( S). 1.5.2.2. Кодирование фрагментов переменной длиныДругой формой словаря может являться словарь фрагментов переменной длины. Словари фрагментов переменной длины строятся из словоформ, которые выделяются в тексте по естественным разделителям – пробелам и знакам пунктуации. Затем рассчитываются частоты каждой словоформы как отношение числа ее повторений к общему количеству словоформ. Используя эти частоты, применяют метод Хаффмена или Шеннона-Фано для кодирования словоформ кодом переменной длины. Выводы по части 3. В процессе ускоренной компьютериз ации общества объемы данных, хранимых на машинных носителях, быстро растут. Ещё совсем недавно они измерялись килобайтами и мегабайтами, а теперь — гигабайтами и более крупными единицами. Естественно желание хранить эти данные предельно компактно. Причем интересны обратимые методы, устраняющие избыточность информации при сжатии и восстанавливающие её при разжатии. Описанные в реферате методы обратимы. ПРИЛОЖЕНИЕ 1. Методы сжатия данных Метод Шеннона-Фано Знаки упорядочиваются по возрастанию их частот и об разуют частичные суммы Si = Spj (j = 1, 2, 3, …… i ), г де р j — частотаj- того знака. Далее процесс разбивается на несколько шагов. В первом шаге столбец знаков рассекается на две части так, чтобы частичная сумма сечения была близка к 0,5. Процесс деления подстолбцов повторяется так, чтобы каждый раз частичная сумма в точке сечения оказывалась ближе к среднему арифметическому частичных сумм на нижнем и верхнем краях разделяемого подстолбца. При каждом разбиении элементам верхней части ставится в соответствие 1, нижней — 0. Например: пусть знаки рi A 0,11 B 0,15 C 0,20 D 0,24 E 0,30 Тогда процедура разбиения складывается из шагов: Знаки pi коды A 0,11 1 1 111 B 0,15 1 0 110 C 0,20 0 10 D 0,24 0 1 01 E 0,30 0 00 шаг1 шаг2 шагЗ Метод Хаффмена Знаки упорядочиваются по возрастанию частоты. Дв а самых редких знака объединяются в один класс, и их частоты складываются. Полученные частоты переупорядочиваются и процесс повторяется до тех пор, пока все знаки ни будут объединены в один класс. Например, Знаки pi Знаки piA 0,11 (0) C 0,20 (0) B 0,15 (1) D 0,24 (1) C 0,20 F 0,26 D 0,24 E 0,30 E 0,30 Знаки pi Знаки piF 0,26 (0) G 0,44 (0) E 0,30 (1) H 0,56 (1) G 0,44 Тогда коды исходных символов (они «собираются» из частных кодов дополнительных обозначений – F, G, H- в обратном относительно хода кодировки порядке): Исходные Коды Пояснения символы A 100 (А вошел в F с кодом 0; F вошел в H с кодом 0; у H код 1. Тогда обратный порядок — 100) B 101 (B вошел в F с кодом 1; F вошел в H с кодом 0; у H код 1. Тогда обратный порядок – 101) С 00 (С вошел в G с кодом 0; у G код 0) D 01 (D вошел в G с кодом 1; у G код 0. Тогда обратный порядок – 01) E 11 (E вошел в H с кодом 1, у H код 1) Заключение. Я думаю, что эти вопросы, определяющие часть информатики, посвященную обработке информации, помогают профессиональному программисту, с одной стороны, ознакомится с некоторыми практическими задачами информатики, а с другой стороны, закрепить навыки прикладного программирования и составления блок-схем. Эта довольно сложная часть информатики нуждается в более полном освещении, а о пользе улучшения навыков обработке текстовой информации, а также работы с базами данных нечего и говорить. Говоря коротко, и профессионал, и начинающий пользователь может найти для себя много полезного в предоставленной выше информации. Список литературы Каган и Каневский “Цифровые вычислительные машины и системы”. Газета “Компьютер — инфо”. [1] Добавление незначащего нуля обусловлено требованием четности числа цифр www.ronl.ru |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|