Кой е скочил по-далече?

Двама ученика се състезавали на дълъг скок. Да се напише програма, която позволява въведат в променлива от тип запис имената на учениците и постижението им и да се отпечата кой е скочил по-надалече.

По желание: да се реши задачата, ако всеки от учениците е имал по три опита.

Публикувано в 10в с етикети . Постоянна връзка.

6 Responses to Кой е скочил по-далече?

  1. kaloyan каза:
    TYPE
      uchenik1=record
        ime1:string[20];
        skok1:array[1..3] of real;
      end;
      uchenik2=record
        ime2:string[20];
        skok2:array[1..3] of real;
      end;
    VAR
      n1:uchenik1;
      n2:uchenik2;
      a1:real;
      a2:real;
      i:integer;
    BEGIN
    //Въвеждаме данните за първия ученик
      write('Ime: '); readln(n1.ime1);
        for i:=1 to 3 do begin
          write('Skok: '); readln(n1.skok1[i]);
        end;
    writeln;
    //Въвеждаме данните за втория ученик
      write('Ime: '); readln(n2.ime2);
        for i:=1 to 3 do begin
          write('Skok: '); readln(n2.skok2[i]);
        end;
    //Проверяваме кой е скочил по-далече
      //Проверяваме рекорда на първия ученик
        if n1.skok1[1]>n1.skok1[2] then a1:=n1.skok1[1] else a1:=n1.skok1[2];
        if n1.skok1[3]>n1.skok1[2] then a1:=n1.skok1[3];
      //Проверяваме рекорда на втория ученик
        if n2.skok2[1]>n2.skok2[2] then a2:=n2.skok2[1] else a2:=n2.skok2[2];
        if n2.skok2[3]>n2.skok2[2] then a2:=n2.skok2[3];
      //Сравняваме рекордите на двамата ученика
        if a1>a2 then writeln(n1.ime1,' e skochil s ',a1-a2:0:2,'m po-daleche ot ',n2.ime2)
          else
        if a2>a1 then writeln(n2.ime2,' e skochil s ',a2-a1:0:2,'m po-daleche ot ',n1.ime1)
          else
        if a1=a2 then writeln('I ',n1.ime1,' i ',n2.ime2,' sa skochili ednakvo daleche');
    
    readln;
    END.
  2. sup3rEva каза:
    TYPE
      uchenik=record
        ime:string[10];
        postijenie:real;
      end;
    VAR
      x,y:uchenik;
    BEGIN
    //Пъви ученик
      write('Ime: ');
        readln(x.ime);
      write('Postijenie: ');
        readln(x.postijenie);
    writeln;
    //Втори ученик
      write('Ime: ');
        readln(y.ime);
      write('Postijenie: ');
        readln(y.postijenie);
    writeln;
    //Сравняваме
      if x.postijenie>y.postijenie then writeln(x.ime,' e skochil/a po-daleche')
        else
      if y.postijenie>x.postijenie then writeln(y.ime,' e skochil/a po-daleche')
        else
      writeln('Dvamata uchenika sa skochili na ravno razstoqnie');
    
    readln;
    END.
  3. kaloyan каза:
    TYPE
      uchenik=record
        ime:string[20];
        skok:array[1..3] of real;
      end;
    VAR
      n1,n2:uchenik;
      a1,a2:real;
      i:integer;
    BEGIN
    //Въвеждаме данните за първия ученик
      write('Ime: '); readln(n1.ime);
        for i:=1 to 3 do begin
          write('Skok: '); readln(n1.skok[i]);
        end;
    writeln;
    //Въвеждаме данните за втория ученик
      write('Ime: '); readln(n2.ime);
        for i:=1 to 3 do begin
          write('Skok: '); readln(n2.skok[i]);
        end;
    //Проверяваме кой е скочил по-далече
      //Проверяваме рекорда на първия ученик
        if n1.skok[1]>n1.skok[2] then a1:=n1.skok[1] else a1:=n1.skok[2];
        if n1.skok[3]>n1.skok[2] then a1:=n1.skok[3];
      //Проверяваме рекорда на втория ученик
        if n2.skok[1]>n2.skok[2] then a2:=n2.skok[1] else a2:=n2.skok[2];
        if n2.skok[3]>n2.skok[2] then a2:=n2.skok[3];
      //Сравняваме рекордите на двамата ученика
        if a1>a2 then writeln(n1.ime,' e skochil s ',a1-a2:0:2,'m po-daleche ot ',n2.ime)
          else
        if a2>a1 then writeln(n2.ime,' e skochil s ',a2-a1:0:2,'m po-daleche ot ',n1.ime)
          else
        if a1=a2 then writeln('I ',n1.ime,' i ',n2.ime,' sa skochili ednakvo daleche');
    
    readln;
    END.

Вашият коментар