Презентация по информатике на тему Одномерные массивы (приложение к лекции 9 класс


Задача. С клавиатуры вводится n чисел (числа могут повторяться). Необходимо подсчитать количество чисел равных наименьшему числу. Тема урока: «Одномерные массивы. Обработка массива» Цели: Узнать, что такое массив?Что можно хранить в массиве?Для чего он используется?Как записать массив в число?Как считать число из массива?Какие действия можно выполнять над информацией, попавшей в массив?


Массив представляет собой совокупность данных одного типа с общим для всех элементов именем.Массив относится к структурированным типам данных (упорядоченная совокупность данных).Номера элементов массива иначе называются индексами, а сами элементы массива — переменными с индексами (индексированными переменными).

-5824-9-16421Значение элемента массива а[3]=2, а[7]=4. а[3]=2индексимя массивазначениеДанные в массивах сохраняются только до конца работы программы. Для их долговременного хранения программа должна записать данные в файл.

Характеристики массива:тип — общий тип всех элементов массива;размерность (ранг) — количество индексов массива;диапазон изменения индекса (индексов) — определяет количество элементов в массиве Способы описания массиваНапример:Const n=100;var a: array[1..n] of real; { 100 элементов — вещественные числа } b: array[0..50] of char; { 51 элемент — символы }с: array[-3..4] of boolean; { 8 элементов — логические значения }x,y: array[1..20] of integer; { два массива x и у содержат по 20 элементов — целые числа }var ИмяМассива: array [НижняяГраница.. ВерхняяГраница] of Тип Элементов; Способы описания массиваМассив можно описать как типизированную константу.Например: const x: array[1..5] of integer=(l,3,5,7,9);В этом примере не просто выделяется память под массив, а происходит заполнение ячеек заданными значениями по строкам. Способы описания массиваПредварительное описание типа в разделе описания типов данных. Например. Type z: array[1..20] of integer;Var x, y: zType ИмяТипа = аггау [НижняяГраница.. ВерхняяГраница ] of Тип Элементов; Var ИмяМассива : ИмяТипа; Как вы думаете, при выполнении программы обязательно заполнять все ячейки данными? Почему? Если ячейка не заполнена то, какое значение в ней находится? Может ли реальное количество элементов в массиве может быть меньше, чем указано при описании? Почему? А может быть больше? Почему?

Способы заполнения массива1. Ввод данных с клавиатуры: for i:=1 to n do read (a[i]);2. Ввод данных с помощью датчика случайных чисел.Например. Заполним массив числами в диапазоне от -3 до 7.randomize;for i:=1 to n do a[i]:=random(11)-3;3. Считывая значения элементов из файла: for i:=1 to n do read (f, a[i]);



Способы заполнения массива4. Присваивание заданных значений;Например. Заполним массив четными числами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 write (a[i],’ ‘)




Действия с одномерными массивамиНапример.Var A, B: array[1..n] of integer;{5DA37D80-6434-44D0-A028-1B22A696006F}Выражение РезультатA=Bистина, если значение каждого элемента массива A равно соответствующему значению элемента B.A<>B.результат истина, если хотя бы одно значение элемента массива A не равно значению соответствующего элемента массива BA:=Bвсе значения элементов массива B присваиваются соответствующим элементам массива A. Действия над элементами массива.Вычислим сумму элементов.…Const n=10;Var a:array[1..n] of integer; {описываем массив а}i, s: integer;beginrandomize; s:=0;for i:=1 to n do begina[i]:=random(11)-3; {заполняем массив а случайными числами }write (a[i],’ ‘); {вывожу заполненный массив}end; for i:=1 to n do s:=s+a[i]; {находим сумму элементов массива а}writeln (‘сумма элементов массива =’, s) {выводим ответ }end.






Например: найти произведение элементов имеющих нечетный индекс.…Const n=10;Var a:array[1..n] of integer; {описываем массив а}i, p: integer;beginrandomize; p:=1;for i:=1 to n do begina[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.Действия над элементами массива.






Например, найти номер первого из элементов массива A, имеющего значение равное нулю. Если таких элементов нет, вывести соответствующее сообщение.Const n=10;Var a:array[1..n] of integer; i, p: integer;beginrandomize; p:=1;for i:=1 to n do begina[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.Действия над элементами массива.






Поиск максимального (минимального) элемента и его номера.Например, в одномерном массиве подсчитать количество элементов равных минимальному.Действия над элементами массива. Подведение итогов урокаЧем ценны массивы?Каким образом задается описание массива, что в нем указывается? Каким образом задается обращение к элементу массива?Почему при описании массива предпочтительнее употреблять константы , а не указывать размеры массива в явном виде?