Тесты онлайн, бесплатный конструктор тестов. Психологические тестирования, тесты на проверку знаний.

Список вопросов базы знаний

ЕГЭ Информатика

Вопрос id:397706
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами

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

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

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

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

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

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

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



Вопрос id:397707
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами

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

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

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

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

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

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

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



Вопрос id:397708
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами

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

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

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

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

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

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

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



Вопрос id:397709
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами

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

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

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

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

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

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

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



Вопрос id:397710
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами

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

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

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

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

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

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

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

Вопрос id:397711
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами

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

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

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

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

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

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

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

Вопрос id:397712
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами

Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число 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 stdio.h

int main()

{

long int N;

int digit, max_digit;

scanf("%ld", &N);

max_digit = 9;

while (N >= 10)

{

digit = N % 10;

if (digit > max_digit)

max_digit = digit;

N = N /10;

}

printf("%d", max_digit);

}

алг

нач

цел 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

кон

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

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

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

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

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

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

Вопрос id:397713
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами

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

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

DIM N AS LONG

INPUT N

S = 0

WHILE N > 1

IF N MOD 2 = 0

S = N MOD 10

END IF

N = N \ 10

WEND

PRINT S

END

var N: longint;

s: integer;

begin

readln(N);

s := 0;

while N > 1 do begin

if N mod 2 = 0 then begin

s := N mod 10;

end;

N := N div 10;

end;

write(s);

end.

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

#include

void main()

{

long int N;

int s;

scanf("%ld",&N);

s = 0;

while (N > 1) {

if (N%2 == 0) {

s = N % 10;

}

N = N / 10;

}

printf("%d", s);

}

алг

нач

цел N, s

ввод N

s := 0

нц пока N > 1

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

s := mod(N,10)

все

N := div(N,10)

кц

вывод s

кон

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

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

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

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

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

Вопрос id:397714
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами

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

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

DIM N AS LONG

INPUT N

S = 0

WHILE N > 1

IF N MOD 2 = 0

S = N MOD 10

END IF

N = N \ 10

WEND

PRINT S

END

var N: longint;

s: integer;

begin

readln(N);

s := 0;

while N > 1 do begin

if N mod 2 = 0 then begin

s := N mod 10;

end;

N := N div 10;

end;

write(s);

end.

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

#include

void main()

{

long int N;

int s;

scanf("%ld",&N);

s = 0;

while (N > 1) {

if (N%2 == 0) {

s = N % 10;

}

N = N / 10;

}

printf("%d", s);

}

алг

нач

цел N, s

ввод N

s := 0

нц пока N > 1

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

s := mod(N,10)

все

N := div(N,10)

кц

вывод s

кон

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

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

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

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

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

Вопрос id:397715
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами

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

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

DIM N AS LONG

INPUT N

min_digit = 9

WHILE N >= 10

digit = N MOD 10

IF digit < min_digit THEN

min_digit = digit

END IF

N = N \ 10

WEND

PRINT digit

END

var N: longint;

digit, min_digit: integer;

begin

readln(N);

min_digit := 9;

while N >= 10 do

begin

digit := N mod 10;

if digit < min_digit then

min_digit := digit;

N := N div 10;

end;

writeln(digit);

end.

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

#include

int main()

{

long int N;

int digit, min_digit;

scanf("%ld", &N);

min_digit = 9;

while (N >= 10)

{

digit = N % 10;

if (digit < min_digit)

min_digit = digit;

N = N / 10;

}

printf("%d", digit);

}

алг

нач

цел N, digit, min_digit

ввод N

min_digit := 9

нц пока N >= 10

digit := mod(N, 10)

если digit < min_digit то

min_digit := digit

все

N := div(N, 10)

кц

вывод digit

кон

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

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

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

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

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

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

Вопрос id:397716
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами

Требовалось написать программу, при выполнении которой с клавиатуры вводится натуральное число, не превосходящее 108, и выводится его первая (старшая) цифра. Ученик написал такую программу:

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

