Доброго времени суток и приветствую всех
на канале
это первое видео из серии алгоритмах на
питоне и мы поговорим о базовых понятиях
что такое алгоритм какие бывают виды и
какими свойствами обладает постараюсь
это видео сделать коротким и лаконичным
чтобы вы усвоили материал без лишней
воды и как можно скорее перешли к
изучению непосредственно предметной
области что ж начнем так мы
рассматриваем разрезе программирования
то компьютерный алгоритм это точно по
инструкции
описывающий порядок действий исполнителя
для достижения результата решения задачи
за конечное время свою очередь
вспомнить его может являться компьютер
микроконтроллер и тому подобное
устройство в качестве инструкции мы
подразумеваем команды написано некоторым
языке программирования которое
выполняется центральным процессором и
сходясь определение алгоритм мы можем
выделить четыре основных я обязательных
свойствам первое это дискретность 2
литер минирован ность 3 понятность 4
конечность по видам алгоритмы
классифицировать цена линейные
разветвляющиеся и циклически теперь
давайте все это рассмотрим детали и
начнется свойств последовательно
выполнение простых шагов решения задачи
называется дискретностью
это означает что любой компьютерный
алгоритм состоит из конкретного набора
элементарных действий или команд которая
выполняется друг за другом в заданном
порядке примеру нам необходимо вычислить
площадь треугольникаю. для решения задачи
первое нужно поучить на вход программы
значения длины сторон а и b 2 шага
перемножить их и получить результат и
третий шаг вывести значение площади на
эко каждый из трех шагов
выполняется последовательно и за конечно
отрезок времени в этом есть
дискретности
следующее свойство детерминированность
или другими словами определенность в
каждый момент времени
следующий шаг работы должен быть
однозначным алгоритм выдает один и тот
же результат для одних и тех же исходных
данных то есть при выполнении
каждое действие должно быть однозначным
иметь не действуем трактовку и понимание
также вне зависимости от количества
прохождения алгоритм при неизменных
исходных данных не должен изменяться
возьмем предыдущий пример
формула расчета площади должна иметь
однозначную и точную реализацию а
умножить на b для исполнителя то есть
компьютера будет иметь единый смысл
результат при неоднократном вычислений
должен всегда быть одинаковы при тех же
исходных размеров
схожим со свойством определенность есть
понятность алгоритм для исполнителя
должен включать только те команды
которые ему исполнителю
доступны которая входит его систему
команд здесь у просто алгоритм должен
компьютеру давать команды на выполнение
понятным ему языком если алгоритм будет
говорить с компьютером на неизвестным
или не понятном ему языке соответственно
результат его работы вы не увидите ярким
примером будет системы команд разных
архитектура в процессор допустим
процессоров, а ирэн и процессоров
компании intel и наконец свойства
конечность каждое действие и алгоритм
целом должны иметь возможно завершение
имеется ввиду каждая простейшая операция
или действие должно быть завершены
иметь какой-то результат думаю здесь все
понятно процесс выполнения алгоритма
обязан приводить к определенному
результату если последовательность
действий отвечает этим четырем
необходимым свойством можем смело
говорить что это есть алгоритм его можно
передавать исполнители на выполнение
существует есть
некоторое количество свойств которые
могут обладать
алгоритмы но мы не будем сильно
углубляться так как на данный момент нам
достаточно только базовых сведений а
сейчас придем к видам алгоритмов ранее
говорил что существует три основных вида
давайте пройдемся по каждому из них
деталей первый и самый простой это
линейного горит все действия происходит
однократно и в заданном порядке на
экране вы видите структуру линейного
горит мо здесь присутствуют две команды
которые при прохождении алгоритма
выполняться друг за другом в строгой
последовательности все тот же пример с
вычислением площади
получено ход размеры сторон вычисляем и
выводим на экран
окей что крайне полста перейдем к
следующему разветвляющийся или алгоритму
ветвление алгоритм в котором в
зависимости от условий выполняется либо
1 либо другая последовательность
действий на рисунке видите ром в котором
есть условия которое принимает значение
true истинном или фолз ложь и случае
если входные данные соответствуют этому
условию выполняется левая
последовательность команд
если нет то выполняется права и поэтому
алгоритм так и назван из-за того что в
своей структуре имеет ветвления 3 на
очереди циклический в нем описанное
действие которые должны повторяться
указанное количество раз
или пока не выполнить 100 за данное
условие перечень повторяющихся действий
называется телом цикла циклические
алгоритмы бывают двух типов
цикл со счетчиком которым какие-то
действия выполняются определенное число
1 цикл с условиям в которых тело цикла
выполняется в зависимости от какого-либо
условия свою очередь они делятся на цикл
с предусловием и пост условиям с циклами
думают также ничего сложного выполняем
команды заданное количество раз
если цикл сословиям то пока не
выполнится условия в реальной разработки
каждый из разновидностей алгоритмов в
отдельности встречается редко обычно
серьезные проекты
до любительских, в том числе обвиняют
себе все три вида одновременно это
обусловлено тем что для создания не от
этого функционала программы необходимо
достаточно сложной структуры и алгоритмы
ходе этого курса мы будем изучать и
использовать комплексные grid мы
следующем видео поговорим и
попрактикуемся в реализации классической
сортировки, а на сегодня все
всем пока