№№ заданий Пояснения Ответы Ключ Добавить инструкцию Критерии
Источник Раздел кодификатора ФИ­ПИ
PDF-версия PDF-версия (вертикальная) PDF-версия (крупный шрифт) PDF-версия (с большим полем) Версия для копирования в MS Word
Задания
Задания Д9 № 411

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

 

БейсикPython

DIM Dat(12) AS INTEGER

DIM k, m, month AS INTEGER

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

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

Dat(5) = 8: Dat(6) = 5

Dat(7) = 3: 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 = [2, 5, 6, 8, 8, 5, 3, 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] := 2; Dat[2] := 5;

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

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

   Dat[7] := 3; 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] := 2

   Dat[2] := 5

   Dat[3] := 6

   Dat[4] := 8

   Dat[5] := 8

   Dat[6] := 5

   Dat[7] := 3

   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] = {2, 5, 6, 8, 8, 5, 3, 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;

}

 

Решение.

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