Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Taskify

Works only in edu.mmcs.sfedu.ru!

A very specialised program for copypasting task descriptions from Moodle to the specified file. Helpful when you don't have much time for copying all the descriptions manually.

Usage

taskify <link-to-tasks> -f <filepath>

Preview: taskify <link-to-tasks> -p

Make sure that you have taskify in your 'path' or you are in the directory that contains the executable.

Example

Example.cs:

namespace Example;

public static class Program
{
    public static void Main()
    {
        Console.WriteLine("Hello, Taskify!");
    }
}
~/source-dir/
> taskify https://edu.mmcs.sfedu.ru/mod/assign/view.php?id=20397 -f .\Example.cs

Example.cs:

namespace Example;

public static class Program
{
    public static void Main()
    {
        Console.WriteLine("Hello, Taskify!");
    }
}

// == TASK 1 ==
// Дан бинарный файл, содержащий вещественные числа. В отдельном файле целых чисел содержатся номера позиций в исходном файле, т.е. числа от 0 до N-1 (этот файл называется индексным файлом).Вывести содержимое исходного файла в порядке, определяемом индексным файлом.Для проверки решения сформировать несколько индексных файлов:
//         
//             Для последовательного вывода содержимого исходного файла (этот индексный файл должен содержать последовательность чисел от 0 до N-1.
//             Для вывода содержимого исходного файла в обратном порядке (этот индексный файл должен содержать последовательность чисел от N-1 до 0.
//             Для вывода сначала всех положительных элементов исходного файла, а затем всех отрицательных элементов.

// == TASK 2 ==
// Реализовать подсчёт строк файла, удовлетворяющих заданному строковому предикату. Написать 3-5 автоматических тестов.

// == TASK 3 ==
// Дан непустой текстовый файл (непустоту можно не проверять). Удалить из него последнюю строку.

// == TASK 4 ==
// До этого мы работали с абстрактными бинарными файлами целых чисел. Но ведь бинарные файлы встречаются нам повсеместно! Давайте попробуем прочитать мета-данные из .mp3 файла (скрытые данные, отображаемые во вкладке "свойства", вроде исполнителя, года выпуска и т. д.). Для простоты возьмём файл .mp3 с самым простым форматом метаданных ID3v1. Этот формат  представляет из себя 128 байт, находящихся в конце файла, которые распределены следующим образом:
//         
//         
//             
//                 
//                     
//                         
//                             Поле
//                             Длина, байт
//                             Описание
//                         
//                         
//                             Заголовок
//                             3
//                             Строка «TAG»
//                         
//                         
//                             Название
//                             30
//                             30-символьное название
//                         
//                         
//                             Исполнитель
//                             30
//                             30-символьное имя исполнителя
//                         
//                         
//                             Альбом
//                             30
//                             30-символьное название альбома
//                         
//                         
//                             Год
//                             4
//                             Строковая запись года
//                         
//                         
//                             Комментарий  
//                             30
//                             Комментарий
//                         
//                         
//                             Нулевой байт
//                             1
//                             Если номер трека присутствует, этот байт равен 0
//                         
//                         
//                             Track
//                             1
//                             Номер трека в альбоме или 0; учитывается, только если предыдущее поле равно 0
//                         
//                         
//                             Жанр
//                             1
//                             Индекс в списке жанров или 255
//                         
//                     
//                 
//             
//             
//             Ваша задача - извлечь название трека и исполнителя (и любую другую информацию по желанию) из мета-данных данного.mp3 файла и вывести их на консоль.
//             Порядок выполнения задания. Скачайте предоставленный файл и поместите его в папку с проектом. Используя файловый поток поставьте указатель на -128 байт, считая от конца файла. Затем, пользуясь таблицей, найдите необходимую информацию среди оставшихся байтов.

// == TASK 5 ==
// В одной из лабораторных работ мы парсили .CSV файл целых чисел. Исследователи данных (Data Scientists) часто используют этот формат для хранения огромных массивов текстовых данных. Предлагаем вам примерить на себя роль дата саентиста и получить данные из данного .CSV файла, содержащего информацию о 10000 лучших фильмов по версии пользователей IMDB.
//         Первая строка в этом файле - заголовки столбцов, из которых мы понимаем структуру данных. В каждой строке содержится:
//         Индекс (Index), название фильма (title), язык оригинала (original_language), количество оценок (vote_count), средняя оценка (vote_average).
//         Определите класс Movie, содержащий в себе название фильма (title), язык оригинала (original_language), и среднюю оценку (vote_average). Определите конструктор, принимающий на вход параметр типа string - одну строку .csv файла и инициализирующий все поля соответствующими значениями.
//         Опишите функцию, преобразующую данный файл в список объектов класса Movie. Фильмы с количеством оценок меньше 100 в список не добавлять.
//         Для полученного массива выполните следующие задания:
//         
//         
//             Выведите топ-5 фильмов с наибольшим рейтингом, а также антитоп-5 с наименьшим рейтингом.
//             Определите количество фильмов на русском языке с оценкой больше 7.
//             Определите функцию для выбора фильма на вечер. Она принимает на вход язык оригинала и число - желаемый нижний порог оценки фильма. Функция должна вернуть рандомный фильм с заданным языком оригинала и оценкой выше заданного порога.

// == TASK 6 ==
// Выведите топ-5 фильмов с наибольшим рейтингом, а также антитоп-5 с наименьшим рейтингом.

// == TASK 7 ==
// Определите количество фильмов на русском языке с оценкой больше 7.

// == TASK 8 ==
// Определите функцию для выбора фильма на вечер. Она принимает на вход язык оригинала и число - желаемый нижний порог оценки фильма. Функция должна вернуть рандомный фильм с заданным языком оригинала и оценкой выше заданного порога.

About

A tiny specialized program that copies task descriptions from moodle to a file (to save time)

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages