- •Дисциплина «Системное программирование» Теоретические вопросы
- •Операционные системы: история
- •Системные вызовы управления терминалом
- •Операционные системы: назначение и основные функции
- •Управление процессами в операционных системах
- •Конкуренция процессов
- •Базовые примитивы доступа к файлам
- •Файлы с несколькими именами
- •Каталоги, файловые системы и специальные файлы
- •Базовые примитивы для работы с процессами.
- •Обработка сигналов в unix Нормальное и аварийное завершение
- •Примитивы межпроцессного взаимодействия: программные каналы.
- •Дополнительные средства межпроцессного взаимодействия в unix.
- •14. Напишите аналог команды ls –l
- •15. Напишите «часы», выдающие текущее время каждые 3 секунды
- •16. Напишите программу, которая ожидает ввода с клавиатуры в течение 10 секунд.Если ничего не введено – печатает «Нет ввода», иначе – «Спасибо».
- •17. Используя файловую систему /proc, получите информацию об открытых всеми процессами файлах
- •18. Напишите функцию mysleep(n), задерживающую выполнение программы на n секунд.
- •19. Составьте программу вывода строк файла в инверсном отображении
- •20. Создайте аналог команды df
- •21. Напишите программу создания и записи образов дискет
- •22. Напишите функции включения и выключения режима эхо-отображения набираемых на клавиатуре символов
- •23. Напишите программу для запуска команды ls в качестве дочернего процесса
- •24. Создайте два процесса, взаимодействующих через программный канал.
- •25.Создайте аналог команды sync
- •Понятие алгоритма. Свойства, способы задания, основные структуры алгоритма. Понятие о структурном подходе к разработке алгоритма.
- •Алгоритмическая структура цикл. Типы циклов. Способы управления циклами. Итерационные циклы. Простые и вложенные циклы.
- •Типы данных в языке Паскаль. Действия над ними. Стандартные типы данных и типы пользователя.
- •Операторы циклов в языке Паскаль. Примеры использования.
- •Цикл с предусловием
- •5.Условный оператор и оператор выбора вариантов в языке Паскаль. Структурная схема. Примеры использования.
- •6 Структурные типы данных. Массивы. Записи, вариантные, вложенные.
- •7.Обработка строковых данных в Паскале. Особенности использования.
- •8.Процедуры и функции в Паскале. Особенности использования.
- •Стандартные файлы и файлы пользователя в Паскале. Типы файлов. Процедуры и функции для работы с файлами.
- •10.Прямая и косвенная рекурсия. Особенности использования.
- •11.Структура языка Паскаль. Структура программ на языке Паскаль.
- •Модульное программирование. Стандартные модули. Назначение и использование.
- •Образцы решений задач
- •1. Написать программу для вычисления функции:
- •2. Сформировать двухмерный массив, состоящий из n X n элементов.
- •5. Задан текст s. Сколько раз в тексте встречается заданное слово (слова разделены пробелами)
- •Дисциплина «Основы баз данных и знаний»
- •1. Архитектура бд. Понятие 3-вой архитектуры бд. Ее преимущества. Внешний уровень. Концептуальный уровень. Внутренний уровень.
- •2. Классификация моделей данных.
- •3. Иерархическая модель. Преимущества и недостатки иерархических структур.
- •4. Сетевая модель данных.
- •5. Реляционная модель данных.
- •6. Нормализация. Пять нормальных форм.
- •7. Физические модели бд.
- •8. Файловые структуры. Файлы прямого доступа. Файлы последовательного доступа.
- •9. Индексные файлы. Индексно-прямые файлы. Индексно-последовательные файлы.
- •10. Распределенные субд. Распределенная обработка данных. Параллельные субд.
- •11. Преимущества и недостатки сурбд.
- •12 Правил Дейта для сурбд.
- •12. Объектно-ориентированные субд. Требования к оосубд.
- •13. Объектно-реляционные субд.
- •14. Структура языка sql.
- •15. Типы данных языка sql.
- •16. Создание схем, бд, таблиц операторами языка sql.
- •17. Индексация в субд. Типы индексов. Создание и удаление индекса операторами языка sql.
- •18. Редактирование данных в таблице бд операторами языка sql.
- •19. Построение запросов операторами языка sql.
- •20. Понятие агрегирующих функций.
- •21. Объединение таблиц. Построение многотабличных запросов операторами языка sql.
- •22. Субд Access. Понятия таблицы, запроса, формы, отчета, макроса.
- •Примеры решений задач
- •Дисциплина «Организация и функционирование эвм»
- •Характеристики жесткого диска.
- •2.Структура дискового сектора. Коды исправления ошибок ecc.
- •3.Назначение коэффициента чередования секторов и коэффициента перекоса головки.
- •4.Сравнительная характеристика интерфейсов жестких дисков.
- •5.Позиционирование магнитной головки. Виды сервосистем.
- •6.Кэширование диска. Виды кэша. (Кэш считывания, кэш со сквозной записью, кэш с отложенной записью и элеваторный кэш).
- •7.Форматирование жесткого диска. Физическое форматирование. Организация разделов на жестком диске.
- •8.Логическое форматирование. Таблица размещения файлов, ее виды.
- •9. Основная оперативная память. Динамическая память, принцип действия запоминающих ячеек. Архитектура динамической памяти, виды сигналов.
- •Типы динамической памяти. Асинхронная, синхронная память.
- •Модули памяти. Организация банков памяти.
- •12.Статическая память, ее разновидности. Кэш-память. Первичный и вторичный кэш.
- •13.Энергонезависимая память, типы памяти. Флэш-память.
- •14.Логическая структура памяти пэвм.
- •15.Сравнительная характеристика видов оптических дисков.
- •16.Сравнительная характеристика видов мониторов.
- •17.Текстовый и графический режим работы монитора. Формирование цвета.
- •18.Сравнительная характеристика видов принтеров.
- •«Теория автоматического управления»
- •Классификация сау
- •Связь входа и выхода. Способы построения моделей. Переходная функция и импульсная характеристика.
- •Типовые звенья линейных систем (усилитель, апериодическое звено, интегрирующее звено, колебательное звено, звено запаздывания).
- •4. Типовые звенья линейных систем (усилитель, апериодическое звено, интегрирующее звено, колебательное звено, звено запаздывания).
- •5. Частотные характеристики. Понятие лачх и лфчх.
- •6. Логарифмические частотные характеристики типовых линейных звеньев.
- •7. Структурные схемы и правила их преобразования.
- •8. Требования к системам автоматического управления (перечислить). Понятие точности управления.
- •9. Частотные критерии устойчивости. Критерий Найквиста.
- •10. Алгебраические критерии устойчивости. Критерий Гурвица. Критерий Вишнеградского.
- •11. Оценка качества системы. Запасы устойчивости.
- •12. Синтез регуляторов. Задачи синтеза
- •13. Синтез линейны непрерывных сау. Коррекция сау
- •14. Разновидности и свойства сау в зависимости от параметров синтеза.
- •15. Приведение задач тау к нулевым начальным условиям. Линеаризация математического описания системы.
- •16. Математические модели. Способы их построения. Линейность и нелиней-ность систем и моделей.
- •17. Преобразование произвольного сигнала линейным звеном
- •18. Интегральные оценки качества переходных процессов: линейные, квадра-тичные.
- •19. Типовые линейные законы регулирования. Виды регуляторов.
- •20. Расчет оптимальных параметров настройки регуляторов.
- •8.Характеристическое уравнение замкнутой системы
10.Прямая и косвенная рекурсия. Особенности использования.
Программа называется рекурсивной, если она вызывает саму себя. Рекурсивной может быть процедура, вызывающая другую процедуру, которая в свою очередь обращается к первой. В первом случае она называется прямой, а во втором косвенной. Рекурсивная программа занимает меньше места в памяти, выполняется быстрее, компактнее. Достоинством рекурсивных определений является то, что они позволяют с помощью конечных формул определять бесконечное множество объектов. Рекурсия широко применяется в программировании. Если не принять специальных мер, рекурсия становится бесконечной. Чтобы процесс рекурсии когда-нибудь завершился, необходимо рекурсивный вызов поместить внутри оператора, когда одна ветвь этого оператора содержит рекурсивный вызов, а другая – нет. Переход на ветвь условного оператора, не содержащую рекурсивный вызов, но обеспечивающую завершение работы рекурсивной подпрограммы, должен через конечный промежуток времени.
Косвенная рекурсия. Функция обращается к себе путем вызова другой подпрограммы, которая и содержит обращение к функции. (Procedure A (K:Byte); Begin B (K); end; Procedure B (N:byte); Begin A (N); End;). Программа работать не будет , т. к. она не может вызвать из А процедуру В, т. .к для этого описание процедуры В должно быть расположено до вызова. В данной ситуации в Паскале существует т. называемое опережающее описание, его суть: до вызываемой процедуры А дается только заголовок вызываемой процедуры В. А вместо тела, вызываемой процедуры В пишется ключевое слово FORWARD. В этом случае описание вызываемой процедуры начинается с заголовка процедуры, в котором нет формальных параметров. (Procedure B (N:byte); Forward; procedure a (k:byte); begin B (K); end; Procedure B; Begin A (N); End;). Рекомендуется использовать директиву {$ S+}. Она включается для проверки стека (памяти, где хранится состояние вызывающей программы) и если будет переполнение стека, то программа будет остановлена и выдано сообщение об ошибке. В начале каждой процедуры или функции вызываемого рекурсивно разместить строку: if Keypressed then HALF, тогда при зависании программы надо нажать любую клавишу.
11.Структура языка Паскаль. Структура программ на языке Паскаль.
Алгоритмический язык – это система правил для описания процесс обработки данных. Он включает алфавит, из символов которого формируются слова, выражения и операторы (предложения). Алфавит – Это набор допустимых символов языка. Слова (идентификаторы, константы) формируются из символов по определенным правилам. Выражения – это группа слов, имеющих определенный смысл. Операторы - это предложения для описания некоторого действия в процессе обработки данных. Из операторов формируются программы. Алгоритмический язык должен иметь формальные правила определения всех конструкций, допустимых в языке, и правила их толкования. Систему правил формирования множества конструкций языка (слов, выражений, операторов) представляет синтаксис языка. Систему правил истолкования смысла конструкций языка человеком и соответствующую им реализацию этих правил транслятором определяет семантика. Семантика может быть задана формально, с помощью металингвистических формул, и неформально, словесным описанием. Семантика определяет назначение конструкции, ее особенности, ограничения и т.п. Структура различных языков программирования однотипна. Они должны иметь средства для: определения свойств объектов программы (ее данных); определения обработки, т.е. получения новых значений объектов; организации процесса обработки данных; ввода/вывода данных, т. е. Обмена данными между ОП и внешними устройствами (магнитными дисками, портами, принтером); формирования и использования модулей (программ, процедур и функций) и библиотек модулей (системных и пользовательских, разработанных программистом).
Структура языка Паскаль
В текстах программ допускаются комментарии и пробелы. Комментарий – это текст, поясняющий программу и не влияющий на процесс ее выполнения. Комментарии ограничиваются символами { и} или (* и *). Программа на языке Паскаль состоит из заголовка программы и блока (тела программы). Заголовок программы или подпрограммы – это один из операторов: PROGRAM – для программы; PROCEDURE – для процедуры; FUNCTION – для функции. Процедуры и функции могут иметь ряд уровней вложенности, т.е. могут быть вложены в другие процедуры и функции. Форма оператора заголовка программы: Program имя_программы; Пример структуры программы:
Program PR; - заголовок программы
Объявление типов, констант, меток и переменных;
Блок программы и подпрограммы на языке Паскаль состоит из двух частей: 1) декларативной – описания (объявления) данных программы и текстов подпрограмм (разделы описаний); 2) выполнимой – описания действий, которые надо выполнить над данными (раздел операторов). Блок включает все, кроме заголовка программы или подпрограммы. В общем случае может состоять из шести разделов различных типов. Все они, кроме раздела операторов, необязательны. Каждый раздел описаний начинается ключевым словом: Label – для определения меток программы; Const – для определения констант Type – для определения типов данных, Var – для определения переменных, Procedure и Function – для определения процедур и функций, Begin – определяет начало раздела операторов программы. Оператор Program должен быть первым в программе, раздел операторов программы – последним. А между ними может быть сколько угодно разделов описаний в любом порядке. Типы и константы могут использоваться в последующих описаниях типов и переменных и программ. Последовательность разделов описания объектов (Label, Const, Type,Var и др.) программы может быть произвольной. В случае необходимости типы разделов могут повторяться. Умолчаний в Паскале нет. Все, что используется в программе: константы, переменные, метки, - должно быть обязательно явно. Каждый объект программы должен быть описан и только один раз для данной области действия. Объекты программы имеют областью их действия блок, в котором они объявлены, и все вложенные в него блоки, процедуры и функции, в которых они не переобъявлены. Поэтому одни и те же идентификаторы можно использовать в различных подпрограммах (процедурах и функциях) программы в разных смыслах.