
- •Лекция 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. Задачи на вставку символов.
3. Алгоритмы нахождения наибольшего или наименьшего элемента массива и его индекса
1. Дан массив K, состоящий из 45 элементов. Элементы массива - произвольные целые числа. Определить минимальный элемент массива и его индекс.
USES Crt;
VAR
K:ARRAY[0..45] OF INTEGER;
I,IND: BYTE; MIN:INTEGER;
BEGIN
ClrScr; Randomize;
WriteLn(' Значения элементов массива');
FOR I:=1 TO 45 DO Begin
K[I]:=Random(35)+6; Write(K[I]:3);
End; WriteLn;
MIN:=K[1]; IND:=1;
{ нахождение минимального значения и его индекса }
FOR I:=2 TO 45 DO
IF K[I]<MIN THEN Begin MIN:=K[I]; IND:=I; End;
WriteLn(' Минимальное значение = ',MIN);
WriteLn(' Индекс минимального значения = ',IND);
END.
2. Дан массив B, состоящий из N элементов. Элементы массива - произвольные целые числа. Определить сумму элементов, расположенных до максимального элемента массива.
USES Crt;
CONST N=20;
VAR
B:ARRAY[0..N] OF INTEGER;
I,IND: BYTE; MAX,S:INTEGER;
BEGIN
ClrScr; Randomize;
WriteLn(' Значения элементов массива');
FOR I:=1 TO N DO Begin
B[I]:=Random(35); Write(B[I]:3);
End; WriteLn;
MAX:=B[1]; IND:=1;
{ нахождение максимального значения и его индекса }
FOR I:=2 TO N DO
IF B[I]>MAX THEN Begin MAX:=B[I]; IND:=I; End;
WriteLn(' Максимальное значение = ',MAX);
{ нахождение суммы элементов, расположенных до максимального элемента }
S:=0;
FOR I:=1 TO IND-1 DO
S:=S+B[I];
WriteLn(' Cумма элементов, расположенных до максимального элемента =',S);
END.
3. Известны данные о среднемесячной температуре за год. Определить, какая была самая высокая температура летом и самая низкая зимой.
USES Crt;
VAR
MAS: ARRAY[1..12] OF REAL;
I: INTEGER; MIN,MAX:REAL;
BEGIN
ClrScr;
{ Заполнение массива с клавиатуры }
FOR I:=1 TO 12 DO Begin
Write(' Введите среднюю температуру за ',I,' месяц '); ReadLn(MAS[I]);
End;
MAX:=MAS[6]; MIN:=MAS[12];
{ Определение самой высокой температуры летом }
FOR I:=7 TO 8 DO
IF MAX<MAS[I] THEN MAX:=MAS[I];
{ Определение самой низкой температуры зимой }
FOR I:=1 TO 2 DO
IF MIN>MAS[I] THEN MIN:=MAS[I];
WriteLn(' Самая высокая температура летом ',MAX);
WriteLn(' Самая низкая температура зимой ',MIN);
END.
Примеры для самостоятельного решения:
Дан массив чисел. Найти значение максимального элемента. Если таких элементов несколько, то определить, сколько их.
Дан массив чисел. Найти среднее арифметическое максимального и минимального элемента. Вывести значения и индексы этих элементов.
Дан массив чисел. Определить количество элементов, находящихся в интервале от 1 до 12 и расположенных до максимального элемента массива.
2 Двумерные массивы
2.1 Основные понятия
Иногда решение задачи возможно только при наличии многомерных массивов, или матриц. Наиболее часто применяются двумерные массивы, поскольку описывать информацию по ее позиции в одномерном списке весьма неудобно. Представьте себе, как трудно было бы найти свое место на стадионе, если бы на билете указывался лишь порядковый номер сиденья - один из многих тысяч! Билеты же, на которых проставлены и номер ряда, и номер места, существенно упрощают эту задачу. Составители географических карт тоже пользуются таким приемом. Координаты Парижа, Осло, Рима, обозначаются не как 1, 2 или 300, а в терминах градусов широты и долготы. Эти два числа указывают местоположение города относительно экватора и начального (Гринвичского) меридиана.
Каждый элемент двумерного массива описывается двумя индексами: первый обозначает номер строки, а второй - номер столбца.
A[4,5], A[2,7], A[6,3], ..., A[m,n].