Вы достигли нового уровня

Уровень 1


- Поздравляю с достижением первого уровня!

- Спасибо! Это было легче, чем казалось!

- А главное - интересно!

- Дальше будет еще интереснее. Сейчас ты сам в этом убедишься. Готов?

- Поехали!


Будущее наступило

Одними из атрибутов 20-го века были пылесос, стиральная машина, телевизор и автомобиль.

Если вы продолжаете стирать одежду в ручную, ездите на лошади, используйте свечи для освещения, то, по меркам 20-го века, вы живете - в 19-м.

Атрибутами 21-го века стали интернет, мобильный телефон, skype, социальные сети.

С помощью интернета можно получить доступ к любой информации известной человечеству. В интернете можно работать и вести бизнес, получить образование и преподавать.

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

С помощью скайпа вы можете пообщаться со своими друзьями, братьями, сестрами, родителями, родственниками, и любыми людьми во всем мире. Бесплатная видеосвязь с любой точкой мира. Об этом 20 лет назад даже и мечтать не смели. Сейчас это обыденный факт.

Google Street View позволит вам «прогуляться» по улицам любого города любой страны земного шара. Вы можете выбрать место, где хотели бы провести всю свою жизнь, и приехать туда.

Владелец «современного телефона» может: говорить, писать сообщения, пересылать картинки, искать информацию в интернете, установить сотни тысяч бесплатных приложений. Что еще? Делать видео-звонки, слушать музыку, смотреть видео, снимать видео, делать фото, увидеть свое местоположение на карте, вести в нем заметки, использовать как органайзер, общаться в социальных сетях и лайкать котиков.

Вы можете за год выучить английский (или любой другой язык), слушая аудиокурсы, когда едите на работу и с работы. Любая информация доступна в интернете, любые учебники. Хотите видео-лекции лучших мировых вузов с субтитрами? Они там тоже есть.

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

Хватит жить в 20-м веке и ждать, что вам скажут, что учить, когда сдавать, что делать и где жить. Решайте это сами. Возможности изменить свою жизнь окружают вас на каждом шагу.


Есть такой старый анекдот, напоследок:

Случилось как то наводнение. Все спасаются, кто как может, и только старый, очень набожный еврей сидит и молится.
Мимо проезжает грузовик, сидящие в кузове кричат:
- Хаим, полезай в кузов, спасайся!
- Я всю жизнь молился и соблюдал все традиции, меня Бог спасет - отвечает Хаим.
Вода доходит уже до окон. Мимо проплывает лодка. Тот же вопрос и тот же ответ.
Вода доходит до крыши, Хаим сидит на крыше и молится.
Спускается с неба вертолет. Тот же вопрос, тот же ответ. И Хаим утонул.
И уже в другом мире стал попрекать Бога:
- Я всю жизнь молился и соблюдал все традиции, почему же Ты меня не спас?
- Я тебе и машину, и лодку, и вертолет посылал, так в чем же дело?

1. Знакомство с программой

- Привет, мой юный друг. Надеюсь, ты не забыл, что я - бюрократ в 16-м поколении. Если бы я не систематизировал все знания, которые у меня есть, то никогда бы не добился таких высот. У меня куча разной справочной информации. Я буду помогать тебе с некоторыми задачами. Давай для начала я расскажу тебе, что представляет собой типичная программа на Java.

- Да, я слушаю.

- Факт первый. Программа на Java состоит из классов. Каждый класс хранится в отдельном файле. Имя файла совпадает с именем класса, расширение файла – java.

- Программа состоит из набора файлов с расширением java, и в каждом файле написан код одного класса, так?

- Абсолютно правильно, Амиго! Если файл называется MyCat.java, то он содержит класс MyCat.

- Факт второй. Когда у нас много файлов с классами, мы группируем их в папки и подпапки. Классы при этом группируются по пакетам и подпакетам. Имена пакетов и подпакетов нужно указывать в коде класса, и они должны совпадать с именами папок и подпапок на диске.

