АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Double x; // определяется вещественная переменная x

Читайте также:
  1. DOUBLE TROUBLE FOR TWO OF A KIND
  2. Doublet (linguistics)
  3. Etymological doublets
  4. ETYMOLOGICAL DOUBLETS
  5. Etymological doublets.
  6. Etymology. The role of native and borrowed elements. Etymological doublets.
  7. IV. Les doublets.
  8. John Lennon’80 – Double Fantasy – Geffen – Japan – 2500 (obi, inner, insert)
  9. В каком порядке определяется размер среднего заработка для оплаты четырех дополнительных выходных дней по уходу за ребенком-инвалидом до достижения им возраста до 18 лет?
  10. В случае невозможности выражения социальных показателей в денежной форме, значение их определяется на основе экспертных оценок.
  11. Валентность определяется как число электронных пар, которыми данный атом связан с другими атомами.

double& y=x; // y – альтернативное имя для x

В данном примере имена x и y ссылаются на одно и то же значение в памяти, а потому изменение y равносильно изменению x и наоборот.

Использование ссылок позволяет применять более простую форму параметров при вызове функции по ссылке, когда аргументы применяются напрямую без разыменования.

 


 


3.Охарактеризуйте базовые инструкции языка программирования С++.

Инструкции выбора в языке C++. В языке С++ такие понятия как операторы безусловного перехода (типа goto), ветвления (типа if), организации циклов (типа for, while) принято называть инструкциями. Объявления разрешается помещать в любом месте, где допустима инструкция и, кроме того, можно их размещать в условиях и в for- инструкциях.Для организации ветвлений в языке предусмотрены инструкции выбора if и switch. Составная инструкция – это последовательность инструкций, заключенных в фигурные скобки { и }. В инструкции switch ( условие ) инструкция обычно используется составная инструкция, содержащая метки case и необязательную метку default. Каждая метка case должна быть уникальна.Обычно действие, выполняемое после каждой метки case, заканчивается инструкций break. Если break отсутствует, то управление передается или следующей инструкции, идущей за очередным case, или default. В языке С++ Для организации циклов предусмотрены инструкции трех видов: while; do while; for. Если перед выполнением цикла предварительно проверяется условие, то цикл называется “ цикл с предусловием ”. Отличительной чертой такого цикла является то, что он может ни разу не выполняться.Инструкция do представляет собой вариант инструкции while. Однако вместо проверки логического условия в начале цикла, в инструкции do она производится в конце. Отсюда очевидно, что цикл do выполняется хотя бы один раз, тогда как цикл while может ни разу не выполняться.Правила выполнения цикла for (инициализир_инструкция [условие]; [выражение]). В языке С++ имеются инструкции break и continue. Инструкция break может встречаться только внутри тела циклов for, while, do или внутри инструкции switch. Она прерывает выполнение соответствующей инструкции и передает управление следующей в программе.Инструкция continue вызывает остановку выполнения очередного шага цикла и производит переход на начало очередного (следующего) шага цикла. Continue может использоваться только внутри инструкций for, while или do. В языке С++ имеется инструкция безусловного перехода goto метка; Меткой в языке является идентификатор.Инструкция return передает управление обратно в вызывающую функцию, либо если она размещена внутри функции main, то управление передается операционной системе.


4. Объясните назначение и механизм использования функций в языке С++

Функция – подпрограмма, которая осуществляет обработку данных и может возвращать некоторое значение. Любая программа на С++ обязательно содержит функцию со стандартным именем main. Эта функция вызывается ОС при запуске программы, а при завершении выполнения программы функция main возвращает управление операционной системе.

В С++ функции подразделяют на два вида: 1) встроенные, которые являются составной частью компилятора и поставляются вместе с ним; 2) нестандартные, которые разрабатываются самим программистом. Перед использованием функции в программе требуется сначала объявить ее, а затем и определить. При объявлении функции компилятору сообщается тип возвращаемого функцией значения, ее имя и список параметров.

Объявление функции можно реализовать с помощью так называемого прототипа функции, который состоит из типа возвращаемого значения функции и сигнатуры. В свою очередь под сигнатурой функции подразумевается ее имя и список формальных параметров. Таким образом, прототип функции имеет синтаксис: тип имя_ функции ([список_формальных_параметров]);

Список формальных параметров может быть пустым, содержать одно или несколько объявлений параметра, разделенных запятыми. Если функция параметров не имеет, то вместо списка формальных параметров разрешается использовать ключевое слово void. При записи объявления параметра можно указать тип параметра и его имя или можно ограничиться только типом, например: double max (double x, double y);

double max (double, double);

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

заголовок функции

{

инструкции тела функции;

}

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

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

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


5. Объектно-ориентированный анализ и объектно-ориентированное проектирование.

Сложность вызывается четырьмя основными причинами:

1.сложностью реальной предметной области;

2.трудностью управления процессом разработки;

3.необходимостью обеспечить достаточную гибкость программы;

4.неудовлетворит. способами описания поведения больших дискретных систем.

Признаки:1. Принцип иерархичности. Сложные системы часто являются иерархическими и состоят из взаимозависимых подсистем, которые в свою очередь также могут быть разделены на подсистемы, и т.д., вплоть до самого низкого уровням. 2.Принцип детальности. Выбор, какие компоненты в данной системе считаются элементарными, относительно произволен и в большой степени оставляется на усмотрение исследователя. 3.Принцип модульности. Внутрикомпонентная связь обычно сильнее, чем связь между компонентами. 4.Принцип экономности. Иерархические системы обычно состоят из немногих типов подсистем, по-разному скомбинированных и организованных. 5.Принцип эволюции. Любая работающая сложная система является результатом развития работавшей более простой системы.

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

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

Если Абстрагирование фокусирует внимание на внешних особенностях объекта, то Инкапсуляция не позволяет различать внутреннее устройство объекта.

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

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

Иерархия - это упорядочение абстракций, расположение их по уровням. Основными видами иерархических структур применительно к сложным системам являются структура классов (иерархия «is-a») и структура объектов (иерархия «part of»). Наследование - это такое соотношение между классами, когда один класс использует структурную или функциональную часть одного или нескольких других классов (соответственно простое или множественное наследование). Если иерархия «is а» определяет отношение «обоб-щение/специализация», то отношение «part of» (часть) вводит иерархию агрегации.

