Задания
Версия для печати и копирования в MS Word
Тип Д9 № 5861
i

В таб­ли­це Dat хра­нят­ся дан­ные о ко­ли­че­стве уче­ни­ков в клас­сах (Dat[1] − ко­ли­че­ство уче­ни­ков в пер­вом клас­се, Dat[2] − во вто­ром и т. д.). Опре­де­ли­те, какое число будет на­пе­ча­та­но в ре­зуль­та­те ра­бо­ты сле­ду­ю­щей про­грам­мы. Текст про­грам­мы при­ве­ден на трех язы­ках про­грам­ми­ро­ва­ния.

 

Ал­го­рит­ми­че­ский язык

Бей­сик

Пас­каль

 алг

нач

  цел­таб Dat[1:11]

  цел  k, m

  Dat[1] := 20

  Dat[2] := 27

  Dat[3] := 19

  Dat[4] := 28

  Dat[5] := 26

  Dat[6] := 22

  Dat[7] := 24

  Dat[8] := 28

  Dat[9] := 26

  Dat[10] := 21

  Dat[11] := 27

  m := 0

  нц для k от 1 до 11

    если Dat[k] < 25 то

     m := m + 1

    все

  кц

  вывод m

кон

 

DIM Dat(11) AS INTEGER

DIM k,m AS INTEGER

Dat(1) = 20

Dat(2) = 27

Dat(3) = 19

Dat(4) = 28

Dat(5) = 26

Dat(6) = 22

Dat(7) = 24

Dat(8) = 28

Dat(9) = 26

Dat(10) = 21

Dat(11) = 27

m = 0 

FOR k = 1 TO 11

 IF Dat(k) < 25 THEN

  m = m + 1

 END IF

NEXT k

PRINT m

END

 

var k, m: integer;

 Dat: array[1..11] of integer;

begin

  Dat[1] := 20;

  Dat[2] := 27;

  Dat[3] := 19;

  Dat[4] := 28;

  Dat[5] := 26;

  Dat[6] := 22;

  Dat[7] := 24;

  Dat[8] := 28;

  Dat[9] := 26;

  Dat[10] := 21;

  Dat[11] := 27;

  m := 0;

  for k := 1 to 11 do

    if  Dat[k] < 25 then

      m := m + 1;

  writeln(m)

end.


 

Ре­ше­ние.

Это за­да­ние ещё не ре­ше­но, при­во­дим ре­ше­ние про­то­ти­па.


В таб­ли­це Dat хра­нят­ся дан­ные о ко­ли­че­стве сде­лан­ных уче­ни­ка­ми за­да­ний (Dat[1] за­да­ний сде­лал пер­вый уче­ник, Dat[2]  — вто­рой и т. д.). Опре­де­ли­те число, ко­то­рое будет на­пе­ча­та­но в ре­зуль­та­те ра­бо­ты сле­ду­ю­щей про­грам­мы. Текст про­грам­мы при­ве­ден на пяти язы­ках про­грам­ми­ро­ва­ния.

Бей­сикPython

DIM Dat(10) AS INTEGER

DIM k, m, n AS INTEGER

Dat(1) = 7: Dat(2) = 9

Dat(3) = 10: Dat(4) = 5

Dat(5) = 6: Dat(6) = 7

Dat(7) = 9: Dat(8) = 8

Dat(9) = 6: Dat(10) = 9

m = 10; n = 0

FOR k = 1 TO 10

IF Dat(k) <= m THEN

m = Dat(k)

n = k

ENDIF

NEXT k

PRINT m

Dat = [7, 9, 10, 5, 6, 7, 9, 8, 6, 9]

m = 10

n = 0

for k in range(0,10):

    if Dat[k] <= m:

        m = Dat[k]

        n = k + 1

print (m)

Пас­кальАл­го­рит­ми­че­ский язык

Var k, m, n: integer;

Dat: array[1..10] of integer;

Begin

   Dat[1] := 7; Dat[2] := 9;

   Dat[3] := 10; Dat[4] := 5;

   Dat[5] := 6; Dat[6] := 7;

   Dat[7] := 9; Dat[8] := 8;

   Dat[9] := 6; Dat[10] := 9;

   m := 10;

   n := 0;

   for k := 1 to 10 do

     if Dat[k] <= m then

      begin

        m := Dat[k];

        n := k;

      end;

   writeln(m);

End.

   алг

   нач

   цел­таб Dat[1:10]

   цел k, m, n

   Dat[1] := 7

   Dat[2] := 9

   Dat[3] := 10

   Dat[4] := 5

   Dat[5] := 6

   Dat[6] := 7

   Dat[7] := 9

   Dat[8] := 8

   Dat[9] := 6

   Dat[10] := 9

   m := 10

   n := 0

   нц для k от 1 до 10

      если Dat[k] <= m то

         m := Dat[k]

         n := k

      все

   кц

   вывод m

   кон

С++

#include <iostream>

using namespace std;

int main() {

    int Dat[10] = {7, 9, 10, 5, 6, 7, 9, 8, 6, 9};

    int m = 10;

    int n = 0;

    for (int k = 0; k < 10; k++)

        if (Dat[k] <= m) {

            m = Dat[k];

            n = k + 1;

        }

    cout << m;

    return 0;

}



Про­грам­ма пред­на­зна­че­на для на­хож­де­ния наи­мень­ше­го ко­ли­че­ства сде­лан­ных за­да­ний среди уче­ни­ков. Про­ана­ли­зи­ро­вав вход­ные дан­ные, при­хо­дим к вы­во­ду, что ответ 5.

 

Ответ: 5.


Аналоги к заданию № 4659: 4759 4788 4888 ... Все