![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
Вот мы и дождались очередной умной темы. Кто следит за ними наверное помнит обсуждения про ИИ, шаблоны проектирования, общие способы создания и многие другие. Сегодня речь пойдёт о составлении алгоритмов. Множество вопросов требуют формальных ответов (Что такое алгоритм? Как создать алгоритм? Что делать если не знаешь чего хочешь? Чем отличаются формы записи одних и тех же алгоритмов и как эффективнее всего балансировать между ними? и т.д.)
Добавлено через 7 минут и 7 секунд изначальная ссылка -------------------- ![]() обычный день на винграде |
|||
|
||||
Springtime |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 221 Регистрация: 25.10.2006 Где: Россия, Тюмень |
"Алгоритм - это любая корректно определённая вычислительная процедура, на вход которой подаётся некоторая величина или набор
величин, и результатом выполнения которой является выходная величина или набор значений. Таким образом, алгоритм представляет собой последовательность вычислительных шагов, преобразующих входные величины в выходные. Алгоритм также можно рассматривать как инструмент, предназначенный для решения корректно поставленной вычислительной задачи. В постановке задачи в общих чертах задаются отношения между входом и выходом. В алгоритме описывается конкретная вычислительная процедура, с помощью которой удается добиться выполнения указанных отношений." Алгоритмы построение и анализ. Томас Кормен, Чарльз Лейзерсон. И ещё - думаю актуальная для этой темы статья - http://www.rsdn.ru/article/philosophy/Complexity.xml "Закон сохранения сложности" --------------------
ICQ: 1fe410f46e7f48f6c721bc866d8294a2 |
|||
|
||||
jhonyxakep |
|
|||
![]() Divide Et Impera ![]() ![]() Профиль Группа: Участник Сообщений: 983 Регистрация: 7.4.2009 Где: Что, Когда? |
ПО мере надобности. Мозги, руки, и GOOGLE ![]() Знать то что ты точно не хочешь, и тогда оно(что хочешь) само придет ![]() ![]() |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re |
тему надо было назвать так: Умение ориентироваться в пространстве, и его важность для водителя такси ![]() |
|||
|
||||
RockClimber |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 848 Регистрация: 5.5.2006 Где: планета 013 в тен туре |
Lazin, ну, для водителей такси gps-навигацию придумали. А нам никто не поможет
![]() -------------------- Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит. |
|||
|
||||
unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
Итак приступим.
Что такое алгоритм? (выделено морковным цветом) Алгоритм - это набор инструкций исполнителю на определённом языке для работы в некой среде. Исполнитель - исполняющий набор инструкций (алгоритм) для некой среды. Язык - формальная запись инструкций для среды (не обязательно исполнителю). Среда - окружение в котором производятся видоизменения (не обязательно исполнителем). Теперь, когда положено начало, попробуем разобраться в изначальной сущности любых алгоритмов. Вспомним модель данных ER. Так уж получилось, что в нашем физическом мире, а значит и в любой его подчасти, коим является такое устройство как компьютер или органическое существо - человек, на любом логическом уровне действуют определённые правила. Эти правила диктуются окружающей средой и за тысячи лет эволюции людей и их разговорных языков выделились - глаголы, существительные и прилагательные, которые обозначают соответственно действия, объекты и состояния объектов. С первого взгляда эти понятия очень похоже, но зачем же тогда человечеству понадобилось выдумывать для одного и того же разные слова? Ответ кроется в том, что действия, объекты и состояния объектов являются тем, что происходит в среде исполнения, а вот глаголы, существительные и прилагательные относятся к языку, как раз и являясь формальными инструкциями изменений состояния среды на конкретном языке. Так же приходим к выводу, что язык исполнителя с помощью которого записывается алгоритм является подчастью языка изменения окружающей среды на которую он может воздействовать. Плюс стоит отметить, что алгоритмы (наборы инструкций) для успешной работы должны подходить под конкретного исполнителя, а он должен производить свои действия в окружающей среде в которой возможно выполнение данных инструкций. -------------------- ![]() обычный день на винграде |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re |
уровни развития программиста по классификации тов. Lazin
1. Nubie, знает, что его цель - реализовать алгоритм, решающий определенную задачу, страшно страдает, сражаясь со средствами разработки, борется с языком программирования и технологиями, не в теме ООП и ООД. Некоторые остаются на этой стадии навсегда, изучив какой нибудь простой ЯП, фреймверк и тд. 2. Mediocre, овладел средствами разработки, ЯП или технологиями, освоил паттерны проектирования и ООП, но забыл зачем ему это было нужно ![]() ![]() 3. Intelligent, знает, что его цель - реализовать алгоритм, решающий определенную задачу, но в отличии от п.1, имеет широкие знания в соответствующих областях. В отличии от п.2, решает задачу наиболее простым способом. 4. Vingrad программист, ничего не успевает делать, так как все время сидит на форуме. ![]() Добавлено через 1 минуту и 31 секунду можно я возьму пряник? ![]() |
|||
|
||||
unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
-------------------- ![]() обычный день на винграде |
|||
|
||||
unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
Как создать алгоритм?
Вероятно не одно поколение программистов задавалось этим вопросом. Об общих принципах создания можно узнать в прошлой умной теме. Там обсуждались действия создателей, а так же различные методики, в том числе и общеизвестные, на вроде ТРИЗ. Но пока не буду вдаваться в конкретные техники и методологии. Рассмотрим алгоритмы более обощённо. Поскольку люди находятся в некой окружающей среде, условно называемой вселенной (более подробная аудиолекция), и ещё в детстве учатся формализовать свои мысли при помощи хотя бы одного разговорного языка, их способность составлять алгоритмы становится почти что естественной. Но почему же в таком случае создание задача лишь для единиц тривиальна, а для остальных сплошная умственная перегрузка. Для начала предположим, что люди неправильно используют свои возможности и способности. Машины ими созданные и при этом плохо настроенные будут работать неэффективно, а ведь сами они такие же (био)механизмы требующие правильной подстройки. Таким образом в следующих рассуждениях буду исходить из того, что у программистов просто напросто отсутствует вменяемая техника составления алгоритмов. Почему такое происходит? Возможно это следствие естественности умения, трудно формализовать то, что получается само по себе являясь неотъемлемым свойством мышления. А построить некое подобие надмышления довольно проблематичная задача. Вспоминаются сравнение физического и умственного труда, где в первом случае человек исполнитель, во втором программист - составитель алгоритмов. -------------------- ![]() обычный день на винграде |
|||
|
||||
unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
Что делать если не знаешь чего хочешь?
Теперь, когда стало понятно, чем отличается среда исполнения от языка исполнителя (действия<>глаголы, объекты<>существительные, состояния объектов<>прилагательные) и известно о неэффективности мышления в процессе разработки алгоритмов, настало время понять, почему же люди не знают чего хотят. Желания бывают разные, одни из них связаны с физиологическими особенностями организма. Часто им придают более высокое значение чем тем, которыми подвержены лишь создатели искусственных вещей. В данном случае речь идёт о программных артефактах или попросту приложениях. Не менее интересно к чему они прикладываются, к компьютеру, операционной системе или же к человеку. Так или иначе, но воля и интеллект создателя позволяют создавать программные артефакты. Другой вопрос, а что собственно говоря он хочет создать. И вот тут натыкаемся на несколько ступеней хотелки. Традиционно эту часть работы называют - проектированием, а непосредственное воплощение артефакта - кодированием. Хотелки разделяются на разные уровни, их количество зависит от используемой методологии разработки. На вскидку могу дать одну из них, состоящую из трёх частей: общие понятия, функциональное описание, кодирование в схемах или псеводкоде. Как уже сказал выше четвёртая часть выходит за рамки проектирования и называется кодированием в выбранном языке исполнителя. Общие понятия может задать почти любой. У человека возникает потребность и он говорит, а что если ... ну и пошло поехало, хочу чтобы само грузило, делало, разбирало, радовало мне глаз и тому подобное. По сути такая расплывчатая цель не помогает в создании артефакта, а лишь указывает, что должно получиться на выходе соответствуя текущему описанию. Функциональное описание намного более подробно. Выделяются части системы и способы их взаимодействия. Это очень важно, но об этом чуть позже. Кодирование в схемах или псевдокоде уже почти соответствует реальному коду. Разница в основном в том, что компьютер ваши каракули не поймёт и не станет исполнять такую программу. Для того чтобы это произошло существует четвёртый этап - кодирование. Однако повторяю, всё это чисто условно и зависит лишь от методологии. -------------------- ![]() обычный день на винграде |
|||
|
||||
unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
Чем отличаются формы записи одних и тех же алгоритмов и как эффективнее всего балансировать между ними?
Итак, хотя описание многих мыслей пропущены, картина начинает потихоньку вырисовываться. Одно из основных понятий в программировании, которое используют практически все программисты, но далеко не каждый из них об этом знает - сличение. Сличение представляет собой сопоставление двух видов сред, условно - реальной, над которой производят действия и той что существует лишь в виде - виртуальной (перевод - возможной), на которую как раз и воздействуют инструкции (алгоритмы). Классическая задача имитировать поведения неких объектов из окружающего мира в компьютерной модели, для расчёта каких-то параметров. Так же существует обратная потребность, воздействие компьютерной модели на реальный мир. Более того, система названа условно реальной лишь для отличия её от виртуальной, на самом деле, она тоже может быть виртуальной, ведь программист оперирует логикой и не способен воспринимать процессы в отрыве от неё. А логика существует в любом мире порядка, когда есть возможность предсказать поведение неких процессов, пусть даже это безумно сложно или даже невозможно технически. Но всё же почему так сложно составлять алгоритмы? Ведь что естественно, то не безобразно! Так вот, всю свою сознательную жизнь люди занимаются вовсе не программированием, хоть и используют языки. Вместо этого они тренируются в описании видоизменений нашей реальности, то есть они констатируют факты, вместо того чтобы самим их создавать. И мало того, что сам процесс сличения без использования определённой методологии доставляет много хлопот, и как заметил Lazin, - "новички страшно страдают сражаясь со средствами разработки", так ещё вышеупомянутый фактор основательно портит картину. Теперь же, когда часть проблем выявлена, я не настолько самонадеян, чтобы сказать, что все они теперь известны, можно приступить к обдумыванию способов их устранения. -------------------- ![]() обычный день на винграде |
|||
|
||||
jhonyxakep |
|
|||
![]() Divide Et Impera ![]() ![]() Профиль Группа: Участник Сообщений: 983 Регистрация: 7.4.2009 Где: Что, Когда? |
||||
|
||||
unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
Может и можно, но откуда ты узнаешь, что они появились, если не задумывался над этим? Видны лишь косвенные признаки. Например, за месяц хочешь хорошую программу написать, прошёл год, а она в замороженном состоянии как попало сшита, ну и так далее. А мы к тому же не в вакууме живём, и общее наблюдение за тысячами топовыми линукс проектами наводит на разнообразные мысли. Вот тот же лазин написал, что один новичок, другой среднячок, а третий умный. Я бы добавил ещё, что есть ещё сверх этого уровень, на котором люди умнейшие из умнейших. И вопрос вовсе не в том, как прокачать новичка до среднячка в терминологиях лазина. Вопрос в другом, как из любого новичка сделать умного, а не просто перекачавшегося знаниями человека, который терминами сыпет, а создавать умеет плохо. Хотя по этому поводу у меня появились кое-какие мысли. -------------------- ![]() обычный день на винграде |
|||
|
||||
jhonyxakep |
|
|||
![]() Divide Et Impera ![]() ![]() Профиль Группа: Участник Сообщений: 983 Регистрация: 7.4.2009 Где: Что, Когда? |
Если ничего для этого не делать, то и результатов можно не ждать! |
|||
|
||||
unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
В таком случае приступим к обучению будущих и переквалификации существующих программистов. Для этого я последовательно изложу уроки, в точности выполняя которые большинство людей станет мастерами своего дела. Не все пройдут этот путь, но те кто не отступит изменят своё мировоззрение и жизнь. Многие люди пребывают в заблуждении, что главное для создателя программных артефактов быть умным и образованным. Ум через познание нового и образованность посредством источников знаний. Далеко за горизонтом остаются истинные ценности программиста. Уже сейчас вы должны задуматься, что будет когда вы накачаете себя знаниями и научитесь их поглощать ещё быстрее. Информационная блокада как естественная защита от умственной перегрузки станет не нужна, но что дальше? А дальше будет ничего, так как вам придётся учиться программировать заново, ведь до этого вы занимались самообразованием в познавательных целях. Терпение, труд и настойчивость, вот истинные добродетели, способные совершить казалось бы невозможное. Именно поэтому вначале речь пойдёт о тренировке этих качеств. Наравне с этими умениями точность и расчёт станут вашими верными союзниками в неравной битве с возложенными на вас задачами. Тренируясь вы научитесь не замечать искусственно созданных вашим характером трудностей и они перестанут быть таковыми. -------------------- ![]() обычный день на винграде |
|||
|
||||
CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / |
странно, что NightmareZ, тут до сих пор ничего не написал всёж занят схожими вещами
|
|||
|
||||
CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / |
доктор unicuum, а что мне делать если ничего не хочется? вроде вот явно не хватает того и сего, а вот не хочется всем этим заниматься. по статье от Springtime, и исключая что НЕ хочется остаётся не то, что хочется, а только то что пофиг. что тогда, доктор? ![]() |
|||
|
||||
unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
Можешь звать меня далее UDoctor, по аналогии с MDoctor, лекции которого мне очень нравятся. ![]() Психологическая основа не желания делать то, что нужно сделать кроется не в умениях человека, а в его характере. Такие состояния и характеризуют его как личность. Ловушка же для ума заключается в том, что прежде, чем приступить к какому-либо делу, он уже заранее прикидывает невозможность его завершения. В некоторых случаях присутствует нежелание делать, потому что это нельзя сделать быстро. На лицо факт отсутствия терпения, о развитии этого важного навыка и будет наш первый урок. Урок #01 - Терпение Люди, которые становятся программистами как правило проходят школьный этап обучения. В младших классах, когда им скучно сидеть на уроках, а учитель объясняя новые темы замечая, что дети отвлекаются говорит им не вертись. Помогает ли это? Даже если человек перестал вертеться, он не стал от этого терпеливым. И вместо удовлетворения от работы на протяжении всей жизни вас будет преследовать чувство сопротивления и не желания её делать. Большинство умений не даются просто так, их надо тренировать долго и упорно. Ещё одна немаловажная проблема, что тренироваться тоже не хочется, по причине отсутствия терпения. Таким образом терпение одна из важных составляющих продуктивной человеческой жизни. Главное не путать её с бездельем, если вы некоторое время ждали некоего события, что бы продолжить работать, вы именно бездельем и занимались. Для программиста это особенно актуально, так как компьютер "любит" заставлять их пассивно ждать, приучая к этой отрицательной особенности характера. Настало время действий. Объекты: 1. Найдите пакет гречневой крупы 800(+/-300)г. 1.1. Если его нет достаньте, купите в магазине. Считайте это подзаданием развивающее самостоятельность. Нужна именно гречневая крупа, замена подобием крайний случай. 2. Найдите 2 вязальные спицы или 2 крючка. 2.1. Замена карандашами и чем-либо другим так же не желательна. Вообще, старайтесь подбирать именно те компоненты, которые указаны в рецепте, иначе ваши будущие программы будут получаться не технологичными. Врождённое чувство изысканной речи не позволяет мне сказать как будут называть ваш код товарищи по ремеслу, если вы будете пренебрегать такими вещами. Среда: 1. Подготовьте чистый стол. Инструкции: 1. Вскройте упаковку с крупой и высыпьте содержимое на стол. 2. Одной рукой возьмите спицу (крючок) для откладывания крупинок в сторону (для правшей правая рука, посчитанное откладывается в правую сторону). 3. Второй рукой возьмите спицу (крючок) для подтаскивания из кучи ровно одной крупинки гречки (для правшей левая рука, перенос в центр для подсчёта и передачи её другой руке). 4. Таким образом подсчитайте, сколько гречневых зёрнышек у вас в пакете. Размышления: Итак, очевидно, что проделываемая работа бессмысленна. Да? Вовсе нет, она обучит вас терпению, и в будущем сэкономит массу времени, возможно целые годы. Если вы не можете пересчитать даже один пакет гречки, то в программировании вам тем более делать нечего. Подсчёт довольно простая процедура, не требующая особых умственных усилий. Вам будет трудно себя убедить, что сделать это не реально, как происходит в программировании. Для контроля подсчитанного и исключения ошибок вы можете создавать кучки по 10, 100, 1000 зёрнышек, или в любом их количестве. Если вы новичок в программировании, иногда представляйте себе, что одно зёрнышко это объект, а много массив. Таким образом вы получите наглядное первое представление о программировании, и сличение разных сред в будущем будет проходить у вас гораздо проще. Помните, что любой программист работает вовсе не руками, а разумом. Именно поэтому гречку необходимо перебирать инструментами, а не пальцами. В будущем вам их заменят компиляторы, линковщики, дизайнеры и прочие программные артефакты. Необходимость правильного инструмента очень важна уже сейчас, ведь последствия будут куда хуже, чем вы можете себе представить, пока не наберётесь достаточно знаний. На этом первый урок завершён, спасибо за внимание. ![]() -------------------- ![]() обычный день на винграде |
|||
|
||||
jhonyxakep |
|
|||
![]() Divide Et Impera ![]() ![]() Профиль Группа: Участник Сообщений: 983 Регистрация: 7.4.2009 Где: Что, Когда? |
unicuum,
так зелушку наказывали... И не один нормальный человек не станет практиковать такое садо-мазо ![]() тем более это можит привести к психическому и нервному расстройству, в полной мере... |
|||
|
||||
unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
Нормальный, то есть среднестатистический человек имеет минимальный интеллект. Большинство людей не программирует, а большинство из тех кто программирует делают это очень плохо. Насчёт же психических расстройств, представь что делаешь программу и она не получается, а навыка терпеливости, упорства и последовательного воплощения идеи у тебя нет. Вот тебе и психическое расстройство. Программист работает с терминами, число которых многократно превышает зёрен гречки в таком пакете. К тому же я не настаиваю, чтобы кто-то это делал, просто без этих занятий дальнейшие уроки, которые буду публиковать бесполезны, так как лентяй будь он хоть трижды потенциально гений, ничего за всю свою жизнь не сделает. Как ты и сказал:
-------------------- ![]() обычный день на винграде |
|||
|
||||
IKM2007 |
|
|||
![]() Зима близко ![]() ![]() Профиль Группа: Участник Сообщений: 702 Регистрация: 26.4.2008 Где: olmedreca |
![]() ![]() -------------------- "К чёрту обстоятельства, я создаю возможности." Брюс Ли |
|||
|
||||
Lazin |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re |
предлагаю открыть фронт сопротивления людям, помешанным на своей исключительности! и кстати, еще одно такое заявление, и кошка умрет!!! это будет на твоей совести!!! ![]() |
||||
|
|||||
unicuum |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
А зачем, пустая трата времени. Первый объективный фактор написан ли человеком полезный софт вообще. Второй, если он написан, то каково его качество. Оно подразделяется на производительность, функциональность, удобство использования, отказоустойчивость, безопасность, масштабируемость и так далее. И ещё есть у меня подозрения, что ты про меня всё это написал в приступе безудержного веселья. ![]() Так вот я как раз из тех, кто программирует и делает это очень плохо. У меня уже даже хватает знаний оценивать свои работы относительно других и вообще относительно того какими они должны быть.
Честно говоря мне не смешно, хотя это и не для меня написано, а для остальной публики. Меня больше веселит, то что пишу я сам. ![]() -------------------- ![]() обычный день на винграде |
||||
|
|||||
NightmareZ |
|
|||
![]() [хакер] ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 10.8.2006 |
Я пока не знаю, что сказать ![]() -------------------- NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш Ely-Art.ru - наша маленькая домашняя арт-студия mugcraft.ru - кружки на любой вкус |
|||
|
||||
unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
А что здесь говорить, прыгать надо. ![]() Как слепому с рождения объяснить, что такое цвета? Глухому, что такое звуки? Тот кто отрицает не попробовав не поймёт чего сейчас лишён, сколько бы ему не объясняли. Потому что объяснения относятся к другой части наших умений. Вот я двигаюсь в пространстве не потому, что знаю со слов как это делается. Да и импульсы посылаемые в мышцы контролирую волевым усилием, для этого мне не нужно читать книги. Однако все эти умения я буду использовать при программировании. Первый урок плюс ко всему поможет изменить восприятие и точность, надо только прыгнуть. И не думайте о том, что о вас скажут. В мире всегда найдётся множество "доброжелателей", которые объяснят вам, что вы ни на что неспособны, ничего не умеете и ничего никогда сделать не сможете. Их такое огромное количество, а их речи всегда столь предсказуемы и однообразны, что обращать на них внимание крайне не рекомендую. По поводу программы построения диаграмм, раз уж речь зашла о неполноценности, поведаю следующее. Составляя диаграммы и работая на компьютере, человек использует одну мышь. На клавиатуре печать идёт двумя руками, а тут на тебе одна мышь и всё, что хочешь то и делай. Печатать "слепым десятипальцевым методом" и использовать мышь тоже не представляется возможным. А ведь не смотря на это чаще всего при работе задействуются две руки. Взять хотя бы частую операцию по снабжению себя запечёным органическим топливом и приведения его в пригодное для употребление состояние - отрезание хлеба. Удобно это одной рукой? Некоторые могут сказать, да, удобно, ![]() Раз уж ты программируешь для Windows попробуй для начала ознакомится с cpnmouse. Замени дрова своих мышей с сайта и посмотри как программа ordinary раздваивает курсор сама прорисовывая их (пусть и не очень качественно). Во вторых попробуй MultiPoint SDK. Если понравится возможно захочется внедрить его в свою программу. Представляешь насколько больше может сделать человек используя для построения сразу две руки. ![]() Параллельно с этим используя схемы блокировок так же появится механизм работы на одном компьютере со многими мышками разными пользователями, и с сокетами как следствие всё это может развиться в коллективную работу над диаграммами в реальном времени по сети. -------------------- ![]() обычный день на винграде |
|||
|
||||
NightmareZ |
|
|||
![]() [хакер] ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 10.8.2006 |
Да, давайте ещё педали поставим.
-------------------- NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш Ely-Art.ru - наша маленькая домашняя арт-студия mugcraft.ru - кружки на любой вкус |
|||
|
||||
unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
Это вроде как ирония или сарказм? По хорошему надо ставить виртуальные перчатки, но к тебе больше вопросов и пожеланий не будет. -------------------- ![]() обычный день на винграде |
|||
|
||||
NightmareZ |
|
|||
![]() [хакер] ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 10.8.2006 |
Для бета-версии виртуальные варежки пойдут? Спасибо. -------------------- NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш Ely-Art.ru - наша маленькая домашняя арт-студия mugcraft.ru - кружки на любой вкус |
|||
|
||||
Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a |
Умение состовлять алгоритм - это в первую очередь умение мыслить логично и последовательно.
Умение мыслить логично и последовательно - это самое важное для программиста (да и не только для программиста). Но вообще, прежде чем определять, что важно для программиста, надо определиться для какого программиста. Т.е. какие задачи решает этот программист. Прикладник, системный, матан, вэб и т.д. Разновидностей программистов много. И каждый решает свои, специфические задачи. И соотвественно требования и навыки для каждого направления отличаются. Например для программиста, который моделирует процессы ядерного взрыва и прочие научные расчеты, очень важно знать математику, да не просто математику, а вышмат. А вот для прикладника, который автоматизирует работу предприятия, ну например процессы документооборота, математику нужна ну максимум на уровне 5 класса (сложение, вычетание, умножение, деление, дроби). Так о каких программистах идет речь? Да и алгоритмы бывают совершенно разные. Есть математические алгоритмы, есть алгоритмы действий пользователя для решения каких-либо задач, есть еще куча разновидностей. О каких алгоритмах идет речь? Это сообщение отредактировал(а) Medved - 11.10.2009, 05:27 -------------------- |
|||
|
||||
unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
Речь идёт о любых программистах. Предположим для физических, энергетических и прочих расчётов нужна математика, очень, очень много математики. Для документооборота работа с форматами различных источников данных, файлами, базами и прочими, способами их передачи. Понятное дело люди будут учиться по разным учебникам. Нет, я не буду говорить, что данные из первого случая не нужно записывать куда-либо, просто помимо этого будут алгоритмы их обработки. В документообороте тоже всё не так однозначно, математика тоже используется для расчётов, хотя наверное немного не такая, но тоже можно задействовать высшую, только других разделов (статистический анализ и тому подобное). Разница в основном в пропорции того или другого, и уж точно везде существуют общие принципы, на вроде инструкций условного и безусловно перехода, циклов и так далее. Вот и представь примерно, что человек накачался знаниями прочитав книги тех специальностей, которые ему нужны. Как я уже упоминал, в это случае он не отдавал, а брал, потому чем больше читаешь, тем больше тренируешься поглощать информацию. Помогут ему они научиться мыслить логично, то есть осмысливать текущие знания и воплощать свои задумки в жизнь? Поглощать знания помогут, а вот второе тренируется при создании множества проектов. В данном случае я не пытаюсь рассказать множество неотъемлемых атрибутов программирования в надежде, что любой человек как универсальная мыслительный биомеханизм, то есть способный мыслить о чём угодно, сам сделает необходимые выводы и научится составлять алгоритмы. Речь о фундаментальной теории, то откуда приходят наши умения создавать программы при более детальном разборе не опираясь на специализацию. -------------------- ![]() обычный день на винграде |
|||
|
||||
jhonyxakep |
|
|||
![]() Divide Et Impera ![]() ![]() Профиль Группа: Участник Сообщений: 983 Регистрация: 7.4.2009 Где: Что, Когда? |
![]() Опять же ответ: Зачем филосовствовать если при этом ничего не делать. Проблемы надо решать, а не говорить всем как все плохо. |
|||
|
||||
unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
Это не ответ, и решать задачи получается далеко не у всех. На простейшие уходит очень много времени, результат при этом часто сомнителен. К тому же jhonyxakep, это всё пишу не для тех кто считает себя супер пупер мега навороченными программистами, которым не нужны ни советы, ни указания, ни какие-либо методологии. А для себя и таких как я, которые понимают, что действуют неэффективно и нужно с этим что-то делать. Если тема относится к категории философствования, пусть так, значит называй это философией программирования. Опять же никого читать её не заставляю, я и сам философию обычно пропускаю мимо ушей. ![]() -------------------- ![]() обычный день на винграде |
|||
|
||||
jhonyxakep |
|
|||
![]() Divide Et Impera ![]() ![]() Профиль Группа: Участник Сообщений: 983 Регистрация: 7.4.2009 Где: Что, Когда? |
о_0 Тебе не кажется что ты попусту тратишь время? Это ты ч чему клонишь? ![]()
![]() |
|||
|
||||
Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a |
Ну если уж так фундаментально, то вот http://forum.vingrad.ru/forum/topic-213119...25B3/index.html -------------------- |
|||
|
||||
unicuum |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
Слишком много вопросов, аж целых три, и ни одного утверждения. Вот скажи, почему тебе в голову пришло именно сейчас об этом спросить, а не тогда, когда я безбожно флудил на форуме? Думаю там я тратил время ещё более бездарно, чем сейчас, но никого это не волновало. А чем эта тема отличается от тех? По сути можно считать, что ничем, если из неё ничего полезного не выносится. Так вот должна ли любая тема быть абсолютно полезна, тем более находящаяся в разделе Флейм? Скорее всего нет, и нужно понимать, что заходя в этот подфорум, мы все теряем время. Даже если бы мы сюда не зашли, то потеряли бы его на чём-то другом. За один и тот же период не прожить две жизни, потому приходится выбирать как его лучше потерять, и я выбрал текущий способ просто потому что здесь и сейчас я так хочу. На то что каждый свободен в своём выборе. Представь я бы заходил в каждую тему которая мне неинтересна и говорил, - "Да нуу, что вы здесь всякую муру обсуждаете, вам самим то не надоело? Неее, пустая трата времени, лучше бы занялись чем-нибудь полезным." ![]() Урок #02 - Опознание объектов В самом начале мы познакомились с основными понятиями: алгоритм, исполнитель, язык, среда. А так же разобрались в отличиях действий от глаголов, объектов от существительных и состояний объектов от прилагательных. Для начала рассмотрим объекты и существительные. Преобразование объектов из реальной, условной реальной или виртуальной среды в существительные назову опознанием объектов. Это одно из самых древних изобретений человечества. По сути способность к речевому разбору, а так же представление в сознании того о чём идёт речь очень сильно способствует развитию разума. Нельзя сказать, что такой способ единственно возможный. И если бы люди изначально учились формировать для других людей образы, есть вероятность, что это привело бы к более совершенной науке и технологии. Хотя пока учёные занимающиеся этой проблемой приходят к выводу, что чем больше независимых каналов восприятия задействовано (речевых, слуховых, тактильных, визуальных и других), тем больше эффективность обучения. Но вернёмся к объектам. Смотря на некий предмет, видя его образ и зная словоформу, мы можем сопоставить его с ней. Словоформы могут быть произнесены, то есть являться звуком или приходить нам в виде символьных образов. Для программистов чаще всего используется последнее, хотя стоит отметить искусственность происхождения этих образований для компьютерной техники. Иными словами компьютер такой, каким его захотели видеть его создатели, хотя по сути может быть совершенно разным. То что экзоскелетные перчатки, на вроде P5 Glove продающиеся уже 10 лет и их более совершенные подобия ещё не вошли в обиход, так же как и чисто трёхмерный интерфейс, а вместо этого мы используем 2D интерфейсы и указательные устройства относится к проблемам медленного развития технологии. Но вернёмся к теме. Итак, у объектов существуют собственные и нарицательные имена. Для примера нарицательных имён, у вас могут две различных ложки, разной формы, размеров и так далее, но вы будете знать, что и то и другое это ложка. Объединения в данном случае идёт по функциональному признаку, то есть то, для чего конкретный объект (предмет) используется. Напротив, хотя вашим же именем могут звать множество людей, это имя собственное. Как наверное многие знают, в место слово опознавать русскоязычное население часто использует слово идентифицировать. Это такой признак крутости, принадлежности к определённой касте, и не важно, что всё это лишь затрудняет и без того трудное опознавание и понимание. Тем не менее связать воедино одни и те же понятия зная это можно. Взять хотя бы базы данных, там проблему повторений имён собственных решили путём введения уникальных ключей, чаще всего первичных, с наиболее употребительным именем id (identifier). Теперь нам понятны основы опознавания (именования) объектов, причём техническую сторону вопроса, как это делает мозг оставим в стороне. Главное известно какая информация подаётся на входе, и какая получается в итоге. А так же то, что один и тот же предмет может иметь множество собственных и нарицательных имён, в первом случае в зависимости от того сколько их ему дали, а во втором от неких его характеристик. Следующей особенностью рассмотрим состав (для справки compiler - составитель). Объекты как правило состоят из других объектов, во всяком случае людям удобно так думать. Разделение на составляющие не всегда однозначно, то есть один объект может находится в подсоставе двух групп объектов образующих общий объект. Такое пересечение своеобразная ловушка для ума. И чтобы в неё не попадаться для начала условимся, что у одного объекта в составе не может быть двух общих предков. Это обычный древовидный список. Давайте разберём пару примеров:
А вот другой случай, где объекты состава смешаны друг с другом.
Нужно отметить, что хотя минеральная вода и помещена в бутылку, к составу ёмкости она отношения не имеет. Потому как уже сказал ранее, способ формирования состава подбирается исходя из логики, а не пространственном положении или взаимопроникновении объектов. А теперь долгожданное задание. Инструкции: Запишите в компьютер составы несколько сотен вещей, стараясь опознать все элементы и выстроив их по примеру вышеприведённого списка. Будьте точны, не путайтесь в названиях объектов, помните чем отличаются имена собственные от нарицательных и вам будет гораздо проще. Старайтесь подбирать совершенно непохожие предметы, не мухлюйте беря поваренную книгу, этим вы обманете только себя. В конце вы можете опубликовать составы здесь же для их обсуждения, ну или оставить их по тихому у себя. На этом второй урок завершён, спасибо за внимание. ![]() -------------------- ![]() обычный день на винграде |
||||
|
|||||
NightmareZ |
|
|||
![]() [хакер] ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 10.8.2006 |
У человека графомания. Или совсем делать нечего. -------------------- NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш Ely-Art.ru - наша маленькая домашняя арт-студия mugcraft.ru - кружки на любой вкус |
|||
|
||||
CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / |
учитыва, что за первый свой пост в топике unicuum получил кучу плюсов, то ты не прав и в меньшинстве. у Толстого тоже графомания была, но это не значит, что он писал ненужную лабуду ![]() |
|||
|
||||
NightmareZ |
|
|||
![]() [хакер] ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 10.8.2006 |
Ну по-моему, он таки писал ненужную лабуду ![]() -------------------- NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш Ely-Art.ru - наша маленькая домашняя арт-студия mugcraft.ru - кружки на любой вкус |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re |
Юникуум, наверное сейчас ловит кайф, от того, что его сравнивают с Толстым ![]() он не Толстой, он толстый и зеленый, и его не стоит кормить ![]() |
|||
|
||||
unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
Да не обращай на него внимание, я здесь пишу фундаментальные вещи, даже товарища NightmareZ предусмотрел пока он не появился со своим "мнением". NightmareZ вообще очень полезен в этой теме. Я пока что на нём тренируюсь не обращать на подобную критику внимание, - "ой, да он графоман-графоманом, а ему еще премию дали". ![]()
У тебя плохое воспитание Lazin, впрочем во флейме тебе это простительно. -------------------- ![]() обычный день на винграде |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re |
это почему же? /me уступает место старушкам, никогда не ругается матом, делает вид, что ему смешно, когда собеседник неудачно шутит и не застегивает нижнюю пуговицу пиджака ![]() |
|||
|
||||
unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
Ругаешься, здесь же на форуме, но не в этом суть. Зачем взял фамилию уважаемого писателя и подставил её так не изысканно? Ну а вообще, как ты уже должен понимать, в данной теме можешь сколько угодно обзывать меня троллем, я всё равно им не стану. Так что лучше подключай свои мозги к текущему обсуждению. ![]() -------------------- ![]() обычный день на винграде |
|||
|
||||
jhonyxakep |
|
||||||
![]() Divide Et Impera ![]() ![]() Профиль Группа: Участник Сообщений: 983 Регистрация: 7.4.2009 Где: Что, Когда? |
Это система слабых?: Если враг тебя сильнее - присоъдиняйся к нему?
Возможно это и была большая ошибка, но в любом случае философия к делу не приводит ![]() А если весь интернет?
Каждый человек может ошибатся ![]() В любом случае - если долго мучится, то что-нибудь получится ![]()
У каждого человека свое мнение, но учитываются мнения большинства, иначе - хаос. unicuum, если тебе реально нечем занятся, то почему-бы и не занятся этим? Да и на винграде всегда помогут, дело найдешь ![]() А вот писать что-то для себя, почти то-же самое что разговаривать с собой, а разговаривать с собой - уже ненормально для здорового человека.... |
||||||
|
|||||||
unicuum |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
По твоей логики выходит, что я сильнее Lazin'а, более того, ещё и враг. ![]()
Не волнуйся, мнения большинства, меньшинства, и прочих меня не волнует. А всё потому, что своё я никому не навязываю.
Не знаешь ты писателей, очень часто они пишут не столько для других, сколько для себя. -------------------- ![]() обычный день на винграде |
||||||
|
|||||||
jhonyxakep |
|
|||
![]() Divide Et Impera ![]() ![]() Профиль Группа: Участник Сообщений: 983 Регистрация: 7.4.2009 Где: Что, Когда? |
||||
|
||||
CompWorm |
|
||||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / |
unicuum,
тебе надо было своё повествование выложить сюда
и флейма стало бы меньше... впрочем, как и читателей ![]() ну, я его тоже читать не стал - посмотрел по тв-каналу "Культуре"
надеюсь, что нет ![]() Это сообщение отредактировал(а) CompWorm - 12.10.2009, 13:35 |
||||
|
|||||
unicuum |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
Когда-то давно вёл рассылку, там было на порядок больше людей. Суть не в количестве тех, кто это прочтёт. Если бы я хотел десятки тысяч прочтений моего материала, то избрал бы другой способ распространения. Кстати, можно попробовать будет его наверное для прикола. ![]()
Вообще-то говоря меня по научному вкладу надо сравнивать с фон Нейманом, Виртом и прочими ![]() -------------------- ![]() обычный день на винграде |
||||
|
|||||
CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / |
||||
|
||||
ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 |
CompWorm, что ты сделал с diadiavovaой
![]() |
|||
|
||||
CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / |
опа! картинка поменялась
![]() зы. не, ну реально, как определили, что я линк сделал на картинку? ...чудо-кулхацкеры ![]() Это сообщение отредактировал(а) CompWorm - 12.10.2009, 15:42 |
|||
|
||||
unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
А ты не это разве опубликовал? Значит они настроили свой сервер веб-приложений так. Это как бы известный приём. -------------------- ![]() обычный день на винграде |
|||
|
||||
CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / |
раньше не встречал
![]() |
|||
|
||||
unicuum |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
Урок #03 - Нахождение взаимодействий
Как известно наш мир не просто состоит из объектов, помимо этого они взаимодействуют между собой. Объекты, как и части из которых они состоят чистая условность, но замечу очень полезная для нашего логического аппарата. То же самое касается и взаимодействий. Для начала давайте разберёмся, чем же состав конечного объекта отличается от предназначенного к взаимодействию. Проще всего отталкиваться от конкретного примера. Возьмём для разбора разноцветную тротуарную плитку. Конечный состав продукта будет выглядеть примерно так.
Вы наверное уже заметили, что ни состав красителя, ни бетона не упоминается. Но это ещё не всё, при создании используется вода, то есть бетон заливают в форму в жидком состоянии. Таким образом упрощённый состав создания может выглядеть следующим образом.
Опущены такие важные параметры как процентное соотношение составных частей жидкого бетона, тип гальки, состав красителя и многое другое. Важно наглядное представления отличия конечных составов предмета и тех, которые требуются для его создания. В программировании вы тоже столкнётесь с подобным. Исследуем типы взаимодействий. Один объект может воздействовать на другой объект, или сам на себя. Объекты: A,B A - Миша B - торт Действия: f,g,h f - ест g - любит h - любит есть Рассмотрим случаи взаимодействия Миши с тортом. Миша ест торт Миша любит торт Миша любит есть торт Разговорные языки снабжены вспомогательными словами. К примеру, Миша мог любить не торт, а себя, тогда бы он взаимодействовал сам с собой. И хотя вряд ли Мише пришло бы в голову есть самого себя, да ещё и любить есть себя при этом, однако будь на его месте другой персонаж, тот же Рембо, этот тип взаимодействия был бы вполне допустим. Мы могли бы записать эти взаимодействия иначе. f(A,B) g(A,B) h(A,B) Логически форма представления не имеет значения, однако на практике оказывается, что при сличении мы будем обязаны играть по правилам тех сред с которыми работаем. Начинающим же программистам, да и вообще любым, важно прежде всего понять, что как бы хорошо они не знали способы сличения сред, без основы понимания взаимодействий им никак не обойтись. Многое познаётся в сравнении. Последние записи напоминают дизъюнкты Хорна являющиеся предикатами первого порядка использующиеся в языке Пролог. Так же это похоже на классический триплет из каркаса описания первоисточников (RDF). Это значит мы могли бы использовать полученные нами взаимодействия проведя сличения сред. Но что же в действительности получено? Давайте порассуждаем, чтобы мои выводы не казались "высосанными из пальца". Может ли торт есть Мишу? Смотря какой торт, и тем не менее такое взаимодействие менее вероятно. А ведь Миша тоже не сможет съесть абсолютно любой торт, а лишь тот который относится к категории для которых этот вид взаимодействия применим. Получаем вывод, порядок в записи имеет значение, то есть объекты Миша и торт нельзя поменять местами не изменив смысл выражения. Так же у нас выходят три основополагающих понятия взаимодействий составляющий главную форму их записи: воздействующий объект >> воздействие >> воздействуемый объект. продолжение следует... -------------------- ![]() обычный день на винграде |
||||
|
|||||
![]() ![]() ![]() |
Правила раздела «Флейм» | |
|
Добро пожаловать в «Флейм». В разделе не действуют многие правила:
Строго запрещено:
Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт. Глас Винграда:
Глас Философии:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Флейм | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |