
- •Автоматизированное рабочее место. Его состав, функции, аппаратное и программное обеспечение.
- •Администрирование и мониторинг Windows nt/2000.
- •Адресация в сети Internеt.
- •Алгоритм. Свойства алгоритма. Способы описания алгоритма. Примеры.
- •Аппаратно – зависимые компоненты в ос.
- •Архитектура Windows nt/2000. Ядро и вспомогательные модули ос
- •Архитектура монитора обработки транзакций (схема и описание).
- •Архитектура эвм. Обобщенная структурная схема эвм (классическая).
- •Архитектуры файл – сервер и клиент – сервер локальных сетей.
- •Базовые классы vcl. Характеристика. Примеры.
- •Блокировка в sql Server 2000. Методы управления блокированием ресурсов.
- •Блокировки в sql Server 2000 (2003). Методы управления блокированием ресурсов.
- •Блочно – модульный принцип организации программ в языке Турбо Паскаль. Локальные и глобальные переменные. Примеры.
- •Виды совместимости ос.
- •Внешние устройства пк: диалоговые, запоминающие, телекоммуникационные.
- •Выполнение арифметических операций в двоичной, шестнадцатеричной системах счисления. Примеры
- •Двоичная арифметика. Примеры.
- •Дискретная модуляция аналоговых сигналов. Импульсно – кодовая модуляция.
- •Достоинства и недостатки объектно – ориентированного программирования.
- •Достоинства и недостатки объектно – ориентированной модели данных
- •Жизненный цикл программного обеспечения.
- •Иерархическая модель данных.
- •Иерархическая модель представления данных. Ее достоинства и недостатки.
- •Иерархическая структура памяти эвм: уровни иерархии, назначение зу различных типов.
- •Информатика как наука. Основные направления научных исследований в области информатики.
- •Информационное, аппаратное и программное обеспечение кс: структура и функции.
- •Информационные технологии автоматизированного офиса.
- •Информационные технологии обработки текстовых данных.
- •Использование распределенной файловой системы при работе с бд.
- •Использование триггеров в sql Server 2000.
- •Классификация и краткая характеристика языков программирования
- •Классификация и характеристики принтеров.
- •Классификация периферийных устройств ввода-вывода.
- •Классическая архитектура ос. Ядро и вспомогательные модули ос
- •Кодирование информации. Равномерные и неравномерные коды. Двоичное кодирование.
- •Коммутация каналов в сетях: сущность, оценка, область применения
- •Коммутация пакетов в сетях.
- •Компоненты sql Server 2000 (2003).
- •Компоненты интерфейсов Windows в Delphi.
- •Технологии fddi
- •Концепция виртуальной памяти.
- •Краткая характеристика простых типов данных в языке Турбо Паскаль. Основные функции обработки простых типов данных. Примеры.
- •Линии связи и их характеристики.
- •Логическая и физическая организация файловых систем.
- •Маршрутизация пакетов в сетях: методы маршрутизации, их характеристика и области применения.
- •Методы и средства защиты информации в ккс от несанкционированного доступа.
- •Механизм использования шаблонов в Delphi.
- •Микроядерная архитектура ос.
- •Многомашинные вычислительные системы.
- •Многопроцессорные вычислительные системы.
- •Модуль. Структура модуля в языке Турбо – Паскаль. Примеры.
- •Модуль. Структура модуля в языке Турбо – Паскаль. Примеры.
- •Название и характеристика кэш – памяти
- •Назначение и компоненты хранилища данных.
- •Назначение и роль ос в работе пк. Примеры.
- •Назначение и характеристики системы прерываний. Порядок обработки прерывания.
- •Назначение классов tPersistent и tComponent. Примеры.
- •Назначение центрального процессора (цп). Магистральный принцип передачи информации в цп, его преимущества и недостатки.
- •Назначение, состав и виды ос.
- •Нормальные формы, их назначение.
- •Обеспечение безопасности в Windows nt/2000.
- •Объект. Методы объектов в языке Турбо Паскаль.
- •Операции алгебры логики. Схемы, реализующие основные логические элементы эвм. Примеры.
- •Определение степени связи между сущностями при проектировании бд.
- •Организация ввода – вывода данных в Delphi.
- •Организация параллелизма вычислений в современных процессорах
- •Организация программ в языке Турбо Паскаль. Локальные и глобальные параметры. Примеры.
- •Организация списков в языке Турбо Паскаль. Примеры.
- •Организация циклов
- •Основная характеристика языков запроса бд.
- •Основные показатели оценки качества программы
- •Основные понятия метода проектирования бд, сущность – связь. Примеры.
- •Основные понятия эффективности функционирования кс
- •Основные свойства класса tControl. Примеры
- •Основные события, возникающие от клавиатуры в Delphi. Примеры
- •Операции над строками
- •Основные средства защиты в субд.
- •Основные средства защиты, встроенные в ос.
- •Основные средства разработки бд.
- •Основные структуры алгоритмов, примеры.
- •2. Алгоритмы разветвляющейся структуры
- •3. Алгоритмы циклической структуры
- •4. Алгоритмы со структурой вложенных циклов
- •5. Подчиненные алгоритмы
- •Основные структуры алгоритмов
- •2. Алгоритмы разветвляющейся структуры
- •3. Алгоритмы циклической структуры
- •4. Алгоритмы со структурой вложенных циклов
- •5. Подчиненные алгоритмы
- •Основные типы данных в Object Pascal.
- •Основные типы моделей данных.
- •Основные фунции микропроцессора. Характеристики микропроцессора.
- •Основные характеристики и особенности локальных компьютерных сетей (лкс).
- •Основные характеристики эвм.
- •Основные этапы разработки бд.
- •1. Разработка, утверждение тз и подборка под него готовых частей
- •2. Определение необходимых таблиц и связей между ними, полей таблиц и ключевых полей в бд
- •3. Проектирование интерфейса приложения
- •4. Тестирование, создание документации, сдача проекта и расчет
- •Основные этапы создания приложений в Delphi.
- •Особенности технологий Fast Ethernet и 100 vg'- AnyLan.
- •Перевод чисел из одной системы исчисления в другую (восьмеричная, десятичная, шестнадцатеричная система исчисления). Примеры
- •Передача дискретных данных на канальном уровне: используемые протоколы, способы связи между отправителем и получателем.
- •Передача дискретных данных на физическом уровне: цифровое кодирование и аналоговая модуляция.
- •Передача дискретных данных
- •Переносимость ос на разные аппаратные платформы.
- •Периферийные устройства пк.
- •Перспективы развития кс.
- •Перспективы развития телекоммуникаций в России.
- •Планирование и диспетчеризация потоков в процессе функционирования ос.
- •Подпрограммы – функции. Примеры.
- •Показатели целевой и экономической эффективности функционирования кс
- •Поколения эвм и их краткая характеристика.
- •Понятие «информационная культура». В чем она проявляется?
- •Понятие и классификация информационных технологий.
- •Понятие индекса. Использование индексирования в бд.
- •Понятие информации. Дискретная и аналоговая информация. Носители информации.
- •Понятие информационного общества. Характерные черты информационного общества.
- •Понятие мультипрограммирования. Способы управления процессом в режиме мультипрограммирования.
- •Понятие отношения. Условия, при которых таблицу можно считать отношением.
- •Понятие процесса и потока в ос.
- •Понятие процессов. Виды процессов.
- •Понятие распределенной бд, ее достоинства и недостатки.
- •Порты ввода – вывода: параллельный и последовательный.
- •Представление команд в эвм. Основные стадии выполнения команд.
- •Преимущества и недостатки микроядерной архитектуры ос
- •Прикладные сервисы Internet: электронная почта, телеконференции, почтовые списки, передача файлов.
- •Применение эвм в научных исследованиях, медицине, образовании.
- •Принципы объектно – ориентированного программирования.
- •Принципы построения глобальных компьютерных сетей (гкс).
- •Программы – функции. Вызов функции. Примеры.
- •Проектирование рекурсивных алгоритмов в языке Турбо – Паскаль. Пример.
- •Простые типы данных в языке Турбо Паскаль. Основные функции обработки простых типов данных. Примеры.
- •Процедуры. Формальные, фактические параметры. Примеры.
- •Прямой доступ к памяти
- •Пути совершенствования и развития телекоммуникаций в России
- •Распределение памяти при выполнении программ. Строчные переменные в языке Турбо Паскаль. Примеры.
- •Режимы передачи информации: сущность, оценка, области изменения.
- •Резервное копирование. Типы резервного копирования sql Server 2000.
- •Резервное копирование. Типы резервного копирования sql Server 2000 (2003).
- •Реляционная модель данных.
- •Ресурсы вычислительной системы. Управление ресурсами.
- •Рынок информационных продуктов и услуг. Инфраструктура информационного рынка.
- •Самосинхронизирующие коды: состав, характеристика, области применения.
- •Связывание таблиц в бд. Основные виды связей. Примеры
- •Сетевая модель данных.
- •Сетевое коммуникационное оборудование лкс: состав и назначение.
- •Сетевое оборудование ккс: состав и назначение.
- •Сетевые ос.
- •Система ввода – вывода. Программирование рекурсивных алгоритмов в языке Турбо Паскаль. Примеры.
- •Система ввода вывода : структура с одним общим интерфейсом
- •Система ввода-вывода: структура с каналами ввода-вывода
- •Система команд эвм общего назначения, методы адресации, типы команд, типы и размеры операндов.
- •Системы автоматизированного поиска в Internet: состав и области применения.
- •Системы ввода – вывода: структуры с общим интерфейсом.
- •Системы счисления. Двоичная, восьмеричная, шестнадцатиричная системы счисления. Примеры представления числа в указанных системах счисления
- •Сканеры, модемы, их назначение и характеристики
- •Состав основной памяти компьютера. Конструктивное исполнение модулей памяти.
- •Составляющие элементы реляционной модели данных и формы их представления.
- •Сравнительная характеристика файловых систем fat, ntfs.
- •Средства синхронизации потоков в ос
- •Стандартные визуальные компоненты в Delphi.
- •Странично – сегментная организация памяти
- •Строковые типы данных в языке Турбо Паскаль. Основные процедуры и функции обработки строковых данных. Примеры.
- •Структура и функции программного обеспечения ккс.
- •Структура и функции программного обеспечения лкс.
- •Структура и функции системы обеспечения безопасности (соб) ккс
- •Структура и характеристика языка sql
- •Структура программы в языке Турбо Паскаль
- •Структура проекта в Delphi
- •Структура типов данных в языке Турбо Паскаль.
- •Структурированные типы данных: массивы, записи, множества в языке Турбо Паскаль. Примеры.
- •Структурная организация и взаимодействие узлов и устройств эвм
- •Текстовые файлы в языке Турбо Паскаль. Стандартные средств обработки текстовых файлов. Примеры.
- •Типизированные и нетипизированные файлы в языке Турбо Паскаль. Стандартные средства обработки файлов. Примеры.
- •Типовая структура гкс
- •Типовая структура ккс.
- •Типовая структура ккс.
- •Типовые струкуры многопроцессорных систем
- •Типы гкс и их особенности
- •Типы сетей связи и тенденции их развития
- •Требования к ос. Классификация ос.
- •Трехзвенная модель распределенной системы бд.
- •Управление доступом к передающей среде. Методы и протоколы доступа.
- •Управление проектами в Delphi.
- •Условные конструкции языка Турбо Паскаль. Примеры.
- •Форма. Управление понятиями формы в Delphi. Примеры.
- •Формы представления чисел в эвм. Коды чисел: прямой, обратный, дополнительный
- •Характеристика Microsoft sql Server 2000. Компоненты sql Server 2000.
- •Характеристика Windows 2003.
- •Характеристика Windows nt/2000.
- •Характеристика внешних запоминающих устройств (взу).
- •1. Накопители на жестких магнитных дисках
- •2. Накопители на компакт-дисках
- •4. Накопители на гибких магнитных дисках
- •Характеристика и области применения сетей Frame Relay.
- •Характеристика и области применения сетей isdn.
- •Характеристика и области применения сетей атм.
- •Характеристика и области применения сетей х.25
- •Характеристика интегрированной среды разработки программ Delphi.
- •Характеристика класса tObject. Методы класса. Примеры.
- •Характеристика клиентского программного обеспечения в Internet.
- •Характеристика накопителей на гибких и жестких магнитных дисках.
- •Накопители на жестких дисках
- •Характеристика протоколов семейства tcp/ip
- •Характеристика сетевой модели данных.
- •Характеристика спутниковых сетей связи.
- •Характеристика технологии Ethernet.
- •Характеристика языка sql. Функциональные категории языка sql.
- •Характеристика языка программирования Турбо Паскаль.
- •Характеристики основных топологий в лкс.
- •Эталонная модель взаимодействия открытых систем osi.
Распределение памяти при выполнении программ. Строчные переменные в языке Турбо Паскаль. Примеры.
Турбо Паскаль, разработанный фирмой Borland, работает под управлением MS–DOS. В Турбо Паскале нет специальных средств, поддерживающих работу с дополнительной памятью, поэтому адресное пространство компьютера составляет 1 Мбайт
При запуске программы (EXE–файла) MS–DOS организует в памяти нечто вроде анкеты на этот файл длиной 256 байт, которая называется префиксом структуры программы. После префикса начинается код EXE–файла. Код ЕХЕ–файла состоит из рабочего кода системного модуля, рабочих кодов подключаемых модулей и рабочего кода основного блока программы. Статические глобальные переменные основного блока и все типизированные константы, включая локальные, располагаются в сегменте данных, общий объем которого не может в сумме превышать 64К. За сегментом данных следует область стека. В ней располагаются локальные переменные и параметры-значения процедур и функций во время их работы по вызову. Область стека не может превышать 64К (обычно 16К). Стек заполняется от своей верхней границы (она может быть назначена директивой компилятору $М) по направлению к началу, т.е. к старту сегмента. Выше стека программа отводит себе память под буфер для работы оверлеев – перекрывающихся частей программ. Если они не используются, то буфер не отводится. Еще выше располагается область памяти для размещения динамических переменных и структур данных, называемая областью кучи или просто кучей (еще она называется Heap‑областью).
По мере того, как программы становятся более сложными и требуется работа с большим количеством данных, область объемом в 64К, зарезервированная в Турбо Паскале для данных, может оказаться недостаточной, чтобы содержать все необходимые программе данные.
Предположим, есть программа, требующая массива в 400 строк по 100 символов каждая. Для этого массива требуется примерно 40К, что меньше максимума в 64К. Если остальные переменные помещаются в оставшиеся 24К, массив такого объема проблемы не представляет. Но если нужно два таких массива? Это потребует 80К. Чтобы работать с большими объемами данных, нужно использовать динамически распределяемую область памяти.
Динамически распределяемая область памяти – это вся память, которую операционная система делает доступной для программы и которая не используется ее кодом, сегментом данных и стеком. Объемом распределяемой динамической памяти можно управлять с помощью директивы компилятора $M.
Известно, что все переменные, встречающиеся в программе, должны быть описаны. Перед началом выполнения программы каждой переменной для размещения ее значений выделяется место в сегменте данных. Размер выделяемого места зависит от типа переменной. Например, для переменной типа Integer выделяется 2 байта. Обращение в программе к объекту, размещенному в некотором месте памяти, осуществляется с помощью имени переменной. Соответствие между переменной и сопоставленным ей местом в памяти сохраняется для описанных в программе переменных на всем протяжении выполнения программы. В Паскале имеются средства, позволяющие заниматься отведением и освобождением памяти для размещения объектов того или иного типа непосредственно по ходу выполнения программы. Память в этом случае отводится в динамической области. Данные, размер которых задается непосредственно во время выполнения программы, называются динамическими. Для объявления динамических данных в Паскале используется ссылочный тип, называемый еще типом-указателем. С помощью ссылочного типа можно объявлять переменные, значением которых будет адрес ячейки памяти.
Ссылочные переменные
Описание ссылочного типа выглядит следующим образом:
Type
Ptr = ^t,
где t – стандартный или заранее описанный тип данных, называемый базовым типом. Сами адреса будут храниться в ссылочных переменных, которые описываются обычным образом, например, Var P : Ptr. Такие переменные для хранения адресов динамической памяти называются ссылками или указателями.
Пример.
Type
Pint = ^Integer; W = array [1..20] of Real; p = ^W;
Var
N : Pint; U : p;
Под переменную N и переменную U будет отведено по 4 байта памяти в сегменте данных. Переменные будут содержать адрес какой–либо ячейки памяти, расположенной в динамической области. Но прежде, чем переменная ссылочного типа примет значение, необходимо в ходе выполнения программы выполнить специальную процедуру. Ссылка представляет собой адрес начала, т.е. первой ячейки, некоторого места в памяти, выделенного для объекта базового типа. Переменная U будет содержать адрес первой ячейки, выделенной под массив W в динамической области памяти.
В объявлениях ссылочных типов после символа “^” может стоять только простое имя типа. В случае сложных имен используется переопределение типов, как в приведенном примере.
Указатели, связанные с адресами значений конкретных базовых типов, называются типизированными. N и U – типизированные указатели. В Турбо Паскале можно объявлять указатель и не связывать его при этом с каким–либо конкретным типом данных. Такие указатели называются нетипизированными. Описание нетипизированных указателей осуществляется с помощью служебного слова Pointer, например, Var P : Pointer.
Адрес хранится как два слова: одно из них определяет сегмент, а другое – смещение. Значение указателя не может быть в явном виде выведено на экран или печать. Его надо предварительно расшифровать
Так как значение указателя состоит из двух слов (Word), хранящих сегмент и смещение, можно вывести их в отдельности, используя функции Seg и Ofs:
Writeln(‘Сегмент ’, Seg(p), ‘ смещение ‘, Ofs(p));
Указатели могут обмениваться значениями через оператор присваивания. Типизированному указателю можно присвоить значение либо указателя того же типа, что и он сам, либо нетипизированного указателя. Если, например,
Var P1, P2 : ^Integer;
P3 : ^Real;
PP : Pointer;
то присваивание P1 := P2 вполне допустимо, в то время как P1 := P3 запрещено, поскольку P1 и P3 указывают на разные типы данных. Это ограничение не распространяется на нетипизированные указатели. Можно записать PP := P3; P1 := PP и достичь нужного результата. Присутствие в программе таких переприсвоений говорит о том, что программист делает это осознано и в программе действительно нужны такие действия. Указателю можно присвоить значение Nil. Nil – это предопределенная константа типа Pointer, соответствующая адресу 0000:0000 (пустая ссылка). Если указателю присвоено значение Nil, то этот указатель ни на какие данные не ссылается.
Указатели могут сравниваться с помощью операций отношения = или <> (не равно). Сравнение для указателей – ненадежная операция. Если два указателя содержат один и тот же адрес в памяти, но записанный в них разными способами, то они считаются различными. Зато можно проверить, ссылается ли указатель р на что–нибудь или нет путем сравнения p <> Nil.
Содержимое ячейки доступно через имя указателя. Чтобы обратиться к данным, находящимся по адресу, содержащемуся в указателе, используется символ “^”, который ставится сразу после имени ссылочной переменной. Эта операция называется операцией разыменования. Суть ее состоит в переходе от ссылочной переменной к значению, на которое она указывает. Пусть имеется следующее описание:
Var a, b: ^Real;
тогда в программе с переменными а^ и b^ допустимы все действия, что и с любыми переменными типа Real, например,
a^ := b^;
b^ := sin(a^); и т.д.
Память под любую динамически размещаемую переменную выделяется процедурой New(p). Только после выполнения процедуры New имеет смысл обращаться к ссылочным переменным. Параметром обращения к этой процедуре является типизированный указатель. В результате обращения указатель приобретает значение, соответствующее адресу, начиная с которого, можно разместить данные. Это адрес динамической области данных или кучи. Начало кучи хранится в стандартной переменной Heaporg, конец – в переменной Heapend. Текущую границу незанятой динамической памяти указывает указатель Heapptr. Если Var i^ integer, то после выполнения New(i) указатель i приобретет значение, которое перед этим имел указатель кучи Heapptr, а сам Heapptr увеличит свое значение на 2, так как длина внутреннего представления типа Integer, с которым связан указатель i, составляет 2 байта.