Кабинет Информатики - Алгоритмы нахождения суммы, произведения и количества элементов массива. Работа с индексами массива

Кабинет Информатики

Пятница, 26.04.2024, 13:37
Меню сайта
Наш опрос
Есть ли в Вашем кабинете интерактивная доска?
Всего ответов: 386
Новости...
Конкурсы
Позитивный контент-2017

Конкурсы для педагогов: Серая цапля
Победитель Общероссийского рейтинга школьных сайтов
Знак качества Просвещения

Фонд 21 века
Рейтинг образовательных сайтов mega-talant.com
Эволюция - бесплатные конкурсы для педагогов и школьников
Фонд 21 века
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Besucherzahler
счетчик посещений
доступность сайта Среднее и дошкольное образование

Проголосуй за наш сайт
Каталог webplus.info
Форма входа

Обработка массивов

Одномерные массивы

Алгоритмы нахождения суммы, произведения и количества элементов массива. Работа с индексами элементов массива 

Задача 1. Определить сумму элементов массива Р(n), значения которых > заданного Т 
 USES Crt;
 CONST   N=30;
 VAR
   P:ARRAY[0..N] OF INTEGER;
   I,T:BYTE;   S:INTEGER;
 BEGIN
   ClrScr;   Randomize;
   { Заполнение массива случайными числами }
   WriteLn(' Значения элементов массива');
   FOR I:=1 TO N DO Begin
     P[I]:=Random(30);   Write(P[I]:3);
   End;   WriteLn;
   Write(' Введите значение переменной   ');   ReadLn(T);
   S:=0;
   FOR I:=1 TO N DO
     IF P[I]>T THEN S:=S+P[I]; { сумма элементов массива > T }
   WriteLn(' Сумма элементов массива > заданного значения = ',S);
 END.

Задача 2. Дан массив целых чисел, состоящий из 25 элементов. Подсчитать сумму   элементов массива, произведение положительных и количество нулевых   элементов. Результат вычисления вывести на экран. 
 USES Crt;
 VAR
   A:ARRAY[0..25] OF INTEGER;
   I: BYTE;   S,K: INTEGER;   P: REAL;
 BEGIN
   ClrScr;  Randomize;
   { Заполнение массива случайными числами }
   WriteLn(' Значения элементов массива');
   FOR I:=1 TO 25 DO Begin
     A[I]:=Random(10)-3;   Write(A[I]:3);
   End;   WriteLn;
   S:=0; K:=0; P:=1;
   FOR I:=1 TO 25 DO Begin
     S:=S+A[I];  { сумма элементов массива }
     IF A[I]>0 THEN P:=P*A[I]; { произведение положительных элементов массива }
     IF A[I]=0 THEN K:=K+1; { количество нулевых элементов массива }
   End;
   WriteLn(' Сумма элементов массива = ',S);
   WriteLn(' Произведение положительных элементов массива = ',P:0:0);
   WriteLn(' Количество нулевых элементов массива = ',K);
 END.

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

  • сумму элементов, имеющих нечетные индексы;
  • подсчитать количество элементов массива, значения которых больше заданного     числа T и кратны 5;
  • номер первого отрицательного элемента, делящегося на 5 с остатком 2.

 USES Crt;
 CONST   T=11;
 VAR
   A:ARRAY[0..15] OF INTEGER;
   I,NP,FL: BYTE;   S,K: INTEGER;
 BEGIN
   ClrScr;   Randomize;
   { Заполнение массива с клавиатуры }
   FOR I:=1 TO 15 DO Begin
     Write('Введите ',I,' злемент массива ');  ReadLn(A[I]);
   End;   WriteLn;
   S:=0; K:=0; FL:=0;
   FOR I:=1 TO 15 DO Begin
     IF I mod 2 =0 THEN S:=S+A[I]; { сумма элементов, имеющих четные индексы }
     IF (A[I]>T) AND (A[I] mod 5 =0) THEN K:=K+1; { количество }
     IF (A[I]<0) AND (A[I] mod 5 =-2) AND (FL=0) THEN Begin NP:=I; FL:=1; End;
   End;
   WriteLn(' Сумма элементов,имеющих четные индексы = ',S);
   WriteLn(' Количество элементов, значения которых > ',T,' и кратны 5 = ',K);
   WriteLn(' Номер первого отрицательного элемента, делящегося на 5 с остатком 2 = ',NP);
 END.

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

  • сумму положительных элементов, значения которых меньше 10;
  • вывести индексы тех элементов, значения которых кратны 5 и 3;
  • количество пар соседних элементов с суммой равной заданному числу. 

 USES Crt;
 CONST  T=21;
 VAR
   A:ARRAY[0..10] OF INTEGER;
   I: BYTE;   S,K: INTEGER;
 BEGIN
   ClrScr;   Randomize;
   { Заполнение массива с клавиатуры }
   FOR I:=1 TO 10 DO Begin
     Write('Введите ',I,' злемент массива ');   ReadLn(A[I]);
   End;   WriteLn;
   S:=0; K:=0;
   WriteLn(' Индексы элементов, значения которых кратны 3 и 5');
   FOR I:=1 TO 10 DO Begin
     IF (A[I]>0) AND (A[I]<10) THEN S:=S+A[I];
     IF (A[I] mod 3 =0) AND (A[I] mod 5 =0) THEN Write(I:3) ;
     IF I<>10 THEN IF A[I]+A[I+1]=T THEN K:=K+1;
   End;   WriteLn;
   WriteLn(' Сумма положительных элементов, значения которых < 10 = ',S);
   WriteLn(' Количество пар соседних элементов с суммой равной ',T,' = ',K);
 END.

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

  • удвоенную сумму положительных элементов;
  • вывести индексы тех элементов, значения которых больше значения     предыдущего элемента (начиная со второго);
  • количество пар соседних элементов с одинаковыми знаками.

 USES Crt;
 VAR
   A:ARRAY[0..10] OF INTEGER;
   I: BYTE;   S,K: INTEGER;
 BEGIN
   ClrScr;   Randomize;
   { Заполнение массива с клавиатуры }
   FOR I:=1 TO 10 DO Begin
     Write('Введите ',I,' злемент массива ');  ReadLn(A[I]);
   End;   WriteLn;
   S:=0; K:=0;
   WriteLn(' Индексы элементов, значения которых > значения предыдущего элемента');
   FOR I:=1 TO 10 DO Begin
     IF (A[I]>0) THEN S:=S+A[I];
     IF I<>1 THEN IF A[I] > A[I-1] THEN Write(I:3);
     IF I<>10 THEN IF (A[I] * A[I+1])>0 THEN K:=K+1;
   End;   WriteLn;
   WriteLn(' Удвоенная сумма положительных элементов = ',S*2);
   WriteLn(' Количество пар соседних элементов с одинаковыми знаками = ',K);
 END.

