1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | // Старый способ обзывалки. // let body = ['жопа', 'башка', 'рожа', 'нога', 'мозга']; // Создаём обзывалки для частей тела. // let adjective = ['потная', 'тупая', 'жирная', 'блевотная', 'обоссаная']; // Создаём обзывалки для прилагательных. // let troll = ['залупа', 'харя', 'портянка', 'волосянка', 'бздюха', 'мразь']; // Создаём обзывалки из грязных существительных. // let body2 = body[Math.floor(Math.random() * 5)]; // Создаём переменную со случайной выборкой из body. // let adjective2 = adjective[Math.floor(Math.random() * 5)]; // Создаём переменную со случайной выборкой из adjective. // let troll2 = troll[Math.floor(Math.random() * 6)]; // Создаём переменную со случайной выборкой из troll. // let goat = 'У тебя ' + body2 + ' как ' + adjective2 + ' ' + troll2 + '!'; // Создаём случайную обзывалку. // console.log(goat); // Новый способ обзывалки. // let body = ['жопа', 'башка', 'рожа', 'нога', 'мозга']; // Создаём обзывалки для частей тела. // let adjective = ['потная', 'тупая', 'жирная', 'блевотная', 'обоссаная']; // Создаём обзывалки для прилагательных. // let troll = ['залупа', 'харя', 'портянка', 'волосянка', 'бздюха', 'мразь']; // Создаём обзывалки из грязных существительных. // Создаём функцию для обзывалки. // let chooseRandomWords = function (words) { // return words[Math.floor(Math.random() * words.length)]; // }; // Создаём случайную обзывалку. // let goat = 'У тебя ' + chooseRandomWords(body) + // ' как ' + chooseRandomWords(adjective) + // ' ' + chooseRandomWords(troll) + '!'; // console.log(goat); // Делаем троля функцией. let chooseRandomWords = function (words) { return words[Math.floor(Math.random() * words.length)]; }; let goat = function () { // Придумываем обзывалки. let body = ['жопа', 'башка', 'рожа', 'нога', 'мозга']; // Создаём обзывалки для частей тела. let adjective = ['потная', 'тупая', 'жирная', 'блевотная', 'обоссаная']; // Создаём обзывалки для прилагательных. let troll = ['залупа', 'харя', 'портянка', 'волосянка', 'бздюха', 'мразь']; // Создаём обзывалки из грязных существительных. // Генерируем обзывалку из случайных слов. let random = 'У тебя ' + chooseRandomWords(body) + ' как ' + chooseRandomWords(adjective) + ' ' + chooseRandomWords(troll) + '!'; return random; }; // console.log(goat()); // Выводим функцию обзывалки. |
Дневник начинающего программиста
24 сентября 2019 г.
// Старый способ обзывалки.
// let body = ['жопа', 'башка', 'рожа', 'нога', 'мозга']; // Создаём обзывалки для частей тела.
// let adjective = ['потная', 'тупая', 'жирная', 'блевотная', 'обоссаная']; // Создаём обзывалки для прилагательных.
// let troll = ['залупа', 'харя', 'портянка', 'волосянка', 'бздюха', 'мразь']; // Создаём обзывалки из грязных существительных.
// let body2 = body[Math.floor(Math.random() * 5)]; // Создаём переменную со случайной выборкой из body.
// let adjective2 = adjective[Math.floor(Math.random() * 5)]; // Создаём переменную со случайной выборкой из adjective.
// let troll2 = troll[Math.floor(Math.random() * 6)]; // Создаём переменную со случайной выборкой из troll.
// let goat = 'У тебя ' + body2 + ' как ' + adjective2 + ' ' + troll2 + '!'; // Создаём случайную обзывалку.
// console.log(goat);
// Новый способ обзывалки.
// let body = ['жопа', 'башка', 'рожа', 'нога', 'мозга']; // Создаём обзывалки для частей тела.
// let adjective = ['потная', 'тупая', 'жирная', 'блевотная', 'обоссаная']; // Создаём обзывалки для прилагательных.
// let troll = ['залупа', 'харя', 'портянка', 'волосянка', 'бздюха', 'мразь']; // Создаём обзывалки из грязных существительных.
// Создаём функцию для обзывалки.
// let chooseRandomWords = function (words) {
// return words[Math.floor(Math.random() * words.length)];
// };
// Создаём случайную обзывалку.
// let goat = 'У тебя ' + chooseRandomWords(body) +
// ' как ' + chooseRandomWords(adjective) +
// ' ' + chooseRandomWords(troll) + '!';
// console.log(goat);
// Делаем троля функцией.
let chooseRandomWords = function (words) {
return words[Math.floor(Math.random() * words.length)];
};
let goat = function () {
// Придумываем обзывалки.
let body = ['жопа', 'башка', 'рожа', 'нога', 'мозга']; // Создаём обзывалки для частей тела.
let adjective = ['потная', 'тупая', 'жирная', 'блевотная', 'обоссаная']; // Создаём обзывалки для прилагательных.
let troll = ['залупа', 'харя', 'портянка', 'волосянка', 'бздюха', 'мразь']; // Создаём обзывалки из грязных существительных.
// Генерируем обзывалку из случайных слов.
let random = 'У тебя ' + chooseRandomWords(body) +
' как ' + chooseRandomWords(adjective) +
' ' + chooseRandomWords(troll) + '!';
return random;
};
// console.log(goat()); // Выводим функцию обзывалки.
3 ноября 2016 г.
1 ноября 2016 г.
День 7. Хекслет. Числа
В уроке рассказывалось про числа и как с ними работать в JavaScript. Какие рассматривались подтемы?
1. Числа с плавающей точкой.
При 0,3 – 0,2 получится 0,0999999 и т. д.
Почему так? Почему не 0,1? Говорят, что количество вещественных чисел бесконечно, а память компа ограниченна, а память программы еще меньше, поэтому физически невозможно вместить все числа вообще. Поэтому придумали такой компромисс, чтобы уместиться в размер памяти, выделяемой для программы. Суть компромисса — представлять как можно больше чисел в пределах отведенной памяти. Такая фигня распространяется на числа с плавающей точкой.
2. IEEE754.
Это стандарт, описывающий формат представления чисел с плавающей точкой. Почему он был придуман? Потому что, кажется, разные машины и программы работали с такими числами по-разному, ну и для исключения путаницы решили сделать стандарт.
Этот стандарт описывает:
— формат чисел (как они представляются);
— специальные значения (бесконечность, не числа, нули);
— операции (тут не понял; мож, потом узнаю);
— исключительные операции (деление на ноль и подобное прочее).
3. Бесконечность (Infinity)
Это первая особенность стандарта почему-то.
Тут просят обратить внимание на то, что бесконечность может быть как положительной, так и отрицательной.
1 / 0 — получается положительная бесконечность.
–1 / 0 = отрицательная бесконечность.
4. NaN (не число) — Not a Number
Зачем оно надо? Ой, трудно для моего понимания. Ща попробую. Для того, чтобы операции в определенных случаях, где невозможно получить число, возвращали какое-то вычисление.
0 / 0
3 % 0
0 * бесконечность
–бесконечность + бесконечность
3 / "строка" — тоже будет NaN
Еще раз попытка объяснить самому себе: не число при попытке взаимодействия с числом дает не число, то есть NaN.
5. +0 и –0.
В стандарте есть положительный и отрицательный нули.
В некоторых редких операциях это важно.
1 / (1 / бесконечность) = бесконечность
1 / (1 / –бесконечность) = –бесконечность
При чем тут бесконечности — я не понял.
6. Нормализованная форма или Экспоненциальная форма.
Буду встречаться числа вроде 1,23е5. Их пугаться не надо, читаются они просто. Это 123000.
Часть до буквы "е" называется мантиссой, после — степенью. Получается 1,23 * 10^5.
Может встречаться и так: 1,23е+5 — это то же самое, что и без плюса.
* * *
Ух. Все на сегодня. Итого минут 30. А это значит 275 + 30 = 305 минут программиста. Или 5 часов из 10000 до профессионала.
1. Числа с плавающей точкой.
При 0,3 – 0,2 получится 0,0999999 и т. д.
Почему так? Почему не 0,1? Говорят, что количество вещественных чисел бесконечно, а память компа ограниченна, а память программы еще меньше, поэтому физически невозможно вместить все числа вообще. Поэтому придумали такой компромисс, чтобы уместиться в размер памяти, выделяемой для программы. Суть компромисса — представлять как можно больше чисел в пределах отведенной памяти. Такая фигня распространяется на числа с плавающей точкой.
2. IEEE754.
Это стандарт, описывающий формат представления чисел с плавающей точкой. Почему он был придуман? Потому что, кажется, разные машины и программы работали с такими числами по-разному, ну и для исключения путаницы решили сделать стандарт.
Этот стандарт описывает:
— формат чисел (как они представляются);
— специальные значения (бесконечность, не числа, нули);
— операции (тут не понял; мож, потом узнаю);
— исключительные операции (деление на ноль и подобное прочее).
3. Бесконечность (Infinity)
Это первая особенность стандарта почему-то.
Тут просят обратить внимание на то, что бесконечность может быть как положительной, так и отрицательной.
1 / 0 — получается положительная бесконечность.
–1 / 0 = отрицательная бесконечность.
4. NaN (не число) — Not a Number
Зачем оно надо? Ой, трудно для моего понимания. Ща попробую. Для того, чтобы операции в определенных случаях, где невозможно получить число, возвращали какое-то вычисление.
0 / 0
3 % 0
0 * бесконечность
–бесконечность + бесконечность
3 / "строка" — тоже будет NaN
Еще раз попытка объяснить самому себе: не число при попытке взаимодействия с числом дает не число, то есть NaN.
5. +0 и –0.
В стандарте есть положительный и отрицательный нули.
В некоторых редких операциях это важно.
1 / (1 / бесконечность) = бесконечность
1 / (1 / –бесконечность) = –бесконечность
При чем тут бесконечности — я не понял.
6. Нормализованная форма или Экспоненциальная форма.
Буду встречаться числа вроде 1,23е5. Их пугаться не надо, читаются они просто. Это 123000.
Часть до буквы "е" называется мантиссой, после — степенью. Получается 1,23 * 10^5.
Может встречаться и так: 1,23е+5 — это то же самое, что и без плюса.
* * *
Ух. Все на сегодня. Итого минут 30. А это значит 275 + 30 = 305 минут программиста. Или 5 часов из 10000 до профессионала.
27 октября 2016 г.
День 6. Хекслет. Арифметика
В этом уроке разбирали арифметику, да.
1. Арифметические выражения.
Вся байда соответствует тому, что в школе учили на математике. Вся эта тема поддерживается многими языками программирования. Десятичные числа (тут их называют вещественными) пишутся через точку. Можно составлять всякие сложные выражения и применять скобки даже. У-у-у-у!
2. Структура.
Есть операнды и операции. Операнды — это числа. Операции — это умножение, деления и прочая подобная фигня типа сложений и так далее.
3. Операции.
Еще раз было про операции. И мы повторим. Это: сложение, вычитание, умножение, деление, остаток от деления.
4. Позиции.
Операции могут располагаться относительно операндов. Например, индексная операция находится между двумя операндами (пример: 3 * 7). Префиксная операция находится перед операндом (пример: –2). Постфиксная операция — за операндом (пока не заморачиваемся — так сказали).
5. Арность операций.
Операции могут быть унарными — когда один операнд. Типа –1.
Могут быть бинарными — когда два операнда. Вроде 5 + 3.
Большинство операций — бинарные.
6. Приоритет.
Умножение приоритетнее сложения. Это понятно. И так далее.
Скобки могут менять приоритеты. Это тоже понятно. Это всё школа.
7. Ассоциативность.
Бывает левая ассоциативность — это когда операции выполняются слева направо.
И правая ассоциативность — это когда вычисление справа налево.
***
Потом была задача.
Надо было, используя console.log, вывести произведение двух подвыражений, одно из которых это семь деленное на два, а второе это разность между остатком от деления ста на три и цифрой пять.
Написал так:
console.log((7 / 2) * ((100 % 3) - 5));
Оказалось, не наврал. За что и молодец.
***
Итого по времени: 245 минут + 30 минут = 275 минут, как программист.
1. Арифметические выражения.
Вся байда соответствует тому, что в школе учили на математике. Вся эта тема поддерживается многими языками программирования. Десятичные числа (тут их называют вещественными) пишутся через точку. Можно составлять всякие сложные выражения и применять скобки даже. У-у-у-у!
2. Структура.
Есть операнды и операции. Операнды — это числа. Операции — это умножение, деления и прочая подобная фигня типа сложений и так далее.
3. Операции.
Еще раз было про операции. И мы повторим. Это: сложение, вычитание, умножение, деление, остаток от деления.
4. Позиции.
Операции могут располагаться относительно операндов. Например, индексная операция находится между двумя операндами (пример: 3 * 7). Префиксная операция находится перед операндом (пример: –2). Постфиксная операция — за операндом (пока не заморачиваемся — так сказали).
5. Арность операций.
Операции могут быть унарными — когда один операнд. Типа –1.
Могут быть бинарными — когда два операнда. Вроде 5 + 3.
Большинство операций — бинарные.
6. Приоритет.
Умножение приоритетнее сложения. Это понятно. И так далее.
Скобки могут менять приоритеты. Это тоже понятно. Это всё школа.
7. Ассоциативность.
Бывает левая ассоциативность — это когда операции выполняются слева направо.
И правая ассоциативность — это когда вычисление справа налево.
***
Потом была задача.
Надо было, используя console.log, вывести произведение двух подвыражений, одно из которых это семь деленное на два, а второе это разность между остатком от деления ста на три и цифрой пять.
Написал так:
console.log((7 / 2) * ((100 % 3) - 5));
Оказалось, не наврал. За что и молодец.
***
Итого по времени: 245 минут + 30 минут = 275 минут, как программист.
22 октября 2016 г.
День 5. Хекслет. Онлайн-среда Хекслета
Прослушал 4-й урок по основам программирования на Хекслете. В этом уроке разбиралась внутреняя среда Хекслета, как там надо будет писать код для выполнение заданий, что делать, если появятся ошибки, куда бежать, если ничего не понятно и тому подобное.
Рассказали там про терминал в их среде — что-то вроде командной строки, в которой можно что-то выполнять.
Рассказали, что в кодовом окне есть комментарии begin и end, которые не надо удалять и между которыми и надо писать код для проверки.
Рассказали, как создать в этой среде новые файлы, если будет нужно. Рассказали, как сбросить код, если накосячишь.
В общем, минут 10 ушло на восприятие этой инфы.
Ща зарублюсь еще в CodeCombat.
Добавлено позже:
КодКомбатом тоже поигрался с полчаса на начальном уровне ГеймДэва.
Итого: 40 минут. Всего: 245 минут, как программист.
Рассказали там про терминал в их среде — что-то вроде командной строки, в которой можно что-то выполнять.
Рассказали, что в кодовом окне есть комментарии begin и end, которые не надо удалять и между которыми и надо писать код для проверки.
Рассказали, как создать в этой среде новые файлы, если будет нужно. Рассказали, как сбросить код, если накосячишь.
В общем, минут 10 ушло на восприятие этой инфы.
Ща зарублюсь еще в CodeCombat.
Добавлено позже:
КодКомбатом тоже поигрался с полчаса на начальном уровне ГеймДэва.
Итого: 40 минут. Всего: 245 минут, как программист.
21 октября 2016 г.
CodeCombat
Подсел на codecombat.com, сижу играю с первого уровня уже часа два. Наверное, хватит на сегодня. Не понятно, это входит в обучение? Наверное, да, раз этот сайт предназначен для обучения программированию.
Так что зачислю себе в карму еще 120 минут. Итого: 205 минут, как я программист.
Так что зачислю себе в карму еще 120 минут. Итого: 205 минут, как я программист.
Подписаться на:
Сообщения (Atom)