Автор | Сообщение |
|
Отправлено: 13.05.12 21:16. Заголовок: [A13] тренировочная работа N3
Нужно, чтобы исполнитель попал в клетку, отмеченную серым цветом. Таких клеток 15?
|
|
|
Ответов - 14
[только новые]
|
|
|
| постоянный участник
|
Сообщение: 54
|
|
Отправлено: 13.05.12 21:53. Заголовок: программа для провер..
|
|
|
|
| постоянный участник
|
Сообщение: 67
|
|
Отправлено: 13.05.12 21:53. Заголовок: 1ро4ка_двадва88 пише..
1ро4ка_двадва88 пишет: Скачайте программку и проверьте сами...
|
|
|
|
Отправлено: 14.05.12 18:39. Заголовок: Скачал. Правильно А..
Скачал. Неправильно А почему при таком условии клетки F3-F5 не подходят?
|
|
|
|
Отправлено: 14.05.12 19:41. Заголовок: Кстати, вопрос к Кон..
Кстати, вопрос к Константину: зачем в вашем конспекте задачи на исполнитель черепашка, склейка букв и лесенка? Это задачи из прошлых лет?
|
|
|
|
| Администратор
|
Сообщение: 324
|
|
Отправлено: 14.05.12 19:44. Заголовок: 1ро4ка_двадва88 пише..
1ро4ка_двадва88 пишет: цитата: | зачем в вашем конспекте задачи на исполнитель черепашка, склейка букв и лесенка? |
|
Они появлялись в сборниках в предыдущие годы.
|
|
|
|
| постоянный участник
|
Сообщение: 56
|
|
Отправлено: 14.05.12 19:43. Заголовок: если зашли во внешни..
если зашли во внешний цикл, то оба действия должны выполняться идти вниз или нет зависит от условия, а вправо идем всегда из клеток F3-F5 идем вниз до F6 и потом должны сделать шаг вправо, а там стена в клетке F6 не выполняется условие внешнего цикла(как и в клетках С4, С6, D2, F2) поэтому во внешний цикл мы не заходим, просто стоим на месте
|
|
|
|
Отправлено: 14.05.12 20:12. Заголовок: oval пишет: а вправ..
oval пишет: у нас же условие внешнего цикла "снизу свободно или справа свободно". не значит ли это, что после выполнения внутреннего цикла "пока снизу свободно - вниз" мы обрубаем внешний цикл во всех случаях, кроме когда внизу закрыто, а справа открыто?
|
|
|
|
| постоянный участник
|
Сообщение: 59
|
|
Отправлено: 15.05.12 14:19. Заголовок: oval пишет: если за..
oval пишет: цитата: | если зашли во внешний цикл, то оба действия должны выполняться |
| если справа или снизу нет стены то 1 идем вниз пока нет стены 2 идем вправо и только после этого проверяем условие внешнего цикла для клетки С5 справа свободно, заходим во внешний цикл 1 снизу стена, внутренний цикл не работает 2 шаг вправо попали в клетку D5 снизу свободно, заходим во внешний цикл 1 снизу свободно идем в D6 2 шаг вправо попали в клетку E6 справа свободно, заходим во внешний цикл 1 снизу стена, внутренний цикл не работает 2 шаг вправо попали в клетку F6 снизу и справа стена во внешний цикл не заходим, попали на конец программы
|
|
|
|
Отправлено: 15.05.12 17:35. Заголовок: oval, насколько я по..
oval, насколько я понимаю, это особенности алгоритмического языка? Потому как в паскале программа действовала бы иначе: выделяются два цикла, один из которых вложенный. Вначале открывается внешний цикл, затем сразу открывается вложенный цикл, завершается, и дальше проверяется условие внешнего. Если внизу свободно или справа свободно, то идем вправо ДО УПОРА (или до поломки, если справа закрыто, а внизу есть свободные клетки). А тут почему-то только один шаг вправо
|
|
|
|
| постоянный участник
|
Сообщение: 60
|
|
Отправлено: 15.05.12 18:27. Заголовок: 1ро4ка_двадва88 пише..
1ро4ка_двадва88 пишет: цитата: | А тут почему-то только один шаг вправо |
| потому, что шаг вправо стоит внутри внешнего цикла в паскале это "выглядело" бы так: while <справа или снизу свободно> do begin while <снизу свободно> do вниз; вправо; end;
|
|
|
|
| постоянный участник
|
Сообщение: 61
|
|
Отправлено: 15.05.12 18:31. Заголовок: конец пока в 5ой стр..
конец пока в 5ой строчке закрывает пока из 3ей строчки конец пока в 7ой строчке закрывает пока из 2ой строчки я не знаю как еще объяснить подробнее
|
|
|
|
|
Отправлено: 15.05.12 18:53. Заголовок: "конец пока в 5о..
"конец пока в 5ой строчке закрывает пока из 3ей строчки конец пока в 7ой строчке закрывает пока из 2ой строчки" Это-то я понимаю, но в этом и кроется логическая несостыковка, ибо у нас два цикла, в которых УСЛОВИЕ ЧАСТИЧНО СОВПАДАЕТ, следовательно, прокрутив один из циклов, другой уже не будет воспринимать УСЛОВИЕ истинно, т.к. оно уже пройдено в другом цикле. К конкретике: во внешнем проверяется условие СНИЗУ СВОБОДНО и во внутреннем оно же. Очевидно что, внутренний цикл не будет открываться, если не откроется внешний. Пусть условие внешенго истинно, переходим во внутренний цикл. ПОКА СНИЗУ СВОБОДНО: опускаемся вниз, цикл заканчивается, как результат - внизу стена. Теперь надо посмотреть, а истинно ли до сих пор условие внешнего цикла? А истинно оно лишь в том случае, если справа свободно. Логично, что если условие неверно, то цикл прекращает работу. То что вы хотели сказать, я понял. Цикл не проверяет истинность условия после открытия внутреннего цикла.
|
|
|
|
| постоянный участник
|
Сообщение: 62
|
|
Отправлено: 15.05.12 19:05. Заголовок: 1ро4ка_двадва88 пише..
1ро4ка_двадва88 пишет: цитата: | Теперь надо посмотреть, а истинно ли до сих пор условие внешнего цикла? |
| не теперь, а только после выполнения команды вправо
|
|
|
|
Отправлено: 15.05.12 19:12. Заголовок: ясно, спасибо..
ясно, спасибо
|
|
|
|