Главное меню  

   

Авторизация  

   
   
Хостинг в Украине
   


38%Russian Federation Russian Federation
29.5%Ukraine Ukraine
16.8%United States United States
2.8%Belarus Belarus
2.2%Kuwait Kuwait
2%Kazakhstan Kazakhstan
1.2%France France
1.1%Czech Republic Czech Republic
0.9%Romania Romania
0.7%United Kingdom United Kingdom

Сегодня: 50
Вчера: 140
На прошлой неделе: 1367
В этом месяце: 4069
В прошлом месяце: 2998
Всего: 10593


   

Учитель информатики Бамбуркин С.П.

Записи

  • Главная
    Главная Страница отображения всех блогов сайта
  • Категории
    Категории Страница отображения списка категорий системы блогов сайта.

Нахождение количества элементов в массиве, удовлетворяющих заданному условию. Паскаль ABC

Добавлено : Дата: в разделе: Прикладная информатика

Задача. Дан массив целых чисел. Найти количество тех элементов, значения которых положительны и не превосходят заданного натурального числа А.

Введем обозначения: n – количество элементов в массиве; X – имя массива; i – индекс элемента массива; Xi – i-й элемент массива X; А – заданное число; k – количество элементов, значения которых положительны и не превосходят заданного числа А.

Входные данные: n, X, A.

Выходные данные: k.

Вводим с клавиатуры значение числа А. Количество элементов, значения которых положительны и не превосходят заданного числа А, вначале полагаем равным нулю, то есть k:=0. Если очередной элемент массива положителен и не превосходят заданного числа A, то количество таких элементов нужно увеличить на единицу, то есть k:=k + 1. Таким образом, обрабатываются все элементы массива.

При решении этой задачи можно использовать любой из видов циклов. Рассмотрим несколько вариантов решения задачи.

Первый способ.  Для решения используется цикл с параметром:

Program massiv_1;
Var X: Array[1..20] Of Integer;
i, n, k, A: Integer;
Begin
Write (‘n=’); Readln (n);
For i:=1 To n Do Readln (X[i]); //ввод массива
Write (‘A=’); Readln (A); k:= 0;
For i:=1 To n Do //обработка массива
If (X[i] >0) and (X[i] <= A) Then
k:=k + 1;
Writeln (‘k=’, k);
End.

Второй способ. Для решения используется цикл с постусловием:

Program massiv_1_2;
Var X: Array[1..20] Of Integer;
i, n, k, A: Integer;
Begin
Write (‘n=’); Readln (n); i:=1;
Repeat
Read (X[i]); i := i + 1
Until i > n;
Write (‘A=’); Readln (A); k:= 0; i:=1;
Repeat
If (X[i] >0) and (X[i] <= A) Then
k:=k + 1; i := i + 1
Until I > n;
Writeln (‘k=’, k);
End.

Редактировалось Дата:

Добавить комментарий


Защитный код
Обновить

   
© 2012 fordus.