
- •Вопросы к государственному междисциплинарному экзамену по специальности
- •230201.65 «Информационные системы в технике и технологиях»
- •Информатика
- •1. Представления информации в вычислительных системах. Позиционные и непозиционные системы исчисления.
- •2. Представление чисел с фиксированной и плавающей запятой. Операции над числами с плавающей запятой.
- •3. Алгебраическое представление двоичных чисел. Прямой, дополнительный и обратный коды.
- •4. Арифметические операции в двоичной системе счисления.
- •5. Восьмеричная, шестнадцатеричная и двоично–десятичные системы счисления.
- •Перевод чисел из двоичной системы в шестнадцатеричную
- •6. Логические основы построения компьютера.
- •7. Элементы алгебры логики. Выполнение логических операций на компьютере.
- •8.Логический синтез вычислительных схем.
- •9. Общие принципы построения персональных компьютеров.
- •10. Структурная схема и основные компоненты персонального компьютера.
- •11. Функциональная и структурная организация компьютера Общие принципы функциональной и структурной организации эвм
- •12. Основные типы вычислительных процессов.
- •13. Основные принципы и приемы процедурного программирования.
- •14. Основные принципы и приемы объектно-ориентированного программирования.
- •15. Структурное программирование. Принцип локализации имен. Модульное построение программ.
- •16. Понятие рекурсии. Прямая и косвенная рекурсии.
- •17. Структура типов данных языков программирования.
- •18. Распределение памяти под объекты программы. Статическая и динамическая память.
- •19. Списковые динамические структуры. Стеки. Деки. Очереди. Бинарные деревья.
- •Прикладное программирование
- •1С: Предприятие как проблемно-ориентированная прикладная система. Подсистемы и компоненты среды 1с: Предприятие.
- •Понятие конфигурации 1с: Предприятия. Типы данных. Иерархия объектов. Агрегатные и подчиненные объекты. Типы значений объектов конфигурации.
- •Виды программных модулей 1с: Предприятия. Понятие контекста. Глобальный контекст задачи и локальный контекст модуля.
- •Справочники, документы и журналы документов среды 1с: Предприятие.
- •Подсистема «Оперативный учет» среды 1с: Предприятие. Понятие регистра. Виды регистров.
- •Точка актуальности итогов в среде 1с: Предприятие и ее связь с последовательностями и движениями регистров.
- •Запросы к данным в среде 1с: Предприятие.
- •Подсистема «Расчет» среды 1с: Предприятие. Понятие вида расчета. Журналы расчетов.
- •Подсистема «Управление распределенной информационной базой» среды 1с: Предприятие.
- •Администрирование в среде 1с: Предприятие. Пользовательские интерфейсы и права пользователя.
- •Информационные основы обработки данных
- •Базы данных и системы управления базами данных. Роль и место банков данных в информационных системах.
- •Уровни представления данных: концептуальный, логический, физический.
- •Понятие модели данных. Иерархическая, сетевая, реляционная модели данных, их типы структур, основные операции и ограничения.
- •Основные понятия реляционной модели данных: отношение, экземпляр, атрибут. Объектные и связные отношения. Операции над отношениями.
- •Нормализация отношений в реляционной базе данных. Нормальные формы.
- •Инфологическое проектирование базы данных.
- •Программная реализация бд и субд.
- •Глава 2. Разработка базы данных по рынку бытовой химии.
- •Эксплуатация системы: наполнение базы данных реальными данными, поддержание
- •Пользователи банков данных. Преимущества централизованного управления данными. Архитектура банка данных.
- •Строение пакета субд. Компиляция и интерпретация программ.
- •Многопользовательские системы. Файл-серверная и клиент-серверная технологии. Трехзвенная архитектура.
- •2. Файл-серверная архитектура программы.
- •Операционные системы
- •1.Принципы построения операционных систем (ос), вычислительный процесс и его реализация с помощью ос; основные функции ос.
- •4.Сетевые ос и протоколы передачи информации, организация управления доступом и защиты ресурсов ос
- •5.Основные механизмы безопасности: средства и методы аутентификации в ос, модели разграничения доступа, организация и использование средств аудита; администрирование ос.
- •6.Классификация вычислительных сетей. Одноранговая сеть. Сети с централизованным управлением.
- •7.Сетевые компоненты ос семейства Windows. Сетевые протоколы. Сетевые клиенты.
- •Организация общего доступа к сетевому ресурсу.
- •Принципы управления ресурсами в операционной системе; управление вычислительными процессами, вводом-выводом, реальной памятью; управление виртуальной памятью. Управление процессами
- •Функции базовой подсистемы ввода-вывода
- •Физическая организация памяти компьютера
- •Функции системы управления памятью
- •Простейшие схемы управления памятью
- •Понятие виртуальной памяти
- •11.Состояния процессов, наследование ресурсов, тупиковые ситуации, обработка исключений, сохранение и восстановление процессов
- •12.Операции над процессами. Pcb и контекст процесса. Одноразовые операции. Многоразовые операции. Переключения контекста.
- •13.Планирование заданий пользователей. Критерии планирования и требования к алгоритмам. Вытесняющее и невытесняющее планирование.
- •Взаимодействие процессов в ос, синхронизация процессов, обмен сообщениями. Взаимодействие процессов
- •Средства межпроцессного взаимодействия
- •Динамические, последовательные и параллельные структуры программ. Логическая организация механизма передачи информации. Нити исполнения.
- •Информационные сети
- •1. Типы вычислительных сетей.
- •2. Стандартизация в компьютерных сетях. Понятие протокола и интерфейса.
- •Сетевые интерфейсы:
- •3. Эталонная модель взаимодействия открытых систем – osi. Графическое представление модели.
- •Взаимодействие уровней
- •4. Прохождение запроса между двумя узлами сети.
- •5. Функции и сетевые задачи уровней модели osi. Прикладной уровень (Application layer)
- •Уровень представления (Presentation layer)
- •Сеансовый уровень (Session layer)
- •Транспортный уровень (Transport layer)
- •Сетевой уровень (Network layer)
- •Канальный уровень (Data Link layer)
- •Физический уровень (Physical layer)
- •6. Сетевые топологии.
- •7. Строение сетей Ethernet. Домен коллизий в сетях Ethernet.
- •8. Повторители. Мосты. Концентраторы. Коммутаторы. Маршрутизаторы. Повторитель
- •Различия между коммутаторами и мостами
- •9. Сети Token Ring. Метод доступа к разделяемой среде для сетей Token Ring .
- •10. Технология Fast Ethernet.
- •11. Технология Gigabit Ethernet.
- •12. Технология 100 vg-AnyLan. Суть метода доступа - приоритетные требования в технологии 100 vg-AnyLan.
- •13. Технология fddi. Особенности метода доступа fddi.
- •14. Задачи сетевого уровня открытых систем osi. Понятие «Подсеть», «Сеть» и «Составная сеть».
- •15. Многоуровневая структура стека tcp/ip. Уровень межсетевого взаимодействия, основной (транспортный) уровень, прикладной уровень, уровень сетевых интерфейсов.
- •Физический уровень
- •Канальный уровень
- •Сетевой уровень
- •Транспортный уровень
- •Прикладной уровень
- •16. Механизм гнезд и мультиплексирование соединений.
- •17. Типы адресов стека tcp/ip. Локальные адреса. Ip – адреса. Символьные доменные имена.
- •Корпоративные информационные системы
- •Структура корпоративной ис. Функциональные компоненты кис. Классификация кис.
- •Структура корпораций и предприятий; архитектура, эксплуатация и сопровождение информационных систем ис.
- •Понятие и структура erp – системы. Пример erp – систем.
- •Понятие и структура olap – системы. Архитектура olap – приложений.
- •Понятие гиперкуба. Метки. Иерахии и уровни. Срезы гиперкуба.
- •Операции манипулирования данными в гиперкубе. Агрегация данных в гиперкубе.
- •Разреженный гиперкуб данных. Бинарное представление гиперкуба данных. Выборка данных из гиперкуба.
- •Карта заполненности гиперкуба данных. Одномерная, двумерная и трехмерная проекции карты. Организация доступа к данным в гиперкубе. Агрегация разреженного гиперкуба данных.
- •Многомерное хранение данных. Сравнение оперативных и аналитических ис. Концепция хранилища данных.
- •Компоненты хранилища данных. Проблемы интеграции данных в информационном хранилище. Реализация хранилищ данных. Витрины данных.
- •Понятие Data Mining. Приложения Data Mining.
- •Разведочный анализ данных и его методы. Типы закономерностей, используемых Data Mining.
- •Классификация систем Data Mining.Нейронные сети в Data Mining.
- •Виды команд сетевых субд. Виды блокировки файлов и записей. Обработка ошибок сетевыми приложениями. Тестирование сетевого приложения.
- •Буферизация редактирования данных. Обновление данных с использованием буферизации. Работа с транзакциями.
- •Основные понятия web-технологий.
- •Сервисы Интернет.
- •Электронная почта
- •Списки рассылки
- •Система гипермедиа www
- •Сервисы irc, icq и т.П.
- •3. Служба dns Отображение символьных адресов на ip-адреса: служба dns
- •Серверные языки программирования
- •Технологии Java. Особенности версий jdk.
- •Виды Java-приложений.
- •Принципы ооп в Java-технологиях.
- •Обзор операторов языка программирования Java.
- •Обработка исключений в Java.
- •Событийные модели в Java.
- •Программирование Java-апплетов
- •Принципы программирования оконных приложений на Java.
- •Элементы web-дизайна. Основные понятия, влияющие факторы.
- •Системы навигации сайта.
- •Понятие хостинга
- •1. Типы и преобразование данных в клиентских сценариях.
- •2. Типы данных в php-приложениях
- •3. Типы данных в Java-приложениях.
- •4. Валидаторы в web-приложениях. Разновидности.
- •5. Клиентские валидаторы в web-приложениях.
- •6. Серверные валидаторы в web-приложениях.
- •7. Основные понятия языков разметки. Формы.
- •8. Технология css.
- •9. Организация взаимодействия страниц во фреймовой структуре.
- •10. Плавающие фреймы (iFrame) на web-страницах
- •11. Понятие о серверных сценариях web-приложений.
- •Организация авторизованного доступа в web-приложениях.
- •Сессионные переменные в web-приложениях.
- •Представление о стеке протоколов tcp/ip.
- •Интегрированные среды разработки web-приложений.
- •Модель "клиент-сервер" для web-приложений.
- •Клиентские сценарии web-приложений.
- •Обработка событий в клиентских сценариях web-приложений.
- •Программирование типовых функциональных блоков серверных сценариев php-web-приложений.
- •9.Организация взаимодействия серверных сценариев с субд с использованием php и MySql.
- •Обзор среды разработки Java-приложений на примере NetBeans.
- •Этапы разработки Java-приложений в среде NetBeans.
- •Структура справочной системы Java. Утилита javadoc.
- •3. Основные понятия теории графов, граф, подграф, сеть, дерево, связность. Операции над графами, их свойства.
- •4. Нахождение минимального и максимального пути, задача о максимальном потоке.
- •5. Основные понятия логики высказываний, методы представления логических функций, логические операции, их свойства, конъюнктивные и дизъюнктивные нормальные формы.
- •Элементарные функции алгебры логики
- •Фал одного аргумента
- •Инверсия
- •Конъюнкция
- •Дизъюнкция
- •Логическая равнозначность
- •Импликация
- •Эквивалентности
- •Сложение по mod 2
- •Правило де Моргана
- •Понятие функциональной полноты фал
- •Минимизация фал и ограничения при ее рассмотрении
- •Понятие покрытия
- •Метод минимизации фал по Квайну
- •6. Общезначимость, противоречивость, выводимость, теоремы о выводимости, метод резолюций для логики высказываний.
- •Метод резолюций для логики высказываний
- •7. Основные понятия логики предикатов первого порядка, кванторы, предваренные нормальные формы, избавление от кванторов.
- •8. Выводимость в логике предикатов первого порядка, унифицирующие подстановки, метод резолюций для логики предикатов первого порядка. Метод резолюций для логики предикатов первого порядка
- •9. Основные понятия теории автоматов, виды автоматов, методы представления автоматов, абстрактный и структурный автомат. Метод синтеза автоматов по граф-схеме алгоритма.
- •10. Понятие модели, алгоритмический и функциональный подходы к моделированию. Виды моделей, виды математических моделей, основные этапы моделирования.
- •1. Основные понятия и определения теории надежности.
- •2. Математическая модель функционирования информационных систем
- •3.Способы описания надежности функционирования информационных систем.
- •Методы анализа надежности. Топологический метод анализа надежности.
- •Анализ надежности восстанавливаемых систем.
- •Факторы, влияющие на надежность информационных систем.
- •Классический метод оптимизации судовых систем. Метод множителей Лагранжа.
- •Градиентные методы оптимизации судовых систем.
- •Оптимизация судовых систем на основе симплексных методов с постоянным и переменным шагами.
- •Оптимизация судовых систем на основе метода деформированного многогранника.
- •Оптимизация судовых систем на основе метода скользящего допуска.
- •Задачи многокритериальной оптимизации. Выбор оптимальных решений на основе безусловного и условного критериев качества.
- •Формирование критериев качества на основе экспертных оценок. Методы ранга, парных сравнений и непосредственной оценки.
- •Определение полиномиальных моделей судовых систем на основе метода наименьших квадратов. Система нормальных уравнений.
- •Матричная форма системы нормальных уравнений. Информационная матрица.
- •Исследование судовых систем на основе полного факторного эксперимента.
- •Исследование судовых систем на основе планов второго порядка.
- •Исследование судовых систем на основе планов третьего порядка.
- •Ранжирование параметров судовых систем на основе дробного факторного эксперимента.
- •Ранжирование параметров судовых систем на основе метода случайного баланса.
- •Определение программной системы.
- •Аксиоматика сложных систем.
- •Методология программирования: каскадная, итерационная, спиральная.
- •4. Основные задачи поддержки процесса разработки программных систем: методическая, организационная, инструментальная, кадровая, технологическая.
- •5. Стратегии «направленности» разработки программных систем: «сверху вниз», «снизу вверх», «изнутри к границам», «от границ внутрь».
- •6. Основные понятия программного обеспечения. Классификация программного обеспечения.
- •7. Повышение надежности программного обеспечения введением избыточности: информационной, программной, временной.
- •8. Принципы и методы разработки надежного программного обеспечения: предупреждения, обнаружения, исправление ошибок, обеспечение устойчивости к ошибкам.
- •9. Основные определения, связанные с обнаружением и исправлением ошибок: тестирование, доказательство, контроль, испытание, аттестация, отладка.
- •10. Структурное или модульное программирование. Стиль разработки, правила написания программ.
- •11. Преобразование неструктурированных алгоритмов к структурному виду: дублирование блоков, введение переменной состояния.
- •12. Понятия модульности, связанности, сцепления.
Обработка исключений в Java.
При обработке ошибок в Java используются проверяемые исключения (checked exceptions). Исключение заставляет программиста предпринять какие-то действия при возникновении ошибки. Исключительные ситуации в программе обнаруживаются при их возникновении, а не позже, когда необработанная ошибка приведет к множеству проблем.
Метод, в котором обнаруживается ошибка, возбуждает (throw) исключение. Оно может быть перехвачено (catch) кодом, находящимся дальше в стеке вызова — благодаря этому первый фрагмент может обработать исключение и продолжить выполнение программы. Неперехваченные исключения передаются стандартному обработчику Java, который может сообщить о возникновении исключительной ситуации и завершить работу потока в программе.
Исключения в Java являются объектами — у них имеется тип, методы и данные. Представление исключения в виде объекта оказывается полезным, поскольку объект-исключение может обладать данными или методами (или и тем и другим), которые позволят справиться с конкретной ситуацией. Объекты-исключения обычно порождаются от класса Exception, в котором содержится строковое поле для описания ошибки. Java требует, чтобы все исключения были расширениями класса с именем Throwable. Основная парадигма работы с исключениями Java заключена в последовательности try-catch-finally. Сначала программа пытается (try) что-то сделать; если при этом возникает исключение, она его перехватывает (catch); и, наконец (finally), программа предпринимает некоторые итоговые действия в стандартном коде или в коде обработчика исключения — в зависимости от того, что произошло.
Ниже приводится метод averageOf, который возвращает среднее арифметическое двух элементов массива. Если какой-либо из индексов выходит за пределы массива, программа запускает исключение, в котором сообщает об ошибке. Прежде всего, следует определить новый тип исключения Illegal AverageException для вывода сообщения об ошибке. Затем необходимо указать, что метод averageOf возбуждает это исключение, при помощи ключевого слова throws:
class IllegalAverageException extends Exception {
}
class MyUtilities {
public double averageOf(double[] vals, int i, int j)
throws IllegalAverageException
{
try {
return (vals[i] + vals[j]) / 2;
} catch (IndexOutOfBounds e) {
throw new IllegalAverageException();
}
}
}
Если при определении среднего арифметического оба индекса i и j оказываются в пределах границ массива, вычисление происходит успешно и метод возвращает полученное значение. Однако, если хотя бы один из индексов выходит за границы массива, возбуждается исключение IndexOutOfBounds и выполняется соответствующий оператор catch. Он создает и возбуждает новое исключение IllegalAverageException — в сущности, общее исключение нарушения границ массива превращается в конкретное исключение, более точно описывающее истинную причину. Методы, находящиеся дальше в стеке выполнения, могут перехватить новое исключение и должным образом прореагировать на него.
Если выполнение метода может привести к возникновению проверяемых исключений, последние должны быть объявлены после ключевого слова throws, как показано на примере метода averageOf. Если не считать исключений RuntimeException и Error, а также подклассов этих типов исключений, которые могут возбуждаться в любом месте программы, метод возбуждает лишь объявленные в нем исключения — как прямо, посредством оператора throw, так и косвенно, вызовом других методов, возбуждающих исключения.
Именно поэтому исключения, которые должны быть объявлены после ключевого слова throws, называются проверяемыми исключениями. Исключения, являющиеся расширениями RuntimeException и Error, не нуждаются в объявлении и проверке; они называются непроверяемыми исключениями.
Операторы try – catch.
В общем случае конструкция выглядит так:
try {
...
} catch(SomeExceptionClass e) {
...
} catch(AnotherExceptionClass e) {
...
}
Сначала выполняется код, заключенный в фигурные скобки оператора try. Если во время его выполнения не происходит никаких нештатных ситуаций, то далее управление передается за закрывающую фигурную скобку последнего оператора catch, ассоциированного с данным оператором try. Если в пределах try возникает исключительная ситуация, то далее выполнение кода производится по одному из перечисленных ниже сценариев.
Возникла исключительная ситуация, класс которой указан в качестве параметра одного из блоков catch. В этом случае производится выполнение блока кода, ассоциированного с данным catch (заключенного в фигурные скобки). Далее, если код в этом блоке завершается нормально, то и весь оператор try завершается нормально и управление передается на оператор (выражение), следующий за закрывающей фигурной скобкой последнего catch. Если код в catch завершается не штатно, то и весь try завершается нештатно по той же причине.
Если возникла исключительная ситуация, класс которой не указан в качестве аргумента ни в одном catch, то выполнение всего try завершается нештатно.
Конструкция try-catch-finally
Оператор finally предназначен для того, чтобы обеспечить гарантированное выполнение какого-либо фрагмента кода. Вне зависимости от того, возникла ли исключительная ситуация в блоке try, задан ли подходящий блок catch, не возникла ли ошибка в самом блоке catch,- все равно блок finally будет в конце концов исполнен. Последовательность выполнения такой конструкции следующая: если оператор try выполнен нормально, то будет выполнен блок finally. В свою очередь, если оператор finally выполняется нормально, то и весь оператор try выполняется нормально. Если во время выполнения блока try возникает исключение и существует оператор catch, который перехватывает данный тип исключения, происходит выполнение связанного с catch блока. Если блок catch выполняется нормально, либо ненормально, все равно затем выполняется блок finally. Если блок finally завершается нормально, то оператор try завершается так же, как завершился блок catch. Если в списке операторов catch не находится такого, который обработал бы возникшее исключение, то все равно выполняется блок finally. В этом случае, если finally завершится нормально, весь try завершится ненормально по той же причине, по которой было нарушено исполнение try. Во всех случаях, если блок finally завершается ненормально, то весь try завершится ненормально по той же причине.
В конструкции try-catch-finally обязательным является использование одной из частей оператора catch или finally. То есть конструкция
try { ...} finally { ...}
является вполне допустимой. В этом случае блок finally при возникновении исключительной ситуации должен быть выполнен, хотя сама исключительная ситуация обработана не будет и будет передана для обработки на более высокий уровень иерархии.
Если обработка исключительной ситуации в коде не предусмотрена, то при ее возникновении выполнение метода будет прекращено и исключительная ситуация будет передана для обработки коду более высокого уровня. Таким образом, если исключительная ситуация произойдет в вызываемом методе, то управление будет передано вызывающему методу и обработку исключительной ситуации должен произвести он. Если исключительная ситуация возникла в коде самого высокого уровня (например, методе main()), то управление будет передано исполняющей системе Java и выполнение программы будет прекращено (более точно - будет остановлен поток исполнения, в котором произошла такая ошибка).
Оператор throw.
Помимо того, что предопределенная исключительная ситуация может быть возбуждена исполняющей системой Java, программист сам может явно породить ошибку. Делается это с помощью оператора throw.
В данном случае предполагается, что в качестве параметра методу может быть передано только положительное значение; если это условие не выполнено, то с помощью оператора throw порождается исключительная ситуация. (Для успешной компиляции также требуется в заголовке метода указать throws Exception - это выражение рассматривается ниже.) Метод должен делегировать обработку исключительной ситуации вызвавшему его коду. Для этого в сигнатуре метода применяется ключевое слово throws, после которого должны быть перечислены через запятую все исключительные ситуации, которые может вызывать данный метод. То есть приведенный выше пример должен быть приведен к следующему виду:
...
public int calculate(int theValue)
throws Exception {
if( theValue < 0) {
throw new Exception(
"Some descriptive info");
}
}
...
Предположим, что оператор throw применяется внутри конструкции try-catch.
try {
...
throw new IOException();
...
} catch(Exception e) {
...
}
В этом случае исключение, возбужденное в блоке try, не будет передано для обработки на более высокий уровень иерархии, а обработается в пределах блока try-catch, так как здесь содержится оператор, который может это исключение перехватить. То есть произойдет неявная передача управления на соответствующий блок catch.