- Т.е. с одной стороны у нас есть файлы, разложенные по папкам, а с другой - классы, разложенные по пакетам. При этом имя класса обязано совпадать с именем файла, в котором этот класс описан. А имя пакета совпадает с именем папки, в которой хранится класс.

- А можно больше подробностей?

- Имена вложенных пакетов описываются через точку, почти как ссылки в интернете.

- Т.е. если у тебя есть класс Cat, который лежит в пакете “animals.pets”, то это значит, что:

  1. На диске есть папка, например src, где хранятся все файлы проекта;
  2. В ней есть папка animals, в которой есть папка pets,
  3. В папке pets есть файл Cat.java, который и содержит код класса Cat.

- Вроде понял, но не уверен.

- Смотри, структура классов и пакетов полностью повторяет структуру папок и файлов на диске. Если есть файл House.java, который лежит в папке src/com/houses/, то это значит, что существует класс House, который находится в пакете com.houses.

- Понял.

- А ты сообразительный малый. Внимание на экран - вот код небольшого класса. Я подписал все ключевые моменты:

- Все понятно, насколько это может быть понятно с первого раза. Хе-хе.

- Молодец! Много и не надо. Ты главное хоть что-нибудь пойми, а полное понимание придет со временем. Теперь я пойду спать, а тобой займётся кто-нибудь ещё.

2. Как пользоваться курсом на сайте JavaRush

- Добрый день, Амиго. Меня зовут Джон Бобров, я - капитан корабля Galactic Rush.

- Добрый день, капитан.

- Я расскажу тебе как устроен наш учебный процесс и как пользоваться нашим сервисом.


Как пользоваться курсом на сайте JavaRush

Я всегда утверждал своим ученикам, что программирование - это просто и интересно. Теперь и вы сможете в этом убедиться.

Цель всего курса – получить удовольствие, хорошее настроение и реальные навыки программирования на Java, чтобы легко устроиться работать программистом. Для этого на JavaRush есть много практических заданий. Кроме того, сложность заданий постепенно растет от простых к самым сложным.

Устройство игры

Курс состоит из 40 уровней. Каждый уровень содержит 10-12 лекций и 20-30 практических задач.

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

За решение практических задач, просмотр мультфильмов и многое другое, вы получаете награду – несколько единиц «черной материи»:

Чтобы перейти к следующей лекции или уровню, нужно сделать «перелет на корабле», который требует «одну заправку корабля»:

На каждую «заправку корабля» уходит 5 единиц «черной материи».


Переход на следующий уровень

Чтобы перейти на следующий уровень, нужно просто пройти все лекции текущего уровня. Чтобы перейти к следующей лекции нужно нажать большую зелёную кнопку:

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

Заправить корабль можно в разделе «МОЯ СТРАНИЦА». Если для заправки корабля не хватает черной материи, вам нужно решить несколько задач и заработать ее. Воспользуйся для этого жёлтой кнопкой слева от лекций, напротив практических заданий:

Практические задания

Ввод кода по образцу - это самое простое практическое задание. Для выполнения этого задания, вы должны в нижней части окна ввести Java-код, идентичный образцу (он в верхней части окна).

Написать программу – это практическое задание средней сложности. Для его выполнения вы должны написать программу на Java. Для этого нужно придумать, как ее решить и ввести код решения в основное окно. После этого нажмите кнопку:


Для вашего удобства, а также упрощения проверки программы, код стоит писать только в месте, отмеченным комментарием «напишите тут ваш код»

Если программа компилируется без ошибок, окно станет зелёным. Вот так:

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

Если программа выводит что-либо на экран, ниже есть специальное окно (обозначенное словами «Выходные данные»), показывающее все, что программа вывела на экран при последнем запуске.

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

Если размер окна с кодом слишком мал, вы можете максимизировать его, нажав кнопку максимизации (доступно с 4-го уровня):

Домашние задания нужно решать в Intellij IDEA (доступно с 3-го уровня). Это особая программа для программистов (IDE), для удобного написания программ. Я написал специальный плагин для IDEA, который даст вам возможность мгновенно проверять вашу программу на правильность. Он состоит всего из двух кнопок:

Левая кнопка показывает список доступных для вас задач:

