Вход   →

Задание 20 :: Информатика

Анализ программы, содержащей циклы и ветвления

За правильное выполненное задание получишь 1 балл. На решение отводится примерно 5 минут.

Задачи для тренировки

  1.   Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наименьшее число x, при вводе которого алгоритм печатает сначала 5, а потом 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())

    L = 0

    M = 0

    while x > 0:

         M = M + 1

         if x % 2 != 0:

          L = L + 1

         x = x // 2

    print(L)

    print(M)

     

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

    var x, L, M: integer;

    begin

         readln(x);

         L := 0;

         M := 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.

    алг

    нач

         цел x, L, M

         ввод x

         L := 0

         M := 0

        нц пока x > 0

            M := M + 1

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

                то

                 L := L + 1

            все

            x := div(x,2)

         кц

         вывод L, нс, M

    кон

    С++

    #include <iostream>

    using namespace std;

    int main(){

         int x, L, M;

         cin >> x;

         L = 0;

         M = 0;

         while (x > 0) {

              M = M + 1;

              if(x % 2 != 0) 

                 L = L + 1;

              x = x / 2; }

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

            return 0;}


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

    Бейсик Python

    DIM X, L, M AS INTEGER

    INPUT X

    L = 0

    M = 0

    WHILE X > 0

        M = M + 1

         IF X MOD 3 <> 0 THEN

          L = L + 1

         END IF

    X = X \ 3

    WEND

    PRINT L

    PRINT M

    x = int(input())

    L = 0

    M = 0

    while x > 0:

         M = M + 1

         if x % 3 != 0:

          L = L + 1

         x = x // 3

    print(L)

    print(M)

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

    var x, L, M: integer;

    begin

         readln(x);

         L := 0;

         M := 0;

         while x>0 do

        begin

              M := M + 1;

              if x mod 3 <> 0 then

                L := L + 1;

              x := x div 3;

        end;

        writeln(L)

        writeln(M)

    end.

    алг

    нач

         цел x, L, M

         ввод x

         L := 0

         M := 0

        нц пока x > 0

            M := M + 1

             если mod(x,3) <> 0

                то

                 L := L + 1

            все

            x := div(x,3)

         кц

         вывод L, нс, M

    кон

    С++

    #include <iostream>

    using namespace std;

    int main(){

         int x, L, M;

         cin >> x;

         L = 0;

         M = 0;

         while (x > 0) {

              M = M + 1;

              if(x % 3 != 0) 

                 L = L + 1;

              x = x / 3;

            }

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

            return 0;}


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

    Бейсик Python

    DIM X, L, M AS INTEGER

    INPUT X

    L = 0

    M = 0

    WHILE X > 0

        M = M + 1

          L = L + X MOD 2

         END IF

    X = X \ 2

    WEND

    PRINT L

    PRINT M

    x = int(input())

    L = 0

    M = 0

    while x > 0:

         M = M + 1

          L = L + x % 2

         x = x // 2

    print(L)

    print(M)

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

    var x, L, M: integer;

    begin

         readln(x);

         L := 0;

         M := 0;

         while x>0 do

        begin

              M := M + 1;

                L := L + x mod 2;

              x := x div 2;

        end;

        writeln(L)

        writeln(M)

    end.

    алг

    нач

         цел x, L, M

         ввод x

         L := 0

         M := 0

        нц пока x > 0

            M := M + 1

             L := L + mod(x,2)

             x := div(x,2)

         кц

         вывод L, нс, M

    кон

    С++

    #include <iostream>

    using namespace std;

     

    int main(){

         int x, L, M;

         cin >> x;

         L = 0;

         M = 0;

         while (x > 0) {

              M = M + 1;

              L = L + x % 2;

              x = x / 2;

            }

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

            return 0;}


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

    Бейсик Python

    DIM X, L, M AS INTEGER

    INPUT X

    L = 0

    M = 0

    WHILE X > 0

        M = M + 1

          L = L + X MOD 2

         END IF

    X = X \ 2

    WEND

    PRINT L

    PRINT M

    x = int(input())

    L = 0

    M = 0

    while x > 0:

         M = M + 1

          L = L + x % 2

         x = x // 2

    print(L)

    print(M)

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

    var x, L, M: integer;

    begin

         readln(x);

         L := 0;

         M := 0;

         while x>0 do

        begin

              M := M + 1;

                L := L + x mod 2;

              x := x div 2;

        end;

        writeln(L)

        writeln(M)

    end.

    алг

    нач

         цел x, L, M

         ввод x

         L := 0

         M := 0

        нц пока x > 0

            M := M + 1

             L := L + mod(x,2)

             x := div(x,2)

         кц

         вывод L, нс, M

    кон

    С++

    #include <iostream>

    using namespace std;

     

    int main(){

         int x, L, M;

         cin >> x;

         L = 0;

         M = 0;

         while (x > 0) {

              M = M + 1;

              L = L + x % 2;

              x = x / 2;

            }

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

            return 0;}


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

    Бейсик Python

    DIM X, L, M AS INTEGER

    INPUT X

    L = 0

    M = 0

    WHILE X > 0

        M = M + 1

          L = L + X MOD 2

         END IF

    X = X \ 2

    WEND

    PRINT L

    PRINT M

    x = int(input())

    L = 0

    M = 0

    while x > 0:

         M = M + 1

          L = L + x % 2

         x = x // 2

    print(L)

    print(M)

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

    var x, L, M: integer;

    begin

         readln(x);

         L := 0;

         M := 0;

         while x>0 do

        begin

              M := M + 1;

                L := L + x mod 2;

              x := x div 2;

        end;

        writeln(L)

        writeln(M)

    end.

    алг

    нач

         цел x, L, M

         ввод x

         L := 0

         M := 0

        нц пока x > 0

            M := M + 1

             L := L + mod(x,2)

             x := div(x,2)

         кц

         вывод L, нс, M

    кон

    С++

    #include <iostream>

    using namespace std;

     

    int main(){

         int x, L, M;

         cin >> x;

         L = 0;

         M = 0;

         while (x > 0) {

              M = M + 1;

              L = L + x % 2;

              x = x / 2;

            }

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

            return 0;}


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

     

    Бейсик Python

    DIM X, L, M AS INTEGER

    INPUT X

    L = 1

    M = 0

    WHILE X > 0

        M = M + 1

         IF X MOD 2 <> 0 THEN

          L = L * (X MOD 8)

         END IF

    X = X \ 8

    WEND

    PRINT L

    PRINT M

     

    x = int(input())

    L = 1

    M = 0

    while x > 0:

         M = M + 1

         if x % 2 != 0:

          L = L * (x % 8)

         x = x // 8

    print(L)

    print(M)

     

     

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

    var x, L, M: integer;

    begin

         readln(x);

         L := 1;

         M := 0;

         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(L)

        writeln(M)

    end.

     

    алг

    нач

         цел x, L, M

         ввод x

         L := 1

         M := 0

        нц пока x > 0

            M := M + 1

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

                то

                 L := L * mod(x,8)

            все

            x := div(x,8)

         кц

         вывод L, нс, M

    кон

     

    Си++

    #include <iostream>

    using namespace std;

     

    int main(){

         int x, L, M;

         cin >> x;

         L = 1;

         M = 0;

         while (x > 0) {

              M = M + 1;

              if(x % 2 != 0) {

                 L = L * (x % 8);

              }

              x = x / 8;

            }

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

            return 0;

    }


    Решение
    Авторизуйтесь, чтобы увидеть решение.
