Соболь Б.В., Галин А.Б., Панов Ю.В., Рашидова Е.В., Са­довой Н.Н.

Б.В. Соболь А.Б. Галин Ю.В. Панов Е.В. Рашидова Н.Н. Садовой

Информатика

Учебник

Ростов-на-Дону

«Феникс»

 

 

УДК 004(075.8) ББК 32.81я73. С 54

Рецензенты:

кафедра «Информационные системы в строительстве» РГСУ, доктор технических наук, профессор РГУ А.В. Аграновский

Соболь Б.В., Галин А.Б., Панов Ю.В., Рашидова Е.В., Са­довой Н.Н.

С 54 Информатика:Учебник. — Ростов н/Д: Феникс, 2005. — 448 с. (Высшее образование).

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

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

I5ВN 5-222-05934-0 ББК 32.81я73

УДК 004(075.8)

© Соболь Б.В., Галин А.Б., Панов Ю.В.,

Рашидова Е.В., Садовой Н.Н., 2005

© Оформление, изд-во «Феникс», 2005

 

 

предисловие

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

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

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

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

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

Авторы

 

 

Список сокращений

АВМ — аналоговая вычислительная машина

АЛУ — арифметико-логическое устройство

АО — аппаратное обеспечение

АПС — аппаратно-программные средства

АЦП — аналогово-цифровой преобразователь

БД — база данных

БИС — большая интегральная схема

ВЗУ — внешнее запоминающее устройство

ГВС — глобальные вычислительные сети

ДНФ - дизъюнктивная нормальная форма

ЖКИ — жидкокристаллические индикаторы

ИС — информационная система

КНФ — конъюнктивная нормальная форма

КС — компьютерная система

ЛВС — локальные вычислительные сети

НСД — несанкционированный доступ

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

ООП — объектно-ориентированное проектирование

ОС - операционная система

ПЗУ — постоянное запоминающее устройство

ПО — программное обеспечение

ППЗУ — перепрограммируемые ПЗУ

ППО - прикладное программное обеспечение

ППП — пакет прикладных программ

РОН — регистры общего назначения

СА — сетевой адаптер

САУ — система автоматического управления

СБИС - сверхбольшая интегральная схема

СВТ — средства вычислительной техники

СУБД — система управления базой данных

ФС — файловая система,

ФСА - функциональная структура алгоритма

ЦАП - цифро-аналоговый преобразователь

ЦВМ - цифровая вычислительная машина

ЦП - центральный процессор

ЭВМ — электронная вычислительная машина

ЭЛТ — электронно-лучевая трубка

АСР (Accelerated Graphics Port) — локальная шина видеоконтрол­лера

CASE (Computer Aided Software Engineering) - программно-тех­нологические средства специального класса

CD (Compact Disk) — оптический компакт-диск

CD-R (CD-Recodable) — оптический компакт-диск с однократ­ной записью

CD-RW (CD-ReWritable) — оптический компакт-диск с много­кратной записью

CISC (Соmр1ех Instruction Set Computer) — полная система ко­манд переменной длины

CMYK — модель представления светоотражающих графических

объектов

DDE (Dynamic Data Exchange) — динамический обмен данных

DDoS (Distributed DoS) — DoS атака, проводимая в определен­ное время

DoS (Deny-of-Service) — атака на отказ в обслуживании

DOS (Disk Operating System) — дисковая операционная система dpi (dots per inch) количество точек на дюйм

DRAM (Dynamic RAM) — ОЗУ динамического типа

DVD (Digital Versatile Disk) — компакт-диск с высокой плотнос­тью записи

FRAM (Ferroelectric RAM) - ферроэлектрическая память с про­извольным доступом

HTML (Hyper Text Markup Language) — универсальный язык раз­метки гипертекста

HTTP (Hypertext Transfer Protocol) — протокол передачи гипер­текста

IP (Internet Protocol) — маршрутный протокол Интернет

ISO (International Organization for Standardization) — Международ­ная организация по стандартизации

LCD (Liquid Crystal Dispay) — жидкокристаллические индика­торы

LEP (Light Emission Platics) — самоизлучающие мониторы

