Задания
Версия для печати и копирования в MS Word
Тип Д24 C1 № 6821
i

Тре­бо­ва­лось на­пи­сать про­грам­му, при вы­пол­не­нии ко­то­рой с кла­ви­а­ту­ры вво­дит­ся на­ту­раль­ное число N (га­ран­ти­ру­ет­ся, что 10 ≤ N ≤ 108) и вы­во­дит­ся дву­знач­ное число, об­ра­зо­ван­ное двумя его пер­вы­ми (стар­ши­ми) циф­ра­ми. На­при­мер, при N = 2014 надо вы­ве­сти 20. Уче­ник на­пи­сал такую про­грам­му:

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

DIM N AS LONG

INPUT N

WHILE N>100

N = N MOD 100

WEND

PRINT N

END

var n: longint;

begin

read(n);

while n>100 do begin

n := n mod 100

end;

write(n);

end.

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

#include <iostream>

using namespace std;

int main(){

long int n;

cin >> n;

while (n>100) {

n = n % 100;

}

cout << n;

}

алг

нач

цел n

ввод n

нц пока n>100

n := mod(n,100)

кц

вывод n

кон

Python

n = int(input())

while n > 100:

    n %= 10 0

print(n)

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

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

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

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко). Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде. Об­ра­ти­те вни­ма­ние: вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.

Спрятать решение

Ре­ше­ние.

1.  При вводе числа 2014 про­грам­ма вы­ве­дет число 14. (Ком­мен­та­рий. При­ведённая про­грам­ма вы­во­дит ответ 100 для N = 100 и число, об­ра­зо­ван­ное двумя по­след­ни­ми циф­ра­ми, для лю­бо­го дру­го­го зна­че­ния n.)

2.  При­мер числа, для ко­то­ро­го про­грам­ма даёт вер­ный ответ: 2020. (Ком­мен­та­рий Про­грам­ма даст вер­ный ответ для лю­бо­го числа, у ко­то­ро­го общее ко­ли­че­ство цифр чётно, при этом две пер­вые цифры сов­па­да­ют с двумя по­след­ни­ми, в част­но­сти, для лю­бо­го дву­знач­но­го числа.)

3.  1) Не­вер­ное усло­вие цикла: не­ра­вен­ство долж­но быть не­стро­гим, иначе можно в ка­че­стве от­ве­та по­лу­чить 100.

2)  Не­вер­но ре­а­ли­зо­ва­но от­бра­сы­ва­ние цифр. Во-пер­вых, вме­сто на­хож­де­ния остат­ка нужно ис­поль­зо­вать це­ло­чис­лен­ное де­ле­ние. Во-вто­рых, де­лить надо не на 100, а на 10, то есть от­бра­сы­вать цифры не по две, а по одной, иначе при нечётном ко­ли­че­стве цифр в числе по­лу­чит­ся не­вер­ный ответ.

 

При­мер ис­прав­ле­ния для языка Пас­каль:

Пер­вая стро­ка с ошиб­кой: while n>100 do begin. Ис­прав­лен­ная стро­ка: while n>=100 do begin. Дру­гой спо­соб ис­прав­ле­ния: while n>99 do begin.

Вто­рая стро­ка с ошиб­кой: n := n mod 100. Ис­прав­лен­ная стро­ка: n := n div 10.

В про­грам­мах на дру­гих язы­ках оши­боч­ные стро­ки и их ис­прав­ле­ния ана­ло­гич­ны.

Спрятать критерии
Критерии проверки:

Кри­те­рии оце­ни­ва­ния вы­пол­не­ния за­да­нияБаллы
Пра­виль­но вы­пол­не­ны все дей­ствия:

1) ука­зан вер­ный ре­зуль­тат для при­ведённого при­ме­ра вход­ных дан­ных;

2) дан при­мер числа, для ко­то­ро­го про­грам­ма с ошиб­ка­ми выдаёт тот же ре­зуль­тат, что и пра­виль­ная про­грам­ма;

3) ука­за­ны и ис­прав­ле­ны две ошиб­ки в про­грам­ме;

4) не ука­за­ны в ка­че­стве оши­боч­ных ни­ка­кие дру­гие стро­ки про­грам­мы.

3
Не вы­пол­не­ны усло­вия, поз­во­ля­ю­щие по­ста­вить 3 балла, и имеет место один из сле­ду­ю­щих слу­ча­ев:

1. Вы­пол­не­ны два пер­вых дей­ствия (вер­ный ре­зуль­тат при ука­зан­ных дан­ных, вер­ный при­мер числа, для ко­то­ро­го про­грам­ма выдаёт пра­виль­ный ре­зуль­тат), най­де­на и ис­прав­ле­на одна ошиб­ка в про­грам­ме, ни одна вер­ная стро­ка не на­зва­на оши­боч­ной.

2. Вы­пол­не­ны два пер­вых дей­ствия (вер­ный ре­зуль­тат при ука­зан­ных дан­ных, вер­ный при­мер числа, для ко­то­ро­го про­грам­ма выдаёт пра­виль­ный ре­зуль­тат), най­де­ны и ис­прав­ле­ны две ошиб­ки в про­грам­ме, одна вер­ная стро­ка на­зва­на оши­боч­ной.

3. Вы­пол­не­но одно из пер­вых двух дей­ствий (вер­ный ре­зуль­тат при ука­зан­ных дан­ных или вер­ный при­мер числа, для ко­то­ро­го про­грам­ма выдаёт пра­виль­ный ре­зуль­тат), най­де­ны и ис­прав­ле­ны две ошиб­ки в про­грам­ме, ни одна вер­ная стро­ка не на­зва­на оши­боч­ной.

 

2
Не вы­пол­не­ны усло­вия, поз­во­ля­ю­щие по­ста­вить 2 или 3 балла, и имеет место один из сле­ду­ю­щих слу­ча­ев:

1. Вы­пол­не­ны два пер­вых дей­ствия (вер­ный ре­зуль­тат при ука­зан­ных дан­ных, вер­ный при­мер числа, для ко­то­ро­го про­грам­ма выдаёт пра­виль­ный ре­зуль­тат). При этом не су­ще­ствен­но, на­сколь­ко пра­виль­но вы­пол­не­но тре­тье дей­ствие.

2. Най­де­ны и ис­прав­ле­ны две ошиб­ки в про­грам­ме, не более чем одна вер­ная стро­ка на­зва­на оши­боч­ной. При этом не су­ще­ствен­но, на­сколь­ко пра­виль­но вы­пол­не­ны пер­вое и вто­рое дей­ствия.

3. Най­де­на и ис­прав­ле­на одна ошиб­ка в про­грам­ме, ни одна вер­ная стро­ка не на­зва­на оши­боч­ной. При этом не су­ще­ствен­но, на­сколь­ко пра­виль­но вы­пол­не­ны пер­вое и вто­рое дей­ствия.

1
Не вы­пол­не­ны усло­вия, поз­во­ля­ю­щие по­ста­вить 1, 2 или 3 балла.0
Мак­си­маль­ный балл3

Аналоги к заданию № 6789: 6821 Все