Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Аверянов Современная информатика 2011

.pdf
Скачиваний:
113
Добавлен:
16.08.2013
Размер:
6.43 Mб
Скачать

в 1975 г. Мур уточнил свой прогноз: «Плотность схем полупроводникового микрочипа удваиваетсякаждые18 месяцев».

Рис. 1. Прогноз развития кремниевых технологий, сделанный в 80-е годы ХХ в. Обозначения на рисунке: МИС – малые ИС; СИС – средние ИС; БИС – большие ИС; СБИС – сверхбольшие ИС; УБИС – ультрабольшие ИС

Прогноз, представленный в 1980 г. (рис. 1), подтвердил справедливость «закона» Мура. В связи с этим представляется достаточно достоверным прогноз до 2018 г., представленный на рис. 2.

И хотя закон Мура давно превратился в ориентир для производителей чипов, в последнее время (учитывая предельные возможности современной технологии рис. 2) идут разговоры по поводу того, когда же будет исчерпан потенциал кремниевой технологии, не утихают и постоянно уточняются сроки ее заката. «Никакое экспоненциальное развитие не может быть вечно, но предел этой «вечности» мы еще можем отсрочить», загадочно предвещал 75летний Мур в 2003 г.

Находящиеся в постоянном поиске альтернативы кремниевым чипам производители не слишком стремятся раскрывать свои кар-

11

ты, обычно они ссылаются на совместный план выпуска полупроводников до 2018 г. по усовершенствованной кремниевой технологии (см. рис. 2), хотя на самом деле ушли намного дальше. Так, на осеннем форуме Intel для разработчиков в Сан-Франциско (2006 г.) был представлен прототип процессора с 80-ю ядрами, который потенциально может обеспечить производительность уровня тераф- лоп-с. Ориентировочная дата выхода такого процессора – 2010 г.

Рис. 2. Прогноз развития кремниевых технологий, сделанный фирмой Intel в 2008 г.

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

12

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

Эта книга возникла в результате обработки конспекта лекций по вводным курсам «Информатика» и «Информатика и программирование», прочитанных авторами для студентов ряда групп факультета «А», а также вечернего факультета НИЯУ МИФИ; учебного пособия «Основы современной информатики», подготовленного для вышеперечисленных категорий студентов в 2007 г., которое было значительно переработано и дополнено.

13

ОСНОВНЫЕ СОКРАЩЕНИЯ

АКД – аппаратура канала данных АЛУ – арифметико-логическое устройство

АСНИ – автоматизированные системы научных исследований АСУ – автоматизированная система управления АСУП – автоматизированная система управления производством

АСУТП – автоматизированная система управления технологическими процессами

АТС – автоматическая телефонная станция АЦПУ – алфавитно-цифровое печатающее устройство ВЗУ – внешние запоминающие устройства ВОЛС – волоконно-оптические линии связи ВЧ – высокие частоты ГВС – глобальная вычислительная сеть ГВЧ – гипервысокие частоты

ДНК – дезоксирибонуклеиновая кислота ДОС – дисковые ОС ЖК – жидкокристаллический

ЗУПВ – запоминающее устройство с произвольной выборкой ИМС – интегральная микросхема КВЧ – крайне высокие частоты

ЛВС – локальная вычислительная система МКМД – много команд – много данных МКОД – много команд – одно данное МП – микропроцессор

НГМД – накопитель на гибких магнитных дисках НЖМД – накопитель на жестких магнитных дисках НМБ – накопитель на магнитных барабанах НМД – накопитель на магнитных дисках НМЛ – накопитель на магнитной ленте НЧ – низкие частоты ОВЧ – очень высокие частоты

ОЗУ – операционное запоминающее устройство ОКМД – одна команда – много данных

14

ОКОД – одна команда – одно данное ОНЧ – очень низкие частоты ООД – оконечное оборудование данных ОП – оперативная память ОС – операционная система

ПЗУ – постоянное запоминающее устройство ПК – персональный компьютер ПЛОС – перфоленточные ОС

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

