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

Тре­бо­ва­лось на­пи­сать про­грам­му, при вы­пол­не­нии ко­то­рой с кла­ви­а­ту­ры счи­ты­ва­ет­ся на­ту­раль­ное число N, не пре­вос­хо­дя­щее 109, и вы­во­дит­ся мак­си­маль­ная цифра этого числа. Про­грам­мист то­ро­пил­ся и на­пи­сал про­грам­му не­пра­виль­но. (Ниже для Ва­ше­го удоб­ства про­грам­ма пред­став­ле­на на четырёх язы­ках про­грам­ми­ро­ва­ния.)

 

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

DIM N AS LONG

INPUT N

max_digit = 9

WHILE N >= 10

    digit = N MOD 10

    IF digit > max_digit THEN

        max_digit = digit

    END IF

    N = N \ 10

WEND

PRINT max_digit

END

var N: longint;

    digit, max_digit: integer;

begin

    readln(N);

    max_digit := 9;

    while N >= 10 do

    begin

        digit := N mod 10;

        if digit > max_digit then

            max_digit := digit;

        N := N div 10;

    end;

    writeln(max_digit);

end.

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

#include <iostream>

using namespace std;

int main()

{

    long int N;

    int digit, max_digit;

    cin >> N;

    max_digit = 9;

    while (N >= 10)

    {

        digit = N % 10;

        if (digit > max_digit)

            max_digit = digit;

        N = N /10;

    }

    cout « max_digit « endl;

}

алг

нач

    цел N, digit, max_digit

    ввод N

    max_digit := 9

    нц пока N >= 10

        digit := mod(N, 10)

        если digit > max_digit то

            max_digit := digit

        все

        N := div(N, 10)

    кц

    вывод max_digit

кон

Python

n = int(input())

max_digit = 9

while n >= 10:

    digit = n % 10

    if digit > max_digit:

        max_digit = digit

    n //= 10

print(max_digit)

 

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

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

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

1)  вы­пи­ши­те стро­ку, в ко­то­рой сде­ла­на ошиб­ка;

2)  ука­жи­те, как ис­пра­вить ошиб­ку,  — при­ве­ди­те пра­виль­ный ва­ри­ант стро­ки.

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

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

Ре­ше­ние.

Со­дер­жа­ние вер­но­го от­ве­та (до­пус­ка­ют­ся иные фор­му­ли­ров­ки от­ве­та, не ис­ка­жа­ю­щие его смыс­ла)

Ре­ше­ние ис­поль­зу­ет за­пись про­грам­мы на Пас­ка­ле. До­пус­ка­ет­ся ис­поль­зо­ва­ние про­грам­мы на трёх дру­гих язы­ках.

1.  Про­грам­ма вы­ве­дет число 9.

2.  Пер­вая ошиб­ка. Не­вер­ная ини­ци­а­ли­за­ция от­ве­та (пе­ре­мен­ная max_digit).

Стро­ка с ошиб­кой:

max_digit := 9;

Воз­мож­ные ва­ри­ан­ты ис­прав­ле­ния:

max_digit := 0;

Воз­мож­ны и дру­гие ис­прав­ле­ния ини­ци­а­ли­за­ции, на­при­мер на от­ри­ца­тель­ное число, в том числе -maxint.

3.  Вто­рая ошиб­ка. Не­вер­ное усло­вие про­дол­же­ния цикла.

Про­грам­ма не будет рас­смат­ри­вать стар­шую цифру числа.

Стро­ка с ошиб­кой:

while N >= 10 do

Воз­мож­ные ва­ри­ан­ты ис­прав­ле­ния:

while (N >= 1) do

или

while (N > 0) do

При этом за­ме­ны на

while (N > 1) do или while (N >= 0) do

кор­рект­ны­ми не яв­ля­ют­ся

 

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

Баллы за дан­ное за­да­ние на­чис­ля­ют­ся как сумма бал­лов за вер­ное вы­пол­не­ние каж­до­го дей­ствия (ниже ука­за­но, какое дей­ствие счи­та­ет­ся вы­пол­нен­ным).

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

2.  Ука­за­на и верно ис­прав­ле­на ошиб­ка ини­ци­а­ли­за­ции (не обя­за­тель­но с упо­ми­на­ни­ем этого тер­ми­на).

3.  Ука­за­но на не­вер­ное усло­вие про­дол­же­ния цикла, и оно ис­прав­ле­но на вер­ное.

Каж­дый из п. 2 и 3 счи­та­ет­ся вы­пол­нен­ным, если:

а)  пра­виль­но ука­за­на стро­ка с ошиб­кой;

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

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

Кри­те­рии оце­ни­ва­ния вы­пол­не­ния за­да­нияБаллы
Пра­виль­но вы­пол­не­ны все пунк­ты за­да­ния. Про­грам­ма после ис­прав­ле­ний для всех на­ту­раль­ных чисел N, не пре­вос­хо­дя­щих 109 верно опре­де­ля­ет мак­си­маль­ную цифру. В ра­бо­те (во фраг­мен­тах про­грамм) до­пус­ка­ет­ся на­ли­чие от­дель­ных син­так­си­че­ских оши­бок, не ис­ка­жа­ю­щих за­мыс­ла ав­то­ра ре­ше­ния3
1. Пра­виль­но вы­пол­не­ны два дей­ствия из трёх (ис­прав­ле­ны обе ошиб­ки, но в п. 1 за­да­ния ответ не­вер­ный или от­сут­ству­ет, или вы­пол­нен п. 1, и верно ис­прав­ле­на толь­ко одна ошиб­ка). Вер­ное ука­за­ние на ошиб­ку при её не­вер­ном ис­прав­ле­нии при этом не за­счи­ты­ва­ет­ся.

2. Или вы­пол­нен п. 1, а вме­сто ука­за­ния на ошиб­ки в про­грам­ме и их ис­прав­ле­ния при­ведён новый вер­ный текст ре­ше­ния, воз­мож­но, со­вер­шен­но не­по­хо­жий на ис­ход­ный.

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

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

Аналоги к заданию № 5500: 5852 5884 5948 ... Все

Источник: Де­мон­стра­ци­он­ная вер­сия ЕГЭ—2014 по ин­фор­ма­ти­ке.