Как создать алгоритм
Автор Артем Воронцов задал вопрос в разделе Другие языки и технологии
как научиться создавать алгоритмы? и получил лучший ответ
Ответ от Ev[гуру]
Здесь чаще задают вопросы "Какой язык учить первый, а какой второй" (третий, четвертый... )
Как будто от того, что человек выучит все краски,
он автоматически станет непревзойденным художником,
или выучив все ноты (до, ре, ми, фа, соль.. ) станет сразу сочинять музыку.
Сколько раз сталкивался:
- Я выучил весь Pascal (QBASIC и проч... ) и теперь хочу написать игрушку!
- Ну, раз "выучил", давай сделаем солнышко с играющими лучиками.. .
Нарисуем окружность, вокруг нарисуем лучики, дальше делаем анимацию
- Ммммм.. . А как это?
Т. е. человек не может в уме предствить КАК ЭТО.. .
Не может сообразить, что для анимации движения, один лучик надо стереть (нарисовать поверх такой же, но цветом фона) ,
а затем нарисовать лучик, но другой длины. И так по кругу (цикл)
Если оглянуться вокруг, то любой процесс можно выразить алгоритмически.
Ведь что такое Алгоритм? Это точный набор инструкций, описывающих порядок действий
исполнителя для достижения результата решения задачи за конечное время.
Это не я сказал - это в википедии так написано. :))
Попробуй самостоятельно писать алгоритмы.
Например, стиральная машина. Скажешь сложно? Ничего подобного.. .
1. Включить питание (начало)
2. Открыть клапан воды
3. Наполнять бак смывая порошок из отсека
4. По достижении уровня воды XXX, закрыть клапан
5. Повернуть бак на 3 оборота (размешать порошок)
6. Включить нагрев воды
7.
8.
Думаю, что дальше ты сможешь написать сам ( потом сверь с реальной машиной на сколько пунктов ошибся) 🙂
В принципе, так программу для микроконтроллера стиралки и пишут.
Ничего сложного нет, алгоритм ЛЮБОЙ СЛОЖНОСТИ можно реализовать, используя только ТРИ конструкции:
СЛЕДОВАНИЕ (оператор за оператором, команда за командой)
ПОВТОРЕНИЕ (цикл) и
ВЫБОР (альтернатива, выбор по условию) .
Опять же, это не я придумал, а Э. Дейкстра (теорема структурного программирования) .
Поэтому, читай книги по информатике, занимайся самостоятельно, и алгоритмизируй все вокруг.
Ну и начинай учить какой нибудь язык программирования. Только не бери сложный, возьми простой.. .
Удачи!
В программировании есть так называемые паттерны. Это стандартные решения однотипных задач. Паттерны реализуются на языке программирования и второй раз эти реализации придумывать не нужно. Так например поддержка событий у объектов означает реализацию паттерна Observer.
Существует "лучшая практика" решения различных задач. Например, отображение данных полученных из базы данных. Или операции чтения записи в базе данных. Здесь у вас есть выбор, вы как специалист сами решаете какой подход лучше. Например, Active Record или Unit of Work? Выбор между разными стандартными решениями можно сделать только имея опыт в той сфере. Если сунулся в смежную сферу то неизбежна трата времени на изучение.
Профессиональная разработка программ чаще сопряжена с использованием библиотек (своих или чужих) . Сейчас редко кто пишет вообще с нуля. Подбор нужных вам библиотек тоже важен. Вы их изучаете и можете решить задачу в сжатые сроки за удобные для клиента деньги. Опять же в смежных областях вы можете и не участвовать, так как там ваш опыт не велик и знаний библиотек не хватит. Сегодня программирование слишком велико чтобы его освоить от корки до корки.
Это - как научиться писать сочинения. Научиться ясно и точно формулировать свои мысли и записывать их.
Что нужно? По-больше писать сочинений.
Это приходит с опытом.
Так же полезно посмотреть чтобы увидеть как правильно составлять алгоритмы.
все равно что спросить "как стать балериной")
Основной вариант
задача грубо делится на куски (подзадачи)
потом подзадачи на подподзадачи и так до мельчайшего
Или
задача на подзадачи.. . с учетом используемых библиотек для подподподзадач (библиотек функций)
(проектирование сверху)
А эвристике не знаю как научить - тут надо сотню задач сделать чтоб "почуять" и кучу математики
и набить руку и тома по матану и по алгему и теории масс обсл и теор множ. и... (вышка и её капитально переварить)
--------
И каждый язык заточен под конкретный стиль задач - синтаксис языка действительно учится за пару дней и если что то по хелпам можно посмотеть.
Тут ещё важно понять что куда годится. и надо знать пачки библиотек для языков и как их сопоставить со знанием разных разделов математики при выборе конкретного языка реализации
Для этого надо задачи решать, а не на ответах сидеть.
Читать задачники с решениями задач. Конечно, они есть. Какие конкретно, зависит от языка.
Книги с информатики.. . В инете поищи
Как создать искусственный интеллект?
авствуйте!
Весьма сомнительно, чтобы когда-нибудь будет создан именно Разум искусственного
подробнее...
С чего начать изучать программирование?
С основ алгоритмизации 🙂
Читайте про алгоритмы. Это основа программирования.
подробнее...
Как создать вирус,какие существуют программы для создания вирусов?
MASM,TASM и так далее. Изучить одну из них и устройство Windows, и пиши себе.. .
Не знаю, чего
подробнее...
Как создать трейнер для игр?
раньше такая программа была Magic Trainer Creator. Я в ней не осваивался, но принцип был примерно
подробнее...
Как избавиться от лишних мыслей?
Как часто бывает трудно сосредоточиться на чем-то важном, поскольку голова забита или еще
подробнее...
Как мозги прокачать ?
Наверное, многие, не только я, после просмотра замечательного фильма “Limitless” со странным
подробнее...
как зделать трейнер
Как создать трейнер
1
Загрузите программу Magic Trainer Creator и игру. Перейдите в режим
подробнее...
Как создавать мощные картинки с нуля
«10 фишек для начинающих 3D-визуализаторов, о которых молчат эксперты в 3D»
Авторы:
подробнее...
Что такое Цифровая подпись и как ее сделать
Электро́нная цифрова́я по́дпись (ЭЦП) — реквизит электронного документа,
подробнее...
Какие есть методы выхода из лабиринта?
Следуйте вдоль стены. Чтобы пройти весь лабиринт от начала и до конца соблюдайте простое правило -
подробнее...
Как быстро раскрутить свой сайт ?!?monitorzon.ru
Вы горите желанием раскрутить свой сайт, но средств для быстрой и платной раскрутки у Вас пока
подробнее...
Какова роль алгоритмов в жизни человека?
Алгоритм — набор инструкций, описывающих порядок действий исполнителя для достижения результата
подробнее...
Как компилировать и запускать программу(.cpp) в Microsoft Visual Studio 2008 ( Visual C++) ?
file - new - Project - Visual C++ -Win32ConsoleApplication
это искали?
если с gui
подробнее...
watermark Интересно что такое вотермарка в аудио (сэмплах), если можно более детально.
Звуковой логотип-это уникальный электронный идентификатор, встроенный в аудио сигнал, обычно
подробнее...
Как создать файл *.bat или *.cmd????
В любом текстовом редакторе (notepad.exe и edit.com) даже можно в командной строке создать,
подробнее...