MS (MicroSoft) Майкрософт — фирма-производитель программ­ного обеспечения

OLE (Object Linking and Embedding) — принцип внедрения и свя­зывания объектов

OMT(Object Modeling Technique) — технология объектного моде­лирования

OOSE (Object-Oriented Software Engineering) — объектно-ориен­тированная разработка программного обеспечения

OSI (Model of Open System Interconnections) — модель взаимодей­ствия открытых систем

PC (Personal Computer) — персональный компьютер

PCI (Peripheral Component Interconnect) — общая шина настоль­ных компьютеров

PCMCIA (Personal Computer Memory Card International Association) — общая шина переносных компьютеров

PDP (Plasma Display Panels) — плазменные мониторы

РL/1 (Programming Language One) - язык программирования (ПЛ/1)

РРМ (Page Per Minute) — количество страниц в минуту

RAM (Random Access Memory) - память со свободным доступом

RGB (Red Green Blue) — модель представления светоизлучающих графических объектов

RISC (Reduced Instruction Set Computer) — сокращенный набор команд фиксированной длины

ROM (Read Only Memory) — память только для чтения

SMTP (Simple Mail Transfer Protocol) — простой протокол пере­сылки почты

SRAM (Static RAM) — ОЗУ статического типа

STP (Shielded Twisted Par) — экранированная витая пара

TFT (Thin Film Transistor) — жидкокристаллический экран с тон­копленочным транзистором

ТСР (Transmission Control Protocol ) - транспортный протокол Интернет

UML (Unified Modeling Language) — унифицированный язык моделирования

URL (Uniform Resource Location) — унифицированный указатель ресурса

UTP (Unshielded Twisted Pair ) — неэкранированная витая пара

WYSIWYG (What You See Is What You Get) — принцип “что видишь (на экране), то и получишь (при печати на листе)”

WWW (World Wide Web) — Всемирная паутина

 

1. информация, информатика, информационные технологии

В жизни современного человека слово «информация» очень рас­пространено и часто используется в разных контекстах. Информаци­ей обычно называют любые сведения, которые кого-либо интересу­ют, которые мы получаем или передаем. Например, мы говорим: «В результате научных исследований нами получена информация о...» или «Из книг мы информированы о...», «По телевидению была пе­редана информация о...».

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

Начиная с XVII в. объем научной информации удваивался, при­мерно, каждые 20 лет, в настоящее время он удваивается в 5-6 лет и тенденция ускорения сохраняется. Одной из важнейших проблем человечества наших дней является лавинообразный рост потока ин­формации в любой отрасли жизнедеятельности. Подсчитано, что со­временный специалист должен тратить около 80 % своего рабочего времени, чтобы уследить за всеми новыми работами в его области деятельности.

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

 

 

Информации

1,1.1, Понятие информации.

Термин информация используется во многих науках и во многих сферах человеческой деятельности. Он происходит от латинского слова «informatio», что означает «сведения, разъяснения, изложение». Несмотря на привычность этого термина, строгого и общепринято­го определения не существует. В рамках рассматриваемой нами на­уки «информация» является первичным и, следовательно, неопреде­лимым понятием, подобно понятиям «точка» в математике, «тело» в механике, «поле» в физике. Несмотря на то, что этому понятию не­возможно дать строгое определение, имеется возможность описать его через проявляемые свойства и мы попытаемся это сделать.

Как известно, в материальном мире все физические объекты, ок­ружающие нас, являются либо телами, либо полями. Физические объекты, взаимодействуя друге другом, порождают сигналы различных типов. В общем случае любой сигнал - это изменяющийся во време­ни "физический процесс. Такой процесс может содержать различные характеристики. Характеристика, которая используется для представ­ления данных, называется параметром сигнала. Если параметр сигна­ла принимает ряд последовательных значений и их конечное число, то сигнал называется дискретным. Если параметр сигнала — непрерыв­ная во времени функция, то сигнал называется непрерывным.

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

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

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

Из вышесказанного следует, что информация не является ста­тическим объектом, она появляется и существует в момент слияния методов и данных, все прочее время она находится в форме данных. Момент слияния данных и методов называется информационным про­цессом (рис. 1.1).

