
- •Вопросы к государственному междисциплинарному экзамену по специальности
- •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. Понятия модульности, связанности, сцепления.
12. Основные типы вычислительных процессов.
Решение задач на компьютере основано на понятии алгоритма. Алгоритм – это точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к исходному результату. Алгоритм означает точное описание некоторого процесса, инструкцию по его выполнению. Разработка алгоритма является сложным и трудоемким процессом. Алгоритмизация – это техника разработки (составления) алгоритма для решения задач на ЭВМ. Для записи алгоритма решения задачи применяются следующие изобразительные способы их представления:
Словесно- формульное описание
Блок-схема (схема графических символов)
Алгоритмические языки
Операторные схемы
Псевдокод
Формульно-словесный способ записи алгоритма характеризуется тем, что описание осуществляется с помощью слов и формул. Содержание последовательности этапов выполнения алгоритмов записывается на естественном профессиональном языке предметной области в произвольной форме. Графический способ описания алгоритма (блок - схема) получил самое широкое распространение. Для графического описания алгоритмов используются схемы алгоритмов или блочные символы (блоки), которые соединяются между собой линиями связи. Каждый этап вычислительного процесса представляется геометрическими фигурами (блоками). Они делятся на арифметические или вычислительные (прямоугольник), логические (ромб) и блоки ввода-вывода данных (параллелограмм). Алгоритмические языки - это специальное средство, предназначенное для записи алгоритмов в аналитическом виде. Алгоритмические языки близки к математическим выражениям и к естественным языкам. Каждый алгоритмический язык имеет свой словарь. Алгоритм, записанный на алгоритмическом языке, выполняется по строгим правилам этого конкретного языка.
Операторные схемы алгоритмов. Суть этого способа описания алгоритма заключается в том, что каждый оператор обозначается буквой (например, А – арифметический оператор, Р – логический оператор и т.д.). Операторы записываются слева направо в последовательности их выполнения, причем, каждый оператор имеет индекс, указывающий порядковый номер оператора. Алгоритм записывается в одну строку в виде последовательности операторов.
По структуре выполнения алгоритмы и программы делятся на три вида:
Линейные
Ветвящиеся
Циклические
13. Основные принципы и приемы процедурного программирования.
В настоящее время сложные системы компьютерных программ, разрешающих самые разные прикладные проблемы, создаются с учетом их многократного использования самыми разными пользователями. В этих условиях разработка и эксплуатация программ осуществляется, как правило, разными людьми. Поэтому наряду с эффективностью на первый план выдвигаются и другие важные характеристики программ такие, как понятность, хорошая документированность, надежность, гибкость, удобство сопровождения и т.п.
Проблема разработки программ, обладающих такими качествами, весьма актуальна, что объясняется, прежде всего, трудоемкостью процесса программирования и связанным с этим быстрым ростом стоимости программного обеспечения. Кроме того, создание программного обеспечения, удовлетворяющего требуемым параметрам и характеристикам возможно только при наличии достаточной квалификации персонала разработчиков.
Процедурная парадигма программирования нацелена на снижение трудоемкости процесса создания программного обеспечения от создания технического задания до завершения эксплуатации. Как следствие, подобный подход к созданию программ позволяет значительно усложнить класс прикладных задач, решение которых возможно с помощью современной информационной и телекоммуникационной техники.
Процедурная парадигма подразумевает необходимость единой дисциплины на всех стадиях разработки программы (подготовка технического задания, проектирование, кодирование, отладка, сопровождение). В понятие процедурного подхода к программированию обычно включают нисходящие методы разработки программ (принцип «сверху вниз»), собственно процедурное программирование и так называемый сквозной структурный контроль (средство анализа всего проекта и обнаружения ошибок на возможно более ранней стадии проектирования программы).
О качестве программы можно судить с самых разных точек зрения. Однако можно выделить некоторые наиболее важные характеристики, позволяющие оценить насколько «хороша» данная программа. Следует отметить, что программы, созданные в рамках процедурной парадигмы при достаточном профессионализме разработчика, вполне могут удовлетворять всем этим критериям.
Программа работает и решает поставленную задачу. Ясно, что эта характеристика программы является самой важной. Требование, чтобы программа решала поставленную задачу является настолько очевидным, что вряд ли необходимо на нем останавливаться подробно. Отметим лишь, что аналитическое доказательство правильности программы - задача достаточно сложная, и для ее успешного разрешения необходимо, чтобы программа легко анализировалась, что и достигается за счет перехода к методам процедурного программирования.
Минимальное время, затрачиваемое на тестирование и отладку программы.Характеристика программы с точки зрения ее отладки поддается количественному измерению, т.к. можно непосредственно измерить время, затраченное при работе за компьютером и общее время, затраченное программистом на отладку программы. Тестирование и отладка программы облегчаются, если программа просто анализируется и снабжена необходимыми комментариями, облегчающими ее понимание. Кроме того, понимание программы облегчается, если она имеет простую ясную структуру, в частности, если при использовании процедурного подхода ограничено использование операторов передачи управления (GOTO). Перегруженность программы этими операторами приводит к хаотической структуре и усложняет отладку. Общий принцип состоит в том, что если программа настолько сложна и изощренна, что понятна только разработчику, то она бесполезна, поскольку ею не могут воспользоваться другие пользователи.
Уменьшение затрат на сопровождение. Разработанная и отлаженная программа предназначена для многократного использования. В частности, она может быть частью целого комплекса программ, предназначенных для решения более сложной задачи. При сопровождении программы программистам приходится сталкиваться с целым рядом проблем, зависящих от качества сопровождаемой программы - чем лучше программа, тем проще ее сопровождение. Все это, в целом, значительно усложняет работу программистов, занимающихся сопровождением. При этом нужно учесть еще и то, что большинство программистов с трудом понимают чужие программы, особенно, написанные хаотично, без четкой структуры.
Гибкость программы. За время эксплуатации программы могут измениться требования к решаемой задаче, техническое задание, требование к программе в связи с включением ее в новый комплекс программ и т.д. Появляется необходимость внести некоторые изменения в программу, что в некоторых случаях бывает очень трудно сделать, т.к. разработчиками не предусмотрена такая возможность. Если программа написана так, что ее невозможно изменить, то она рано или поздно окажется бесполезной.
Уменьшение затрат на разработку. Проектирование и разработка программы должны вестись так, чтобы было возможно, при необходимости, передать ее для завершения другому программисту.
Простота и эффективность. Программа должна быть просто организована.Это может проявляться и в структуре программы, характерной для программ, созданных в рамках процедурной парадигмы программирования, и в использовании простых
и наиболее естественных средств процедурного языка программирования, и в предпочтении простых структур данных.
Эффективность программы считается многими программистами одной из главных ее характеристик. Поэтому часто в ущерб другим качествам программы разработчики прибегают к различным приемам, чтобы уменьшить объем используемой памяти или сократить время работы программы. Следует отметить, что в большинстве случаев эти усилия не оправдывают себя. Разумный подход к повышению эффективности программы состоит в том, чтобы после ее разработки выявить в ней наиболее «узкие» места и постараться их улучшить. Как правило, это приводит к достаточному повышению эффективности программ и не ухудшает других ее важных характеристик.
Все перечисленные характеристики и требования показывают, что для создания «хорошей» процедурной программы необходимо придерживаться определенных принципов или определенной дисциплины программирования в рамках процедурной парадигмы, что должно быть доведено до студентов в процессе обучения информатике в вузе.
Таким образом, процедурное программирование является методом составления хорошо структурированных программ с выделенными замкнутыми по смыслу алгоритмами-процедурами, удобных для чтения и понимания человеком, прослеживания логики их работы, внесения в них исправлений и других изменений.
Основной целью процедурного программирования является уменьшение трудностей тестирования и доказательства правильности программы. В результате процедурного программирования в программах встречаются только ошибки кодирования, которые легко исправляются. Уменьшение трудностей, связанных с тестированием, безусловно, приводит к повышению производительности труда программистов и делает процедурную парадигму достаточно привлекательной с точки зрения обучения основам составления алгоритмов и программирования.
Процедурное программирование улучшает ясность и читаемость программ. Программы, написанные с помощью традиционных методов, особенно те, которые содержат большое количество операторов GOTO, имеют хаотическую структуру. Чтение и понимание таких программ из-за частых «прыжков» и отсутствия четко выраженных алгоритмов, решающих более мелкие подзадачи, существенно затруднено. Структурированные программы, построенные в рамках процедурной парадигмы, имеют последовательную организацию, поэтому такую программу можно прочитать без остановки от начала до конца.
Обратимся к основным правилам разработки программы на основе процедурной методологии.
Программа - это запись алгоритма решения той или иной задачи на выбранном языке программирования, например, на Паскале. Однако прежде чем записывать алгоритм, его необходимо разработать и овладеть языком, используемым в качестве рабочего инструмента для создания программы.
Написание программ. Этот этап часто называют «кодированием», подчеркивая тем самым, что эта работа носит в основном технический характер, хотя качественная запись алгоритма на языке программирования имеет немаловажное значение.
К началу написания текста должны быть четко определены назначение программы, ее исходные данные и требуемые результаты ее выполнения, разработана структура программы, т.е. четко выделены составные части (блоки, подпрограммы) будущей программы, точно определено назначение каждого из них и их взаимодействие. Разработка алгоритма и детальное проектирование будущей программы являются сутью процесса процедурного программирования.
Практика развития систем процедурного программирования позволила выработать некоторую общую методику разработки программ - метод пошаговой детализации (методом «нисходящего проектирования или проектирования сверху вниз»). Главная идея данного подхода состоит в том, чтобы решение какой-либо сложной задачи свести к решению некоторого числа более простых задач.
Большинство программ, разработанных на процедурных языках программирования, наглядно демонстрирует преимущества процедурного программирования методами пошаговой нисходящей детализации, а также подтверждает выводы о рациональности использования процедурного подхода в методологии разработки алгоритмов решения задач, используемых при обучении основам алгоритмизации. Серьезный шаг, который очевидно делается в этом случае к улучшению ясности и читаемости создаваемых программ, безусловно, является одним из основополагающих факторов целесообразности построения учебных курсов информатики для обучения методологии процедурного программирования студентов-информатиков в вузах.