Информатика

Всё о сервере, форум!
Основы программирования
ИНФОРМАЦИОННО-РАЗВЛЕКАТЕЛЬНЫЙ ПОРТАЛ

ИНФОРМАТИКА: ЕГЭ, ТЕОРИЯ, ПРАКТИКА, ТЕСТЫ

Цикл FOR Дан фрагмент программы, обрабатывающей массив A из n элементов
ЕГЭ, ДОМАШНИЕ ЗАДАНИЯ > Алгоритмизация и программирование > Цикл FOR Дан фрагмент программы, обрабатывающей массив A из n элементов
 
Страницы:

Содержание заданий и решения
Example
Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести максимальное значение среди трёхзначных элементов массива, делящихся на 4. Если в исходном массиве нет трёхзначного элемента, кратного 4, то вывести сообщение «Не найдено».

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

В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Free Pascal 2.4) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).
РЕШЕНИЕ:

Example
Значения двух массивов A[1..300] и B[1..300] задаются с помощью следующего фрагмента программы:

Сколько элементов массива B будут иметь положительные значения?

1) 99
2) 100
3) 200
4) 201
РЕШЕНИЕ:

B(n) = 2*A(n)+1 > 0

2*A(n)+1 > 0

2*A(n) > -1

A(n) > -1/2

100 - n > -1/2

n < 100 1/2

n < 100,5

n = 1, 2, 3, 4 ...... 100

Ответ: 2

Example
В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниже представлен фрагмент одной и той же программы, записанный на разных языках программирования, в котором значения элементов сначала задаются, а затем меняются.

Чему будут равны элементы этого массива?

1) 10 9 8 7 6 5 4 3 2 1 0
2) 0 1 2 3 4 5 6 7 8 9 10
3) 0 1 2 3 4 5 4 3 2 1 0
4) 10 9 8 7 6 5 6 7 8 9 10
РЕШЕНИЕ:

A(0)=0
A(1)=1
A(2)=2
A(3)=3
A(4)=4
A(5)=5
A(6)=6
A(7)=7
A(8)=8
A(9)=9
A(10)=10

A(0) : = A(10) =10
A(10) : = A(0) =10

A(1) : = A(9) =9
A(9) : = A(1) =9

A(2) : = A(8) =8
A(8) : = A(2) =8

A(3) : = A(7) =7
A(7) : = A(3) =7

A(4) : = A(6) =6
A(6) : = A(4) =6

A(5) : = A(5) =5
A(5) : = A(5) =5

Получаем массив А(0)=10 А(1)=9 А(2)=8 А(3)=7 А(4)=6 А(5)=5 А(6)=6 А(7)=7 А(8)=8 А(9)=9 А(10)=10

A(6) : = A(4) =6
A(4) : = A(6) =6

A(7) : = A(3) =7
A(3) : = A(7) =7

A(8) : = A(2) =8
A(2) : = A(8) =8

A(9) : = A(1) =9
A(1) : = A(9) =9

A(10) : = A(0) =10
A(0) : = A(10) =10

10 9 8 7 6 5 6 7 8 9 10

Ответ: 4


Example
Дан фрагмент программы, обрабатывающей массив A из n элементов (известно, что в массиве имеются положительные элементы):

Чему будет равно значение переменной s после выполнения данного алгоритма?

1) Среднему арифметическому всех элементов массива A
2) Среднему арифметическому всех положительных элементов массива A
3) Количеству положительных элементов в массиве A
4) Значению последнего положительного элемента в массиве A

Example
Значения двумерного массива A размера 9×9 задаются с помощью вложенного оператора цикла в представленном фрагменте программы:

Сколько элементов массива A будут принимать четное значение?

1) 36
2) 40
3) 41
4) 45
РЕШЕНИЕ:

A(n,k)= n+k+1 четное ⇒ n+k нечетное

n=1 k=2,4,6,8
n=2 k=1,3,5,7,9
n=3 k=2,4,6,8
n=4 k=1,3,5,7,9
n=5 k=2,4,6,8
n=6 k=1,3,5,7,9
n=7 k=2,4,6,8
n=8 k=1,3,5,7,9
n=9 k=2,4,6,8

Ответ: 2

Example
В программе описаны одномерный целочисленный массив A с индексами от 0 до 10 и целочисленные переменные i и t. Ниже представлен фрагмент этой программы, записанный на разных языках программирования.

РЕШЕНИЕ:

A(0)=0
A(1)=1
A(2)=2
A(3)=3
A(4)=4
A(5)=5
A(6)=6
A(7)=7
A(8)=8
A(9)=9
A(10)=10

t : = A(0) = 0

A(0) : = A(1) =1
A(1) : = A(2) =2
A(2) : = A(3) =3
A(3) : = A(4) =4
A(4) : = A(5) =5
A(5) : = A(6) =6
A(6) : = A(7) =7
A(7) : = A(8) =8
A(8) : = A(9) =9
A(9) : = A(10) =10
A(10) : = t =0

1 2 3 4 5 6 7 8 9 10 0

Ответ: 3

Страницы:
 
При копировании материала с сайта активная ссылка обязательна!
Сайт управляется SiNG cms © 2010-2015