Типизация — это способ защититься от использования объектов одного класса вместо другого, или по крайней мере управлять таким использованием

Параллелизм - свойство объектов находиться в активном, либо пассивном состоянии.

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

Понятие интерфейса можно представить в виде формулы:

Интерфейс = Объект – Реализация. По форме объявления интерфейсы похожи на обычные классы, но в отличие от классов: интерфейсы не могут содержать поля; интерфейсы не могут содержать конструкторы и деструкторы; все атрибуты интерфейсов являются общедоступными.

 


6. Объясните основные архитектурные особенности ОС Windows XP/Vista

ОС Windows NT имеет модульную структуру. Это означает, что она состоит из четко разделяемых компонентов, каждый из которых отвечает строго за свои функции. Структурно ОС Windows NT может быть представлена в виде двух частей: 1. Режим пользователя, 2. Режим ядра. Часть Windows NT, работающая в режиме ядра, называется Executive - исполнительной частью. Включает ряд компонентов, которые управляют виртуальной памятью, ресурсами, вводом-выводом и файловой системой, взаимодействием процессов и частично системой безопасности. Режим ядра представляет собой привилегированный режим. Код, выполняющийся в режиме ядра, имеет прямой доступ ко всем аппаратным средствам и всей памяти, включая адресные пространства всех процессов режима пользователя. В состав модуля Executive входят такие компоненты, как Уровень аппаратных абстракций (Hardware Abstraction Level, HAL), ядро системы, а также сервисные модули Windows NT Executive.

Уровень аппаратных абстракций (HAL) - библиотека работающих в режиме ядра процедур управления аппаратными средствами. HAL располагается на самом низком уровне исполняющей системы Windows NT между аппаратными средствами и остальными частями операционной системы. Этот уровень скрывает особенности аппаратных платформ от верхних уровней операционной системы (такие детали, как контроллеры прерываний, интерфейсы ввода/вывода и механизмы взаимодействия между процессорами) - позволяет легко переносить Windows NT с одной платформы на другую путем замены только слоя HAL, который устанавливается на этапе инсталляции операционной системы. Процедуры HAL вызываются другими компонентами исполняющей системы Windows NT. Режим ядра собой различные модули, выполняющие определенные задачи, драйвера ядра, само ядро и уровень аппаратных абстракций HAL. Роль ядра заключается в том, чтобы обеспечить оптимальную загрузку всех процессоров и наилучшую производительность системы. Для этого ядро осуществляет диспетчеризацию нитей в соответствии с их приоритетами. Cлужбы (Executives), которые работают в режиме ядра, делятся на: 1. Исполнительная подсистема, 2. Менеджер объектов.
1. Исполнительная подсистема -работает с вводом\выводом, менеджером объектов, управлением над процессами и безопасностью. Неофициально делится на несколько подсистем — менеджер кэша, менеджер конфигурации, менеджер ввода\вывода, вызов локальных процедур, менеджер памяти, монитор безопасности. Системные службы, то есть системные вызовы реализованы на этом уровне, которые вызывают непосредственно ядро для большей производительности. 2. Менеджер объектов - исполнительная подсистема, к которой обращаются все остальные модули исполнительной подсистемы, в частности системные вызовы, когда им необходимо получить доступ к ресурсам Windows NT. Служит для уменьшения дублирования объектов, что может привести к ошибкам в работе системы. Для менеджера объектов каждый ресурс системы является объектом. Если инициализация объекта успешна, то подсистема заставляет менеджер объектов произвести вставку объекта — то есть сделать его доступным по своему имени или дескриптору. Режим пользователя состоит из подсистем, которые передают запросы ввода\вывода соответствующему драйверу режима ядра посредством менеджера Ввода-вывода. Уровень пользователя состоит из: 1. Подсистема окружения. 2. Интегральная подсистема. Подсистема окружения - запуск приложений, написанных для разных типов операционных систем. Ни одна из подсистем окружения не имеет прямого доступа к аппаратной части компьютера. Доступ к ресурсам памяти происходит посредством Менеджера Виртуальной Памяти, который работает в режиме ядра. Также, приложения запускаются с меньшим приоритетом, чем процессы режима ядра.

Интегрированная подсистема следит за некоторыми функциями ОС от имени подсистемы окружения. Состоит из подсистемы безопасности, службы рабочей станции и службы сервера. Служба безопасности обращается с маркерами доступа, позволяет или запрещает доступ к учетной записи пользователя, обрабатывает запросы авторизации и инициирует процесс входа пользователя в систему. Службы ОС Windows – приложения, автоматически (если настроено) запускаемые системой при запуске Windows и выполняющиеся вне зависимости от статуса пользователя. Имеет общие черты с концепцией демонов в Unix. Службы Windows по умолчанию запускаются от имени пользователя «LocalSystem», который обладает полными правами в системе (превосходящими права даже учётной записи «Administrator»). Список служб операционных систем Microsoft Windows (часть): DHCP-клиент, DNS-клиент, Windows Audio, Автоматическое обновление.

7. Классифицируйте операционные системы.

ОС управляет всеми устройствами компьютерной системы и обеспечивает пользователя удобным интерфейсом для работы с аппаратурой. Основные функции (назначение) ОС: 1. предоставлять пользователю некую расширенную виртуальную машину, с которой легче работать, чем непосредственно с аппаратурой реального компьютера или реальной сети; 2. управлять ресурсами вычислительной системы.

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

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

По числу одновременно работающих пользователей: однопользовательские (MS-DOS, Windows 3.x, ранние OS/2); многопользовательские (UNIX, Windows NT). Реализации многозадачности можно выделить две группы алгоритмов: невытесняющая многозадачность (NetWare,); (активный процесс), вытесняющая многозадачность (Windows NT, OS/2, UNIX)(ОС).

По способу организации вычислительного процесса: Асимметричная ОС (выполняется только на одном из процессоров системы), Симметричная ОС (использует все процессоры). Особенности аппаратных платформ: ПК, мини-компьютеров, мейнфреймов, кластеров и сетей ЭВМ.

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

2) системы разделения времени (UNIX, VMS) - каждой задаче выделяется только квант процессорного времени, ни одна задача не занимает процессор надолго, и время ответа оказывается приемлемым.

