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

Основы информатики

.pdf
Скачиваний:
23
Добавлен:
26.03.2015
Размер:
2.94 Mб
Скачать

Министерство образования и науки Российской Федерации

 

 

 

 

 

Новгородский государственный университет имени Ярослава Мудрого

 

 

Кирьянов Б.Ф. Основы информатики.

1

 

 

 

Институт электронных и информационных систем

 

 

 

 

 

 

 

 

 

 

 

 

Кафедра прикладной математики и информатики

 

 

 

 

Министерство образования и науки Российской Федерации

 

 

 

 

Кирьянов Б.Ф.

 

 

 

 

Новгородский государственный университет им. Ярослава Мудрого

 

 

 

 

Институт электронных и информационных систем

 

 

 

 

Кафедра прикладной математики и информатики

 

 

 

 

Кирьянов Б.Ф.

 

 

 

ОСНОВЫ ИНФОРМАТИКИ

УЧЕБНОЕ ПОСОБИЕ ДЛЯ СТУДЕНТОВ НАПРАВЛЕНИЯ

“Прикладная математика и информатика”

Великий Новгород

2011

Кирьянов Б.Ф. Основы информатики. 2

ББК 32.973.233 УДК 681.3(075)

С37

С37 Основы информатики. Учебное пособие для студентов направления ―Прикладная математика и информатика‖: Информация и ЭВМ. Алгоритмы и алгоритмические языки. Введение в операционные системы и операционные среды / Б.Ф. Кирьянов; НовГУ им. Ярослава Мудрого. − Великий Новгород, 2011. – 167 с. (7,5 пл.)

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

ISBN 5-94723-752-0

Кирьянов Б.Ф. Основы информатики. 3

ОГЛАВЛЕНИЕ

1. ОБЩИЕ СВЕДЕНИЯ ОБ ИНФОРМАТИКЕ . . . . . . . . . . . . . . . . . . . . 6 1.1. Основные задачи информатики и дисциплина ―Информатика‖ . . . . 6 1.2. Основные сведения из истории информатики . . . . . . . . . . . . . . . . . . 7 1.3. Поколения ЭВМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.4. Современные персональные компьютеры . . . . . . . . . . . . . . . . . . . . . 23 2. ИНФОРМАЦИЯ И ЕЁ ПРЕДСТАВЛЕНИЕ . . . . . . . . . . . . . . . . . . . . . 27 2.1. Основные понятия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.2. Структуры данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.3. Адекватность принимаемой информации и еѐ меры . . . . . . . . . . . . . 31 2.4. Цифровое кодирование информации . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.5. Коды с обнаружением и с исправлением ошибок . . . . . . . . . . . . . . . 42 2.6. Кодирование видеоинформации и звука . . . . . . . . . . . . . . . . . . . . . . . 45 3.000ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ: АРХИТЕКТУРА И ОСНОНЫЕ

УСТРОЙСТВА . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.1. Общие сведения о вычислительных системах . . . . . . . . . . . . . . . . . . 50 3.2. Классификация ЭВМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.3. Конфигурация вычислительных систем . . . . . . . . . . . . . . . . . . . . . . . 55 3.4. Основные устройства ЭВМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.4.1. Устройства хранения информации . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.4.2. Устройства системного блока . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 3.4.3. Периферийные устройства управления и отображения информации 65 3.4.4. Работа устройств компьютера при его включении . . . . . . . . . . . . . . . 73 4. АЛГОРИТМЫ И ИХ ПРИЛОЖЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . 75 4.1. Общие сведения об алгоритмах. Основные этапы их разработки . . . 75

4.2.Способы описания (представления) алгоритмов и их

 

классификация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

77

4.3.

Вычислительные алгоритмы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

78

4.3.1.

Системы счисления. Представление чисел и операции с ними . . . .

78

4.3.2.

Операции с числами в естественной форме . . . . . . . . . . . . . . . . . . . .

82

4.3.3.

Алгоритмы реализации операций с числами в нормальной форме .

85

4.3.4.

Обусловленность вычислительных алгоритмов . . . . . . . . . . . . . . . . .

89

4.4.Структуры алгоритмов. Циклические, итерационные и

стохастические алгоритмы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

4.5. Понятие рекурсивного алгоритма. Алгоритмы сортировки . . . . . . . 94 4.6. Алгоритмы поиска . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

 

Кирьянов Б.Ф. Основы информатики.

4

 

 

 

4.7.

Алгоритмы моделирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

99

4.8.

Об алгоритмах игровых автоматов . . . . . . . . . . . . . . . . . . . . . . . . . . .

101

4.9.

Представление алгоритмов с использованием псевдокода . . . . . . . .

101

4.10.

К оценке эффективности и правильности алгоритмов . . . . . . . . . . .

102

5.

АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ КАК СРЕДСТВО РЕАЛИЗАЦИИ

I

АЛГОРИТМОВ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 105

5.1.

Общие сведения об алгоритмических языках . . . . . . . . . . . . . . . . .

. 105

5.2.

Современные принципы построения программ на0

0

 

алгоритмических языках . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 107

5.3.Представление данных и вычисление стандартных функций на

языке Object Pascal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

5.4.Какой выбрать принцип построения программного комплекса и

алгоритмический язык? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

6.ВВЕДЕНИЕ В ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ:

ОПЕРАЦИОННЫЕ СИСТЕМЫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

116

6.1. Операционная система – мозг ЭВМ . . . . . . . . . . . . . . . . . . . . . . . . . . .

116

6.1.1.

Программное обеспечение ЭВМ. Структура операционных систем . 116

6.1.2.

Эволюция операционных систем . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

118

6.1.3.

Компоненты операционной системы . . . . . . . . . . . . . . . . . . . . . . . . . . .

120

6.2.

Основы функционирования операционных систем . . . . . . . . . . . . . . .

121

6.2.1.

Запуск ЭВМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

121

6.2.2.

Работа операционной системы при одновременном решении

 

 

нескольких задач. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

122

6.2.3.

Обработка конкуренции между процессами . . . . . . . . . . . . . . . . . . . . .

123

6.3. Структура и организация работы многоядерных компьютеров . . . . .

125

7.СРЕДЫ ПРОГРАММИРОВАНИЯ. ОПЕРАЦИОННАЯ СРЕДА

DELPHI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 7.1. Общие сведения о средах программирования0. . . . . . . . . . . . . . . . . . . 128

7.2. Структура среды Delphi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 7.3. Подготовка проекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 7.4. Структура проекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 7.5. Понятие холста (класса TCanvas) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 7.6. Операторы и функции класса TCanvas . . . . . . . . . . . . . . . . . . . . . . . . . 138 7.7. Управляющие процедуры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 7.7.1. Процедура активизации формы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 7.7.2. Процедура создания формы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 7.7.3. Процедуры обработки событий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 7.8. Переключение задач и параметров при выполнении проекта . . . . . . 146 7.9. Запуск проекта. Изменение названий проекта и приложения . . . . . . . 147

Кирьянов Б.Ф. Основы информатики. 5

7.10. Вывод информации в буфер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 7.11. Запись битовых образов в среду Delphi . . . . . . . . . . . . . . . . . . . . . . . . . 150 7.12. Работа с базами данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

7.13. Страничная организация документов и презентаций . . . . . . . . . . . . . . 154 8. ВВЕДЕНИЕ В КОМПЬЮТЕРНЫЕ СЕТИ . . . . . . . . . . . . . . . . . . . . . . . . 156

8.1. Основы организации сетей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 8.2. Базы данных компьютерных сетей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 8.3. Вирусы и борьба с ними . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

ЛИТЕРАТУРА . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

Кирьянов Б.Ф. Основы информатики. 6

1 ОБЩИЕ СВЕДЕНИЯ ОБ ИНФОРМАТИКЕ

Термин информатика возник в 60-х гг. во Франции для названия области, занимающейся автоматизированной обработкой информации с помощью электронных вычислительных машин. Французский термин informatigue (информатика) образован путем слияния слов information (информация) и automatigue (автоматика) и означает "информационная автоматика или автоматизированная переработка информации". В англоязычных странах этому термину соответствует синоним computer science (наука о компьютерной технике, компьютерная наука). [science – наука].

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

До 50-х годов 20-го века в СССР кибернетика официально считалась лженаукой. Это затормозило ряд важных научно-технических работ в нашей стране.

1.1Основные задачи информатики и дисциплины “Информатика”

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

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

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

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

Кирьянов Б.Ф. Основы информатики. 7

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