Рис. 1.1. Формирование информации

Человек воспринимает первичные данные различными органами чувств (их у нас пять — зрение, слух, осязание, обоняние, вкус), и на их основе сознанием могут быть построены вторичные абстракт­ные (смысловые, семантические) данные.

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

1.1.2, Свойства информации

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

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

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

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

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

Доступность информации — это возможность получения инфор­мации при необходимости. Доступность складывается из двух состав­ляющих: из доступности данных и доступности методов. Отсутствие хотя бы одного дает неадекватную информацию.

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

1.1,3. Понятие количество, информации

Свойство полноты информации негласно предполагает, что име­ется возможность измерять количество информации. Какое количество информации содержится в данной книге, какое количество инфор­мации в популярной песенке? Что содержит больше информации: роман «Война и мир» или сообщение, полученное в письме от това­рища? Ответы на подобные вопросы не просты и не однозначны, так как во всякой информации присутствует субъективная компонента. А возможно ли вообще объективно измерить количество информа­ции? Важнейшим результатом теории информации является вывод о том, что в определенных, весьма широких условиях, можно, пренебре­гая качественными особенностями информации, выразить ее количество числом, а следовательно, сравнивать количество информации, содер­жащейся в различных группах данных.

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

Рассмотрим пример: дома осенним утром, старушка предполо­жила, что могут быть осадки, а могут и не быть, а если будут, то в форме снега или в форме дождя, т.е. «бабушка надвое сказала — то ли будет, то ли нет, то ли дождик, то ли снег». Затем, выглянув в окно, увидела пасмурное небо и с большой вероятностью предполо­жила — осадки будут, т.е., получив информацию, снизила количество вариантов выбора. Далее, взглянув на наружный термометр, она уви­дела, что температура отрицательная, значит, осадки следует ожидать в виде снега. Таким образом, получив последние данные о темпера­туре, бабушка получила полную информацию о предстоящей погоде и исключила все, кроме одного, варианты выбора.

Приведенный пример показывает, что понятия «информация», '•неопределенность», «возможность выбора» тесно связаны. Получа­емая информация уменьшает число возможных вариантов выбора (т.е. неопределенность), а полная информация не оставляет вариан­тов вообще.

За единицу информации принимается один бит (англ. bit –binary digit — двоичная цифра). Это количество информации, при котором неопределенность, т.е. количество вариантов выбора, умень­шается вдвое или, другими словами, это ответ на вопрос, требующий односложного разрешения — да или нет.

Бит — слишком мелкая единица измерения информации. На практике чаще применяются более крупные единицы, например, байт., являющийся последовательностью из восьми бит. Именно во­семь битов, или один байт, используется для того, чтобы закодиро­вать символы алфавита, клавиши клавиатуры компьютера. Один байт также являе1ся минимальной единицей адресуемой памяти компью­тера, т.е. обратиться в память можно к байту, а не биту.

Широко используются еще более крупные производные едини­цы информации:

1 Килобайт (Кбайт) = 1024 байт = 210 байт,

1 Мегабайт (Мбайт) = 1024 Кбайт = 220 байт,

1 Гигабайт (Гбайт) - 1024 Мбайт - 2'° байт,

1 Терабайт (Тбайт) = 1024 Гбайт = 240 байт.

 

За единицу информации можно было бы выбрать количество

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

1,1,4. информационные процессы

Получение информации тесно связано с информационными

процессами, поэтому имеет смысл рассмотреть отдельно их виды.

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

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

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

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

 

1.1.5. Информация в жизни человечества.

Как мы уже выяснили, человечество со дня своего выделения из животного мира значительную часть своего времени и внимания уде­ляло информационным процессам.

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

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

Дальнейшее накопление человечеством информации привело к увеличению числа людей, пользовавшихся ею, но письменные тру­ды одного человека могли быть достоянием небольшого окружения. Возникшее противоречие было разрешено созданием печатного станка. Эта веха в истории цивилизации характеризуется как вторая ин­формационная революция началась и XVI в.). Доступ к информации перестал быть уделом избранных, появилась возможность многократ­но увеличить объем обмена информацией, что привело к большим изменениям в науке, культуре и общественной жизни.

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

К середине XX в. появились быстрые технологические процес­сы, управлять которыми человек не успевал. Проблема управления техническими объектами могла решаться только с помощью универ­сальных автоматов, собирающих, обрабатывающих данные и выда­ющих решение в форме управляющих команд. Ныне эти автоматы называются компьютерами. Бурно развивавшаяся наука и промыш­ленность привели к росту Информационных ресурсов в геометричес­кой прогрессии, что породило проблемы доступа к большим объе­мам информации.

Наше время отмечается как четвертая информационная револю­ция. Пользователями информации стали миллионы людей. Появи­лись дешевые компьютеры, доступные миллионам пользователей. Компьютеры стали мультимедийными,, т.е. они обрабатывают различ­ные виды информации: звуковую, графическую, видео и др. Это, в свою очередь, дало толчок к широчайшему использованию компью­теров в различных областях науки, техники, производства, быта. Средства связи получили повсеместное распространение, а компьютеры для совместного участия в информационном процессе соеди­няются в компьютерные сети. Появилась всемирная компьютерная сеть Интернет, услугами которой пользуется значительная часть на­селения планеты, оперативно получая и обмениваясь данными, т.е. формируется единое мировое информационное пространство.

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

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

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

Развитие мировых информационных ресурсов позволило:

• превратить деятельность по оказанию информационных услуг в
глобальную человеческую деятельность;

• сформировать мировой и внутригосударственный рынок инфор­мационных услуг;

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

1.2. Предмет и структура информатики

Термин информатика получил распространение с середины
80-х гг. прошлого века. Он состоит из корня inform - «информация»
и суффикса matics - «наука о...». Таким образом, информатика — это
наука об информации. В англоязычных странах термин не прижил­ся, информатика там называется Computer Science — наука о компьютерах.

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

Информатика — это наука, изучающая:

- методы реализации информационных процессов средствами вычис­лительной техники (СВТ);

-состав, структуру, общие принципы функционирования СВТ;

- принципы управления СВТ.

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

Методы реализации информационных процессов находятся на стыке информатики с теорией информации, статистикой, теорией кодирования, математической логикой, документоведением и т.д. В этом разделе изучаются вопросы:

• представление различных типов данных (числа, символы, текст,
звук, графика, видео и т.д.) в виде, удобном для обработки СВТ
(кодирование данных);

• форматы представления данных (предполагается, что одни и те
же данные могут быть представлены разными способами);

• теоретические проблемы сжатия данных;

• структуры данных, т.е. способы хранения с целью удобного дос­тупа к данным.

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

• основы построения элементов цифровых устройств;

• основные принципы функционирования цифровых вычисли­
тельных устройств;

архитектура СВТ — основные принципы функционирования
систем, предназначенных для автоматической обработки данных;

• приборы и аппараты, составляющие аппаратную конфигурацию
вычислительных систем;-

• приборы и аппараты, составляющие аппаратную конфигурацию
компьютерных сетей.

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

• средства взаимодействия аппаратного и программного обеспечения;

• средства взаимодействия человека с аппаратным и программным
обеспечением, объединяемые понятием интерфейс;

• программное обеспечение СВТ (ПО).

 

Обобщая сказанное, можно предложить следующую структурную схему (рис. 1.2):

 



Рис. 1.2. Структура информатики

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

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

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

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

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

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

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

Обобщая сказанное, можно предложить следующую структуру программного обеспечения (рис. 1,3).

 


 

Рис.1.3. Классификация программного обеспечения

Предложенная классификация программного обеспечения явля­ется в большой мере условной, так как в настоящее время программные продукты многих фирм стали объединять в себе программные элементы из разных классов. Например, операционная система Windows, являясь комплексом системных программ, в своем составе содержит блок служебных программ (дефрагментация, проверка, очи­стка диска и др.), а также текстовый процессор WorldPad, графичес­кий редактор Paint, которые принадлежат классу прикладных про­грамм.

 

1.3. Представление (кодирование) данных

