Глава 2. ОСНОВНЫЕ ПОНЯТИЯ ИНФОРМАТИКИ

Основными понятиями информатики являются: «ин­формация», «ин­фор­­ма­ци­он­­ная модель», «алгоритм» и «электронно-вычислительная машина» («компьютер»).

 

 

ИНФОРМАЦИЯ.Понятие «информация» относится к так на­зы­вае­мым пер­вичным, не­определяемым понятиям. В математике существует группа по­ня­тий, дать строгое определение которым в принципе невозможно. К ним от­носятся понятия «мно­жест­во», «точка» и некоторые другие. Любая по­пыт­ка каким-либо образом определить их сведется к использованию си­но­нимов. Например, час­то используемыми синонимами для термина «ин­фор­мация» являются термины «сведе­ния» и «дан­ные». В таких случаях по­ня­тие вводится путем его объяснения, которое опирается на интуицию, здравый смысл или бытовое использование термина.

В вышеприведенном определении предмета «информатика» дано одно из часто ис­поль­­зу­е­мых пояснений понятия «информация».

 

i

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

 

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

Как знания, так и отдельные систематизированные и не сис­те­ма­ти­зи­ро­ван­ные факты, сведения или данные передаются с помощью сообщений.В качестве при­меров та­ких сообщений можно привести следу­ю­щие предложения: «Поезд но­мер 10 задерживается до 12 часов 40 минут мос­ко­вс­кого времени»; «По­доз­реваемо­му на вид 40-45 лет, рост 190 см»; «Вес выпавшего осадка 15 мг»; «Уровень радиации не превышает 10 микрорентген в час» и т.д.

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

i

 

Сообщение — это материальная форма информации.

 

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

i

 

Информация — это нематериальный смысл, извлекаемый человеком из сообщения.

 

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

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

Как правило, сообщения записываются или передаются с помощью не­ко­то­рой последовательнос­ти знаков — букв письменной или звуков разговорной речи, специально подобранных значков: точек и тире, «пляшущих человечков» из рассказов о Шерлоке Холмсе, математических, химических символов и т.д. Набор знаков, которые используются для формирования и передачи со­общений, принято называть алфавитомязыкаинтерпретации сообщений. Алфавит, как правило, задается прямым перечислением всех входящих в него знаков. Например, набор знаков (цифр) {0,1,2,3,4,5,6,7,8,9} пред­­став­ля­ет собой алфавит, обычно используемый для записи чисел. Человечество за свою историю придумало большое количество раз­лич­ных наборов знаков, которые могут быть использованы для записи или передачи сооб­щений. Примерами могут служить: алфавиты естественных языков, зна­ки зодиака, набор знаков азбуки Брайля (для слепых), азбука Морзе, меж­дународные флажковый и семафорный коды, которые широко при­ме­ня­ют­ся на флоте, набор знаков регулирования дорожного движения и т.д. По­скольку в общем случае для формирования сообщения могут исполь­зо­вать­ся не только буквы алфавитов естественных языков, принято гово­рить, что сообщение кодируется тем или иным набором знаков, а сам ал­фа­вит или набор знаков иногда называют еще и кодом.

Как было отмечено ранее, одна и та же информация может быть передана с помощью различных сообщений, причем эта разница обычно проявляется в различном выборе языка или кода, с помощью которого оно формируется. Например, международный морской сигнал бедствия SOSможнопередать сообщением на английском язы­ке «Save our soul», аналогичным сообщением на русском — «Спасите наши души», с помощью азбуки Морзе — «…— — —…»и многими другими способами. Но во всех случаях, на любых языках и при любых способах кодирования смысл всех сообщений один и тот же — подан сигнал бедствия. Этот важный момент можно трактовать по-другому, а именно можно считать, что существует только одно сообщение, но применяются разные способы его записи, кодировки.

Иначе говоря, одно и то же сообщение может быть без потери его смысла закодировано разными способами.

 

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

 

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

 

