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




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

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

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

 

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

N=30

DIM A(N) AS INTEGER

DIM I, J, S 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, s: integer;

begin

for i:=l to N do

readln(a[i]) ;

end.

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

#include <iostream>

using namespace std;

#define N 30

int main(){

int a[N];

int i, j, s;

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

cin >> a[i];

...

алг

нач

цел N=30

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

цел i, j, s

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

ввод а[i]

кц

кон

Python

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

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

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

a = []

n = 30

for i in range(0, n):

a.append(int(input()))

...

 

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

Решение.

Пример программы на языке Паскаль

s: =0;

for i:=1 to N do begin

if (10<=a[i]) and (a. [ i ] <= 9 9) and

((a[i] div 10) > (a[i] mod 10)) then s:=s+a[i];

end;

writeln(s);

 

Пример программы на языке Бейсик

S = 0

FOR I = 1 ТО N

IF 10 <=А(I) AND А(I)<=99 AND A(I)\10 > A(I) MOD 10 THEN S = S + A (I)

END IF NEXT I PRINT S

 

Пример программы на языке Си

s=0 ;

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

if (10<=a[i] && a[i]<=99 && a[i]/10 > a[i]%10)

s = s +a[i];

}

cout « s « endl;

 

Пример программы на алгоритмическом языке

s: =0

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

если 10<=a[i]<=99 и div(a[i],10) > mod(a[i],10)

то s:=s+a[i]

все

кц

вывод s