Чтобы работать с данными различных видов, необходимо уни­фицировать форму их представления, а это можно сделать с помо­щью кодирования. Кодированием мы занимаемся довольно часто, на­пример, человек мыслит весьма расплывчатыми понятиями, и, чтобы донести мысль от одного человека к другому, применяется язык. Язык - это система кодирования понятий, Чтобы записать слова языка, применяется опять же кодирование — азбука. Проблемами универ­сального кодирования занимаются различные области науки, тех­ники, культуры. Вспомним, что чертежи, ноты, математические выкладки являются тоже некоторым кодированием различных ин­формационных объектов. Аналогично, универсальная система кодиро­вания требуется для того, чтобы большое количество различных видов информации можно было бы обработать на компьютере.

Подготовка данных для обработки на компьютере (представле­ние данных) в информатике имеет свою специфику, связанную с электроникой. Например, мы хотим проводить расчеты на компью­тере. При этом нам придется закодировать цифры, которыми запи­саны числа. На первый взгляд, представляется вполне естественным кодировать цифру ноль состоянием электронной схемы, где напря­жение на некотором элементе будет равно 0 вольт, цифру единица — I вольт, двойку — 2 вольт и т.д., девятку — 9 вольт. Для записи каж­дого разряда числа в этом случае потребуется элемент электронной схемы, имеющий десять состояний. Однако элементная база элект­ронных схем имеет разброс параметров, что может привести к появ­лению напряжения, скажем, 3,5 вольт, а оно может быть истолковано и как тройка и как четверка, т.е. потребуется на уровне электрон­ных схем объяснить компьютеру, где заканчивается тройка, а где на­чинается четверка. Кроме' того, придется создавать весьма непрос­тые электронные элементы для производства арифметических операций с числами, т.е. на схемном уровне должны быть созданы таблица умножения - 10x10 = 100 схем и таблица сложения - тоже 100 схем. Для электроники 40-х гг. (время, когда появились первые вычислительные машины) это была непосильная задача. Еще слож­нее выглядела бы задача обработки текстов, ведь русский алфавит содержит 33 буквы. Очевидно, такой путь построения вычислитель­ных систем не состоятелен.

В то же время' весьма просто реализовались электронные схе­мы с двумя устойчивыми состояниями: есть ток — 1, нет тока — О, есть электрическое (магнитное) поле — 1, нет — 0. Взгляды создате­лей вычислительной техники были обращены на двоичное кодирова­ние как универсальную форму представления данных для дальнейшей обработки их средствами вычислительной техники. Предполагается, что данные располагаются в некоторых ячейках, представляющих упорядоченную совокупность из двоичных разрядов, а каждый мо­жет временно содержать одно из состояний — 0 или 1. Тогда группа из двух двоичных разрядов (двух бит) может закодировать 22= 4 раз­личные комбинации кодов (00 01 10 11); аналогично, три бита дадут 23 = 8 комбинаций, восемь бит или 1 байт — 2я = 256 и т.д.

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

1.3.1. Представление чисел в двоичном коде

Существуют различные способы записи чисел, например: мож­но записать число в виде текста — сто двадцать три; римской систе­ме счисления CXXIII; арабской - 123.

 

 

Системы счисления

Совокупность приемов записи и наименования чисел называет­ся системой счисления.

Числа записываются с помощью символов, и по количеству сим­волов, используемых для записи числа, системы счисления подраз­деляются на позиционные и непозиционные. Если для записи числа используется бесконечное множество символов, то система счисле­ния называется непозиционной. Примером непозиционной системы счисления может служить римская. Например, для записи числа один используется буква I, два и три выглядят как совокупности симво­лов II, III, но для записи числа пять выбирается новый символ V, шесть — VI, десять вводится символ X, сто — С, тысяча — М и т.д. Бесконечный ряд чисел потребует бесконечного числа символов для записи чисел. Кроме того, такой способ записи чисел приводит к очень сложным правилам арифметики.

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

В повседневной жизни мы пользуемся десятичной позиционной системой счисления, q = 10, т.е. используется 10 цифр: 0123456 7 8 9.

