СДАМ ГИА: РЕШУ ЕГЭ
Образовательный портал для подготовки к экзаменам
Информатика
≡ информатика
сайты - меню - вход - новости




Задания
Версия для печати и копирования в MS Word
Задание 24 № 11329

Дано целое положительное число N, не превосходящее 1000. Необходимо определить, является ли это число степенью числа 4. То есть требуется определить, существует ли такое целое число К, что 4K = N, и вывести это число либо сообщение, что такого числа не существует. Для решения этой задачи ученик написал программу, но, к сожалению, его программа оказалась неверной.

 

 

БейсикPython

DIM N, K AS INTEGER

INPUT N

K = 0

WHILE N MOD 4 = 0

    K = K + (n \ 4)

    N = n div 4

WEND

IF N <= 4 THEN

    PRINT K

ELSE

    PRINT "Не существует"

END IF

END

n = int(input())

k = 0

while n%4 == 0:

    k = k + (n // 4)

    n = n // 4

if n <= 4:

    print(k)

else:

    print("Не существует")

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

var n, k: integer;

begin

    read(n);

    k := 0;

    while n mod 4 = 0 do begin

        k := k + n div 4;

        n := n div 4;

    end;

    if n <= 4 then

        writeln(k)

    else

        writeln('Не существует')

end.

алг

нач

    цел n, k

    ввод n

    k := 0

    нц пока mod(n, 4)=0

        k := k + div(n, 4)

        n := div(n,4)

    кц

    если n <= 4

        то вывод k

        иначе вывод "Не существует"

    все

кон

Си++

#include <iostream>

using namespace std;

int main(){

    int n, k;

    cin >> n;

    k = 0;

    while (n%4 == 0) {

        k = k + n / 4;

        n = n / 4;

    }

    if (n <= 4)

        cout « k « endl;

    else

        cout << "Не существует";

    return 0;

}

 

 

 

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе числа 16.

2. Приведите пример числа, при вводе которого приведённая программа напечатает то, что требуется.

3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.

Решение.

1) Выведет 5.

2) 4

3) Ошибочно k:= k + n div 4;

исправлено k:= k + 1

ошибочно if n <= 4 then

исправлено if n = 1 then

Источник: ЕГЭ 16.06.2016 по информатике. Основная волна. Вариант 77 (Часть С)