Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Как развить мышление для программирования? (https://javascript.ru/forum/offtopic/17489-kak-razvit-myshlenie-dlya-programmirovaniya.html)

Alex455 21.05.2011 13:06

Как развить мышление для программирования?
 
Бывает, например, что есть задача, которую нужно выполнить на языке программирования, например, PHP. Язык знаешь, операторы все знаешь, задача тебе самому ясна, но никак не можешь описать это на ЯП. Не можешь составить код, который будет делать то, что тебе надо, потому что не можешь сообразить как описать кодом требуемое. Как поступить в такой ситуации? Как развить то мышление, которое занимается составлением кода для решения различных задач?

Помню, была у нас в школе олимпиада по программированию. Кодили на QBasic. Я сам язык знал хорошо, по крайней мере знал все операторы, которые были задействованы на олимпиаде. И были поставлены простые задачи. Я был одним из немногих, кто так и не смог выполнить эти задачи, потому что просто не смог составить алгоритмы. Мне потом показали их. Всё было просто. Но сам я составить не смог.

Sweet 21.05.2011 13:42

Как насчет попробовать себя в другом деле??? Ибо нечего ж**у мучить, если ср**ь не хочешь.

Aetae 21.05.2011 13:45

Фи как грубо.)
Но таки да, это логика и если знаешь все потребные функции - результат получается сам.
Никогда не сталкивался с решаемой проблемой которую не мог бы решить.(пусть и потратив прилично времени)
Насколько код получается громоздок и уродлив - это уже вопрос опыта и практики.)

Ruzarh 21.05.2011 13:55

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

PeaceCoder 21.05.2011 22:23

Цитата:

Сообщение от Aetae
Но таки да, это логика и если знаешь все потребные функции - результат получается сам.

Именно так. Если отсутсвует логическое мышление, то программирование - не твое.
Проверить есть ли у тебя логическое мышление и на высоком оно уровне просто - в любой задаче попробуй построить шаги действий для достижения нужной цели.
Например: надо сварить борщ. что надо?
1. купить: что? капусту, буряк, картошку, морковь, лук, томат, приправы, мясо (для навара)
2. Налить в кастрюлю воды, довести ее до кипения.
3. Бросить мясо, проварить 20 минут
3.1. Пока варится мясо почистить картошку нарезать, натереть морковь и буряк и лук.
4. закинуть буряк, морковь, проварить 10 минут
5. Закинуть картошку.
5.1. пока все варится 15-20 минут, сделать зажарку с лука и томата. на чем ? на сковороде.
6. закинуть зажарку, помешать, добавить лавровый лист и специи.
подержать в кипении минут 10 и выключить для настоя.

приблизительно так.

элементарная хотьба человека это логические последовательные действия выполняемые так сказать на низком уровне нашего мозга и об этом наше сознание даже не думает...

восновном шаги решения составляются под вопросами: как? чем? почему? что надо? в каком виде? и т.п.

Gvozd 21.05.2011 22:52

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

Почему вы хотите заниматься тем, что у вас не получается?
может стоит обратить внимание на те вещи, что хорошо получаются?

Serg_pnz 22.05.2011 09:17

Цитата:

Сообщение от Gvozd (Сообщение 105629)
не думаю, что возможно достаточно взрослого человека научить такому трюку как программистское мышление.

Того же мнения, что с этим рождаются.
PHP освоил на базе паскаля, если та можно об этом сказать, т.к. именно мышление у меня есть (ну хотя бы многие говорят, что есть), а операторы выучить не большая проблема.
Опять-такие же, очень многие мои знакомые обращаются ко мне за помощью именно при создании алгоритма. А операторы сами учат.

Alex455 22.05.2011 11:20

Цитата:

Сообщение от Gvozd
Почему вы хотите заниматься тем, что у вас не получается?

Мне это нравится. Больше не одна специальность так не нравится, как компьютерная область. У меня в IT-сфере всё хорошо получается, кроме составления алгоритмов на ЯП.

Математическое и логическое мышление - не одно и то же?

Kolyaj 22.05.2011 11:22

Цитата:

Сообщение от Alex455
У меня в IT-сфере всё хорошо получается, кроме составления алгоритмов на ЯП.

Ну так и занимайтесь тем, что хорошо получается.

А зачем вы нормальное слово "программировать" заменяете на богомерзкое "составлять алгоритмы на ЯП"? Где слов-то таких набрались.

monolithed 22.05.2011 13:10

Цитата:

Сообщение от Kolyaj
Где слов-то таких набрались.

видимо от прикладных разработчиков))

Just In Live 22.05.2011 13:12

нестоит опасно можно другие качетства всебе развить вот например тот постом выше развил всебе качества комосексуалиста пока писал мне код

Shaci 22.05.2011 13:48

Цитата:

Сообщение от Sweet (Сообщение 105592)
Как насчет попробовать себя в другом деле??? Ибо нечего ж**у мучить, если ср**ь не хочешь.

ерунда, если не дибил, в программировании то уж точно можно добиться результатов.
Просто нужно постоянно тренироваться.

Alex455 22.05.2011 14:18

А что, если не получается, сразу руки опускать? Если нравится дело, но сначала плохо получается, не нужно бросать и искать другое. Может, такой тип мышления как-то развить можно? Знаю одну девонку, которая постоянно резалась ножами, всю жизнь. Как только нож берёт, чтобы что-то порезать, так обязательно обрежется. И пошла учиться на повара (почти каждый день на практике порезы получала). Выучилась, получила диплом. Значит, нравится профессия, наверно. Думаю, в будущем она значительно меньше резаться будет, как опыта наберётся.

Так вот, как развить этот тип мышления? Предложения "сдаться и выбрать другую область" не принимаются.

Shaci 22.05.2011 15:05

Цитата:

Сообщение от Alex455 (Сообщение 105705)
Так вот, как развить этот тип мышления?

берешь да кодишь, сам собой и разовьется.

monolithed 22.05.2011 15:26

Цитата:

Сообщение от Alex455
Так вот, как развить этот тип мышления? Предложения "сдаться и выбрать другую область" не принимаются.

вообще это больше к психотерапевтам

Gozar 22.05.2011 19:59

Alex455,
На лицо элементарные отсутствия знаний в применимой области.

Вы странно выражаетесь, алгоритмы, операторы, нужно быть проще, вы похоже пока ещё не знаете ничего об алгоритмах, если говорите про логику. Логическое мышление здорово, но оно не обязательно должно выдавать 200% чтобы быть хорошим программистом. Мне никто не сможет запретить писать программы, даже моя самооценка, которая время от времени переходит из положительной в отрицательную.

Кажется Кун-Цзы говорил, не получается, попробуй 51 раз, если не получится вот тогда и подумай что ты делаешь не так и попробуй уже обдумав. В вашем случае проще:
Цитата:

На лицо элементарные отсутствия знаний в применимой области.
ps: не то чтобы я вернулся, так на огонек зашел ;)

ps2: и да, всем привет.

micscr 23.05.2011 08:50

Цитата:

Сообщение от Alex455 (Сообщение 105705)
Так вот, как развить этот тип мышления? Предложения "сдаться и выбрать другую область" не принимаются.

Блок-схемами рисуй алгоритмы.

monolithed 23.05.2011 09:06

Цитата:

Сообщение от micscr
Блок-схемами рисуй алгоритмы.

UML :)

micscr 23.05.2011 09:16

monolithed, не пугай пташку :)

B~Vladi 24.05.2011 08:51

Цитата:

Сообщение от Gozar
и да, всем привет.

:victory:

Gozar 25.05.2011 00:29

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

Deff 07.07.2012 02:29

Цитата:

Сообщение от PeaceCoder
Например: надо сварить борщ. что надо?
1. купить: что? капусту, буряк, картошку, морковь, лук, томат, приправы, мясо (для навара)
2. Налить в кастрюлю воды, довести ее до кипения.

ЫЫ Вспомнилось:
Проф: Что нужно сделать, что бы вскипятить чайник?
Cтудиоз: Налить воды, поставить на огонь, довести до кипения...

Проф: А если чайник уже с водой?
Cтудиоз: Выливаем воду и сводим задачу к предыдущей!

trikadin 07.07.2012 03:27

Несколько некропост)

Deff 07.07.2012 11:26

trikadin,
Оффтопик жа ?

trikadin 07.07.2012 11:36

Цитата:

Сообщение от Deff
Оффтопик жа ?

Всё равно же)

Deff 07.07.2012 11:38

Цитата:

Сообщение от trikadin
Всё равно же)

Уговорили :write:
------------------------------------
Ничему в этом мире не помешает хорошая доля юмора


