Основные объекты и приемы управления WINDOWS. Виды представлений Операции с файлами и папками

Основным понятием ООП и элементом программы является объект, сочетающий в себе как совокупность данных, так и действий над ними. Тип-объект в Т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;

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

Если прошлый перцептивный опыт лежит в основе представлений, то основная классификация представлений строится на основе классификации видов ощущения и восприятия. Исходя из этого, выделяют такие виды представлений:

  • Зрительные представления;
  • Слуховые представления;
  • Двигательные представления;
  • Осязательные представления;
  • Обонятельные представления;
  • Вкусовые представления;
  • Температурные представления;
  • Органические представления.

Это не единичный подход к классификации представлений, так, например, Б.М. Теплов считает, что классификацию представлений можно представить по таким признакам:

  1. По содержанию. В этом плане можно выделить представления математические, географические, технические, музыкальные и др.
  2. По степени обобщенности. Здесь можно говорить о частных и общих представлениях;
  3. По степени проявления волевых усилий – непроизвольные и произвольные представления. Классификация представлений по Б.М. Теплову показана на схеме.

Зрительные представления

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

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

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

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

Слуховые представления

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

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

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

Двигательные представления

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

Материальной основой двигательных представлений выступают слабые двигательные ощущения.

Двигательные представления можно разделить на группы:

  • Представления о движении всего тела;
  • Представления о движении отдельных частей. Как правило, эти представления являются результатом слияния двигательных ощущений со зрительными образами;
  • Речевые двигательные представления. Эти представления есть результат слияния рече-двигательных ощущений со слуховыми образами слов.

Два первых вида по-другому называют зрительно-двигательными, третий вид – слухо-двигательным. Более сложными являются представления о движении всего тела, в сравнении с отдельными частями тела.

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

Пространственно-временные представления

В отдельную группу были выделены пространственно-временные представления. Это объясняется тем, что в них ясно представляются пространственная форма и размещение объектов, изменения формы и размещения во времени. При этом представлении объекты могут быть представлены схематично и бесцветно, поэтому понятие «зрительный образ» к ним неприменим. Назвать их можно «схематичные представления».

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

При изучении физико-технических дисциплин пространственно-временные представления тоже очень важны. Физики-теоретики оперируют именно пространственно-временными представлениями. Различают плоские и трехмерные пространственные представления.

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

Тема 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

{ cout<

cout <

cout <<::a;

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

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

Класс памяти определяет размещение объектов в памяти, продолжительность существования и область действия переменной. Для его задания используются следующие спецификаторы:

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

extern - внешняя переменная означает, что переменная определяется в другом месте программы (другом файле или ниже), доступны во всех модулях программы, где они описаны;

static – статическая переменная. Время жизни постоянное. Могут быть и локальными и глобальными. При этом глобальная статическая переменная может использоваться только в пределах того модуля, где она определена.

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

Если класс не указан явно, то определяется компилятором исходя из контекста описания переменной.

Инициал._выражение – необязательный инициализатор, определяющий начальное значение соответствующего объекта.

Синтаксис инициализатора переменной:

Инициал._выражение

(инициал._выражение).

Например,

int a=10, c(11);

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

Например,

char sim=0x61; cout<

bool f=10; cout<

Кроме того, можно преобразовать типы явным образом:

(имя типа, к которому преобразуем) имя переменной

имя типа, к которому преобразуем (имя переменной).

Например,

char ch=’a’;

cout << (int) ch; или cout << int (ch);// на экране появится ASCII-кода символа a

Использовать допустимые неявные преобразования типов необходимо с большой осторожностью.

Необязательный модификатор const показывает, что значение переменной изменять нельзя. Если в описании указан модификатор const, то наличие инициализирующего выражения обязательно. То есть, недопустима запись const int a;

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

Содержит спецификатор extern;

Описывает имя типа, вводимого пользователем;

Описывает прототип функции;

Описывает имя класса;

Описывает статический компонент класса.

На основе основных типов можно ввести производные типы : ссылки, указатели, перечисления, массивы, функции, структуры, объединения, классы. Указатели, ссылки и перечисления, наряду с арифметическими типами и логическим относят к скалярным, а остальные к структурированным.

Основными объектами 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.



error: Контент защищен !!