СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

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

Категория: Информатика

Нажмите, чтобы узнать подробности

Массивы

Просмотр содержимого документа
«Одномерные и двумерные массивы»

Задача. С клавиатуры вводится n чисел (числа могут повторяться). Необходимо подсчитать количество чисел равных наименьшему числу .

Задача.

С клавиатуры вводится n чисел (числа могут повторяться). Необходимо подсчитать количество чисел равных наименьшему числу .

Тема урока:  «Одномерные массивы.  Обработка массива»

Тема урока: «Одномерные массивы. Обработка массива»

Массив представляет собой совокупность данных одного типа с общим для всех элементов именем. Массив относится к структурированным типам данных (упорядоченная совокупность данных). Номера элементов массива иначе называются индексами , а сами элементы массива — переменными с индексами (индексированными переменными).
  • Массив представляет собой совокупность данных одного типа с общим для всех элементов именем.
  • Массив относится к структурированным типам данных (упорядоченная совокупность данных).
  • Номера элементов массива иначе называются индексами , а сами элементы массивапеременными с индексами (индексированными переменными).
-5 8 2 4 -9 -1 6 4 2 1 Значение элемента массива а[3]=2, а[7]=4. а[3]=2 имя массива индекс значение Данные в массивах сохраняются только до конца работы программы. Для их долговременного хранения программа должна записать данные в файл.

-5

8

2

4

-9

-1

6

4

2

1

Значение элемента массива а[3]=2,

а[7]=4.

а[3]=2

имя массива

индекс

значение

Данные в массивах сохраняются только до конца работы программы.

Для их долговременного хранения программа должна записать данные в файл.

Характеристики массива: тип  — общий тип всех элементов массива; размерность (ранг) — количество индексов массива; диапазон изменения индекса (индексов) — определяет количество элементов в массиве

Характеристики массива:

  • тип — общий тип всех элементов массива;
  • размерность (ранг) — количество индексов массива;
  • диапазон изменения индекса (индексов) — определяет количество элементов в массиве
Способы описания массива   var ИмяМассива: array [НижняяГраница.. ВерхняяГраница] of Тип Элементов; Например: 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 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 элементов — целые числа }

Способы описания массива   Массив можно описать как типизированную константу. Например:  const x: array[1..5] of integer=(l,3,5,7,9); В этом примере не просто выделяется память под массив, а происходит заполнение ячеек заданными значениями по строкам.

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

Массив можно описать как типизированную константу.

Например:

const x: array[1..5] of integer=(l,3,5,7,9);

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

Способы описания массива   Предварительное описание типа в разделе описания типов данных.  Например. Type z: array[1..20] of integer; Var x, y: z Type ИмяТипа = аггау [НижняяГраница.. ВерхняяГраница ] of Тип Элементов; Var ИмяМассива : ИмяТипа;

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

Предварительное описание типа в разделе описания типов данных.

Например.

Type z: array[1..20] of integer;

Var x, y: z

Type ИмяТипа = аггау [НижняяГраница.. ВерхняяГраница ] 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]);

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

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],’ ‘)

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

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; Выражение A=B Результат AB. истина, если значение каждого элемента массива A равно соответствующему значению элемента B. результат истина, если хотя бы одно значение элемента массива A не равно значению соответствующего элемента массива B A:=B все значения элементов массива B присваиваются соответствующим элементам массива A.

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

Например.

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

Выражение

A=B

Результат

AB.

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

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

A:=B

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

Действия над элементами массива.   Вычислим сумму элементов. … 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.

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

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

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.

Действия над элементами массива.   Например: найти произведение элементов имеющих нечетный индекс. … 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 20 then p:=p*a[i] {находим произведение элементов массива а имеющих нечетный индекс} writeln (‘призведение элементов массива =’, s) {выводим ответ } end.

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

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

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 20 then p:=p*a[i] {находим произведение элементов массива а имеющих нечетный индекс}

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

end.

Действия над элементами массива.   Например, найти номер первого из элементов массива A, имеющего значение равное нулю. Если таких элементов нет, вывести соответствующее сообщение. 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.

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

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

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.

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

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

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

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

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

Подведение итогов урока

  • Чем ценны массивы?
  • Каким образом задается описание массива, что в нем указывается?
  • Каким образом задается обращение к элементу массива?
  • Почему при описании массива предпочтительнее употреблять константы , а не указывать размеры массива в явном виде?
Домашнее задание   §41, 42 читать, отвечать на вопросы в конце параграфа. Решить задачи №3, №4 на стр. 227

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

  • §41, 42 читать, отвечать на вопросы в конце параграфа.
  • Решить задачи №3, №4 на стр. 227


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!