Информатику в узком смысле можно представить как состоящую из трех основных взаимосвязанных частей – алгоритмических, технических и программных средств. Алгоритмы – это правила, описывающие последовательностей действий, приводящих к решению задачи. Технические средства, то есть аппаратура компьютеров, в английском языке обозначаются словом hardware {хартуе}, которое переводится как "твѐрдые изделия". Для программных средств создано слово software {сафтуе} ("мягкие изделия"), которое подчѐркивает равнозначность программного обеспечения (ПО) и самой машины и вместе с тем подчѐркивает способность ПО модифицироваться, приспосабливаться, развиваться (ПО – это совокупность всех программ, используемых компьютерами). Алгоритмические средства (algorithmware) российский академик А.А. Дородницин предложил называть brainware (от англ. brain – интеллект, мозг) – интеллектуальные средства. Однако данное название не является общепринятым. Развитие алгоритмических средств связано с разработкой новых алгоритмов и изучением методов и приѐмов их построения.

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

В соответствии с основной образовательной программой подготовки бакалавров направления 010400 ―Прикладная математика и информатика‖, подготовленной УМО классических университетов 2010 – 2011 г. первые 5 разделов учебного пособия соответствуют дисциплине ―Информатика -1‖, а 6-й и 7-й – дисциплине ―Информатика - 2‖.

1.2. Основные сведения из истории информатики

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

Кирьянов Б.Ф. Основы информатики. 8

корнями в историю древних цивилизаций: Египта, Вавилона, Китая, Греции и др. Например, в одном из больших папирусов древнего Египта, относящегося приблизительно к 2000 г. до н.э., сохранились решения 84 задач прикладного характера. Так, для вычисления площади круга в нѐм предлагается использовать формулу Sкр = (8D/ 9)2, где D – диаметр круга. Получаемые при этом результаты очень незначительно превышают результаты, определяемые согласно точной формуле Sкр = 0,25πD2.

Примерно в 100-м г. до н.э. древнегреческий учѐный Герон старший предложил алгоритм итерационного вычисления значений x = a0,5, где a – некоторое положительное число:

xn +1 = 0,5(xn + a/ xn).

В этом выражении в качестве x0 может быть принято любое положительное число.

Сын Герона старшего нашѐл выражение, определяющее площадь Sтр треугольника по длинам a, b и c трѐх его сторон:

где p – длина периметра треугольника.

Позднее методы вычислений на основе конечного набора правил, позволяющих решать любую конкретную задачу из некоторого класса однотипных задач, стали называться алгоритмами решения задач этого класса. Название алгоритм происходит от латинской транслитерации имени математика альХорезми Мухаммеда бен Муса (787 г. – около 850 г.), трактаты которого по арифметике и алгебре оказали большое влияние на развитие математики в Западной Европе.

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

Рис. 1.1. Римский абак

Кирьянов Б.Ф. Основы информатики. 9

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

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

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

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

Первый в мире эскизный рисунок тринадцатиразрядного десятичного суммирующего00устройства00 на основе ко-

лес с десятью зубцами принадлежит Леонардо да Винчи (1452 – 1519 г.10. Он был найден после смерти автора в одном

из его дневников.

В1614 г. шотландцем Джоном Непером были изобретены логарифмы, затем были составлены таблицы логарифмов.

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

Кирьянов Б.Ф. Основы информатики. 10

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

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

Через 30 лет после "Паскалины" (1673 г.) появился "арифметический прибор" Готфрида Вильгельма Лейбница - двенадцатиразрядное десятичное устройство для выполнения арифметических операций, включая умножение и деление. В дополнение к зубчатым колесам для выполнения двух последних операций использовался ступенчатый валик.

Вконце XVIII века Жозеф Жакар создает ткацкий станок с программным управлением при помощи перфокарт. Гаспар де Прони разрабатывает новую технологию вычислений в три этапа: разработка численного метода, составление программы последовательности арифметических действий, проведение вычислений путем арифметических операций над числами в соответствии с составленной программой (!).

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

1830-1846 гг. Чарльз Беббидж разрабатывает проект Аналитической машины – механической универсальной цифровой вычислительной машины с программным управлением (!) – рис. 1.2a. Машина состоит из пяти устройств – арифметического устройства (АУ), запоминающего устройства (ЗУ), устройства управления (УУ), ввода и вывода (все как в первых ЭВМ, появившихся 100 лет спустя). АУ строилось на основе зубчатых колес, на них же предлагалось реализовать ЗУ (на тысячу 50-разрядных чисел - итого 50 тыс. зубчатых колес). Для ввода программы и данных использовались перфокарты. Предполагаемая скорость вычислений: сложение и вычитание за 1 сек, умножение и деление - за 1 мин. Кроме арифметических операций, имелась также и команда условного перехода.

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