
- •Дисциплина «Системное программирование» Теоретические вопросы
- •Операционные системы: история
- •Системные вызовы управления терминалом
- •Операционные системы: назначение и основные функции
- •Управление процессами в операционных системах
- •Конкуренция процессов
- •Базовые примитивы доступа к файлам
- •Файлы с несколькими именами
- •Каталоги, файловые системы и специальные файлы
- •Базовые примитивы для работы с процессами.
- •Обработка сигналов в 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 предопределений модулей, которые могут быть использованы для программ реального режима ДОС. Модули могут быть в виде PAS файлов с исходными текстами и в виде объектных модулей TPU в файлах. Паскаль содержит следующие стандартные модули: System, Dos, CRT,Printer,GRAPH,Overlay. В библиотеке модулей, которые называются turbo.tpl содержатся модули System,Dos,CRT,Printer,Overlay. Остальные Graph,String,Windos,Turbo3,GraphS находятся в отдельных файлах библиотеки Turbo Vision. Максимальная длина сегмента модуля может быть не более 64к.байт. Количество используемых модулей ограничиваются только внешней памятью. Структура модуля. Он состоит из заголовка ( (1)интерфейсная оболочка; 2)исполняемая часть или часть реализации; 3) инициализирующая часть ); 1) interface (а)uses – глобальные объекты модуля; б)заголовки процедур и функций с параметрами); 2)implementation (а) локальные процедуры и функции; б)тексты процедур и функций); 3) может начинаться служебным словом begin, а может на начинаться этим словом. Важно, чтобы она заканчивалась служебным словом end. В этой части, если это требуется, могут открываться нужные файлы и инициализироваться переменные. Использование модулей. Для использования модулей надо: после оператора programставим служебное слово USES Printer,Crt,Graph; Модуль System подключается автоматически без указания его в uses. Краткое описание модулей. Модуль System – это библиотеку поддержки Турбо Паскаль. Он обеспечивает выполнение низкоуровневых программ, таких как файловый ввод, вывод, обработка строк, операции с плавающей запятой и управление динамической памятью. Все модули и программы Паскаля автоматически используют модуль System. Модуль DOS и WinDOS – эти модули поддерживают большинство наиболее часто используемых функций операционной системы и обработки файлов. Модуль WinDos в отличии от модуля Dos используют специальный тип строки завершающейся нулем и предназначенный для взаимодействия с операционной системой Windows. Модуль CRT дает возможность управлять чтением расширенных кодов клавиатуры, экранным режимом, использовать звук, цвет и окна. Модуль Printer позволяет перенаправлять стандартный вывод Турбо Паскаля на принтер, используя процедуры writeln,write.
Образцы решений задач
1. Написать программу для вычисления функции:
на промежутке [-20,20] с шагом 0,5
Ответ
Program prim1;
var x,y:real;
begin x:=-20;
while x<=20 do {цикл смены X из интервала [-20,20] }
begin
if x<-10 then y:=2-x else {проверка условия}
if x<-5 then y:=x-x*x else
if x<2 then y:=x*x*x else
y:=sqrt (x);
writeln ('y=',y:6:2,'при x=',x:6:2);
x:=x+0.5;
end;
end.
2. Сформировать двухмерный массив, состоящий из n X n элементов.
После чего: найти сумму элементов столбца, в котором расположен минимальный элемент матрицы.
Ответ
program prim2;
uses crt;
const n=13;
var a:array[1..n,1..n] of integer; {объявляем двухмерный массив}
s,min:integer;
i,k,j:byte;
begin
clrscr;
writeln ('Элементы матрицы ->');
randomize; {инициализация процедуры генерации случайных чисел}
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random (100) {заполняем массив случайными числами в диапазоне от 0 до 100};
write (a[i,j],'':5);
end;
writeln;
end;
min:=a[1,1];
for i:=1 to n do
for j:=1 to n do
if min>a[i,j] then
begin
min:=a[i,j];
k:=j;
end;
for i:=1 to n do
s:=s+a[i,k];
writeln ('Сумма элементов столбца ',k,' в котором расположен Min=',min,' равна->',s);
readkey
end.
3. Задан двумерный массив A (NxN). Найти, сколько отрицательных эллементов массива А=a[i,j] удовлетворяют условию: -110<=a[i,j]<=-1. Из этих элементов сформировать новый массив В.
Ответ
program prim3;
uses crt;
const n=5;m=10;
var a:array[1..n,1..n] of integer; {объявляем двухмерный массив}
b:array[1..m] of integer; {объявляем одномерный массив} r,i,j:integer;
begin
clrscr;
writeln ('Элементы матрицы ->');
randomize; {инициализация процедуры генерации случайных чисел}
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random (200+200)-200; {заполняем массив случайными
числами в диапазоне от -200 до 200}
write (a[i,j]:5,' ');
end;
writeln;
end;
r:=0;
for i:=1 to n do
begin
for j:=1 to n do
begin
if a[I,j]<0 then
if (a[I,j]>=-110)and (a[I,j]<=-1)then {проверяем условие}
begin
r:=r+1; b[i]:=a[i,j]; write (b[i]:3,',');
end;
end;
end;
writeln;
writeln ('условию удовлетворяют ',r,' элемента массива' );
readln
end.
4. Известно, что в текст Т входит восклицательный знак. Подсчитать в последовательности символов, предшествующих восклицательному знаку количество пробелов.
Ответ
Program prim4;
var t: string;
I: byte; {счетчик цикла}
c: byte; {количество пробелов}
Begin
write ('введите текст:');
readln (t);
I:=1; c:=0;
while t[i]<>'!' do
Begin
if t[i]=' ' then
inc (c); inc (i); {увеличение на 1}
end;
writeln ('количество пробелов равно',с)
end.