СДАМ ГИА






Каталог заданий. Последовательности чисел
Пройти тестирование по этим заданиям
Вернуться к каталогу заданий
Версия для печати и копирования в MS Word
1
Задание 24 № 8672

На об­ра­бот­ку по­сту­па­ет по­сле­до­ва­тель­ность из четырёх целых чисел. Нужно на­пи­сать программу, ко­то­рая вы­во­дит на экран ко­ли­че­ство не­от­ри­ца­тель­ных чисел по­сле­до­ва­тель­но­сти и их произведение. Если не­от­ри­ца­тель­ных чисел нет, тре­бу­ет­ся вы­ве­сти на экран «NO». Известно, что вво­ди­мые числа по аб­со­лют­ной ве­ли­чи­не не пре­вы­ша­ют 10. Про­грам­мист на­пи­сал про­грам­му неправильно. Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках программирования.

 

Бейсик Python

count = 0

p = 0

FOR I = 1 TO 4

    INPUT x

    IF x >= 0 THEN

        p = p*x

        count = count + 1

    END IF

NEXT I

IF count > 0 THEN

    PRINT x

    PRINT p

ELSE

    PRINT "NO"

END IF

count = 0

p = 0

for i in range(1, 5):

    x = int(input())

    if x >= 0:

    p = p*x

    count = count + 1

if count > 0:

    print(x)

    print(p)

else:

    print("NO")

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

алг

нач

    цел p,i,x,count

    count := 0

    p := 0

    нц для i от 1 до 4

        ввод x

        если x >= 0 то

            p := p*x

            count := count+1

        все

    кц

    если count > 0 то

        вывод x, нс

        вывод p

    иначе

        вывод "NO"

    все

кон

var p,i,x,count: integer;

begin

    count := 0;

    p := 0;

    for i := 1 to 4 do

    begin

        read (x);

        if x >= 0 then begin

            p := p*x;

            count := count+1

        end

    end;

    if count > 0 then

    begin

        writeln(х);

        writeln(p);

    end

    else

        writeln('NO')

end.

Си

#include <stdio.h>

void main(void)

{

    int p, i, x, count;

    count = 0;

    p = 0;

    for (i = 1; i <= 4; i++)

    {

        scanf("%d",&x);

        if (x >= 0)

        {

            p = p*x;

            count = count+1;

        }

    }

    if (count > 0)

    {

        printf("%d\n", x);

        printf("%d\n", p);

    }

    else

        printf("NO\n");

    }

 

 

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

1. Напишите, что вы­ве­дет эта про­грам­ма при вводе по­сле­до­ва­тель­но­сти -5 2 1 3.

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

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

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

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

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

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

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

Источник: СтатГрад: Ре­пе­ти­ци­он­ная ра­бо­та по ин­фор­ма­ти­ке 01.04.2015 ИН10701
Пояснение · ·

2
Задание 24 № 9176

На об­ра­бот­ку по­сту­па­ет по­сле­до­ва­тель­ность из четырёх целых чисел. Нужно на­пи­сать программу, ко­то­рая вы­во­дит на экран сумму всех от­ри­ца­тель­ных чисел по­сле­до­ва­тель­но­сти и мак­си­маль­ное число в последовательности.

Известно, что вво­ди­мые числа по аб­со­лют­ной ве­ли­чи­не не пре­вы­ша­ют 1000. Про­грам­мист на­пи­сал про­грам­му неправильно. Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках программирования.

 

Бейсик Python

mx = 0

s = 0

FOR I = 1 TO 4

    INPUT x

    IF x < 0 THEN

        s = x

    END IF

    IF x > mx THEN

        mx = x

    END IF

NEXT I

PRINT s

PRINT mx

mx = 0

s = 0

for i in range(1, 5):

    x = int(input())

    if x < 0:

        s = x

    if x > mx:

        mx = x

print(s)

print(mx)

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

алг

нач

    цел s,i,x,mx

    mx := 0

    s := 0

    нц для i от 1 до 4

        ввод x

        если x < 0 то

            s := x

        все

        если x > mx то

            mx := x

        все

    кц

вывод s, нс

вывод mx

кон

var s,i,x,mx: integer;

