simka
|
|
« : 08-04-2012 17:29 » |
|
Здравствуйте, уважаемые программисты и иже с ними! Обращаюсь с довольно идиотской просьбой, сильно попахивающей блондинизмом. В чем, собственно, дело...
Сама я к компьютерам отношения никогда не имела, дальше напечатать/залезть в интернет/сохранить/поиграть не заходила, учусь вообще на художника. Но волею судеб, теории вероятности, случая ли (нужное подчеркнуть) уже не в первый раз сталкиваюсь с людьми, увязшими в программировании по самые... довольно важные органы. И, как выяснилось, это по-своему заразно. То есть мне стало интересно, чем эти люди живут и как мыслят. Хочу попросить всех совета о том, что можно почитать человеку, который ни в зуб ногой вообще... Возникнет разумный вопрос о том, что я хочу узнать и чему научиться. Мне сложно объяснить в терминах. Скажем, так: мне интересна анатомия программ, закулисье интерфейса...
С надеждой на рациональные советы, Чайник.
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #1 : 08-04-2012 17:51 » |
|
simka, А какая именно область программирования интересует? (Вэб программирование, системное программирование, прикладное программирование ......)
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
RXL
|
|
« Ответ #2 : 08-04-2012 17:54 » |
|
simka, тема слишком обширна для краткого изложения. Попробуй уточнить, какие темы ты для себя хочешь раскрыть. Из совсем-совсем общего разве что математика/логика.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
simka
|
|
« Ответ #3 : 08-04-2012 18:11 » |
|
Знала б я еще, что именно... в этом и идиотизм вопроса: толком и не понимаю, что именно мне нужно... Самой стыдно - как-то не привыкла быть настолько...эмм... некомпетентной в конкретном интересующем меня вопросе
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #4 : 08-04-2012 18:15 » |
|
Finch, если человек художник, используй другие слова simka, чтобы понять программиста "ментально", хорошо бы прочувствовать высшую математику, формальную логику - научиться видеть красоту в стройных математических структурах. Это подобно собиранию мозаики или паззла, когда каждая мелкая деталь на своём месте, и всё со всем сочетается. Что есть программа? Программа есть детальный план самостоятельной работы компьютера. Поскольку компьютер работает быстро, человек не может контролировать каждое действие компьютера прямо в процессе работы. Отсюда возникает необходимость занудного, тщательного и всестороннего продумывания этого плана со всеми вариантами на все мыслимые и немыслимые случаи жизни. Но поскольку такой план - это сложная структура, состоящая из множества мелких деталей, взаимно сопряжённых и согласованных, это красиво. А человек, способный своим тренированным умом охватить все эти детали разом, видит красоту и гармонию - это доставляет удовольствие, удовлетворение творца. И в то же время здесь есть толика радости от собственного достижения, когда весь прошлый опыт, все преодолённые трудности, все душевные силы вложены в своё творение, и вот это творение "оживляет" машину. Как-то так
|
|
« Последнее редактирование: 08-04-2012 19:06 от Dimka »
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
simka
|
|
« Ответ #5 : 08-04-2012 18:29 » |
|
Dimka, как раз таки это, так красочно Вами описанное, до меня не так давно и дошло))) Но проблема как раз в том, что связать это понимание с практикой представляется невозможным из-за отсутствия некой базы знаний. Вот я и решила спросить совета, вдруг есть где-то и для таких, как я, возможность чему-то научиться, не имея за спиной даже школьного курса информатики.
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #6 : 08-04-2012 18:43 » |
|
simka, Школьный курс информатики не самое главное. Главное, может ли человек мыслить логически. И может ли построить логическую цепочку решения проблемы. Самый простой пример. Как позвонить по телефону?
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
simka
|
|
« Ответ #7 : 08-04-2012 18:54 » |
|
Finch, для начала нужно знать, есть ли у вас телефон и исправен ли он, после чего необходимо убедиться, что у вас есть номер, по которому нужно звонить, после чего процесс ввода номера зависит от модели телефона... Простите, увлеклась...
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #8 : 08-04-2012 18:55 » |
|
Обычный стационарный телефон. Ваши действия?
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
RXL
|
|
« Ответ #9 : 08-04-2012 18:57 » |
|
simka, для решения логической задачи необходимы определенные входные условия, иначе описание задачи будет очень громоздким. Например, уже имеем телефон, он исправен и т.д Т.е. позвонить по нему можно и на него тоже. Задача: описать процесс выполнения звонка по номеру "123". Что характерно, когда мы звоним по телефону, все необходимые действия мы проделываем - ничего изобретать не нужно. Нужно только правильно их описать.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
simka
|
|
« Ответ #10 : 08-04-2012 19:06 » |
|
Берем телефон - вводим номер- жмем кнопку вызова(если она есть)-ждем ответа-говорим-кладем трубку. чувствую себя на первом занятии в классе коррекции для умственно отсталых детишек младшего школьного возраста... причем самой умственно и самой отсталой
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #11 : 08-04-2012 19:09 » |
|
У стационарного телефона, сначало нужно поднять трубку. Дождаться гудка. Затем только производить набор номера. Вот простой пример. Что не правильная последовательность действий может привести к непредсказуемому результату. Добавлено через 5 минут и 55 секунд:Кстати, пока что, я не расказываю, какие виды гудков бывают, и какие для нас приемлемы, для выполнения задачи. И прочие мелочи.
|
|
« Последнее редактирование: 08-04-2012 19:15 от Finch »
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
simka
|
|
« Ответ #12 : 08-04-2012 19:17 » |
|
Эх, давно я, видимо, стационарный телефон в руках не держала... "В деревню, в глушь, в Смоленск!" дабы вспомнить это прекрасное гуденье, под которое так удобно иногда настраивать гитару... Но мы отвлеклись. По телефону мне не суждено научиться звонить, это выяснили... Как дальше жить? (вопрос без сарказма(!!))
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #13 : 08-04-2012 19:17 » |
|
Сэры, если вы вздумали вот прямо тут не сходя с места учить алгоритмам, то будто бы в "Начинающих" у нас где-то валялись старые темы с этим делом.
simka, такой вопрос... что бы тебя порадовало в качестве результата? Просто для обучения тем же алгоритмам есть всякие учебные пособия, например, для дошкольников и младших школьников язык Лого, где надо писать программы для черепашки на экране. Отдалённые параллели можно провести с томагочи. Творцом тут себя явно не почувствуешь, но игровая форма облегчает понимание алгоритмов. Если же в качестве результата непременно хочется видеть реальную и может даже полезную программу, то это гораздо сложнее - понадобится много терпения, воли и упорства.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #14 : 08-04-2012 19:21 » |
|
simka, опиши, как пользоваться выключателем (обычным, на стенке, для освещения).
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
simka
|
|
« Ответ #15 : 08-04-2012 19:29 » |
|
скоро я и в темноте останусь.... Дабы воспользоваться выключателем, необходимо перевести его из положения ВЫКЛ в положение ВКЛ или обратно, в зависимости от его изначального положения и конечной цели))
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #16 : 08-04-2012 19:31 » |
|
У каждой проблемы есть множество решений. Когда я еше был в школе. Нам преподователь дал задание. Реализовать игру в крестики - нолики компьютер против человека. Я сам лично видел код. Где человек полностью расписывал каждый все возможный ход. Благо в игре не слишком много вариантов. Добавлено через 2 минуты и 28 секунд:скоро я и в темноте останусь.... Дабы воспользоваться выключателем, необходимо перевести его из положения ВЫКЛ в положение ВКЛ или обратно, в зависимости от его изначального положения и конечной цели)) simka, Многие действия ты выполняеш на уровне рефлексов. Рефлекс выработался за годы практики. Попробуй решать задачу, как будто она в первый раз перед тобой стоит. Собственно перед компьютером так оно и есть.Он не знает, как работает выключатель. Простой пример рефлексов. Ученные подсчитали, чтобы человеку улыбнуться, нужно задействовать более сотни мышц. Когда ты улыбаешся, ты даже не задумываешся об этом.
|
|
« Последнее редактирование: 08-04-2012 19:36 от Finch »
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
simka
|
|
« Ответ #17 : 08-04-2012 19:37 » |
|
А можно мне пример?
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #18 : 08-04-2012 19:38 » |
|
Да
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #19 : 08-04-2012 19:42 » |
|
simka, хм... а как пуговицы на одежде застегнуть (допустим, на пальто или плаще)?
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
simka
|
|
« Ответ #20 : 08-04-2012 19:45 » |
|
Господа, я не понимаю, что именно (и в каком виде) от меня требуется P.S. Несмотря на редкостно искреннее желание...
|
|
« Последнее редактирование: 08-04-2012 19:51 от simka »
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #21 : 08-04-2012 19:56 » |
|
Последовательность действий. Пример. 1. Взять пуговицу в правую руку. 2) взять соответсвуюшую петлю в левую руку. 3) продеть пуговицу через петлю. Более сложная задачка “Крестьянину нужно перевезти через реку волка, козу и капусту. Но лодка такова, что в ней может поместиться только крестьянин, а с ним или один волк, или одна коза, или одна капуста. Но если оставить волка с козой, то волк съест козу, а если оставить козу с капустой, то коза съест капусту. Как перевез свой груз крестьянин?” Скорее всего ты эту задачку уже решала. Так что попробуй написать решение ввиде алгоритма.
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #22 : 08-04-2012 20:00 » |
|
simka, это не твоя проблема, а наша. Заключается она в следующем. Всякий алгоритм предполагает наличие исполнителя. И само описание алгоритма словами должно соответствовать уровню понимания этих слов исполнителем. Когда тебе предложили описать простые действия, ты это сделала и была права, а те, кто эти задачи задал, были неправы, поскольку задачи сформулированы неточно. Всегда присутствуют "умолчания" или всякие очевидности, о которых ты имеешь право не думать, как нормальный человек, а программисты, таковыми не являясь , о них думают. И пытались тебя сподвигнуть тоже о них подумать. Только это путь в никуда, поскольку степень подробности описаний тоже не оговаривается. Попробуй про пуговицы рассказать. Будто бы тут, в отличие от телефонов не может быть разночтений. С выключателем их было мало, но ты сразу их отсекла своим ответом. Ответ ёмкий, но не "алгоритмический". Про пуговицы у тебя так не выйдет (надеюсь). Finch, не надо эти "взять, продеть". Пусть своими словами нормального человека. Тут главная интрига не в отдельной пуговице, а в том, что пуговиц много.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
RXL
|
|
« Ответ #23 : 08-04-2012 20:07 » |
|
Вить, на женской одежде с пуговицами все наоборот. Хотя если ты описываешь действия со стороны, то все верно. simka, языки программирования такие же языки, как разговорные, но с жесткими ограничениями по синтаксису и правилам формирования фраз. Т.е. они более примитивные. Любой алгоритм можно описать словами человеческого языка.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Sla
|
|
« Ответ #24 : 08-04-2012 20:08 » |
|
Даю наводку Поднять трубку. Услышать гудок. Если гудка нет, то повторить процесс ( ОТВЕТИТЬ: КАКОЙ ПРОЦЕСС ПОВТОРЯЕМ), через некоторое время Имеющийся номер телефона разбить на цифры Повторять до тех пор пока есть цифры Вставить палец в дырдочку (цифру) Крутить диск до упора. При упоре - отпустить Дождаться гудков. Если гудки короткие то ... ОТВЕТИТЬ иначе .... ОТВЕТИТЬ
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
simka
|
|
« Ответ #25 : 08-04-2012 20:18 » |
|
"Господа, вы - звери, господа..." (с) (не смогла удержаться, простите)) Кстати, к "нормальным" это вы зря меня приписали, нас, студентов изофака, как правило, к психической норме не относят) Так что по модулю мы, возможно, и равноудалены от нормы, только знаки разные)
Возвращаясь к пуговицам: 1)взять в одну руку нижнюю пуговицу 2) в другую руку взять часть шмотки, на которой имеется отверстие для пуговицы(нижнее из всех имеющихся) 3)продеть пуговицу в отверстие 4)повторить 1-3 последовательно (от нижней- к верхней) n раз, где n-количество этих мистических пуговиц...%)
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #26 : 08-04-2012 20:26 » |
|
почти 4)повторить 1-3 последовательно (от нижней- к верхней) n раз, где n-количество этих мистических пуговиц...%) Повторять до тех пор пока не закончатся пуговицы... И... Я пуговицы застегиваю сверху, начиная со второй. А когда одевал гимнастерку за 45сек, а реально меньшее время), то верхнюю пуговицу застегивал последней Но рука снизу вверх шла проверяя все ли застегнуты пуговицы. Добавлено через 2 минуты и 7 секунд:Offtopic: Господа! У на есть возможность оставить у себя дизайнера. Так что поаккуратней с хрустальной вазой Поставлю в угол.
|
|
« Последнее редактирование: 08-04-2012 20:28 от Sla »
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
simka
|
|
« Ответ #27 : 08-04-2012 20:30 » |
|
Sla, сверху или снизу, в общем-то, все равно, главное чтоб не вразнобой... Иначе это менее эффективно, нерациональная трата времени и сил... про проверку речь не шла, при успешном выполнении условий проверка не имеет смысла, комп- не человек, мимо пуговицы не промахнется...
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #28 : 08-04-2012 20:37 » |
|
Возвращаясь к пуговицам: 1)взять в одну руку нижнюю пуговицу 2) в другую руку взять часть шмотки, на которой имеется отверстие для пуговицы(нижнее из всех имеющихся) 3)продеть пуговицу в отверстие 4)повторить 1-3 последовательно (от нижней- к верхней) n раз, где n-количество этих мистических пуговиц... Молодец. Главное - это по очереди и откуда-то начав. P.S. последовательности + состояния + условия ? циклы + подпрограммы ? Граждане, подумайте о задачах на условия и циклы с условиями, а также подпрограммы. А я посплю Если условия пойдут, то учить фактически нечему - можно на язык программирования переходить.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #29 : 08-04-2012 20:40 » |
|
simka, Не всегда. Когда например работаеш с железом. Не известно изначально, отработала или нет команда. Нужно проверить.Или другой пример, у тебя в программе крутятя несколько веток. Одна из веток читает с диска данные. Довольно долгий процесс. Вторая ветка обрабатывает данные. Но пока первая ветка не прочитает, второй нечего обрабатывать. Нужна проверка.
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
|