Pascal. Задачи.

Discussion in 'Болталка' started by Zakary, 12 May 2006.

  1. Zakary

    Zakary Elder - Старейшина

    Joined:
    28 Sep 2005
    Messages:
    165
    Likes Received:
    10
    Reputations:
    0
    Привет всем. хочу спросить..кто-нибудь может помочь сделать пару задач на паскале?
    1-ая
    Решить задачу с использованием цикла. найти сумму к чисел, стоящих на четных местах в геометрической прогрессии 2,8,32,128,512
    2-ая
    Даны числа a и х. Вычтислить значение выражения sqr(sqr(...sqr(sqr(х+а)+а)+...+а))+а всего н скобок.

    кто сможет помогите пожалуйста по ним..особенно по первой. они вообще не сильно сложные(информатика 11 класс)..но я чета не могу.
     
  2. Mobile

    Mobile Elder - Старейшина

    Joined:
    18 Feb 2006
    Messages:
    1,089
    Likes Received:
    822
    Reputations:
    324
    10000$
     
  3. Utochka

    Utochka Elder - Старейшина

    Joined:
    21 Dec 2005
    Messages:
    495
    Likes Received:
    106
    Reputations:
    54
    Zakary - если согласен за 5-10$ я возьмусь.
     
  4. Dronga

    Dronga ВАША реклама ТУТ!!

    Joined:
    1 Jul 2005
    Messages:
    575
    Likes Received:
    239
    Reputations:
    249
    Блин, подправьте, а то без компилятора под рукой фигово.
    1.
    Code:
    var
      i,k:integer;
    begin
      k:=2;
      writeln('Skolko wagov??');
      readln(n);
      for i:=1 to n do begin
        k:=k*4;
        writeln(k)    {для отладки}
      end;
    end.
    Сейчас вторую погляжу. Без компилятора фигово.

    2.
    sqr(sqr(...sqr(sqr(х+а)+а)+...+а))+а
    Code:
    var
      x,a,sum,i,k:real;
    begin
      writeln('Vvedite X');
      readln(x);
      writeln('Vvedite A');
      readln(a);
      sum:=x+a;
      writeln('Vvedite shag');
      readln(k);
      for i:=1 to k do begin
        sum:=sqr(sum)+a;
         writeln(sum)    {для отладки}
      end;
    end.
    Если ничего не путаю, то должно работать правильно.
     
    #4 Dronga, 12 May 2006
    Last edited: 12 May 2006
  5. Utochka

    Utochka Elder - Старейшина

    Joined:
    21 Dec 2005
    Messages:
    495
    Likes Received:
    106
    Reputations:
    54
    Dronga - конечно хорошо, что на халяву выложил ему код, но я хотел бабосы срубить )
     
  6. Dronga

    Dronga ВАША реклама ТУТ!!

    Joined:
    1 Jul 2005
    Messages:
    575
    Likes Received:
    239
    Reputations:
    249
    На этом????? Побойся бога!
     
  7. Deem3n®

    Deem3n® RTFMSDN

    Joined:
    19 Sep 2005
    Messages:
    378
    Likes Received:
    153
    Reputations:
    164
    вот не успел запостить ))
    1.
    Code:
    var
       i, n: integer;
       pr_item, sum: longint;
    begin
         writeln('Enter num of progression elements (>=2):');
         readln(n);
    
         pr_item := 2;
         sum := 0;
         writeln('Summed progression elements:');
         for i := 0 to n do
         begin
              pr_item := pr_item shl 2;
              if (not odd(i)) then
              begin
                 sum := sum + pr_item;
                 write(pr_item, ' ');
              end;
         end;
         writeln;
         writeln('sum = ', sum);
    end.
    Code:
    Enter num of progression elements (>=2):
    10
    Summed progression elements:
    8 128 2048 32768 524288 8388608
    sum = 8947848
    2. Банальная рекурсия
    Code:
    var
       x, a, n, result: integer;
    function f(var x:integer; var a:integer; n:integer):integer;
    begin
         if (n = 1) then
            f := sqr(x+a)+a
         else
            f := sqr(f(x, a, n - 1)) + a;
    end;
    begin
         writeln('Enter x, a and n:');
         readln(x, a, n);
         writeln('Result = ', f(x, a, n));
    end.
    Code:
    Enter x, a and n:
    1 1 3
    Result = 677
    Обьяснять код не буду - сам разберешся
    ну ну ))
     
    #7 Deem3n®, 12 May 2006
    Last edited: 12 May 2006
  8. Zakary

    Zakary Elder - Старейшина

    Joined:
    28 Sep 2005
    Messages:
    165
    Likes Received:
    10
    Reputations:
    0
    Deem3n, dronga
    спасибо вам огромное!!! есть ещё добрые люди на свете...+
    ещё. если можете объясните что значат эти две строчки
    pr_item := pr_item shl 2;
    if (not odd(i)) then
     
  9. Deem3n®

    Deem3n® RTFMSDN

    Joined:
    19 Sep 2005
    Messages:
    378
    Likes Received:
    153
    Reputations:
    164
    pr_item := pr_item shl 2; экивалентно pr_item := pr_item * 4 - логический сдвиг влево на 2 бита битовой строки (написал так по привычке потому что первая инструкция выполняется намного быстрее второй)
     
  10. [Zarakul]

    [Zarakul] Elder - Старейшина

    Joined:
    12 Dec 2005
    Messages:
    153
    Likes Received:
    49
    Reputations:
    6
    Ни разу в 11-ом классе даже близко таких задач не решали...
     
  11. Zakary

    Zakary Elder - Старейшина

    Joined:
    28 Sep 2005
    Messages:
    165
    Likes Received:
    10
    Reputations:
    0
    Deem3n
    ещё раз спасибо!
    Zarakul
    А у нас вот так вот)))
     
  12. Sn@k3

    Sn@k3 Elder - Старейшина

    Joined:
    13 Apr 2006
    Messages:
    1,000
    Likes Received:
    438
    Reputations:
    90
    вы чё серъёзно.блин а нас закидывают такие барахлом.приходится делать
     
  13. Otaku

    Otaku Elder - Старейшина

    Joined:
    24 Jul 2005
    Messages:
    279
    Likes Received:
    73
    Reputations:
    2
    Блин. Ведь я лет в 15 такие задачки щёлкал. Экзамены сдавл даже. А сейчас паскаль забыл совсем :(
    Старею?
     
  14. Zakary

    Zakary Elder - Старейшина

    Joined:
    28 Sep 2005
    Messages:
    165
    Likes Received:
    10
    Reputations:
    0
    Вот здесь ну очень легкая задача...больше по математике надо))) Решить задачу с использованием условного оператора. Составить программу для определения вида треугольника по двум сторонам и углу меджду ними. Определяемое совйство: равностороний, равнобедренный или прямоугольный(обратите внимание, что треугольник может быть равнобедренным прямоугольным). Для корректного анализа нужно определить ещё третью сторону (например, по теореме косинусов sqr(c)=sqr(a)+sqr(b)-2*a*b*cos(a)). вот что получилось у меня, но не правильно работает.
    Code:
    program abc;
    var a,b,c,d:real;
    begin
    write('enter 1 side:'); readln(a);
    write('enter 2 side:'); readln(b);
    write('enter angle:'); readln(c);
    d:=sqrt(sqr(a)+sqr(b)-2*a*b*cos(a));
    if c=90 then writeln('priamougolnii');
    if (a=b) and (a=d) and (c=60) then writeln('ravnostoronii');
    if (a=b) or (b=d) or (a=d) and (c<>60)then writeln ('ravnobedrenii');
    readln;
    end.(
     
  15. Zakary

    Zakary Elder - Старейшина

    Joined:
    28 Sep 2005
    Messages:
    165
    Likes Received:
    10
    Reputations:
    0
    Все ещё требуется ваш хелп.
     
  16. Li4inka

    Li4inka Banned

    Joined:
    14 May 2006
    Messages:
    7
    Likes Received:
    2
    Reputations:
    -6
    1) 2Mobile ты мудак
    2) все кто хотели на этом срубить деньги просто гады :) должно быть стыдно.
    3) Zakary - программирование это лишь умение задачу вбить комуптеру чтобы он ее делал, но если ты сам не знаешь как решать задачу теб нужно сначала над первым работать, а не браться за второе - это так совет.
    1) стандартные тригонометрические функции в паскале берут угол как аргумент не в градусах, а радианах, для перевода градусов в радианы : rad=gradus*pi/180;
    2) замени:
    Code:
    if (a=b) then if (c=60) then writeln('ravnostoronii')
      else writeln ('ravnobedrenii');
    
     
  17. SanyaX

    SanyaX .::Club Life::.

    Joined:
    28 Jan 2005
    Messages:
    936
    Likes Received:
    396
    Reputations:
    261
    Li4inka вот закрыла бы твой маленький ротик. Програмист-тракторист широкого профиля тебе звание было бы.
     
  18. Zakary

    Zakary Elder - Старейшина

    Joined:
    28 Sep 2005
    Messages:
    165
    Likes Received:
    10
    Reputations:
    0
    Li4inka
    Спасибо за сове. но оскорблять не надо.....Mobile ведь пошутил)))