Хочешь стать разработчиком?

Серия Курсы

Это небольшое пособие для тех, кто решал стать разработчиком (программистом, кодировщиком), но не очень уверен в своих силах и способностей, да и желаниях тоже. Ходят устойчивые слухи, что сегодня (июнь 2024) ситуация для программистов на рынке труда в России выгодна для искателей работы. Это, действительно, так. Об этом мне поведала Начальник Управления по борьбе с персоналом Вера Ивановна.

***** С чего начать *****

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

Проведите самодиагностику. Вам в школе нравилась математика? Вы любите играть в шахматы? Если ответили "да" на оба вопроса, скорее всего, программирование - это ваше дело.

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

Добро пожаловать в семью. У нас тут очень хорошо, комфортно. Наш девиз "Gens Una Sumas". Мы все помогаем друг другу как можем. Вы тоже вполне можете рассчитывать на такую помощь.

***** Javascript - начало всех начал *****

Давайте, начнем с языка Javascript (Джаваскрипт, Яваскрипт). Вообще, разных языков программирования очень много: Питон, PHP, C++, Java и т.д.

Javascript имеет то огромное преимущество перед другими языками программирования, что он уже есть в вашем телефоне, планшете, компьютере. Он встроен в любой браузер. Мы можете немедленно написать первую программу прямо сейчас.

Следуя старым добрым традициям, напишем первую программу в стиле вывода значения строки "Hello, World!"

Текст программы "Hello, World!"

console.log("Превед, Медвед!");

Скопируйте текст программы в буфер обмена, вставьте в консоль браузера (консоль открывается-закрывается по F12 или еще как-нибудь), нажмите "Enter".

Если вы ранее никогда не копипастели в консоль, то вполне возможно, консоль выдаст вам предупреждение.

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

Текст программы "дважды два четыре"

let x=2

let y=2

console.log("x*y=", x*y);

Обратите внимание на интересную особенность языка Javascript: конец строки можно заканчивать символом ;, но можно и опускать.

Если все вы сделали правильно, то в консоли должна отобразиться информация, как на скриншоте ниже.

Теперь можно перейти к чуть более сложным задачам.

***** Факториал натурального числа *****

Факториал, - это число, умноженное на "себя минус один", затем на "себя минус два", и так далее до 1. Факториал n обозначается как n!

Текст программы "Факториал натурального числа"

function fact_fun(n) {

// делаем рекурсию только если n больше 1

if (n > 1) {

return n * fact_fun(n - 1);

}

else {

return 1;

};

//

}; // function fact_fun(n) {

//

В этой функции fact_fun интересно то, что она вызывает саму себя. Такой прием, когда функция вызывает сама себя, называется Рекурсия.

Чтобы стало совсем все понятно, попробуем визуализировать эту абстракцию с помощью картинки.

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

Теперь переход к чуть более сложной программе.

***** Найти наибольшее число в массиве, являющееся полным квадратом *****

Описание работы алгоритма

*** 1 ***

Вводим несколько чисел из формы HTML, в нашем примере: 49, 64, 77, 25, 99.

Формируем массив:

temp_ar = [49,64,77,25,99];

*** 2 ***

Проходим циклом по этому массиву от нулевого элемента до последнего:

for (let x = 0; x < temp_ar.length; x++)

При проходе выполняем пункт 3.

*** 3 ***

Определяем, является ли текущий элемент полным квадратом с помощью специальной функции: is_int_cur_kv_fun(temp_ar[x])

Если текущий элемент является полным квадратом, выполняем пункт 4.

*** 4 ***

Проверяем, является ли текущий элемент большим по значению, чем max_int (изначально let max_int = null;)

if (temp_ar[x]>max_int)

Если больше, то фиксируем:

max_int = temp_ar[x];

*** 5 ***

Для данного набора чисел получаем результат 64, с такой расшифровкой:

1) 49 КВАДРАТ

2) 64 КВАДРАТ * Максимальный *

3) 77 НЕ квадрат

4) 25 КВАДРАТ

5) 99 НЕ квадрат

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

А здесь ограничимся скриншотом с этой страницы.

***** Для заданного числа N найти количество способов его записи в виде суммы положительных чисел *****

Для заданного числа N найти количество способов его записи в виде суммы положительных чисел (само число N также считать одной из форм записей такой суммы, т.е. N = N).

Эта задача популярна среди математиков. Например, герой рассказа Константина Оборотова "Осторожно, женщина!" использует эту задачу для объяснения, что такое математика.

Описание работы алгоритма

*** 1 ***

Получаем число над которым будем работать из формы HTML:

let task1_1 = jQuery('#task1_1').val();

*** 2 ***

Допустим, ввели число 4.

Разбиваем это число на массив temp_ar(4)[1,1,1,1]

Размерность массива temp_ar соответствует числу task1_1, все варианты разложения которого мы ищем.

*** 3 ***

Делаем цикл с условием while(temp_ar[0] < task1_1)

Т.е. проходим по циклу до тех пор, пока нулевой элемент массива temp_ar[0] не станет равным числу над которым работаем.

При этом значение числа task1_1 остается неизменным, а над массивом temp_ar проводим манипуляции, описанные далее

*** 4 ***

Проходим по массиву temp_ar от нулевого элемента до предпоследнего. При этом к минимальному элементу в текущем состоянии массива прибавляем 1

temp_ar[min1index] += 1;

*** 5 ***

При этом мы удаляем следующий элемент:

temp_ar.splice(min1index+1);

*** 6 ***

Дополняем массив необходимым количеством единиц на конце:

temp_ar.push(1);

Делаем это так, чтобы в любом текущем варианте состояния массива temp_ar, сумма его элементов всегда должна быть равна task1_1 (т.е. 4 в нашем примере)

*** 7 ***

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

temp_ar: [4]

Всего для данного тестового примера получаем 5 вариантов:

1) 1+1+1+1=4

2) 2+1+1=4

3) 2+2=4

4) 3+1=4

5) 4=4

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

А здесь ограничимся скриншотом с этой страницы.

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

Спасибо за внимание! Успехов в программировании, разработке и кодировании!

Первоисточник:

https://wpvi.ru/pages/story/00056/

#############

### Конец ###

#############

Лига программистов

2.3K постов12K подписчика

Правила сообщества

- Будьте взаимовежливы, аргументируйте критику

- Приветствуются любые посты по тематике программирования

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

7
Автор поста оценил этот комментарий
Иллюстрация к комментарию
раскрыть ветку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества