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

    +92

    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
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    {Обнуление сумм}
    
        sum1:=0;
        sum2:=0;
        sum3:=0;
        sum4:=0;
        sum5:=0;
        sum6:=0;
        sum7:=0.001;
        sum8:=0.001;
        giga1:=0;
        giga2:=0;
        sum9:=0;
        sum10:=0;
        sum11:=0;
        sum12:=0;
        sum13:=0;
        sum14:=0;
        sum15:=0;
        sum16:=0;
    
        for i:=0 to cnt do begin
        sum1:=sum1+TNP[i]; sum2:=sum2+TNO[i]; //Подсчёт "Прямого" и "Обратного"
        sum3:=sum3+TNP[i]-TNO[i]; //Подсчёт "Израсходовано воды"
        sum4:=sum4+PAR[i]; //Подсчёт "Израсходовано пара"
        sum5:=sum5+Tpar[i]; //Подсчёт "температуры пара"
        sum6:=sum6+Ppar[i]; //Подсчёт "давления пара"
        sum7:=sum7+Tprm[i]; //Подсчёт "температуры прямого"
        sum8:=sum8+Tobr[i]; //Подсчёт "температуры обратного"
        sum10:=sum10+Qvoz[i]; //Подсчёт "Израсходовано воздуха"
        sum11:=sum11+Tvoz[i]; //Подсчёт "температуры воздуха"
        sum12:=sum12+Pvoz[i]; //Подсчёт "давление воздуха"
        sum13:=sum13+Qhzv[i]; //Подсчёт "Израсходовано хоз. воды"
        sum14:=sum14+Qthv[i]; //Подсчёт "Израсходовано тех. воды"
        sum15:=sum15+Thzv[i]; //Подсчёт "Температуры. хоз воды"
        sum16:=sum16+Tthv[i]; //Подсчёт "Температуры. тех воды"
    
     // giga1:= (sum1 * 1000) * (660 * 0.000001) /  (sum7/sum8) ; // расчёт гигакалорий для отопления
     // giga1:= (sum1 * 1000) * (660 * 0.000001); // расчёт гигакалорий для отопления
    
        giga1:= (sum3 / 3.04); // расчёт гигакалорий для отопления
    
        giga2:= (sum4 * 1000) * (660 * 0.000001); // расчёт гигакалорий для пара
        end;    end;    end;

    ka3ax, 10 Апреля 2010

    Комментарии (28)
  2. Pascal / Говнокод #2974

    +106.2

    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
    /////////////////////////// удаление спецсимволов
    Prbl:=' ';
    WS_h:=AnsiReplaceText(WS_h, Chr(13), Prbl);
    WS_h:=AnsiReplaceText(WS_h, Chr(10), Prbl);
    WS_h:=AnsiReplaceText(WS_h, ' ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '           ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '          ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '         ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '        ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '       ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '      ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '     ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '    ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '   ', Prbl);
    WS_h:=AnsiReplaceText(WS_h, '  ', Prbl);
    /////////////////////////////////////////////////
    WS_h:=AnsiReplaceText(WS_h, '<span class=SpellE>', '');
    /////////////////////////// удаление спецсимволов

    Красиво оформленный код - залог успеха!

    Temnenkov, 09 Апреля 2010

    Комментарии (13)
  3. Pascal / Говнокод #2972

    +110

    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
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    Function IsBigLet(Let: String): Boolean;
    var r: bool;
    begin
    r:=false;
    if pos('Й',Let)>0 then r:=true;
    if pos('Ц',Let)>0 then r:=true;
    if pos('У',Let)>0 then r:=true;
    if pos('К',Let)>0 then r:=true;
    if pos('Е',Let)>0 then r:=true;
    if pos('Н',Let)>0 then r:=true;
    if pos('Г',Let)>0 then r:=true;
    if pos('Ш',Let)>0 then r:=true;
    if pos('Щ',Let)>0 then r:=true;
    if pos('З',Let)>0 then r:=true;
    if pos('Х',Let)>0 then r:=true;
    if pos('Ф',Let)>0 then r:=true;
    if pos('Ы',Let)>0 then r:=true;
    if pos('В',Let)>0 then r:=true;
    if pos('А',Let)>0 then r:=true;
    if pos('П',Let)>0 then r:=true;
    if pos('Р',Let)>0 then r:=true;
    if pos('О',Let)>0 then r:=true;
    if pos('Л',Let)>0 then r:=true;
    if pos('Д',Let)>0 then r:=true;
    if pos('Ж',Let)>0 then r:=true;
    if pos('Э',Let)>0 then r:=true;
    if pos('Я',Let)>0 then r:=true;
    if pos('Ч',Let)>0 then r:=true;
    if pos('С',Let)>0 then r:=true;
    if pos('М',Let)>0 then r:=true;
    if pos('И',Let)>0 then r:=true;
    if pos('Т',Let)>0 then r:=true;
    if pos('Б',Let)>0 then r:=true;
    if pos('Ю',Let)>0 then r:=true;
    Result:=r;
    end;

    Немножко индусского кода!

    Temnenkov, 09 Апреля 2010

    Комментарии (23)
  4. Pascal / Говнокод #2952

    +82.6

    1. 1
    if IntToStr(n) = '2' then

    чудо-программисты, еклмн

    timurrv, 07 Апреля 2010

    Комментарии (14)
  5. Pascal / Говнокод #2949

    +92.8

    1. 1
    2. 2
    3. 3
    4. 4
    // Я приводить пример кода не буду, т.к. он давно исправлен и остался только в памяти и SVN-е,
    // но вполне реальный человек захуячил такое:
    // В событии OnPaint таблицы происходил запрос к БД, чтоб узнать, какой именно текст надо отрисовывать.
    // Очень весело было изменять размеры формы и наблюдать, с какой скоростью увеличивается лог-файл xDDD

    Arch, 07 Апреля 2010

    Комментарии (22)
  6. Pascal / Говнокод #2904

    +102

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function TicksBetween(t1, t2 : dword) : dword;
    begin
    	if t2 > t1
    	then Result:=t2 - t1 + 1
    	else Result:=dword(-1) - t1 + t2 + 1;
    end;

    Никогда не пишите с бодуна!

    whiskey, 01 Апреля 2010

    Комментарии (5)
  7. Pascal / Говнокод #2903

    +143.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    for i:=1 to 10000000 do
    begin
    {...}
    if m=0 then break;
    end;

    kozzztya, 31 Марта 2010

    Комментарии (6)
  8. Pascal / Говнокод #2882

    +91.2

    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
    {  Длинная арифметика. 
        [0] - длина числа
        [1..1000] - цифры в системе с основанием 10000, записанные в обратном порядке
    }
    type TLong = array[0..1000] of integer;
    
    procedure Add(A,B:TLong;var C:TLong);
    {Здесь идет процедура сложения в столбик - ничего интересного}
    procedure MulByShort(A:TLong;B:integer;var C:TLong); {умножение длинного на короткое}
        var i:integer;
    begin
        initByZero(C);{инициализация C нулями}
        for i:=1 to B do Add(C,A,C);
    end;

    Найдено в решении олимпиадной задачи на FreePascal. Обратите внимание на особо остроумный алгоритм умножения: надо же до такого додуматься. Также интересно, чем мотивирована передача массивов по значению.

    frp, 28 Марта 2010

    Комментарии (9)
  9. Pascal / Говнокод #2873

    +97.4

    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
    if (aDebtor.Banknummer = '') then
        begin
            s := s + ',""'; {Banknummer}
        end
        else
        begin
            s := s + ',"'+TrimRight(Format('%-.10s',[aDebtor.Banknummer]))+'"'; {Banknummer}
        end;
        if (aDebtor.Gironummer = '') then
        begin
            s := s + ',""'; {postbankrekening}
        end
        else
        begin
            s := s + ',"'+TrimRight(Format('%-.10s',[aDebtor.Gironummer]))+'"'; {postbankrekening}
        end;

    Гениально... А можно мне такой же травы как у этих голландцев?

    И такое повторяется еще много раз.

    Drone, 26 Марта 2010

    Комментарии (0)
  10. Pascal / Говнокод #2841

    +104.4

    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
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    procedure TForm1.vibor_chiselClick(Sender: TObject);
    begin
    case vibor_chisel.ItemIndex of
       0: begin
          procedure TForm1.But_sortClick(Sender: TObject);
           begin
           n:=vib_el_v.value;
           setlength(massiv,n);
            for i:=0 to n-1 do
            massiv[i]:=strtoint(stringgrid1.Cells[i,0]);
             case vibor_sortirovki.itemindex of
             0: begin
                 sortpuzirek(n,massiv);
                 for i:=1 to n do
                 stringgrid1.Cells[i,0]:=inttostr(massiv[i]);
                end;
             1: begin
                end;
             2: begin
                end;
             end;
            end;
           end;
       1: begin
           procedure TForm1.But_sortClick(Sender: TObject);
           begin
           n:=vib_el_v.value;
           setlength(mas_siv,n);
            for i:=0 to n-1 do
            mas_siv[i]:=strtofloat(stringgrid1.Cells[i,0]);
             case vibor_sortirovki.itemindex of
             0: begin
                 sort_puzirek(n,mas_siv);
                 for i:=1 to n do
                 stringgrid1.Cells[i,0]:=floattostr(mas_siv[i]);
                end;
             1: begin
                end;
             2: begin
                end;
             end;
            end;
           end;
          end;
      end;
    end;

    Орали всей группой. А вы часто описываете процедуры в case of ?)
    PS
    Работает.)

    Grivus, 22 Марта 2010

    Комментарии (32)