Пройти тест
Задание 1. Системы счисления и операции над числами в разных системах счисления Задание 2. Построение и анализ таблиц истинности логических выражений Задание 3. Анализ информационных моделей (таблицы, диаграммы, графики) Задание 4. Поиск информации в базах данных. Файловая система Задание 5. Кодирование и декодирование информации Задание 6. Выполнение, анализ и поиск алгоритмов Задание 7. Электронные таблицы, диаграммы и графики Задание 8. Анализ программ Задание 9. Кодирование и декодирование информации. Передача информации Задание 10. Перебор слов и системы счисления Задание 11. Рекурсивные алгоритмы Задание 12. Компьютерные сети. Адресация в Интернете Задание 13. Вычисление количества информации Задание 14. Выполнение алгоритмов для исполнителя Задание 15. Графы. Поиск количества путей Задание 16. Кодирование чисел. Системы счисления Задание 17. Составление запросов для поисковых систем с использованием логических выражений Задание 18. Преобразование логических выражений Задание 19. Работа с массивами и матрицами в языке программирования Задание 20. Анализ программы, содержащей циклы и ветвления Задание 21. Анализ программы с подпрограммами Задание 22. Оператор присваивания и ветвления. Перебор вариантов Задание 23. Логические уравнения Задание 24. Поиск и исправление ошибок в программе Задание 25. Алгоритмы обработки массивов Задание 26. Выигрышная стратегия Задание 27. Обработка символьных строк, массивов и последовательностей

Еще нет аккаунта?

Пользователям Бингоскул доступна бесплатная подготовка к ЕГЭ по всем видам ФИПИ, просмотр решений и отслеживание статистики
Регистрация

Уже зарегистрированы?

Авторизуйтесь в своей учетной записи, чтобы получить доступ к расширенным возможностям функционала сайта
Вход

Вход в систему

Регистрация

Регистрируясь, я подтверждаю своё согласие с условиями пользовательского соглашения

Активация аккаунта

Спасибо за регистрацию
Мы отправили письмо на указанный электронный адрес.
Чтобы завершить регистрацию, проверьте почтовый ящик и перейдите по ссылке в письме.