
Основы информатики
.pdf
Кирьянов Б.Ф. Основы информатики. 111
стандартных функций, то есть функций типа sin(x), log(x) и др. Поскольку основным языком в наиболее популярных системах программирования (Delphi, Си++) является язык Object Pascal − объектно-ориентированный Паскаль, то рассмотрим указанные вопросы применительно к этому языку.
Типы целых чисел (идентификаторы) |
Диапазон допустимых значений |
||
|
|
|
|
Integer (Целый со знаком – 4 байта) |
-231 … 231 – 1 = +21474836 47 |
||
Cardinal |
(Основной – 4 байта) |
0 |
… +4294967295 |
|
|
|
|
Longword (Длинное слово – 4 байта) |
0 |
… +4294967295 |
|
|
|
||
Smallint (Малый со знаком – 2 байта) |
-32768 … +32768 |
||
|
|
|
|
Word |
(Слово – 2 байта) |
0 |
… +65535 |
|
|
||
Shortin (Короткий со знаком – 1байт) |
-128 … +127 |
||
|
|
|
|
Byte |
(Байт – 8 бит) |
0 |
… +255 |
|
|
||
Int64 (Целый 64-разрядный со знаком) |
-263 … +263–1 |
Целые числа могут записываться и в 16-ной системе счисления. При этом перед числом указывается символ $. Например: $2FA6.
В ЭВМ можно вводить числа и с указанием степени 10, например: 45.6e+8 или 45.6Е+8, что соответственно означает 45,6∙108 или 91,2∙10-7. В таком виде выводить числа может и ЭВМ.
|
Типы вещественных чисел (идентификаторы) |
|
|
Диапазон допустимых значений |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
Real |
(Вещественный) |
|
5e–324 … 1,7e+308 |
||
|
|
|
|
|||
|
Double (Двойной, удвоенный) |
|
5e–324 … 1,7e+308 |
|||
|
|
|
|
|
||
|
Extended |
(Расширенный) |
|
3,6e–4951 … 1,1e+4932 |
||
|
|
|
|
|
||
|
Single |
(Однознаковый) |
|
1,5e–45 … 3,4e+38 |
||
|
|
|
|
|||
|
Real48 (Веществ. на 48 десятичных цифр) |
|
2.9e–39 … 1.7e+38 |
|||
|
|
|
|
|
||
|
Comp |
(Комплексный, полный) |
|
-263 … +263–1 |
||
|
Currency |
(Финансовый) |
|
-922337203685477,5808 … |
||
|
922337203685477,5807 |
|
||||
|
|
|
|
|
||
|
|
|
|
|
|
|
В приведѐнной таблице для большинства типов чисел указан только диапазон их положительных значений. Однако допустимыми также являются аналогичный диапазон отрицательных значений и число 0. Последний тип имеет

Кирьянов Б.Ф. Основы информатики. 112
уменьшенную погрешность при округлениях, что существенно при крупных финансовых расчѐтах.
В качестве стандартных функций в различных средах программирова-
ния (С++, Delphi и др.) обычно используются abs(x), sqr(x), sqrt(x), ln(x), exp(x), sin(x), arctan(x) и некоторые другие. [sqr – square – 2-я степень; sqrt – squareroot – квадратный корень; root – корень].
Большинство стандартных функций вычисляется с помощью рекуррентных формул (числовых рядов) с погрешностью, не превышающей модуля старшего отбрасываемого члена ряда. Соответствующие примеры приводились в п. 4.4. При этом если программное обеспечение компьютера не позволяет непосредственно вычислять какую-либо стандартную функцию, то обычно еѐ вычисление бывает возможно с использованием стандартных функций, ―непосредственно доступных― используемому ПО. Например:
loga (x) = ln(x) / ln(a), ax = exp(x∙ln(a)).
Эти формулы легко выводятся. Оценка точности при вычислениях сумм конечного числа членов сходящихся знакопеременных рядов определяется модулем первого отбрасываемого члена ряда.
Кроме арифметических операций ЭВМ выполняют и булевские операции or, and, xor. Эти операции выполняются поразрядно. Например:
Пусть X = 10010, Y = 01011. Тогда Not X = 01101, Not Y = 10100, X or Y = 11011,
X and Y = 00010, X xor Y = 11001 (исключающее Или, сложение по мод. 2).
Последняя операция может выполняться |
|
011010011 |
сразу над несколькими числами (пример |
+ |
110100101 mod 2 |
|
справа). |
100011011 |
|
|
|
001101101 |
5.4. Выбор принципа построения программного комплекса и алгоритмического языка
В настоящее время в России наиболее популярными алгоритмическими языками являются ObjectPascal и С++. До 2004 года эти алгоритмические языки развивались независимо друг от друга. На их основе были созданы среды программирования Delphi, использующая язык ObjectPascal, и С++. С 2004 года система С++ развивается только в составе системы программирования Delphi.

Кирьянов Б.Ф. Основы информатики. 113
В последние годы нередко велись споры между программистами всего мира. Что лучше Delphi или C++? У среды Delphi гораздо мощнее объекты (визуальная среда), а в C++ у программиста есть возможность создать максимально эффективный код. В январе 2006 г. известная американская аудиторская компания провела статистические исследования, результатом которых оказалось, что 55% программистов и компаний по производству программного обеспечения в США предпочитают среду программирования Borland Delphi, 38% − C++, 7% − остальные языки программирования.
Очевидно, в выборе среды программирования следует исходить из того, что система С++ более удобна для системного программирования, а Delphi – для прикладного. Каждая из них имеет свои достоинства. Известно несколько модификаций как Delphi (Delphi 5, Delphi 7, Delphi 2007, Delphi NET, Delphi 2010), так и С++. Постепенно компания Borland перешла на среды, которые используют возможности интернета (NET). Поэтому перспективной считается операционная среда Delphi for NET.
Перспективным активно развивающимся алгоритмическим языком является Пролог. Это – язык логического программирования. Он предназначен для программирования приложений, использующих средства и методы искусственного интеллекта и создания экспертных систем. Причиной растущей популярности Пролога явилась задача создания средств, обеспечивающих "дружественный интерфейс" и интеллектуальность программ. Пролог применяется при создании приложений в следующих областях:
–разработка быстрых прототипов прикладных программ;
–управление производственными процессами;
–создание динамических реляционных баз данных;
–перевод с одного языка на другой;
–создание естественно-языковых интерфейсов для существующих систем;
–реализация экспертных систем и оболочек экспертных систем;
–создание пакетов символьных вычислений для решения уравнений, дифференцирования и интегрирования;
–доказательства теорем и пакеты искусственного интеллекта, в которых возможности Пролога по обеспечению дедуктивного вывода применяются для проверки различных теорий.
Пролог является языком пятого поколения, открывающий новое измерение для программирования. На Прологе, являющимся декларативным языком,

Кирьянов Б.Ф. Основы информатики. 114
можно писать программы для решения логических задач: программист задает необходимые правила и факты, а Пролог использует дедуктивный вывод для решения задачи.
Вобласти экспертных систем Пролог применяется для моделирования экспертизы в различных областях, таких как медицина, законодательства и автоматизация производства. Свое название Пролог получил от слов "ПРОграммирование на языке ЛОГики". Он был принят в качестве базового языка в японской программе создания ЭВМ пятого поколения, ориентированный на исследование методов логического программирования и искусственного интеллекта, а также на разработку нового поколения компьютеров, специально предназначенных для реализации данных методов. На Прологе удобно описывать такие структуры данных, как списки и деревья.
Таким образом, Пролог – логический язык, который развивается и имеет хорошие перспективы. Но для разработки программных комплексов ―нелогического‖ типа пока существенно проще выбрать среду программирования Delphi.
Взаключение отметим, что для подготовки Web-документов, предназначенных для размещения в интернете, используется язык HTML (Hypertext Marcup Language – язык разметки гипертекста). Гипертекст – это расширенный текст, в который входят дополнительные элементы: элементы иллюстраций, ссылки, типовые вставные объекты. Под разметкой понимается использование специальных кодов, легко отделяемых от смыслового содержания документа и используемых для публикации гипертекста [5].
Лабораторная работа, выполняемая при изучении раздела 5:
Система управления базами данных MS Access.
Контрольные вопросы
1.Что общего между компилятором и интерпретатором? Чем они отличают ся друг от друга?
2.Какие значения могут принимать логические операции?
3.Что такое модульное программирование? Какие из перечисленных далее принципов реализации программы реально используются при модульном программировании: слева направо, сверху вниз, справа налево, снизу вверх?
4.Чем отличаются подпрограмма-процедура и подпрограмма-функция?

Кирьянов Б.Ф. Основы информатики. 115
5.Какой из перечисленных далее языков является языком логического программирования? Фортран, Бейсик, Пролог, Паскаль, Ассемблер, HTML?
6.Каким образом можно поменять подписи по оси абсцисс на диаграмме в
Micrоsoft Excel?
7.Какие три вида средств предоставляет пользователю СУБД Microsoft Access для создания объектов в этой базе?
8.В чѐм заключается лексический и синтаксический анализ программы, написанной на языке высокого уровня, при еѐ трансляции?

Кирьянов Б.Ф. Основы информатики. 116
6. ВВЕДЕНИЕ В ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ: ОПЕРАЦИОННЫЕ СИСТЕМЫ
6.1. Операционная система – мозг ЭВМ
Рассматриваемые ниже операционные среды являются частью программного обеспечения ЭВМ, а именно – так называемыми оболочками операционных систем ЭВМ.
6.1.1. Программное обеспечение ЭВМ. Структура операционных систем
Программное обеспечение (ПО) - это совокупность всех программ и соответствующей документации, обеспечивающая использование ЭВМ в интересах каждого ее пользователя. В крупном плане ПО разделяют на системное и прикладное (рис. 6.1). Иногда выделяют ещѐ один класс ПО – системы программирования.
Системное ПО – это совокупность программ для обеспечения работы компьютера. Этот комплекс программ руководит работой всех элементов компьютерной системы, как на аппаратном, так и на программном уровне. Самой важной системной программой является операционная система, которая обычно хранится на жестком диске. Системное ПО подразделяется на базовое и сервисное (обслуживающее). Системные программы предназначены для управления работой вычислительной системы, выполняют различные вспомогательные функции (копирования, выдачи справок, тестирования, форматирования и др.).
Рис. 6.1. Классификация программного обеспечения

Кирьянов Б.Ф. Основы информатики. 117
Базовое ПО (минимальный набор программных средств, обеспечивающих работу компьютера, в том числе проверку состава и работоспособности ПО) включает в себя:
операционные системы (ОС);
оболочки;
сетевые операционные системы (обеспечение работы ЭВМ в сети). Для организации взаимодействия многочисленных устройств ЭВМ, в ча-
стности, параллельной работы нескольких пользователей на одной ЭВМ, используется пакет управляющих программ, который называется операционной системой. ОС – основной центр управления вычислительной машиной.
Операционная система обеспечивает:
взаимодействие устройств ПК между собой (аппаратный интерфейс);
взаимодействие аппаратного и программного обеспечения (про- граммно-аппаратный интерфейс);
взаимодействие программ между собой (программный интерфейс);
взаимодействие человека с ПК (интерфейс пользователя).
ОС состоит из двух (трѐх) основных компонентов:
ядро - основа операционной системы;
интерфейс - оболочка, с которой работает пользователь;
драйверы - программы, позволяющие ЭВМ работать с разными внутренними и внешними устройствами (их не всегда относят к ОС).
Внастоящее время в ПК в основном используются ОС системы корпора-
ции Microsoft, называемые Windows.
Обслуживающее (сервисное, служебное) ПО включает в себя следую-
щие основные программы (утилиты):
диагностики;
антивирусные;
обслуживания носителей;
архивирования;
обслуживания сети.
Прикладные программы называют приложениями. К ним относятся:
текстовые процессоры;
табличные процессоры;
базы данных;
интегрированные пакеты;

