Меню
Тесты
Тесты  /  Информатика  /  11 класс  /  Решение задания 22 ЕГЭ по информатике

Решение задания 22 ЕГЭ по информатике

Avatar
01.03.2022. Тест. Информатика, 11 класс
Внимание! Все тесты в этом разделе разработаны пользователями сайта для собственного использования. Администрация сайта не проверяет возможные ошибки, которые могут встретиться в тестах.
Проверка знаний по решению задания 22 компьютерного ЕГЭ по информатике

Список вопросов теста

Вопрос 1

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

Бейсик

Python

DIM X, A, B AS INTEGER

 INPUT X

 A=0: B=0

 WHILE X > 0

    A = A+1

    IF B < (X MOD 8) THEN

        B = X MOD 8

    END IF

    X = X \ 8

 WEND

 PRINT A

 PRINT B

x = int(input())

a = 0

b = 0

while x > 0:

    a += 1

    if b < (x % 8):

        b =x % 8

    x //=  8

print(a)

print(b)

Паскаль

Си++

var x, a, b: integer;

    begin

    readln(x);

    a:=0; b:=0;

    while x>0 do

    begin

        a:=a + 1;

        if b < (x mod 8)

        then

            b:=x mod 8;

        x:=x div 8;

    end;

    writeln(a); write(b);

end.

#include

using namespace std;

int main()

{

    int x, a, b;

    cin >> x;

    a=0; b=0;

    while (x>0){

        a = a+1;

        if (b < (x%8){

            b = x%8;

        }

        x = x/8;

    }

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

}

Вопрос 2

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

 

Бейсик

Python

DIM X, A, B AS INTEGER

 INPUT X

 A = 0: B = 1

 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, 1

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 := 1;

    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:=1

нц пока x > 0

    a := a+1

    b := b*mod(x,100)

    x := div(x,100)

кц

вывод a, нс, b

кон

Си++

#include

using namespace std;

int main()

{

    int x, a, b;

    cin >> x;

    a = 0; b = 1;

    while (x > 0) {

        a = a+1;

        b = b * (x%100);

        x = x/100;

    }

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

}

Вопрос 3

Ниже приведён алгоритм. Укажите наибольшее число x, при вводе которого алгоритм напечатает сначала 3, потом - 7.

 

Бейсик

Python

DIM X, L, M AS INTEGER

INPUT X

L = 0

M = 0

WHILE X > 0

    M = M + 1

    IF X MOD 2 <> 0 THEN

        L = L + 1

    END IF

    X = X \ 2

WEND

PRINT L

PRINT M

x = int(input())

M = 0

L = 0

while x > 0

    M = M + 1

    if x % 2 > 0:

        L = L + 1

    x = x // 2

print(L)

print(M)

Паскаль

C++

var x, L, M : longint;

begin

    readln(x);

    M := 0;

    L := 0;

    while x > 0 do begin

        M := M + 1;

        if x mod 2 > 0 then

            L := L + 1;

        x := x div 2;

    end;

    writeln(L);

    writeln(M);

end.      

#include

using namespace std;

int main() {

    int x, L, M ;

    cin >> x;

    M = 0;

    L = 0;

    while (x > 0) {

        M = M + 1;

        if(x % 2 > 0) {

            L = L + 1;

        }

        x = x / 2;       

    }

    cout << L << endl << M;

return 0;

}

Вопрос 4

Ниже приведён алгоритм. Укажите наибольшее число x, при вводе которого алгоритм напечатает сначала 3, потом 6.

 

Бейсик

Python

DIM X, L, M AS INTEGER

INPUT X

M = 0

L = 1

WHILE X > 0

    M = M + 1

    IF X MOD 2 = 0 THEN

        L = L * (X MOD 8)

    END IF

    X = X DIV 8

WEND

PRINT M

PRINT L

x = int(input())

M = 0

L = 1

while x > 0:

    M = M + 1

    if x % 2 = 0:

        L = L * (x % 8)

    x = x // 8

print(M)

print(L)

Паскаль

C++

var x, L, M : longint;

begin

  readln(x);

  M := 0;

  L := 1;

  while x > 0 do begin

     M := M + 1;

     if x mod 2 = 0 then

         L := L * (x mod 8);

     x := x div 8;

  end;

  writeln(M);

  writeln(L);

end.

#include

using namespace std;

int main() {

  int x, L, M;

  cin >> x;

  M = 0;

  L = 1;

  while (x > 0) {

    M = M + 1;

    if(x % 2 = 0) {

        L = L * (x % 8)     

    }

    x = x / 8;

  cout << M << endl << L;

  }

return 0;

}

Пройти тест
Сохранить у себя:

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт