СДАМ ГИА






Каталог заданий. Алгоритмы, печатающие числа, наибольшее значение вводимого числа
Пройти тестирование по этим заданиям
Вернуться к каталогу заданий
Версия для печати и копирования в MS Word
1
Задание 20 № 3209

Ниже записана программа. Получив на вход число x , эта программа печатает два числа, L и M. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 7.

 

var x, L, M: integer;

begin

    readln(x);

    L:=0; M:=0;

    while x > 0 do begin

        L:= L + 1;

        if x mod 2 = 0 then

            M:= M + (x mod 10) div 2;

        x:= x div 10;

    end;

    writeln(L); write(M);

end.


2
Задание 20 № 7792

Ниже на пяти язы­ках про­грам­ми­ро­ва­ния за­пи­сан алгоритм. По­лу­чив на вход число x, этот ал­го­ритм пе­ча­та­ет числа: a и b. Ука­жи­те наи­боль­шее че­ты­рех­знач­ное число x, при вводе ко­то­ро­го ал­го­ритм пе­ча­та­ет сна­ча­ла 5, а потом 7.

 

БейсикPython

DIM X, Y, A, B AS INTEGER

A = 10

B = 0

INPUT X

WHILE X > 0

    Y = X MOD 10

    X = X \ 10

    IF Y < A THEN A = Y

    IF Y > B THEN B = Y

WEND

PRINT A

PRINT B

a = 10

b = 0

x = int(input())

while x > 0:

    y = x % 10

    x = x // 10

    if y < a:

        a = y

    if y > b:

        b = y

print(a)

print(b)

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

var x, y, a, b: integer;

begin

    a := 10;

    b := 0;

    readln(x);

    while x > 0 do

        begin

            y := x mod 10;

            x := x div 10

            if y < a then

                a := y;

            if y > b then

                b := y;

        end;

writeln(a);

writeln(b)

end.

алг

нач

цел x, y, a, b

a := 10

b := 0

ввод x

нц пока x > 0

    y := mod(x, 10)

    x := div(x, 10)

    если y < a

        то a := y

    все

    если y > b

        то b := y

    все

кц

вывод a, нс, b

кон

Си

#include <stdio.h>

void main()

{

    int x, y, a, b;

    a = 10;

    b = 0;

    scanf("%d", &x);

    while (x > 0)

    {

        y = x % 10;

        x = x / 10;

        if (y < a)

            a = y;

        if (y > b)

            b = y;

    }

    printf("%d\n%d\n", a, b);

}

 

Источник: СтатГрад: Диагностическая ра­бо­та по ин­фор­ма­ти­ке 26.01.2015 ва­ри­ант ИН10502.

3
Задание 20 № 7996

Ниже на пяти язы­ках за­пи­сан алгоритм. По­лу­чив на вход число x, этот ал­го­ритм пе­ча­та­ет два числа a и b. Ука­жи­те наи­боль­шее из таких чисел x, при вводе ко­то­ро­го ал­го­ритм пе­ча­та­ет сна­ча­ла 2, а потом 5.

 

БейсикPython

DIM X, A, B AS INTEGER

INPUT X

A = 0: B = 1

WHILE X > 0

    A = A+1

    B = B * (X MOD 100)

    X = X\100

WEND

PRINT A

PRINT B

x = int(input())

a, b = 0, 1

while x > 0:

    a = a + 1

    b = b * x%100

    x = x//100

print(a)

print(b)

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

var x, a, b: integer;

begin

    readln(x);

    a := 0; b := 1;

    while x > 0 do

        begin

            a := a+1;

            b := b*(x mod 100);

            x := x div 100;

        end;

    writeln(a); write(b);

end.

алг

нач

цел x, a, b

ввод x

a:=0; b:=1

нц пока x > 0

    a := a+1

    b := b*mod(x,100)

    x := div(x,100)

кц

вывод a, нс, b

кон

Си

#include <stdio.h>

void main()

{

    int x, a, b;

    scanf("%d", &x);

    a = 0; b = 1;

    while (x > 0) {

        a = a+1;

        b = b * (x%100);

        x = x/100;

    }

    printf("%d\n%d", a, b);

}

 


Аналоги к заданию № 7996: 3508 3531 3814 4694 4726 Все

Источник: СтатГрад: Тре­ни­ро­воч­ная работа по ин­фор­ма­ти­ке 27.02.2015 ва­ри­ант ИН10902.

4
Задание 20 № 8668

Ниже на пяти язы­ках про­грам­ми­ро­ва­ния за­пи­сан алгоритм. По­лу­чив на вход число x, этот ал­го­ритм пе­ча­та­ет числа: a и b.

Укажите наи­мень­шее по­ло­жи­тель­ное пя­ти­знач­ное число x, при ко­то­ром после вы­пол­не­ния ал­го­рит­ма будет на­пе­ча­та­но сна­ча­ла 4, а потом 2.

 

Бейсик Python

DIM X, Y, A, B AS INTEGER

A = 0

B = 0

INPUT X

WHILE X > 0

    Y = X MOD 10

    IF Y > 3 THEN A = A + 1

    IF Y < 8 THEN B = B + 1

    X = X \ 10

