(c) Larry Ewing, Simon Budig, Garrett LeSage
с 1994 г.

Кафедра Информатики и Математического Обеспечения

ПетрГУ | ИМиИТ | О кафедре | Мобильные платформы | Лаборатория ИТС | Семинары НФИ/AMICT
Сотрудники | Выпускники | Учебный процесс | Табель-календарь | Курсовые и выпускные работы
Вычислительные ресурсы | Публикации | Архив новостей | Контактная информация

В течение семестра необходимо выполнить пять заданий не считая вводных задач, предназначенных для освоения среды. Задачи должны быть сданы в сроки, указанные ниже. Только тогда они могут быть оценены положительно. Если срок пропущен, то задача все равно должна быть сдана, но положительной оценки за нее не выставляется.

Вводные задачи 01 и 02 зачитываются без оценки. Сданная в срок основная задача оценивается от 0 до 5 баллов. Оценка выставляется на основании требований протокола в бланк (который должен принести студент).

Сдача работы подразумевает:

Задача 01. Набрать и запустить в emacs программу "Hello world". При сдаче необходимо продемонстрировать умение транслировать и запускать программу.

Задача 02. Набрать и запустить в emacs программу подсчета числа слов в тексте. Модифицировать эту программу для подсчета символов буквы 'A' (латинской) в тексте. При сдаче необходимо продемонстрировать умение работать в отладчике gdb.

Список практических заданий и соответствующих зачетных сроков

Задача 1. Найти в тексте номер строки, содержащей самое длинное слово. Текст определяется перенаправлением стандартного ввода.

Срок сдачи 19.10

Задача 2. Найти в тексте номер строки, содержащей самое длинное слово, в котором использована заданная комбинация символов. Комбинация должна быть указана в первой строке текста и завершается символом конца строки. Текст определяется перенаправлением стандартного ввода.

Срок сдачи 02.11

Задача 3. Модернизировать задачу 2 так, чтобы имя файла, содержащего текст, передавалось в программу из командной строки при запуске программы.

Срок сдачи 16.11

Задача 4. Модернизировать задачу 3. Новая реализация должна содержать не менее трех отдельных функций, не считая функции main(). Каждая функция должна быть содержательной, независимой, иметь параметры и возвращаемое значение. При разработке использовать передачу параметров как по значению, так и по адресу. По крайней мере один параметр и одно возвращаемое значение должны быть массивами. Комбинация для поиска должна передаваться из командной строки.

Срок сдачи 07.12

Бонусное задание (3 балла). Реализовать возможности анализировать несколько текстов в разных файлах и использовать ключи в командной строке для задания файлов и комбинации поиска.

Задача 5. Разработать тестовую оснастку для задачи 4. Использовать интерпретатор shell и, в частности, команду grep.

Срок сдачи 21.12

Бонусное задание (3 балла). Генерировать автоматический отчет о результатах тестирования.

Задача 6 (для успевающих). Собрать, запустить и разобраться в коде программы gtk-first. Данная программа написана с использованием графической библиотеки элементов интерфейса GTK+. Программа работает следующим образом: при нажатии на кнопку "Say", текст из поля ввода выводится в стандартный поток вывода.

Необходимо модифицировать код программы таким образом, чтобы интерфейс содержал два поля ввода, а при нажатии на кнопку "Say", текст из первого поля ввода записывался в файл с именем, введенным в другое поле ввода.

Список студентов, которым рекомендуется решить 6-ю задачу (по результатам работы на практике):


Сроки сдачи бонусных задач совпадают со сроками сдачи основных заданий.

Студенты, набравшие в течение семестра 31 балл получат привилегии при выполнении письменной экзаменационной работы при наличии рекоммендации инструктора. О видах привилегий будет объявлено дополнительно.