DIM N AS LONG

INPUT N

WHILE N>10

N = N MOD 10

WEND

PRINT N

END

var n: longint;

begin

read(n);

while n>10 do begin

n := n mod 10

end;

write(n);

end.

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

#include

void main(){

long int n;

scanf("%ld",&n);

while (n>10) {

n = n%10;

}

printf("%ld", n);

}

алг

нач

цел n

ввод n

нц пока n>10

n := mod(n,10)

кц

вывод n

кон

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

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

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

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

Вопрос id:397717
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами

Требовалось написать программу, при выполнении которой с клавиатуры вводится натуральное число 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

void main(){

long int n;

scanf("%ld",&n);

while (n>100) {

n = n % 100;

}

printf("%ld", n);

}

алг

нач

цел n

ввод n

нц пока n>100

n := mod(n,100)

кц

вывод n

кон

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

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

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

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

Вопрос id:397718
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами

Требовалось написать программу, при выполнении которой с клавиатуры вводится натуральное число, не превосходящее 108, и выводится его первая (старшая) цифра. Ученик написал такую программу:

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

DIM N AS LONG

INPUT N

WHILE N>10

N = N MOD 10

WEND

PRINT N

END

var n: longint;

begin

read(n);

while n>10 do begin

n := n mod 10

end;

write(n);

end.

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

#include

void main(){

long int n;

scanf("%ld",&n);

while (n>10) {

n = n%10;

}

printf("%ld", n);

}

алг

нач

цел n

ввод n

нц пока n>10

n := mod(n,10)

кц

вывод n

кон

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

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

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

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

Вопрос id:397719
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами

Требовалось написать программу, при выполнении которой с клавиатуры вводится последовательность из шести неотрицательных целых чисел, не превышающих 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

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. Найдите в программе все ошибки (их может быть одна или несколько).

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

Вопрос id:397720
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами

Требовалось написать программу, которая получает на вход натуральное число N, не превосходящее 109, и выводит число, которое получается из N после удаления всех единиц; порядок остальных цифр при этом не меняется. Например, число 19520125 должно быть преобразовано в число 952025. Число, в котором все цифры — единицы и нули, должно быть преобразовано в 0. Незначащие нули в старших разрядах полученного числа печатать не нужно.

Программист торопился и написал программу неправильно.

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

DIM N, R, T AS LONG

DIM d AS INTEGER

INPUT N

R = 0

T = 1

WHILE N > 0

d = N MOD 10

IF d <> 1 THEN

R = R + d * T

T = T + 1

END IF

N = N \ 10

WEND

PRINT T

END

var N, R, T: longint;

d: integer;

begin

readln(N);

R:=0;

T:=1;

while N>0 do begin

d := N mod 10;

if d<>1 then begin

R := R + d*T;

T := T+1

end;

N := N div 10;

end;

writeln(T);

end.

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

#include

int main()

{

long int N, R, T;

int d;

scanf("%ld", &N);

R = 0;

T = 1;

while (N > 0) {

d = N % 10;

if (d != 1) {

R = R + d*T;

T = T+1;

}

N = N / 10;

}

printf("%ld", T);

}

алг

нач

цел N, R, T, d

ввод N

R := 0

T := 1

нц пока N > 0

d := mod(N, 10)

если d <> 1 то

R := R + d*T

T := T+1

все

N := div(N, 10)

кц

вывод T

кон

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

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

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

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

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

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

Вопрос id:397721
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами

Требовалось написать программу, которая получает на вход натуральное число N, не превосходящее 109, и выводит число, которое получается из N после удаления всех пятёрок, порядок остальных цифр при этом не меняется. Например, число 19520125 должно быть преобразовано в число 192012. Число, в котором все цифры – пятёрки и нули, должно быть преобразовано в 0. Незначащие нули в старших разрядах полученного числа печатать не нужно.

Программист торопился и написал программу неправильно.

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

DIM N, R, T AS LONG

DIM d AS INTEGER

INPUT N

R = 0

T = 1

WHILE N > 0

d = N MOD 10

IF d <> 5 THEN

R = R + d * T

T = T + 1

END IF

N = N \ 10

WEND

PRINT T

END

var N, R, T: longint;

d: integer;

begin

readln(N);

R:=0;

T:=1;

while N>0 do begin

d := N mod 10;

if d<>5 then begin

R := R + d*T;

T := T+1

end;

N := N div 10;

end;

writeln(T);

end.

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

#include

int main()

{

long int N, R, T;

int d;

scanf("%ld", &N);

R = 0;

T = 1;

while (N > 0) {

d = N % 10;

if (d != 5) {

R = R + d*T;

T = T+1;

}

N = N / 10;

}

printf("%ld", T);

}

алг

нач

цел N, R, T, d

ввод N

R := 0

T := 1

нц пока N > 0

d := mod(N, 10)

если d <> 5 то

R := R + d*T

T := T+1

все

N := div(N, 10)

кц

вывод T

кон

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

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

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

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

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

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

Вопрос id:397722
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами


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

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

INPUT x

IF x<=17 THEN

IF x<=5 THEN

IF x>=-1 THEN

PRINT "принадлежит"

ELSE

PRINT "не принадлежит"

ENDIF

ENDIF

ENDIF

END

var x: real;

begin

readln(x);

if x<=17 then

if x<=5 then

if x>=-1 then

write('принадлежит')

else

write('не принадлежит')

end.

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

void main(void)

{

float x;

scanf("%f",&x);

if(x<=17)

if(x<=5)

if(x>=-1)

printf("принадлежит");

else

printf("не принадлежит");

}

алг

нач

вещ x

ввод x

если x<=17 то

если x<=5 то

если x>=-1 то

вывод 'принадлежит'

иначе

вывод 'не принадлежит'

все

все

все

кон

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

1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D и E). Границы (точки –1, 5, 11 и 17) принадлежат заштрихованным областям (B и D соответственно).

ОбластьУсловие 1

(x<=17)

Условие 2

(x<=5)

Условие 3

(x>= –1)

Программа

выведет

Область

обрабатывается

верно

A
B
C
D
E

В столбцах условий укажите «да», если условие выполнится; «нет», если условие не выполнится; «—» (прочерк), если условие не будет проверяться; «не изв.», если программа ведёт себя по-разному для разных значений, принадлежащих данной области. В столбце «Программа выведет» укажите, что программа выведет на экран. Если программа ничего не выводит, поставьте «—» (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв.». В последнем столбце укажите «Да» или «Нет».

2. Укажите, как нужно доработать программу, чтобы не было случаев её неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы.)



Вопрос id:397723
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами

Дано натуральное число N, не превосходящее 108. Необходимо найти и вывести число, которое получится при записи N справа налево и удалении всех единиц. Ведущие нули выводить не надо. Если в числе N нет цифр кроме единиц и нулей, необходимо вывести 0. Например, при вводе числа 1984 нужно вывести 489, а при вводе 2001 нужно вывести 2. Для решения этой задачи ученик написал такую программу:

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

DIM N, M AS LONG

DIM D AS INTEGER

INPUT N

M = 0

WHILE N>=1

D = N MOD 10

IF D>1 THEN

M = 10*D + M

END IF

N = (N – D) \ 10

WEND

PRINT M

END

var n, m: longint;

d: integer;

begin

read(n);

m := 0;

while n>=1 do begin

d := n mod 10;

if d > 1 then begin

m := 10*d + m;

end;

n := (n – d) div 10;

end;

write(m);

end.

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

#include

void main(){

long int n, m;

int d;

scanf("%ld",&n);

m = 0;

while (n>=1) {

d = n%10;

if (d>1) {

m = 10*d + m;

}

n = (n – d) / 10;

}

printf("%ld", m);

}

алг

нач

цел n, m

цел d

ввод n

m := 0

нц пока n>=1

d := mod(n,10)

если d>1 то

