понедельник, 15 марта 2021 г.

11 класс

 1. Ниже на пяти языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наименьшее из таких чисел x, при вводе которого алгоритм печатает сначала 2, а потом 13.

 

БейсикPython

DIM X, A, B AS INTEGER

INPUT X

A = 0: B = 0

WHILE X > 0

    A = A+1

    B = B + (X MOD 100)

    X = X/100

WEND

PRINT A

PRINT B

x = int(input())

a, b = 0, 0

while x > 0:

    a = a + 1

    b = b + x%100

    x = x//100

print(a)

print(b)

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

var x, a, b: integer;

begin

    readln(x);

    a := 0; b := 0;

    while x > 0 do

        begin

            a := a+1;

            b := b+(x mod 100);

            x := x div 100;

        end;

    writeln(a); write(b);

end.

алг

нач

цел x, a, b

ввод x

a:=0; b:=0

нц пока x > 0

    a := a+1

    b := b+mod(x,100)

    x := div(x,100)

кц

вывод a, нс, b

кон

Си++

#include <iostream>

using namespace std;

int main()

{

    int x, a, b;

    cin >> x;

    a = 0; b = 0;

    while (x > 0) {

        a = a+1;

        b = b + (x%100);

        x = x/100;

    }

    cout << a << endl << b << endl;

}

 

2. Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 48, а потом 6.

 

БейсикПаскаль

DIM X, A, B, C AS INTEGER

INPUT X

A = 1: B = 0

WHILE X > 0

  C = X MOD 10

  A = A * C

  IF C > B THEN B = C

  X = X \ 10

WEND

PRINT A

PRINT B

var x, a, b, c: integer;

begin

  readln(x);

  a := 1; b := 0;

  while x>0 do

  begin

    c := x mod 10;

    a := a*c;

    if c>b then b := c;

    x := x div 10;

  end;

  writeln(a); write(b);

end.

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

 

#include <iostream>

using namespace std;

int main()

{

  int x, a, b, c;

  cin >> x;

  a = 1; b = 0;

  while (x>0) {

    c = x%10;

    a = a*c;

    if (c>b)

      b = c;

    x = x/10;

  }

  cout << a << endl << b << endl;

}

алг

нач

  цел x, a, b, c

  ввод x

  a := 1; b := 0

  нц пока x>0

    c := mod(x,10)

    a := a*c

    если c>b

      то b := c

    все

    x := div(x,10)

  кц

  вывод a, нс, b

кон

Python

x = int(input())

a = 1

b = 0

while x > 0:

    c = x % 10

    a = a*c

    if c > b:

        b = c

    x //= 10

print(a)

print(b)

 

3. Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 12.

 

 

БейсикPython

DIM X, A, B AS INTEGER

INPUT X

A = 0: B = 1

WHILE X > 0

    IF X MOD 2 > 0 THEN

        A = A + X MOD 8

    ELSE

        B = B * X MOD 8

    END IF

    X = X \ 8

WEND

PRINT A

PRINT B

 

x = int(input())

a=0; b=1

while x > 0:

    if x%2 > 0:

        a += x%8

    else:

        b = b * (x%8)

    x = x//8

print(a, b)

 

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

var x, a, b: longint;

begin

    readln(x);

    a := 0; b := 1;

    while x > 0 do begin

        if x mod 2 > 0 then

            a := a + x mod 8

        else

            b := b * (x mod 8);

        x := x div 8;

    end;

    writeln(a); write(b);

end.

 

алг

нач

    цел x, a, b

    ввод x

    a := 0; b := 1

    нц пока x > 0

        если mod(x,2)>0

            то a := a + mod(x,8)

            иначе b := b*mod(x,8)

        все x := div(x,8)

    кц

    вывод a, нс, b

кон

 

С++

#include <iostream>

using namespace std;

int main()

{

    int x, a, b;

    cin >> x;

    a = 0; b = 1;

    while (x > 0) {

        if (x%2 > 0)

            a += x%8;

        else

            b *= x%8;

        x = x / 8;

    }

    cout << a << endl << b << endl;

    return 0;

}

 

 

4. Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 3, а потом 5

 

БейсикPython

DIM X, L, M, Q AS INTEGER

INPUT X

Q = 6

L = 0

WHILE X >= Q

    L = L + 1

    X = X - Q

WEND

M = X

IF M < L THEN

    M = L

    L = X

ENDIF

PRINT L

PRINT M

x = int(input())

Q = 6

L = 0

while x >= Q:

    L = L + 1

    x = x - Q

M = x

if M < L:

    M = L

    L = x

print(L)

print(M)

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

var x, L, M, Q: integer;

begin

    readln(x);

    Q := 6;

    L := 0;

    while x >= Q do

    begin

        L := L + 1;

        x := x - Q;

    end;

    M := x;

    if M < L then

    begin

        M := L;

        L := x;

    end;

    writeln(L);

    writeln(M);

end.

алг

нач

    цел x, L, M, Q

    ввод x

    Q := 6

    L := 0

    нц пока x >= Q

        L := L + 1

        x := x - Q

    кц

    M := x

    если M < L

        то

            M := L

            L := x

    все

    вывод L, нс, M

кон

Си++

#include <iostream>

using namespace std;

int main()

{

    int x, L, M, Q;

    cin >> x;

    Q = 6;

    L = 0;

    while (x >= Q){

        L = L + 1;

        x = x - Q;

    }

    M = x;

    if(M < L){

        M = L;

        L = x;

    }

    cout << L << endl << M << endl;

}

 

5. Ниже записана программа. Получив на вход число x , эта программа печатает два числа, L и M. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 8.

 

 

БейсикPython

DIM X, L, M AS INTEGER

INPUT X

L = 0

M = 0

WHILE X > 0

L = L + 1

IF M < x AND x mod 2 = 0 THEN

     M = x mod 10

ENDIF

x = x \ 10

PRINT L

PRINT M

x = int(input())

L = 0

M = 0

while x > 0:

    L = L + 1

    if M < x and x % 2 == 0:

        M = x % 10

    x = x // 10

print(L)

print(M)

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

var x, L, M: integer;

begin

    readln(x);

    L := 0;

    M := 0;

    while x > 0 do

    begin

        L := L + 1;

        if (M < x) and (x mod 2 = 0) then

            M:=x mod 10;

        x := x div 10;

    end;

    writeln(L);

    writeln(M);

end.

алг

нач

    цел x, L, M

    ввод x

    L := 0

    M := 0

    нц пока x > 0

        L := L + 1

        если M < x и mod(x,2) = 0 то

            M := mod(x,10)

        все

        x := div(x,10)

    кц

    вывод L, нс, M

кон

Си++

 

#include <iostream>

using namespace std;

int main()

{

    int x, L, M;

    cin >> x;

    L = 0;

    M = 0;

    while (x > 0){

        L = L + 1;

        if(M < x && x % 2 == 0){

            M = x % 10;

        }

        x = x / 10;

    }

    cout << L << endl << M << endl;

}

 

Комментариев нет:

Отправить комментарий