Видео-урок



Сегодня тема нашего урока — это алгоритмы. И что же мы сегодня узнаем, что такое алгоритм, что такое программирование, в чем разница между спортивным и промышленным программированием.

А что же такое алгоритм?

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

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

Это алгоритм простейший и понятный. А само понятие алгоритма появилось, благодаря математику Мухаммеда аль-Хорезме, собственно, от его имени и названо понятие алгоритма.

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

Начнем с понятия детерминированность — это, другими словами, однозначность, то есть каждый следующий шаг алгоритма должен быть определён однозначно, на примере, у нас есть вопрос «дождь идёт?» и мы должны однозначно ответить, либо да, либо нет, какого-то третьего варианта не должны быть, по типу «моросит», то есть если у нас дождь идёт, мы берём зонт, если не идет дождь, мы просто выходим на улицу.

Алгоритм должен быть понятным исполнителю. Допустим, если у нас исполнитель кошка, которая в том числе понимает по-русски, мы должны на языке кошки донести алгоритм, что она должна сделать, например, подойти к столу, поднять левую переднюю лапу, сказать «МЯУ», взять игрушку в пасть.

Но, если мы кошку попросим сказать «Привет», она не сможет из-за другого речевого аппарата.

А если попросим показать «большой палец вверх», то у неё лапки, что такое большой палец для кошки непонятно.

На примере черепашки чертёжника. У нее существует система команд исполнителя (СКИ), то есть, у неё есть определенные команды, которые она может исполнять, она может двигаться вперёд или назад, она может поворачиваться на какое-то количество градусов влево или вправо она может опускать и поднимать перо, а также она в состоянии повторять некоторое количество раз определённые действия.

Весь этот набор действий можно описать как система команд исполнителя (СКИ).

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

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

Разберем понятие дискретность (отдельность).

  • Каждый шаг алгоритма – это отдельное и самостоятельное действие, понятное исполнителю.
  • Эти действия могут выполняться одновременно, если исполнитель на это способен.
  • Эти действия могут быть комплексными, если исполнитель понимает, какие шаги предполагает каждое действие.

Например, Исполнитель: черепашка-чертёжник

Действие: нарисуй квадрат

  • Опусти перо
  • Повтори 4 раза:
  • Двигайся вперёд на 100 шагов
  • Повернись влево на 90 градусов
  • Подними перо

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

Также алгоритм должен быть универсальным. Алгоритм принимает на вход разные входные данные (в пределах допустимого) и обрабатывает их нужным образом. Потому что иначе под каждый набор придётся разрабатывать отдельный алгоритм. А мы не хотим делать лишнюю работу.

Алгоритм должен выполнять поставленную задачу иначе зачем вообще нам он нужен!

Подведём итог алгоритм — это конечная последовательность команд для некоторого исполнителя, которая решает заранее поставленную задачу с использованием входных параметров.

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

А что же такое программирования?

Просто можно сказать, что программирование — это написания программы для компьютера, но это получается тавтология

Программа — это:

  • комбинация компьютерных инструкций и данных, позволяющая аппаратному обеспечению вычислительной системы выполнять вычисления или функции управления (стандарт ISO/IEC/IEEE 24765:2010);
  • синтаксическая единица, которая соответствует правилам определённого языка программирования, состоящая из определений и операторов или инструкций, необходимых для определённой функции, задачи или решения проблемы (стандарт ISO/IEC 2382-1:1993).

Не всякая программа – алгоритм, и не всякий алгоритм – программа.

Программирование - описание задачи для исполнителя с помощью средств, понятных исполнителю. Обычно исполнитель – это компьютер. А средства – языки программирования.


Последнее изменение: Вторник, 2 сентября 2025, 12:34