3) системы реального времени (QNX, RT/11) - для управления различными техническими объектами. Сущ. предельно допустимое время, в течение которого д.б. выполнена та или иная программа.

Принципы построения ОС. 1. Принцип модульности. Модуль – функционально законченный элемент системы, выполненный в соответствии с принятыми межмодульными интерфейсами.
2. Принцип функциональной избирательности. В ОС выделяют некоторую часть важных модулей, которые должны постоянно находиться в ОП для более эффективной организации вычислительного процесса. Эту часть ОС называют ядром.
3. Принцип генерируемости. Способ, который позволял бы настраивать эту системную супервизорную часть исходя из конкретной конфигурации конкретного вычислительного комплекса и круга решаемых задач. 4. Принцип функциональной избыточности. Учитывает возможность проведения одной и той же работы различными средствами. 5. Принцип виртуализации. 6. Принцип независимости программ от внешних устройств. 7. Принцип совместимости. Одним из аспектов совместимости является особенность ОС выполнять программы, написанные для других ОС или для более ранних версий данной ОС, а также для другой аппаратной платформы. 8. Принцип открытой и наращиваемой ОС. 9. Принцип мобильности (переносимости). ОС относительно легко должна переноситься с процессора одного типа на процессор другого типа и с аппаратной платформы одного типа на аппаратную платформу другого типа. 10. Принцип обеспечения безопасности вычислений. Обеспечение безопасности обязательно для любой многопользовательской системы.

Способы построения ядра ОС – монолитные - (Windows, Linux – можем сами собрать ядро, включив в него модули и драйверы, кот. считаем целесообразным включить); микроядерные (QNX) - на базе микроядра, работающего также в привилегированном режиме и выполняющего только мин. функций по управлению аппаратурой.

Архитектура ОС. Под архитектурой ОС обычно понимают структурную организацию ОС на основе программных модулей. Наиболее общим подходом к структуризации ОС является подразделение модулей две группы: модули, выполняющие основные функции ОС – ядро ОС (управление процессами, памятью, устройствами ввода-вывода); и вспомогательные модули.

Сетевые ОС. Рассматривается как набор ОС отдельных компьютеров, составляющих сеть, причем на разных компьютерах сети могут выполняться одинаковые или разные ОС.

8. Объясните архитектурные особенности операционной системы Unix.

Три уровня ОС UNIX: 1. Монолитное ядро; 2. Системные утилиты и демоны; 3. Пользовательское ПО.

Уровни доступа: 1. Системный (ядро и службы); 2. Пользователский.

Два основных объекта ОС UNIX:
1. Файлы (инф. пользов., устройства, интерфейс взаимодействия между процессами).
2. Процессы (выполнение задач ОС и пользователей, код и данные программ).

Процесс в ОС UNIX – программа, выполняемая в собственном виртуальном адресном пространстве. Пользователь входит в систему и автоматически создается процесс, в котором выполняется программа командного интерпретатора. С каждым процессом связывается его адресное пространство, из которого он может читать и в которое он может писать данные. Адресное пространство содержит: саму прогр., данные к прогр., стек программы. В ядре системы находится таблица процессов, каждая запись которой описывает состояние одного из активных процессов в системе. Запись в таблице процессов состоит: Поле состояния, PID, Дескриптор события, Параметры ввода-вывода, Таблица пользов. дескрипторов файла и др. Особые Типы процессов: системные ( часть ядра, всегда расположены в ОП, запускаются при инициализации ядра ), процессы-демоны ( запускаются при инициализации системы (в фоновом реж.,) после инициализации ядра и обесп. работу подсистем UNIX: системы терминального доступа, системы печати и т.д .) и прикладные процессы (порожденные в рамках пользовательского сеанса работы). Все процессы в UNIX связаны отношениями процесс-родитель – процесс-ребенок и образуют генеалогическое дерево процессов.

Управление памятью – функция отображения неограниченной виртуальной памяти процессов в физическую ОП компьютера, которая имеет ограниченные размеры. 1)Статическое распределение – процеcc должен поместиться в осн. памяти, и система принимает к обслуж. доп. пользов. проц. до тех пор, пока все они помещаются в основн. памяти. 2) Простой свопинг (swap) – каждый проц. располагается в осн. памяти целиком, но иногда сбрасывает образ некоторого процесса из осн. памяти во внешнюю память и заменяет его образом некот. др. проц. 3)Смешанные стратегии. Виртуальная память — схема адресации памяти компьютера, при которой память представляется ПО непрер. и однородн., в то время как в реальности для фактического хранения данных использ. отдельные области различных видов памяти(ОП, HDD). Применение механизма виртуальной памяти позволяет: упростить адресацию памяти; рационально управлять ОП; изолировать процессы. Все файлы пользователей располагаются в файловой системе, представляющей собой дерево, промежуточные вершины которого соответствуют каталогам, и листья – файлам и пустым каталогам. На каждом логическом диске располагается отдельная иерархия каталогов и файлов. Каждый каталог и файл файловой системы имеет уникальное полное имя. Особенности:
1. Файлу соответствует индексный узел с метаданными. Каталог – это файл, содержащий связь между индексами и именами файлов.

2. Суперблок содержит общую информацию о ФС и указывает на вершину дерева индексных узлов. 3. Спец. Виды файлов: файлы устройств – для взаимодействия с драйверами; символические ссылки; именованные каналы, сокеты.

Программный канал – одно из наиболее традиционных средств межпроцессных взаимодействий в UNIX. Основной принцип работы прогр. канала состоит в буферизации байтового вывода одного процесса и обеспеч. возможн. чтения содерж. программного канала другим процессом в режиме FIFO. Интерфейс программного канала совпадает с интерфейсом файла.

При запуске ОС, чтобы начать работать, пользователь должен ввести с терминала или GUI имя учетки/пароль => зарегистрированным пользователем сист. Регистрацию новых пользователей выполняет админ системы. Польз. не может изменить учетное имя, но может установ. и/или изменить свой пароль. Пароли хранятся в отдельном файле в закодированном виде.

Bash это командный процессор Unix. sh является удобным интерпретируемым языком программирования. Он содержит стандартные конструкции для циклов, ветвления, объявления функций. Отличительная особенность языка sh — многие операции, которые в традиц. языках программир. являются встроенными – выполн. с помощью вызова внешних программ.

9. Проанализируйте структурную схему персонального компьютера, архитектурные свойства и принципы микропроцессоров.

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

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