ИНФОРМАЦИОННАЯ МОДЕЛЬ.Получая какую-либо информацию из окружающей среды, че­ло­век оп­­ределенным образом ее просеивает, отбрасывая несущественную, слу­чай­ную информацию и оставляя только важную для решаемой им задачи. Любой рассматриваемый объект или явление независимо от его мате­ри­альности или идеальности имеет некоторые характерные для него чер­ты, свойства, качества. Например, тело как материальный объект имеет гео­­мет­рические размеры (длину, ширину, высоту), вес, цвет и т.д. А, скажем, ис­то­ри­чес­кие события ха­рак­тери­зу­ются датой и местом, где они произошли. Такие характерные, неотъем­лемые черты, свойства, качества принято называть атрибутамиобъек­тов, явлений. Вообще говоря, объект или явление может иметь очень большое коли­чест­во атрибутов (десятки, сотни тысяч и более). И далеко не все из них сущест­вен­ны, важны для рассматривае­мой задачи. На­при­мер, мы ожидаем на остановке трамвай номер 20. Мы смотрим на приб­ли­жа­ющийся трамвай и видим, что трамвай состоит из трех вагонов, что он выкрашен в красный и белый цвета, что во­дитель трамвая — женщина и что трамвай имеет номер 22. Неосознанно об­ра­ба­ты­вая по­лученную информацию, мы, как правило, обраща­ем внимание только на то, что нас интересует, а именно на но­мер трамвая, а все остальные атрибуты отбрасываем как не име­ющие зна­чения для решаемой задачи. Таким образом, вместо реального объекта (трамвая) в нашем сознании формируется его образ, модель, лишенная всех несущественных подробностей и содержащая только нужную в данной ситуации информацию.

 

i

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

 

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

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

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

 

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

 

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

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

 

 

АЛГОРИТМ. Построение информационной модели представляет собой первый, но не единственный этап изучения или использования в практических целях рассматриваемого объекта, явления. После построения информационной или математической мо­дели почти всегда приходится выполнять соответствующую модели обработку конкретной информации (данных).

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

i

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

 

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

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

 

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

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

 

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

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

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

 

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

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

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

 

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

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

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

?В качестве иллюстрации процесса разработки алгоритмов рассмотрим, например, построение алгоритма решения часто встре­чаю­щейся на практике задачи поиска вхождения какой–либо последо­вательности символов в другую последовательность. С этой задачей при­ходится сталкиваться, например, при поиске в различного рода словарях объяс­нения неизвестного слова или при переводе с одного языка на другой. Мы ищем неизвестное слово, которое можно рассматривать как одну последовательность символов, в словаре, который можно рассматривать как дру­гую последовательность символов. Значительно упрощая ситуацию, бу­дем считать, что словарь — это текст, состоящий из какого–либо числа сим­во­лов N, например, из одной тысячи символов (N=1000), а искомое слово пусть состоит всего из трех сим­волов. То есть последовательность символов, в которой осуществляется поиск, будем называть текстом, а последовательность символов, вхождение которой ищется, будем называть словом. Естественно считать, что текст содержит больше символов, чем слово (в крайнем случае — столько же). Заметим, что конкретные длины рассматриваемых последовательностей символов при решении данной задачи не имеют принципиального значения.