begin

    mx := 0;

    s := 0;

    for i := 1 to 4 do

    begin

        read (x);

        if x < 0 then

            s := x;

        if x > mx then

            mx := x;

    end;

    writeln(s);

    writeln(mx)

end.

Си

#include <stdio.h>

void main(void)

{

    int s, i, x, mx;

    mx = 0;

    s = 0;

    for (i = 1; i <= 4; i++)

    {

        scanf("%d",&x);

        if (x < 0)

        {

            s = x;

        }

        if (x > mx)

        {

            mx = x;

        }

    }

    printf("%d\n", s);

    printf("%d\n", mx);

}

 

 

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

1. Напишите, что вы­ве­дет эта про­грам­ма при вводе по­сле­до­ва­тель­но­сти -5 2 -4 3.

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

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

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

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

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

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

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

Источник: СтатГрад: Ре­пе­ти­ци­он­ная работа по информатике 01.04.2015 ИН10702

3
Задание 24 № 6903

Требовалось на­пи­сать программу, при вы­пол­не­нии ко­то­рой с кла­ви­а­ту­ры вво­дит­ся по­сле­до­ва­тель­ность из шести не­от­ри­ца­тель­ных целых чисел, не пре­вы­ша­ю­щих 106, под­счи­ты­ва­ет­ся и вы­во­дит­ся сумма введённых чётных чисел или 0, если чётных чисел в по­сле­до­ва­тель­но­сти нет. Уче­ник на­пи­сал такую программу:

 

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

DIM N, S AS LONG

DIM I AS INTEGER

S = 1

FOR I = 1 TO 6

INPUT N

IF I MOD 2 = 0 THEN

S = S + N

END IF

NEXT I

PRINT S

END

var n, s: longint;

i: integer;

begin

s:=1;

for i:=1 to 6 do begin

readln(n);

if i mod 2 = 0 then

s := s + n;

end;

write(s);

end.

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

#include <stdio.h>

void main(){

long int n, s;

int i;

s = 1;

for (i=1; i<=6; ++i) {

scanf("%ld",&n);

if (i%2 == 0)

s = s + n;

}

printf("%ld", s);

}

алг

нач

цел n, s

цел i

s := 1

нц для i от 1 до 6

ввод n

если mod(i,2) = 0

то s := s + n

все

кц

вывод s

кон

 

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

1. Напишите, что вы­ве­дет эта про­грам­ма при вводе по­сле­до­ва­тель­но­сти 1, 1, 2, 3, 5, 8.

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

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

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

Источник: МИОО: Ди­а­гно­сти­че­ская работа по ин­фор­ма­ти­ке 11.12.2013 ва­ри­ант ИНФ10301.

4
Задание 24 № 7469

На об­ра­бот­ку по­сту­па­ет по­сле­до­ва­тель­ность из четырёх не­от­ри­ца­тель­ных целых чисел (некоторые числа могут быть одинаковыми). Нужно на­пи­сать программу, ко­то­рая вы­во­дит на экран ко­ли­че­ство нечётных чисел в ис­ход­ной по­сле­до­ва­тель­но­сти и мак­си­маль­ное нечётное число. Если нечётных чисел нет, тре­бу­ет­ся на экран вы­ве­сти «NO». Известно, что вво­ди­мые числа не пре­вы­ша­ют 1000. Про­грам­мист на­пи­сал про­грам­му неправильно. Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках программирования.

 

 

БейсикPython

CONST n = 4

count = 0

maximum = 999

FOR I = 1 TO n

INPUT x

IF x mod 2 <> 0 THEN

count = count + 1

IF x > maximum THEN

maximum = I

END IF

END IF

NEXT I

IF count > 0 THEN

PRINT count

PRINT maximum

ELSE

PRINT "NO"

END IF

n = 4

count = 0

maximum = 999

for i in range(1, n + 1):

    x = int(input())

    if x % 2 != 0:

        count += 1

        if x > maximum:

            maximum = i

if count > 0:

    print(count)

    print(maximum)

else:

    print("NO")

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

const n = 4;

var i, x: integer;

var maximum, count: integer;

begin

count := 0;

maximum := 999;

for i := 1 to n do

begin

read(x);

