Основными объектами Windows являются файлы, папки и ярлыки.
Файл – поименованная совокупность данных на внешнем носителе. В ОС Windows они также называются документами . Имя файла состоит из собственно имени и расширения. Имя может содержать до 255 символов и включать цифры, пробел и некоторые специальные символы (! @ # $ % ^ & () { } _ -). Расширение уточняет вид информации, находящейся в файле.
Например: doc txt frm wri - текст
Bmp pcx tif pif wpg jpg - графика pst pab – электронная почта dbf db – базы данных xls – электронная таблица lib obj dll - библиотеки hlp – файлы помощи arj zip rar – архивные файлы
Кроме того, в Windows с каждым из файлов связывается пиктограмма, соответствующая типу файла, обусловленному расширением.
Например:
Открыть файл можно двойным щелчком по его пиктограмме. Файлы регистрируются в папках (каталогах). Папка – это способ организации и представления системных ресурсов. Папка может содержать другие папки (вложенные), файлы, а также такие объекты как принтер, диски и т.д.
Папки бывают:
Окно – прямоугольная область экрана, предназначенная для отображения на экране объектов, элементов управления и информации. В ОС Windows можно выделить четыре вида окон:
Диалоговыми окнами пользуются, когда надо что-либо настроить или изменить. В отличие от окон папок, диалоговые окна не стандартны, хотя и стандартизированы за счет применения типовых элементов управления.
Большинство диалоговых окон содержат больше информации, чем может разместиться на одной экранной странице окна. В этом случае в диалоговом окне создаются вкладки . Переключение между вкладками выполняют щелчком мыши на ее названии.
Диалоговые окна обычно содержат командные кнопки
, которые служат для выполнения команд.
Например:
- ОК – закрытие окна с сохранением всех выполненных в нем настроек.
- Отмена - закрытие окна без сохранения внесенных изменений.
- Обзор… - открывает диалоговое окно, с помощью которого удобно выполнить поиск и выбор объекта.
- Печать – печать на принтере текущих параметров настройки.
- Далее>, <Назад - переход к следующему этапу работы программы-мастера или возврат к предыдущему этапу.
В диалоговых окнах также может содержаться много других разнообразных элементов управления,
например:
- Текстовое поле – область ввода текстовой информации с клавиатуры;
- Список, Поле со списком, Раскрывающийся список – позволяют выбрать один параметр из заданного набора;
- Переключатели – позволяют выбрать только один вариант настройки из нескольких;
- Флажки – похожи на переключатели, но в отличие от них может быть установлено одновременно несколько флажков;
- Счетчик – для ввода числовых параметров;
- Позиционируемый движок - наглядно осуществляет изменение регулируемых параметров.
Примеры диалоговых окон:
Заполнить таблицу:
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.
Основным понятием ООП и элементом программы является объект, сочетающий в себе как совокупность данных, так и действий над ними. Тип-объект в Т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;
Тема 1. 2. Концепция типа данных
Понятие переменной
В любой программе, обрабатывающей данные, в качестве операндов в выражениях используются переменные. Часто определяют переменную как пару “имя” - “значение”. Имени соответствует адрес участка памяти, выделенной переменной, а значением является содержимое этого участка.
Переменная - это именованная область памяти компьютера, выделяемая для хранения конкретных данных, значение которых в общем случае может изменяться в ходе выполнения программы.
Описание переменных в программе имеет следующий формат:
Рассмотрим каждый элемент этого описания.
Имя – идентификатор;
Каждая переменная, константа, функция, каждое выражение в программе, написанной на языке высокого уровня, имеет определенный тип . Данные разных типов хранятся и обрабатываются по-разному.
Тип данных определяет:
Внутреннее представление данных в памяти компьютера;
Операции и функции, которые можно применять к объектам этого типа;
Множество значений, которое могут принимать величины этого типа.
Все типы языка С++ делят на основные и производные (составные) .
Основные типы данных
В языках программирования к основным типам данных относят типы данных для хранения чисел (целочисленный тип, вещественный тип) и символов.
В языке С++ определено семь основных типов данных: шесть - для представления целых, вещественных, символьных и логических величин и один специальный тип void. Для описания шести основных определены следующие ключевые слова:
int –целый,
char, wchar_t – символьные,
float, double – вещественные,
bool – логический.
Кроме того, существуют четыре спецификатора, уточняющих внутренне представление и диапазон значений стандартных типов:
short - короткий,
long - длинный,
signed - знаковый (старший бит интерпретируется как знаковый, 0 – положительное, 1-отрицательное),
unsigned - беззнаковый.
Целые, символьные и вещественные типы называют также арифметическими типами.
Примеры описания переменных:
int a,b;//две переменные целого типа
float summa;// переменная вещественного типа
Рассмотрим основные типы подробнее.
Под переменнуюцелого типа (int) отводится 2 или 4 байта (для 16-разрядного и 32-разрядного процессор соответственно). short int – 2 байта, long int – 4 байта. Константам приписывается тип в соответствии с их видом. По умолчанию целые константы интерпретируются как short и signed. Для изменения этой трактовки можно использовать суффиксы – L,l,U,u. Например, 8L, 71u.
Символьный тип (char)– 1 байт. (Для wchar_t – зависит от реализации, обычно 2 байта).
Рассмотрим внутреннее представление диапазон значений на примере типа char.
Самое маленькое беззнаковое число длиной в один байт 00000000 2 =0
Самое большое беззнаковое число длиной в один байт 11111111 2 =255.
Следовательно, тип беззнаковый тип char позволяет хранить 256 различных символа с кодами от 0 до 255.
Самое маленькое положительное число длиной в один байт 00000000 2 =0
Самое большое положительное число длиной в один байт 01111111 2 =127
Самое большое отрицательное число длиной в один байт 11111111 2 =-1
Самое маленькое отрицательное число длиной в один байт 10000000 2 =-128
Напомним, что для получения абсолютного значения отрицательного числа его инвертируют, то есть заменяют 0 на 1, 1 на 0 и добавляют единицу. Например, отрицательное число 10000000. Инвертируем – 01111111. Прибавляем 1
Следовательно, тип знаковый тип char позволяет хранить 256 различных символа с кодами от -128 до 127.
Логический тип (bool) - 1 байт. Значение величин этого типа либо истина (true или 1 ), либо ложь (false или 0 ). Любое нулевое значение интерпретируется как ложь, любое ненулевое -как истина.
Вещественный тип (float, double, long double). Внутренне представление вещественных величин состоит из двух вещей – мантиссы и порядка. Например 148,35 можно представать как 1,4835*10 2 , где 1,4835 – мантисса, 2- порядок. Мантисса >1 и < 2. Длинна мантиссы определяет точность числа, а длина порядка его диапазон. Для float отводится 4 байта = 1 знак + 8 порядок + 23 мантисса). Так как старшая цифра мантиссы =1, то она не хранится. Для double отводится 8 байт = 1 знак+11 порядок+52 мантисса. Константы вещественного типа по умолчанию имеют тип double. Для его изменения можно использовать суффиксы F,f,L,l.
Тип void – это специальный тип, множество значений этого типа пусто. Он не используется при описании переменных.
Кроме того, использую спецификатор typedef можно вводить удобные описания для сложных типов. Например,
typedef unsigned char UC;
UC symbol; // symbol это переменная типа UC, то есть беззнаковая символьная
Продолжим рассматривать синтаксис описания переменных:
[класс памяти]тип имя1 [иницал._выражение1], имя2 [иницал._выражение2],…;
Для того чтобы понять, что такое класс памяти введем несколько определений.
Каждый программный объект в частности переменная характеризуется такими параметрами как
Область действия;
Область видимости;
Время жизни (продолжительность существования).
Область действия - это часть программы, в которой идентификатор может быть использован для доступа к переменной. Если переменная описана внутри блока, то она называется локальной и область ее действия от точки описания и до конца блока. Если переменная описана вне блока, то переменная называется глобальной и область ее действия – от точки описания и до конца файла.
Область видимости - это часть программы, из которой возможен обычный доступ к переменной. Чаще всего область видимости совпадает с областью действия, но бывают исключение - если во вложенных блоках используются переменные с одинаковыми имена (внешняя переменная в этом случае невидима).
#include