Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1] 2 3 4 5   Вниз
  Печать  
Автор Тема: Учимся логически думать...  (Прочитано 157803 раз)
0 Пользователей и 26 Гостей смотрят эту тему.
simka
Постоялец

ru
Offline Offline
Пол: Женский

« : 08-04-2012 17:29 » 

Здравствуйте, уважаемые программисты и иже с ними! Обращаюсь с довольно идиотской просьбой, сильно попахивающей блондинизмом. В чем, собственно, дело...

Сама я к компьютерам отношения никогда не имела, дальше напечатать/залезть в интернет/сохранить/поиграть не заходила, учусь вообще на художника. Но волею судеб, теории вероятности, случая ли (нужное подчеркнуть) уже не в первый раз сталкиваюсь  с людьми, увязшими в программировании по самые... довольно важные органы. И, как выяснилось, это по-своему заразно. То есть мне стало интересно, чем эти люди живут и как мыслят.
Хочу попросить всех совета о том, что можно почитать человеку, который ни в зуб ногой вообще... Возникнет разумный вопрос о том, что я хочу узнать и чему научиться. Мне сложно объяснить в терминах. Скажем, так: мне интересна анатомия программ, закулисье интерфейса...

С надеждой на рациональные советы, Чайник.
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #1 : 08-04-2012 17:51 » 

simka, А какая именно область программирования интересует? (Вэб программирование, системное программирование, прикладное программирование ......)
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 08-04-2012 17:54 » 

simka, тема слишком обширна для краткого изложения. Попробуй уточнить, какие темы ты для себя хочешь раскрыть. Из совсем-совсем общего разве что математика/логика.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
simka
Постоялец

ru
Offline Offline
Пол: Женский

« Ответ #3 : 08-04-2012 18:11 » 

Знала б я еще, что именно... в этом и идиотизм вопроса: толком и не понимаю, что именно мне нужно... Самой стыдно - как-то не привыкла быть настолько...эмм... некомпетентной в конкретном интересующем меня вопросе
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 08-04-2012 18:15 » 

Finch, если человек художник, используй другие слова Улыбаюсь


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

Что есть программа? Программа есть детальный план самостоятельной работы компьютера. Поскольку компьютер работает быстро, человек не может контролировать каждое действие компьютера прямо в процессе работы. Отсюда возникает необходимость занудного, тщательного и всестороннего продумывания этого плана со всеми вариантами на все мыслимые и немыслимые случаи жизни. Но поскольку такой план - это сложная структура, состоящая из множества мелких деталей, взаимно сопряжённых и согласованных, это красиво. А человек, способный своим тренированным умом охватить все эти детали разом, видит красоту и гармонию - это доставляет удовольствие, удовлетворение творца. И в то же время здесь есть толика радости от собственного достижения, когда весь прошлый опыт, все преодолённые трудности, все душевные силы вложены в своё творение, и вот это творение "оживляет" машину.

Как-то так Улыбаюсь
« Последнее редактирование: 08-04-2012 19:06 от Dimka » Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
simka
Постоялец

ru
Offline Offline
Пол: Женский

« Ответ #5 : 08-04-2012 18:29 » 

Dimka, как раз таки это, так красочно Вами описанное, до меня не так давно и дошло))) Но проблема как раз в том, что связать это понимание с практикой представляется невозможным из-за отсутствия некой базы знаний. Вот я и решила спросить совета, вдруг есть где-то и для таких, как я, возможность чему-то научиться, не имея за спиной даже школьного курса информатики.
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #6 : 08-04-2012 18:43 » 

simka, Школьный курс информатики не самое главное. Главное, может ли человек мыслить логически. И может ли построить логическую цепочку решения проблемы. Самый простой пример. Как позвонить по телефону?
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
simka
Постоялец

ru
Offline Offline
Пол: Женский

« Ответ #7 : 08-04-2012 18:54 » 

Finch, для начала нужно знать, есть ли у вас телефон и исправен ли он, после чего необходимо убедиться, что у вас есть номер, по которому нужно звонить, после чего процесс ввода номера зависит от модели телефона...  Что, съел? Простите, увлеклась...
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #8 : 08-04-2012 18:55 » 

Обычный стационарный телефон. Ваши действия?
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 08-04-2012 18:57 » 

simka, для решения логической задачи необходимы определенные входные условия, иначе описание задачи будет очень громоздким. Например, уже имеем телефон, он исправен и т.д Т.е. позвонить по нему можно и на него тоже. Задача: описать процесс выполнения звонка по номеру "123".
Что характерно, когда мы звоним по телефону, все необходимые действия мы проделываем - ничего изобретать не нужно. Нужно только правильно их описать.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
simka
Постоялец

ru
Offline Offline
Пол: Женский

« Ответ #10 : 08-04-2012 19:06 » 

Берем телефон - вводим номер- жмем кнопку вызова(если она есть)-ждем ответа-говорим-кладем трубку.  Я шокирован! чувствую себя на первом занятии в классе коррекции для умственно отсталых детишек младшего школьного возраста... причем самой умственно и самой отсталой Не понял
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #11 : 08-04-2012 19:09 » 

