СОВЕРШЕННОЕ ОРУЖИЕ КОДЕРА

Спецвыпуск Хакер, номер #004, стр. 004-106-1

Ruben aka Noah (noah@inbox.ru, UIN 983332)

КАКОЕ ОТНОШЕНИЕ ИМЕЮТ АЛГОРИТМЫ К ДАВИЛКАМ БАБУЛЕК?

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

Ты тачку водить умеешь? Да!? Я и не сомневался :). А если не умеешь, читай дальше - любимый Х тебя всему научит. Короче, представь себе, что внизу, у твоего подъезда, прямо сейчас стоит новенькая "девятка" :). Задача такая - завести тачку и тронуться с места. Так, раз это задача - значит, должен существовать алгоритм ее решения, согласен со мной? Теперь давай вернемся к нашему определению - там, кажется, говорилось "...действия, которые должны выполняться для решения этой задачи...". А какие будут действия для нашей задачки? Давай, сам вспоминай, что мы делаем каждый раз, когда заводим тачку и трогаемся.

1. Снимаем с ручника.

2. Вставляем ключ зажигания.

3. Жмем и удерживаем педаль сцепления.

4. Переводим передачу на нейтралку.

5. Отпускаем сцепление.

6. Поворачиваем ключ.

7. Опять жмем и удерживаем сцепление.

8. Переходим на первую скорость.

9. Потихоньку жмем на педаль акселератора и одновременно отпускаем

сцепление.

Вот все действия, которые нам нужны. Но определение состояло из двух частей, там еще говорилось "... последовательность, в которой эти действия должны выполняться...". Приятель, мы с тобой просто отличные водилы, поэтому когда мы вспоминали нужные действия, интуитивно расставили их в правильной последовательности. А теперь представь себе, что я позову какого-нибудь баклана, совсем не умеющего водить тачку, и суну ему наш список действий, перемешав все пункты в нем случайным образом. Вот кора будет :) Хе-хе, например если снять с

ручника в самом конце :), или если поменять местами третье и пятое действия... - вообще чепуха получится какая-то.

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

Содержание  Вперед на стр. 004-106-2

загрузка...
Cпец Хакер #075Cпец Хакер #074Cпец Хакер #073Cпец Хакер #072Cпец Хакер #071Cпец Хакер #070Cпец Хакер #069Cпец Хакер #068Cпец Хакер #067Cпец Хакер #066Cпец Хакер #065Cпец Хакер #064Cпец Хакер #063Cпец Хакер #062Cпец Хакер #061Cпец Хакер #060Cпец Хакер #059Cпец Хакер #058Cпец Хакер #057Cпец Хакер #056Cпец Хакер #055Cпец Хакер #054Cпец Хакер #053Cпец Хакер #052Cпец Хакер #051Cпец Хакер #050Cпец Хакер #049Cпец Хакер #048Cпец Хакер #047Cпец Хакер #046Cпец Хакер #045Cпец Хакер #044Cпец Хакер #043Cпец Хакер #042Cпец Хакер #041Cпец Хакер #040Cпец Хакер #039Cпец Хакер #038Cпец Хакер #037Cпец Хакер #036Cпец Хакер #035Cпец Хакер #034Cпец Хакер #033Cпец Хакер #032Cпец Хакер #031Cпец Хакер #030Cпец Хакер #029Cпец Хакер #028Cпец Хакер #027Cпец Хакер #026Cпец Хакер #025Cпец Хакер #024Cпец Хакер #023Cпец Хакер #022Cпец Хакер #021Cпец Хакер #020Cпец Хакер #019Cпец Хакер #018Cпец Хакер #017Cпец Хакер #016Cпец Хакер #015Cпец Хакер #014Cпец Хакер #013Cпец Хакер #012Cпец Хакер #011Cпец Хакер #010Cпец Хакер #009Cпец Хакер #008Cпец Хакер #007Cпец Хакер #006Cпец Хакер #005Cпец Хакер #004Cпец Хакер #003Cпец Хакер #002Cпец Хакер #001