Server sync... Block time in database: 1565931969, server time: 1566699794, offset: 767825

Программирование. Как работает компьютер. Что такое алгоритм.


Алгоритмы

Что такое алгоритм. Само слово произошло от имени известного математика Аль-Хорезми, который является основателем алгебры - вот он на советской марке (у меня есть такая в коллекции) :

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

  1. Прийти на кухню
  2. Проверить есть ли в чайнике вода
  3. Если воды нет, то налить, перейти к шагу четыре
  4. Проверить горячая ли вода в чайнике
  5. Если вода холодная, вскипятить чайник
  6. Взять кружку
  7. Положить в кружку чайный пакетик
  8. Налить в кружку кипятка
  9. Если любим сладкий чай, положить сахар по вкусу, иначе перейти к шагу 12
  10. Взять ложечку, сделать ей полный круг внутри кружки
  11. Повторить шаг 10 несколько раз до полного растворения сахара
  12. Кружка горячего чая готова.

В данном алгоритме у нас получилось 12 шагов, и есть две основные структуры наших будущих программ: ветвление (наши шаги 3, 4, 9, где есть условия) и цикл (повторяющиеся действия - шаг 10, 11).
Каждый алгоритм обязательно должен иметь какие-то выходные данные, иначе это будет бесполезный алгоритм. В нашем случае это горячая кружка чая.
Большинство программ состоят из таких вот шагов и структур. Конечно для компьютерных программ нам ещё нужны будут переменные и сравнения, а также дополнительные структуры для удобства работы, мы рассмотрим их позже.

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


Устройство компьютера

Основные компоненты в компьютере это память (RAM) и процессор (CPU), а также устройства ввода - вывода такие как монитор, клавиатура, принтер.
Наши алгоритмы и их переменные (данные, которые нужны им для работы) хранятся в памяти компьютера, процессор читает память и начинает выполнять наш алгоритм по шагам. А управляющие структуры говорят что делать дальше, прочитать из памяти следующую порцию данных или вывести что-то на монитор пользователя или считать информацию, которую пользователь вводит с помощью клавиатуры.

Теоретическая часть на этом заканчивается. На следующем уроке мы подробнее разберём управляющие структуры и напишем пока на бумаге формальный алгоритм для нашей первой игры "Быки и коровы".


Немного ссылок для тех кто хочет почитать подробнее:

Теги которые я буду использовать и по которым можно будет найти мои статьи:

  • Программированиеигр,
  • JavaScript,
  • Phaser.js.

P. S. Данный пост также написан на телефоне, с использованием редактора Markor.

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

P. P. P. S. Я ничего не сказал про самый первый рисунок - это графическое представление алгоритма в виде блок-схемы. Если вам интересно узнать об этом больше, пишите в комментариях.


Comments 5


@vik 100%

07.02.2018 14:49
0

Отлично! В ожидании нового поста.))

07.02.2018 17:35
0

Спасибо, Ольга. Он уже в работе, правда будет сильно больше этого, и времени на него понадобится больше.

08.02.2018 04:08
0

@vik 100%

09.02.2018 02:03
0