Kodomo

Пользователь

Факультатив по языку программирования C++

Весна 2019

Преподаватель Алексей Сальников

Как склонировать репозиторий

  1. Поставить git https://git-scm.com/

  2. Для каждого участника на машине kodomo есть свой git репозиторий. Для его клонирования необходимо выполнить команду:

Задание 1 (простейшее тестовое)

Требуется написать программу, которая проверяет, как число типа double приводится к целому. В программе необходимо объявить несколько целочисленных переменных и несколько переменных, задающих числа с плавающей точкой. Переменные должны содержать в себе приведённые значения от чисел с плавающей точкой к знаковому целому.

Требуется подобрать числа так, чтобы по математическим правилам было округление вверх, вниз, и отдельно рассмотреть случай 0.5.

Для каждой пары чисел требуется напечатать с помощью функции "printf" значение числа с плавающей точкой и приведённое целочисленное значение, куда было произведено преобразование.

Задание 2

Написать программу, проверяющую little endian или big endian на той архитектуре, где запущена программа.

Задание 3 (Упаковка ДНК)

Требуется написать 2 функции: "Упаковщик" строки DNA/RNA в массив uint32_t и "Распаковщик" из массива uint32_t в строку типа char*.

Прототип функций следующий:

int dna_pack(const char *unpacked_str, uint32_t **packed_array_pointer);

int dna_unpack(const uint32_t *packed_array, char **unpacked_str_pointer);

Функции должны выделять память под строки с результатом и сообщать об ошибках в виде кода ошибки в возвращаемом значении, в случае невозможности выделить память, либо встречи некорректного символа (например буквы n.) Во входной строке большие и маленькие буквы неразлечимы.

В процессе распаковки выдавать буквы в нижнем регистре.

Предполагается, что память будет освобождена тем, кто использует данные функции. Не допустимы утечки памяти. На утечки можно проверить с помощью программы "valgrind".

К функциям необходимо создать простейшую тестирующую их программу.

Задание 4 (программа выравнивания нуклеотидных последовательностей)

В процессе подготовки

Пример для тестирования (годится и для предыдущего задания, если написать разбор fasta-формата).


Гугло табличка со сдачей заданий.


Список литературы