Задачи поправителна сесия Септември 2017 при Кирил Митов

Задачите са следните и трябва да се решат всичките:

Да се създаде ново хранилище за поправката в гитхъб, носещо името на ученика, класа, номера в клас

Всички задачи да се качът в хранилището.

Проектна задача

  1. Да се реализира проект с технология по избор, който да позволява следните функционалност.
  2. Да се качи на heroku. Приложението е разделено на три етапа на разработка. Да може да отговаря на следните заявки:
  3. Could create articles with post and get the article with getVideosPOST /videos

    Request Body:

    {

    name: „title“

    }
    Response:

    {

    name: „the name of the video“,

    id: „the id of the video“,

    created_at: „time it is created“,

    update_at: „last time it was changed“

    }
    GET /videos/:id

    response:

    {

    name: „the name of the video“

    id: „the id of the article“,

    created_at: „time it is created“,

    update_at: „last time it was changed“

    }
    GET /videos

    Reponse:

    {

    # array of all the videos sorted by „title“

    }

    Level 2

    Can create comments for these videos
    Comments
    POST /comments

    Request Body:

    {

    video_id: „the id of the video for which this comment is“,

    content: „the content of the comment“

    }
    Response

    {

    id: „comment id“,

    video_id: „identifier“,

    content: „content“

    }
    GET /comments/:id

    Response:

    {

    id: „comment id“

    video_id: „identifier“,

    content: „content“

    }
    GET /comments

    response:

    {

    [comments,] # array of all the comments sorted by content

    }
    GET /videos/:id/comments

    response:

    {

    [comments,] # array of all the comments for this videos sorted by content

    }

    Level 3

    Can vote for videos
    POST /votes

    Request Body:

    {

    article_id: „identifier“,

    value: „vote_value“

    }
    Response:

    {

    video_id: „identifier“,

    value: „vote_value“

    id: „the id of the vote“

    }
    GET /votes

    {

    [votes,] # array of all the votes sorted by created_at

    }
    GET /videos/:id?order=normdist

    Reponse:

    {

    id: „id“,

    name: „name“

    comments_score: „the score for comments“

    votes_score: „the score for votes“

    }
    GET /videos?order=normdist

    Response:

    {

    # videos sorted in normal distribution based on number of comments and vote scoring. Norm dist score of comments plus normdist of score

    }

  4. Да се направи описание на проекта в Markdown формат във файла plan.md
  5. Да се направи wiki страничка, публично достъпна. Да се направи описание от по 1000 символа на проекта.

Задача 1

Дадено е CSV от вида:

 

Потребител Номер, Видео Номер, Процент гледане

1,2,0.8

2,3,0.4

Да се открие кое видео процентно е гледано най-много.

 

Задача 2

Да се напише програма, която сравнява дали два JSON  файла са схематично и стойностно еднакви. Файловете са еднакви ако имат еднакви ключове и еднакви стойности за тези ключове.

Програмата трябва да се изпълнява като

ruby my_program.rb file1.json file2.json

Файловете, които се сравняват се подават от командния ред.

Като резултат на командния ред се изписва

0 – двата файла са различни

1 – двата файла са схемантично и по стойности еднакви

Пример за еднакви файла

{

F: “aa”,

L: “bb”

}

e еднакъв с:

{

L: “bb”,

F: “aa”

}

Задача 3

Да се напише програма, която решава квадратно уравнение, чийто аргументи, a, b, c, са записани във файл с име input.json. Примерно съдъражени на такъв файл е:

{

„a“:10,

„b“:-3,

„c“:4

}

Решението да се изведе на console-ата, отново в json format във вида:

 

{

„x1“:10,

„x2“:-3,

„D“:4

}

Като ключовете: x1 и x2 са реалните корени пресметнати от програмата ви, а D е дискриминантата.

Задача 4

Да се реализира приложение на Node.js. Приложението да се качи на heroku. Да може да приема post заявка за адрес /sum с параметри a и b и да връща резултатът от тази сумата на тези две числа

Задача 5

Да се реализира приложение на Node.js. Приложението да се качи на heroku. Да може да приема post заявка за адрес /count с параметър CSV файл и да дава резултат броя на редовете в този CSV файл.

Публикувано в Разни. Постоянна връзка.