Подключение всех внешних устройств: клавиатуры, монитора, внешних ЗУ, мыши, принтера и т.д. обеспечивается через контроллеры, адаптеры, карты.

Контроллеры, адаптеры или карты имеют свой процессор и свою память, т.е. представляют собой специализированный процессор.

Микропроцессор (МП) — центральный блок ПК, предназначенный

для управления работой всех блоков машины и для выполнения

арифметических и логических операций над информацией.

Системная шина — основная интерфейсная система компьютера,

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

Архитектурные особенности современных м-ссов. Суперскалярная архитектура – это способность выполнения нескольких машинных инструкций за один такт процессора. КОНВЕЙЕР – устройство, реализующее такой метод обработки команд, при котором исполнение разбивается на несколько этапов(выборка команды; декодирование команды; генерация адреса; выполнение операции) Микропроц. (МП) с одним конвейером называется – скалярными, более одного – суперскалярными. В совр. МП – раздельное кэширование кода и данных. Кэширование – способ увеличения быстродействия системы за счет хранения часто используемых данных и кодов в «кэш-памяти 1-го уровня», находящейся внутри микропроцессора.

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

Многоядерные микропроцессоры – каждое ядро имеет свой кэш, поэтому операционная система имеет достаточно ресурсов для параллельного выполнения задач, требующих большой вычислительной мощности. Один процессор содержит 2 или больше вычислительных ядер. Вычислительная работа распределена. Микропроцессор аппаратно поддерживает следующие основные типы данных: байт(8бит); слово (2 байта); двойное слово; учетверен-ное слово. Программными средств. обрабатываются данные, представленные целыми и вещ. числами, а также символами. Из этих типов данных строятся структурированные типы: массивы, множества, строки символов, записи и др. Регисты (СОЗУ сверхбыстрая память) – служат для хранения промежуточных результатов вычислений(общего назначения) или содержат данные необх. для раб. процессора. К пользовательским регистрам относятся: 1) регистры общего назначения(для хранения данных и адресов) eax(ax/ ah|al); ebx; edx; ecx; esi; edi; ebp; esp. 2)регистры сегментов: cs,ds,ss,es,fs,gs. 3)регистр состояния (регистр флагов) eflags/flags. 4)регистр управления (регистр указателя команды) eip –cодержит смещение следующей подлежащей выполнению команды относительно текущего сегмента кода.

Eax - для хранения промежуточных данных. ebx - для хранения базового адреса некоторого объекта в памяти. ecx - в командах, производящих некоторые повторяющиеся действия. edx - для хранения промежуточных данных. esi и edi - для поддержки операций, производящих последовательную обработку цепочек элементов. Esp содержит указатель вершины стека в текущем сегменте стека. Ebp предназначен для организации произвольного доступа к данным внутри стека. cs – адрес сегмент кода, адр. след. команды cs:ip, ds – адрес сегм. данных, ss – содержит адрес сегмента стека. es, gs, fs - дополнительные сегментные регистры данных.

Системные: cr0,cr1,cr2,cr3 / дескрипторн.табл. – gdtr, ldtr,idtr,tr / отладки – dr0,dr1,dr2,dr3 сост.управл.отладкой– dr6,dr7

10. Классифицируйте режимы работы микропроцессора. Объясните организацию оперативной памяти и систему прерываний.

Режимы работы: Реальный режим (РР). Это р-м работы первых 16-битных микропроцессоров (мп-ов). Наличие его обусл-но тем, что необх-мо обеспечить в новых моделях мп-ов функц-ние прог, разраб. для старых моделей. 1. объем адресуемой памяти - 1 Мб(2^20) 2. выполнение всего 1 прогр. 3. сегментированная модель памяти. 4. адрес сег-та в одном из сегментных регистров 5. отсутствуют аппаратные ср-ва контроля доступа к сег-ту. Для определения физ-го адреса команды содержимое сегментного рег-ра CS *ся на 16 (0000), после чего к полученному знач-ю +ся содержимое указателя команд (регистр IP).

Защищенный р-м (ЗР). Создан для работы нескольких независимых прогр. П-ть–сегментированная. Любой сегмент описывается дескриптором с-нта (8байт) и содержит сл-щие атрибуты: расположение с-та в памяти; размер с-та; уровень привилегий; тип доступа – определяет назначение сегмента; и другие. Все дескр. собираются вместе в одну из 3 дескр-ых таблиц(gdtr,ldtr,idtr). В какую именно опред. его назначением. Адрес хранится в системном регистре. Адреса задаются 32-bit знач-ми. Возможна страничная трансляция адресов. Системные регистры мп-ра. Эти р-ры обеспечивают работу ЗР. Системные регистры можно разделить на три группы: 4 регистра управления(cr0..cr3); 4 р-ра системных адресов(gdtr, ldtr, idtr, tr);8 ре-ов отладки(dr0..dr7).

Р-м виртуального 8086. – если мп-ор уже находится в ЗР.

Сегментированную(СМП) и страничную модель (СтМП).

Понятие о СМП. Память для проги делится на непрер. области - сегменты ( логические элементы прогр.). С-т пр.собой независимый, поддерж-ый на аппаратном уровне блок памяти.Сама прогр. может обращаться только к данным, к-ые нах-ся в этих С-ах. В РеалРеж адреса помещ-ся непоср-но в сегментные регистры (cs, ds, ss, es, gs, fs); в ЗащРеж - в специальную системную дескрипторную таблицу. Адрес каждой т-цы записывается в спец. системный регистр). Дескр-ные т-цы. Микр.пр аппаратно поддерживает 3 типа дескрип-х таблиц: 1. глобальная деск-ная т-ца; 2. локальная; 3. т-ца дескрипторов прерываний(idtr). Для обращ. к физ. адр – Segment:offset. Понятие о СтМП ( надстройка сегментной ). ОП делится на блоки фиксированного размера 4 Кб. ¥ такой блок н-ся страницей. Исп-тся механизм виртуальной памяти. Суть - у мп-ра сущ-ет возможность по обмену стр-ми памяти с жестким диском – редко используемые стр-цы п-ти записываются на жесткий диск в специальный файл виртуальной памяти (swap-файл). память разбивается на физические страницы, а программа - на виртуальные страницы. Отображение виртуального адресного пространства задачи на физическую память осущ-ся с помощью таблицы страниц. Контроль уровня доступа к каждой стр. (Read, RW, EX).Только в защю режиме. Сегментно-страничный способ распр-я п-ти.Прога разбивается на сегменты(сегм на страницы). Адрес, по-прежнему, состоит из двух частей - сегмент + смещение. Плоская модель памяти Задача состоит из одного сегмента, к-ый разбит на страницы, то есть получ. один страничный механизм работы с вирт. памятью.

