СДАМ ГИА: РЕШУ ОГЭ
Образовательный портал для подготовки к экзаменам
Информатика
информатика
сайты - меню - вход - новости


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

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

 

БейсикPython

DIM Dat(12) AS INTEGER

DIM k, m, month AS INTEGER

Dat(1) = 5: Dat(2) = 5

Dat(3) = 6: Dat(4) = 8

Dat(5) = 4: Dat(6) = 5

Dat(7) = 4: Dat(8) = 7

Dat(9) = 4: Dat(10) = 4

Dat(11) = 8: Dat(12) = 7

m = Dat(1); month = 1

FOR k = 2 TO 12

IF Dat(k) <= m THEN

m = Dat(k)

month = k

ENDIF

NEXT k

PRINT month

Dat = [5, 5, 6, 8, 4, 5, 4, 7, 4, 4, 8, 7]

m = Dat[0]

month = 1

for k in range(1, 12):

    if Dat[k] <= m:

        m = Dat[k]

        month = k + 1

print (month)

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

Var k, m, month: integer;

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

Begin

   Dat[1] := 5; Dat[2] := 5;

   Dat[3] := 6; Dat[4] := 8;

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

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

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

   Dat[11] := 8; Dat[12] := 7;

   m := Dat[1];

   month := 1;

   for k := 2 to 12 do

      if Dat[k] <= m then

       begin

          m := Dat[k];

          month := k;

       end;

   writeln(month);

End.

   алг

   нач

   целтаб Dat[1:12]

   цел k, m, month

   Dat[1] := 5

   Dat[2] := 5

   Dat[3] := 6

   Dat[4] := 8

   Dat[5] := 4

   Dat[6] := 5

   Dat[7] := 4

   Dat[8] := 7

   Dat[9] := 4

   Dat[10] := 4

   Dat[11] := 8

   Dat[12] := 7

   m := Dat[1]

   month := 1

   нц для k от 2 до 12

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

           m := Dat[k]

           month := k

       все

   кц

   вывод month

   кон

С++

#include <iostream>

using namespace std;

int main() {

    int Dat[12] = {5, 5, 6, 8, 4, 5, 4, 7, 4, 4, 8, 7};

    int m = Dat[0];

    int month = 1;

    for (int k = 1; k < 12; k++)

        if (Dat[k] <= m) {

            m = Dat[k];

            month = k + 1;

        }

    cout << month;

    return 0;

}

 

Решение.

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