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

9_Ломтадзе В.В., Шишкина Л.П_Практическая информатика_2011

.pdf
Скачиваний:
163
Добавлен:
26.03.2016
Размер:
3.06 Mб
Скачать

языке Smalltalk. Он стал первым распространённым объектноориентированным языком программирования. В современных средах визуального программирования (глава 6) идеи ООП являются доминирующими, но вместе с тем широко применяются идеи процедурного программирования.

Концепция объектно-ориентированного программирования подразумевает, что основой управления процессом реализации программы является передача сообщений объектам. Поэтому объекты должны определяться совместно с сообщениями (или с событиями), на которые они должны реагировать при выполнении программы. В этом состоит главное отличие ООП от процедурного программирования, где отдельно определённые структуры данных передаются в процедуры (функции) в качестве параметров. Таким образом, объектно-ориентированная программа состоит из объектов. Каждый объект имеет определённые свойства. Состояние объекта задаётся значениями его признаков. Объект «знает», как решать определённые задачи, то есть располагает методами решения. Например, объект Счётчик (см. п. 2.2) реагирует на щелчок мышью по одной из его кнопок: если это событие происходит, Счётчик увеличивает или уменьшает значение своего свойства Value.

В основе ООП – три принципа: инкапсуляция, наследование и полимор-

физм.

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

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

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

41

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

Для пояснения перечисленных принципов приведём пример. Допустим, требуется разработать объект Окружность, основываясь на уже имеющемся объекте Точка, который заключает в себе (инкапсулирует) свойства X, Y (координаты точки) и метод Draw (Рисовать). В этом случае объект Окружность можно создать, объявив его потомком объекта Точка. Только придётся добавить ещё свойство R (радиус окружности), а метод Draw перекрыть, т.к. окружность рисуется не так, как точка.

4.5. Алгоритмизация как средство формализации знаний. Информационные ресурсы

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

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

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

42

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

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

Контрольные вопросы к главе 4

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

принципы структурного программирования; принципы объектно-ориентированного программирования;

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

43

5. ТЕХНИЧЕСКИЕ СРЕДСТВА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

Технические (аппаратные) средства информационных технологий в англоязычной литературе называют hardware (дословно – жесткие изделия), в отличие от программных средств – software (дословно – мягкие изделия). К техническим средствам относятся компьютеры, подключаемое к ним перифе-

рийное оборудование и сетевые коммуникации.

5.1. Логические основы вычислительной техники, алгебра логики

5.1.1. Основные понятия

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

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

Высказывание – повествовательное предложение, о котором можно сказать, истинно оно или ложно. Высказывания обозначаются латинскими буквами и могут принимать одно из двух значений: ЛОЖЬ – 0, ИСТИНА

– 1. Высказывания могут быть простыми и сложными. Простые высказывания называют логическими переменными, а сложные высказывания –

логическими функциями.

Аппарат алгебры логики был создан в 1854 г. английским ученым Дж. Булем. Это была попытка изучения логики мышления математическими методами. Практическое применение алгебры логики было предложено К. Шенноном в 1938 г. для анализа и разработки релейных переключательных сетей.

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

Аппарат булевой алгебры состоит из трех множеств: элементов, операций над ними, аксиом и законов.

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

Операции. Основные (базовые) операции представлены в таблице.

44

 

 

 

 

 

 

 

 

 

Логические операции

Таблица 5.1

 

 

 

 

 

 

 

 

 

 

 

 

Переменные

 

 

Название операций, их обозначения и результаты

 

 

B

 

Логиче-

 

Логиче-

 

Отрица-

Имплика-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ция (ло-

 

 

 

 

 

 

ское ум-

ское сло-

 

 

ние -

 

 

 

 

 

 

 

 

гическое

Исклю-

 

 

 

 

 

ножение –

 

жение -

 

инвер-

 

 

 

 

 

 

 

следова-

чаю-

 

Эквива-

 

 

 

конъюнк-

дизъюнк-

 

сия А=Ā

ние)

щее

 

лент-

A

 

 

 

ция И

ция ИЛИ

 

 

НЕ ¬

 

 

 

 

 

 

С=А→В

или

 

ность

 

 

 

(AND) ^

(OR) 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А - по-

 

 

А↔В

 

 

 

 

 

+ ||

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

сылка, В

XOR

 

 

 

 

 

 

&

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- заклю-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

чение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

 

0

 

 

 

0

 

 

1

 

 

1

0

 

1

0

1

 

0

 

 

 

1

 

 

1

 

 

1

1

 

0

1

0

 

0

 

 

 

1

 

 

0

 

 

0

1

 

0

1

1

 

1

 

 

 

1

 

 

0

 

 

1

0

 

1

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

впубликациях и на схемах логических устройств. В операции И результат 1 (Истина) получается, если истинны оба операнда А и В. Результатом операции ИЛИ будет 1, если истинным является одно из высказываний: А или В. Результатом импликации будет 0 (Ложь), если из истинной посылки следует ложное заключение. Исключающее ИЛИ даёт результат 1, если только один из операндов равен 1. Операция Эквивалентность позволяет определить, находятся ли операнды А и В в одинаковом состоянии.

5.1.2.Основные законы алгебры логики

1.Законы одинарных элементов:

a) универсального множества: А 1=1; А^ 1=А; b) нулевого множества: А 0=А; А^ 0=0.

2. Законы отрицания:

a)

двойного отрицания:

;

 

 

 

 

 

 

 

 

 

 

 

 

b) дополнительности:

A

 

= 1; А^ Ā =0.

 

 

 

 

 

 

A

 

 

 

 

 

 

c)

двойственности (де Моргана):

 

 

 

&

 

;

 

 

 

 

 

 

 

 

