Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Задача 17. Определение количества чисел, удовлетворяющих условию

Поиск

Условие задачи. Вводится 12 целых чисел. Определить, сколько из них являются четными положительными.

При необходимости подсчитать количество случаев, когда выполняется некоторое условие, поступают следующим образом. Используют целочисленную переменную – счетчик, которой сначала присваивается нулевое значение. Затем нужное количество раз проверяется необходимое условие, и каждый раз при его выполнении переменная – счетчик увеличивается на 1. Тем самым осуществляется подсчёт искомого количества.

Поскольку по условию требуется сосчитать количество введенных четных положительных чисел, то надо проверить, удовлетворяет ли число обоим признакам: четности и положительности.

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

Так как заранее известно, сколько всего вводится чисел, можно использовать алгоритмическую конструкцию «цикл с предопределенным числом повторений», 12 раз повторив последовательность «ввод числа – проверка числа (с увеличением счетчика чисел, удовлетворяющих условию)». Разумеется, начальное значение счетчика должно быть нулевым, тем более, что, возможно, пользователь не введет ни одного четного положительного числа. При этом, поскольку нет необходимости сохранять каждое из введенных пользователем чисел после проверки, то для ввода чисел можно использовать одну и ту же переменную, а не 12 различных переменных.

Запишем данный способ решения в виде алгоритма

1. Присвоить переменной – счетчику четных положительных чисел значение 0.

2. Повторить 12 раз следующие шаги:

2.1. Вывести сообщение «Введите целое число:».

2.2. Ввести значение переменной – введенное число.

2.3. Если введенное число строго больше 0, то если остаток от деления введенного числа на 2 равен 0, то увеличить на 1 значение переменной – счетчика целых положительных чисел.

3. Вывести сообщение «Среди введенных целых чисел четных положительных:»

4. Вывести значение переменной – счетчика целых положительных чисел.

Перепишем приведенный алгоритм в терминах, более соответствующих используемым в компьютерных программах. Для сокращения записи обозначим «взять остаток от деления a на b» как «a mod .

Переменную для хранения числа четных положительных чисел назовем Counter, переменную для хранения значения введенного числа назовем Number. Тогда алгоритм можно записать в следующем виде.

Структурированная запись алгоритма 17

1. Counter = 0.

2. Повторить 12 раз следующие шаги:

2.1. Вывести сообщение «Введите целое число».

2.2. Ввести значение переменной Number.

2.3. Если Number > 0, то, если Number mod 2 = 0, то
Counter = Counter + 1.

4. Вывести сообщение «Среди введенных целых чисел четных положительных:».

5. Вывести значение переменной Counter.

Схема алгоритма

 

 

Текст программы на языке Си

#include <stdio.h>

#include <stdlib.h>

/* Программа подготовлена с помощью Dev-C++ 5.11

*/

#define N 12

int main(int argc, char *argv[]) {

unsigned int i, Counter=0;

int Number;

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

printf("Введите целое число: ");

scanf("%d",&Number);

if(Number > 0)

     if(Number % 2 == 0)

         Counter++;

}

printf("Четных положительных чисел: %u\n",

     Counter);   

system("pause");

return 0;

}

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

Program Pr_17;

Var

i, Number, Counter: integer;

begin

Counter:=0;

for i:=1 to 12 do

begin

write('Введите целое число:’);

readln(Number);

if Number > 0 then

    if Number mod 2 = 0 then

       Counter = Counter + 1;

end;

writeln(' Четных положительных чисел - ',

       Counter);

end.



Поделиться:


Последнее изменение этой страницы: 2021-04-12; просмотров: 107; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.161.57 (0.006 с.)