При решении задачи поиска нас будет интересовать только факт наличия или отсутст­вия искомого слова в тексте. Дополнительные действия, возникающие, скажем, при переводе слова с одного языка на другой, мы обсуждать не будем. Вначале предположим, что мы уже умеем сравнивать одну груп­пу из трех символов с другой группой, также состоящей из трех символов, и делать вывод о том, совпадают они или нет. Введем в рассмотрение ве­ли­чину I, которую мы будем трактовать как номер первого из трех очеред­ных символов текста. Закрепим за этой величиной значение единица и срав­ним заданное слово с начальными тремя буквами текста. Если они совпадают, то наша задача уже решена,и делается вывод о вхождении заданного слова в рассматриваемый текст. Если имеется несовпадение, то нужно сдвинуться по тек­с­ту на одну букву. Другими словами, нужно увеличить номер I на едини­цу (те­перь его текущее значение равно двум) и сравнить с искомым сло­вом вторую, третью и четвертую буквы текста. Если есть совпадение, то задача решена. Если нет, то вновь увеличим номер I на единицу (теперь его текущее значение равно трем) и сравним с искомым словом третью, чет­вертую и пятую буквы текста. И опять при совпадении заканчиваем ре­ше­ние, а при несовпадении продолжим сдвиг по тексту. Очевидно, этот про­цесс будет продолжаться до тех пор, пока мы не доберемся до конца тек­с­та (при условии, что где-нибудь ранее не найдем совпадения). Завершит в этом случае решение задачи последнее сравнение 998, 999 и 1000 си­мволов текста с заданным словом. Другими словами, сравнение каждой оче­редной тройки символов текста продолжается до значения номера I, рав­ного N-2 (в нашем случае это 998). При этом значении номера I сравнение осуществ­ля­ет­ся последний раз. Если и этот пос­ледний отрезок не совпадает, то де­ла­ет­ся вывод об отсутствии искомого слова в тексте.

 

Рис. 2.1. Поиск вхождения слова в текст: а — слово в текст не входит; б — слово входит в текст

 

Посмотрим, как выполняются описанные действия на конкретном при­ме­ре. Для наглядности еще больше упростим задачу и возьмем текст, состоящий все­го из N=5 символов. Еще раз отметим, что работа с текстом из N=1000 символов в при­н­ципе выполняется точно так же, как и с текстом из N=100000000 или из N=5 символов, — разница только в количестве повторений одних и тех же действий. Чтобы проиллюстрировать возможные ситуации, возь­мем два текста — «кокос» и «осока» и будем искать вхождение в эти тек­сты слова «сок». Выполняющиеся в этих случаях последовательности дей­ствий показаны на рис. 2.1. Величина I, играющая роль номера первого символа сравниваемого со сло­вом участка текста, в данном примере должна пробегать значения от 1 до N–2, то есть до 3. В случае а ни один из участков текста не совпал со словом «сок». В самом деле, при I=1 участок образуют 1, 2 и 3 буквы текста — «кок», при I=2 участок состоит из 2, 3 и 4 букв текста — «око», и, наконец, пос­леднее сравнение при I=3 — 3, 4, и 5 буквы текста образуют «кос». Дальнейшее сме­щение невозможно, так как при выделении последнего участка достиг­ну­та правая граница текста. Итак, в случае а делается вывод о том, что дан­ное слово «сок» в данный текст « кокос» не входит. В случае б совпаде­ние участка текста с заданным словом отмечается при I=2, и дальнейшие сравнения уже не выполняются.

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

Рис. 2.2. Блок-схема алгоритма и фрагмент программы решения задачи поиска: а — упрощенная блок-схема основного узла алгоритма; б — фрагмент соответствующей программы на языке Паскаль

 

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

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

 

i

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

 

Еще раз обращаем внимание на важнейшие моменты этого определения: 1)компьютер представляет собой электронное устройство; 2)компьютер выполняет действия без вмешательства человека — автоматически; 3)но для этого компьютеру должна быть заранее задан разработанный человеком и записанный в специальной форме план действий —программа.

 

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

 

i

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

 

Следует отметить, что единственной «понятной» для компьютера формой задания как алгоритмов, так и обрабатываемых данных является упоминавшееся выше двоичное кодирование, то есть запись программ и данных в алфавите {0,1}.

 

КЛАССИФИКАЦИЯ ЭВМ. К настоящему времени в мире раз­ра­бо­та­ны сотни и тысячи различных моделей компьютеров. Эти модели от­ли­чаю­тся друг от друга устройством, способами кодирования инфор­ма­ции, на­борами возможных действий по обработке данных, объемом за­по­ми­наемой информации и скоростью ее обработки. Для того чтобы ориен­ти­роваться в этом многообразии средств вычислительной техники, при­меняются раз­лич­ные клас­­сификационные схемы. Необходимо отметить, что эти клас­си­фи­ка­ци­он­ные схе­мы, во-первых, достаточно ус­лов­ны и не являются об­щеп­ри­ня­ты­ми. Во-вторых, с течением времени они претерпевают оп­ре­де­лен­ные из­менения, связанные с бурным развитием информатики и не­воз­мож­ностью точно предсказать направления буду­щего развития компьютерной тех­­ники. Ниже кратко обсуждаются две наиболее рас­прост­ра­нен­ные в нас­то­­ящее время схемы — классификацияпо поколениям, соответствующая ис­­торическому процессу развития вычислительной техники, и классификация по применениям. Используя схему классификации по поколениям, необходимо учи­ты­вать, что исторический процесс усовершенствования и создания новых вы­чис­лительных машин происходил во времени непрерывно. И, сле­до­ва­тель­но, имеются машины и группы машин «промежуточ­ных» по своему по­ложению, то есть по одним признакам попадающих в одну категорию, а по другим — в другую. То же самое можно сказать и о классификации по при­менениям.

К настоящему времени принято выделять пять поколений вычислительной техники. К пер­во­му поколению относят машины, построенные на электронных лампах на­ка­ливания. В эту группу входят машины, созданные в период, на­чи­на­ющий­ся с электронной вычислительной машины «EDSAC» и за­кан­чи­вающийся, примерно, в конце пятидесятых годов. Если судить с сов­ре­мен­ной точки зрения, то можно сказать, что эти машины стоили очень до­ро­го, занимали огромные площади, были не совсем надежны в работе, име­­ли маленькую скорость обработки информации и могли хранить очень мало дан­ных. Создавались они в единичных экземплярах и использовались, в ос­новном, для военных и научных целей. В качестве типичных примеров ма­шин первого поколения можно указать американские компьютеры IBM –701, UNIVAC, а также советские ЭВМ БЭСМ и М-20. Типичная скорость обработки данных для машин первого поколения составляла 5–30 тысяч операций в секунду.

Ко второму поколению относят машины, построенные на транзисторных элементах в период с конца пятидесятых и до середины шестидесятых годов. У этих машин зна­чительно уменьшились стоимость и габариты, выросли надежность, скорость рабо­ты и объем хранимой информации. С появлением специальных алгоритмических языков существенно упростилось применение машин для решения практических задач в различных областях. Машины стали использовать для стан­дартных инженерных расчетов, в экономической деятельности для оптимизации работы отдельных предприятий и даже отраслей и во многих других областях. Типичные представители машин второго поколения — IBM-7090 (США), ATLAS (Великобритания), БЭСМ-4, М-220, Минск-32, БЭСМ-6 (СССР). Скорость обработки данных у машин второго поколения возросла до 1 миллиона операций в секунду.

Машины третьего поколения выполнены на так называемых ин­тег­раль­ных схе­мах,которые сокращенно обозначают ИС.

 

i

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

 

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

Кроме перехода на новую элементную базу, машины начали вы­пус­каться семействами. Машины, входящие в семейство, имеют оди­на­ко­вую логическую струк­туру, одни и те же способы работы с информацией, но различные параметры стоимости, скорости и объема хранимых данных. Это позволяет осуществлять широкий обмен программами и данными между разными пользователями без внесения в програм­мы существенных из­менений. Машины третьего поколения появились в се­ре­дине шес­ти­де­ся­тых годов. Это были машины семейства IBM/360. Популярность этих машин ока­­залась настолько велика, что во всем мире их стали копировать или вы­пускать похожие по функциональным возможностям и совпадающие по способам кодирования и обработки информации. Причем программы, под­готовленные для выполнения на машинах IBM, с успехом вы­пол­ня­лись на их аналогах, так же как и программы, написанные для выполнения на аналогах, могли быть выполнены на машинах IBM. Такие модели машин при­нято называть программно-совместимыми. В нашей стране такой прог­раммно-совместимой с семейст­вом IBM/360 была серия машин ЕС ЭВМ, в ко­торую входило около двух десятков различных по мощности моделей.

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

В первой половине семидесятых годов происходит переход от обыч­ных интегральных схем к схемам с большей плотностью монтажа — бо­ль­шим интегральным схемам (БИС). Если обычные интегральные схемы эквивалентны тыся­чам, то большие интегральные схемы заменяют уже десятки тысяч транзис­торных элементов. На фо­не это­­г­о перехода про­изошло разделение до этой поры, в общем-то, еди­но­го потока развития средств вычислительной техники на две ветви. Одна ветвь продолжала ста­рую тенденцию развития машин по линии наращивания мощ­нос­ти и на­деж­ности, а также по линии коллективного использования вычис­ли­тель­ных мощностей. Считается, что машины это­го направления об­разуют четвертое поколение ЭВМ. Среди них следует упомянуть семейство машин IBM/370, а также модель IBM 196, скорость которой достигла скорости 15 миллионов операций в секунду. Отечественными представителями ма­шин четвертого поколения являются машины семейства «Эльбрус». От­ли­чительная черта четвертого поколения — наличие в одной машине нес­коль­ких (обычно 2-6, иногда до нескольких сотен и даже тысяч) цен­т­раль­ных, главных уст­ройств обработки информациипроцессоров(от слова process —об­работка), которые мо­гут дублировать друг друга или независимым об­ра­зом выполнять вычисления. Такая структура позволяет резко повысить надеж­ность машин и скорость вычислений. Другая важная особенность — появление мощных средств, обеспечивающих работу компьютерных сетей. Это позволило впоследствии создавать и раз­­вивать на их основе глобальные, всемирные компьютерные сети.

Вторая ветвь развития средств вычислительной техники оказалась направленной на миниатюризацию и пер­со­на­ли­зацию средств обработки данных. Своим рождением это направление обя­зано появлением в 1971 году первого микропроцессора Intel 4004 (от названия фирмы производителя INTegratet ELect­ro­nics — объеди­нен­ная электроника). Микропроцессоромсчитается процессор, реализованный на од­ной или нескольких интегральных схемах, без потери функциональных свойств обычных про­цессоров. Для микропроцессоров введена отдельная классификация, по которой In­tel 4004 относится к первому поколениюмикропроцессоров. Основные этапы развития мик­ро­про­цес­сор­ной техники рассматриваются ниже.

Последним на сегодняшний день считается пятое по­ко­ле­ние компьютеров. О проекте создания машин этого поколения, рассчитанном на десять лет, объявили в начале восьмидесятых годов японские разработчики. За ни­ми в эту стратегическую гонку втянулись ученые США, СССР и ряда стран За­пад­ной Европы. Было заявлено, что к началу девяностых годов будет соз­да­но принципиально иное по стилю обработки информации и взаимодейст­вия с пользователем поколение машин. Если ранее человек тща­тель­но и подробно формулировал машине последовательность действий по об­ра­бот­ке информа­ции, то теперь машина по поставленной перед ней цели долж­на самостоятельно составить план действий и выполнить их. Такой спо­соб решения задач принято называть логическим программированием. Кро­ме того, планировалось ввести общение с машиной на уровне ес­тест­вен­ного языка. Однако решить полностью весь комплекс задач проекта не уда­лось и до сих пор. Хотя имеют­ся впечатляющие достижения по каж­до­му из направлений проекта. Возникли определённые финансовые и тех­ни­чес­кие трудности. Да и, кроме того, усилия значительной части разра­бот­чи­ков были переключены на микропроцессорную технику и развитие сетевых технологий.

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

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

 

i

