Информатика (Циклический алгоритм обработки массива чисел, записанный на алгоритмическом языке)


1
2
3
4
5
6
7
8
9
10
  • 1
  • 2

Вопрос 10

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

 

 

 

БейсикPython
DIM Dat(8) AS INTEGER
 DIM k, m, term AS INTEGER
 Dat(1) = 7: Dat(2) = 7
 Dat(3) = 6: Dat(4) = 8
 Dat(5) = 4: Dat(6) = 5
 Dat(7) = 8: Dat(8) = 7
 m = Dat(1); term = 1
 FOR k = 2 TO 8
 IF Dat(k) > m THEN
 m = Dat(k)
 term = k
 ENDIF
 NEXT k
 PRINT term

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

m = Dat[0]

term = 1

for k in range(1, 8):

    if Dat[k] > m:

        m = Dat[k]

        term = k + 1

print (term)

 

 

ПаскальАлгоритмический язык
Var k, m, term: integer;
 Dat: array[1..8] of integer;
 Begin
    Dat[1] := 7; Dat[2] := 7;
    Dat[3] := 6; Dat[4] := 8;
    Dat[5] := 4; Dat[6] := 5;
    Dat[7] := 8; Dat[8] := 7;
    m := Dat[1];
    term := 1;
    for k := 2 to 8 do
       if Dat[k] > m then
        begin
           m := Dat[k];
           term := k;
       end;
    writeln(term);
 End.
   алг
    нач
    цел­таб Dat[1:8]
    цел k, m, term
    Dat[1] := 7
    Dat[2] := 7
    Dat[3] := 6
    Dat[4] := 8
    Dat[5] := 4
    Dat[6] := 5
    Dat[7] := 8
    Dat[8] := 7
    m := Dat[1]
    term := 1
    нц для k от 2 до 8
         если Dat[k] > m то
            m := Dat[k]
            term := k
        все
    кц
    вывод term
    кон
С++
#include <iostream>
using namespacestd;
int main() {
    int Dat[8] = {7, 7, 6, 8, 4, 5, 8, 7};
    int m = Dat[0];
    int term = 1
    for (int k = 1; k < 8; k++)
        if (Dat[k] > m) {
            m = Dat[k];
            term = k + 1;
        }
    cout << term;
    return 0;
}