Вводная информация

На Хекслете есть бесплатный курс «Основы программирования». В уроках данного курса есть видеозаписи, которые надо переработать в текстовый формат для того, чтобы студентам было проще и удобнее изучать материалы курса. Ниже вы найдете транскрипт одного из уроков.

Задача

<aside> 💡 - *Тестовое задание предпочтительно оформить в формате markdown.

</aside>

Текст

Основы программирования. Введение. Читаем, понимаем и пишем.

Добро пожаловать в курс “Основы программирования”. Это первый его урок и в этом уроке мы поговорим о целях и задачах этого курса, о том что мы будем изучать и для чего мы это будем изучать, а самое главное почему. Перед Вами исходный код на определенном языке программирования. Сейчас он Вам кажется просто набором букв и каких то специальных символов но конечно здесь есть знакомые слова, но в целом вряд-ли понятно что здесь непосредственно происходит.

function greatestCommonDivisor(a, b) {
    if (a < 2 || b < 2) {
        return 1;
    }
    let divisor = 2;
    let greatestDivisor = 1;

    while (a >= divisor && b >= divisor) {
        if (a % divisor === 0 && b % divisor === 0) {
            greatestDivisor = divisor;
        }
        divisor++;
    }
    return greatestDivisor;
}

В конце этого курса Вы сможете не только прочитать и понять, но Вы сможете его написать. Естественно это произойдет при условии, того что Вы будете внимательно слушать наши уроки, а самое главное выполнять практические задания и прокачивать ваши навыки написания кода.

Что входит в основы.

Давайте поговорим что входит в основы программирования. Что туда включаем мы. В первую очередь, как не трудно догадаться, это непосредственно сам язык. Но язык программирования включает в себя тоже несколько аспектов. Первый из которых это синтаксис — то как правильно записывать некие конструкции на выбранном нами языке. У каждого языка есть свой синтаксис. Причем в отличии от естественных языков, например русский, английский, какой либо другой, синтаксис в языках программирования является очень строгой штукой и компьютер не терпит нарушений. То есть любой недочет несоответствующий грамматике приводит к тому что программа просто у Вас не заработает. Хотя в естественных языках Вы это легко можете делать и Вас все равно поймут. Потому что анализом естественных языков в первую очередь занимается наш мозг, который прощает большое количество ошибок и умеет сам всё додумывать. С компьютером такое не проходит. Второй важный аспект это семантика, то есть это смысл заложенный в синтаксические конструкции. Это означает то что синтаксически верная программа еще не факт что она полезна и вообще делает что-то нужное. Так же как и в естественных языках Вы можете сделать синтаксически, грамматически верное предложение, но оно будет бессмысленно. И в языке синтаксис это в общем то набор достаточно простых правил которые просто, можно сказать, зазубрить, а вот семантика нечто более сложное и более глубокое. То есть семантика намного важнее синтаксиса, её нужно понимать.

Вычислительные процессы.

Второй важный пункт, он более важный чем сам язык, это вычислительные процессы. По факту на самом низком уровне, да и вообще в обычных программах почти всегда происходят именно вычисления. И вычисления являются вообще основой всего в разработке. Перед тем как двигаться куда-то дальше, заниматься более высокоуровневыми вещами и думать архитектурой и вообще заниматься тем что Вам кажется изначально когда мы говорим о программировании. Потому что многие рисуют себе не вычисления на очень низком уровне: сложение вычитание, умножение и так далее, всё то что мы делали в математике, в арифметике, а представляют себе как будь-то они создают игры, создают персонажей, которые что-то там выполняют, стреляют, куда-то ходят, с кем-то разговаривают. На самом деле внизу действительно всё упирается в вычисления. И вычисления являются базисом и фундаментом на который накладывается всё остальное. И перед тем как двигаться дальше нужно научится выполнять вычисления правильно. По факту это и есть ваши программы. И то как происходят вычисления существует множество различных подходов, способов, а самое главное — суметь преобразовать некую задачу в некий вычислительный процесс, это то что собственно и называется программированием, и именно это Вам нужно научится делать. Это достаточно не тривиально бывает по нашему опыту, но мы постараемся сделать так чтобы Вы вошли это максимально просто, с минимумом математически сложной подготовки. Будем использовать более простые вещи, будем о них подробно рассказывать. Но при этом конечно базовая школьная арифметика Вам понадобится, для того что бы уметь это делать. Ну и вычислительные процессы естественно связаны с понятием алгоритмизации с тем как формируются, делаются алгоритмы и с тем как решать задачу.