Правая кнопка отправляет задачу на сервер на проверку:

Также вы можете зарабатывать «черную материю», просматривая различные обучающие и мотивационные видео, которые дает Хулио:

3. Риша

- Это опять я: забыл кое-что объяснить. Сейчас я расскажу тебе про переменные и адресацию памяти. Не сильно вникай, но если что-то запомнишь – уже хорошо!

- Люблю твой подход к урокам. Понял что-то – хорошо. Ничего не понял – ну и ладно.

- Насильно мил не будешь. Это же очевидно. А что, у вас не так?

- Нет. У нас другой подход: хочешь – учишь, не хочешь – учишь, но нехотя.

- М-да, какой отсталый подход к обучению. Это ж вы уйму сил и времени тратите, а результатов почти нет.

- Еще как тратим! Ладно, не будем о грустном.

- Ладно. Представь себе Excel. Все знают Excel. Страница в Exсel'е состоит из ячеек, и у каждой ячейки есть её уникальный номер (A1, A2,…B1, B2). Зная номер ячейки, всегда можно записать в неё какое-то значение или же получить значение, которое там хранится. Память компьютера устроена очень похоже.

- Пока все понятно.

- Программа и её данные во время работы хранятся в памяти. Вся память компьютера представлена в виде маленьких ячеек - байт. У каждой ячейки есть её уникальный номер - 0,1,2,3,... (нумерация начинается с нуля). Зная номер ячейки, мы можем сохранить в неё какие-то данные. Или взять их из неё. В одних ячейках хранится код программы - набор команд для процессора, в других - данные этой программы. Номер каждой ячейки также называют её адресом.

- Процессор, команды - мне профессор что-то рассказывал про это, но не очень подробно.

- Процессор – это такая штука, которая умеет исполнять команды из загруженной в память программы. Почти все команды процессора – это что-то типа "взять данные из некоторых ячеек, сделать с ними что-то, результат поместить в другие ячейки". Объединяя сотни простых команд, мы получаем сложные и полезные команды.

- И зачем мне все это?

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

- Т.е. переменная – это имя и тип или кусок памяти и какое-то значение?

- Все вместе. Вот посмотри на несколько примеров.

Код Пояснение
1 String s; Эта строчка создаст переменную по имени s с типом хранимых в ней данных - текст (String - строка).
Мы не можем объявить другую переменную с таким же именем в этой же функции или классе.
2 String s2 = "I'm Diego"; Эта строчка создаст переменную по имени s2 с типом данных текст (строка) и сразу занесёт в неё значение "I'm Diego".
3 int a; Создаём переменную по имени a с типом хранимых в ней данных – целое число (Integer, сокращённо int).
4 int b = 4 Создаём переменную по имени b с типом хранимых целых чисел (int). В переменную сразу заносится значение 4.

4. Знакомство с типами int и String

- Привет, Амиго.

- Здравствуйте, Эллеонора Керри.

- Называй меня просто Элли, а то звучит как-то слишком официально.

- ОК, Элли.

- Я думаю, что с моей помощью ты быстро станешь одним из лучших. У меня большой опыт в обучении новичков. Слушай меня, и дело пойдёт как по маслу. Итак, приступим.

- В Java есть два основных типа: String и int. В String мы храним строки/текст, а в int – числа (целые). Чтобы объявить новую переменную, нужно написать её тип и имя. Это имя не должно быть именем другой переменной и/или функции.

Пример 1, код: Описание
String s; Объявлена новая переменная s, способная хранить текст/строку.
int i; Объявлена новая переменная i, в которой можно хранить целые числа.

- При объявлении переменных в них сразу можно заносить их значения.

Пример 2, код: Описание
String s = "Elly"; В переменной s хранится строка со значением "Elly".
int i=5; В переменной i хранится число 5.

- Для того, чтобы занести новое значение в переменную, используется знак “=”. Его ещё называют «оператором присваивания». Присваивание – это занесение в переменную значения, взятого из другой переменной или вычисленного на основе нескольких переменных.