Прерывание означает временное прекращение основного процесса вычислений для выполнения некоторых запланированных/незапл. действий. В зависимости от источника делятся на аппаратные; программные; исключения. Общая классификация: внешние - вызываются внешними по отношению к микропроцессору событиями; внутренние - возникают внутри мп-ра во время вычислительного процесса. Обработка прерывания в РР:1) прекращение выполнения текущей программы; 2) переход к выполнению и выполнение программы обработки прерывания; 3) возврат управления прерванной программе.


 

11. Охарактеризуйте становление веб-программирования в историческом и технологическом аспекте.

Веб-приложение — клиент-серверное приложение, в котором клиентом выступает браузер, а сервером — веб-сервер. Хранение данных осуществляется, преим-но, на сервере, обмен инф-й происходит по сети. Преимущество - независимость от конкретной ОС пользователя => веб-приложения являются межплатформенными сервисами. Клиентская часть – польз-й интерфейс, формирует запросы к серверу, обрабатывает ответ. Серверная часть - получает запрос от клиента, вычисления, формирует веб-страницу и отправляет её клиенту (HTTP). Основной принцип «к.-с.» - разделение функций приложения на 4 группы: функции ввода и отображения данных; прикладные функции, характерные для предметной области; фундаментальные функции хранения и управления ресурсами (БД); служебные функции. Исходя из этого, любое приложение может состоять из следующих компонентов: компонент представления (ф-ии 1й группы); прикладной компонент (ф-ии 2й гр.); компонент доступа к инф. ресурсам (функции 3й гр. и протокол их взаимодействия). Для создания веб-приложений на стороне сервера используются разнообразные технологии и языки прогр-ия, способные осуществлять вывод в стандартную консоль: ASP, ASP.NET, C/C++, Java, Perl, PHP, Python, Ruby, Nodejs. На стороне клиента: Для реализации GUI: HTML, XHTML;CSS. Для форм-ия и обработки запросов, создания интерактивного и независимого от браузера интерфейса: ActiveX, Adobe Flash, Adobe Flex, Java, JavaScript, Silverlight. Наиболее известные протоколы, используемые в сети Интернет: HTTP (Hyper Text Transfer Protocol). Используется при пересылке Web-страниц с одного компьютера на другой. FTP (File Transfer Protocol) — протокол передачи файлов со спец-го файлового сервера на компьютер польз-я. POP (Post Office Protocol) — стандартный протокол почтового соединения. Для обработки запросов на получение почты от клиентских почтовых программ. SMTP (Simple Mail Transfer Protocol) — задает набор правил для передачи почты. Сервер SMTP возвращает либо подтверждение о приеме, либо сообщение об ошибке, либо запрашивает дополнительную информацию. Telnet — протокол удаленного доступа. Дает возможность абоненту работать на любой ЭВМ сети Интернет, как на своей собственной. Веб 1.0: Статичные страницы вместо генерир-го дин-го контента; Бедная гипертекстовая разметка (пренебр. правилами HTML); фреймы; специфич. теги HTML (от WYSIWYG редакторов); Кнопки GIF; информеры (погода, курс доллара) вместо агрегации инф-ии средствами CMS; Указание конкретного разр-я экрана; редкое и непопулярное использование CSS. Веб 2.0 2004-2005: Веб-службы (программы, доступ к которым осуществляется через HTTP, обмен данными - XML /JSON, используя один из 3 распространенных архит-ых стилей проек-ия приложений: RPC, SOAP или REST. например, проверить введенный в форме почтовый адрес); AJAX (страница не перезагружается, а асинхронно загружает нужные пользователю данные); Веб-синдикация; Веб mash-up (сервис, полностью или частично исп-т в качестве источников инф-ии другие сервисы, предоставляя новую функц-сть); Метки/теги (Ключевые слова для описания, отнесения к категории); Социализация сайта (инд-е настройки, создание личной зоны, репутация). Веб 3.0 2007: узконишевые сайты (кулинарные, медицинские), социальная рекомендательная институция (автоматический принцип рекомендования), «живой поиск» (поиск по ключевым словам ведут не роботы, а живые люди, проф-лы в своих областях), мультимедийный поиск (поисковая система, поиск по содержимому видеофайлов), блоговая структура информации (ленточная подача информации, где поток идет по убыванию сверху-вниз, а метод сортировки задает пользователь). Модели Web-служб: COM/DCOM; CORBA. COM (Component Object Model) — технологический стандарт от Microsoft, для создания ПО на основе взаимо-х компонентов, каждый из которых может исп-ся во многих программах одновременно. DCOM (Distributed COM) — расширение COM для поддержки связи между объектами на различных компьютерах по сети. CORBA (Common Object Request Broker Architecture) -механизм в ПО для интеграции изолированных систем, даёт возм-ть прог-м, написанным на разных яз. прогр-я, работающих в разных узлах сети, взаим-ть друг с другом, как если бы они находились в адресном пространстве одного процесса. Стандарты и спецификации web-служб: WSDL, HTTP, SOAP, DISCO,UDDI и др. SOAP (Simple Object Access Protocol) - для обмена произвольными сообщениями в формате XML, для реализации удалённого вызова процедур (RPC). HTTP — протокол прикладного уровня передачи данных. Обмен сообщениями идёт по обыкновенной схеме «запрос-ответ». Для идентификации ресурсов HTTP использует глобальные URI.

12. Проанализируйте основные подходы к верстке веб-страниц.

Под семантической версткой подразумевается следующее:

1. Таблицы используются для табличных данных, а не для визуального позиционирования элементов.

2. Каждый элемент HTML-кода должен нести структурный смысл. Наилучший способ этого добиться — просмотреть вашу страницу с отключенным CSS. Если списки визуально остались списками, а заголовки заголовками, то вы уже близки к семантике, к которой следует стремиться любому профессиональному верстальщику.