Кирьянов Б.Ф. Основы информатики. 118
системы иллюстративной и деловой графики (графические процессоры);
экспертные системы;
обучающие программы;
программы математических расчетов, моделирования и анализа;
игры;
коммуникационные программы;
программы перевода текстов с одного языка на другой.
Инструментальные программы – это входящие в оболочку средства, предназначенные для создания системного и прикладного программного обеспечения. Его составляют разнообразные языки и среды программирования, такие, как Бейсик, Паскаль, С++, Delphi и др.
6.1.2. Эволюция операционных систем
0 До 80-х годов прошлого столетия в большинстве ЭВМ использовалась так называемая пакетная обработка заданий, выполняемых по очереди.
Рис. 6.2. Пакетная обработка заданий
Очередь заданий – это способ организации хранения заданий в памяти по принципу FIFO (first-in, first-out, то есть первым вошѐл – первым вышел. Это означает, что в ЭВМ организуется очередь заданий (рис. 6.2), которая строго соблюдается.
С 80-х годов прошлого века в ЭВМ стала применяться интерактивная обработка, под которой понимается диалоговая обработка данных (interactive processing). Интерактивные системы требуют совместимости времени выполнения задач со временем действия аппаратных средств. При этом удалось реализовать возможность одновременной работы на ЭВМ сразу нескольких

Кирьянов Б.Ф. Основы информатики. 119
пользователей (рис. 6.3), общение которых с ЭВМ может осуществляться по каналам связи.
Для нескольких пользователей такая обработка данных выполняется в реаль-
ном времени (real-time processing), что реа-
лизуется в режиме
разделения времени.
Режим разделения времени предполага-
ет способность системы выделять свои ресурсы группе пользователей поочередно. Вычислительная
система настолько быстро обслуживает каждого из пользователей, что создается впечатление одновременной работы нескольких пользователей. Такая возможность достигается за счет соответствующего программного обеспечения.
Интерактивный режим работы предполагает также возможность двустороннего взаимодействия пользователя с системой, то есть у пользователя есть возможность воздействия на процесс обработки данных.
В последние годы появились многопроцессорные системы. При этом в системном блоке ПК может быть 2 и более процессоров. Но в основном такими системами являются сети ЭВМ − взаимосвязанные ЭВМ.
Отметим, что ПО в составе ЭВМ (то есть не внешнее ПО) используется с 1946 г. – американская машина ЭНИАК.
Вопрос: Какие из перечисленных ниже 6-х задач требуют выполнения в режиме реального времени:
-печать почтовых наклеек,
-компьютерная игра,
-отображение символов на экране монитора при вводе их с клавиатуры,
-выполнение программы, которая предсказывает состояние экономики на следующий год,
-оформление домашнего задания,
-выполнение указаний на стирание изображений и ненужного текста на экране монитора?

Кирьянов Б.Ф. Основы информатики. 120
6.1.3. Компоненты операционной системы
Операционные системы состоят из двух частей: ядро и оболочка (рис. 6.4). В целом операционная система – это набор управляющих программ, пред-
назначенных для управления ресурсами вычислительной системы.
Центральной частью операци- --онной системы является ядро.
Основные компоненты ядра:
- программа управления файлами
(file manager): {manage – управлять}, - набор драйверов устройств
. {device drivers – правители устройств},
- модуль управления памятью
(memory manager),
- планировщик (scheduler)
.. {schedule – расписание},
- диспетчер (dispatcher).
Компоненты ядра обеспечивают функционирование ЭВМ.
Программа управления файлами ведѐт учѐт всех хранящихся в машине файлов, включая информацию о том, где они находятся, каким пользователям разрешено с ними работать, какие участки памяти свободны для записи новых и расширения имеющихся файлов. [Пояснить: для удобства пользователей используются каталоги главный (корневой) и подкаталоги, понятие пути].
Драйверы обеспечивают простоту взаимодействия различных программ с контроллерами периферийных устройств или прямо с этими устройствами. Например, драйвер принтера содержит программы для чтения и расшифрования слова состояния этого принтера. Поэтому другим элементам ПО не нужно обладать сведениями о технических формальностях, чтобы распечатать файл. Вместо этого другие программы просто просят драйвер распечатать файл и возлагают на него заботу о формальностях.
Модуль управления памятью управляет использованием машиной оперативной памяти. Эти обязанности сводятся к минимуму, если машина единовременно выполняет только одну задачу. В этом случае программа текущей задачи просто помещается в ОЗУ, выполняется, а затем заменяется программой решения следующей задачи. Однако в условиях коллективного использования машины, когда она должна одновременно выполнять несколько заданий,