WEND

PRINT A

PRINT B

a = 0

b = 0

x = int(input())

while x > 0:

    y = x % 10

    if y > 3:

        a = a+1

    if y < 8:

        b = b+1

    x = x // 10

print(a)

print(b)

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

алг

нач

    цел x, y, a, b

    a := 0

    b := 0

    ввод x

    нц пока x > 0

        y := mod(x, 10)

        если y > 3

            то a := a + 1

        все

        если y < 8

            то b := b + 1

        все

        x := div(x, 10)

    кц

    вывод a, нс, b

кон

var x, y, a, b: integer;

begin

    a := 0;

    b := 0;

    readln(x);

    while x > 0 do

    begin

        y := x mod 10;

        if y > 3 then

            a := a + 1;

        if y < 8 then

            b := b + 1;

        x := x div 10

    end;

    writeln(a);

    writeln(b)

end.

Си

#include <stdio.h>

int main()

{

    int x, y, a, b;

    a = 0;

    b = 0;

    scanf("%d", &x);

    while (x > 0)

    {

        y = x % 10;

        if (y > 3)

            a = a + 1;

        if (y < 8)

            b = b + 1;

        x = x / 10;

    }

    printf("%d\n%d\n", a, b);

}

 


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

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

5
Задание 20 № 9204

Ниже на пяти язы­ках за­пи­сан алгоритм. По­лу­чив на вход число x, этот ал­го­ритм пе­ча­та­ет два числа a и b. Ука­жи­те наи­мень­шее из таких чисел x, при вводе ко­то­рых ал­го­ритм пе­ча­та­ет сна­ча­ла 2, а потом 11.

Бейсик Python

DIM X, A, B AS INTEGER

INPUT X

A = 0: B = 1

WHILE X > 0

    A = A+1

    B = B*(X MOD 1000)

    X = X\1000

WEND

PRINT A

PRINT B

x = int(input())

a, b = 0, 1

while x > 0:

    a = a+1

    b = b*x%1000

    x = x//1000

print(a)

print(b)

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

алг

нач

    цел x, a, b

    ввод x

    a := 0; b := 1

    нц пока x > 0

        a := a+1

        b := b*mod(x, 1000)

        x := div(x, 1000)

    кц

    вывод a, нс, b

кон

var x, a, b: integer;

begin

    readln(x);

    a := 0; b := 1;

    while x > 0 do

    begin

        a := a+1;

        b := b*(x mod 1000);

        x := x div 1000;

    end;

    writeln(a); write(b);

end.

Си

#include <stdio.h>

int main()

{

    int x, a, b;

    scanf("%d", &x);

    a = 0; b = 1;

    while (x > 0) {

        a = a+1;

        b = b * (x%1000);

        x = x/1000;

    }

    printf("%d\n%d", a, b);

    return 0;

}

 


Аналоги к заданию № 9204: 7310 9312 Все

Источник: СтатГрад: Тренировочная работа по ин­фор­ма­ти­ке 06.05.2015 ИН10801

6
Задание 20 № 3549

Ниже на 4-х языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 10.

 

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

DIM X, A, B AS INTEGER

INPUT X

A=0: B=0

WHILE X > 0

    A = A+1

    B = B +(X MOD 10)

    X = X \ 10

WEND

PRINT A

PRINT B

var x, a, b: integer;

begin

    readln(x);

    a:=0; b:=0;

    while x>0 do

        begin

            a:=a + 1;

            b:=b + (x mod 10);

            x:=x div 10;

        end;

writeln(a); write(b);

end.

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

#include <stdio.h>

void main()

{

    int x, a, b;

    scanf("%d", &x);

    a=0; b=0;

    while (x>0){

        a = a+1;

        b = b +(x%10);

        x = x/10;

    }

    printf("%d\n%d", a, b);

}

алг

нач

цел x, a, b

ввод x

a:=0; b:=0

нц пока x>0

    a:=a+1

    b:=b+mod(x,10)

    x:=div(x,10)

кц

вывод a, нс, b

кон


Аналоги к заданию № 3549: 4591 5280 5312 7205 7374 11121 Все


7
Задание 20 № 5059

Ниже записан алгоритм. После выполнения алгоритма было напечатано 3 числа. Первые два напечатанных числа - это числа 7 и 42. Какое наибольшее число может быть напечатано третьим?

 

var x, у, z: integer;

var r, a, b: integer;

begin

    readln(x, у);

    if у >x then begin

        z:= x;x:= y;y:= z;

    end;

    a:= x; b:= у;

    while b>0 do begin

        r := a mod b;

        a := b;

        b := r;

    end;

    writeln(a);

    writeln(x);

    write(y);

end.


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

Источник: МИОО: Тре­ни­ро­воч­ная ра­бо­та по ин­фор­ма­ти­ке 22.03.2013 ва­ри­ант ИНФ1401.

8
Задание 20 № 5364

Ниже на четырёх языках записан алгоритм. Получив на вход число , этот алгоритм печатает два числа: и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 2. Допускается диапазон значений для величин целого типа: от −231 до 231 — 1.

 

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