3. Разрабатываемый вами код соответствует стандартам (X)HTML и CSS. Семантика невозможна без валидности.

XML (Extensible Markup Language) - это SGML-производный язык разметки документов, позволяющий структурировать информацию разного типа, используя для этого произвольный набор инструкций.

Язык схем DTD (DTD schema language) — язык, который используется для записи фактических синтаксических правил метаязыков разметки текста SGML и XML. С момента его внедрения другие языки схем для спецификаций, такие как XML Schema, выпускаются с дополнительной функциональностью.

DTD описывает схему документа для конкретного языка разметки посредством набора объявлений (объектов-параметров, элементов и атрибутов), которые описывают его класс (или тип) с точки зрения синтаксических ограничений этого документа. Также DTD может объявлять конструкции, которые всегда необходимы для определения структуры документа, но, зато, могут влиять на интерпретацию определённых документов.

XML Schema — язык описания структуры XML-документа. Спецификация XML Schema является рекомендацией W3C.

Как большинство языков описания XML, XML Schema была задумана для определения правил, которым должен подчиняться документ. Но, в отличие от других языков, XML Schema была разработана так, чтобы её можно было использовать в создании программного обеспечения для обработки документов XML.

После проверки документа на соответствие XML Schema читающая программа может создать модель данных документа, которая включает:

· словарь (названия элементов и атрибутов);

· модель содержания (отношения между элементами и атрибутами и их структура);

· типы данных.

Каждый элемент в этой модели ассоциируется с определённым типом данных, позволяя строить в памяти объект, соответствующий структуре XML-документа.

CSS используется создателями веб-страниц для задания цветов, шрифтов, расположения отдельных блоков и других аспектов представления внешнего вида этих веб-страниц. Основной целью разработки CSS являлось разделение описания логической структуры веб-страницы (которое производится с помощью HTML или других языков разметки). от описания внешнего вида этой веб-страницы (которое теперь производится с помощью формального языка CSS). Такое разделение может увеличить доступность документа, предоставить большую гибкость и возможность управления его представлением, а также уменьшить сложность и повторяемость в структурном содержимом. Кроме того, CSS позволяет представлять один и тот же документ в различных стилях или методах вывода, таких как экранное представление, печатное представление, чтение голосом (специальным голосовым браузером или программой чтения с экрана).


 

13. Объясните принципы декларативного стиля программирования.

Лог. прогр. — парадигма програм-ния, основанная на автоматическом доказательстве теорем, а также раздел дискретной математики, изучающий принципы логического вывода информации на основе заданных фактов и правил вывода. Prolog - язык прогр-ия, используемый для решения задач, в которых действуют объекты и отношения между этими объектами. Программа на Prolog'е состоит из неск секций (необязательных): DOMAINS - секция описания доменов (типов). Применяется, если в программе используются нестанд. домены. PREDICATES - секция описания предикатов. Применяется, если в программе используются нестанд предикаты. CLAUSES - секция предложений. Записываются предложения: факты и правила вывода. GOAL - секция цели. Записывается внутренний запрос. Стоит различать два уровня смысла программы на Прологе: декларативный и процедурный. Декларативный касается отношений, определенных в программе. Декл-ый смысл определяет, что должно быть результатом работы программы. Процедурный смысл определяет еще и как этот результат был получен, т. е. как отношения реально обрабатываются пролог - системой. Программа на прологе состоит из предложений 3 видов: факты, правила, запросы. Все предложения строятся из термов, синтаксических единиц. Константы - поименованные конкретные объекты или отношения. Переменные - для обозначения объектов, значения которых меняются в ходе выполнения программы. Структура - это единый объект, состоящий из совокупности других объектов, наз-ых компонентами. Компоненты могут быть также структурами.Переменные могут быть свободными (у нее нет никакого значения, еще называют неконкретизированными) или связанными (есть какое-то значение и связана с опр-ым объектом). Областью действия переменной в Прологе является одно предложение. В разных предложениях может использоваться одно имя переменной для обозначения разных объектов. Исключением из правила определения области действия является анонимная переменная ("_").

Анонимная переменная применяется в случае, когда значение переменной не важно. Каждая анонимная переменная - это отдельный объект. «=» используется не как оператор приравнивания, а как оператор унифицирования.

Унификация – приведение выражений справа и слева от знака унификации к одному значению. Если в операции уни-ии участвуют 2 переменных, и каждая связана со своим значением, то выполняется их сравнение. Если одна переменная не связана, то выполняется приравнивание ей значения. А если в унификации участвуют выражения с наличием несвязанных частей, то эти части принимают значения из таких же частей другого выражения. При этом ПроЛог пытается привести оба выражения к одному значению. Примеры «приравнивание »: Goal А = 5, А = Б write(А, “,”, Б). ПроЛог выдаст на экран: 5,5. В процессе вычисления цели пролог проводит перебор вариантов, в соответствии с установленным порядком. Цели выполняются посл-но, а в случае неудачи происходит откат к предыдущей цели.

Механизм поиска с возвратом. Пролог при поиске решения задачи использует метод проб и возвращений назад, как например при поиске выхода в лабиринте; этот метод называется поиск с возвратом. Если, начиная поиск решения задачи, Пролог должен выбрать между альтернативными путями, то он ставит маркер у места ветвления (точкой отката) и выбирает первую подцель, которую и станет проверять. Если данная подцель не выполнится (тупик в лабиринте), Пролог вернется к точке отката и попробует проверить другую подцель. Основные правила поиска с возвратом: 1) Цели должны быть доказаны по порядку, слева, направо. 2) Для доказательства некоторой цели предложения просматриваются в том порядке, в каком они появляются в тексте программы. 3) Для того, чтобы доказать головную цель правила, необходимо доказать цели в теле правила. Тело правила состоит, в свою очередь из целей, которые должны быть доказаны. 4) Цель считается доказанной, если с помощью соответствующих фактов доказаны все цели, находящиеся в листьевых вершинах дерева целей.

Рекурсивная процедура - вызывающая сама себя до тех пор, пока не будет соблюдено некоторое условие, которое остановит рекурсию. Такое условие называют граничным. Рекурсия - хороший способ для решения задач, содержащих в себе подзадачу такого же типа. Пример рекурсии: найти факториал n!.


 

14. Проанализируйте задачи искусственного интеллекта.

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

