Версия для копирования в MS Word
PDF-версии: горизонтальная · вертикальная · крупный шрифт · с большим полем
РЕШУ ЕГЭ — информатика
Задания
i

Уче­ник на­пи­сал про­грам­му, опре­де­ля­ю­щую, какой сте­пе­нью числа 4 яв­ля­ет­ся вве­ден­ное. На­при­мер, для 16 это 2, так как 42  =  16. Если же такой сте­пе­ни нет, то не­об­хо­ди­мо вы­ве­сти со­об­ще­ние "Не су­ще­ству­ет". К со­жа­ле­нию, уче­ник на­пи­сал про­грам­му не­вер­но.

 

Бей­сикPython

DIM N, K AS INTEGER

INPUT N

K = 0

WHILE K MOD 4 = 0

    N = N \ 4

    K = K + 1

WEND

IF N <= 4 THEN

    PRINT K

ELSE

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

END IF

END

n = int(input())

k = 0

while k%4 == 0:

    n = n // 4

    k = k + 1

if n <= 4:

    print(k)

else:

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

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

var n, k: integer;

begin

    read(n);

    k := 0;

    while k mod 4 = 0 do begin

        n := n div 4;

        k := k + 1;

    end;

    if n <= 4 then

        writeln(k)

    else

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

end.

алг

нач

    цел n, k

    ввод n

    k := 0

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

        n := div(n,4)

        k := k + 1

    кц

    если n <= 4

        то вывод k

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

    все

кон

Си++

#include <iostream>

using namespace std;

int main(){

    int n, k;

    cin >> n;

    k = 0;

    while (k%4 == 0) {

        n = n / 4;

        k = k + 1;

    }

    if (n <= 4)

        cout « k « endl;

    else

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

    return 0;

}

 

 

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

 

1.  Что вы­даст про­грам­ма при вводе числа 64?

2.  При вводе ка­ко­го числа про­грам­ма вы­даст вер­ный ответ? Ука­жи­те этот ответ.

3.  Ис­правь­те про­грам­му. За­пи­ши­те оши­боч­ную стро­ку, затем ис­прав­лен­ный ва­ри­ант. Пом­ни­те, что нужно ис­пра­вить име­ю­щу­ю­ся про­грам­му, а не пи­сать свою, хоть и с луч­шим ал­го­рит­мом.