Jun 23

“Зачем нужна теория вероятностей и статистика” — именно таким вопросом задаётся студент на лекции. В казино выиграть не помогает, предсказывать дождь тоже не очень.

Ответы на эти вопросы вы можете найти в вебинаре «Где применяется теория вероятностей».

Рассмотрены очень жизненные примеры. Например, оказывается, есть советский ГОСТ на максимально допустимое количество гаек и болтов в чае :) Да-да, не больше 5 грамм на тонну. Отсюда приходим к идее вероятности встретить гайку в конкретной пачке. А также как случайный эксперимент и статистика помогают оценить качество партии.

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

Теория вероятностей и шансы

Смотрите, изучайте, проходите курс по теории вероятностей.

Apr 28

Вышел видео-курс «Программирование для начинающих». В нём вы сможете написать вашу первую программу на примере игры «Камень-ножницы-бумага».

камень-ножницы-бумага

Объяснение идёт последовательно и спокойно:

Вы открыли консоль языка программирования. Этот язык программирования называется JavaScript.
Всё в порядке, не переживайте, мы не сломали интернет.
Эта консоль ещё называется командная строка — тут вы можете писать команды на языке JavaScript, а браузер будет их исполнять.

Вот забавный трейлер к этому курсу.

Записывайтесь и учитесь программировать — это первый шаг к новой карьере.

Dec 16

Как спать и высыпатьсяПомимо технических знаний, для инженера важно состояние его собственной “оперативной памяти” — как оперировать высокоуровневыми абстракциями в голове, если ты не выспался? Кофе кофем, но одна бессонная ночь — и три уровня JOIN таблиц в базе данных уже не так легко написать.

Чтобы помочь вам в построении своей системы эффективного сна, был сделан курс “Спать меньше, да лучше“.

Из него вы узнаете, что:

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

Проверено на себе — до прохождения курса “Спать меньше, да лучше” у меня по утрам хорошо просыпался только сахар мимо чашки =)

Oct 14

Давайте обсудим, что такое стек, а также где он применяется.

Что такое стек

Когда я начинал знакомиться с информатикой, компьютера у меня не было, и я читал книжки. Так и наткнулся на это новое для меня слово. В книжке говорилось, что английское слово “stack” означает стопку — как правило, стопку тарелок. Поскольку это слово я прочитал, а не услышал, то было трудно понять, как именно его произносить — “стэк”, “стек” или вообще “стёк” (с тарелок же стекала вода при сушке). Логично. Только годы спустя оказалось, что правильно говорить — “стэк”.

Стек — это структура данных, то есть, принцип, по которому однородные элементы данных хранятся и обрабатываются. Понимание структуры данных позволяет представлять себе в голове то, как эти данные перемещаются и изменяются.

Непонятно, что такое однородные элементы и структура данных? Посмотрите на рисунок.

Стопка тарелок

Здесь однороднные элементы — это, конечно, тарелки. Запихнув их в такой деревянный стек, мы можем рассматривать всю кучу тарелок как единый предмет, как единую структуру данных. Так о ней проще говорить и думать (“принеси стек, пожалуйста“), так её проще обрабатывать.

Обратите внимание, что в это специальное тарелочное устройство можно положить и вынуть тарелку только сверху. Если в стопке 4 тарелки, и вы поместили сверху пятую, то вынуть можно сначала только её. Это и есть принцип работы стека.

Очевидно, что у стека есть всего три операции: добавить тарелку (так называемая операция “push“), вытащить (“pop“) и прочитать значение верхнего элемента (посмотреть, остались тарелки или уже пусто).

Где применяется стек

Магазин с обоймой патронов — самый настоящий стек.
Магазин патронов

Когда врач на приёме говорит вам “Подождите пока что за дверью“, вы выходите, но не становитесь в в конец очереди пациентов, а становитесь как бы самым первым (“сказали подождать!“) — отодвигая назад, в толпу того, кто был уже вот-вот у заветной двери, омрачая его счастье. Поздравляю: теперь вы — вершина стека.

Вы применяете стек, когда начинаете бросать одни дела ради более срочных — “потом доделаю!”. Из-за того, что на хранение элементов стека расходуется память, вы устаёте сильно быстрее, чем если бы заканчивали каждую задачу до того, как хвататься за следующую.

Лоток принтера с бумагой, игра “Ханойские башни” — простые примеры стека.

Ханойские башни

Более изощрённые примеры применения стека — любая рекурсивная задача (“так, старую итерацию пока отложу в стопку, а сейчас надо обрабатывать новую итерацию!“), например, перебор маршрутов исследовательского робота в пещере неизвестной конфигурации.

Самые первые калькуляторы были напрямую сделаны как стеки. Вместо “2+2″ нужно было ввводить “2 2 +”. Первые два элемента (“операнды”) клались в стек, пока не будет введён плюс (“оператор”).
Калькулятор

Удачи, и следите, чтобы ваш стек не переполнялся!

В следующей статье поговорим о более интересной структуре данных: вы узнаете, что такое очередь.

Oct 14

Давайте разберёмся, что такое массив.

Массив (или массив данных) – это набор однородных элементов, к которым можно достучаться (обратиться) по их порядковому номеру (индексу).

Ваш список студентов в группе (ФИО) можно представить в виде массива.

У массива есть элементы, из которых он состоит.
Каждый элемент имеет индекс (свой порядковый номер. Ещё это можно рассматривать как адрес элемента в массиве) и значение.

Порядковый номер в журнале группы – это индекс. Если твоя фамилия “Аксёнов”, то в массиве учеников у тебя индекс “1″ или “2″ (в начале в общем).

Твоё “значение” разумеется – “Аксёнов А.Б.”

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

Значением может быть любой скаляр (число, строка, булево значение) либо другой массив. На счёт можно ли в массиве хранить объекты в качестве элементов — не скажу на счёт Си, в РНР можно.

Жильцы в подъезде — тоже массив. Индексом служит номер квартиры. Каждый элемент – другой массив, массив жильцов данной квартиры. В квартире №1 — 5 жильцов, в квартире №2 никто не живёт, в квартире №3 одинокая бабулька — получается что это можно выразить или как

  • [5, 0, 1] – одномерный массив (каждый элемент – скалярное значение)
  • или [ [1,1,1,1,1], [], [1]] – двумерный массив
  • или [ ['мама', 'папа', 'сын', 'дочка', 'бабушка'], [], [ 'бабушка']] – тоже двумерный массив

Массив можно выразить в виде таблички.
Одномерный массив – это “вырожденная” табличка, состоящая из одной строчки или столбца: [1,1,2,3,5,8]
Двумерный массив – это одна обычная таблица (например, Пифагора)

[[2,2,4],
[2,3,6],
[2,4,8]]

Вот почитай ещё это — Индексный_массив


[]