Персональный компьютер —это настольная электронно-вычислительная машина индивидуального использования.

 

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

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

В 1999 году был введен в действие международный стандарт «спецификации PC99», который определяет классификацию, а также требования к аппаратным и программным средствам персональных компьютеров. Термин «спецификация» означает формализованное описание свойств, характеристик и функций некоторого объекта. Таким образом, «спецификации PC99» представляют собой описание характеристик персональных компьютеров (PC — сокращение английского словосочетания personal computer), сформулированные в 1999 году. Сразу же отметим, что классификация персональных компьютеров, предложенная в стандарте PC99, сохранилась и в стандартах, принятых в последующие годы. Согласно указанным стандартам вводится пять категорий персональных компьютеров (в скобках указаны соответствующие официальные термины):

· пользовательский, потребительский, массовый компьютер (Consumer PC), предназначенный для работы, в основном, в домашних условиях;

· офисный, деловой компьютер (Office PC) предназначен для выполнения канцелярской работы в составе компьютерных сетей предприятия, организации и т.д.;

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

· рабочая станция (Workstation PC) используется в качестве сервера в компьютерных сетях, а также как рабочий инструмент разработчиками программных средств, конструкторами, то есть там, где предъявляются повышенные требования к ресурсам компьютера;

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

 

Следующая группа — мини-ЭВМ — состоит из машин, используемых для ра­бо­ты в условиях реального производства, для управления поточной ли­ни­ей, цехом, для обе­спечения работы научной лаборатории или относительно не­большого учреждения. Как правило, мини-ЭВМ выполнена в виде не­сколь­ких напольных стоек, содержащих все её устройства. В качестве при­­­мера популярных в свое время мини-ЭВМ можно указать машины отечественного се­мейст­ва СМ. Это модели СМ–4, СМ–1420 и некоторые другие. В настоящее вре­мя мини-ЭВМ практически полностью вытеснены из употребления более мощ­ными и дешевыми персональными компьютерами.

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

СуперЭВМ используются для решения задач так называемых пре­дель­ных клас­сов, для которых требуется колоссальное сосредоточение вы­чис­ли­тельных мощностей. Это задачи метеопрогноза в планетарных мас­ш­та­бах, задачи расчета и проектирования современных самолетов и кос­ми­чес­ких кораблей, задачи из области ядерной физики и космогонических ис­следований, задачи управления системами противоракетной и кос­ми­чес­кой обороны, задачи обеспечения работы глобальных сетей об­ще­ми­ро­вого значения и т.д. К группе суперЭВМ относятся модели ILLIAC – 4 (50 миллионов операций в секунду), CRAY –1 (130 миллионов операций в секунду), CRAY – MP (50 миллиардов операций в секунду, 64 процессора). Мощнейшей (на момент написания пособия) считается модель ASCI White, которая работает со скоростью 12,4 триллионов операций в секунду. Во всем мире насчитываются не более одной-двух тысяч ма­шин класса суперЭВМ в силу их чрезвычайно высокой сложности и стоимости.

Контрольные вопросы

 

Что понимается под термином «информация»?

Как связаны между собой информация и сообщение?

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

Дайте определение и приведите примеры информационной и математической мо­делей.

Что понимается под термином «алгоритм»?

Какова роль алгоритмов в жизни человека?

Приведите примеры алгоритмов.

Чем отличается исполнение алгоритма от его разработки?

Укажите возможные способы задания алгоритмов.

Что такое алгоритмический язык и какими свойствами он должен обладать?

Дайте определение терминам «программа» и «данные».

Что такое ЭВМ? Чем отличается ПЭВМ от ЭВМ?

Что такое интегральная схема, процессор, микропроцессор?

Что такое терминал, какую роль играет сервер?

Опишите классификационную схему ЭВМ по поколениям.

Опишите классификационную схему ЭВМ по применению.

Опишите классификацию персональных компьютеров.









Дата добавления: 2016-01-26; просмотров: 1709;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.058 сек.