|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.09.2012, 16:27 | #11 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Серж, огромное Вам спасибо!
"Дебаты" были для образования, чтобы узнать точку зрения Господина Мошева, а за тем и Вашу (еще раз огромное спасибо), а не для холивара. |
11.09.2012, 16:39 | #12 | |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Цитата:
з.ы. прошу прощения за оффтоп.
Правильно поставленная задача - три четверти решения.
|
|
11.09.2012, 17:11 | #13 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
В данный момент разговор идет про Pascal, и использование Goto не является правилом хорошего тона. (мягко сказано)
|
15.09.2012, 20:28 | #14 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
|
16.09.2012, 10:36 | #15 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
|
18.09.2012, 03:08 | #16 |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 869
|
Ну, если быть точным, то там можно убрать 2 набора begin/end, но только это не влияет на производительность, а размер паскалевского кода не должен быть самоцелью.. ) В любом случае, kangreon заслуживает +1, что я и делаю. Мое желание "упростить" путем разбивания на два этапа в данном случае не оправдано, думаю.
Что же касается выхода из цикла по break - согласен, это нехорошо. Да, я бы уподобил это действо применению goto (может, не на 100%). Кивание на ассемблер тут совершенно неуместно - все и без того понимают (ну.. мож, не совсем все..)), что ассемблерный jmp (плюс условный оператор) есть просто ОСНОВА программирования. То есть, без него там просто НИКУДА, он там в высшей степени ПОЛЕЗЕН. Но если костер и полезен в пещере (или походе), разжигать его дома не советую. Дома есть модернизидравнный вариант костра - газовая горелка, ей и пользуйтесь на здоровье. Она использует ТУ ЖЕ РЕАКЦИЮ (горение, не буду вдаваться в химические подробности). Точно так же, конструкции for или while языков высокого уровня ИСПОЛЬЗУЮТ goto. Явное же их использование в программе на ЯВУ обычно приводит к путанице и ошибкам. Это не есть недостаток САМОГО ОПЕРАТОРА goto. Это есть свойство (недостатком не назову все же) ЧЕЛОВЕЧЕСКОГО МЫШЛЕНИЯ. Но все это - не более, чем общие слова. Когда доходит дело до конкретики, часто оказывается, что обойтись только т.н. "структурными операторами" не всегда даже возможно (я уж не говорю про удобство). И очень хочется послать все (go to ...)) и влепить goto, ну или хотя бы break, и тем самым сломать (break down, простите за каламбур)) всю красоту. Но в этот момент надо вспомнить про такое средство структурного программирования, как подпрограммы.. В соответствии со сказанным я бы переделал код kangreon примерно как-то так.. Код:
Предпочитаю на "ты".
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
проверить все ли элементы в массиве различны. | Proskurina | Помощь студентам | 7 | 08.09.2012 23:36 |
Перестановкой из n элементов называется последовательность длины n, все элементы которой различны. Получить перестановки (Паскаль) | Pa s | Помощь студентам | 3 | 24.05.2012 13:06 |
в массиве все максимальные элементы заменить первым элементом, а все минимальные элементы заменить последним элементом | Валерия2701 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 12.10.2011 15:49 |
Дана действительная матрица размером n x m, все элементы которой различны. В каждой строке выбирается эл | bayker | Помощь студентам | 5 | 30.05.2010 21:32 |
Найти кол-во её стобцов,все элементы которых различны. Delphi. | Flashcherry | Помощь студентам | 1 | 21.03.2009 00:46 |