Кроме того, можно преобразовать типы явным образом:
(имя типа, к которому преобразуем) имя переменной
имя типа, к которому преобразуем (имя переменной).
Например,
char ch=’a’;
cout << (int) ch; или cout << int (ch);// на экране появится ASCII-кода символа a
Использовать допустимые неявные преобразования типов необходимо с большой осторожностью.
Необязательный модификатор const
показывает, что значение переменной изменять нельзя. Если в описании указан модификатор const,
то наличие инициализирующего выражения обязательно. То есть, недопустима запись const int a;
Описание переменной выполняется в программе в форме объявления или определения (здесь с литературе тоже встречается путаница понятий). Объявление
информирует компилятор о типе переменной и классе памяти, а при определении
под переменную выделяется память в соответствии с ее типом. Переменная может быть объявлена многократно, а определена только один раз. В большинстве случаев объявление является и определением. Объявление не является определением, если
Содержит спецификатор extern;
Описывает имя типа, вводимого пользователем;
Описывает прототип функции;
Описывает имя класса;
Описывает статический компонент класса.
На основе основных типов можно ввести производные типы
: ссылки, указатели, перечисления, массивы, функции, структуры, объединения, классы. Указатели, ссылки и перечисления, наряду с арифметическими типами и логическим относят к скалярным, а остальные к структурированным.
Основным
понятием ООП и элементом программы
является объект, сочетающий в себе как
совокупность данных, так и действий над
ними. Тип-объект в Тurbo
Раsсаl
напоминает тип-запись, однако вместо
зарезервированного слова rесоrd
используется слово оbject,
а кроме полей, представляющих данные,
в нем перечислены и заголовки подпрограмм,
называемых методами. При задании такого
типа после зарезервированного слова
оbject
перечисляются все поля объекта и
заголовки методов, после чего пишется
слово еnd.
Так, в рассматриваемом примере используется
тип (Соnnection
(связь элементов):
tCоnnection
= оbject
РredElem:
Роinter;
NextElem:
Pointer;
В
этом типе РredЕlem
и NextЕlem
- указатели на предыдущий и последующий
элементы в структуре (если соответствующего
элемента нет, указатель имеет значениеnil
).
Используются указатели типа Роinter,
т.к. элементы могут быть различными: они
могут быть и элементами строки, и
строками. Далее идут заголовки двух
процедур и двух функций, позволяющих
либо задавать, либо получать значения
указателей объекта.
Естественно,
что затем все используемые методы должны
быть описаны так же, как это делается
для подпрограмм в модулях. При этом
Допускается записывать сокращенный
заголовок метода, однако перед ним
следует через точку записать имя
типа-объекта, к которому относится
данная подпрограмма:
рrосеdure
tConnection.РutPredElem;
РredЕlеm:=РredЕl;
Это нужно потому, что несколько разных
методов, относящихся к разным объектам,
могут иметь одно и то же имя, как и поля
в разных типах-записях.
Некоторые объекты
программы, особенно находящиеся в начале
иерархического дерева, могут и не
соответствовать каким-либо реальным
объектам. Так, например, объекты типов
tСоnnection
(связь), tStructure
(структура) и tOperation
(операция) не имеют какого либо физического
воплощения - они указывают лишь
на некоторые двойства других, реальных
объектов, таких, как строки, элементы
строк. Однако выделение этих общих
свойств в отдельные объекты бывает
удобно, т. к. позволяет затем не повторять
их многократно при описании уже реальных
объектов. Такие объекты называются
абстрактными, и переменных таких типов
в программе, как правило, не бывает.
12.2.1. Инкапсуляция
Под термином
"инкапсуляция" понимается совмещение
в одном объекте как параметров, так и
действий над ними. При этом включенные
в объект подпрограммы (методы), как
правило, оперируют с данными
этого объекта или обращаются к методам
объектов-предков (см. п. 14.2.2). Это позволяет
объединить в одном месте все свойства
объекта, что облегчает понимание работы
программы, ее отладку, модификацию. Так,
например, все свойства связей между
элементами в структуре, текста
сосредоточены в типе tСоnnection.
Как правило, к данным объекта извне
непосредственно не обращаются, хотя
это и возможно. Для обращения к данным
обычно используют соответствующие
методы. Так, в рассматриваемом примере
для этой цели служат четыре метода
РutPredElem,
РutNextElem,
GetPredElem
и GetNextElem,
с помощью которых можно задавать и
получать значения указателей на
предыдущий и последующий элемент. Это
обстоятельство не является надуманным.
В нашей повседневной жизни так обычно
и происходит - мы используем те, или
иные параметры опосредованно. Если
взять уже упоминавшийся пример с
компьютером, то у него есть такой
параметр, как размер свободной памяти
на жестком диске. Однако вряд ли владелец
компьютера для определения этого
параметра будет непосредственно
отсчитывать байты - для этой цели служат
специальные подпрограммы.
Такое опосредованное
обращение к данным позволяет избежать
во многих случаях непредвиденных
нежелательных изменений параметров. В
Тurbo
Раscal
с этой целью используется специальное
зарезервированное слово рrivate
(приватный), в принципе запрещающее
непосредственное обращение к тем или
иным данным и методам объекта вне модуля,
в котором описан объект. В версия 7.0
(приватная секция может размещаться в
любом месте объекта (раньше -только в
конце (после обычных, доступных параметров
и методов). Так, если необходимо запретить
из основной программы обращаться к
данным объекта типа tСonnection
(напомним, что основная программа
редактора находится в отдельном
файле), этот тип можно описать следующим
образом:
tCоnnection
= оbject
рrосеdure
РutPredElem(PredEl:
Pointer);
рrосеdure
РutNextElem(NextЕl:
Роinter);
function
GetPredElem: Роinter;
I
function
GetNextElem: Роinter;
private
РredElem:
Роinter;
NextElem: Pointer;
Если
приватная секция находится не в конце
объекта, то для ограничения диапазона
действия зарезервированного слова
р
rivate
следует после приватной секции поместить
зарезервированное словоpublic
(доступный
извне) -только в версии 7.0:
tCоnnection
= оbject
РredElem:
Роinter;
NextElem: Pointer;
рrосеdure
РutPredElem(PredEl:
Pointer);
рrосеdure
РutNextElem(NextЕl:
Роinter);
function
GetPredElem: Роinter;
I
function
GetNextElem: Роinter;
Современные компьютеры невозможно себе представить без наличия в них операционной системы - средства взаимодействия между пользователем и компьютером (программами и «железными» компонентами). Сегодня их можно насчитать десятки. Рассмотрим вопрос о том, что собой представляют главные объекты операционной системы на примере ОС Windows.
Форма организации взаимодействия между пользователем и операционной системой
На современном этапе развития компьютерной индустрии большинство разработчиков ОС используют методы объектно-ориентированного программирования и графические интерфейсы, позволяющие максимально упростить работу пользователя или обеспечить быстрый доступ к необходимой информации или настройкам.
Если ранее применялись ОС с пакетным вводом данных, когда нужно было задавать системе исполнение определенной команды путем ее ручного ввода, сегодня, благодаря наличию графического интерфейса, такая задача существенно упростилась. Пользователь не вводит команды, а нажимает кнопки для организации какого-то события, активации процесса, подтверждения исполнения программ, изменения настроек и т. д. Но какие же существуют объекты операционной системы, какую роль они исполняют, каковы их свойства, какие действия с ними можно производить? Рассмотрим основные понятия.
Основные объекты операционной системы
В свое время корпорация Microsoft при разработке первой версии Windows отказалась от использования организации работы, применяемой в DOS-системах. Само название ОС Windows свидетельствовало о том, что она состояла из окон в графическом представлении, что позволяло использовать так называемый режим многозадачности с быстрым переключением между программами, параметрами и настройками. Однако даже не в окнах суть.
Сегодня можно найти множество различных классификаций, однако в самом широком понимании объекты операционной системы можно представить в виде следующего списка:
- графический интерфейс («Рабочий стол», окна, панели, меню, ярлыки и пиктограммы, переключатели, кнопки, интерактивные оболочки);
- файловая организации файлов и каталогов);
- приложения и документы (исполняемые элементы, программы или их совокупность, файлы, созданные в программах).
Интерфейс
Одно из главных мест отводится интерфейсу. Первое, что видит пользователь после старта ОС, - «Рабочий стол» и «Панель задач», на которых размещаются кнопки, ярлыки и другие вспомогательные элементы. Свойства объектов этого типа таковы, что с их помощью можно получить доступ практически ко всем функциям и возможностям ОС.
Особое внимание в этом плане отведено кнопке «Пуск» и вызываемому при нажатии на нее одноименному меню. Здесь расположено большинство ссылок на программы и основные настройки. Обратите внимание, что физически приложения находятся в другом месте, а в меню присутствуют только ярлыки, представленные в виде названий приложений или настроек с пиктограммами.
Пиктограммы или иконки как объекты операционной системы представляют собой небольшие графические изображения. Отличие ярлыков от пиктограмм состоит в том, что ярлыки, кроме названия программы или имени файла, описывают еще и некоторые свойства приложений, настроек или документов, а также указывают на месторасположение самого файла, подлежащего открытию. Для описания файлов используется еще указание на программу, с помощью которой его и можно открыть.
Меню являются средствами выбора действий пользователя. Условно их можно разделить на основные и контекстные (те, которые вызываются правым кликом). Однако организация основных меню входит в состав объектов, называемых окнами. И меню можно отнести также к элементам управления, поскольку именно в них пользователю предлагается выбор определенного действия.
Окна: разновидности и доступные операции с ними
Окна - это основные объекты (Windows или любой другой компьютерной ОС). В них имеется основное пространство, где отображается информация, или, как его еще называют, рабочая область. Также представлены специальные панели с основными меню, содержащими наборы команд или действий, кнопки быстрого доступа к тем или иным функциям, линейки прокрутки и т. д.
Действия с объектами операционной системы этого типа состоят в том, что их размеры можно уменьшать или увеличивать, сворачивать и разворачивать, производить быстрое переключение между программами, изменять масштабирование рабочей области и т. д. Кроме того, сами окна бывают основными и диалоговыми, что обеспечивает более тесное взаимодействие между программой и пользователем.
Элементы управления
И тут отдельно стоит остановиться на элементах управления. Главным элементом, если не учитывать планшетные ПК или смартфоны, а также сенсорные экраны, является курсор, при помощи которого можно перемещаться по всему интерфейсу, вызывать какие-то действия, производить изменение размеров и т. д.
Курсор «привязан» к мыши в стационарных ПК или к тачпаду в ноутбуках. В общих чертах курсор - это не только указывающий элемент. Например, при растяжении окон он меняет свой значок. Таким образом, даже по изменению состояния курсора всегда можно определить, какое именно действие производится или предполагается произвести в данный момент. Опять же, если на экране появляются песочные часы или вращающийся свидетельствует о том, что в данный момент происходит исполнение какого-то процесса и до завершения доступа к нему не будет.
Еще один управляющий элемент - экранная клавиатура, которая получила основное распространение на планшетах и смартфонах, когда подключение «железной» клавиатуры не предусмотрено.
Файлы и папки
Наконец, самым большим классом являются каталоги (директории, папки) и файлы, которые в совокупности образуют единую структуру, называемую файловой системой.
Файлы и папки с точки зрения компьютерной системы между собой не различаются, поскольку даже директории сами по себе являются файлами без расширения и также занимают определенное место на диске (причем для пустой папки может быть указан нулевой размер в файловом менеджере, но на самом деле это не так). Просто для удобства группирования сходных по каким-то признакам файлов и используется методика их объединения в один каталог.
В физическом плане, несмотря на то что некоторые файлы вроде бы присутствуют в какой-то директории, они могут располагаться в совершенно разных местах жесткого диска. Свойства объектов операционной системы этого типа определяются в первую очередь размером (занимаемым местом на жестком диске), местоположением в файловой структуре, типом и т. д.
И наверняка все знают, какие именно действия можно производить с обоими типами. Работа с объектами представленными в виде отдельных файлов или целых каталогов, сводится не только к простейшим операциям вроде копирования, удаления, переименования или перемещения. Для файлов, например, предусмотрен просмотр, редактирование, открытие в определенной программе (часто с возможностью самостоятельного выбора приложения) и многие другие действия.
Вместо итога
Но в целом это лишь краткий обзор основных объектов любой ОС. Заметьте, здесь мы не рассматривали организацию того же системного реестра только по той простой причине, что сегодня можно встретить и ОС, в которых он отсутствует как таковой (Linux), а структура ключей очень схожа с организацией файлов и папок. Собственно, и сами ключи являются файлами. Кстати сказать, приложения и программы - это тоже файлы или совокупность файлов, подлежащих выполнению средствами операционной системы.
Заполнить таблицу:
1. Запустить программу ПРОВОДНИК с помощью главного меню. Указать, какая папка открыта на левой панели ПРОВОДНИКА.
|
|
2. На правой панели ПРОВОДНИКА создать папку Эксперимент.
|
|
3. На левой панели развернуть папку Мои документы щелчком на значке узла «+». Убедиться в том, что на левой панели в папке Мои документы образовалась вложенная папка Эксперимент.
|
|
4. Открыть папку Эксперимент. Указать содержимое правой панели ПРОВОДНИКА.
|
|
5. Создать на правой панели ПРОВОДНИКА новую папку НОМЕР ГРУППЫ внутри папки Эксперимент. На левой панели убедиться в том, что рядом со значком папки Эксперимент образовался узел «+». О чем он свидетельствует?
|
|
6. На левой панели ПРОВОДНИКА разыскать папку TEMP, но не раскрывать её.
|
|
7. Методом перетаскивания переместить папку Эксперимент с правой панели ПРОВОДНИКА на левую - в папку TEMP.
|
|
8. На левой панели ПРОВОДНИКА открыть папку TEMP. На правой панели убедиться в наличии в ней папки Эксперимент.
|
|
9. Разыскать на левой панели ПРОВОДНИКА Корзину и перетащить папку Эксперимент на её значок.
|
|
Задание №7. Сделать вывод о проделанной лабораторной работе:
Контрольные вопросы
Список используемой литературы
36. Кузнецов А.А. и др. Информатика, тестовые задания. – М., 2006.
37. Михеева Е.В. Практикум по информации: учеб. пособие. – М., 2004.
38. Михеева Е.В., Титова О.И. Информатика: учебник. – М., 2005.
39. Семакин И.Г., Хеннер Е.К. Информатика. Учебник 10-11 кл. – М., 2007.
40. Угринович Н.Д. и др. Практикум по информатике и информационным технологиям 10–11 кл. – М., 2002.
41. Угринович Н.Д. Информатика и информационные технологии. Учебник 10–11 кл. – М., 2002.
42. Угринович Н.Д. Преподавание курса «Информатика и ИКТ» 7–11 классы. – М., 2005.