А&В

 

 

 

A

B

А В

A

B

3.Комбинационные законы:

a)тавтологии: А А=А; А^А=А;

b)коммутативные: А B=B А; А^B=B^А;

c) ассоциативные: А (B C)=(А B) C; А^ (B^ C) = (А^ B) ^ C;

d)дистрибутивные: А(B C)=А^ B А^ C;

e)абсорбции (поглощения): А А^B=А; А^ (А B)=А;

f)склеивания: A^B А^В =А; (А В) ^ (А В ) = А.

45

5.1.3. Логические выражения

Сложные высказывания можно записывать в виде формул. Такие форму-

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

( A B )&( A B )

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

5.1.4. Логические элементы

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

Логические элементы имеют один или несколько входов, на которые подаются электрические сигналы, обозначаемые условно 0, если отсутствует электрический сигнал, и 1, если имеется электрический сигнал. Также логические элементы имеют один выход, с которого снимается преобразованный электрический сигнал. К основным логическим элементам современных вычислительных узлов относятся электронные схемы, реализующие операции И, ИЛИ, НЕ, И-НЕ, ИЛИ-НЕ. С помощью этих схем можно реализовать любую логическую функцию, описывающую работу устройств компьютера.

И-НЕ

ИЛИНЕ

Рис. 5.1. Электронные схемы, реализующие операции И, ИЛИ, НЕ, И-НЕ, ИЛИ-НЕ

46

5.1.5. Функциональные схемы и функциональные узлы

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

Функциональная (логическая) схема – это схема, состоящая из логиче-

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

Важной формой описания функциональных схем является структурная формула. Например, как записать формулу по заданной функциональной схеме:

Рис. 5.2. Пример функциональной схемы

Элемент “И” осуществляет логическое умножение значений ¬А и В. Над результатом в элементе “НЕ” осуществляется операция отрицания, т.е. вычисляется значение выражения:

A &B

Это выражение представляет собой структурную формулу для функциональной схемы, приведённой на рис. 5.2.

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

Таблица 5.2

Таблица истинности

A

B

C

0

0

1

0

1

0

1

0

1

1

1

1

47

Цифровые функциональные узлы подразделяются на два класса:

1.Цифровые функциональные узлы, содержащие элементы памяти, – триггеры, счетчики, делители и др.;

2.Цифровые функциональные узлы, не содержащие элементы памяти (комбинированные) – логические элементы, шифраторы, дешифраторы, уст-

ройства сравнения, сумматоры, мультиплексоры и др.

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

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

сдвиговый регистр – предназначен для выполнения операции сдвига;

счетчики – схемы, способные считать поступающие на вход импульсы.

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

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

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

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

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

5.2. Основные блоки персонального компьютера

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

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

48

и гибких магнитных дисках (НЖМД и НГМД), а также USB-порты – универсальные порты для подключения периферийных устройств. USB-порт обеспечивает передачу данных и питания. Поэтому, если устройство, например сканер, подключается к системному блоку через USB-порт, то это периферийное устройство уже не надо подключать к электрической сети.

Вматеринскую плату вставляются процессор, блоки оперативной памяти

ОП (оперативного запоминающего устройства – ОЗУ), таймер и постоянное запоминающее устройство (ПЗУ). В материнскую плату также вставляется видеокарта – плата, обеспечивающая обмен между системной шиной и монитором, а при необходимости – звуковая карта, сетевая карта и модем, если он внутренний. В корпусе системного блока компьютера размещаются также блок питания с вентилятором, НЖМД (винчестеры) и НГМД. Сборка современного компьютера сравнительно проста, благодаря высокой интеграции блоков. Поясним те из них, которые наиболее важны для понимания функционирования компьютера (см. рис. 5.1).

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

между процессором и основной памятью,

между процессором и портами ввода-вывода внешних устройств,

между основной памятью и портами ввода-вывода, т.е. в режиме прямого доступа к памяти.

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

Процессор (микропроцессор) управляет работой всех блоков и выполняет операции над данными – логические и арифметические. С помощью логических операций проверяются различные условия (см. блок 4 на рис. 4.1), что часто приводит к изменению последовательности выполнения команд в программе. С помощью арифметических операций числа, предварительно выбранные из основной памяти на регистры арифметического устройства процессора, могут складываться, перемножаться и т.п. (см. раздел 3). Вообще говоря, процессор персонального компьютера имеет обширную систему команд, и их только условно можно делить на логические и арифметические. Процессоры с полным набором команд (Complex Instruction Set Computing) называют CISC-

процессорами.

49

Рис. 5.3. Структурная схема персонального компьютера

Большинство современных ПК типа IBM PC оснащаются именно CISCпроцессорами. На выполнение одной команды в таких процессорах тратится не менее 4 тактов. В мощных вычислительных системах все чаще используются RISC-процессоры, в которых применен сокращенный набор команд (Reduced Instruction Set Computing). Такие компьютеры содержат только простые, самые употребительные команды, из которых “собираются” сложные операции. Зато каждая команда в RISC-процессоре выполняется за один такт. До появления процессоров Pentium микропроцессор компьютеров типа IBM PC выполнял только операции с фиксированной точкой, а для работы с действительными числами в системном блоке компьютера размещался еще математический сопроцессор. Теперь он находится в составе процессора. Для того чтобы многократно не обращаться к оперативной памяти для чтения команд и операндов при исполнении циклов, современный процессор имеет встроенную быстродействующую КЭШ-память емкостью 512 Кбайт или больше. Часть этой памяти может размещаться на материнской плате. КЭШ-память не доступна для пользователя (в переводе Cache означает «тайник»).

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

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

Постоянное запоминающее устройство (ПЗУ) содержит тест, прове-

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

50