Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






Задача 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. В очереди за билетами стоят мужчины и женщины. Какое количество мужчин стоит в начале очереди до первой женщины.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.