1. Куча / Говнокод #5927

    +137

    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
    program c2;
    const n=30;
    var
    a: array [1..n] of integer;
    i,x,y: integer;
    s: real;
    begin
    x:=0;
    y:=0;
    for i:=1 to n do
    begin
    a[i]:= random(10);    { !! число 10 !! }
    writeln(a[i]);
    if(a[i]>20) then          { !!!! }
    begin
    x:=x+a[i];
    y:=y+1;
    end;
    end;
    s:=x/y;
    writeln;
    writeln(s);
    readln;
    end.

    Обнаружил в ЕГЭ по информатике, задание «повышенного» уровня сложности. Надо найти ср. арифм. среди элементов массива, которые больше 20.
    В книжке с задачами имелись ответы и заглянув туда я заметил этот говнокод. Вы только приглядитесь внимательней ведь массив заполняется рандомом до 10, а цикле программы проверяем элементы, которые больше 20. Такая программа в принципе работать не будет :)

    Запостил: stalkersev, 08 Марта 2011

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

    • не зная точно особенностей языка, можно еще ненароком решить, что 10 - это seed
      Ответить
    • кажеться нужно ещё randomize; вызвать в начале проги.
      Ответить
      • ну если и добавит, то при каждом debuge проги будут меняться цифры, но они также останутся до 10!! вы попробуйте вбейте в паскаль эту прогу, она у вас даже не запустится:)
        Ответить
        • Почему не запустится?
          Вылетит на 20й строчке, и всё. Но запустится.
          Ответить
    • Не боги ЕГЭ лепили.
      Ответить

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