Пример 3, код: Описание
int a = 5; В переменной a хранится значение 5.
int b = 6; В переменной b хранится значение 6.
int c = a + b; В переменной c хранится значение 11.

- При вычислении нового значения переменной может использоваться её старое значение.

Пример 4, код: Описание
int a = 2; Теперь a равно 2
int b = 3; Теперь b равно 3
a = a + b; Теперь a равно 5
b = b + 1; Теперь b равно 4

- Строки можно объединять, используя знак плюс:

Пример 5, код: Описание
String s1 = "Мама";
String s2 = "Мыла";
String s3 = s1 + s2 + "Раму";
В переменной s3 содержится значение «МамаМылаРаму»

- Иногда удобно использовать строки, состоящие из одного или нескольких пробелов:

Пример 6, код: Описание
String s1 = "Мой любимый фильм";
String s2 = "Дорога";
int roadNumber = 66;
String text = s1 + " " + s2 + " " + roadNumber;
text содержит «Мой любимый фильм Дорога 66»

Сейчас мы рассмотрим, как выводить текст и значение переменных на экран:

Пример 7, код:
1 System.out.println("Ты должен делать то, что должен");
2 String s = "Ты должен делать то, что должен";
System.out.println(s);

- Кстати, Диего просил передать тебе пару задачек:

Условие
1 Объявите переменные name1, name2, name3 типа String. Сразу же в строке объявления присвойте им какие-нибудь значения. Значениями могут быть любые строки.
2 Напиши программу, которая выводит на экран надпись: «Когда я вырасту, то хочу быть паровым экскаватором!» 10 раз.
3 Раскоментируйте часть кода, чтобы на экран вывелось сообщение "Happy New Year"

5. Диего плохого не посоветует

- Привет, дружище! Это я - Диего, помнишь меня? Я тот, кто научит тебя по-настоящему нужным вещам для робота!

- Ты меньше слушай эти «мясные консервы» – целее будешь. Разве что-то может заменить практику? Ты же не собираешься и плавать научиться сидя за партой? Или собираешься? Ха-ха. Практика – наше всё. Мы же – роботы.

- Вот тебе новое задание:

Задание:
Внесите изменения в программу, чтобы переменная s была равна 5, t была равна 6, а x равна 7. Программа должна компилироваться.

6. Заключение контракта

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

Задание: вывести на экран текст
Меня зовут Амиго.

Я согласен на зарплату $10/месяц в первый год.
Я согласен на зарплату $20/месяц во второй год.
Я согласен на зарплату $30/месяц в третий год.
Я согласен на зарплату $40/месяц в четвертый год.
Я согласен на зарплату $50/месяц в пятый год.

Спасибо за щедрость, друг Риша!

Амиго задумался:

«Что-то не очень уж щедро все это выглядит. Помнится, Диего научил меня одной фразе...»

Новое задание: написать программу, которая выводит на экран строки:
Меня зовут Амиго.

Я согласен на зарплату $800/месяц в первый год.
Я согласен на зарплату $1500/месяц во второй год.
Я согласен на зарплату $2200/месяц в третий год.
Я согласен на зарплату $2700/месяц в четвертый год.
Я согласен на зарплату $3200/месяц в пятый год.

Поцелуй мой блестящий металлический зад!

Риша возвращается:

- Ну и как у тебя дела?

- Готово. Подписал.

- Отлично! Я тоже подписываю не глядя. Мы в Galactic Rush никогда не обманываем друг друга.

- Хе-хе. Спасибо за щедрость, друг Риша!

7. Вывод на экран

- Это снова я. Сегодня я проведу для тебя три занятия. А это – второе! Садись и слушай, и я расскажу тебе о выводе на экран. Это очень легко и просто:

Код на Java Что будет выведено на экран
System.out.println("Diego");
System.out.println(3);
System.out.println("Mama" + "Mila" + "Ramu");
Diego
3
MamaMilaRamu
System.out.println(1 + 3);
System.out.println("1" + "3");
System.out.println(1 + "3");
System.out.println("1" + 3);
System.out.println("1" + (1 + 3));
4
13
13
13
14
System.out.println("Amigo the best!");
System.out.println("Amigo" + "the best!");
System.out.println("Amigo" + " " + "the best!");
Amigo the best!
Amigothe best!
Amigo the best!
System.out.println(3 * 3 + 4 * 4);
System.out.println(1 * 2 + 3 * 4);
25
14
System.out.print("Diego");
System.out.print("Diego");
System.out.print("Diego");
DiegoDiegoDiego
System.out.print("Diego ");
System.out.println("the best");
System.out.print("Amigo ");
System.out.println("the best!");
Diego the best
Amigo the best!

- А можно ещё раз про print() и println()?

- Весь текст выводится на экран последовательно, с помощью функции print(), буква за буквой. Когда места в строке на экране не остаётся, текст начинает выводиться на следующей строке экрана. Можно досрочно завершить вывод на текущей строке, и заставить выводить текст дальше на следующей строке, если использовать функцию println().

- Понятно. А что за магия со сложением чисел и строк?

- Если складываются два числа, то результатом тоже будет число: 2+2 равно 4. Если складываются число и строка, то число преобразуется в строку и, затем, просто объединяются две строки.

- Ага. Я тоже примерно так и думал, глядя на примеры, но мало ли. Спасибо за интересную лекцию, Элли.

8. Сравнение с паскалем

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

- Я тоже.

- На нашей родной планете мы используем прогрессивный язык программирования Pascal, вместо отсталой Джавы. Вот тебе небольшой пример сравнения Java и Pascal:

Java Pascal
public class MyFirstClass
{
   public static void main(String[] args)
   {
      int a, b, c;
      String s1, s2;
      System.out.println("Введите два числа");
      a = new Scanner(System.in).nextInt();
      b = new Scanner(System.in).nextInt();
      c = a + b;
      System.out.println("Сумма ваших чисел равна " + c);
   }
}
Program MyFirstProgram;
Var
   a, b, c: Integer;
   s1, s2: String;
Begin
   WriteLn("Введите два числа");
   ReadLn(a);
   ReadLn(b);
   c := a + b;
   WriteLn("Сумма ваших чисел равна ", c);
End.

- Это одна и та же программа, записанная на разных языках. Как видишь, в паскале она занимает меньше строчек – это признак того, что паскаль прогрессивнее.

- Я думаю, такое сравнение может ускорить твое понимание Java, если ты когда-то видел Pascal.

- Нет, не видел, но все равно было бы интересно посмотреть сравнение двух разных языков программирования.

- Разумная мысль. Тогда я продолжу.

- В паскале мы помещаем написанный код в тело программы, в процедуры или в функции. В Джаве все было сильно упрощено: тело программы, процедуры и функции заменили просто функциями. И стали называть их методами.

Java Pascal
Функция main Тело программы
public static void main(String[] args)
{
   System.out.println("Ho-ho-ho!");
}
Begin
   WriteLn("Ho-ho-ho!");
End.
Функция/Метод Функция
double sqr(double a)
{
   return a * a;
}
Function Sqr(a: Real): Real
Begin
   Sqr := a * a;
End;
Функция с типом void Процедура
void doubleWrite(String s)
{
   System.out.println(s);
   System.out.println(s);
}
Procedure DoubleWrite(s: String);
Begin
   WriteLn(s);
   WriteLn(s);
End;

- В столбце с Паскалем я вижу «тело программы», «функцию» и «процедуру», а в Java везде функции. Это как-то странно.

- Да, нам – инопланетянам - это кажется очень странным, но люди любят все унифицировать.

- В Java весь код является функциями, поэтому там даже не надо писать function, как в паскале, чтобы объявить функцию.

- Все очень просто: если строчка кода имеет вид «Тип + имя», то это либо объявление функции, либо переменной. Если после имени стоят скобочки – значит это объявление новой функции. Если скобочек нет – объявление новой переменной.

- Объявления переменных и функций в Java очень похожи, сравни:

Код Описание
String name; Переменная с именем name и типом String.
String getName()
{
}
Функция с именем getName и типом возвращаемого результата String.

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

- Сегодня ко мне зашел Диего и попросил дать тебе эти задачи, надеюсь тебе они понравятся:

Условие
1 Переставьте строки так, чтобы получился текст "Nothing personal, it's just business."
2 Объявите недостающие переменные и закоментарьте те, которые нигде не используются.
3 Напиши программу, которая выводит на экран надпись: «Слава Роботам! Убить всех человеков!» 16 раз.

9. Профессор рассказывает о пользе лекций

- Привет, Амиго!

- День добрый, профессор Нудлс.

- Я в своей жизни многое повидал. И вот что я тебе скажу…

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

- Если студент хочет учиться, преподаватель тут бессилен.

- Именно. Студент не может превратить скучный урок или лекцию в интересный. Это может сделать только преподаватель. Преподаватель обязан делать свои уроки интересными и познавательными, а не жаловаться, что студенты не хотят учиться и не ходят на пары.

- Вот представь, что режиссер провального фильма объявляет, что в низких сборах его кинокартины виноваты зрители, которым «не интересны его фильмы, и они на них не ходят». Если тебе попадется такой режиссёр или лектор, ты их просто игнорируй – здоровее будешь.

- Спасибо за совет, профессор.

- Я просил Элли и Ришу рассказывать тебе новый материал познавательно и интересно. Но у всех бывают ошибки. Что-то они не дорассказали, что-то ты не понял. Главное, чтобы такие ситуации не уменьшали твое желание учиться. Впереди тебя ждет захватывающий мир приключений и интересной работы!

- Я буду давать тебе ссылки на статьи по этой же тематике. Если у тебя что-то не получается – посмотри их. Также возможно, что ты захочешь почитать еще что-нибудь по сложной для тебя теме. Для этого я дам тебе ссылку на наше Сообщество, (Лекция 1). Там ты найдешь дополнительную информацию в виде полезных ссылок.

«Философия Java» - шикарная книга. Каждый программист Java должен прочитать ее. Рассчитана далеко не на новичков. Но все же может очень помочь разобраться в сложной теме. Если будешь понимать, что там написано, я буду гордиться тобой.

10. Элли

- Привет, Амиго! У нас тут с Диего перерыв и мы травим анекдоты, хочешь послушать?

- Да, конечно.

Два студента (заядлых игромана) первого и пятого курса поспорили - можно ли играться во время учебы. Долго спорили и решили пойти спросить у декана - уж он то знает.
- Можно ли играться за компом целыми днями, когда готовишься к сессии? - спросил первокурсник.
- Что за вздор! Где это видано, чтобы игрались во время учебы, - возмутился декан.
- А можно ли учиться во время игры за компом? - поинтересовался пятикурсник.
- Конечно, учиться можно всегда! - похвалил декан.

11. Диего

- Моя очередь. Слушайте:

Создали ученые суперкомпьютер (ну этот комп по идее должен был на любые вопросы ответить), ну и задают значит ему вопрос:
- Есть ли Бог?
Комп подумал немного, пожужжал и отвечает:
- Недостаточно информации, подсоедините меня ко всем другим мощнейшим компам планеты.
Ну ученые повздыхали, а делать нечего, подсоединили. Опять спрашивают:
- Есть ли Бог?
Комп опять подумал пожужжал и отвечает:
- Недостаточно информации. Подсоедините меня ко всем компам планеты вообще.
Ученым трудно было это сделать, но они все-таки подсоединили суперкомп ко всем компам планеты вообще. Опять задают тот же вопрос. Комп пожужжал и говорит:
- Недостаточно информации. Подсоедините меня ко всем электронным сетям, ко всем приборам на процессорах, и т.п.
Ну ученые разбились в лепешку, но и это сделали. Опять задают:
- Есть ли Бог?
Комп:
- Теперь есть.

12. Хулио

- Привет, Амиго! Я думаю, ты уже достаточно поработал. Как насчёт заслуженного отдыха?

Оригинал видео на YouTube

- Напоминаю, что за каждое просмотренное видео от Хулио ты будешь получать от 2 до 10 единиц 'Черной материи'. Только досматривай до конца.

- Да, спасибо, я помню. Прямо сейчас и начну.