Алгоритм и программа, от идеи к воплощению

Желание изучить программирование в последнее время посещает все больше и больше людей, и это не удивительно, ведь нас с каждым годом окружает все большее количество электронных устройств, основных на информационных технологиях. Устройства способные анализировать первичную информацию, поступающую из окружающего мира и предоставлять ее в обработанном виде человеку для принятия решения могут заметно облегчить труд и жизнь людей, а если такие устройства смогут и сами «принимать решения» — качество жизни людей можно увеличить в разы. Программирование сегодня это способ «объяснить» устройству основанному на информационных технологиях что делать, и как это делать.

В основе программирования лежит алгоритм, и понимание программирования не возможно без понимания алгоритмов. Но что это? Определение можно прочитать по ссылке выше. А мы же рассмотрим это понятие на простом примере.

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

Алгоритм покупки яблок

В реальной жизни такой алгоритм вряд ли кому-то полезен, потому что купить яблоки не составит труда даже для ребенка. Но нам интересен принцип. Мы описали действия, а точнее их последовательность, и теперь любой желающий может воспользоваться нашим алгоритмом. Или наш алгоритм не все смогут выполнить? Ну в случае с человеком или даже некоторыми животными это вполне осуществимо. А что же касается устройств использующих информационные технологии? Первый ответ — нет, такие устройства не могут купить вам яблок используя этот алгоритм. Второй ответ — да, такие устройства могут купить нам яблок, если им немного помочь. Как спросите вы? Им нужно объяснить что значат все действия написанные в нашей блоксхеме.

Так мы плавно подобрались ко второму термину рассматриваемому в этой статье — Программа. Самое простое определение которое выдает поиск в интернете по слову Программа План деятельности, работ и т. п. Кажется между программой и алгоритмом нет никакой разницы, ведь алгоритм тоже можно представить как план деятельности… И в принципе это будет верно но в среде информационных технологий между этими терминами есть небольшие отличия, а именно программа — это наиболее подробное описание действий, не абстрактная схема, а детальный набор инструкций, каждая из которых понятна исполнителю. Допустим мы хотим послать за яблоками робота, которого мы сделали из компьютера. Давайте представим что у нашего робота есть консоль через которую мы ведем в него команду Купить яблоки, первое что скажет нам наш робот будет не то что он не знает как это делать, наш робот скажет что не знает что такое Купить и яблоки. Значит нам, руководствуясь нашим алгоритмом, нужно составить детальное описание действий, таким образом чтобы наш робот не столкнулся с неизвестными для него понятиями. В результате такого описания мы и получим программу.

В следующей статье мы рассмотрим общие принципы составления программ и почему в мире компьютеров 1101111 1101110 1100101 1110011 100000 1100001 1101110 1100100 100000 1111010 1100101 1110010 1101111 1110011

Поделиться этим материалом