m := 10*d + m

все

n := div(n-d,10)

кц

вывод m

кон

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

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

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

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

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

Вопрос id:397724
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами

Дано натуральное число N, не превосходящее 108. Необходимо найти и вывести число, которое получится при записи N справа налево и удалении всех девяток. Ведущие нули выводить не надо. Если в числе N нет цифр кроме девяток и нулей, необходимо вывести 0. Например, при вводе числа 1984 нужно вывести 481, а при вводе 2009 нужно вывести 2. Для решения этой задачи ученик написал такую программу:

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

DIM N, M AS LONG

DIM D AS INTEGER

INPUT N

M = 0

WHILE N>1

D = N MOD 10

IF D<9 THEN

M = M + D

END IF

N = N \ 10

WEND

PRINT M

END

var n, m: longint;

d: integer;

begin

read(n);

m := 0;

while n>1 do begin

d := n mod 10;

if d < 9 then begin

m := m + d;

end;

n := n div 10;

end;

write(m);

end.

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

#include

void main(){

long int n, m;

int d;

scanf("%ld",&n);

m = 0;

while (n>1) {

d = n%10;

if (d<9) {

m = m + d;

}

n = n / 10;

}

printf("%ld", m);

}

алг

нач

цел n, m

цел d

ввод n

m := 0

нц пока n>1

d := mod(n,10)

если d<9 то

m := m + d

все

n := div(n,10)

кц

вывод m

кон

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

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

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

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

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

Вопрос id:397725
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами


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

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

INPUT x

IF x<12 THEN

IF x>=0 THEN

IF x<=6 THEN

PRINT "принадлежит"

ELSE

PRINT "не принадлежит"

ENDIF

ENDIF

ENDIF

END

var x: real;

begin

readln(x);

if x<12 then

if x>=0 then

if x<=6 then

write('принадлежит')

else

write('не принадлежит')

end.

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

void main(void)

{

float x;

scanf("%f",&x);

if(x<12)

if(x>=0)

if(x<=6)

printf("принадлежит");

else

printf("не принадлежит");

}

алг

нач

вещ x

ввод x

если x<12 то

если x>=0 то

если x<=6 то

вывод 'принадлежит'

иначе

вывод 'не принадлежит'

все

все

все

кон

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

1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D и E). Границы (точки 0, 6, 12 и 18) принадлежат заштрихованным областям (B и D соответственно).

ОбластьУсловие 1

(x<12)

Условие 2

(x>=0)

Условие 3

(x<= 6)

Программа

выведет

Область

обрабатывается

верно

A
B
C
D
E

В столбцах условий укажите «да», если условие выполнится; «нет», если условие не выполнится; «—» (прочерк), если условие не будет проверяться; «не изв.», если программа ведёт себя по-разному для разных значений, принадлежащих данной области. В столбце «Программа выведет» укажите, что программа выведет на экран. Если программа ничего не выводит, поставьте «—» (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв.». В последнем столбце укажите «Да» или «Нет».

2. Укажите, как нужно доработать программу, чтобы не было случаев её неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы.)

Вопрос id:397726
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами


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

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

INPUT x

IF x<=18 THEN

IF x>=-6 THEN

IF x<10 THEN

PRINT "не принадлежит"

ELSE

PRINT "принадлежит"

ENDIF

ENDIF

ENDIF

END

var x: real;

begin

readln(x);

if x<=18 then

if x>=-6 then

if x<10 then

write('не принадлежит')

else

write('принадлежит')

end.

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

void main(void)

{

float x;

scanf("%f",&x);

if(x<=18)

if(x>=-6)

if(x<10)

printf("не принадлежит");

else

printf("принадлежит");

}

алг

нач

вещ x

ввод x

если x<=18 то

если x>=-6 то

если x<10 то

вывод 'не принадлежит'

иначе

вывод 'принадлежит'

все

все

все

кон

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

1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D и E). Границы (точки –6, 2, 10 и 18) принадлежат заштрихованным областям (B и D соответственно).