9xakep 07.07.2012 12:34

Цитата:

Сообщение от Deff (Сообщение 186958)
trikadin,
Оффтопик жа ?

Тут некоторые пишут: сори за оффтоп (в Оффтопике) :blink:

B~Vladi 07.07.2012 13:53

Цитата:

Сообщение от 9xakep
Тут некоторые пишут

Оффтопишь? Извинись! :D

Вообще, раздел оффтопик предназначен для тем, не относящихся к JS или другим существующим разделам. Но в контексте темы (даже если она в оффтопике) оффтопить всё равно не нужно :nono:

9xakep 07.07.2012 14:19


beard 07.07.2012 18:23

Я думаю что это за рожа везде, колобок чтоли?:D

9xakep 07.07.2012 21:46

beard,
мем в интернете, означающий обман, типа: "дааа...конечно, не будем оффтопить"

beard 07.07.2012 23:43

Цитата:

Сообщение от Alex455 (Сообщение 105591)
Бывает, например, что есть задача, которую нужно выполнить на языке программирования, например, PHP. Язык знаешь, операторы все знаешь, задача тебе самому ясна, но никак не можешь описать это на ЯП. Не можешь составить код, который будет делать то, что тебе надо, потому что не можешь сообразить как описать кодом требуемое. Как поступить в такой ситуации? Как развить то мышление, которое занимается составлением кода для решения различных задач?

Помню, была у нас в школе олимпиада по программированию. Кодили на QBasic. Я сам язык знал хорошо, по крайней мере знал все операторы, которые были задействованы на олимпиаде. И были поставлены простые задачи. Я был одним из немногих, кто так и не смог выполнить эти задачи, потому что просто не смог составить алгоритмы. Мне потом показали их. Всё было просто. Но сам я составить не смог.

Зачем оно тебе нужно! Все прелести программирования:
1) Болит спина
2) Болят глаза
3) Возможность приобрести искривление позвоночника и стать горбатым
4) Можно посадить зрение
5) Нужно постоянно быть на волне технологий чтобы быть в теме, а значит работать над собой
... :)

Занимайся отжимом, колектором,... вот так подходишь и говоришь давай бабло:)
http://www.youtube.com/watch?v=XkVRl...feature=fvwrel

Плюсы:
1) Постоянно интересные квесты
2) Гроза девушек :)
3) Не надо думать глубоко
4) Будет много захватывающих историй, можно их рассказывать собеседникам
5) Ну и адреналин:)
...

9xakep 07.07.2012 23:59

beard,
Цитата:

Сообщение от beard
Зачем оно тебе нужно! Все прелести программирования:
1) Болит спина
2) Болят глаза
3) Возможность приобрести искривление позвоночника и стать горбатым
4) Можно посадить зрение
5) Нужно постоянно быть на волне технологий чтобы быть в теме, а значит работать над собой
...

1) Я отжимауюсь регулярно, сижу как палка (по карйней мере стараюсь)
2) Этого уже почти нигде не избежать. (если IT) Выход - регулярная зарядка для глаз.
3) Ответ в первом пункте
4) Ответ во 2ом пункте
5) Во всех номральных профессяих (хорошо оплачиваемых ) так. Так что это не аргумент.
;)

Drimogemon 08.07.2012 03:43

Цитата:

Как развить мышление для программирования?
программировать

Deff 08.07.2012 03:45

Цитата:

Сообщение от Drimogemon
про грамммировать

:dance: Изредко нужно - иначе возникает DD (душевная депрессия

Bandicoot 11.07.2012 23:30

У меня как у новичка, тоже бывают проблемы с пониманием алгоритмов. В этом случае я просто запоминаю нужную мне технику программирования, а само понимание приходит с опытом, но чуть позже:)

Dim@ 12.07.2012 14:38

Bandicoot,
:D :D :D
помнится когда я еще основы изучал папа мне сказал."Создай алгоритм выбирающий числа которые нацело делятся на три". Aлгоритм я сделал только в проверке написал
if (i % 3 = 0)
и потом 2 часа мучался что не так :D
Зато научился правильно проверку писать - вот как помогают алгоритмы.

Dim@ 12.07.2012 15:01

Дзен-трансгуманист,
так я делал с нуля просто налетел на ошибку при проверке


Часовой пояс GMT +3, время: 21:01.