Практикум на ЭВМ (171, 1 семестр)
Новости
Новости
- На следующем комп.занятии (24.10.2011, ауд.2406) будет проведена контрольная работа.
- Пройти опрос
Задания
Задания
- Синтаксис (12.09.2011)
- Посчитать факториал числа n итерацией (в цикле).
- Посчитать факториал числа n рекурсивно (функция, вызывающая сама себя).
- Посчитать произведение двух целых чисел, используя только операции сложения и вычитания.
- Эффективно посчитать n-ое число Фибоначчи.
- Рассчитать значение формулы формулы x^4 + x^3 + x^2 + x + 1 за два умножения. "Красиво" напечатать.
- Посчитать число "счастливых билетов" (билет считается "счастливым", если сумма первых трёх цифр его номера равна сумме трёх последних).
- Сортировки
- Реализовать любые 2 сортировки массива.
- Реализовать быструю сортировку Хоара (qsort).
- Строки
- Посчитать длину строки
- Определить по входной фразе, является ли она палиндромом.
- Командная строка, файлы
- Реализовать программу head - печать первых n строк входного файла.
- Программа должна работать аналогично одноименной утилите Linux:
- Программа имеет необязательный параметр - имя входного файла. Если параметр не указан, то чтение должно производиться из стандартного потока ввода.
- Программе можно передать необязательный параметр "-n <число>" задающий количество строк для вывода. По умолчанию - 10.
- Если на входе менее n строк, то выводится всё содержимое.
- Реализовать программу tail - печать последних n строк входного файла.
- Интерфейс программы аналогичен команде head
- Реализовать программу uniq - печать только таких строк входного файла, которые не повторяют предшествующую ей строку. (удаление последующих дубликатов строки)
- Программа должна работать аналогично одноименной утилите Linux:
- Программа имеет необязательный параметр - имя входного файла. Если параметр не указан, то чтение должно производиться из стандартного потока ввода.
- Структуры данных, списки
- Реализовать односвязный список, со вставкой с сохранением порядка.
- Модульное программирование, DLL
- На примере реализации 3-х сортировок показать работу динамически-подключаемых библиотек.
- Битовая арифметика
- Вывести двоичное представление целого числа.
- float - форматированная печать числа с плавающей точкой (пример)
- Форматирование текста
- Реализовать форматированный вывод программы на языке C:
- Программа подается на вход stdin, форматированный вариант выводится в stdout
- Символ '{' увеличивает отступ на последующих строках, '}' - уменьшает на последующих или на той, на которой располагается, если он является первым значащим символом на этой строке.
- Операторы в блоке должны иметь одинаковый отступ. Конец оператора можно определить по символам ";" или "}"
- Если в оригинальной программе оператор написан на нескольких строках, и последующие строки расположены с положительным отступом, относительно первой, то относительный отступ должен быть сохранен.
- Переразбиение на строки не производится.
- Текст самой программы не должен изменяться при обработке самой программы.
- *Стеково-регистровый CLI калькулятор
- Разбор и вычисление арифметических выражений рекурсивным спуском.
Контрольная работа
Контрольная работа
Обязательные требования: разумность решения, хорошее форматирование исходного кода, наличие "шапки" файла. Задания следует положить в папку W:/sem1/test1/.
- Удалить из входного текста некоторую букву и вывести получившийся текст. Текст и буква вводятся с консоли.
- Два неотрицательных числа заданы в двоичной форме в массивах. Элементы обоих массивов — булевые (0, 1). Написать программу, которая определяет, какое число больше.
- Вывести на консоль все однострочные комментарии С++ (вида "// комментарий \n") из входного файла (вместе с символами "//"). До комментария в строке может быть значимый текст, его выводить не надо, строки без комментариев не выводить. Конец строки представляется символом \n, могут быть полезны функции fgetc и feof.
Успеваемость
Успеваемость
Материалы