Skip to content

CS50x 2022 выполненные задания с курса компьютерных наук Гарвардского университета.

Notifications You must be signed in to change notification settings

Robomez/CS50x_2022

Repository files navigation

Основной курс CS50 2022 года

pset1. Язык С

Cash - Подсчёт монет по 25, 10, 5 и 1 центу в заданном числе.

Credit - Проверка кредитной карты по номеру, определение системы VISA, MC, AMEX.

Mario-more - Вывод пирамиды указанной высоты из знаков

pset2. Массивы

Caesar - Шифр Цезаря на указанное количество знаков к произвольному тексту.

Readability - Подсчёт сложности введённого текста по методике scholastic.com

Substitution - Шифр подстановки - каждый символ подменяется соответствующим символом из массива-ключа.

pset3. Алгоритмы

Plurality - Множественное голосование. Задаётся количество кандидатов и голосующих, побеждает кандидат с наибольшим количеством голосов.

Runoff - Голосование, в котором голосующие ранжируют кандидатов по приоритету. В случае проигрыша кандидата, голоса выбравших его первым перераспределяются на тех, кого они выбрали вторым. Подсчёт проводится пока не останется один победитель.

Tideman - Голосование, в котором голосующие ранжируют кандидатов по приоритету. Строится граф, где вершины - кандидаты, рёбра - пары сравнения, начиная с тех, в которых разница в голосах наибольшая. Рёбра, приводящие к циклу, не учитываются. Побеждает тот, к кому не идёт ни одного ребра.

pset4. Память

Filter-more, Filter-less - Фильтры для bmp изображений. К нужному файлу согласно указанному при запуске аргументу применяется фильтр - отражение по горизонтали, оттенки серого, сепия, размытие, выделение границ объектов.

Recover - Восстановление jpeg фотографий со "стёртой флешки". Считывание памяти побайтно, определение последовательностей, свойственных началу и концу jpeg файлов, сохранение восстановленных файлов в отдельные jpeg фотографии.

Volume - Громкость указанного wav файла меняется на требуемую величину, после этого изменённый файл сохраняется.

pset5. Структуры данных (structs)

Inheritance - Из указанной группы крови человека восстановить группы крови двух поколений предков, используя рекурсивный вызов функции.

Speller - Указанный текст проверяется на орфографическую грамотность путём проверки слов на присутствие в словаре, хранящемся в отдельном текстовом файле.

pset6. Python

World-cup - Симуляция финалов ЧМ по футболу, исходя из шансов на выигрыш согласно рейтингу команд https://www.fifa.com/fifa-world-ranking.

Dna - Указанная в текстовом файле последовательность генов сравнивается по определённому алгоритму на совпадение с записями людей из csv базы.

pset7. SQL (Базы данных)

Songs - Написание SQL запросов к базе spotify для получения требуемых результатов.

Movies - Написание SQL запросов к базе IMDb, состоящей из нескольких таблиц, для получения требуемых результатов.

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

pset8. HTML, CSS, JavaScript

Trivia - Написать интернет страницу-викторину.

Homepage - Создать примитивный сайт из нескольких страниц. Фотогалерея, listener нажатий на клавиатуру, таблица.

pset9. Flask (Web-сервер)

Birthdays - Создать сайт с сохранением данных о днях рождения в SQL базе данных.

Finance - Создание сайта для торговли акциями, используя API IEX https://iextrading.com/developer/ для получения данных о стоимости акций. Данные о сделках и потрфеле акций сохранять в SQL базе данных.

About

CS50x 2022 выполненные задания с курса компьютерных наук Гарвардского университета.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published