ОбластьУсловие 1 (x<=18)Условие 2 (x>= −6)Условие 3 (x<10)Программа

выведет

Область обрабатывается верно
A
B
C
D
E

В столбцах условий укажите «да», если условие выполнится; «нет», если условие не выполнится; «—» (прочерк), если условие не будет проверяться; «не изв.», если программа ведёт себя по-разному для разных значений, принадлежащих данной области. В столбце «Программа выведет» укажите, что программа выведет на экран. Если программа ничего не выводит, поставьте «—» (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв.». В последнем столбце укажите «Да» или «Нет».

2. Укажите, как нужно доработать программу, чтобы не было случаев её неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы.)

Вопрос id:397727
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами


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

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

INPUT x

IF x<13 THEN

IF x<=7 THEN

IF x>=1 THEN

PRINT "принадлежит"

ELSE

PRINT "не принадлежит"

ENDIF

ENDIF

ENDIF

END

var x: real;

begin

readln(x);

if x<13 then

if x<=7 then

if x>=1 then

write('принадлежит')

else

write('не принадлежит')

end.

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

void main(void)

{

float x;

scanf("%f",&x);

if(x<13)

if(x<=7)

if(x>=1)

printf("принадлежит");

else

printf("не принадлежит");

}

алг

нач

вещ x

ввод x

если x<13 то

если x<=7 то

если x>=1 то

вывод 'принадлежит'

иначе

вывод 'не принадлежит'

все

все

все

кон

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

1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D и E). Границы (точки –6, 2, 10 и 18) принадлежат заштрихованным областям (B и D соответственно).

ОбластьУсловие 1 (x<13)Условие 2 (x<=7)Условие 3 (x>=1)Программа

выведет

Область обрабатывается верно
A
B
C
D
E

В столбцах условий укажите «да», если условие выполнится; «нет», если условие не выполнится; «—» (прочерк), если условие не будет проверяться; «не изв.», если программа ведёт себя по-разному для разных значений, принадлежащих данной области. В столбце «Программа выведет» укажите, что программа выведет на экран. Если программа ничего не выводит, поставьте «—» (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв.». В последнем столбце укажите «Да» или «Нет».

2. Укажите, как нужно доработать программу, чтобы не было случаев её неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы.)

Вопрос id:397728
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами

Программист писал программу, для определения количества цифр в числе, не превосходящем 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;

whriteln(sum);

end.

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

#include

Int main()

{

long int N;

int sum;

scanf(“%ld”, &N);

sum = 1;

while (N > 1)

{

N = N / 10;

sum = sum + 1;

}

printf(“%d”, sum);

}

алг

нач

цел N, sum

ввод N

sum := 1

нц пока N > 1

N := div(N, 10)

sum := sum + 1

КЦ

вывод sum

КОН

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

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

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

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



Вопрос id:397729
Тема/шкала: С1-Поиск и исправление ошибок в программе-Работа с числами

На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут быть одинаковыми). Нужно написать программу, которая выводит на экран количество нечётных чисел в исходной последовательности и максимальное нечётное число. Если нечётных чисел нет, требуется на экран вывести «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 ", count);

printf("%d ", maximum);

}

else

printf("NO ");

}

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

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

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

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

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

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

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

Вопрос id:397730
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

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

Вопрос id:397731
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

Опишите на русском языке или на одном из языков программирования алгоритм получения из заданного целочисленного массива размером 30 элементов другого массива, который будет содержать модули значений элементов первого массива.

Вопрос id:397732
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

Опишите на русском языке или одном из языков программирования алгоритм подсчета максимального количества подряд идущих четных элементов в целочисленном массиве длины 30.

Вопрос id:397733
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

Опишите на русском языке или на одном из языков программирования алгоритм подсчета максимального количества подряд идущих отрицательных элементов в целочисленном массиве длины 30.

Вопрос id:397734
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

