https://kotlinlang.org logo
Join SlackCommunities
Powered by
# russian-kotlinasfirst
  • m

    mglukhikh

    08/30/2018, 7:16 AM
    set the channel description: Обсуждение обучающего проекта https://github.com/Kotlin-Polytech/KotlinAsFirst и связанного курса на Coursera
  • m

    mglukhikh

    08/30/2018, 7:17 AM
    set the channel topic: Вопросы по использованию обучающего проекта https://github.com/Kotlin-Polytech/KotlinAsFirst и курса Coursera "Введение в язык Котлин" (будет запущен в ближайшие 2-3 недели)
  • m

    mglukhikh

    08/30/2018, 7:18 AM
    set the channel topic: Вопросы по использованию обучающего проекта https://github.com/Kotlin-Polytech/KotlinAsFirst и курса Coursera "Введение в язык Котлин" (ещё не запущен)
  • m

    mglukhikh

    08/30/2018, 7:32 AM
    Первое сообщение
    👍 1
    m
    • 2
    • 1
  • m

    mglukhikh

    08/30/2018, 8:31 AM
    set the channel topic: Вопросы по проекту https://github.com/Kotlin-Polytech/KotlinAsFirst, курса Coursera "Введение в язык Котлин" (ещё не запущен), системы Котоед
  • m

    mglukhikh

    08/30/2018, 1:30 PM
    set the channel topic: Вопросы по проекту https://github.com/Kotlin-Polytech/KotlinAsFirst, курсу Coursera "Введение в язык Котлин" (ещё не запущен), системе Котоед
  • m

    mglukhikh

    09/11/2018, 8:03 AM
    Рад, что первые два человека сумели получить приглашение 🙂 . Здесь можно задавать вопросы про обучающий проект KotlinAsFirst и систему Котоед (а в будущем -- также про Коурсера курс).
  • m

    mglukhikh

    09/22/2018, 12:40 PM
    Рад сообщить, что видео-курс "Введение в язык Котлин" запущен! См. https://www.coursera.org/learn/vvedenie-v-yazyk-kotlin.
  • m

    mglukhikh

    09/22/2018, 12:40 PM
    set the channel topic: Вопросы по проекту https://github.com/Kotlin-Polytech/KotlinAsFirst, курсу Coursera "Введение в язык Котлин", системе Котоед
  • y

    yaroslav

    10/19/2018, 12:11 PM
    Добрый день. В lesson1.task1 при нажатии на зелёный треугольник напротив fun main появляются сообщения об ошибках типа "Error:(3, 8) Kotlin: Unresolved reference: kotlinx".
    m
    • 2
    • 7
  • s

    Stalch

    04/29/2019, 6:54 AM
    Hi
  • a

    Alexander Zdanevich

    10/02/2019, 12:25 PM
    А тут вообще, есть живые ? 🙂
    m
    • 2
    • 2
  • c

    chervak.av

    11/29/2019, 6:47 PM
    добрый вечер. здесь можно задавать вопросы по задачам KotlinAsFirst2019?
  • m

    mglukhikh

    12/02/2019, 8:10 AM
    Здравствуйте. Да, можно.
  • c

    chervak.av

    12/17/2019, 8:22 PM
    тогда спрошу, если можно, хоть и много времени прошло. Задача
    Copy code
    fun markdownToHtmlSimple
    моя программа проверяет, что если была написана не пустая строка, то значит можно ставить
    \n
    . Проблема возникла, когда не пустая строка была 3-ей с конца в тексте, а предпоследним и последним был знак
    \n
    (послений благополучно заигнорился). То-есть проверка на присутствие строки ранее прошла и был поставлен новый абзац, но тк. после ничего нет - этот абзац должен отсутствовать. Можно ли как-то отформатировать файл чтобы избавиться от такой проблемы или сделать что-то еще? могу код предоставить, если нужно задачу делал не через stack
    m
    • 2
    • 2
  • a

    Asdzendo

    02/02/2020, 4:55 PM
    Здравствуйте,
  • a

    Asdzendo

    02/02/2020, 4:59 PM
    У меня вопрос по задачке: Lesson4.task1
    Copy code
    /**
     * Средняя
     *
     * Найти скалярное произведение двух векторов равной размерности,
     * представленные в виде списков a и b. Скалярное произведение считать по формуле:
     * C = a1b1 + a2b2 + ... + aNbN. Произведение пустых векторов считать равным 0.
     */
    Написал так:
    Copy code
    un times(a: List<Int>, b: List<Int>): Int
    {
        var C = 0
        for (i in 0 until a.size) C += a[i] * b[i]
        return C
    }
    Все хорошо работает, но хочу переписать короткую запись. Пишу так:
    Copy code
    = a.zip(b).reduce(0.00) {total , next (a , b) -> total +a*b }
    Не работает. Есть кто решил эту задачку красиво в одну строчку? Подскажите пожалуйста.
    m
    • 2
    • 2
  • a

    Asdzendo

    02/16/2020, 5:20 PM
    Добрый день, хочется знать лучшее решение и услышать критику своего
  • a

    Asdzendo

    02/16/2020, 5:22 PM
    Copy code
    /**
     * Средняя
     *
     * Для заданного x рассчитать с заданной точностью eps
     * sin(x) = x - x^3 / 3! + x^5 / 5! - x^7 / 7! + ...
     * Нужную точность считать достигнутой, если очередной член ряда меньше eps по модулю.
     * Подумайте, как добиться более быстрой сходимости ряда при больших значениях x.
     * Использовать kotlin.math.sin и другие стандартные реализации функции синуса в этой задаче запрещается.
     */
    // работает но не доделана - окончат вариант см sin2
    fun sin(x: Double, eps: Double): Double {  // pi*100 = 314 Проходит только с БинДесимал - дурдом хотя считает
        print(x)
        var sinx:BigDecimal = x.toBigDecimal()
        var y:BigDecimal = x.toBigDecimal()
        var i = 1
        var iznack = -1
        var fack :BigDecimal = 1.0.toBigDecimal()
        var xpow:BigDecimal = x.toBigDecimal()
        while((y * y) > (eps * eps).toBigDecimal()) {
            fack = fack * (i+1).toBigDecimal() * (i+2).toBigDecimal()
            xpow = xpow * x.toBigDecimal() * x.toBigDecimal()
            y= xpow / fack
            sinx = sinx + iznack.toBigDecimal() * y
            i = i + 2
            iznack = - iznack
            //  println("$y --> $eps  xpow = $xpow  fack = $fack   sinx = $sinx")
            // if (i > 250) break
        }
        println ("   $sinx")
        return sinx.toDouble()
    }
    
    
    fun sin2(x: Double, eps: Double): Double {  // pi*100 = 314 Проходит только с БинДесимал
        print(x)
        var sinx: BigDecimal = x.toBigDecimal()
        var y: BigDecimal = x.toBigDecimal()
        var i = 1
        var iznack = -1
    
        while ((y * y) > (eps * eps).toBigDecimal()) {
            y = y * (x.toBigDecimal() * x.toBigDecimal()) / ((i + 1).toBigDecimal() * (i + 2).toBigDecimal())
            sinx += iznack.toBigDecimal() * y
            i += 2
            iznack = -iznack
            //  println("$y --> $eps  xpow = $xpow  fack = $fack   sinx = $sinx")
            // if (i > 250) break
        }
        println("   $sinx")
        return sinx.toDouble()
    }
    m
    • 2
    • 2
  • a

    Asdzendo

    02/16/2020, 5:27 PM
    Пришлось воспользоваться Java, знает ли кто-нибудь календарь Kotlin
  • a

    Asdzendo

    02/16/2020, 5:27 PM
    Copy code
    /**
     * Простая
     *
     * Дан номер месяца (от 1 до 12 включительно) и год (положительный).
     * Вернуть число дней в этом месяце этого года по григорианскому календарю.
     * Специальный Календарь КОТЛИНА не нашел - этот JAVA
     */
    //Ok
    fun daysInMonth(month: Int, year: Int): Int = YearMonth.of(year, month).lengthOfMonth()
    //  Специальный Календарь КОТЛИНА не нашел - этот JAVA
    fun daysInMonth1(month: Int, year: Int): Int = LocalDate.of(year, month, 1).lengthOfMonth()
    m
    • 2
    • 1
  • a

    Asdzendo

    02/16/2020, 5:30 PM
    Есть идеи по красивее?
    Copy code
    **
     * Простая
     *
     * Треугольник задан длинами своих сторон a, b, c.
     * Проверить, является ли данный треугольник остроугольным (вернуть 0),
     * прямоугольным (вернуть 1) или тупоугольным (вернуть 2).
     * Если такой треугольник не существует, вернуть -1.
     */
    //Ок
    fun triangleKind(a: Double, b: Double, c: Double): Int =
        when {
            a > b + c || b > a + c || c > a + b -> -1    // это не треугольник
            (c * c < a * a + b * b) && (a * a < b * b + c * c) && (b * b < a * a + c * c) -> 0  // остро
            c * c > a * a + b * b || a * a > b * b + c * c || b * b > a * a + c * c -> 2  // тупо
            else -> 1  // прямо
        }
    
    fun triangleKind1(a: Double, b: Double, c: Double): Int =
        if ((a > b + c) || (b > a + c) || (c > a + b)) -1
        else if ((c * c < a * a + b * b) && (a * a < b * b + c * c) && (b * b < a * a + c * c)) 0
        else if ((c * c > a * a + b * b) || (a * a > b * b + c * c) || (b * b > a * a + c * c)) 2
        else 1
    m
    • 2
    • 1
  • m

    Marat Akhin

    02/17/2020, 4:11 PM
    Коллеги, у меня есть ощущение, что обсуждать готовые решения курса на Коурсере не совсем корректно. Я бы как минимум прекратил дальнейшие обсуждения, а как максимум -- удалил бы имеющиеся обсуждения.
  • a

    Asdzendo

    02/23/2020, 1:50 PM
    Marat, а где и как обсуждать решения задачек. Хотелось бы сравнивать свои решения с правильными и лучшими. Как надо действовать тогда?
    m
    m
    • 3
    • 2
  • д

    Дмитрий Силюк

    10/21/2020, 12:00 PM
    Добрый день, нужна ваша консультация. Решаю задачу:
    Copy code
    * Для заданного x рассчитать с заданной точностью eps
     * sin(x) = x - x^3 / 3! + x^5 / 5! - x^7 / 7! + ...
     * Нужную точность считать достигнутой, если очередной член ряда меньше eps по модулю
     */
    Вроде бы работает, но в ходе тестов не проходит последний в котором x=100*PI
    Copy code
    @Test
    @Tag("Normal")
    fun sin() {
        assertEquals(0.0, sin(0.0, 1e-5), 1e-5)
        assertEquals(1.0, sin(PI / 2.0, 1e-5), 1e-5)
        assertEquals(0.0, sin(PI, 1e-5), 1e-5)
        assertEquals(-1.0, sin(3.0 * PI / 2.0, 1e-5), 1e-5)
        assertEquals(0.0, sin(100.0 * PI, 1e-5), 1e-5)
    }
    При расчетах получаются слишком большие числа в итоге результат выходит NaN.
    m
    • 2
    • 2
  • s

    Slackbot

    10/27/2020, 9:34 AM
    This message was deleted.
    m
    д
    • 3
    • 2