Задача 6.  Дан массив C, состоящий из N элементов. Элементы массива - произвольные   целые числа. Вывести на экран элементы массива в обратном порядке.

USES Crt;
 CONST   N=20;
 VAR
   C:ARRAY[0..N] OF INTEGER;
   I: BYTE;
 BEGIN
   ClrScr;   Randomize;
   WriteLn(' Значения элементов массива');
   FOR I:=1 TO N DO Begin
     C[I]:=Random(20);  Write(C[I]:3);
   End;   WriteLn;
   WriteLn(' Значения элементов массива в обратном порядке');
   FOR I:=N DOWNTO 1 DO
     Write(C[I]:3);
 END.

Задача 7.  Дан массив A, состоящий из N элементов. Элементы массива - произвольные   целые числа. Распечатать элементы в две строки: в первой строке элементы   с нечетными индексами, а во второй - элементы с четными индексами.

USES Crt;
 CONST   N=25;
 VAR
   A:ARRAY[0..N] OF INTEGER;
   I: BYTE;
 BEGIN
   ClrScr;  Randomize;
   WriteLn(' Значения элементов массива');
   FOR I:=1 TO N DO Begin
     A[I]:=Random(20);    Write(A[I]:3);
   end;   WriteLn;
   I:=1;
   WriteLn(' Элементы с нечетными индексами');
   WHILE I<=N DO Begin
     Write(A[I]:3);   I:=I+2;
   End;   WriteLn;
   I:=2;
   WriteLn(' Элементы с четными индексами');
   WHILE I<=N DO Begin
     Write(A[I]:3);   I:=I+2;
   End;
 END.

.....................................................................................................................................
Практические задания
.....................................................................................................................................

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

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

  • сумму элементов, имеющих нечетное значение;
  • вывести индексы тех элементов, значения которых больше заданного числа А;
  • количество положительных  элементов, кратных К. ( К вводится с клавиатуры ).

        3. Дан массив целых чисел, состоящий из N элементов. Определить среднее арифметическое положительных элементов.

        4.  Дан массив чисел. Найти, сколько в нём пар одинаковых соседних элементов.

        5. Оценки, полученные учащимися за урок, занесены в массив. Подсчитать количество «5» и «2», полученных учащимися за урок и средний балл.

        6. В очереди за билетами стоят мужчины и женщины. Какое количество мужчин стоит в начале очереди до первой женщины.

Поиск
Календарь
«  Апрель 2024  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930


Социальные сети
Официальная группа в ВК Официальная группа в ОК Официальная группа в Телеграм
Портфолио


Год семьи
Год культурного наследия народов России
Перепись населения-2021
Школьник помнит
Полезные ссылки
  • Учительский портал
  • Педсовет.ORG
  • Дневник.ру
  • ProШколу.ru
  • Pedsovet.su
  • Завуч.инфо
  • Методисты.ру
  • Методсовет
  • УчМет
  • ИнформатикУрок
  • Менеджер образования
  • Сеть творческих учителей
  • Сообщество учителей ИКТ


  • Узнай свой IP адрес
    Перечень олимпиад на 2022-2023 учебный год







    Портал о суевериях, поверьях и приметах народов России