Просмотр содержимого документа
«урок информатики:"Массивы"»
Тема: Понятие массива. Одномерный массив.
Цель урока: Учащиеся должны усвоить понятие массива и
научиться формировать одномерный массив
План урока
Понятие массива, мерность.
описание массива
обработка массива
практическая работа на ПК
домашнее задание
Содержание урока.
1.Понятие массива играет важную роль в обработке информации и часто применяется в реальных задачах, например, последовательности, изучаемые в школе, - арифметическая и геометрическая прогрессии, списки учащихся и их оценки, результаты опытов и многое другое.
Массив –это именованный набор фиксированного количества однотипных данных, доступ к элементам массива осуществляется по их номерам (индексам). Элементами массива могут быть данные любого типа, включая структурированные, но в одном массиве могут храниться данные только одного типа (real, integer, string, char и пр.). Число элементов массива и их тип фиксируется при описании массива и в процессе выполнения программы не меняется.
Количество индексов определяет размерность массива.
Массив может быть одномерный (один индекс), еще его называют линейным;
5 8 14 0 -12,5 45 3
А значения элементов; А(1)=5; А(5)= -12,5;
1 2 3 4 5 6 7
индексы элементов
двухмерным (два индекса), это таблица или матрица;
-2 54 128 31 5 -78 23
512 41 -4,81 32 -7 2,7 -4
12 6,2 -5,1 78 21 8,3 0
1 2 3 4 5 6 7
1 В(2,5)= -7
В 2 В(1,7)= 23
3 В(3,1)= 12
трехмерным (три индекса) и т.д. Размерность массива ограничена только объемом памяти конкретного компьютера.
Необходимо четко разделить два понятия: индекс элемента и значение элемента.
2.Массивы описываются в разделе описания переменных, при этом описание массива включает описание типа элементов массива, его размер и тип индексов. Формат записи:
type
имя типа = array[тип индекса] of ;
var
: ;
Массив может быть описан и без представления типа в разделе описания типов данных:
var
идентификатор, ... : array [тип индекса] of тип компонента;
Примеры:
var
A : array [1..7] of real; {одномерный массив из 7 элементов}
B : array [1..3,1..7] of real; {двухмерный массив из 3 строк и 7 столбцов}
Massiv : array [1..100,1..70] of integer; {двухмерный массив 100х70}
Spisok : array [1..200] of string; {линейный массив из 200 элементов}
Для описания массива можно использовать предварительно определенные константы:
const
n=1000; k=60;
var
massiv : array [1..n,1..k] of real;
3.Операции по вводу, выводу и обработке массива требуют перебор всех или некоторых элементов. Это удобно делать через оператор цикла, где в цикле задаются индексы элементов.
Для примера возьмем одномерный массив Mas[1..50], тип элементов real.
program p1;
const maxN=50;
{описание переменных}
var
mas : array [1..maxN] of real;
i : integer; {счётчик}
begin
{ввод значений всех элементов массива с клавиатуры}
for i:=1 to maxN do
begin
write(‘введите значение mas[’,i,’]=’);
read(mas[i]);
end;
{заполнение массива случайными числами}
for i:=1 to maxN do
mas[i]:=random(100); {значение интервала определяется
постановкой задачи}
{если в массив вводятся не все элементы, то целесообразнее задать какой-либо ограничитель ввода, например, окончание ввода элементов при mas[i]=0, а затем вводить значения и одновременно подсчитывать количество введенных элементов}
i:= 0;
while mas[i]0 do
begin
i:=i+1;
write('введите элемент массива N[',i,']');
read(mas[i]);
end;
writeln(‘всего введено ’,i,’ значений’)
(вывод массива на экран в столбик }
for i:=1 to maxN do
writeln(mas[i]);
{вывод массива на экран с строчку в заданном формате}
for i:=1 to maxN do
write(mas[i]:8:2);
Практическая работа: сформировать массив с помощью арифметической прогрессии, где А[i]=A[i-1]+A[i-2], значения А[1] = 0, A[2] = 2 и вывести его на экран в строчку и в столбик.
Задание на дом: 1.составить программу формирования массива из 50 элементов, в которой используется признак Р, в зависимости от значения которого реализовывался бы один из способов задания массива: при Р= -1 с помощью генератора случайных чисел, при Р=0 с помощью формулы А[i] = i +101, при Р=1 с клавиатуры. Сделать вывод сформированного массива на экран.
2*.(дополнительно) Напечатать таблицу Пифагора, заполнив её по столбцам.