Одномерные массивы целых чисел

Содержание

Слайд 2

Ключевые слова массив описание массива заполнение массива вывод массива обработка массива последовательный поиск сортировка

Ключевые слова

массив
описание массива
заполнение массива
вывод массива
обработка массива
последовательный поиск
сортировка

Слайд 3

Массив Массив - это поименованная совокупность однотипных элементов, упорядоченных по индексам,

Массив

Массив - это поименованная совокупность однотипных элементов, упорядоченных по индексам, определяющим

положение элемента в массиве.

Решение разнообразных задач, связанных с обработкой массивов, базируется на решении таких типовых задач, как:
- суммирование элементов массива;
- поиск элемента с заданными свойствами;
- сортировка массива.

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

Значение элемента массива

Индекс элемента массива

Слайд 4

Описание массива Общий вид описания массива: var : array [ ..

Описание массива

Общий вид описания массива:
var <имя_массива>: array [<мин_знач_индекса> ..
<макс_знач_индекса>] of <тип_элементов>;

var

a: array [1..10] of integer;

const b: array [1..5] of integer = (4, 2, 3, 5, 7);

Тип элементов массива

Имя массива

Максимальное значение индекса

Минимальное значение индекса

Значение 1-го элемента массива

Массив b с постоянными значениями описан в разделе описания констант.

Слайд 5

Способы заполнения массива 1 способ. Ввод каждого значения с клавиатуры: for

Способы заполнения массива

1 способ. Ввод каждого значения с клавиатуры:
for i:=1 to

10 do read (a[i]);
2 способ. С помощью оператора присваивания (по формуле):
for i:=1 to 10 do a[i]:=i;
3 способ. С помощью оператора присваивания (случайными числами):
randomize;
for i:=1 to 10 do a[i]:=random(100);

a[i]=2*a[i]+6

Слайд 6

Вывод массива 1 способ. Элементы массива можно вывести в строку, разделив

Вывод массива

1 способ. Элементы массива можно вывести в строку, разделив их

пробелом:
for i:=1 to 10 do write (a[i], ' ');

2 способ. Вывод с комментариями:
for i:=1 to 10 do writeln ('a[', i, ']=', a[i]);

Слайд 7

Объявление массива Заполнение массива Вывод массива program n_2 ; var i:

Объявление массива

Заполнение массива

Вывод массива

program  n_2 ; var i: integer;
a: array[1..10]

of integer;

Заполнение массива A(10) случайными числами и вывод элементов массива

randomize;
begin  for i:=1 to 10 do a[i]:=random(100);

for i:=1 to 10 do write (a[i],` `);   end.

Слайд 8

Вычисление суммы элементов массива Суммирование элементов массива осуществляется за счёт поочерёдного

Вычисление суммы элементов массива

Суммирование элементов массива
осуществляется за счёт поочерёдного добавления

слагаемых:

Определяется ячейка памяти (переменная s),
в которой будет последовательно накапливаться
результат суммирования

Переменной s присваивается начальное значение 0
- число, не влияющее на результат сложения

Для каждого элемента массива из переменной s
считывается её текущее значение и складывается
со значением элемента массива;
полученный результат присваивается переменной s.

Слайд 9

Вычисление суммы элементов массива Основной фрагмент программы: s:=0; for i:=1 to n do s:=s+a[i];

Вычисление суммы элементов массива

Основной фрагмент программы:
s:=0;
for i:=1 to n do s:=s+a[i];

Слайд 10

Вычисление суммы элементов массива program n_3; var s, i: integer; a:

Вычисление суммы элементов массива

program  n_3;
var s, i: integer;
a: array[1..10]

of integer;
begin 
s:=0;
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write (a[i],` `);
for i:=1 to 10 do s:=s+a[i];
writeln ('s=', s)
end.
Слайд 11

Вычисление суммы элементов массива program n_3_1; var s, i: integer; a:

Вычисление суммы элементов массива

program  n_3_1;
var s, i: integer;
a: array[1..10]

of integer;
begin 
s:=0;
randomize;
for i:=1 to 10 do
begin
a[i]:=random(100);
write (a[i],` `);
s:=s+a[i]
end;
writeln ('s=', s)
end.

Второй способ оформления:
Используем операторные скобки и всё (ввод, вывод, обработку) делаем в одном цикле.

Слайд 12

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

Типовые задачи поиска

Нахождение наибольшего (наименьшего)
элемента массива

Нахождение элемента массива, значение
которого

равно заданному значению
Слайд 13

1) Взять верхнюю карточку, записать на доске (запомнить) число как наибольшее.

1) Взять верхнюю карточку, записать на доске
(запомнить) число как наибольшее.

2) Взять

следующую карточку, сравнить числа. Если
на карточке число больше, то стереть старую запись и записать это число.

Нахождение наибольшего элемента
в стопке карточек с записанными числами:

3) Повторить действия, описанные в пункте 2 для всех
оставшихся карточек.

При организации поиска наибольшего элемента массива правильнее искать его индекс.

!

Слайд 14

Программа поиска наибольшего элемента в массиве program n_4; var i, imax:

Программа поиска наибольшего элемента в массиве

program  n_4;
var i, imax: integer;


a: array[1..10] of integer;
begin 
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write (a[i],` `);
imax:=1;
for i:=2 to 10 do
if a[i]>a[imax] then imax:=i;
write ('Наибольший элемент a[', imax, ']=', a[imax])
end.
Слайд 15

Нахождение элемента массива с заданными свойствами Результатом поиска элемента, значение которого

Нахождение элемента массива с заданными свойствами

Результатом поиска элемента, значение которого равно

заданному, может быть:

n - индекс элемента массива такой, что a[n]= x, где х - заданное число;
сообщение о том, что искомого элемента в массиве не обнаружено.

Здесь:
трём равен 4-й элемент;
десяти равны 1-й и 9-й элементы;
нет элемента, равного 12.

Слайд 16

Поиск элемента, равного 50 Будет найден последний из элементов, удовлетворяющих условию.

Поиск элемента, равного 50

Будет найден последний из элементов, удовлетворяющих условию.


program  n_5;
var n, i: integer;
a: array[1..10] of integer;
begin 
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write (a[i],` `);
n:=0;
for i:=1 to 10 do
if a[i]=50 then n:=i;
if n=0 then write('Нет') else write (i)
end.

Слайд 17

Поиск элемента, равного 50 program n_5_1; var n, i: integer; a:

Поиск элемента, равного 50

program  n_5_1;
var n, i: integer;

a: array[1..10] of integer;
begin 
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write (a[i],` `);
i:=0;
repeat
i:=i+1;
until (a[i]=50) or (i=10);
if a[i]=50 then write(i) else write('Нет')
end.

Будет найден первый из элементов, удовлетворяющих условию.

Слайд 18

Подсчет количества элементов Для подсчета вводится переменная, значение которой увеличивается на

Подсчет количества элементов

Для подсчета вводится переменная, значение которой увеличивается на единицу

каждый раз, когда найден нужный элемент.

program  kolich;
var k, i: integer;
a: array[1..10] of integer;
begin 
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write (a[i],` `);
k:=0;
for i:=1 to 10 do if a[i]>50 then k:=k+1;
write('k=', k)
end.

Слайд 19

Сумма значений элементов, удовлетворяющих условию program sum ; var s, i:

Сумма значений элементов, удовлетворяющих условию

program  sum ;
var s, i: integer;


a: array[1..10] of integer;
begin 
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write (a[i],` `);
s:=0;
for i:=1 to 10 do
if (a[i]>10) and (a[i]<30) then s:=s+a[i];
write(‘s=', s)
end.
Слайд 20

Сортировка массива 1. В массиве выбирается максимальный элемент 2. Максимальный и

Сортировка массива

1. В массиве выбирается максимальный элемент

2. Максимальный и первый элемент

меняются местами
(первый элемент считается отсортированным)

3. В неотсортированной части массива снова выбирается
максимальный элемент; он меняется местами с первым
неотсортированным элементом массива

Действия пункта 3 повторяются с неотсортированными
элементами массива, пока не останется один
неотсортированный элемент (минимальный)

Сортировка элементов массива по невозрастанию
выбором осуществляется следующим образом:

Слайд 21

Сортировка массива 1 6 9 0 0 2 5 0 4

Сортировка массива

1

6

9

0

0

2

5

0

4

3

3

2

2

1

1

0

1

2

4

3

6

5

9

1

4

5

2

6

9

0

2

4

3

5

9

6

2

4

3

1

9

6

5

3

1

0

9

6

5

4

1

9

6

5

4

3

0

0

9

6

5

4

3

2

Слайд 22

Сортировка массива program rost; var n, i, j, x, imax: integer;

Сортировка массива

program rost;
var n, i, j, x, imax: integer;
a:

array [1..10] of integer;
begin
for i:=1 to 10 do read (a[i]);
for i:=1 to 10 do write (a[i], ' ');
for i:=1 to 9 do
begin
imax:=i;
for j:=i+1 to 10 do if a[j]>a[imax] then imax:=j;
x:=a[i];
a[i]:=a[imax];
a[imax]:=x
end;
for i:=1 to 10 do write (a[i], ' ')
end.