СДАМ ГИА: РЕШУ ЕГЭ
Образовательный портал для подготовки к экзаменам
Информатика
≡ информатика
сайты - меню - вход - новости


Задания
Версия для печати и копирования в MS Word
Задание 25 № 4569

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

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

 

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

const

N=30;

var

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

i, j, p: longint;

begin

for i := 1 to N do

readln(a[i]);

end.

алг

нач

цел N=30

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

цел i, j, p

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

ввод a[i]

кц

...

кон

Бей­сикСи++

N=30

DIM A(N) AS LONG

DIM I, J, P AS LONG

FOR I = 1 TO N

INPUT A(I)

NEXT I

END

#include <iostream>

using namespace std;

#define N 30

int main(void){

long a[N];

long i, j, p;

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

cin >> a[i];

}

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

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

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

Python

# до­пус­ка­ет­ся также

# ис­поль­зо­вать две

# це­ло­чис­лен­ные пе­ре­мен­ные j, p

a = []

n = 30

for i in range(0, n):

a.append(int(input()))

...

 

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

Решение.

На языке Паскаль

p := 1;

for i := 1 to N do

if (a[i] mod 2<>0) and (a[i] mod 3=0) then

p := p * a[i];

writeln(p);

На алгоритмическом языке

p := 1

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

если mod(a[i],2)<>0 и mod(a[i],3)=0

то

p := p * a[i]

все

кц

вывод p

На языке Бейсик

P = 1

FOR I = 1 TO N

IF A(I) MOD 6=3 THEN

P = P * A(I)

ENDIF

NEXT I

PRINT P

На языке СИ

p=1;

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

if (a[i]%2!=0 && a[i]%3==0)

p*=a[i];

cout << p;

На естественном языке

Записываем в переменную P начальное значение, равное 1. В цикле от 1-го элемента до 30-го находим остаток от деления элемента исходного массива на 2 и на 3. Если остаток от деления на 2 не равен 0 и остаток от деления на 3 равен 0, то считаем произведение данного элемента массива и значения переменной P или достаточно проверить, что остаток от деления на 6 равен 3 (см. решение на языке Бейсик). Результат умножения сохраняем в переменную P. Переходим к следующему элементу массива.

После завершения цикла выводим значение переменной P.

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