Опишите на русском языке или на одном из языков программирования алгоритм подсчета суммы всех отрицательных элементов заданного целочисленного массива размером 30 элементов. Если отрицательных элементов нет, сообщите об этом.

Вопрос id:397735
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

Опишите на русском языке или на одном из языков программирования алгоритм подсчета максимального количества подряд идущих отрицательных элементов в заданном целочисленном массиве длиной 30.

Вопрос id:397736
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

Опишите на русском языке или на одном из языков программирования алгоритм подсчета суммы всех отрицательных элементов заданного целочисленного массива размером 30 элементов. Если отрицательных элементов нет сообщите об этом.

Вопрос id:397737
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

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

Вопрос id:397738
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

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

Вопрос id:397739
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от 0 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм, который позволяет подсчитать и вывести среднее арифметическое элементов массива, имеющих нечетное значение. Гарантируется, что в исходном массиве хотя бы один элемент имеет нечетное значение.

Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

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

N=30

DIM A(N) AS INTEGER

DIM I, X, Y AS INTEGER

DIM S AS SINGLE

FOR I = 1 TO N

INPUT A(I)

NEXT I

END

const

N=30;

var

a: array [1..N] of integer;

i, x, y: integer;

s: real;

begin

for i:=1 to N do readln(a[i]);

end.

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

#include

#define N 30

void main(void)

{

int a[N];

int i, x, y;

float s;

for (i=0; iscanf("%d", &a[i]);

}

алг

нач

цел N = 30

целтаб a[1:N]

цел i, x, y

вещ s

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

ввод a[i]

кц

...

кон

Русский (естественный) язык

Объявляем массив A из 30 элементов.

Объявляем целочисленные переменные I, X, Y.

Объявляем вещественную переменную S.

В цикле от 1 до 30 вводим элементы

массива A с 1-го по 30-й.

В качестве ответа необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Borland Pascal 7.0) или в виде блок-схемы. В этом случае вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).

Вопрос id:397740
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от 0 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм, который позволяет подсчитать и вывести среднее арифметическое элементов массива, имеющих нечетное значение. Гарантируется, что в исходном массиве хотя бы один элемент имеет нечетное значение.

Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

Паскаль

const

N=30;

var

a: array [1..N] of integer;

i, x, y: integer;

s: real;

begin

for i:=1 to N do readln(a[i]);

end.

Бейсик

N=30

DIM A(N) AS INTEGER

DIM I, X, Y AS INTEGER

DIM S AS SINGLE

FOR I = 1 TO N

INPUT A(I)

NEXT I

END

Си

#include <stdio.h>

#define N 30

void main(void)

{int a[N];

int i, x, y;

float s;

for (i=0; i<N; i++)

scanf("%d", &a[i]);

}

Естественный язык

Объявляем массив A из 30 элементов.

Объявляем целочисленные переменные

I, X, Y.

Объявляем вещественную переменную

S.

В цикле от 1 до 30 вводим элементы

массива A с 1-го по 30-й.

В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Borland Pascal 7.0) или в виде блок-схемы. В этом случае вы должны использовать переменные, аналогичные переменным, используемым в алгоритме, записанном на естественном языке, с учетом синтаксиса и особенностей используемого вами языка программирования.

Вопрос id:397741
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от 1 до 5 – годовые оценки по информатике учащихся выпускного класса. Опишите на русском языке или на одном из языков программирования алгоритм, который подсчитывает и выводит средний балл среди хорошистов (тех, кто получил итоговую оценку 4 или 5). Гарантируется, что в классе есть хотя бы один хорошист.

Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

Паскаль

Const

N=30;

Var

a: array [1..N] of integer;

I, x, y: integer;

S: real;

Begin

For i:=1 to N do readln (a[i]);

End.

В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Borland Pascal 7.0) или в виде блок-схемы. В этом случае вы должны использовать переменные, аналогичные переменным, используемые в алгоритме, записанном на естественном языке, с учетом синтаксиса и особенностей используемого вами языка программирования.

Вопрос id:397742
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

