***** С чего начать *****
Прежде чем погрузиться в бесконечный океан программирования, давайте, на берегу слегка пощупаем воду.
Проведите самодиагностику. Вам в школе нравилась математика? Вы любите играть в шахматы? Если ответили "да" на оба вопроса, скорее всего, программирование - это ваше дело.
Ну и, конечно, ваше личное желание. Если вы хотите писать длинные коды программ, погружаться в спагетти программного кода неизвестного программиста, который писал этот код десять лет назад, а теперь сбежал от ответственности, то это очень хорошо. Вы рождены, чтобы стать разработчиком, программистом.
Добро пожаловать в семью. У нас тут очень хорошо, комфортно. Наш девиз "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
Посмотреть, как работает эта программа, и получить коды программ можно по ссылке ниже.
А здесь ограничимся скриншотом с этой страницы.
Если вы догребли до этого места, если в процессе у вас появились идеи, как одну или несколько задач реализовать на вашем любимом языке программирования, значит, вы - разработчик. По меньшей мере, в душе.
Спасибо за внимание! Успехов в программировании, разработке и кодировании!
Это небольшое пособие для тех, кто решал стать разработчиком (программистом, кодировщиком), но не очень уверен в своих силах и способностей, да и желаниях тоже. Ходят устойчивые слухи, что сегодня (июнь 2024) ситуация для программистов на рынке труда в России выгодна для искателей работы. Это, действительно, так. Об этом мне поведала Начальник Управления по борьбе с персоналом Вера Ивановна.