| 
			| 
					
						| Dimka 
								ДеятельКоманда клуба    Offline 
								Пол:    | 
								|  | « Ответ #60 : 09-04-2012 10:34 »  |  | 
 
 simka, не знаю, где ты в словах "больше или равного 1" и "0 и больше" увидела "от 0 до 1"... В таких случаях поступают следующим образом: родившаяся в голове мутная мысль, независимо от того, вызывает она сомнение или не вызывает, оформляется в некое конкретное высказывание; затем это высказывание принимается за гипотезу, а по всем имеющимся текстам разыскиваются противоречия этой гипотезе; если противоречия найдены, гипотеза неверна, если противоречий не найдено, гипотезу можно принять. В данном случае у тебя гипотеза "от 0 до 1". Проверяешь по тексту: "больше или равно 1" подходит? - нет. Дальше можно не проверять, гипотеза неверна. Так в большой программе подлаживаются друг к другу разные части. Полёт фантазии ограничивается предыдущими наработками   И вариант с застегиванием незастегнутых не подходит для тех случаев, когда что-то оторвано, а что-то нужно не застегивать Оторванные и те, что не нужно застёгивать, - это как раз упомянутые мною переусложнения, в которые тут ломанулись некоторые граждане из желания впечатлить тебя сложностью, чтобы ты лучше прониклась    Тут бы с простым случаем сначала разобраться   |  
						| 
								|  |  
								| « Последнее редактирование: 09-04-2012 11:41 от Dimka » |  Записан | 
 
 Программировать - значит понимать (К. Нюгард)Невывернутое лучше, чем вправленное (М. Аврелий)
 Многие готовы скорее умереть, чем подумать (Б. Рассел)
 |  |  | 
	| 
			| 
					
						| simka | 
								|  | « Ответ #61 : 09-04-2012 10:49 »  |  | 
 
 Dimka, я увидела два варианта прочтения, их и озвучила, несмотря на очевидный идиотизм одного... ну, мало ли...По мне так всегда лучше переспросить и уточнить, чем додумывать
 С переусложненными пуговицами- понятно.
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Dimka 
								ДеятельКоманда клуба    Offline 
								Пол:    | 
								|  | « Ответ #62 : 09-04-2012 11:44 »  |  | 
 
 По мне так всегда лучше переспросить и уточнить, чем додумывать С одной стороны, это правильно - спрашивать лучше, чем додумывать. Но с другой стороны, учитывая, что вся информация уже была, предпочтительнее сверяться с ней, нежели переспрашивать. Тут дело не в том, что программисты - люди не болтливые, а в том, что если так не делать, на болтовню будет уходить 100% рабочего времени, а работа будет стоять   |  
						| 
								|  |  
								|  |  Записан | 
 
 Программировать - значит понимать (К. Нюгард)Невывернутое лучше, чем вправленное (М. Аврелий)
 Многие готовы скорее умереть, чем подумать (Б. Рассел)
 |  |  | 
	| 
			| 
					
						| simka | 
								|  | « Ответ #63 : 09-04-2012 11:55 »  |  | 
 
 Сей персонаж сейчас наилучшим образом отражает мой ответ |  
						| 
								| 
 
										 окай.png  (11.05 Кб - загружено 1475 раз.)
									 |  
								| « Последнее редактирование: 09-04-2012 12:37 от Sla » |  Записан | 
 |  |  | 
	| 
			| 
					
						| Dimka 
								ДеятельКоманда клуба    Offline 
								Пол:    | 
								|  | « Ответ #64 : 09-04-2012 12:59 »  |  | 
 
 simka, твоё творчество? Вид у него запаренный, человека добродушного, но трудной судьбы   |  
						| 
								|  |  
								|  |  Записан | 
 
 Программировать - значит понимать (К. Нюгард)Невывернутое лучше, чем вправленное (М. Аврелий)
 Многие готовы скорее умереть, чем подумать (Б. Рассел)
 |  |  | 
	| 
			| 
					
						| simka | 
								|  | « Ответ #65 : 09-04-2012 13:28 »  |  | 
 
 Не, не мое)) окай-фейс это практически народное творчество))) |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Sla | 
								|  | « Ответ #66 : 09-04-2012 13:46 »  |  | 
 
 Уходим в сторону.
 На чем остановились?
 
 2 Dimka, не вижу причин не "усложнять"
 Усложнения вносят некие условия в действие.
 
 Конечно, было бы правильным добиться идеального алгоритма застегивания. Но его кто-нибудь знает.
 Появляется некая эвристика при
 наописании процесса застегивания.Например, застегиваем снизу. А ведь можно было пойти и сверху.
 
 Условия - можно ли пренебречь отсутствием пуговицы?
 Появляется обработчик исключительных ситуаций, пусть и надуманных.
 
 Таким образом, я так вижу, мы совсем не запутываем, а наоборот, даем больше и больше инфы, пусть пока и не совсем систематизированной.
 
 |  
						| 
								|  |  
								|  |  Записан | 
 
 Мы все учились понемногу... Чему-нибудь и как-нибудь. |  |  | 
	| 
			| 
					
						| simka | 
								|  | « Ответ #67 : 09-04-2012 14:07 »  |  | 
 
 Sla, из всего делаем вывод: все условия оговариваются заранее, могут ли пуговицы отсутствовать, и т.д. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Sla | 
								|  | « Ответ #68 : 09-04-2012 14:53 »  |  | 
 
 Sla, из всего делаем вывод: все условия оговариваются заранее, могут ли пуговицы отсутствовать, и т.д.
 В принципе - да, и это называется ТЗ. Но в процесс отладки, возникают исключительные ситуации, которые программист должен предусмотреть |  
						| 
								|  |  
								|  |  Записан | 
 
 Мы все учились понемногу... Чему-нибудь и как-нибудь. |  |  | 
	| 
			| 
					
						| Dimka 
								ДеятельКоманда клуба    Offline 
								Пол:    | 
								|  | « Ответ #69 : 09-04-2012 15:15 »  |  | 
 
 Появляется некая эвристика при наописании процесса застегивания.Например, застегиваем снизу. А ведь можно было пойти и сверху.
 
 Условия - можно ли пренебречь отсутствием пуговицы?
 Появляется обработчик исключительных ситуаций, пусть и надуманных.
 Вот человек ещё цикл с предусловием не написал, а ты уже за исключительные ситуации берёшься. Это ж завал сведений без закрепления на практике - выйдет каша в голове. По-моему не надо за всё сразу хвататься. А полезнее переходить к собственно программированию. Там ещё тоже много всяких "подводных камней". Например, "переменную" не все схватывают сразу.simka , так как переписать цикл, чтобы было "от 0 и больше пуговиц" вместо "от 1 и больше пуговиц"? Либо предложи вариант, либо скажи, что не знаешь/не понимаешь. |  
						| 
								|  |  
								|  |  Записан | 
 
 Программировать - значит понимать (К. Нюгард)Невывернутое лучше, чем вправленное (М. Аврелий)
 Многие готовы скорее умереть, чем подумать (Б. Рассел)
 |  |  | 
	| 
			| 
					
						| simka | 
								|  | « Ответ #70 : 09-04-2012 15:48 »  |  | 
 
 Dimka, 1.Проверяешь наличие пуговицы. При отсутствии пуговиц завершаешь процесс.
 2. Берёшь нижнюю незастёгнутую пуговицу.
 3. Застёгиваешь.
 4. Если есть незастёгнутые пуговицы, то повторять, начиная п. 1
 
 это если на одежде их вообще нет...
 
 Хотя скорее всего я снова что-то не поняла(
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Sla | 
								|  | « Ответ #71 : 09-04-2012 15:57 »  |  | 
 
 тпру.... не гони лошадей.Вад рассказывал что такое цикл с предусловием.
 Вспоминай.
 |  
						| 
								|  |  
								|  |  Записан | 
 
 Мы все учились понемногу... Чему-нибудь и как-нибудь. |  |  | 
	| 
			| 
					
						| simka | 
								|  | « Ответ #72 : 09-04-2012 16:06 »  |  | 
 
 Sla, рассказывал, было дело Циклы вроде застёгивания пуговиц обычно называются "циклами с предусловием", потому что мы сначала проверяем условие завершения цикла операций, а уже по итогам этой проверки принимаем решение, делать ли итерацию (набор действий), или нет. Последним же пунктом в цикле мы тогда возвращаемся к 1му ("зацикливаемся") Если пуговиц незастегнутых нет, значит завершаем. Разве не так? P.S. еще у меня косяки с оформлением, вот, кусок цитаты кривой, прошу извинить... |  
						| 
								|  |  
								| « Последнее редактирование: 09-04-2012 16:32 от Sla » |  Записан | 
 |  |  | 
	| 
			| 
					
						| Sla | 
								|  | « Ответ #73 : 09-04-2012 16:33 »  |  | 
 
 ага вспомнила, а теперь! если пуговиц 0?Расскажи применяя сведения о цикле с предусловием
 |  
						| 
								|  |  
								|  |  Записан | 
 
 Мы все учились понемногу... Чему-нибудь и как-нибудь. |  |  | 
	| 
			| 
					
						| simka | 
								|  | « Ответ #74 : 09-04-2012 16:38 »  |  | 
 
 Sla,  если пуговиц 0, то и незастегнутых- тоже 0, а отсутствие незастегнутых пуговиц- сигнал к завершению процесса... не? |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Sla | 
								|  | « Ответ #75 : 09-04-2012 16:44 »  |  | 
 
 да?   |  
						| 
								|  |  
								|  |  Записан | 
 
 Мы все учились понемногу... Чему-нибудь и как-нибудь. |  |  | 
	| 
			| 
					
						| simka | 
								|  | « Ответ #76 : 09-04-2012 16:46 »  |  | 
 
 ну.... по логике - да...    *старательно мимикрирую под стену* *пытаюсь провалиться сквозь землю* |  
						| 
								|  |  
								| « Последнее редактирование: 09-04-2012 16:55 от simka » |  Записан | 
 |  |  | 
	| 
			| 
					
						| Sla | 
								|  | « Ответ #77 : 09-04-2012 16:57 »  |  | 
 
 давай уйдем от чисел? |  
						| 
								|  |  
								|  |  Записан | 
 
 Мы все учились понемногу... Чему-нибудь и как-нибудь. |  |  | 
	| 
			| 
					
						| simka | 
								|  | « Ответ #78 : 09-04-2012 17:00 »  |  | 
 
 Sla, как скажете. С Вами- хоть от чисел... =) |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Sla | 
								|  | « Ответ #79 : 09-04-2012 17:04 »  |  | 
 
 Не... сама, сама...
 Задача
 Описать алгоритм застегивания рубашки
 Начальное условие.
 Количество пуговиц неизвестно
 Дополнительное условие
 Использовать цикл с предусловием
 |  
						| 
								|  |  
								|  |  Записан | 
 
 Мы все учились понемногу... Чему-нибудь и как-нибудь. |  |  | 
	| 
			| 
					
						| simka | 
								|  | « Ответ #80 : 09-04-2012 17:15 »  |  | 
 
 Предусловие - наличие незастегнутых пуговиц. (пуговицы расстегнуты). Условие завершения операции - отсутствие незастегнутых пуговиц.(пуговицы застегнуты) 1) Взять незастегнутую пуговицу 2)Застегнуть 3) Повторять до тех пор, пока незастегнутых не останется. Блин. Такая формулировка для 0 не подходит... (( я в сомнениях Для нуля можно предусловие озвучить как "отсутствие застегнутых пуговиц" но это будет неверно, если часть пуговиц уже застегнута... Я заблудилась   |  
						| 
								|  |  
								| « Последнее редактирование: 09-04-2012 17:28 от simka » |  Записан | 
 |  |  | 
	| 
			| 
					
						| Sla | 
								|  | « Ответ #81 : 09-04-2012 17:26 »  |  | 
 
 3) Повторять до тех пор, пока незастегнутых не останется.
 Пункт 3... последний.
 Это не с предусловием, а с ...(хором)условием
 |  
						| 
								|  |  
								|  |  Записан | 
 
 Мы все учились понемногу... Чему-нибудь и как-нибудь. |  |  | 
	| 
			| 
					
						| simka | 
								|  | « Ответ #82 : 09-04-2012 17:29 »  |  | 
 
 Sla, значит я так и не поняла, что такое предусловие((1)Проверить наличие незстегнутой пуговицы. Если есть, то
 2)Взять незастегнутую пуговицу
 3))Застегнуть
 4) Повторять 1-3
 |  
						| 
								|  |  
								| « Последнее редактирование: 09-04-2012 17:33 от simka » |  Записан | 
 |  |  | 
	| 
			| 
					
						| Sla | 
								|  | « Ответ #83 : 09-04-2012 17:53 »  |  | 
 
 п.1 И так и не так. Так потому что у тебя есть проверка (если) в самом начале
 Но... почему ты проверяешь наличие незастягнутой. А если пуговиц 0?
 
 Подсказка
 Пока <выполняется условие> делать
 
 |  
						| 
								|  |  
								|  |  Записан | 
 
 Мы все учились понемногу... Чему-нибудь и как-нибудь. |  |  | 
	| 
			| 
					
						| Вад | 
								|  | « Ответ #84 : 09-04-2012 17:59 »  |  | 
 
 Sla, тут такая штука, не совсем чётко определено, как мы задаём множество пуговиц. Нулевое оно или ненулевое - мы не описываем, как определить. Возможно, это создаёт некоторую путаницу. Нам-то понятно, что "пуговицы" - это некий список объектов, в том числе и пустой, и мы имеем представление, где этот список заканчивается (может, даже не начавшись).  Так что, я бы, всё-таки, понятие структуры данных ввёл, хотя бы самое базовое    Без чёткой структуры и правила игры нечёткие получаются. В случае пуговиц, я бы предложил такое понятие как ряд петелек для пуговиц, с возможностью двигаться от петельки к петельке последовательно (неважно, с какого конца). Тогда, не видим ни одной петельки значит, - нет петелек. Видим - берём первую понравившуюся, ближайшую к себе, или как-то ещё. |  
						| 
								|  |  
								| « Последнее редактирование: 09-04-2012 18:02 от Вад » |  Записан | 
 |  |  | 
	| 
			| 
					
						| simka | 
								|  | « Ответ #85 :  09-04-2012 18:07 »   |  | 
 
 Sla, 1)Если пуговиц нет, то завершить процесс. Если есть незастегнутые пуговицы
 2)Взять незастегнутую пуговицу
 3)Застегнуть
 4) Повторять 1-3, Пока не останется незастегнутых пуговиц
 
 ААА *голова-стена* Я не знаю, как еще( если пуговиц нет, то и подпрограмма смысла не имеет, нельзя застегнуть то, чего нет. следовательно и действия выполнять не нужно, нужно сразу же завершать
 |  
						| 
								|  |  
								| « Последнее редактирование: 09-04-2012 18:15 от simka » |  Записан | 
 |  |  | 
	| 
			| 
					
						| Sla | 
								|  | « Ответ #86 : 09-04-2012 18:13 »  |  | 
 
 Вад,  А потому что нужно уйти от процесса застегивания пуговицы
 И не смотреть на количественные характеристики, а смотреть на качественные: можем застегнуть/ не можем застегнуть
 |  
						| 
								|  |  
								|  |  Записан | 
 
 Мы все учились понемногу... Чему-нибудь и как-нибудь. |  |  | 
	| 
			| 
					
						| Dimka 
								ДеятельКоманда клуба    Offline 
								Пол:    | 
								|  | « Ответ #87 : 09-04-2012 18:25 »  |  | 
 
 Вад, не надо списка объектов. Она его не создаст, а, следовательно, это не годится для перехода к практике, на которой эти списки бы обрабатывались. Пора бы определиться с языком. Предлагаю... что-то типа Ruby.simka , "пред-" - это перед, в начале; "пост-" - это после, в конце.Sla , она не понимает, какие условия к циклу относятся, а какие нет. А почему она этого не понимает? А потому, что помимо пред- и постусловий (в смысле Хоара) ещё есть инвариант цикла, каковой описывает всё, к циклу не относящееся, и потому сохраняющий своё значение до, во время и после выполнения цикла. Соответственно, инвариант должен быть исключён из всяких "если", потому что он заведомо положителен. И как ты объяснишь ей инвариант?simka , смотри. Исходно было так: 1 Взять нижнюю незастёгнутую пуговицу.2 Застегнуть её.
 3 Если остались незастёгнутые пуговицы, повторить с пункта 1.
 
Ты двинулась в правильном направлении, только опять проявила невнимательность. Ты написала "Проверяешь наличие пуговиц". Во-первых, это должно дать результат, который нужно проверить через "если", поэтому само "проверяешь..." смысла не имеет, достаточно написать собственно "если" и всё. Во-вторых, проверять надо не "пуговицы", а "незастёгнутые пуговицы". Ведь могут быть уже застёгнутые, а они для застёгивания неинтересны и потому должны быть исключены. Пресловутый 0 возможен, когда пуговиц нет вовсе и когда они все уже застёгнуты. Вот ты пропустила слово, и всё - логика сломалась. Что же ты попыталась написать? Ты попыталась написать такой ход конём: 1 Если есть незастёгнутые пуговицы, то1.1 Взять нижнюю незастёгнутую пуговицу.
 1.2 Застегнуть её.
 1.3 Если остались незастёгнутые пуговицы, повторить с пункта 1.1
 
т.е. оставить цикл как он был, просто ограничив заход внутрь цикла условием. Это законно, но если присмотришься, то пункты 1 и 1.3 практически одинаковы, поэтому вопрос: как их объединить в одно условие? Причём сразу можно сказать, какими свойствами должно это условие обладать: 1) оно должно быть условием цикла (т.е. выполняющееся в повторе), чтобы по нему определялся конец работы; 2) оно должно быть в начале цикла (т.е. предусловие), чтобы при 0 незастёгнутых пуговиц цикл не выполнился ни разу. Как это всё сделать? Думай   |  
						| 
								|  |  
								| « Последнее редактирование: 09-04-2012 18:27 от Dimka » |  Записан | 
 
 Программировать - значит понимать (К. Нюгард)Невывернутое лучше, чем вправленное (М. Аврелий)
 Многие готовы скорее умереть, чем подумать (Б. Рассел)
 |  |  | 
	| 
			| 
					
						| simka | 
								|  | « Ответ #88 : 09-04-2012 18:38 »  |  | 
 
 Dimka,  тогда может следует исправить пункт 1.3 Повторить с пункта 1 ?Тогда если пуговиц нет(или незастегнутых, или вообще), то процесс завершается... или его завершение не само собой разумеется и тоже требует оговорки?
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Вад | 
								|  | « Ответ #89 : 09-04-2012 19:18 »  |  | 
 
 simka, да, если точнее, "Перейти к п.1" - потому что, повторять или не повторять, - решим уже там, в п.1 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	|  |