Рассмотрим правила записи чисел в позиционной десятичной системе счисления. Числа от 0 до 9 записываются цифрами, для за­писи следующего числа цифры не существует, поэтому вместо 9 пи­шут 0, но левее нуля образуется еще один разряд, называемый стар­шим, где записывается (прибавляется) 1, в результате получается 10. Затем пойдут числа 11, 12, но на 19 опять младший разряд запол­нится и мы его снова заменим на 0, а старший разряд увеличим на 1, получим 20. Далее по аналогии 30, 40 ... 90, 91, 92... до 99. Здесь заполненными оказываются два разряда сразу; чтобы получить сле­дующее число, мы заменяем оба на 0, а в старшем разряде, теперь уже третьем, поставим 1, т.е. 100, и т.д. до бесконечности, причем за­метим, что при конечном числе цифр можно записать любое сколь угодно большое число. Заметим также, что производство арифмети­ческих действий в десятичной системе счисления весьма просто.

Число в позиционной системе счисления с основанием q может быть представлено в виде полинома по степеням q. Например, в де­сятичной системе мы имеем число

а в общем виде это правило запишется так:

Здесь X(q) - запись числа в системе счисления с основанием q; х(i). - натуральные числа меньше q, т.е. цифры;

n— число разрядов целой части;

m - число разрядов дробной части.

Записывая слева направо цифры числа, мы получим закодиро­ванную запись числа в q-ичной системе счисления:

В информатике, вследствие применения электронных средств вычислительной техники, большое значение имеет двоичная систе­ма счисления, q = 2 . На ранних этапах развития вычислительной техники арифметические операции с действительными числами про­изводились в двоичной системе ввиду простоты их реализации в электронных схемах вычислительных Машин. Например, таблица сложения и таблица умножения будут иметь по четыре правила:

 

0 + 0 = 0 0x0 = 0
0 +1 = 1 0 х 1 =0
1 +0=1 1 х 0 = 0
1 + 1 = 10 1x1 = 1

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

Но запись числа в двоичной системе счисления длиннее записи того же числа в десятичной системе счисления в log2 10 раз (пример­но в 3,3 раза). Это громоздко и не удобно для использования, так как нормальный объем человеческого внимания составляет пример­но три-четыре объекта, т.е. удобно будет пользоваться такими сис­темами счисления, в которых наиболее часто используемые числа (от единиц до тысяч) записывались бы одной-четырьмя цифрами. Как это будет показано далее, перевод числа, записанного в двоичной си­стеме счисления, в восьмеричную и шестнадцатеричную очень силь­но упрощается по сравнению с переводом из десятичной в двоичную. Запись же чисел в них в три раза короче для восьмеричной и в че­тыре для шестнадцатеричной системы, чем в двоичной, но длины чисел в десятичной, восьмеричной и шестнадцатеричной системах счисления будут различаться ненамного. Поэтому, наряду с двоич­ной системой счисления, в информатике имеют хождение восьмерич­ная и шестнадцатеричная системы счисления.

Восьмеричная система счисления имеет восемь цифр: 01234 567. Шестнадцатеричная - шестнадцать, причем первые 10 цифр совпадают по написанию с цифрами десятичной системы счисления, а для обозначения оставшихся шести цифр применяются большие латинские буквы, т.е. для шестнадцатеричной системы счисления получим набор цифр: 0123456789АВСОЕЕ

Если из контекста не ясно, к какой системе счисления относит­ся запись, то основание системы записывается после числа в виде нижнего индекса. Например, одно и то же число 231, записанное в десятичной системе, запишется в двоичной, восьмеричной и шест­надцатеричной системах счисления следующим образом:

231(10)=11100111(2)=347(8)=Е7(16).

Запишем начало натурального ряда в десятичной, двоичной, восьмеричной и шестнадцатеричной системах счисления.

 

Десятичная Двоичная Восьмерич­ная Шестнадцате-ричная

 

 

Десятичная Двоичная Восьме­ричная Шестнадца-теричная
ПО
А
В
С
О
Е
Р

Преобразование чисел из одной системы счисления в другую

Так как десятичная система для нас удобна и привычна, все арифметические действия мы делаем в ней, и преобразование чисел из произвольной недесятичной (q не равно 10) системы в десятичную удоб­но выполнять на основе разложения по степеням q, например:

 

 

 

Преобразование из десятичной в прочие системы счисления про­водится с помощью правил умножения и деления. При этом целая и дробная части переводятся отдельно.

Рассмотрим алгоритм на примере перевода десятичного числа 231 в двоичную систему (совершенно аналогичен перевод из деся­тичной системы в любую q-ичную). Разделим число на два (основа­ние системы): нацело \ остаток 1, т.е. можно записать

Число 115 (такой двоичной цифры нет) тоже может быть разделено нацело на 2, т.е. 115 : 2 = 57 и остаток 1. По аналогии запи­шем

 

 

Таким образом, последовательное деление нацело позволяет раз­ложить число по степеням двойки, а это в краткой записи и есть двоичное изображение числа.

Эти выкладки можно сократить, записав процесс деления сле­дующим образом:

 


 


 

 

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

Для дробных чисел правило последовательного деления заменя­ется правилом последовательного умножения, которое также рас­смотрим на примере. Переведем 0,8125 из десятичной системы в дво­ичную систему счисления.

Умножим его на 2,

т.е. 0,8125 х 2 = 1,625 или 0,8125 - (1 + 0,625) хх 2-1 = 1 х 2-1 + 0,625 х 24

 

 

 
 
 
 

Попутно заметим, что в десятичной системе счисления правиль­ная дробь переводится в десятичную дробь в конечном виде только в том случае, если ее знаменатель в качестве множителей имеет только степени двоек и пятерок, т.е. дробь имеет вид

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

Если ведутся приближенные вычисления, то последний разряд является сомнительным, и для обеспечения в приближенных вычис­лениях одинаковой точности в двоичной и десятичной записях чис­ла без бесконечных дробей, достаточно взять число двоичных разря­дов в (1оg210 ~ 3,3) 4 раза больше, чем .десятичных.

Между двоичной системой счисления, с одной стороны, и восьмеричной и шестнадцатеричной (заметим 8 и 16 — есть третья и четвертая степени двойки) — с другой, существует связь, позволяю­щая легко переводить числа из одной системы в другую. Рассмотрим на примере:

231,8125(10)=11100111,1101(2) = 1 х 27 + 1 х 26 + 1 х 25 + 1 х 22 + + 1 х21+ 1 х20 + 1 х2-1+ 1 х 2-41 х 2-4.

Для перевода в шестнадцатеричную систему счисления сгруппи­руем целую и дробную части в группы по четыре члена и вынесем в каждой группе за скобки множители, кратные 24. Получим:

(1 х 23 + 1 х 22 + 1 х 21 + 0 х 20) х 24 + (1 х 23 + 1 х 22 + 1 х 21 + + 1 х 20) + (1 х 23 + 1 х 22 + 0 х 21 + 1 х 20) х 2-4= (1 х 23 + 1 х 22 + + 1 х 21 + 0) х 161 + (1 х 22 + 1 х 21 + 1 x 20) х 160 + (1 х 23 + 1 х 22 + + 0 х 21 +0 х 20) х 16-1 = 14 х 161 + 7 х 160 + 13 х 16-1 = Е7.D(16)

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

Аналогичное правило для восьмеричной системы читатель вы­ведет сам.

 

 

Представление чисел в двоичном коде

 

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

Действительное число многообразно в своих «потребительских свойствах». Числа могут быть целые точные, дробные точные, раци­ональные, иррациональные, дробные приближенные, числа могут быть положительными и отрицательными. Числа могут быть «кар­ликами», например, масса атома, «гигантами», например, масса зем­ли, реальными, например, количество студентов в группе, возраст, рост. И каждое из перечисленных чисел потребует для оптимального представления в памяти свое количество байтов.

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

Целые числа. Цельте положительные числа от 0 до 255 можно представить непосредственно в двоичной системе счисления (двоич­ном коде). Такие числа будут занимать один байт в памяти компью­тера.

 

Число Двоичный код
О011

 

В такой форме представления легко реализуется на компьюте­рах двоичная арифметика.

Если нужны и отрицательные числа, то знак числа может быть закодирован отдельным битом, обычно это старший бит; ноль ин­терпретируется как плюс, единица как минус. В таком случае одним байтом может быть закодированы целые числа в интервале от -127 до +127, причем двоичная арифметика будет несколько усложнена, так как в этом случае существуют два кода, изображающих число ноль 0000 0000 и 1000 0000, и в компьютерах на аппаратном уровне это потребуется предусмотреть. Рассмотренный способ представ­ления целых чисел называется прямым кодом. Положение с отрица­тельными числами несколько упрощается, если использовать, так на­зываемый, дополнительный код. В дополнительном коде положитель­ные числа совпадают с положительными числами в прямом ко­де, отрицательные же числа получаются в результате вычитания из 1 0000 0000 соответствующего положительного числа. Например, чис­ло —3 получит код

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

5 - 3 = 5 + (- 3).

Аналогично целые числа от 0 до 65536 и целые числа от - 32768 до 32767 в двоичной (шестнадцатеричной) системе счисления пред­ставляются в двухбайтовых ячейках. Существуют представления це­лых чисел и в четырехбайтовых ячейках.

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

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

 

 

где m - мантисса числа;

q- основание системы счисления;

р - целое число, называемое порядком.

Такой способ записи чисел называется представлением числа с плавающей тонкой.

То есть число 1234,56 может быть записано в одном из видов:

1234,56- 123,456-101= 12,3456-102- 1,23456-103 - 0,123456-104.

Очевидно, такое представление не однозначно. Если мантисса 1 / q |m|< q (0,1 m < 1 для десятичной системы счисления), то представление числа становится однозначным, а такая форма назы­вается нормализованной. Если «плавающая» точка расположена в ман­тиссе перед первой значащей цифрой, то при фиксированном коли­честве разрядов, отведенных под мантиссу, обеспечивается запись максимального количества значащих цифр числа, т.е., максимальная точность.

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

 

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

Так как порядок может быть положительным или отрицатель­ным, нужно решить проблему его знака. Величина порядка представ­ляется с избытком, т.е., вместо истинного значения порядка хранит­ся число, называемое характеристикой (или смещенным порядком). Для получения характеристики необходимо к порядку прибавить смещение. Например, при использовании, для хранения порядка восьми бит и значений от - 128 до + 127 используется смещение 128. Тогда для представления порядка будут использоваться значения от 0 до + 255, т.е. только неотрицательные числа.

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

Чем больше разрядов отводится под запись мантиссы, тем выше точность представления числа. Чем больше разрядов занимает поря­док, тем шире диапазон от наименьшего отличного от нуля числа до наибольшего числа, представимого в компьютере при заданном фор­мате.

Как и в случае целых чисел, в программных системах могут ис­пользоваться несколько типов данных, реализующих модель с пла­вающей точкой. Например, в языке Си применяются три типа дан­ных с разной «длиной». Шестнадцатиразрядные компиляторы для IBM-совместимых персональных компьютеров реализуют эти типы следующим образом.

float — 4 байта, из них 23 разряда мантиссы и 8 битов порядка (от 3,4 • 10-38 до 3,4 • 10+38, обеспечивает точность с 7 значащими циф­рами);

double — 8 байтов, из них 52 разряда мантиссы и 11 битов по­рядка (от 1,7 • 10-308 до 1,7 • 10+308, обеспечивает точность с 15 зна­ками);

long double ~ 10 байтов, из них 65 разрядов мантиссы и 14 битов порядка (от 3,4 • 10-4932 до 3,4 • 10+4932, обеспечивает точность с 19 знаками).

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

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

1,3.2, Представление символьных и текстовых данных

Тексты являются важнейшим источником информации. Имен­но такой характер имеют экономические, плановые, учетные данные, представленные на естественном или искусственном языке. Каждый язык использует свою знаковую систему, основанную на алфавите. Письменность можно рассматривать как метод представления на материальных носителях знаков звуковой системы разговорного языка.

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

Рассмотрим последовательно, как кодируются символы, элемен­ты текстов, текстовые документы

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

Наиболее популярная таблица ASCII разработана институтом стандартизации США в 1981 г. Ее использовали, в частности, про­граммные продукты, работающие под управлением операционной системы MS-DOS. Для представления одного символа используется оди