У стационарного телефона, сначало нужно поднять трубку. Дождаться гудка. Затем только производить набор номера. Улыбаюсь

Вот простой пример. Что не правильная последовательность действий может привести к непредсказуемому результату.


Добавлено через 5 минут и 55 секунд:
Кстати, пока что, я не расказываю, какие виды гудков бывают, и какие для нас приемлемы, для выполнения задачи. И прочие мелочи.
« Последнее редактирование: 08-04-2012 19:15 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
simka
Постоялец

ru
Offline Offline
Пол: Женский

« Ответ #12 : 08-04-2012 19:17 » 

Эх, давно я, видимо, стационарный телефон в руках не держала... "В деревню, в глушь, в Смоленск!" дабы вспомнить это прекрасное гуденье, под которое так удобно иногда настраивать гитару...
 Но мы отвлеклись. По телефону мне не суждено научиться звонить, это выяснили... Как дальше жить? (вопрос без сарказма(!!)) Улыбаюсь
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #13 : 08-04-2012 19:17 » 

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

simka, такой вопрос... что бы тебя порадовало в качестве результата? Просто для обучения тем же алгоритмам есть всякие учебные пособия, например, для дошкольников и младших школьников язык Лого, где надо писать программы для черепашки на экране. Отдалённые параллели можно провести с томагочи. Творцом тут себя явно не почувствуешь, но игровая форма облегчает понимание алгоритмов. Если же в качестве результата непременно хочется видеть реальную и может даже полезную программу, то это гораздо сложнее - понадобится много терпения, воли и упорства.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #14 : 08-04-2012 19:21 » 

simka, опиши, как пользоваться выключателем (обычным, на стенке, для освещения).
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
simka
Постоялец

ru
Offline Offline
Пол: Женский

« Ответ #15 : 08-04-2012 19:29 » 

скоро я и в темноте останусь....  Быть такого не может

Дабы воспользоваться выключателем, необходимо перевести его из положения ВЫКЛ в положение ВКЛ или обратно, в зависимости от его изначального положения и конечной цели))
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #16 : 08-04-2012 19:31 » 

У каждой проблемы есть множество решений. Когда я еше был в школе. Нам преподователь дал задание. Реализовать игру в крестики - нолики компьютер против человека. Я сам лично видел код. Где человек полностью расписывал каждый все возможный ход. Благо в игре не слишком много вариантов.

Добавлено через 2 минуты и 28 секунд:
скоро я и в темноте останусь....  Быть такого не может

Дабы воспользоваться выключателем, необходимо перевести его из положения ВЫКЛ в положение ВКЛ или обратно, в зависимости от его изначального положения и конечной цели))
simka, Многие действия ты выполняеш на уровне рефлексов. Рефлекс выработался за годы практики. Попробуй решать задачу, как будто она в первый раз перед тобой стоит. Собственно перед компьютером так оно и есть.Он не знает, как работает выключатель.
Простой пример рефлексов. Ученные подсчитали, чтобы человеку улыбнуться, нужно задействовать более сотни мышц. Когда ты улыбаешся, ты даже не задумываешся об этом.
« Последнее редактирование: 08-04-2012 19:36 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
simka
Постоялец

ru
Offline Offline
Пол: Женский

« Ответ #17 : 08-04-2012 19:37 » 

А можно мне пример?
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #18 : 08-04-2012 19:38 » 

Да Улыбаюсь
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #19 : 08-04-2012 19:42 » 

simka, хм... а как пуговицы на одежде застегнуть (допустим, на пальто или плаще)?
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
simka
Постоялец

ru
Offline Offline
Пол: Женский

« Ответ #20 : 08-04-2012 19:45 » 

Господа, я не понимаю, что именно (и в каком виде) от меня требуется Жаль

P.S. Несмотря на редкостно искреннее желание...
« Последнее редактирование: 08-04-2012 19:51 от simka » Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #21 : 08-04-2012 19:56 » 

Последовательность действий.
Пример.
1. Взять пуговицу в правую руку.
2) взять соответсвуюшую петлю в левую руку.
3) продеть пуговицу через петлю.

Более сложная задачка Улыбаюсь
“Крестьянину нужно перевезти через реку волка, козу и капусту. Но лодка такова, что в ней может поместиться только крестьянин, а с ним или один волк, или одна коза, или одна капуста. Но если оставить волка с козой, то волк съест козу, а если оставить козу с капустой, то коза съест капусту. Как перевез свой груз крестьянин?”

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

Не будите спашяго дракона.
             Джаффар (Коша)
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #22 : 08-04-2012 20:00 » 

simka, это не твоя проблема, а наша. Заключается она в следующем. Всякий алгоритм предполагает наличие исполнителя. И само описание алгоритма словами должно соответствовать уровню понимания этих слов исполнителем.

