Главное меню  

   

Авторизация  

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


45%Russian Federation Russian Federation
21.5%Ukraine Ukraine
19.1%United States United States
2.4%Belarus Belarus
2.1%Kuwait Kuwait
1.8%Kazakhstan Kazakhstan
1.1%Romania Romania
1.1%France France
1%Czech Republic Czech Republic
0.5%United Kingdom United Kingdom

Сегодня: 39
Вчера: 180
На этой неделе: 39
На прошлой неделе: 1397
В этом месяце: 4182
В прошлом месяце: 4807
Всего: 13745


   

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

Записи

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

Нахождение количества элементов в массиве, удовлетворяющих заданному условию. Паскаль 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.