Тест Тьюринга — эмпирический тест, идея была предложена Аланом Тьюрингом. Стандартная интерпретация этого теста: «Человек взаимодействует с одним компьютером и одним человеком. На основании ответов на вопросы он должен определить, с кем он разговаривает: с человеком или комп-ой программой. Задача комп-ой программы — ввести человека в заблуждение, заставив сделать неверный выбор». Все участники теста не видят друг друга. Если судья не может сказать определенно, кто из собеседников является человеком, то считается, что машина прошла тест. База знаний (knowledge base) —особого рода база данных, разработанная для оперирования знаниями (метаданными). База знаний содержит структурированную информацию, покрывающую некоторую область знаний, для использования кибернетическим устройством (или человеком) с конкретной целью. Современные БЗ работают совместно с системами поиска информации, имеют классификационную структуру и формат представления знаний. Главная цель создания таких баз — помочь менее опытным людям найти уже существующее описание способа решения какой-либо проблемы. Модели представления знаний могут быть сведены к след-им классам: Продукционная модель - основанная на правилах, позволяет представить знания в виде предложений типа "Если (условие по которому осуществляется поиск), то (действие, выполняемые при успешном исходе поиска)". Чаще всего вывод на такой базе знаний бывает прямой (от данных к поиску цели) или обратный (от цели для ее подтверждения - к данным). Семантическая сеть - это ориентированный граф, вершины - понятия, дуги - отношения между ними. Понятия - абстрактные или конкретные объекты, а отношения - связи типа: "это", "имеет частью" ("has part"), "принадлежит". Обязательно наличие 3 типов отношений: класс - элемент класса (цветок - роза); свойство - значение (цвет - желтый); пример элемента класса (роза - чайная). Наиболее часто используются отношения: связи типа " часть - целое " (" класс - подкласс ", " элемент -множество "); функциональные ("производит", "влияет"); количественные (>, <, =); пространственные (далеко от, за, под, над); временные (раньше, позже); атрибутивные связи (иметь свойство, иметь значение); логические связи (И, ИЛИ, НЕ); лингвистические связи и др. Фрейм - это абстрактный образ для представления некоего стереотипа восприятия. Различают фреймы-образцы, или прототипы, хранящиеся в базе знаний, и фреймы-экземпляры, которые создаются для отображения реальных фактических ситуаций на основе поступающих данных. Модель фрейма отображается через: фреймы- структуры - для обозначения объектов и понятий (заем, залог); фреймы- роли (менеджер, кассир, клиент); фреймы- сценарии (банкротство, собрание акционеров); фреймы- ситуации (авария, рабочий режим устройства) и др.

Prolog - язык прогр-ия, используемый для решения задач, в которых действуют объекты и отношения между этими объектами.Основными понятиями в языке являются факты, правила логического вывода и запросы, позволяющие описывать БЗ, процедуры логического вывода и принятия решений. Факты в базах знаний на языке Пролог представляют конкретные сведения (знания). Обобщённые сведения и знания в языке Пролог задаются правилами логического вывода (определениями) и наборами таких правил вывода (определений) над конкретными фактами и обобщёнными сведениями. ЭС — компьютерная система, способная частично заменить специалиста-эксперта в разрешении проблемной ситуации. ЭС рассматриваются совместно с БЗ как модели поведения экспертов в определенной области знаний с использованием процедур логического вывода и принятия решений, а базы знаний — как совокупность фактов и правил логического вывода в выбранной предметной области деятельности. ЭС представляет следующую структуру: Интерфейс пользователя, Пользователь, Интел-ый редактор БЗ, Эксперт, Инженер по знаниям, Рабочая (оперативная) память, БЗ, Решатель (механизм вывода),Подсистема объяснений. БЗ состоит из правил анализа информации от пользователя по конкретной проблеме. ЭС анализирует ситуацию и дает рекомендации по разрешению проблемы.


 

15. Охарактеризуйте архитектуру платформы Microsoft.Net

ПЛАТФОРМА – аппаратный и/или программный комплекс, служащий основой для различных вычислительных систем. Платформа определяется характеристиками процессоров, особенностями ОС. FRAMEWORK – это инфраструктура среды выполнения программ, определяющее особенности разработки и выполнения программного кода на данной платформе. Она предполагает средства организации взаимодействия с операц системой и приклад прог, методы доступа к БД, средства поддержки сетевых прилож. Dot NET Framework состоит из двух главных компонентов: 1) библиотеки базовых классов FCL 2) CLR— общая для языков среда исполнения NET-приложений. FCL предоставляет сервисы операционной системы, среды выполнения. В FCL существует несколько сотен классов, они сгруппированы в пространства имен. Она является типобезопасной, так как классы удовлетворяют спецификации общей системы типов (CTS) и является объектно-ориентированной.

Компонент CommonLanguageRuntime располагается над сервисами ОС. Назначение CLR выполнение приложений, управление памятью, обеспечение безопасности, интеграция с ЯП. Разработчики не взаимодействуют с CLR напрямую — все сервисы предоставляются библиотекой классов, которая располагается над CLR. Частью библиотеки классов является программная модель для создания Web-прил., называемая ASP.NET. Среди предоставляемых этой средой функций следует отметить 1)обработку исключительных ситуаций; 2)обеспечение безопасности; 3)средства отладки поддержки версий.

Компилируемый компилятором код для CLR называется управляемым кодом (managedcode). После компил. управляемый код содержит метаданные, которые содержат инфу о типах, членах и ссылках, используемых в коде. Метаданные используются средой выполнения:1)для обнаружения классов; 2)загрузки классов; 3)генерации кода для конкретной платформы; 4)обеспечения безопасности. Среда выполнения проверяет, доступны ли все необходимые ресурсы. Среда выполнения также следит за временем жизни объектов.

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

