- •М іністерство освіти і науки україни
- •Методичні вказівки
- •Содержание
- •Дисциплина «Объектно-ориентированное программирование» Теоретические вопросы
- •Список литературы
- •21. Используя вызов lseek, напишите процедуры для копирования последних 10 символов, последних 10 слов и последних 10 строк из одного файла в другой.
- •Дисциплина «Алгоритмические языки и программирование» Теоретические вопросы
- •Типы задач
- •Образцы решений задач
- •1. Написать программу для вычисления функции:
- •2. Сформировать двухмерный массив, состоящий из n X n элементов.
- •4. Известно, что в текст т входит восклицательный знак. Подсчитать в последовательности символов, предшествующих восклицательному знаку количество пробелов.
- •5. Задан текст s. Сколько раз в тексте встречается заданное слово (слова разделены пробелами).
- •6. Сколько раз в тексте встречается заданное слово . Слова разделены пробелами или знаками препинания и т.П.
- •Литература
- •Дисциплина «Основы баз данных и знаний» Теоретические вопросы
- •Примеры решений задач
- •2 Используя язык структурированных запросов sql выполнить следующие действия:
- •3 Используя язык структурированных запросов sql выполнить следующие действия:
- •Литература
- •Дисциплина «Организация и функционирование эвм»
- •Создайте матрицу знакоместа дисплея для символа “”. Размер матрицы 8 на 12.
- •Определить объем видеопамяти необходимый для сохранения образа экрана если:
- •Определить количество кластеров необходимых для сохранения файла. Известно, что файл имеет размер 862899 байтов, а кластер состоит из 4 секторов.
- •Определить вертикальную частоту монитора, если горизонтальная частота составляет 90 кГц., разрешение монитора 1024 х 768 .
- •Литература
- •Дисциплина «Теория автоматического управления»
- •Примеры заданий:
- •Литература
Список литературы
Павловская Т.А. С/С++. Программирование на языке высокого уровня. - Спб.: Питер, 2001. - 464 с.
Пратта С. Язык программирования С++. Лекции и упражнения - М.: Диа-Софт, 2003. - 656 с.
Страуструп Б. Дизайн и эволюция языка C++. Объектно-ориентированный язык программирования. - М.: ДМК-Пресс, 2000. - 448с.
Шилд Г. С/С++. Справочник программиста - М.: Вильямс, 2000. - 448 с.
Шмидский Я.К. Программирование на языке С/С++ - М.: Диалектика, 2003. - 352 с.
Дисциплина «Системное программирование»
Теоретические вопросы
1. Операционные системы: история
2. Операционные системы: назначение и основные функции
3. Управление процессами в операционных системах
4. Конкуренция процессов
5. Базовые примитивы доступа к файлам
Литература:
Хэвиленд К., Грэй Д., Салама Б. Системное программирование в UNIX. Руководство программиста по разработке ПО: Пер. с англ. – M., ДМК Пресс, 2000. – 368 с. – глава 2.
6. Системные вызовы идентификации пользователей и права доступа
Литература:
Хэвиленд К., Грэй Д., Салама Б. Системное программирование в UNIX. Руководство программиста по разработке ПО: Пер. с англ. – M., ДМК Пресс, 2000. – 368 с. – глава 3.
7. Файлы с несколькими именами
Литература:
Хэвиленд К., Грэй Д., Салама Б. Системное программирование в UNIX. Руководство программиста по разработке ПО: Пер. с англ. – M., ДМК Пресс, 2000. – 368 с. – глава 3.
8. Каталоги, файловые системы и специальные файлы
Литература:
Хэвиленд К., Грэй Д., Салама Б. Системное программирование в UNIX. Руководство программиста по разработке ПО: Пер. с англ. – M., ДМК Пресс, 2000. – 368 с. – глава 4.
9. Базовые примитивы для работы с процессами
Литература:
Хэвиленд К., Грэй Д., Салама Б. Системное программирование в UNIX. Руководство программиста по разработке ПО: Пер. с англ. – M., ДМК Пресс, 2000. – 368 с. – глава 5.
10. Обработка сигналов в UNIX
Литература:
Хэвиленд К., Грэй Д., Салама Б. Системное программирование в UNIX. Руководство программиста по разработке ПО: Пер. с англ. – M., ДМК Пресс, 2000. – 368 с. – глава 6.
11. Примитивы межпроцессного взаимодействия: программные каналы
Литература:
Хэвиленд К., Грэй Д., Салама Б. Системное программирование в UNIX. Руководство программиста по разработке ПО: Пер. с англ. – M., ДМК Пресс, 2000. – 368 с. – глава 7.
12. Дополнительные средства межпроцессного взаимодействия в UNIX
Литература:
Хэвиленд К., Грэй Д., Салама Б. Системное программирование в UNIX. Руководство программиста по разработке ПО: Пер. с англ. – M., ДМК Пресс, 2000. – 368 с. – глава 8.
13. Системные вызовы управления терминалом
Литература:
Хэвиленд К., Грэй Д., Салама Б. Системное программирование в UNIX. Руководство программиста по разработке ПО: Пер. с англ. – M., ДМК Пресс, 2000. – 368 с. – глава 9.
Задачи
Экзаменационные задачи делятся на две группы: задачи на работу с файлами и задачи на работу с процессами. При выполнении задач первого типа необходимо использовать материал глав 1–4 книги [3], при выполнении задач второго типа необходимо использовать материал глав 5–9 книги [3]. В ряде случаев может потребоваться совместное использование системных вызовов для работы с файлами и процессами.
Задача 1 типа. Создайте файл newfile в текущем каталоге:
Решение:
#include <stdlib.h>
#include <fcntl.h>
#define PERMS 0644 /* Права доступа при открытии с O_CREAT */
char *filename="newfile";
main()
{
int filedes;
if((filedes = open (filename, O_RDWR|O_CREAT, PERMS)) == -1)
{
printf("Невозможно создать %s\n",filename);
exit(1); /* Выход по ошибке */
}
/* Остальная программа */
exit(0);
}
Задача 2 типа. Используйте вызов execl для запуска программы вывода содержимого каталога ls.
Решение:
#include <unistd.h>
main()
{
printf("Запуск программы ls\n");
execl("/bin/ls", "ls", "-l", (char*)0);
/* Если execl возвращает значение, то вызов был неудачным */
perror ("Вызов execl не смог запустить программу ls");
exit(1);
}
14. Напишите аналог команды ls -l
15. Напишите «часы», выдающие текущее время каждые 3 секунды
16. Напишите программу, которая ожидает ввода с клавиатуры в течение 10 секунд. Если ничего не введено – печатает «Нет ввода», иначе – печатает «Спасибо»
17. Используя файловую систему /proc, получите информацию об открытых всеми процессами файлах
18. Напишите функцию mysleep(n), задерживающую выполнение программы на n секунд. Воспользуйтесь системным вызовом alarm(n) (будильник) и вызовом pause(), который задерживает программу до получения любого сигнала. Предусмотрите рестарт при получении во время ожидания другого сигнала, нежели SIGALRM. Сохраняйте заказ alarm, сделанный до вызова sleep (alarm выдает число секунд, оставшееся до завершения предыдущего заказа)
19. Составьте программу вывода строк файла в инверсном отображении, причем порядок символов в строках также следует инвертировать
20. Создайте аналог команды df