Вопросы для Госэкзамена
по специальности 220400 "Программное обеспечение ВТ и АС"
Теоретические вопросы
ОПЕРАЦИОННЫЕ СИСТЕМЫ
1. Классификация ОС. Требования, предъявляемые к ОС.
2. Понятие процесса. Состояние процессов. Алгоритмы планирования процессов
3. Понятие прерывания. Виды прерываний. Механизм прерываний.
4. Память. Типы адресов. Виды распределения памяти.
5. Понятие файла. Структура файла. Реализация файлов.
6. Файловая система FAT.
7. Файловая система NTFS.
БАЗЫ ДАННЫХ
8. Модели систем управления данными: сетевая, иерархическая, реляционная модель.
9. Реляционная модель данных. Базовые понятия. Отношения и свойства отношений. Составляющие реляционной модели данных.
10. Стадии и этапы разработки базы данных.
11. Трехуровневая архитектура схем баз данных в СУБД.
12. Нормализация таблиц при проектировании баз данных. Нормальные формы (1НФ, 2НФ, 3НФ, НФБК).
13. Функции СУБД.
14. Архитектура клиент-сервер. Распределенные базы данных.
СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИ
15. Понятие о способах коммутации в распределенных вычислительных системах (коммутация каналов, коммутация пакетов)
16. Аппаратура передачи данных (модемы)
17. Характеристики локальных вычислительных сетей типа ETHERNET
18. Структуры распределенных вычислительных систем (топология, физические и логические элементы сетей ЭВМ)
19. Характеристики транспортного, сеансового, представительского и прикладного уровней модели взаимодействия открытых систем.
20. Характеристика физического, канального и сетевого уровней модели взаимодействия открытых систем.
21. Эталонная модель взаимодействия открытых систем (назначение, преимущества и недостатки управления, распределенного по уровням)
СТРУКТУРЫ И АЛГОРИТМЫ ОБРАБОТКИ ДАННЫХ
22. Связное представление данных в памяти. Связные линейные списки (односвязные, двусвязные, многосвязные). Машинное представление связных линейных списков. Реализация операций над связными линейными списками.
23. Структура данных типа СТЕК. Логическая структура стека. Машинное представление стека и реализация операций.
24. Структуры данных типа очередь. Логическая структура очереди. Машинное представление очереди FIFO и реализация операций. Очереди с приоритетами.
25. Графы. Основные определения. Машинное представление графов в последовательной памяти и связной памяти.
26. Деревья. Основные определения. Логическое представление и изображение деревьев. Бинарные деревья. Машинное представление деревьев в памяти ЭВМ. Алгоритмы прохождения деревьев.
27. Сравнительный анализ алгоритмов поиска: линейный, двоичный.
28. Улучшенные методы сортировки. Сортировка Шелла, Хоара, улучшенная сортировка выбором. Сортировка с помощью дерева.
ФУНКЦИОНАЛЬНОЕ И ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
29. Отношение и предикат Кванторы. Язык логики предикатов. Аксиомы. Правила вывода. Свойства исчисления предикатов.
30. Предваренная, скулемовская и клаузальная формы. Логическое следование. Унификация. Алгоритм унификации. Исчисление метода резолюций.
31. Предикаты. Предложения: факты и правила. Запросы (цели). Переменные. Анонимные переменные. Конкретизация переменных. (Prolog).
32. Секции программы. Основные стандартные домены. (Prolog).
33. Основные принципы поиска с возвратом. Управление поиском решений (предикаты fail и !). (Prolog).
34. Рекурсивные функции. Лямбда – исчисление Черча.
35. Вывод в программах на Лисп. Определение ростых функций в Лисп – программах.
ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ
36. Этапы разработки ПО с использованием объектно-ориентированного подхода. Анализ, проектирование, эволюция и модификация.
37. Инкапсуляция, наследование, полиморфизм. Классы, объекты и отношения между ними. Диаграммы логического уровня.
38. Концепции информационного моделирования. Создание моделей на языке UML.
39. Динамическое поведение объектов. Состояния, события, сигналы и сообщения. Модели взаимодействия объектов.
40. Компоненты и интерфейсы. Диаграммы физического уровня.
41. Объявление и реализация классов на языке Паскаль.
42. Принципы создания компонент в визуальных средах разработки.
ТЕОРИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ И МЕТОДЫ ТРАНСЛЯЦИИ
43. Трансляторы, компиляторы и интерпретаторы: определение, общая схема работы. Варианты взаимодействия блоков транслятора.
44. Лексический анализатор. Методы лексического анализа.
45. Синтаксический разбор. Классификация методов синтаксического разбора.
46. Общие принципы нисходящего и восходящего методов разбора.
47. СУ схемы перевода. Синтаксически-управляемые трансляции и генерация промежуточной программы.
48. Формы внутреннего представления программы.
49. Атрибутные схемы перевода (атрибутные трансляционные грамматики, атрибутные автоматы)
ТЕОРИЯ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ
50. Формальные языки и грамматики. Классификация грамматик по Хомскому. Контекстно-свободные грамматики и их свойства. Распознаватели. Конечные автоматы.
51. Программы и схемы программы. Формы стандартных схем программ. Интерпретация и свойства стандартных схем программ.
52. Трансляция схем программ. Обогащенные и структурированные схемы.
53. Верификация программ. Методы доказательства правильности программ. Правила верификации К.Хоара.
54. Методы формального определения семантики.
55. Сети Петри. Моделирование процессов на основе сетей Петри.
АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
56. Типы структур вычислительных машин и систем.
57. Факторы, определяющие развитие архитектуры вычислительных систем.
58. Архитектура системы команд.
59. Стековая архитектура системных команд.
60. Организация шин.
61. Организация памяти ЭВМ.
62. Основные направления в архитектуре процессоров.
ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
63. Жизненный цикл программного обеспечения. Модели жизненного цикла ПО: каскадная, спиральная. Стадии, фазы работы жизненного цикла.
64. Структура внешнего описания ПС. Качество ПО. Критерии и примитивы качества.
65. Процессы управления разработкой ПС. Структура управлением разработки ПС. Планирование составления расписания по разработки ПС. Аттестация ПС.
66. Методы разработки структуры ПС. Восходящая разработка ПС. Нисходящая разработка. Конструктивный подход. Архитектурный подход разработки ПС.
67. Объекты и отношения в программировании. Сущность объектного подхода к разработке программных средств. Особенности объектного подхода к разработке внешнего описания программного средства.
68. Принципы и виды отладки программного средства. Автономная отладка программного средства. Комплексная отладка программного средства.
69. Инструментальные среды разработки и сопровождения программных средств и принципы их классификации. Основные классы инструментальных сред разработки и сопровождения программных средств.
ЧЕЛОВЕКО-МАШИННОЕ ВЗАИМОДЕЙСТВИЕ
70. Понятие информационного взаимодействия. СЧМ.
71. Интерфейс. Пользовательский интерфейс. Классификация пользовательских интерфейсов.
72. Парадигмы интерфейсов.
73. Диалог. Типы диалогов. Формы диалога.
74. Основные компоненты графических пользовательских интерфейсов.
75. Эргономические требования, предъявляемые к дизайну пользовательских интерфейсов.
ПРАВОВОЕ ОБЕСПЕЧЕНИЕ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
76. Виды объектов авторского права. Виды авторских прав. Программы для ЭВМ и базы данных, как объект авторского права.
77. Правовые вопросы организации Интернет-сайта.
78. Правовые вопросы, возникающие при использовании электронной почты.
79. Объекты патентного права.
Практические задания.
ОПЕРАЦИОННЫЕ СИСТЕМЫ
1. Занести в BL наименьшее число из отрезка от 2 до К на которое не делится число N, при условии что 2 K<N
2. Вычислить факториал числа 8!
3. Дан массив типа word размерностью n. Найти сумму всех его элементов не превышающих заданного m, далее вывести ее на экран.
4. Найти в массиве максимальный элемент и его индекс. Вывести на печать.
5. Подсчитать сколько раз в массиве встречается заданный элемент N. Вывести кол-во данных вхождений.
СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИ
6. Написать HTML код для отображения в браузере таблицы:
1 2
3 4
5 6 7
7. Рассчитать сетевую маску для IP адреса 192.168.0.37/28.
Указать сколько компьютеров может входить в такую подсеть.
Написать 2 зарезервированных адреса у которых в поле номер компьютера расположены все 0 или все 1.
8. Написать код css файла в котором при помощи псевдоклассов описывается поведение ссылок отличное от стандартного.
9. Указать к какому классу относится каждый из перечисленных IP адресов:
192.168.0.15
127.0.0.1
112.0.0.15
167.58.13.21
СТРУКТУРЫ И АЛГОРИТМЫ ОБРАБОТКИ ДАННЫХ
10. Составить программу, которая формирует очередь, добавляя в нее произвольное количество компонент.
11. Составить программу, которая формирует стек, добавляя в него произвольное количество компонент.
12. Написать процедуру, которая выполняет вставку компоненты по заданному ключу.
ФУНКЦИОНАЛЬНОЕ И ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
13. На языке Пролог вычислить сумму ряда целых чисел от 1 до n.
14. Написать программу на языке Пролог, реализующую телефонный справочник. В справочнике содержится следующая информация о каждом абоненте: имя и телефон. Реализовать вывод всей информации из справочника, поиск телефона по имени, поиск имени по телефону.
15. Написать программу на языке Пролог для реверса списка. Например: [1, 2, 3] [3, 2, 1].
16. Написать программу на языке Пролог для удаления из списка целых всех элементов, равных 0. Например: [1, 0, 2, 0, 3, 0] [1, 2, 3].
ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ
17. Построить программу на языке Си++ для работы со структурой Дата. Программа должна обеспечивать простейшие функции для работы с данными структурами: увеличение/уменьшение на 1 день, ввод значений, вывод значений.
18. Построить программу на языке Си++ для работы со структурами - строками. Структура должна включать следующие поля: массив для хранения строки, его длину, время создания строки. Программа должна обеспечивать простейшие функции для работы с данными структурами: изменение строки, вывод строки, нахождение подстроки в строке.
19. Построить программу на языке Си++ для работы со структурами - квадратными матрицами. Структура должна включать соответствующие поля: порядок, набор коэффициентов. Программа должна обеспечивать простейшие функции для работы с данными структурами: ввод матрицы, транспонирование матрицы, вывод матрицы в удобной форме.
ТЕОРИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ И МЕТОДЫ ТРАНСЛЯЦИИ
20. Выполнить вычисление функции ПЕРВ для правил следующей грамматики G=(N,T,P,S):
N={A,B,C.D}
T={a,b,c,d,g,f}
P = {(1) <A> ? <B><C>c,
(2) <A> ? g<D><B>,
(3) <B> ? ,
(4) <B> ? b<C><D><E>,
(5) <C> ? <D>a<B>,
(6) <C> ? ca,
(7) <D> ? ,
(8) <D> ? d<D>,
(9) <E> ? g<A>f,
(10) <E> ? c }.
21. Выполнить вычисление функции СЛЕД для нетерминалов грамматики G=(N,T,P,S):
N={A,B,C.D}
T={a,b,c,d,g,f}
P = {(1) A ?BCc,
(2) A ? gDB,
(3) B ?,
(4) B ? bCDE,
(5) C ? DaB,
(6) C ?ca,
(7) D ?,
(8) D ?dD,
(9) E ? gAf,
(10) E ? c }.
ТЕОРИЯ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ
22. Построить приведенную грамматику
G={N,T,P,S}
Т={a,b,c}
N={I,T,M,K}
P: {IT
II+T
II-T
TM
TT*M
TT/M
M(I)
MK
Ka
Kb
Kc}
23. Эквивалентны ли грамматики с правилами:
S ? AB и S ? AS | SB | AB A ? a | Aa A ? a B ? b | Bb B ? b
24. Ввести строку из произвольных ASCII-символов и произвести её сортировку под управлением функциональных клавиш: <F1> - по возрастанию; <F2> - по убыванию; <F10> - завершение программы. Работу программы отобразить на экране. (Assembler).
25. Ввести строку из произвольного числа символов. Выполнить преобразование символьной строки в её цифровой аналог на основе ASCII-кодов, после чего произвести поиск максимального кода. Работу программы отобразить на экране. (Assembler).
Программа установки форматирует этот диск в обычный FAT, максимальный размер которого в NT составляет 4 Гбайт (с использованием не совсем стандартного огромного кластера 64 Кбайта), и на этот FAT устанавливает NT. А вот уже в процессе первой загрузки самой операционной системы (еще в установочной фазе) производится быстрое преобразование раздела в NTFS; так что пользователь ничего и не замечает, кроме странного "ограничения" на размер NTFS при установке.