Алгоритмы можно представлять как некоторые структуры, состоящие из отдельных базовых (т.е. основных) элементов. Естественно, что при таком подходе к алгоритмам изучение основных принципов их конструирования должно начинаться с изучения этих базовых элементов. Для их описания будем использовать язык схем алгоритмов и школьный алгоритмический язык. Характерной особенностью базовых структур является наличие в них одного входа и одного выхода.
Логическая структура любого алгоритма может быть представлена комбинацией трех базовых структур: следование, ветвление, цикл.
Базовая структура "ветвление". Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Структура ветвление существует в четырех основных вариантах:
если—то;
если—то—иначе;
выбор;
выбор—иначе.
Школьный алгоритмический язык
Язык блок-схем
1. если—то
если условие
то действия
все
2. если—то—иначе
если условие
то действия 1
иначе действия 2
все
3. выбор
выбор
при условие 1: действия 1
при условие 2: действия 2
............
при условие N: действия N
все
4. выбор—иначе
выбор
при условие 1: действия 1
при условие 2: действия 2
............
при условие N: действия N
иначедействия N+1
все
Примеры структуры ветвление
Школьный алгоритмический язык
Язык блок-схем
если x > 0
то y:= sin(x)
все
если a > b
то a:= 2*a; b:= 1
иначе b:= 2*b
все
выбор
при n = 1: y:= sin(x)
при n = 2: y:= cos(x)
при n = 3: y:= 0
все
выбор
при a > 5: i:= i+1
при a = 0: j:= j+1
иначе i:= 10; j:=0
все
Базовая структура "цикл". Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла. Основные разновидности циклов представлены в таблице:
Школьный алгоритмический язык
Язык блок-схем
Цикл типа пока. Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока.
нц пока условие
тело цикла
(последовательность действий)
кц
Цикл типа для. Предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне.
нц для i от i1до i2
тело цикла
(последовательность действий)
кц
Примеры структуры цикл
Школьный алгоритмический язык
Язык блок-схем
нц пока i <= 5
S:= S+A[i]
i:= i+1
кц
нц для i от 1 до 5
X[i]:= i*i*i
Y[i]:= X[i]/2
кц
Базовая структура "следование ". Образуется последовательностью действий, следующих одно за другим:
Школьный алгоритмический язык
Язык блок-схем
действие 1 действие 2......... действие n
36 ПОРЯДОК СОЗДАНИЯ И ИСПОЛЬЗОВАНИЯ ПРОЦЕДУР
Процедура предназначена для выполнения какой-то законченной последовательности действий. Любая процедура перед ее исполнением должна быть предварительно описана (объявлена).
Объявление процедуры. Любая процедура начинается с заголовка. Он состоит из зарезервированного слова procedure, за которым следует идентификатор имени процедуры, а далее в круглых скобках - список формальных параметров. За заголовком могут идти такие же разделы, что и в основной программе. В отличие от основной программы процедура завершается не точкой, а точкой с запятой.
Таким образом, при объявлении процедуры ее необходимо описать следующей структурой:
procedure <имя процедуры>(<список формальных параметров>);<[раздел описаний процедуры]>;<Тело процедуры>). Использование процедуры. Для использования уже объявленной процедуры достаточно в том месте основной программы, где нужно выполнить процедуру, указать ее имя со списком фактических параметров:
<заголовок процедуры> ([список фактических параметров]);.
Фактические параметры должны совпадать по количеству, порядку следования и типу с формальными параметрами процедуры.
ПримерВ основной программе объявлентип
Type TСomplex = Record Re, Im: Real; End;
и переменные
Var Compl1, Compl2, Compl3: TСomplex;
X,Y,Z: Real
Затем объявлена процедура:
Procedure InPut_Complex (Var comp1: TComplex);
Const S1=’Введите действительную часть числа’;
S2=’Введите мнимую часть числа’;
Begin Write (S1); Readln (Comp1.Re);
Write (S2); Readln (Comp1.Im);
End;
Для использования процедуры в теле основной программы используют следующую форму:
InPut_Complex (Compl1);
InPut_Complex (Compl2);.
37 ИСПОЬЗОВАНИЕ МОДУЛЕЙ В ЯЗЫКЕ ТУРБО ПАСКАЛЬ
Понятие модуля или, в более общем случае, модульного программирования, возникло на определенном этапе развития вычислительного дела и было обусловлено, в первую очередь, возрастающими объемами программ, их увеличивающейся внутренней сложностью и коллективным характером разработок. К настоящему времени понятие модуля проделало значительную эволюцию от примитивного "разрубания" текста программы на произвольные части или создания библиотек включаемых фрагментов до независимо хранимых и разрабатываемых, независимо компилируемых и тестируемых программных единиц со строго определенными интерфейсами, которые могут объединяться в различных сочетаниях, что характерно, например, для языка Ada. При всех несомненных достоинствах алголоподобных языков, большинство из них имеет существенный недостаток - отсутствие модульности. Представление программной системы как единой языковой конструкции является препятствием для эффективной организации коллективных разработок сложных систем, затрудняет понимание и модификацию программ. Понятие подпрограмм лишь частично решает проблему ввиду неявных и слабо контролируемых информационных зависимостей подпрограмм и их окружения. С этой точки зрения, введение понятия модуля в Turbo Pascal, которое было проведено, начиная с 4-ой версии системы, явилось решающим шагом на пути его превращения в язык, пригодный для крупных разработок производственного и коммерческого назначения на современном уровне технологии программирования. Стал возможным современный стиль реализации программных пакетов различного назначения и ориентации, легко подключаемых к любой программе. Кроме того, за счет введения модулей удалось ослабить ограничения на суммарный объем готовых программ. Модульные средства в Turbo Pascal'e заметно слабее аналогичных возможностей тех языков, для которых модульный принцип был положен в основу их проектирования. Однако следует признать, что разработчики языка Turbo Pascal нашли удачный компромисс, достаточно органично встроив принципиально новое понятие в считающийся уже классическим язык Pascal, не нарушив при этом его целостности, элегантности и простоты и одновременно значительно расширив его возможности. В Турбо Паскаль модульное программирование является дальнейшим развитием стратегии структурирования программы, начало которому положило использование подпрограмм (процедур и функций).
Реализация технологии модульного программирования предполагает, что процедуры и функции из раздела описания основной программы переносятся в отдельный файл, создаваемый по определенным правилам и называемый модулем.
В результате появляется возможность однажды разработанные процедуры и функции использовать многократно, причем не только одной программой, в которой написан код подпрограммы, а несколькими программами. Кроме того, наличие модулей в Turbo Pascal позволяет программировать и отлаживать программу по частям, создавать библиотеки подпрограмм и данных, использовать возможности стандартных модулей и модулей, созданных пользователем, практически неограниченно увеличивать кодовую (содержащую коды команд) часть программы.
Стандартные процедуры и функции Турбо Паскаль размещаются в модулях, входящих в комплект поставки компилятора Турбо Паскаль. Эти модули будут кратко рассмотрены во втором вопросе.
Вместе с тем, разработчики Турбо Паскаль позаботились о том, чтобы пользователи могли самостоятельно создавать свои собственные модули, содержащие новые данные (константы, типы, переменные) и новые подпрограммы (процедуры и функции). Структура модуля и правила его создания и использования будут рассмотрены в третьем вопросе лекции.
Стандартные модули Турбо Паскаль
Как указывалось выше, модули можно использовать для создания библиотек стандартных подпрограмм и данных. В Turbo Pascal в настоящее время имеется большое количество стандартных подпрограмм и данных, объединенных в несколько стандартных модулей. Они позволяют упростить процедуру написания программ, более полно использовать возможности компьютеров типа IBM PC, возможности операционной системы MS DOS. В библиотеке имеются следующие стандартные модули:
System - основная библиотека;
Strings - работа с ASCIIZ-строками;
Crt - работа с консолью;
Graph - графическая библиотека;
Dos - использование возможностей ДОС;
WinDos - использование возможностей ДОС с использованием ASCIIZ-строк;
Overlay - организация оверлейных структур;
Printer - работа с принтером;
ТиrbоЗ - связь с программами Turbo Pascal 3.0;
Graphs - связь с графикой Turbo Pascal 3.0.
Модули Strings, Graph, WinDos, TurboS и Graphs находятся соответственно в файлах STRINGS.TPU, GRAPH.TPU, WINDOS.TPU TURBO3.TPU и GRAPH3.TPU, остальные - вфайле TURBO.TPL.
Так как необходимость обеспечить совместимость с программами, написанными в терминах среды Turbo Pascal 3.0, возникает все реже и реже, модули Turbo3 и Graph3 здесь рассматриваться не будут.
При описании каждого модуля вначале приводятся сводные данные об элементах модуля (константы, переменные, типы, подпрограммы), а затем краткие характеристики подпрограмм. Учитывая, что в среде Turbo Pascal 7.0 имеется хорошо развитая система помощи, включая и многочисленные примеры, которые можно непосредственно использовать в создаваемой программе, при описании каждой стандартной подпрограммы будут приведены лишь ее заголовок, назначение, связь с другими подпрограммами, описание параметров и аварийных ситуаций, если последние имеются.
Модуль System является фактически основной библиотекой среды Turbo Pascal. Так, в него входят все предопределенные процедуры и функции стандарта языка Паскаль, а также дополнительные подпрограммы, позволяющие выполнять разнообразные действия общего назначения (управление вводом-выводом, работа со строками, статической и динамической памятью и т. д.).
Модуль System автоматически подключается к любой программе, и его не следует упоминать в разделе объявления используемых модулей uses,
В модуле описан ряд переменных. Помимо переменных в модуле System определен ряд типизированных констант (инициализированных переменных.
Достаточно подробную информацию об использовании стандартных процедур и функции можно получить с помощью контекстной справки непосредственно из интегрированной среды Turbo Pascal.
Модуль Strings
Модуль Strings позволяет работать с ASCIIZ-строками (последний байт строки содержит символ с кодом 0). Он используется только в версии 7.0. Введение таких строк связано с необходимостью совместить программы, написанные в Turbo Pascal, с программами, использующими среду Windows, а также для установления соответствия с другими языками (например, Си, ассемблер и т. д.). Подпрограммы этого модуля позволяют манипулировать с такими строками, а также преобразовывать их в строки типа string, и наоборот.
Модуль Crt содержит константы, переменные и подпрограммы, предназначенные для работы с консолью. В отличие от стандартного ввода-вывода, когда он осуществляется через операционную систему, подпрограммы модуля Crt работают с BIOS, и даже непосредственно с видеопамятью.
При работе с экраном через модуль Crt весь экран разбивается на отдельные строки, а каждая строка - на отдельные позиции, в каждую из которых можно поместить один символ (в том числе и пробел). Таким образом, весь экран разбивается на отдельные неделимые прямоугольные элементы. Для каждого элемента можно задать цвет фона (задний план) и цвет символа (передний план). Кроме того, в случае необходимости символ можно сделать мерцающим. Вся эта информация (атрибуты символа) размещается в одном байте информации так, как показано на рис. 3.
На этом рисунке буквой М обозначен бит мерцания (символ мерцает, если в этом бите установлена 1), буквами Ф - биты, в которые записывается код цвета фона (биты 4 - 6) и буквами С - биты, в которые помещается код цвета символа (биты 0 -3).
Модуль Crt позволяет работать не только со всем экраном, но и выделять в нем прямоугольные окна. Любое окно задается своим левым верхним углом и правым нижним углом. Эти углы, так же как и положение любого объекта на экране, задаются двумя координатами: X и Y. В качестве координаты X выступает номер позиции в строке (нумерация начинается с 1 и идет слева направо), а в качестве координаты Y - номер строки (нумерация начинается с 1 и идет сверху вниз). При работе в окне координаты отсчитываются от левого верхнего угла окна. При запуске программы выделенное окно совпадает по размеру со всем экраном. Если режим работы адаптера - 25 строк по 80 позиций, то координаты такого окна - (1,1) и (80,25).
Модуль Graph
Модуль Graph содержит типы, константы, переменные и подпрограммы, позволяющие программисту создавать изображения с использованием широкого набора графических адаптеров (CGA, MCGA, EGA, VGA, Hercules, AT&T400, 3270РС, IBM8514).
При работе с этими адаптерами весь экран разбивается на отдельные "точки" - пиксели, которые можно закрасить в тот или иной цвет. Каждый пиксель имеет две координаты: X и Y. Координата X увеличивается по горизонтали слева направо, начиная от нуля, координата Y увеличивается по вертикали сверху вниз, также начиная от нуля. Таким образом левый верхний пиксель имеет координаты (0,0). Количество пикселей зависит от типа адаптера и режима его работы.
Для формирования изображений выделяется одна или несколько (до четырех) страниц видеопамяти. В каждый момент времени лишь одна из них является видимой, передающей изображение на экран дисплея, и одна является активной -на ней можно формировать изображение. Видимая и активная страницы могут совпадать и не совпадать, так что можно, например, сначала подготовить изображение на какой-либо странице, а затем вывести его на экран.
Так же как и в текстовом режиме при использовании модуля Crt, модуль Graph позволяет выделять окна на экране дисплея. Графические процедуры и функции в этом случае используют координаты в пределах окна, причем левый верхний угол окна получает координаты (0,0).
В отличие от текстового режима в графическом режиме курсор, определяющий место на экране, с которого начинается изображение фигуры или текста, невидим, однако его можно переместить в любую точку окна экрана, посмотреть значения координат курсора и т. д.
Подавляющее большинство процедур и функций этого модуля можно использовать только после задания графического режима процедурой InitGraph.
Модуль Dos позволяет использовать возможности операционной системы MS DOS, не предусмотренные в стандарте языка Паскаль, и содержит типы, константы, переменные и подпрограммы для реализации этих дополнительных возможностей.
Модуль Dos
Модуль WinDos позволяет использовать возможности операционной системы DOS, не предусмотренные в стандарте языка Паскаль, и дополнительно предусматривает использование ASClIZ-строк. Этот модуль следует использовать вместо модуля Dos, когда в программе используются строки, завершающиеся нулями или когда предполагается в дальнейшем использовать разрабатываемую программу в среде Windows.
Модуль WinDos
Модуль Overlay предназначен для организации оверлейных программ, которые загружаются и перезагружаются в оперативную память отдельными частями - секциями. Отдельные оверлейные части программы должны быть оформлены как отдельные модули, причем в них необходимо использовать ключ компилятора {$0+}. Кроме этого необходимо предусмотреть, чтобы при вызове оверлейных процедур и функций все активные в этот момент подпрограммы имели "дальнюю" адресацию (для этого следует использовать ключ компилятора {$F+}. Подключение оверлейных модулей к основной программе помимо стандартного использования раздела uses должно содержать ключ компилятора {$О unitname} с указанием имени оверлейного модуля.
Модуль Printer
Модуль Printer включает в себя переменную Lst типа Text, которая связана с принтером, и ее можно использовать в качестве файловой переменной в процедурах Write и WriteLn. Т. к. эта переменная связывается с принтером автоматически, не следует выполнять ни процедуры Assign, ни процедуры Rewrite, а также закрывать файл.
Модули пользователя Модуль состоит из следующих частей:
· заголовок модуля (Unit <Имя модуля>);
· интерфейс модуля (Interface);
· исполнительная часть модуля (Implementation);
· секция инициализации (Begin … End.).
Все разделы модуля, за исключением секции инициализации, являются обязательными. Обязательна также указанная последовательность разделов.
Заголовок модуля состоит из зарезервированного слова unit и идентификатора. Идентификатор модуля должен быть уникальным.
Пример заголовка:
unit MyModule;
Модуль должен быть помещен в файл, имя которого совпадает с именем модуля, а его расширение должно быть.PAS.
Интерфейс модуля Через интерфейс осуществляется взаимодействие основной программы с модулем (модуля с модулем). В интерфейсе указываются константы, типы, переменные, процедуры и функции, которые могут быть использованы основной программой (модулем) при вызове этого модуля.
Интерфейс начинается словом interface. Структура и содержание раздела интерфейс выполняется по таким же правилам, как и раздел объявлений (описаний) основной программы. Отличие состоит только в том, что процедуры и функции в разделе интерфейса модуля приводятся только строкой заголовка. Таким образом, интерфейс модуля может содержать следующие элементы:
раздел объявления используемых модулей - после слова uses указываются имена модулей, которые используются данным модулем (необязательная часть).
раздел объявления констант,
раздел объявления типов,
раздел объявления переменных,
раздел объявления процедур и функций. Объявление процедуры может содержать директиву inline. Напоминаем, что в разделе объявления процедур и функций указываются лишь заголовки подпрограмм (за исключением тех подпрограмм, которые используют директиву inline). Сами подпрограммы приводятся в исполнительной части.В интерфейсах различных модулей недопустимо циклическое обращение друг к другу, т. к. компилятор в этом случае не может установить связей.
Исполнительная часть модуля содержит элементы, недоступные внешним программам. включая развернутый код полного описания всех подпрограмм (процедур и функций), объявленных в разделе интерфейса модуля. Она может также включать локальные метки, константы, типы, переменные и подпрограммы, доступные только внутри данного модуля.
Исполнительная часть модуля начинается словом implementation. Затем после слова uses указываются имена модулей, которые используются подпрограммами данной исполнительной части (этот раздел необязателен). Если какой-то модуль уже указан в интерфейсе модуля, то в исполнительной части его повторять не следует. Далее могут быть: раздел объявления меток, раздел объявления локальных констант, раздел объявления локальных типов, раздел объявления локальных переменных. Затем идут описания подпрограмм модуля. При описании подпрограмм допустимо использовать сокращенные заголовки, не указывая при этом список формальных параметров.
Секция инициализации
В некоторых случаях перед обращением к модулю следует провести его инициализацию (например, установить связь с теми или иными файлами с помощью процедуры Assign, инициализировать какие-то переменные и т. д.). Необходимые действия можно выполнить в секции инициализации модуля. Эта секция начинается словом begin, после которого идут исполняемые операторы, а затем помещается слово «end..» (с точкой), например:
begin
Assign (Fl, 'FILE1.DAT')
end.
Следует иметь в виду, что операторы секции инициализации выполняются единственный раз в момент запуска программы.
Если инициализация модуля не нужна, то в секции помещается лишь слово end. (с точкой).
Использование модуля в основной программе
Чтобы использовать подпрограммы, константы, типы, переменные, описанные в интерфейсе модуля, в основной программе следует записать слово uses, после которого указать имя (имена) модуля (модулей). После этого в основной программе можно использовать любые идентификаторы (констант, типов, переменных, подпрограмм), указанные в интерфейсах перечисленных модулей.
Пример. Программа, меняющая в массиве максимальное и минимальное числа.
program EXAMPLE26; {заголовок программы}
uses Unitl, Unit2; {используемые модули}
var i: Integer;
begin
Change(Arr); {процедура замены в Unitl,
массив Arr - в Unit2}
for i:= 1 to N do {N-B Unit2}
WriteLn(Arr(i])
end.
{модули, расположенные в других файлах}
unit Unitl; {модуль с основной подпрограммой}
interface {интерфейс первого модуля}
uses Unit2; {использование модуля с параметрами}
procedure Change (var Arr: Mass); {заголовок процедуры}
implementation {исполнительная часть}
uses UnitS; {использование модуля с вспомогательной
подпрограммой}
procedure Change; {сокращенный заголовок}
var Max, Min, i; Integer;
begin
Max:= 1; Min:= 1;
for i:= 1 to N do {N-в Units}
begin
if Arr[i] > Arr[Max]
then Max:= i;
if Arrti] < Arr[Min]
then Min:= i
end;
Swap(Arr[Max], Arr[Min]) {замена местами макс.и мин.чисел, процедура в Units}
end
end. {конец Unitl}
unit Unit2; {модуль с параметрами}
interface {интерфейс второго модуля}
const N = 5; {число элементов}
type Mass = array!1..N] of Real; {тип массива}
const Arr: Mass = (0.5, -2.0, 1.0, 3.5, 7.0);
{типизированная константа}
implementation {исполнительная часть}
end. {конец UNIT2}
unit UnitS; {модуль с вспомогательной подпрограммой}
interface {интерфейс третьего модуля}
procedure Swap(var X, Y: Real}
implementation {исполнительная часть}
procedure Swap(var X, Y: Real) {перемещение двух чисел}
var Z: Real;
begin
Z:= X; X:- Y; Y:= Z
end
end. {конец UNITS}
Использование идентификаторов элементов модуля
Как правило, идентификаторы объектов модуля используются в основной программе (или другом модуле) обычным образом. Однако может оказаться, что используемый идентификатор элемента модуля совпадает с идентификатором использующей его программы. Чтобы различить их, при обращении к элементу модуля указывается имя модуля, а затем через точку - идентификатор объекта (аналогично использованию полей записи).
Пример,
program EXAMPLE;
uses Unitl;
var Result, X: Real;
begin
Read (X); {чтение переменной программы}
Read (Unitl.X); {чтение переменной модуля}
Result:= X {переменная программы}
+Unitl.X {переменная модуля}
end
.
unit Unitl;
interface
var X: Real; {переменная модуля}
implementation
end.
38 ХАРАКТЕРИСТИКА ОПЕРАЦИОННОЙ СИСТЕМЫ MS WINDOWS
1. Разрядная архитектура
Windows 95 - первая 32-разрядная операционная система для компьютеров IBM PC позволяет существенно увеличить скорость обработки информации в сравнении с 16-разрядной архитектурой MS DOS.
Операционная система Windows полностью обеспечивает работу 32-разрядных программ, причем использование 32-разрядных программ в ее среде является оптимальным. В среде Windows 16-разрядные программы также успешно функционируют, но они не могут задействовать все ресурсы системы.
В состав Windows включена специальная служебная программа, которая позволяет быстро и безопасно преобразовать на диске файловую систему FAT 16 в файловую систему FAT 32.
2 Многозадачность и многопоточность
Операционная система Windows является многозадачной, т.е. она способна "одновременно" выполнять несколько программ. На самом деле один микропроцессор может выполнять инструкции только одной программы. Однако операционная система настолько оперативно реагирует на потребности той или иной программы, что создается впечатление одновременности их работы.
Квант времени - короткий период времени, в течение которого отдельная задача, выполняемая во многозадачной среде, занимает микропроцессор. Процессорное время, выделяемое приложению, обычно измеряется в миллисекундах (типичная продолжительность интервала составляет 7, 10 и 15 мс). Квант машинного времени называется также просто квантом.
Многозадачность может быть кооперативной и вытесняющей. При кооперативной многозадачности операционная система не занимается решением проблемы распределения процессорного времени. Распределяют его сами программы.
При вытесняющей многозадачности распределением процессорного времени между программами занимается операционная система. Она выделяет каждой задаче фиксированный квант времени процессора. По истечении этого кванта времени система вновь получает управление, чтобы выбрать другую задачу для ее активизации.
Многопоточность операционной системы означает, что работающие программы (процессы) могут разделяться на несколько частей, самостоятельно претендующих на процессорное время. Это обеспечивает одновременное выполнение программой нескольких не связанных друг с другом операций.
3 Графический пользовательский интерфейс
Пользовательский интерфейс Windows использует графический режим видеомонитора.
Основой интерфейса пользователя в ОС Windows является использование идей так называемого WIMP-интерфейса, т. е. ориентация на:
· окна как основной элемент экрана, в границах которых происходят все действия пользователя;
· графические значки как представители объектов манипулирования;
· манипулятор типа «мышь»;
· меню как основной элемент диалога, команды которого автоматически всплывают и/или выделяются пользователем из строки меню.
4 Подключение новых периферийных устройств по технологии Plug and Play ("включай и работай")
В среде Windows при подключении нового периферийного устройства система самостоятельно создает и изменяет файлы конфигурации, распознает конкретное техническое устройство и производит его автонастройку. Пользователь лишь управляет этим процессом, выбирая в диалоговом режиме тот или иной вариант из предлагаемых ему ОС.
5 Использование виртуальной памяти
Виртуальная память - расширение адресного пространства задачи, полученное за счёт использования части внешней памяти.
В оперативной памяти всегда находится часть виртуального пространства, выделяемого для решения задачи, остальная его часть располагается на дисковой памяти, программы циркулируют между диском и оперативной памятью.
Используемая для этой цели часть внешней памяти называется файлом подкачки, а процесс подкачки известен под названием свопинг. Объем файла подкачки может в несколько раз превышать объем оперативной памяти.
Windows самостоятельно выбирает размер виртуальной памяти в зависимости от реальной потребности текущей задачи. Это позволяет обеспечить, например, работу одновременно нескольких приложений, для которых требуется суммарный объем оперативной памяти, превышающий реально существующий. Однако при этом снижается производительность компьютера в связи с необходимостью выделить часть вычислительных ресурсов на организацию обмена между оперативной и внешней памятью.
6 Совместимость с ранее созданным программным обеспечением
Под совместимостью с программным обеспечением понимают способность операционной системы исполнять программные продукты, созданные в другой операционной системе. В большинстве случаев операционная система Windows обеспечивает такую совместимость на IBM-подобных компьютерах не только для программ ранних версий, но и для программ операционной системы MS DOS.
7 Наличие коммуникационных программных средств
Важнейшим направлением развития Windows является включение в ее структуру широко используемых и специальных программных средств для поддержки различных коммуникаций и компьютерных сетей, интеграции с глобальной сетью Интернет.
8 Наличие средств мультимедиа
Для работы со звуком и видео на компьютере разработано множество программных средств. Минимально необходимый набор таких приложений входит в состав Windows.
Наличие средств мультимедиа позволяет реализовать работу пользователя с графической, аудио- и видеоинформацией на уровне ОС, что обеспечивает совместимость с различными средствами мультимедиа.
39 ОБЪЕКТЫ ОРИЕНТАЦИИ И СРЕДСТВА WINDOWS
Благодаря тому, что операционная система создана на базе объектно-ориентированной методологии программирования, ее основными понятиями становятся объект, его свойства и действия, которые объект может выполнять в зависимости от запроса. В объектно-ориентированной среде с любым объектом сопоставлена определенная совокупность действий.
Объектная ориентация среды Windows проявляется для пользователя сразу при знакомстве с технологией работы в ней. Щёлкнув по любому объекту правой кнопкой мыши, вы получаете доступ к командам контекстного меню. Контекстное меню объекта предоставляет пользователю возможность:
- ознакомиться со свойствами этого объекта.
- выполнить действия, возможные для этого объекта, выбором из этого меню соответствующих команд.
Объектно-ориентированная технология Windows предоставляет возможность пользователю создавать документы, фрагменты которых подготовлены в разных средах.
1.1 Объект – файл
В среде Windows любой файл воспринимается как объект, имеющий уникальное имя. Файлу рекомендуется давать такое имя, которое отражает суть хранящейся в нем информации. При переходе в среду MS DOS длинное имя по специальному алгоритму будет заменено 8-символьным именем со всеми присущими этой среде ограничениями.
С общими свойствами файла можно ознакомиться, вызвав для этого контекстное меню и выбрав команду Свойства. Параметры, отражающие общие свойства файла.
Помимо этого в окне "Свойства" будет отображен значок, служащий для указания среды, в которой создавался файл.
Над файлом можно выполнить определенный набор действий, которые переводят его из одного состояния в другое.
§ Открыть файл.
§ Заархивировать или разархивировать файл.
§ Отправить файл.
§ Вырезать файл.
§ Копировать файл.
§ Удалить файл с диска.
§ Переименовать файл.
§ Создать ярлык.
1.2 Объект – папка
Другим важным объектом файловой системы Windows является папка. Папка Windows играет ту же роль, что и обычная папка для хранения документов в делопроизводстве: она позволяет упорядочить хранение документов. Папку Windows можно рассматривать как понятие, аналогичное каталогу в операционной системе MS DOS, хранящему информацию о местонахождении файлов. Но в среде Windows не "папка содержит информацию о местоположении файлов", а "папка содержит файлы". Помимо файлов папка может содержать и другие объекты.
Папке присваивается имя, которое записывается по тем же правилам, что и имя файла. Как и файлы, папки имеют сокращенное имя для среды MS DOS.
Со свойствами папки, так же как и файла, можно ознакомиться, открыв контекстное меню и выбрав команду Свойства.
Над папками, как над объектами, можно выполнять стандартный набор действий, аналогичный тем, которые производятся с файлами.
1.3 Объект - Ярлык
Ярлык - это ссылка на какой-либо объект, вторичное (дополнительное) изображение этого объекта, указывающая на его местоположение. Ярлык служит для ускорения запуска программ или документов. Объект и eго ярлык обычно находятся в разных местах.
Ярлык хранится в файле объемом 1 Кбайт. Его можно легко создать или уничтожить, что никак не влияет на связанный с ним объект.
Действия, которые можно совершать с ярлыком, аналогичны действиям над файлами.
Иерархическая структура подчиненности папок
Аналогично тому, как организована иерархическая структура каталогов в операционной системе MS DOS, строится и структура (схема) подчиненности папок в Windows. На верхнем уровне этой структуры находится единственный объект - Рабочий стол. На втором уровне располагаются объекты, размещенные на Рабочем столе. К таким объектам стандартно относятся папки Мой компьютер, Мои документы и Корзина. Эти папки являются системными и немного отличаются от других папок (например, их нельзя удалять или перемещать). Однако они, как и другие папки, служат хранилищами объектов Windows.
Объекты пользовательского уровня - приложение и документ
Появление Windows породило множество новых понятий, иногда заменяющих уже известные. К их числу относится приложение.
Приложение состоит из одного или нескольких файлов, которые хранятся обычно в папке с соответствующим названием. Среди этих файлов должен быть главный (ведущий), часто называемый файлом запуска. Этот файл содержит уникальный значок - своего рода логотип данной среды. Открытие файла запуска обеспечивает загрузку этого приложения и появление на экране его интерфейса.
Объектами, создаваемыми в среде приложения, могут быть тексты, таблицы, рисунки, звуки и т.п. В среде Windows такие объекты называются документами. Созданный в приложении объект (документ) сохраняется либо в одном файле, либо в нескольких взаимосвязанных файлах. В последнем случае один из этих файлов будет главным.
Тип файла может задаваться самим приложением по умолчанию. Большинство приложений предлагают пользователю несколько вариантов типа документа.
Документы одного типа, созданные, как правило, в одном приложении, имеют один и тот же значок.
Задача - это работающее приложение, которое потребляет ресурсы системы или ждет своей очереди на них. Все задачи должны быть в той или иной форме отображены на экране.
Основные понятия графического интерфейса Windows
Интерфейс- совокупность средств и правил, которые обеспечивают взаимодействие устройств, программ и человека.
Особенно важен интерфейс, обеспечивающий взаимодействие пользователя с персональным компьютером, называемый пользовательским интерфейсом. Пользовательский интерфейс может быть символьным и графическим.
Символьный интерфейс используется обычно при работе видеосистемы в текстовом режиме. Информация выводится на экран монитора посимвольно.
Графический интерфейс появляется тогда, когда видеосистема может работать в графическом режиме, т.е. выводить на экран монитора информацию поточечно. Графический интерфейс по сравнению с символьным воспринимается как более понятный и интуитивно ясный.
Набор используемых элементов интерфейса стандартен, что позволяет после изучения интерфейса Windows легко и быстро осваивать интерфейс приложений Windows.
- Формы указателя мыши при работе с объектами Выбор того или иного объекта для выполнения заданного с ним действия осуществляется с помощью мыши или клавиатуры. Вид указателя мыши может меняться в зависимости от области экрана, где он находится. Он также может отражать состояние системы: занята она или свободна. Вид указателя мыши помогает пользователю судить о том, что происходит с системой и что пользователь может в ней делать.
- Окна - объекты графического интерфейса
Окно - обрамленная прямоугольная область на экране монитора, в которой отображаются приложение, документ, сообщение.
Окно будет активным (текущим), если с ним в данный момент работает пользователь. Различают несколько типов окон, вид которых и появление на экране монитора определяются отображаемой в них информацией (окно приложений, окно документа, диалоговое окно). Структура этих окон выполнена в соответствии с разработанным стандартом. Они могут занимать весь экран, а могут быть свернуты в значки.
Общая концепция Windows состоит в максимальной стандартизации всех элементов и приемов работы.
Диалоговое окно служит для настройки параметров опер
infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.2.191 (0.015 с.)