100.07K
Категория: ПрограммированиеПрограммирование

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

1.

2.

Массивы
Массив – это упорядоченная последовательность,
состоящая из фиксированного количества величин
одного типа.
Особенности:
• все элементы имеют один тип
• у массива есть имя
• все элементы расположены в памяти рядом
Примеры:
• список учеников в классе
• квартиры в доме
• школы в городе
• данные о температуре воздуха за год, месяц…
2

3.

С точки зрения программирования:
Массив – пронумерованная совокупность ячеек
памяти, названная одним именем
1
2
3
4
5
6
7
44 22 10 Индекс
11 14 30 19
Имя массива
(порядковый
номер) элемента
массива
А
A [ 4 ] := 11;
Значение
элемента
массива

4.

Описание массива
Объявление массива в разделе описания
переменных:
Var имя:ARRAY[1..N] OF тип;
Например:
Имя массива
Количество Тип элементов
элементов
Var 9К:Array[1..20] of string;
Var dom12:Array[1..100] of integer;
Var Nsc:Array[1..212] of string;
Var temp:Array[1..31] of real;

5.

Заполнение массива
1. Заполнение массива с клавиатуры
.
.
.
For i:=1 to N do begin
Write(' a [ ' , i , ' ] = ' );
ReadLn ( a [ i ] );
End;

6.

Заполнение массива
2. Заполнение массива «по формуле».
.
.
.
For i:=1 to N do
a[ i ]:= формула;

7.

Вывод массива
а) в столбик:
For i:=1 to N do Writeln(a[i]:4:2);
б) в строку
For i:=1 to N do Write(a[i]:4:2);
2.23
2.23
3.19
1.44
4.93
5.58
3.19 1.44 4.93 5.58

8.

Заполнение массива
Составить
Program
n2; программу заполняющую массив из
10 элементов, числовой последовательностью:
Uses
Crt;
1,4,9,16…
var
a:array[1..10]
of integer;
2)
(где A
=
i
i
Значение элемента массива
i:integer;
зависит только от
begin
порядкового номера
clrscr;
for i:=1 to 10 do begin
a[i]:=i*i;
write(a[i]:5);
end;
end.
Задача 2.

9.

Нахождение суммы и произведения элементов массива
Нахождение суммы элементов массива:
Предполагаем, что

сумма равна нулю
s:=0;
For i:=1 to N do
s:=s+ a[i];
WriteLn ('Сумма = ', s);

Добавляем элемент
к сумме

10.

Подсчет количества элементов удовлетворяющих условию
Подсчет количества
элементов
удовлетворяющих
Предполагаем,
что
условию:
таких элементов
нет
k:=0;
For i:=1 to N do
If (условие) then k:=k+1;
WriteLn('Кол-во=‘ ,k);
Если такой элемент
есть, то К
увеличиваем на 1.

11.

Максимальный и минимальный элемент массива
Нахождение максимального элемента в массиве
и его номера:
Предполагаем,
Если что
находится
max:=a[1];
наибольший
элемент
больший
элемент
nmax:=1;
стоит на первом месте
for i:=2 to N do
Когда массив
if (a[i]>max)
then begin
закончился, выводим
max:=a[i];
наибольший элемент
Он становится
и его номер
nmax:=i;
максимальным
end;
WriteLn(‘Max=’ ,max);
WriteLn(‘Номер=’ ,nmax);

12.

Обработка массива
Изменение элементов массива удовлетворяющих
условию
For i:=1 to N do
If (условие) then a[i]:=значение:
Изменения:
Условия:
aa[ [i i] ]:=5
> 0––заменить
положительный
i-ый элемент
элемент
на массива
число 5
aa[ [i i] ]:=Mod
- a [2i =] –0 заменить
– четный i-ый
элемент
элемент
массива
на
противоположный
a [ i ] = int(a [ i ]) – целый
по знаку
элемент массива
aa[ [i i] ]:== ai –[ iэлемент
] * 2 – удвоить
массивакаждый
равен своему
элемент
массива
порядковому номеру
ai [Mod
i ] :=2a=[ 0i -–1]+3
четные
–заменить
порядковые
i-ый элемент
номера
предшествующим
a [ i ] = К – элемент
плюс
массива
3
равный числу К
English     Русский Правила