Начало алгоритмического мышления. Как думать как программист для новичков вроде меня.

Одним из самых востребованных навыков разработчика является умение решать проблемы, и чаще всего в мире компьютеров это синоним алгоритмического мышления. Проще говоря, это способность разбивать задачу на мелкие части и собирать их вместе, чтобы добиться поставленной цели.
Почему же этот навык важен для молодого разработчика, начинающего свой путь, спросите вы? Ну, как инженер-программист вы всегда будете заниматься написанием программ для решения человеческих проблем, и поэтому вам нужно знать, как указать компьютеру, как выполнять определенные задачи. Поскольку компьютеры создаются для выполнения запрограммированных задач, ваша работа как программиста заключается в том, чтобы указать компьютеру, как выполнить определенную задачу, а это включает в себя ряд шагов, которые требуют, чтобы вы понимали, как собрать программу воедино для решения проблемы.
SO исследует это с помощью этого небольшого алгоритма посвящения в Algo Thinking.

FizzBuzz
Напишите программу, которая использует console.log для печати всех чисел от 1 до 100, за двумя исключениями. Для чисел, кратных 3, выведите «Fizz» вместо числа, а для чисел, кратных 5 (но не 3), выведите «Buzz».
Когда у вас все получится, измените свою программу так, чтобы она печатала «FizzBuzz» для чисел, кратных 3 и 5 (и по-прежнему печатала «Fizz» или «Buzz» для чисел, кратных только одному из них).
(На самом деле это вопрос на собеседовании, который, как утверждается, отсеивает значительный процент кандидатов в программисты. Так что если вы его решили, ваша рыночная стоимость только что выросла).

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

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

Если вы имели в виду именно это, то поздравляю вас с решением первой части головоломки. В конце концов, мы можем заметить здесь закономерность, а с помощью нашей интуиции молодого специалиста мы можем обнаружить петлю. Правильно ли это? Да, я полагаю, вы только что это сказали. Если нет, то давайте вернемся назад и подумаем, если мы хотим сделать программу, которая проходит через ряд от 1 до 100, то, очевидно, нам нужно зациклиться и задать условия так, чтобы при выполнении каждого условия программа переходила в режим действия, чтобы установить желаемый результат. Это подводит нас к третьей части нашей головоломки, которая заключается в использовании оператора if.

Таким образом, перед написанием кода мы можем свести наш алгоритм к следующим строкам.

/* loop through{
if (x == "value1") action1();
else if (x == "value2") action2(); else if (x == "value3") action3(); else defaultAction();
} */
;

function fizzBuzz(){
  for (let i = 1; i < 100 ; ++i){
    if( (i% 3 == 0) && (i % 5 ==0)){
      console.log("FizzBuzz")
    }else if(i % 3 == 0){
      console.log("Fizz")
    }else if( i % 5 == 0){
      console.log(" Buzz")
    }else{
      console.log(i)
    }
  }
}

fizzBuzz()
Войти в полноэкранный режим Выйти из полноэкранного режима

Хорошо, скопируйте это, откройте Google Chrome на вашем ноутбуке и нажмите cmd + option + i, это откроет инструменты разработчика, перейдите на вкладку консоли и вставьте этот кусок кода. Поздравляем с началом работы, но вы только начали, поэтому удалите это и подумайте о том, что происходит каждый раз, когда вызывается цикл, пока он не дойдет до 100-й цифры. Это просто для того, чтобы помочь вам развить мышление программиста. Я рекомендую вам использовать CodeWars, если вы еще не зарегистрировали аккаунт на этой платформе. Счастливого хакинга.

Оцените статью
Procodings.ru
Добавить комментарий