ППП – пакеты прикладных программ ПУ – периферийные устройства РНК – рибонуклеиновая кислота

САПР – системы автоматизированного проектирования СВЧ – сверхвысокие частоты СОД – средства обработки данных

СОЗУ – сверхоперативное запоминающее устройство СПД – система передачи данных СТС – сложная техническая система

СУБД – система управления базами данных СЧ – средние частоты УВВ – устройство ввода-вывода УВЧ – ультравысокие частоты

УПДК – устройство подготовки данных на картах УПДЛ – устройство подготовки данных на ленте УУ – устройство управления ЦП – центральный процессор

ЭВМ – электронно-вычислительная машина ЭЛТ – электронно-лучевая трубка

15

ВВЕДЕНИЕ

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

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

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

Термин «информатика», как название определенной выше области науки, был введен на рубеже 60 – 70-х годов практически одновременно во французской (Informatique) и немецкой (Informatik) научной литературе. Еще раньше в США стало использоваться в аналогичном смысле название Computer Science. В отечественной практике употребление термина «информатика» длительное время сдерживалось тем, что он использовался как название области знаний, связанной с архивным делом и документалистикой. Окончательное его утверждение произошло лишь после перевода в 1976 г. книги Ф. Бауэра и Г. Гооза «Информатика» [1] и образования в 1983 г. отделения информатики, вычислительной техники и автоматизации АН СССР.

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

16

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

ивзаимопроникновение методов и идей, каждое из этих направлений существует как самостоятельная наука. Аналогичная структура

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

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

Из областей знаний, являющихся разделами информатики или тесно связанными с ней, отметим следующие.

1.Теоретическая информатика – чисто математическая дисци-

плина, имеющая в своем составе такие разделы:

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

вычислительную математику и вычислительную геометрию (вычислительная геометрия рассматривает алгоритмы для решения геометрических задач, основное прикладное значение – машинная графика);

системный анализ; исследование операций.

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

3.Программирование – научное направление, которое своим появлением полностью обязано вычислительным машинам (термин «программирование» не всегда понимается однозначно, так как имеется ряд таких разделов математики, как линейное программирование, нелинейное программирование, дискретное программирование и т.п., не имеющих ничего общего с программированием для

17

компьютеров; в связи с этим вместо термина «программирование» иногда употребляют термин «кодирование»).

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

5.Информационные системы – направление, истоки которого лежат в области документалистики и анализа научно-технической информации. Информационные системы включают следующие разделы:

анализ и прогнозирование потоков разнообразной информации, перемещающихся в обществе;

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

создание информационно-поисковых систем и т.п.

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

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

8.Информатика в природе – изучение информационных процессов, протекающих в биологических системах, и использование

18

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

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

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

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

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

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

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

19

ГЛАВА 1. АЛГОРИТМЫ И ОСНОВЫ АЛГОРИТМИЗАЦИИ

1.1. Элементы алгебры логики

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

Исчисление (алгебра) высказываний, или алгебра логики, – раз-

дел математической логики, изучающий высказывания со стороны их логических значений и логические операции над ними. При этом под высказываниями понимаются такие предложения, относительно которых имеет смысл утверждать, истинны они или ложны. Например, высказывание «a – буква» – истинно, а высказывание «1 – буква» – ложно. Отдельные высказывания в алгебре логики рассматриваются целиком, без учета их внутренней структуры. Для краткости в формулах, таблицах, схемах, описывающих различные логические конструкции, логические значения «истина» (TRUE) и «ложь» (FALSE) обычно указываются, соответственно, как «и» (T) и «л» (F) или, чаще всего, 1 и 0.

Логические операции называются также логическими связками

[2]. С помощью n-местной или n-арной (n 0) логической операции можно построить n-местную логическую функцию f (x1, x2 ,..., xn ) , преобразующую тот или иной набор из n высказываний (аргументов) x1, x2 ,..., xn в более сложное высказывание. Значения логиче-

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

20