Практикум на ЭВМ (161)

Правила

Критерии

Задания

Успеваемость

2008-2009.IT.161

* Данные об успеваемости публикуются с устного согласия студентов группы. Для просмотра таблицы требуется браузер с поддержкой JavaScript.

Обозначения

    • V - зачтено
    • Недочёты:
      • F - форматирование
      • С - комментарии
      • P - работоспособность программы
      • U - проблемы с пониманием задания
      • N - задание не найдено, либо найдено в странном месте :)
    • E - злоупотребление возможностью обмениваться информацией

Список задач

Начальный блок (срок - до 24.10.2008)

Следующий блок задач

    1. Факториал
    2. а - рекурсивно
    3. б - итеративно
    4. Посчитать произведение a*b, не используя операцию умножения.
    5. Посчитать целую степень числа: a^n
    6. а - bruteforce
    7. б - эффективно
    8. Нахождение количества нулевых элементов в массиве
    9. Проверка массива на симметричность
    10. Проверка, является ли строка палинромом.
    11. Проверка числа на простоту.

Длинная арифметика

(arithm, stack, makefile)

    1. Библиотека длинной арифметики
    2. Стек длинных чисел
    3. Стековый калькулятор
    4. makefile (пример)

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

Калькулятор

(calc)

    1. Калькулятор арифметических выражений, реализованный рекурсивным спуском

По возможности, постарайтесь разделить функцию main, лексер и парсер. В идеале следует использовать библиотеку длинной арифметики из предыдущего задания, но допускается использования встроенной в язык C арифметики целых чисел. Как и в предыдущем задании, используйте makefile для сборки проекта.

Теоретические задания

    1. Грамматики и рекурсивный спуск (с 17.11.2008)
    2. Лямбда-исчисление (по результатам)

Ссылки