Сборка (Assembly) – базовый блок приложения в.NET. Управляемые модули объединяются в сборки. Сборка может быть либо исполняемым прилож., либо библиотечным модулем (.dll). Часто файлы сборки содержат код, но в состав сборки могут также входить и графич. изобр., и ресурсы. Такие сборки назыв. статич. сборками, т.к они хранятся на диске. Динамич. сборки создаются во время выполнения программы и на диске обычно не сохраняются. Каждая сборка содержит специальные метаданные, называемые манифестом. В манифесте сод. инфа о классах, типах и ссылках на др. сборки. Схема выполнения.Net приложения. Код приложения на одном из языков.NET -> компилятор.Net -> сборка в виде файлов dll, exe -> загрузчик -> Jit-компилятор -> инструкции ассемблера - > выполнение. Common Type System (CTS) это компонент CLR. CTS определяет типы, поддерживаемые CLR. Типы можно условно раздел.на 2 группы: данные со значением и ссылочные типы. Данные со знач. описывают знач., представляемые последовательностью байтов. Ссылочные типы служат для описания значений, представляемых местонахождением последовательности байтов. Ссылочные типы делятся на 3 категории: Объектные типы, Интерфейсные, Указательные типы. В основе всех типов.NET, лежит класс System.Object Сборкой мусора это освобождение памяти, занятой объектами, ставшими бесполезными и не используемыми. В ряде языков программированя(в C++), память освобождает сам программер, отдавая команды, на создание, и удаление объекта. Задача сборки мусора снята не только с программистов, но и с разработчиков транслятор.она решается в нужное время CLR, ответственной за выполнение вычислений. За механизм сборки мусора отвечает класс GarbageCollector. В.NET существует - механизм исключений. Под исключительной ситуацией понимается возникновение особого события в программе..NET содержит набор классов, которые позволяют сохр-ть информацию о возникающих исключениях, а также предоставляет механизм передачи и перехвата объектов этих классов. Перехват и обработка исключений осуществляется с помощью блоков try…catch, Классы описывающие исключения, являются потомками класса System.Exception.

16. Поясните ключевые концепции объектно-ориентированного языка программирования C#

CLR делит свою память на: стек и кучу. Большую часть времени типы значение создаются в стеке, а ссылочные типы – в управляемой куче. Память для ссылочных типов всегда выделяется из управляемой кучи с помощью оператора С# new, который выполняет следующие действия. Ссылочный тип: 1)память для ссылочных типов всегда выделяется из управляемой кучи;2) каждый объект, размещаемый в куче, имеет некоторые дополнительные члены, подлежащие инициализации;3)незанятые полезной информацией байты объекта обнуляются (касается полей);4)размещение объекта в управляемой куче со временем инициирует сборку мусора. Значимый тип размещаются в стеке потока.В представляющей экземпляр переменной нет указателя на экземпляр; поля экземпляра размещаются в самой переменной. Экземпляры значимых типов не обрабатываются сборщиком мусора, поэтому уменьшается интенсивность работы с управляемой кучей.

Если тип называют классом (class), речь идет о ссылочном типе. Так, классы System.Object, SystemException, System.lO.FileStream и System.Random – это ссылочные типы. В свою очередь значимые типы в документации называют структурами (structure) и перечислениями (enumeration). Все структуры являются прямыми потомками абстрактного типа System.ValueType, который в свою очередь является производным от типа System.Object.

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

При создании объекта CLR автоматически вызывает конструктор это специальный метод, автоматически вызываемый CLR при создании объекта. При определении конструктора соблюдаются следующие правила: 1)Конструкторы имеют то же имя, что и класс, в котором они определены; 2) Конструкторы имеют то же имя, что и класс, в котором они определены; 3) Конструкторы обычно инициализируют некоторые или все поля объекта, а также могут выполнять любые дополнительные задачи инициализации, требуемые классу.

Структура очень похожа на класс, она уменьшает накладные расходы из-за способа, которым CLR создает и управляет экземплярами структуры. Типы структур: Byte, Int, Double, Boolean etc. Структуры имеют ограничения: используются для моделирования элементов, которые содержат относительно небольшое количество данных.

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

Коллекции – группа связвнных объектов. Коллекция обеспечивает безопасность типов, при извлечении элемента из универсальной коллекции нет необходимости определять или преобразовывать его тип данных, коллекция является классом, предоставляют более гибкий способ работы с группами объектов. Виды коллекций: класс Visual Basic Collection, System.Collections, System.Collections.Concurrent, System.Collections.Generics.


 

17. Проанализируйте процесс создания Windows-приложений средствами Visual С#.

Делегаты - привязанные к типу управляемые объекты - играют в С# роль, что и указатели функций в C++. Ссылаются на 1 метод и определяются в период выполнения. Применяются для. асинхронной обработки и добавления нестандартного кода к коду классов, определения статических методов и обработки событий. Метод, вызываемый при возникновении события, определяется делегатом. Синтаксис объявления делегата такой: ключевое слово delegate, затем — тип возвращаемого значения, потом — произвольное имя делегата, после кот. в круглых скобках параметры. На делегатах основана вся модель событий в C#.

Форма - экранный объект, обеспечивающий функцион-ть проги. Для создания клиент-приложений в VS.NET используются Windows-формы. Поддержку обеспечивает ядро.NET, VS.NET дает ср-ва, для разработки приложений на всех поддерживаемых ЯП. Проста интеграция Windows-приложений с Web-сервисами и возможность создания приложений, работающих с БД и использующих технологию ADO.NET.

Элементы управления - компоненты, обеспечивающие взаимодействие м/у user и прогой. В VS.NET - большое количество элементов.

Группа командных объектов. Button, LinkLabel, ToolBar реагируют на нажатие мыши и запускают к-либо действие.

Группа текстовых объектов. TextBox, RichTextBox принимают текст, а Label, StatusBar выводят.

Группа переключателей. Приложение м. содержать несколько определенных вариантов выполнения действия: ComboBox, ListBox, ListView.

Группа графических элементов. Для размещения и отображения гр. изображений на форме — ImageList, PictureBox.

Диалоговые окна. Выполняют операции - open, save, print… эл-ы OpenFileDialog, SaveFileDialog, PrintDialog

Группа меню. В любом приложении будет. меню, MainMenu, ContextMenu представляют формы для внесения заголовков и пунктов меню. После создания WindowsApplication отобразится дизайн формы. На нее можно перетаскивать эл-ты управления и располагать их.

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

Служба PlatformInvoke применяется для запуска ф-ийWinAPI, находящихся в файлах dll. Когда служба вызывает ф-ию происходит: *обнаружение необходимой библиотеки; *загрузка найденной библиотеки в оперативную память; *обнаружение адреса библиотеки в памяти и передача аргументов функции, с их преобразованием при необходим


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.034 сек.)