Варианты заданий
Версия для печати и копирования в MS Word
1

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

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

DIM N AS LONG

INPUT N

sum = 1

WHILE N > 1

N = N \ 10

sum = sum + 1

WEND

PRINT sum

END

var N: longint;

sum: integer;

begin

readln(N);

sum := 1;

while N > 1 do

begin

N := N div 10;

sum := sum + 1;

end;

writeln(sum);

end.

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

#include <iostream>

using namespace std;

int main()

{

long int N;

int sum;

cin >> N;

sum = 1;

while (N > 1)

{

N = N /10;

sum = sum + 1;

}

cout « sum « endl;

}

алг

нач

цел N, sum

ввод N

sum := 1

нц пока N > 1

N := div(N, 10)

sum := sum + 1

кц

вывод sum

кон

Python

n = int(input())

sum = 1

while n > 1:

    n //= 10

    sum += 1

print(sum)

 

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

 

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

2.  Ука­жи­те одно число для ко­то­ро­го эта про­грам­ма будет ра­бо­тать верно.

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


Аналоги к заданию № 5372: 5436 9705 Все


2
Тип Д24 C1 № 9705
i

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

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

DIM A AS LONG

INPUT A

cnt = 0

WHILE A > 1

  cnt = cnt + A MOD 10

  A = A \ 10

WEND

PRINT cnt

END

var A: longint;

  cnt: integer;

begin

  readln(A);

  cnt := 0;

  while A > 1 do

  begin

    cnt:=cnt + A mod 10;

    A := A div 10;

  end;

  writeln(cnt);

end.

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

#include <iostream>

using namespace std;

int main()

{

  long int A;

  int cnt;

  cin >> A;

  cnt = 0;

  while (A > 1)

  {

    cnt = cnt + A%10;

    A = A /10;

  }

  cout « cnt « endl;

}

алг

нач

  цел A, cnt

  ввод A

  cnt := 0

  нц пока A > 1

    cnt := cnt + mod(A, 10)

    A := div(A, 10)

  кц

  вывод cnt

кон

Python

A = int(input())

cnt = 0

while A > 1:

    cnt += A % 10

    A //= 10

print(cnt)

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

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

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

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

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

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


Аналоги к заданию № 5372: 5436 9705 Все


3
Тип Д24 C1 № 5436
i

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

 

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

DIM N AS LONG

INPUT N

sum = 0

WHILE N >= 9

N = N \ 10

sum = sum + 1

WEND

PRINT sum

END

var N: longint;

sum: integer;

begin

readln(N);

sum := 0;

while N >= 9 do

begin

N := N div 10;

sum := sum + 1;

end;

writeln(sum);

end.

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

#include <iostream>

using namespace std;

int main()

{

long int N;

int sum;

cin >> N;

sum = 0;

while (N >= 9)

{

N = N / 10;

sum = sum + 1;

}

cout « sum « endl;

}

алг

нач

цел N, sum

ввод N

sum := 0

нц пока N >= 9

N := div(N, 10)

sum := sum + 1

кц

вывод sum

кон

Python

N = int(input())

sum = 0

while N >= 9:

    N //= 10

    sum += 1

print(sum)

 

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

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

2.  Ука­жи­те одно число для ко­то­ро­го эта про­грам­ма будет ра­бо­тать верно.

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

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


Аналоги к заданию № 5372: 5436 9705 Все