Опишите на русском языке или одном из языков программирования алгоритм вычисления разности между средним арифметическим максимального и минимального значений элементов заданного целочисленного массива из 30 элементов и средним арифметическим всех элементов этого массива.

Вопрос id:397743
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от -1000 до 1000. Опишите на русском или на одном из языков программирования алгоритм, который позволяет подсчитать и вывести среднее арифметическое тех элементов массива, которые по своему значению меньше последнего элемента этого массива. Гарантируется, что в исходном массиве есть хотя бы один такой элемент. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

Паскаль

Const

N=30;

Var

A: array [1..N] of integer;

I, x, y:integer;

S:real;

Begin

for i:=1 to N do readln(a[i]);

End.

В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Borland Pascal 7.0) или в виде блок-схемы. В этом случае вы должны использовать переменные, аналогичные переменным, используемые в алгоритме, записанном на естественном языке, с учетом синтаксиса и особенностей используемого вами языка программирования.

Вопрос id:397744
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

Опишите на русском языке или на одном из языков программирования алгоритм подсчета суммы всех отрицательных элементов заданного целочисленного массива размером 30 элементов. Если отрицательных элементов нет, сообщите об этом.

Вопрос id:397745
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

На пустой шахматной доске в одной из клеток стоит шахматный конь. Опишите на русском языке или на одном из языков программирования алгоритм получения списка клеток, которые конь может достичь за один ход из данной клетки. На вход программы поступают два целых числа: х, у (1 < х,у < 8) — координаты клетки, в которой стоит конь. На выходе программы должен быть выведен список пар целых чисел — координаты клеток, достижимых конём из исходной клетки за один ход.

Вопрос id:397746
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

Дан целочисленный массив из 40 элементов. Элементы массива могут принимать произвольные значения. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит значение 3-го положительного элемента массива (если из массива вычеркнуть все неположительные элементы, этот элемент стоял бы в получившемся массиве на третьем месте). Если в массиве меньше, чем три положительных элемента, вывести об этом сообщение.

Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

ПАСКАЛЬБЕЙСИК
const

N = 40;

var

a: array [l..N] of integer;

i, j, k: integer;

begin

for i:=1 to N do

readln(a[i]);

...

end.

N = 40

DIM A (N) AS INTEGER

DIM I, J, К AS INTEGER

FOR I = 1 TO N

INPUT A (I)

NEXT I

...

END

СИАлгоритмический язык
#include

#define N 40

void main(void)

{int a [N] ;

int i, j, k;

for (i = 0; i < N; i + +)

scanf ( " %d" , &a[i] ) ;

...

}

алг

нач

цел N = 40

целтаб а[1:N]

цел i, j, k

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

ввод a[i]

кц

...

кон

Естественный язык
Объявляем массив А из 40 элементов.

Объявляем целочисленные переменные I, J, К.

В цикле от 1 до 40 вводим элементы массива А с 1-го по 40-й.

...

В качестве ответа вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Borland Pascal 7.0) или в виде блок-схемы. В этом случае вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).

Вопрос id:397747
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

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

Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

ПАСКАЛЬБЕЙСИК
const

N = 40;

var

a: array [1..N] of integer;

i, l, lmax, s, smax:

integer;

begin

for i : = 1 to N do

readln(a[i]);

...

end.

N = 40

DIM A(N) AS INTEGER

DIM I, L, LMAX, S, SMAX AS INTEGER

FOR I = 1 TO N

INPUT A (I)

NEXT I

...

END

СИАлгоритмический язык
#include

#define N 40

void main(void)

{int a [N]; int

i, l, lmax, s, smax;

for (i = 0; i < N; i++)

scanf ("%d", & a [ i ] ) ;

...

}

алг

нач

цел N = 40

целтаб а[1:N]

цел i, L, Lmax, S, Smax

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

ввод a[i]

кц

...

кон

Естественный язык
Объявляем массив А из 40 элементов.

Объявляем целочисленные переменные I, L, Lmax, S, Smax.

В цикле от 1 до 40 вводим элементы массива А с 1-го по 40-й.

