
- •Лекция 6 Массивы. Множества. Строки Массивы
- •1 Одномерные массивы
- •1.1 Основные понятия
- •1.2 Описание массива
- •1.3 Заполнение массива
- •2. Алгоритмы нахождения суммы, произведения и количества элементов массива. Работа с индексами элементов массива
- •3. Алгоритмы нахождения наибольшего или наименьшего элемента массива и его индекса
- •2 Двумерные массивы
- •2.1 Основные понятия
- •2.2 Описание массива
- •2 Алгоритмы формирования одномерного массива
- •3 Алгоритмы нахождения наибольшего и наименьшего элементов двумерного массива
- •3.Множества
- •3. 1 Операции над множествами
- •3.2 Примеры решения задач
- •4. Строки
- •4.1 Строковые выражения
- •4.2 Стандартные процедуры и функции для обработки строковых данных
- •Insert(St1, St2, Poz)
- •4.3 Примеры решения задач
- •1.Задачи на подсчет символов.
- •2. Задачи на замену символов.
- •3. Задачи на удаление символов.
- •4. Задачи на вставку символов.
2. Алгоритмы нахождения суммы, произведения и количества элементов массива. Работа с индексами элементов массива
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.
Примеры для самостоятельного решения:
Дан массив целых чисел, состоящий из 10 элементов. Заполнить его с клавиатуры. Найти:
сумму отрицательных элементов;
количество тех элементов, значения которых положительны и не превосходят заданного числа А;
номер последней пары соседних элементов с разными знаками.
Дан массив целых чисел, состоящий из 10 элементов. Заполнить его с клавиатуры. Найти:
сумму элементов, имеющих нечетное значение;
вывести индексы тех элементов, значения которых больше заданного числа А;
количество положительных элементов, кратных К. ( К вводится с клавиатуры ).
Дан массив целых чисел, состоящий из N элементов. Определить среднее арифметическое положительных элементов.
Дан массив чисел. Найти, сколько в нем пар одинаковых соседних элементов.
Оценки, полученные учащимися за урок, занесены в массив. Подсчитать количество «5» и «2», полученных учащимися за урок и средний балл.
В очереди за билетами стоят мужчины и женщины. Какое количество мужчин стоит в начале очереди до первой женщины.