DIM X, A, B, C AS INTEGER

INPUT X

A = 0: B = 0

WHILE X > 0

    C = X MOD 2

    IF C = 0 THEN

        A = A + 1

    ELSE

        B = B + 1

    END IF

    X = X / 10

WEND

PRINT A

PRINT B

var x, a, b, c: integer;

begin

    readln(x);

    a := 0; b := 0;

    while x > 0 do

    begin

        c := x mod 2

        if c = 0 then

            a := a + 1

        else

            b := b + 1

        x := x div 10

    end;

    writeln(a); write(b);

end.

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

#include <stdio.h>

 

void main()

{

    int x, a, b, c;

    scanf("%d", &x);

    a = 0; b = 0;

    while (x > 0) {

        c = x%2

        if (c == 0) a = a + 1;

        else b = b + 1;

        x = x / 10;

    }

    printf("%d\n%d", a, b);

}

 

 

алг

нач

цел x, a, b, c

ввод x

a := 0; b := 0

нц пока x > 0

    c := mod(x, 2)

    если c = 0

    то a := a + 1

    иначе b := b + 1

все

x := div(x, 10)

кц

вывод а, нс b

кон


Аналоги к заданию № 5364: 5396 5428 5524 5556 Все

Источник: ЕГЭ по ин­фор­ма­ти­ке 30.05.2013. Ос­нов­ная волна. Дальний Восток. Ва­ри­ант 1.

9
Задание 20 № 6992

Ниже на четырёх язы­ках про­грам­ми­ро­ва­ния за­пи­сан алгоритм. По­лу­чив на вход число x, этот ал­го­ритм пе­ча­та­ет два числа a и b. Ука­жи­те наи­боль­шее из таких чисел x, при вводе ко­то­рых ал­го­ритм пе­ча­та­ет сна­ча­ла 3, а потом 25.

 

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

DIM X, A, B AS INTEGER

INPUT X

A = 0: B = 0

WHILE X > 0

    A = A + 1

    IF (X MOD 2) <> 0 THEN

        B = B+(X MOD 10)

    END IF

    X = X\10

WEND

PRINT A

PRINT B

var x, a, b: integer;

begin

    readln(x);

    a := 0; b := 0;

    while x > 0 do

        begin

            a := a + 1;

            if(x mod 2) <> 0 then

                b := b+(x mod 10);

            x := x div 10;

        end;

writeln(a); write(b);

end.

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

#include<stdio.h>

void main()

{

    int x, a, b;

    scanf("%d", &x);

    a = 0; b = 0;

    while (x > 0){

        a = a+1;

        if ((x%2)!=0){

            b = b+(x%10);

        }

        x = x/10;

    }

printf("%d\n%d", a, b);

}

алг

нач

цел x, a, b

ввод x

a := 0; b := 0

нц пока x > 0

    a := a+1

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

        b := b+mod(x,10)

    все

    x := div(x,10)

кц

вывод a, нс, b

кон

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

10
Задание 20 № 11276

Ниже на пяти язы­ках про­грам­ми­ро­ва­ния за­пи­сан алгоритм. По­лу­чив на вход число x, этот ал­го­ритм пе­ча­та­ет число M. Известно, что x > 100. Ука­жи­те наи­мень­шее такое (т. е. боль­шее 100) число x, при вводе ко­то­ро­го ал­го­ритм пе­ча­та­ет 60.

 

 

БейсикPython

DIM X, L, M AS INTEGER

INPUT X

L = X - 30

M = X + 30

WHILE L <> M

  IF L > M THEN

    L = L – M

  ELSE

    M = M – L

  END IF

WEND

PRINT M

x = int(input())

L = x-30

M = x+30

while L != M:

    if L > M:

        L = L - M

    else:

        M = M - L

print(M)

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

алг

нач

цел x, L, M

ввод x

L := x-30

M := x+30

нц пока L <> M

если L > M

то L := L – M

иначе M := M – L

все

кц

вывод M

кон

var x, L, M: integer;

begin

  readln(x);

  L := x-30;

  M := x+30;

  while L <> M do begin

    if L > M

      then L := L - M

      else M := M – L;

  end;

  writeln(M);

end.

Си

#include <stdio.h>

int main()

{

  int x, L, M;

  scanf("%d", &x);

  L = x-30;

  M = x+30;

  while (L != M) {

    if(L > M) L = L - M;

    else M = M - L;

  }

  printf("%d", M);

  return 0;

}

 

Источник: СтатГрад: Тре­ни­ро­воч­ная ра­бо­та по ин­фор­ма­ти­ке 21.05.2016 ИН10504.

11
Задание 20 № 11316

Получив на вход число x, этот алгоритм печатает число M. Известно, что x > 100. Укажите наименьшее такое ( т. е. большее 100) число x, при вводе которого алгоритм печатает 60.

 

var x, L, M: integer;

begin

 readln(x);

 L := x - 30;

 M := x + 30;

  while (L <> M) do

   if L > M then L := L - M else M := M – L;

 writeln(M);

end.

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

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



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

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


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