/C-C-Qt-course

C++ Continuing Education Courses

Primary LanguageC++

Аудиозаписи лекций доступны по ссылке

Студент: Капаца Елена, helen@kapatsa.com

1. Github. Google C++ Style Guide

  • Зарегистрироваться на github.сom. Сделать fork репозитория. Запушить в свой репозиторий исходник c программой «Hello, World!».
  • Ознакомиться с Google C++ Style Guide

2. char-переполнение

  • Сделать переполнение по типу char и вывести в терминал и число и символ.
  • Дополнительно: переполнение по типу double.

3. Цикл в цикле

  • Сделать цикл в цикле в цикле. For в while в do-while
  • Использовать ветвление switch-case. В switch передавать цифру, на выходе получать первую букву цифры.

4. Рекурсивная функции

  • Разработать программу, использующую рекурсивную функцию. Программа должна суммировать числа даты вашего день рождения.
  • Реализовать функцию, создающую 10 текстовых файлов и заполняющая каждый из них по 1000 случайных цифр

5. Массив из 1000 элементов

  • Сделать программу, которая заполняет массив char размером 1000. Заполнить массив случайными символами (не цифрами) и вывести в консоль.
  • Реализовать программу, которая определяет частоту используемых символов. Текст должен браться из файла. Размер файла до 10000 символов.

6. Goto, вычитывание из файла

  • Написать “цикл” выводящий от 1 до 100 в консоль, используя goto
  • Реализовать программу, вычитывающую текст из файла (до 100000 символов) и считающую размер считанных данных
  • Дополнительно: Написать функцию, в которой вы используете все ключевые слова Си.

7. Телефонный справочник

  • Сделать программу «Телефонный справочник». Программа должна хранить связку «имя - телефон» с помощью структуры. Программа должна работать в двух режимах: Добавление новых записей с консоли. Хранение записей в файле.
  • Выводить все записи справочника.
  • Дополнительно: 3-ий режим поиска существующей записи

8. Менеджер задач на базе стека

  • Создать менеджер задач (имя, время выполнения, приоритет):
    • Объявить стэк / очередь
    • Реализовать создание задачи (push)
    • Реализовать удаление задачи (pop)
    • Реализовать отображение задач (peek)
    • Реализовать ввод задачи с консоли
    • Реализовать автоматическую генерацию задачи
    • Реализовать уведомления о выполнении задачи
    • Уведомление о количестве оставшихся з.
    • Реализовать погружение задачи в сон на введенное / сгенерированное время выполнения
    • Реализовать последующее автоудаление задачи
    • Реализовать отображение задач по приоритету (во время выполнения)
    • Реализовать режим редактирования стека / очереди
    • Реализовать выполнение задачи (ожидание в течение введенного / сгенерированного времени)
  • Дополнительно: критическая з. вне очереди

9. Сортировка

  • Генерировать массив int arr[100000] случайных чисел
  • Использовать три вида сортировки (быстрая сортировка, сортировка «пузырьком», сортировка поиском минимума)
  • Подавать 100 разных массивов
  • По окончании подсчета выводить информацию о статистике в консоль:
    • Подсчет и вывод среднего времени
    • Вывод наименьшего и максимального времени выполнения

11. Менеджер страничной памяти

  • Реализовать оперирование памятью с использованием страничной модели памяти. Максимум доступной памяти - 10 Мб. Минимальный размер страницы - 1 Кб.
  • Реализовать выделение -> удаление с.
  • Реализовать объединение с.
  • Дополнительно: утряска (объединение свободного места).

14. Крестики-нолики

  • Использовать классы
  • Реализовать случайный режим NPC (100% случайные ходы)
  • Учесть случай, когда не хватает последнего символа до окончания игры
  • Реализовать режим "2 игрока"
  • Дополнительно: Реализовать режим "нормальный ИИ"

18. Морской бой

  • Расстановка кораблей (1,2,3,4 палубы; направление корабля вниз-вверх) и проверка на правильность их расположения;
  • Переход в режим боя;
  • Осуществление самого процесса боя с фиксацией окончания боя и победы / поражения;
  • Дополнительно: автоматическая расстановка кораблей
  • Дополнительно: Режим Игрок-ИИ

24. Построение графика

  • Создать скрипт, генерирующий датасет.csv из 1000 пар x - y;
  • Сделать программу, строящую график по данным из файла. Файл содержит до 1000 записей в формате [х у]: 102 1.6; 98 1.59; 99 1.602.
  • Дополнительно: Изменение масштаба по х и по у (c перерисовкой и выбором диапазона).
  • Дополнительно: Подписи координат к точкам через каждые 100 выведенных точек.
  • Дополнительно: Расчет минимального и максимального значения, подписи к ним (выделить цветом).

28. Генератор паролей

  • Реализовать настройку длины пароля
  • Реализовать настройку наличия / отсутствия спецсимволов
  • Реализовать настройку наличия / отсутствия цифр
  • Реализовать хранение сгенерированного в файле вида "passwordname: password"