Когда тебе предложили описать простые действия, ты это сделала и была права, а те, кто эти задачи задал, были неправы, поскольку задачи сформулированы неточно. Всегда присутствуют "умолчания" или всякие очевидности, о которых ты имеешь право не думать, как нормальный человек, а программисты, таковыми не являясь Улыбаюсь, о них думают. И пытались тебя сподвигнуть тоже о них подумать. Только это путь в никуда, поскольку степень подробности описаний тоже не оговаривается.

Попробуй про пуговицы рассказать. Будто бы тут, в отличие от телефонов не может быть разночтений. С выключателем их было мало, но ты сразу их отсекла своим ответом. Ответ ёмкий, но не "алгоритмический". Про пуговицы у тебя так не выйдет (надеюсь).

Finch, не надо эти "взять, продеть". Пусть своими словами нормального человека. Тут главная интрига не в отдельной пуговице, а в том, что пуговиц много.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #23 : 08-04-2012 20:07 » 

Вить, на женской одежде с пуговицами все наоборот. Хотя если ты описываешь действия со стороны, то все верно. Ага

simka, языки программирования такие же языки, как разговорные, но с жесткими ограничениями по синтаксису и правилам формирования фраз. Т.е. они более примитивные. Любой алгоритм можно описать словами человеческого языка.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #24 : 08-04-2012 20:08 » 

Даю наводку Улыбаюсь
Поднять трубку.
Услышать гудок.
   Если гудка нет, то повторить процесс (ОТВЕТИТЬ: КАКОЙ ПРОЦЕСС ПОВТОРЯЕМ), через некоторое время

Имеющийся номер телефона разбить на цифры
Повторять до тех пор пока есть цифры
   Вставить палец в дырдочку (цифру)
   Крутить диск до упора.
   При упоре - отпустить

Дождаться гудков.

Если гудки короткие то ... ОТВЕТИТЬ
  иначе .... ОТВЕТИТЬ
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
simka
Постоялец

ru
Offline Offline
Пол: Женский

« Ответ #25 : 08-04-2012 20:18 » new

"Господа, вы - звери, господа..." (с) (не смогла удержаться, простите))
Кстати, к "нормальным" это вы зря меня приписали, нас, студентов изофака, как правило, к психической норме не относят) Так что по модулю мы, возможно, и равноудалены от нормы, только знаки разные)

Возвращаясь к пуговицам:
1)взять в одну руку нижнюю пуговицу
2) в другую руку взять часть шмотки, на которой имеется отверстие для пуговицы(нижнее из всех имеющихся)
3)продеть пуговицу в отверстие
4)повторить 1-3 последовательно (от нижней- к верхней) n раз, где n-количество этих мистических пуговиц...%)
Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #26 : 08-04-2012 20:26 » 

почти
4)повторить 1-3 последовательно (от нижней- к верхней) n раз, где n-количество этих мистических пуговиц...%)

Повторять до тех пор пока не закончатся пуговицы...

И...
Я пуговицы застегиваю сверху, начиная со второй.
А когда одевал гимнастерку за 45сек, а реально меньшее время), то верхнюю пуговицу застегивал последней Улыбаюсь
Но рука снизу вверх шла проверяя все ли застегнуты пуговицы.

Добавлено через 2 минуты и 7 секунд:
Offtopic:

Господа! У на есть возможность оставить у себя дизайнера.

Так что поаккуратней с хрустальной вазой Улыбаюсь
Поставлю в угол.
« Последнее редактирование: 08-04-2012 20:28 от Sla » Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
simka
Постоялец

ru
Offline Offline
Пол: Женский

« Ответ #27 : 08-04-2012 20:30 » 

Sla, сверху или снизу, в общем-то, все равно, главное чтоб не вразнобой... Иначе это менее эффективно, нерациональная трата времени и сил... про проверку речь не шла, при успешном выполнении условий проверка не имеет смысла, комп- не человек, мимо пуговицы не промахнется...
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #28 : 08-04-2012 20:37 » 

Цитата: simka
Возвращаясь к пуговицам:
1)взять в одну руку нижнюю пуговицу
2) в другую руку взять часть шмотки, на которой имеется отверстие для пуговицы(нижнее из всех имеющихся)
3)продеть пуговицу в отверстие
4)повторить 1-3 последовательно (от нижней- к верхней) n раз, где n-количество этих мистических пуговиц...
Молодец. Главное - это по очереди и откуда-то начав.

P.S.
последовательности +
состояния +
условия ?
циклы +
подпрограммы ?

Граждане, подумайте о задачах на условия и циклы с условиями, а также подпрограммы. А я посплю Улыбаюсь Если условия пойдут, то учить фактически нечему - можно на язык программирования переходить.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #29 : 08-04-2012 20:40 » 

simka, Не всегда. Когда например работаеш с железом. Не известно изначально, отработала или нет команда. Нужно проверить.Или другой пример, у тебя в программе крутятя несколько веток. Одна из веток читает с диска данные. Довольно долгий процесс. Вторая ветка обрабатывает данные. Но пока первая ветка не прочитает, второй нечего обрабатывать. Нужна проверка.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Страниц: [1] 2 3 4 5   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines