Выбранный для просмотра документ Фамилия имя для учащихся.doc
Скачать материал "Открытый урок на тему "Массивы" 9 класс"
Рабочие листы
к вашим урокам
Скачать
Выбранный для просмотра документ ЗАДАНИЕ.doc
Скачать материал "Открытый урок на тему "Массивы" 9 класс"
Рабочие листы
к вашим урокам
Скачать
Выбранный для просмотра документ Массивы.pps
Скачать материал "Открытый урок на тему "Массивы" 9 класс"
Рабочие листы
к вашим урокам
Скачать
1 слайд
10.06.2022
КОММУНАЛЬНОЕ ГОСУДАРСТВЕННОЕ УЧРЕЖДЕНИЕ ГИМНАЗИЯ № 24
Понятия массивы.
ВЫХОД
>
2 слайд
10.06.2022
Содержание
Основные понятия.
Одномерный массив.
Двумерный массив.
ВЫХОД
3 слайд
10.06.2022
ВЫХОД
>
ГЛАВНОЕ МЕНЮ
Основные понятия
Массив - это упорядоченный набор однотип-ных элементов.
Элементами массива могут быть данные лю-бого типа.
Каждому элементу массива соответствует со-вокупность номеров (индексов), определяю-щих его местоположение в массиве.
4 слайд
10.06.2022
ВЫХОД
>
ГЛАВНОЕ МЕНЮ
Основные понятия
Например: А(8), В(2,3), Form(2,3,2) и т.д.
Числа в скобках называются индексами.
Количество индексов в скобках называется размерностью.
Если индекс 1, то массив одномерный, если в скобках индексов 2 - то массив двумерный, если N - то N-мерный.
5 слайд
10.06.2022
Одномерный массив.
ВЫХОД
>
<
ГЛАВНОЕ МЕНЮ
Одномерный массив (индекс в скобках один) соот-ветствует понятию линейной таблицы или вектора.
a(n)={a(1), a(2), a(3), …, a(n)}
Имя
массива
Количество элементов
массива
индексы
Элементы
массива
Порядковый номер элемента
массива
6 слайд
10.06.2022
Одномерный массив.
ВЫХОД
>
<
ГЛАВНОЕ МЕНЮ
Элементами одномерного массива могут быть числа, строки и т.д.
Mas(5)={8, 3, -4, 0, 9}
Name(3)={ “Маша”, “Петя”, “Вася”}
7 слайд
10.06.2022
Двумерный массив.
ВЫХОД
>
<
ГЛАВНОЕ МЕНЮ
Двумерный массив (два индекса в скобках через запятую) соответствует понятию прямоугольной таблицы или матрицы.
k(1, 1), k(1, 2), …, k(1, n)
k(2, 1), k(2, 2), …, k(2, n)
… … … … … … … … …
k(m, 1), k(m, 2), …, k(m, n)
Имя
массива
Количество элементов
массива mn
Элементы
массива
Номер строки и номер столбца, в которых находиться элемент
массива
K(m, n)=
Рабочие листы
к вашим урокам
Скачать
Выбранный для просмотра документ Массивы_действия.pps
Скачать материал "Открытый урок на тему "Массивы" 9 класс"
Рабочие листы
к вашим урокам
Скачать
1 слайд
МАССИВЫ
Опорный конспект
Далее
Выход
2 слайд
Этапы работы с массивами:
1. Описание (объявление) массива;
2. Ввод массива в память;
3. Обработка элементов массива;
4. Вывод массива на экран.
Далее
Назад
3 слайд
Описание массивов:
одномерного A(N)
двумерного A(N, M)
Описание массивов производится в разделе описания переменных .
var А:array [1..N] of тип;
var А:array [1..N, 1..M] of тип;
Далее
Назад
4 слайд
Ввод массива в память:
одномерного A(N)
двумерного A(N, M)
For i:=1 to n do
Read(A[i]);
For i:=1 to n do
For j:=1 to m do
Read(A[i,j]);
с клавиатуры
случайным образом
Randomize;
For i:=1 to n do
A[i]:=Random(10);
Заполняет целыми случайными числами от 0 до 9
Randomize;
For i:=1 to n do
For j:=1 to m do
A[i,j]:=Random(100);
Заполняет целыми случайными числами от 0 до 99
Далее
Назад
5 слайд
Вывод массива на экран:
одномерного A(N)
двумерного A(N, M)
For i:=1 to n do
Writeln(A[i]);
For i:=1 to n do
begin
For j:=1 to m do
Write(A[i,j]:4);
Writeln;
end;
в столбик таблицей
в строчку
For i:=1 to n do
Write(A[i]:4);
Далее
Назад
Рабочие листы
к вашим урокам
Скачать
Выбранный для просмотра документ Презентация1.pps
Скачать материал "Открытый урок на тему "Массивы" 9 класс"
Рабочие листы
к вашим урокам
Скачать
1 слайд
Действия над массивами
9 класс.
2 слайд
Массив - это структура данных, которую можно рассматривать как набор переменных одинакового типа, имеющих общее имя. Массивы удобно использовать для хранения однородной по составу информации, например, элементов таблиц, коэффициентов уравнений, матриц.
Перед использованием массив, как и любая переменная, должен быть объявлен в разделе объявления переменных. В общем виде объявление массива выглядит так:
Имя: array [нижний_индекс .. верхний_индекс] of тип
где
Имя - имя переменной-массива;
array - ключевое слово, обозначающее, что переменная является массивом;
нижний_индекс и верхний_индекс - целые числа, определяющие диапазон изменения индексов (номеров) элементов массива и, неявно, количество элементов (размер) массива;
тип - тип элементов массива.
МАССИВЫ
Объявление массива
3 слайд
Примеры объявления массивов:
temper: array [1..31] of real;
koef: array [0..2] of integer;
name: array [1..30] of string [25];
При объявлении массива удобно использовать именованные константы. Именованная константа объявляется в разделе описания констант, который располагают перед разделом объявления переменных. Начинается раздел объявления констант словом CONST. Например, массив названий команд участниц чемпионата по футболу можно объявить так:
const
NT=18; {число команд}
SN=25; {предельная длина названия команды}
var
team: array [1..NT] of string [SN];
Чтобы в программе использовать элемент массива, надо указать имя массива и номер элемента (индекс), заключив его в квадратные скобки. Индекс может быть константой или выражением целого типа. Например:
team [1]:= Зенит;
d:= koef [1] * koef [1] - 4 * koef [2] * koef [1];
readln (name [n + 1]);
writeln (temper [i]);
4 слайд
К типичным действиям с массивами можно отнести следующие: - вывод массива; - ввод массива;
- сортировка массива; - поиск в массиве заданного элемента;
- поиск в массиве максимального или минимального элемента;
- это вывод на экран значений элементов массива. Если в программе необходимо вывести значения всех элементов массива, то для этого удобно использовать инструкцию FOR, переменная-счётчик которой может быть реализована как индекс элемента массива.
Например, программа, выводящая на печать номера и названия дней недели, хранящиеся в массиве day, может быть реализована так:
var
day: array [1..7] of string [11];
i: integer;
begin
day [1]:=‘Понедельник’;
day [2]:=‘Вторник’;
day [3]:=‘Среда’;
day [4]:=‘Четверг’;
day [5]:=‘Пятница’;
day [6]:=‘Суббота’;
day [7]:=‘Воскресенье’;
for i:= 1 to 7 do writeln (i, ‘ ’, day [i]);
end.
Вывод массива
5 слайд
Под вводом массива понимается ввод значений элементов массива. Как и вывод массива, ввод удобно реализовать при помощи инструкции FOR. Чтобы пользователь программы знал, ввода какого элемента массива ожидает программа, следует организовать вывод подсказок перед вводом очередного элемента массива. В подсказке обычно указывают индекс элемента массива.
Пример:
Следующая программа запрашивает температуру воздуха в течении недели и запоминает введённые значения в массиве temper, затем вычисляет среднее значение. Для организации подсказок используется массив строк day.
Ввод массива
Пример
6 слайд
Пример:
var
day: array [1..7] of string [11]; {название дней недели}
temper: array [1..7] of real; {температура}
sum: real; {сумма температур за неделю}
sredn: real; {средняя температура за неделю}
i: integer;
begin
day [1]:=‘Понедельник’;
day [2]:=‘Вторник’;
day [3]:=‘Среда’;
day [4]:=‘Четверг’;
day [5]:=‘Пятница’;
day [6]:=‘Суббота’;
day [7]:=‘Воскресенье’;
writeln (‘Задайте температуру воздуха за неделю.’);
for i:= 1 to 7 do
begin
write (day [i], ‘-->’);
readln (temper [i]);
end;
{вычисление средней температуры за неделю}
sum:= 0;
for i:= 1 to 7 do
sum:= sum + temper [i];
sredn:= sum / 7;
writeln (‘Средняя температура за неделю:’, sredn: 6: 2);
end.
7 слайд
Под сортировкой массива подразумевается процесс перестановки элементов с целью упорядочивания их в соответствии с каким-либо критерием. Например, если имеется массив целых a , то после сортировки по возрастанию должно выполняться условие:
a [1] <= a [2] <= … <= a [SIZE]
SIZE - верхняя граница индекса массива.
Так как можно сравнивать переменные типов INTEGER, REAL, CHAR и STRING, то можно сортировать массивы этих типов.
Задача сортировки распространена в информационных системах и используется как предварительный этап задачи поиска, так как поиск в упорядоченном (отсортированном) массиве проводится намного быстрее, чем в неупорядоченном.
Существует много методов (алгоритмов) сортировки массивов. Здесь мы рассмотрим два метода:
метод прямого выбора
метод прямого обмена
Сортировка массива
8 слайд
Алгоритм сортировки массива по возрастанию методом прямого выбора может быть представлен так:
1. Просматривая массив от первого элемента, найти минимальный и поместить его на место первого элемента, а первый на место минимального.
2. Просматривая массив от второго элемента, найти минимальный и поместить его на место второго элемента, а второй на место минимального.
3. И так далее до последнего элемента.
В Примере представлена программа сортировки массива целых чисел по возрастанию. Для демонстрации процесса сортировки программа выводит массив после каждого обмена элементов.
Сортировка методом прямого выбора
9 слайд
Пример:
const
SIZE = 5;
var
a: array [1..SIZE] of integer;
i: integer; {номер элемента, которого ведётся поиск минимального элемента}
min: integer; {номер минимального элемента в части массива от i до верхней границы массива}
j: integer; {номер элемента, сравниваемого с минимальным}
buf: integer; {буфер, используемый при обмене элементов массива}
k: integer;
begin
writeln (‘Сортировка массива.’);
write (‘Введите’, SIZE: 3,’ целых в одной строке’);
writeln (‘через пробел и нажмите<ENTER>’);
for k:=1 to SIZE do read (a [k]);
begin
{поиск минимального элемента в части массива от f [i] до a [SIZE]}
min:= i;
for j:= i + 1 to SIZE do begin
if a [j] < a [min] then min:= j;
{поменяем местами a [min] и a [j]}
buf:= a [i];
a [i]:= a [min];
a [min]:= buf;
{выведем массив}
for k:= 1 to SIZE do write (a [k], ‘ ‘);
writeln;
end;
end;
writeln (‘Массив отсортирован.’);
end.
10 слайд
В основе алгоритма лежит обмен соседних элементов массива. Каждый элемент массива, начиная с первого, сравнивается со следующим и если он больше следующего, то элементы меняются местами. Таким образом элементы с меньшим значением продвигаются к началу массива (всплывают), а элементы с большим значением - к концу массива (тонут), поэтому этот метод иногда называют “пузырьковым”. Этот процесс повторяется на единицу меньше раз, чем элементов в массиве.
Сортировка методом обмена
(Метод пузырька)
11 слайд
Пример:
Программа сортировки массива целых чисел по возрастанию. Для демонстрации процесса сортировки программа выводит массив после каждого цикла обменов.
const
SIZE
var
a: array [1..SIZE] of integer;
i: integer; {счетчик циклов}
k: integer; {текущий индекс элемента массива}
buf: integer;
begin
writeln (‘Сортировка массива пузырьковым методом.’);
write (‘Введите’,SIZE: 3,’целых в одной строке через пробел’);
writeln (‘и нажмите <ENTER>’);
for k:= 1 to SIZE do read (a [k]);
writeln (‘Сортировка.’);
for i:= 1 to SIZE - 1
do begin
for k:= 1 to SIZE - 1
do begin
if a [k] > a [k + 1]
then begin
{обменяем k-й и (k + 1)-й элементы}
buf:= a [k];
a [k]:= a [k + 1];
a [k + 1]:= buf;
end;
end;
for k:= 1 to SIZE do write (a [k], ‘ ’);
writeln (‘Массив отсортирован.’);
end.
12 слайд
При решении многих задач возникает необходимость установить, содержит ли массив определенную информацию или нет. Например, проверить, есть ли в массиве фамилий студентов фамилия “Петров”. Задачи такого типа называются поиском в массиве.
Для организации поиска в массиве могут быть использованы различные алгоритмы. Наиболее простой - это алгоритм перебора. Поиск осуществляется последовательным сравнением элементов массива с образцом до тех пор, пока не будет найден элемент, равный образцу, или не будут проверены все элементы. Алгоритм простого перебора применяется, если элементы массива не упорядочены.
В Примере представлен текст программы поиска в массиве целых чисел. Перебор элементов массива осуществляет инструкция REPEAT, в теле которой инструкция IF сравнивает текущий элемент массива с образцом и присваивает переменной naiden значение TRUE, если текущий элемент равен образцу. Цикл завершается, если в массиве обнаружен элемент, равный образцу (naiden = TRUE), или если проверены все элементы массива. По завершении цикла, по значению переменной found можно определить, успешен поиск или нет.
Очевидно, что чем больше элементов в массиве и чем дальше расположен нужный элемент от начала массива, тем дольше будет программа искать нужный элемент.
Так как операции сравнения применимы как к числам, так и строкам, то данный алгоритм может использоваться для поиска как в числовых, так и в строковых массивах.
На практике довольно часто проводится поиск в массиве, элементы которого упорядочены по некоторому критерию. Например, массив фамилий, как правило, упорядочен по алфавиту, массив данных о погоде упорядочен по датам наблюдений.
Поиск в массиве
13 слайд
Пример:
var
massiv: array [1..10] of integer; {массив целых}
obrazec: integer; {образец для поиска}
naiden: boolean; {признак совпадения с образцом}
i: integer;
begin
{ввод 10 целых чисел}
writeln (‘Поиск в массиве.’);
write (‘Введите 10 целых в одной строке через пробел’);
writeln (‘и нажмите <ENTER>’);
write (‘-->’);
for i:= 1 to 10 do read (massiv [i]);
{числа введены в массив}
write (‘Введите образец для поиска (целое число) -->’);
readln (obrazec);
{поиск простым перебором}
naiden:= FALSE; {совпадений нет}
i:= 1; {проверяем с первого элемента массива}
repeat
if massiv [i] = obrazec
then naiden:= TRUE {совпадение с образцом}
else i:= i + 1; {переход к следующему элементу}
until (i > 10) or (naiden); {завершим, если совпадение с образцом или}
{проверен последний элемент массива}
if naiden
then writeln (‘Совпадение с элементом номер’, i : 3, ‘ . ‘, ‘Поиск успешен.’)
else writeln (‘Совпадений с образцом нет.’);
end.
14 слайд
Алгоритм поиска минимального и максимального (максимального) элемента массива довольно очевиден: делается предположение, что первый элемент массива является минимальным (максимальным), затем остальные элементы массива сравниваются с этим элементом. Если обнаруживается, что проверяемый элемент меньше (больше) принятого за минимальный (максимальный), то этот элемент принимается за минимальный (максимальный) и продолжается проверка оставшихся элементов. Ниже представлена программа поиска минимального элемента в массиве целых чисел.
const
GRANICA = 10;
var
a: array [1 .. GRANICA] of integer; {массив целых чисел}
min: integer; {номер минимального элемента массива}
i: integer; {номер элемента сравниваемого с минимальным}
begin
{здесь инструкции ввода массива}
min:= 1; {пусть первый элемент минимальный}
for i:= 2 to GRANICA do
if a [i] < a [min] then min:= i;
writeln (‘Минимальный элемент массива:’., a [min]);
writeln (‘Номер элемента:’, min);
end.
Поиск минимального (максимального)
элемента массива
15 слайд
Исходные данные для решения многих задач можно представить в табличной форме:
В программе для хранения и обработки табличных данных можно использовать совокупность одномерных массивов. Например таблица результатов производственной деятельности нескольких филиалов фирмы может быть представлена так:
zavod1: array [1..4] of integer;
zavod2: array [1..4] of integer;
zavod3: array [1..4] of integer;
Для подобных случаев Pascal предоставляет более удобную структуру данных - двумерный массив.
В общем виде описание двумерного массива выглядит так:
Имя :array [НижняяГраницаИндекса1..ВерхняяГраницаИндекса1,
НижняяГраницаИндекса2..ВерхняяГраницаИндекса2] of Тип
где Имя - имя массива; array - слово языка Pascal, показывающее, что описываемый элемент данных - массив;
НижняяГраницаИндекса1, ВерхняяГраницаИндекса1, НижняяГраницаИндекса2, ВерхняяГраницаИндекса2 - константы или выражения типа INTEGER, определяющие диапазон изменения индексов и, следовательно, число элементов массива;
Тип - тип элементов массива.
Многомерные массивы
Продукт1 Продукт2 Продукт3 Продукт4
Завод1
Завод2
Завод3
16 слайд
Приведенная выше таблица может быть представлена в виде двумерного массива так:
product : array [1..3, 1..4] of integer
Этот массив состоит из 12 элементов типа INTEGER.
Чтобы использовать элемент массива, нужно указать имя массива и индексы элемента. Первый индекс обычно соответствует номеру строки таблицы, второй - номеру колонки. Так элемент product [2, 3] содержит число продуктов третьего наименования, выпущенных вторым заводом.
Значения элементов двумерных массивов выводят на экран и вводят с клавиатуры, как правило, по строкам, т.е. Сначала все элементы первой строки, затем второй и т.д. Это удобно выполнять при помощи вложенных инструкций FOR. Следующий фрагмент программы выводит на экран значения элементов массива по строкам:
for i:= 1 to 3 do
begin
for j:= 1 to 4 do
write (product [i, j]);
writeln;
end;
Каждый раз, когда внутренний цикл завершается, внешний цикл увеличивает i на единицу, и внутренний цикл выполняется вновь. Таким образом, выводятся все компоненты массива product : product [1, 1], product [1, 2],... product [1, 4], product [2,1], product [2, 2],... product [2, 4] и т.д.
При описании массивов в программе удобно использовать именованные константы как значения верхних границ индексов массива.
17 слайд
Пример:
Представленная ниже программа обрабатывает результаты соревнований по легкой атлетике.
Программа считывает исходные данные, вводимые с клавиатуры, вычисляет общее количество медалей и затем расставляет клубы по порядку в соответствии с общим количеством медалей. Для представления данных о количестве медалей используется двумерный массив medal, количество строк которого на единицу больше, чем количество клубов, а количество столбцов на единицу больше, чем медалей. Дополнительный столбец используется для хранения общего количества медалей, которое вычисляется после ввода исходных данных, дополнительная строка - как буфер при обмене строк во время сортировки строк таблицы. ПРИМЕР
КлубЗавоевано медалей:
Золотые Серебряные Бронзовые
Буревестник 4 4 4
Динамо 2 4 3
Зенит 6 4 4
Спартак 3 3 4
18 слайд
const
NC = 4; {}
var
club : array [1..NC + 1] of string [30]; {}
medal: array [1.. NC + 1, 1..4] of integer; {}
m, i, j : integer;
begin
club [1] := ‘Буревестник’;
club [1] := ‘Динамо ’;
club [1] := ‘Зенит ’;
club [1] := ‘Спартак ’;
writeln (‘Для каждой команды в одной строке введите’);
writeln (‘через пробел’ число золотых, серебряных и’);
writeln (‘бронзовых медалей и нажмите <ENTER>’);
for i:= 1 to NC do
begin
write (club [i],’->’);
readln (medal [i, 1], medal [i, 2], medal [i, 3]);
end;
{подсчет общего количества медалей}
for i := 1 to NC do
begin
medal [i, 4] := 0;
for j := 1 to 3 do
medal [i, 4] := medal [i, 4] + medal [i, j];
end;
{сортировка таблицы}
for i:= 1 to NC - 1 do
begin
{найти строку, в которой максимально общее число медалей}
m := i;
for j := i + 1 to NC do
if medal [j, 4] > medal [m, 4] then m := j;
{обменяем i-ю строку с m-й}
club [NC + 1] := club [i];
club [i] := club [m];
club [m] := club [NC + 1];
for j := 1 to 4 do
begin
medal [NC + 1, j] := medal [i, j];
medal [i, j] := medal [m, j];
medal [m, j] := medal [NC + 1, j];
end;
end;
{вывод итоговой таблицы}
writeln;
writeln (‘Клуб Золотые Серебряные Бронзовые Всего’);
writeln (‘** Итоговая таблица**’);
for i:= 1 to NC do
begin
write (i : 2, ‘. ‘, club [i]);
for j := 1 to 4 do
write (medal [i, j] : 11);
writeln;
end;
end.
19 слайд
При использовании массивов наиболее распространенной ошибкой является превышение индексом значения выражения верхней границы индекса, указанной при объявлении массива. Если в качестве индекса используется константа и ее значение превышает верхнюю границу, то такая ошибка обнаруживается на этапе компиляции. Например во время компиляции программы
var
day : array [1..6] of string [11];
begin
day [1] := ‘Понедельник’;
day [7] := ‘Воскресенье’;
end.
будет выведено сообщение об ошибке для инструкции
day [7] := ‘Воскресенье’;
Если при обращении к элементу массива в качестве индекса используется переменная или выражение, то возможно возникновение ошибки времени выполнения программы (run time error). Например, в программе, представленной ниже, ошибок времени компиляции нет.
var
temper : array [1..12, 1..31] of real;
month, day: integer;
begin
writeln (‘’);
write ( ‘->’);
readln (day, month, t);
temper [month, day] := t;
end.
Ошибки при использованими массивов
20 слайд
Однако если во время работы программы в ответ на запрос будет введена строка
-15 17 12
что соответствует -15 градусов 17 января, то при выполнении инструкции
temper [month, day] := t будет выведено сообщение
Run time error 104;
В программы, в которых возможны ошибки времени выполнения вследствие неправильного ввода исходных данных, следует добавлять инструкции проверки вводимых данных. Для приведенной выше программы это можно сделать, например, так:
var
temper : array [1..12, 1..31] of real;
month, day : integer;
t : real;
begin
writeln (‘Веедите дату (число, номер месяца) и температуру воздуха’);
write (‘->’);
readln (day, month, t);
if ((day . 31) OR (month > 12) OR (day < 1) OR (month < 1))
then writeln (‘Неверные данные’);
else temper [month, day] := t;
end.
Рабочие листы
к вашим урокам
Скачать
Рабочие листы
к вашим урокам
Скачать
Класс 9 Урок № 11 Дата 10.11.2014
Предмет «Информатика» Учитель Куцева А.А.
Тема: ПОНЯТИЕ О МАССИВАХ.
Цели урока:
Вид урока - комбинированный
План урока
| Орг. момент. | 2-3 мин. |
| Актуализация опорных знаний. Слайд-шоу «Массивы» | 7 минут |
| Закрепление усвоенного материала | 15 минут |
| a. Тренинг |
|
| b. Набора программ | 7 минут |
| Объяснение нового материала. | 5 минут |
| Выполнение заданий на компьютере. Закрепление усвоенного материала. Тренинг на нахождении ошибки. | 10 мин. |
| Дополнительное задание .Сортировка массивов. | 5 минут. |
| Подведение итогов урока. | 3 минут |
| Домашнее задание. | 2 минут. |
Ход урока
1. Организационная часть (запись даты и темы в тетрадь) Подготовка учащихся к уроку, выявление отсутствующих, концентрация внимания, постановка цели урока.
Тема урока Понятие о массивах.
Цель урока: познакомить учеников с понятиями массив данных, имя массива, элемент массива, индекс; формировать навыки и умения составлять программы с использованием массивов
Рефлексия на начало занятий:
Красный – мне нечего не интересно, настроение 2-
Синий – опять информатика, настроение на 3
Желтый – интересно, что будет дальше, настроение на 4
Розовый – готов к работе, настроение отличное
По теме: что вы знаете о массивах?
2. Актуализация опорных знаний. Слайд-шоу «Массивы»
3. Закрепление усвоенного материала.
a. Тренинг на интерактивной доске.
i. Определение.
Что такое массив?
ii. Группа элементов с одним именем.
iii. Упорядоченная последовательность разнотипных величин, обозначаемая одним именем.
iv. Упорядоченная последовательность однотипных величин, обозначаемая одним именем.
v. Сложная переменная, состоящая из строковых переменных
vi. Описание массива
Выберите служебное слово для описания массива
vii. Array
viii. Arrey
ix. Dim
x. Dam
Размерность массива
Что такое размерность массива
xi. Количество элементов
xii. Количество строк
xiii. Количество столбцов
xiv. Количество индексов
Что такое индекс?
xv. Число в скобках
xvi. Количество элементов
xvii. Количество строк
xviii. Количество столбцов
Что обозначает индекс в имени одномерного массива?
xix. Количество элементов
xx. Количество строк
xxi. Количество столбцов
xxii. Порядковый номер элемента
Что обозначает индекс в имени элемента одномерного массива?
xxiii. Количество элементов
xxiv. Количество строк
xxv. Количество столбцов
xxvi. Порядковый номер элемента
4. Объяснение нового материала.
Итог Массив – это множество однотипных объектов, имеющих общее название (имя). В жизни мы часто сталкиваемся с такими множествами. Назовите окружающие вас в кабинете объекты, которые можно объединить в массивы. (столы, компьютеры, ученики класса)
Как правило, массивы содержат большое количество данных, которые необходимо где-то сохранить и обработать. И сделать это может? (компьютер).
В компьютерной программе массив - это набор однотипных данных, хранящихся в памяти и имеющих имя.
Какие характеристики имеет массив?
Массив имеет следующие характеристики:
имя - название массива;
индекс - номер элемента в массиве;
элемент - каждое значение в массиве;
размер - количество элементов в массиве.
Максимальное число размерностей – 8.
Максимальный номер индекса – 32768.
4. Выполнение заданий на компьютере
Как описать массив на языке Pascal? Слайд шоу «Действия над массивами»
a. Последовательность на писание программы с массивом.
1. Описание (объявление) массива;
2. Ввод массива в память;
3. Обработка элементов массива;
4. Вывод массива на экран.
Дополнение: Вспомните, в каком разделе программы описываются переменные, константы? (в разделе Var).
Массив также задаётся в разделе Var. Запишите формат описания:
Имя массива: array [размер] of тип данных;
(где array и of – ключевые слова, размер: [начальный индекс . . конечный индекс ])
Имя массива выбираем по основным правилам имен идентификаторов.
Пример:
Program mas_1;
uses Crt;
Var i: integer;
M : array [1..5] of Real;
begin
Clrscr;
For i:=1 to 5 do
begin
write ('m[',i,']=');
readln(m[i);
Writeln (' ', m[i]:6:2);
readln;
end;
end.
Program Create; Type Mas = Array[1..100] Of Integer; Var A : Mas; I, J, N : Byte; Log : Boolean; Begin Write(''); ReadLn(N); randomize; A[1] := -32768 + random(65535); For I := 2 To N Do Begin Log := True; Repeat A[i] := -32768 + random(65535); J := 1; While Log and (j <= i - 1) Do begin Log := a[i] <> a[j]; j := j + 1 End Until Log End; For i := 1 to N Do Write(a[i]:7); writeln End.
5. Закрепление усвоенного материала.
Тренинг на нахождении ошибки.
Пример 1. Ввод значений элементов массива с клавиатуры из 10 элементов используется обычно тогда, когда между элементами не наблюдается никакой зависимости. Например, последовательность чисел 1, 2, -5, 6, -111, 0 может быть введена в память следующим образом:
Program Vvod;
Var N, I : Integer;
A : Array [1..20] Of Integer;
Begin
Write('Введите количество элементов массива '); ReadLn(N);
FOR I := 1 TO N DO
Begin
Write('Введите A[', I, '] '); ReadLn(A[I])
End.
Пример2, программа, выводящая на печать номера и названия дней недели, хранящиеся в массиве day, может быть реализована так:
var
day: array [1..7] of string [11];
i: integer;
begin
day [1]:= writeln ‘Понедельник’;
day [2]:= writeln ‘Вторник’;
day [3]:= writeln ‘Среда’;
day [4]:= writeln ‘Четверг’;
day [5]:= writeln ‘Пятница’;
day [6]:= writeln ‘Суббота’;
day [7]:= writeln ‘Воскресенье’;
for i:= 1 to 7 do writeln (i, ‘ ’, day [i]); readln;
end.
6. Дополнительное задание .Сортировка массивов. Слайд шоу «Действия над массивами»
К типичным действиям с массивами можно отнести следующие:
i. Описание (объявление) массива;
ii. Ввод массива в память;
iii. Обработка элементов массива;
iv. Вывод массива на экран.
v. сортировка массива;
vi. поиск в массиве заданного элемента;
vii. поиск в массиве максимального или минимального элемента;
Применение знаний на практике.
Задача1. Дан линейный массив. Упорядочить его элементы в порядке возрастания.
{Сортировка массива выбором (в порядке возрастания).
Идея решения: пусть часть массива (по K-й элемент включительно)
отсортирована. Нужно найти в неотсортированной части массива
минимальный элемент и поменять местами с (K+1)-м}
Program Sortirovka;
Var N, I, J, K, Pr : Integer; A : Array [1..30] Of Integer;
Begin
Write('Введите количество элементов: '); ReadLn(N);
For I := 1 To N Do
Begin
Write('Введите A[', I, '] '); Readln(A[I]);
End;
WriteLn;
For I := 1 To N - 1 Do
Begin
K := I;
For J := I + 1 To N Do If A[J] <= A[K] Then K := J;
Pr := A[I]; A[I] := A[K]; A[K] := Pr;
End;
For I := 1 To N Do Write(A[I], ' ');
End.
Тест: N = 10; элементы массива - 1, 2, 2, 2, -1, 1, 0, 34, 3, 3.
Ответ: -1, -1, 0, 1, 2, 2, 2, 3, 3, 34.
7. Задачи для самостоятельной работы на ПК
1. Составьте программу, заменяющее меньшее из двух данных чисел суммой, а большее – произведением этих чисел.
2. Составьте программу расположения трех чисел в порядке возрастания
3. Составьте программу, вычисления значения выражения для данного числа N: 4+8+12+…+4*N.
4. Составьте программу вычисления среднего арифметического целых чисел из отрезка [6;33].
8. Домашнее задание:
Составьте блок-схему и программу с учебника пример 2-3 стр.123
6 672 122 материала в базе
Настоящий материал опубликован пользователем Куцева Альфия Анатольевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
Удалить материалВаша скидка на курсы
40%Курс повышения квалификации
72 ч. — 180 ч.
Курс повышения квалификации
36 ч. — 180 ч.
Курс профессиональной переподготовки
300/600 ч.
Мини-курс
3 ч.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.