Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Урок(одномерные массивы).docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
34.47 Кб
Скачать

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

(Слайды 10,11)

Значения элементов массива также можно задать следующими способами:

  • при вводе данных с клавиатуры: for i:=1 to n do read (a[i]);

  • с помощью датчика случайных чисел.

Заполним массив числами в диапазоне от -3 до 7.

randomize;

for i:=1 to n do a[i]:=random(11)-3;

  • присваиванием заданных значений;

Заполним массив четными числами

for i:=1 to n do a[i]:=i*2;

или

for i:=1 to n do begin

readln (x);

if x mod 2=0 then a[i]:=x

  • считывая значения элементов из файла: for i:=1 to n do read (f,a[i]);

Вывод элементов массива осуществляется в цикле: for i:=1 to n do write (a[i],’ ‘)

Действия с одномерными массивами.

(Слайд 12)

Для работы с массивом как единым целым используется имя массива без указания индекса в квадратных скобках. Массивы могут участвовать только в операциях отношения «равно», «не равно», и в операторе присваивания. В этом случае массивы должны иметь одинаковый тип элементов и одинаковое количество элементов.

Например.

Var A,B:array[1..n] of integer;

Применение допустимых операций даст следующий результат:

A=B-результат истина, если значение каждого элемента массива а равно соответствующему значению элемента b.

A<>B- результат истина, если хотя бы одно значение элемента массива а не равно значению соответствующего элемента массива b.

A:=B- все значения элементов массива B присваиваются соответствующим элементам массива A.

Действия над элементами массива.

(Слайд 13)

Пусть в одномерном массиве а содержится n элементов- целые числа.

  • Нахождение суммы, произведения, среднеарифметического элементов массива удовлетворяющих заданным условиям.

Например. Вычислим сумму элементов.

Program z1;

Uses crt;

Const n=10;

Var a:array[1..n] of integer; {описываем массив а}

i, s: integer;

begin

randomize; s:=0;

for i:=1 to n do begin

a[i]:=random(11)-3; {заполняем массив а случайными числами }

write (a[i],’ ‘); {вывожу заполненный массив}

end;

for i:=1 to n do s:=s+a[i]; {находим сумму элементов массива а }

writeln (‘сумма элементов массива =’, s) {выводим ответ }

end.

(Слайд 14)

  • Подсчет количества элементов, удовлетворяющих какому-либо условию.

Например, найдем произведение элементов имеющих нечетный индекс.

Program z2;

Uses crt;

Const n=10;

Var a:array[1..n] of integer; {описываем массив а}

i, p: integer;

begin

randomize; p:=1;

for i:=1 to n do begin

a[i]:=random(11)-3; {заполняем массив а случайными числами }

write (a[i],’ ‘); {вывожу заполненный массив}

end;

for i:=1 to n do

if i mod 2<>0 then p:=p*a[i] {находим произведение элементов массива а имеющих нечетный индекс}

writeln (‘призведение элементов массива =’, s) {выводим ответ }

end.

(Слайд 15)

  • Поиск элемента с заданным значением. Найти элемент — это значит вы­яснить его номер в массиве.

Например, найдем номер первого из элементов массива а, имеющего значение равное нулю. Если таких элементов нет, выведем соответствующее со­общение.

Program z2;

Uses crt;

Const n=10;

Var a:array[1..n] of integer; {описываем массив а}

i, p: integer;

begin

randomize; p:=1;

for i:=1 to n do begin

a[i]:=random(11)-3; {заполняем массив а случайными числами }

write (a[i],’ ‘); {вывожу заполненный массив}

end;

i:=1;

repeat

i:=i+1

until (a[i]=0) or (i=n) ; {выход из цикла, когда нашли нужный элемент или массив закончился}

if a[i]=0 then writeln (‘номер первого нулевого элемента=’, i)

else writeln (‘ таких элементов нет!’);

end.

(Слайд 16)

  • Поиск максимального (минимального) элемента и его номера.

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

Ребята, кто попробует решить эту задачу на доске? Вызываю к доске ученика пожелавшего решить задачу.

А с остальными ребятами проговариваем алгоритм решения.

    1. Описать массив.

    2. Заполнить массив.

    3. Найти минимальный элемент массива.

    4. Подсчитать количество элементов равных минимальному.

For i:= 1 to n do if a[i]=min then k:=k+1;

Рассматриваем решение на доске. Комментируем, исправляем ошибки, если таковы были.

  • Сортировка элементов массива.

  • Сдвиг, удаление и вставка элементов массива.

Последние перечисленные действия над элементами массива мы будем рассматривать позже.

(Слайд 17)

  1. Подведение итога урока. А теперь, ребята вернемся к целям урока (которые записаны на доске). Скажите на все вопросы мы нашли ответы?

Чем ценны массивы?

Ученик. (Предполагаемый ответ) Массивы ценны тем, что:

  • Индексы элементов массива обеспечивают доступ не к одному, а к последовательно­сти элементов. Обработка массивов производится при изменении индексов элементов.

  • Сразу можно хранить и обрабатывать большое количество однотипных данных

Каким образом задается описание массива, что в нем указывается?

Каким образом задается обращение к элементу массива?

Почему при описании массива предпочтительнее употреблять константы , а не указывать размеры массива в явном виде?

(Слайд 20)

  1. Домашнее задание.

Решить задачу: написать программу сортировки отрицательных элементов одномерного массива по возрастанию.