if x mod 2 <> 0 then

begin

count := count + 1;

if x > maximum then

maximum := i

end

end;

if count > 0 then

begin

writeln(count);

writeln(maximum)

end

else

writeln('NO')

end.

алг

нач

цел n = 4

цел i, x

цел maximum, count

count := 0

maximum := 999

нц для i от 1 до n

ввод x

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

count := count + 1

если x > maximum то

maximum := i

все

все

кц

если count > 0 то

вывод count, нс

вывод maximum

иначе

вывод "NO"

все

кон

Си

#include

int main(void)

{

const int n = 4;

int i, x, maximum, count;

count = 0;

maximum = 999;

for (i = 1; i <= n; i++) {

scanf("%d",&x);

if (x % 2 != 0) {

count++;

if (x > maximum)

maximum = i;

}

}

if (count > 0) {

printf("%d\n", count);

printf("%d\n", maximum);

}

else

printf("NO\n");

}

 

 

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

1. Напишите, что вы­ве­дет эта про­грам­ма при вводе последовательности: 2 9 4 3

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

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

 

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

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

 

 

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

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

5
Задание 24 № 11125

На об­ра­бот­ку поступает по­сле­до­ва­тель­ность из четырёх не­от­ри­ца­тель­ных целых чисел (некоторые числа могут быть одинаковыми). Нужно на­пи­сать программу, ко­то­рая выводит на экран ко­ли­че­ство чётных чисел в ис­ход­ной последовательности и мак­си­маль­ное чётное число. Если чётных чисел нет, тре­бу­ет­ся на экран вы­ве­сти «NO». Известно, что вво­ди­мые числа не пре­вы­ша­ют 1000. Про­грам­мист написал про­грам­му неправильно. Ниже эта на­пи­сан­ная им про­грам­ма для Ва­ше­го удобства при­ве­де­на на пяти язы­ках программирования.

 

 

БейсикPython

CONST n = 4

count = 0

maximum = 1000

FOR I = 1 TO n

  INPUT x

    IF x mod 2 = 0 THEN

      count = count + 1

    IF x > maximum THEN

      maximum = I

    END IF

  END IF

NEXT I

IF count > 0 THEN

  PRINT count

  PRINT maximum

ELSE

  PRINT "NO"

END IF

n = 4

count = 0

maximum = 1000

for i in range (1, n+1):

    x = int(input())

    if x % 2 == 0:

        count += 1

        if x > maximum:

            maximum = i

if count > 0:

    print (count)

    print (maximum)

else:

    print ("NO")

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

алг

нач

  цел n = 4

  цел i, x

  цел maximum, count

  count := 0

  maximum := 1000

  нц для i от 1 до n

    ввод x

    если mod(x, 2) = 0 то

      count := count + 1

      если x > maximum то

        maximum := i

      все

    все

  кц

  если count > 0 то

    вывод count, нс

в    ывод maximum

  иначе

    вывод "NO"

  все

кон

const n = 4;

var i, x: integer;

var maximum, count: integer;

begin

  count := 0;

  maximum := 1000;

  for i := 1 to n do

  begin

    read(x);

    if x mod 2 = 0 then

    begin

      count := count + 1;

      if x > maximum then

          maximum := i

    end

  end;

  if count > 0 then

  begin

    writeln(count);

    writeln(maximum)

  end

  else

    writeln('NO')

end.

Си

#include <stdio.h>

#define n 4

void main(void)

{

  int i, x;

  int maximum, count;

  count = 0;

  maximum = 1000;

  for (i = 1; i <= n; i++)

  {

    scanf("%d",&x);

    if (x % 2 == 0)

    {

      count++;

      if (x > maximum)

        maximum = i;

    }

  }

  if (count > 0)

  {

    printf("%d\n", count);

    printf("%d\n", maximum);

  }

  else

    printf("NO\n");

}

 

 

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

1. Напишите, что вы­ве­дет эта про­грам­ма при вводе последовательности: 2 9 4 3

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

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

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

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

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

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

 

Примечание. 0 – чётное число.

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

Пройти тестирование по этим заданиям



     О проекте · Редакция

© Гущин Д. Д., 2011—2017


СПб ГУТ! С! Ф! У!