1. Pascal / Говнокод #1748

    +103.9

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    la:
    for j:=8 to (length(a)-length(b) div 2) do
    begin
    	...
    	if(a[j]>'5') goto la;
    	...
    	if(a[j]>'7') goto la;
    	...
    	if(a[j]>'2') goto la;
    	...
    	j:=j-8;
    	...
    	form1.memo1.text=form1.memo1.text+'; '+inttostr(j)+'5';
    	...
    	if(a[j]>'1') goto g;
    	...
    	j:=j+8;
    end;
    g:

    Не знаю почему, но меня охватывают фиерические чувства. Найденно на просторах рунета в разделах готовых решений задач для студентов.

    Запостил: Говногость, 02 Сентября 2009

    Комментарии (16) RSS

    • Боюсь даже представить условие этой задачи.
      Ответить
    • Или у меня провалы в памяти или это не кусок кода на Delphi. Кострукция if (expr) statement не распазнается парсером.
      Ответить
      • да, кстати, "then" пропущен...
        Ответить
      • Это не Delphi, ибо в паскале запрещено менять в цикле значение переменной цикла
        Ответить
        • А вот было это в разделе решения задач Дельфи. Возможно кто-то хреново перевёл чужой Си код в Дельфи. Посему с циклом, видимо, проблемы с модификацией переменных. Кстати a и b строки.
          Ответить
    • Самое интересное, что если это дельфи и а - строка, то строки:
      for j:=8 to ...
      j:=j-8;
      if(a[j]>'1') goto g;
      приведут к печальным последствиям. Будет обращение по a[0], а в дельфи это вроде нельзя для строк...
      Ответить
      • можно.
        В a[0] хранится длина строки (для ANSIString, WideString, ShortString) или первый символ (PChar, PWideChar). a[0]>'1' эквивалентно для string эквивалентно Length(a)>1
        Ответить
    • goto рулит. :-)
      Ответить
    • У меня впечатление, что a - b / 2 в цикле должно было быть (a - b) / 2
      Ответить
    • Вообщем, этот пример показывает, что решение для студенческих задач нужно искать не на сомнительного рода сайтах...
      Ответить
      • Это ещё раз доказывает, что студенческие задачи нужно решать самому.
        Ответить
    • ненавижу когда используют goto!!!
      Ответить
      • +1
        Ответить
      • кроме foxbase и прочих clipper'oв, где goto - переход к N-ой записи в активной таблице.
        Ответить

    Добавить комментарий