Практикум на ЭВМ (161)
Правила
Критерии
Задания
Успеваемость
* Данные об успеваемости публикуются с устного согласия студентов группы. Для просмотра таблицы требуется браузер с поддержкой JavaScript.
Обозначения
- V - зачтено
- Недочёты:
- F - форматирование
- С - комментарии
- P - работоспособность программы
- U - проблемы с пониманием задания
- N - задание не найдено, либо найдено в странном месте :)
- E - злоупотребление возможностью обмениваться информацией
Список задач
Начальный блок (срок - до 24.10.2008)
Следующий блок задач
- Факториал
- а - рекурсивно
- б - итеративно
- Посчитать произведение a*b, не используя операцию умножения.
- Посчитать целую степень числа: a^n
- а - bruteforce
- б - эффективно
- Нахождение количества нулевых элементов в массиве
- Проверка массива на симметричность
- Проверка, является ли строка палинромом.
- Проверка числа на простоту.
Длинная арифметика
(arithm, stack, makefile)
- Библиотека длинной арифметики
- Стек длинных чисел
- Стековый калькулятор
- makefile (пример)
Библиотека длинной арифметики подразумевает заголовочный файл (.h) защищенный от повторного включения директивами препроцессора, включающий описание типа для длинных чисел и предварительные описания функций (выделение памяти, освобождение и арифметические операции), файл с реализацией (.c) и дисциплина использования.
Калькулятор
(calc)
- Калькулятор арифметических выражений, реализованный рекурсивным спуском
По возможности, постарайтесь разделить функцию main, лексер и парсер. В идеале следует использовать библиотеку длинной арифметики из предыдущего задания, но допускается использования встроенной в язык C арифметики целых чисел. Как и в предыдущем задании, используйте makefile для сборки проекта.
Теоретические задания
- Грамматики и рекурсивный спуск (с 17.11.2008)
- Лямбда-исчисление (по результатам)
Ссылки
- Vim tutorial c иллюстрациями: http://www.linuxconfig.org/Vim_Tutorial
- Another vim tutorial с полезными ссылками: http://tips.webdesign10.com/another-vim-tutorial