Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C2.doc
Скачиваний:
10
Добавлен:
16.09.2019
Размер:
393.22 Кб
Скачать

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

I, j, min: integer;

begin

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

min:= 9999;

for i:=1 to N do begin

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

(a[i] mod 5 = 0) then

if a[i] < min then min:=a[i];

end;

writeln(min);

end.

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

Паскаль

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

const N=30;

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

i,j,s: integer;

begin

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

...

end.

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

Объявляем целочисленные переменные I, J, S. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й.

...

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

Простая задача. Приведем сразу решение.

Решение на естественном языке. Записываем в переменную s начальное значение 0. В цикле перебираем значения переменной i от 1 до N. Если значение очередного элемента массива a[i] кратно 13 (остаток от его деления на 13 равен нулю), то считаем сумму значения a[i] и переменной s и записываем ее в переменную s. После окончания цикла выводим значение s.

Решение на Паскале.

const N=30;

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

I, j, s: integer;

begin

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

s:= 0;

for i:=1 to N do

if a[i] mod 13 = 0 then

s:= s + a[i];

writeln(s);

end.

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

Паскаль

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

const N=30;

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

i,j,min: integer;

begin

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

...

end.

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

Объявляем целочисленные переменные I, J, MIN. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й.

...

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

В этой задаче нужно найти минимум среди трехзначных чисел, то есть таких, для которых выполняется условие 100<=X<=999. Единственная трудность – выбрать начальное значение для переменной min. Наиболее очевидный вариант – взять начальное значение, большее максимального нужного нам числа, например, 1000. При этом если после прохода по массиву это значение не изменится, можно сделать вывод, что трехзначных чисел в нем нет вообще.

Решение на естественном языке. Записываем в переменную min начальное значение 1000. В цикле перебираем значения переменной i от 1 до N. Если значение очередного элемента массива a[i] одновременно больше 99, меньше 1000 и меньше, чем текущее значение переменной min, записываем в переменную min значение a[i]. После окончания цикла проверяем значение min: если оно равно 100, то выводим сообщение «Нет трёхзначных чисел», иначе выводим значение min.

Решение на Паскале.

const N=30;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]