...

В качестве ответа вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка програм-мирования, например Borland Pascal 7.0) или в виде блок-схемы. В этом случае вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).

Вопрос id:397748
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 1000. Опишите на языке программирования "Паскаль" алгоритм, позволяющий найти и вывести сумму элементов массива, не кратных пятнадцати. Гарантируется, что в исходном массиве есть хотя бы один элемент, значение которого не делится на пятнадцать. Исходные данные объявлены так как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

ПАСКАЛЬБЕЙСИК
const

N=30;

var

a: array [1..N] of integer;

i, j, s: integer;

begin

for i:=1 to N do

readln(a[i]);

end.

N=30

DIM A(N) AS INTEGER

DIM I, J, S AS INTEGER

FOR I = 1 TO N

INPUT A(I)

NEXT I

END

СИЕстественный язык
#include

#define N 30

void main(void){

int a[N];

int i, j, s;

for (i=0; iscanf("%d", &a[i]); …

...

}

Объявляем массив A из 30 элементов.

Объявляем целочисленные переменные I, J, S.

В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й.



Вопрос id:397749
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 1000. Опишите на языке программирования "Паскаль" алгоритм, позволяющий найти и вывести количество элементов массива, десятичная запись которых содержит ровно 2 цифры, причём хотя бы одна из этих цифр — цифра 9.

Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них

ПАСКАЛЬБЕЙСИК
const N=30;

Var

a:array [1..N] of integer;

i, j, k: integer;

begin

for i:=1 to N do

readln(a[i]);

end.

N=30

DIM A(N) AS INTEGER

DIM I, J, K AS INTEGER

FOR I = 1 TO N

INPUT A(I)

NEXT I …

END

СИАлгоритмический язык
#include < stdio.h >

#define N 30

void main(){

int a[N];

int i, j, k;

for (i=0; iscanf("%d", &a[i]);

...

}

алг

нач

цел N=3 0

целтаб a[1:N]

цел i, j, k

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

ввод a[i]

кц

...

кон

Естественный язык
Объявляем массив A из 30 элементов.

Объявляем целочисленные переменные I, J, K.

В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й.

...

В качестве ответа Вам необходимо привести фрагменты программы, который должен находиться на месте многоточия.

Вопрос id:397750
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

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

Вопрос id:397751
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

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

Вопрос id:397752
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

Опишите на русском языке или на одном из языков программирования алгоритм подсчета максимального количества подряд идущих отрицательных элементов в целочисленном массиве длины 30.

Вопрос id:397753
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

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

Вопрос id:397754
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

Опишите на русском языке или одном из языков программирования алгоритм подсчета максимального количества подряд идущих четных элементов в целочисленном массиве длины 30.

Вопрос id:397755
Тема/шкала: С2-Алгоритмы обработки массивов-Другие алгоритмы

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от 150 до 200 – рост учащихся выпускного класса. В команду по автогонкам входят все учащиеся, чей рост не более 175 см. Гарантируется, что такие учащиеся в классе есть. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит рост самого высокого участника гоночной команды.

Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

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

N=30

DIM A(N) AS INTEGER

DIM I, J, MAX AS INTEGER

FOR I = 1 TO N

INPUT A(I)

NEXT I

...

END

const

N=30;

var

a: array [1..N] of integer;

i, j, max: integer;

begin

for i:=1 to N do readln(a[i]);

...

end.

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

#include

#define N 30

void main(void)

{

int a[N];

int i, j, max;

for (i=0; iscanf("% d", &a[i]);

...

}

алг

нач

цел N = 30

целтаб a[1:N]

цел i, j, max

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

ввод a[i]

кц

...

кон

Русский (естественный) язык
Объявляем массив A из 30 элементов.

Объявляем целочисленные переменные I, J, MAX.

В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й.

...

В качестве ответа необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Borland Pascal 7.0) или в виде блок-схемы. В этом случае вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).



Copyright testserver.pro 2013-2024 - AppleWebKit