Выбранный для просмотра документ ИП.ppt
Скачать материал "Итоговый практико-значимый проект «Методика преподавания темы «Однородные массивы и способы их обработки»"
Рабочие листы
к вашим урокам
Скачать
1 слайд
Одномерные массивы в языке программирования Паскаль.
Куркова И.Г. , учитель информатики МБОУ СОШ №1 г. Ногинска
2 слайд
Содержание
Одномерные массивы в Паскале
Примеры решения задач
Задания для самостоятельной работы
3 слайд
Одномерные массивы в Паскале
Понятие «массив»
Описание одномерных массивов
Ввод одномерных массивов
Вывод одномерных массивов
4 слайд
Понятие «массив»
С понятием «массив» приходится сталкиваться при решении научно-технических и экономических задач обработки совокупностей большого количества значений. В общем случае массив – это структурированный тип данных, состоящий из фиксированного числа элементов, имеющих один и тот же тип.
5 слайд
Понятие «массив»
Название регулярный тип (или ряды) массивы получили за то, что в них объединены однотипные (логически однородные) элементы, упорядоченные (урегулированные) по индексам, определяющим положение каждого элемента в массиве.
Массив – это составной объект,
образованный из элементов (компонент)
одного и того же типа.
6 слайд
Такой тип данных применяется в программировании для обозначения объектов, аналогичных числовым последовательностям в математике, где сразу целая группа чисел обозначается одним именем (чаще всего буквой), а для обращения к каждому отдельному числу данной последовательности используются различные индексы (номера элементов).
В математике это может выглядеть, например, так:
a1, а2, а3, …, аn.
Понятие «массив»
7 слайд
В программировании массив – это
последовательность однотипных элементов,
имеющих общее имя, причем каждый элемент
этой последовательности определяется
порядковым номером (индексом) элемента.
Понятие «массив»
8 слайд
Примеры массивов:
Понятие «массив»
Х1, Х2, …, Хn – одномерный массив,
состоящий из n элементов.
А0, А1, А2, …, А10 – одномерный массив,
состоящий из 11 элементов.
Массивы бывают одномерными (один индекс), двумерными (два индекса) и т.д.
9 слайд
Структура массива всегда однородна.
Массив может состоять из элементов типа integer , real или char , либо других однотипных элементов. Другая особенность массива состоит в том, что к любой его компоненте можно обращаться произвольным образом.
Программа может сразу получить нужный ей элемент по его порядковому номеру (индексу).
Номер элемента массива называется индексом. Индекс – это значение порядкового типа, определенного, как тип индекса данного массива.
Понятие «массив»
10 слайд
Рассмотрим массив Х1, Х2, …, Хn .
Здесь:
Понятие «массив»
Х – имя массива;
1, 2,…, n – индексы
(порядковые номера) элементов;
Х7 – седьмой элемент массива Х.
11 слайд
Описание одномерных массивов
Для описания массивов в программировании предварительно следует ввести соответствующий тип в разделе описания типов.
Тип массив описывается следующим образом:
Type
Имя типа = Array [тип индекса (ов)] Of тип элементов;
Var
Имя переменной: имя типа;
12 слайд
Описание одномерных массивов
Переменную типа массив можно описать сразу в разделе описания переменных Var:
Var
Имя переменной: Array [тип индекса (ов)] Of тип элементов;
Здесь
Array – служебное слово (в переводе с английского означает «массив»);
Of – служебное слово (в переводе с английского означает «из»).
Тип индекса – любой порядковый тип, кроме типов integer, longint.
Тип же самих элементов может быть любым, кроме файлового типа.
13 слайд
Описание одномерных массивов
Например:
Type
mas = Array [1..20] of real;
Var
X: mas;
Массив Х – одномерный, состоящий из двадцати элементов вещественного типа. Элементы массива хранятся в памяти компьютера последовательно друг за другом.
Размерность массива равна:
максимальное значение индекса –
минимальное значение индекса + 1.
Количество элементов массива называется его размерностью.
14 слайд
Ввод одномерных массивов в Паскале
Ввод массивов осуществляется поэлементно.
Введем одномерный массив Х, состоящий из 30 элементов, то есть необходимо ввести некую последовательность элементов Х1, Х2, …, Х30.
Пусть i – индекс (порядковый номер) элемента в массиве Х.
Тогда Хi – i-й элемент массива Х, где i = 1, 2, …, 30.
Для ввода массива можно использовать любой цикл.
15 слайд
Ввод одномерных массивов
Первый вариант: ввод массива с использованием цикла с предусловием:
i := 1
Конец
i <= 30
Ввод
ai
i := i + 1
Начало
Да
Нет
i := 1
Конец
i <= 30
Ввод
xi
i := i + 1
Начало
16 слайд
Ввод одномерных массивов
Program Primer_1;
Var i: integer;
X: array [1..30] of Integer;
Begin
i := 1;
While i <= 30 Do
Begin
Read (X[i]);
i := i + 1
End;
Readln
End.
В первом варианте ввод массива Х
в программе осуществляется с использованием
цикла с предусловием.
17 слайд
Ввод одномерных массивов в Паскале
Второй вариант: ввод массива с использованием цикла с постусловием:
i := 1
Конец
i > 30
Ввод
xi
i := i + 1
Начало
Да
Нет
18 слайд
Ввод одномерных массивов
Program Primer_2;
Var i: integer;
X: array [1..30] of Integer;
Begin
i := 1;
Repeat
Read (X[i]);
i := i + 1
Until i > 30;
Readln
End.
Массив X введен с использованием цикла с постусловием.
19 слайд
Ввод одномерных массивов
Третий вариант: ввод массива с использованием цикла с параметром:
Конец
i := 1, 30, 1
Ввод
xi
Начало
20 слайд
Ввод одномерных массивов
Program Primer_3;
Var i: integer;
X: array [1..30] of Integer;
Begin
For i := 1 To 30 Do Read (X[i]);
Readln
End.
Массив X вводится с помощью цикла с параметром, где в качестве параметра используется индекс элемента массива (i).
21 слайд
Вывод одномерных массивов в Паскале
Вывод одномерного массива осуществляется также поэлементно.
Например, выведем одномерный массив Х1, Х2, …, Хn, состоящий из элементов вещественного типа.
Для вывода массива можно использовать любой цикл.
22 слайд
Вывод одномерных массивов
Первый вариант: вывод массива с использованием цикла с предусловием:
i := 1
Конец
i <= 30
Ввод
ai
i := i + 1
Начало
Да
Нет
i := 1
Конец
i <= 30
Вывод
xi
i := i + 1
Начало
23 слайд
Вывод одномерных массивов
Второй вариант: вывод массива с использованием цикла с постусловием:
i := 1
Конец
i > 30
Вывод
xi
i := i + 1
Начало
Да
Нет
24 слайд
Вывод одномерных массивов
Третий вариант: вывод массива с использованием цикла с параметром:
Конец
i := 1, 30, 1
Вывод
xi
Начало
25 слайд
Вывод одномерных массивов
В программе вместо операторов Read или Readln используются операторы Write или Writeln.
Но просто заменить одни операторы на другие здесь недостаточно.
Для того чтобы выводимые значения не сливались между собой, надо явным образом вставлять между ними разделитель – пробел или перевод строки.
26 слайд
Вывод одномерных массивов
Приведем два возможных способа вывода массива:
1) For i := 1 To n Do Write (X[i],’ ‘)
2) For i := 1 To n Do Writeln (x[i])
27 слайд
Вывод одномерных массивов
На первый взгляд второй способ может показаться более простым и удобным, но это далеко не всегда так.
Результат работы такой программы зачастую неудобно, а то и просто невозможно анализировать.
Ведь каждый элемент массива будет располагаться в отдельной строке, следовательно, мы не сможем увидеть более 25 элементов одновременно.
28 слайд
Вывод одномерных массивов
Кроме того, очень часто массив требуется распечатать дважды, чтобы сравнить состояние массива до обработки и результат его обработки.
В этом случае сравнение состояний массива гораздо удобнее проводить, если они распечатаны в двух соседних строках, а элементы выровнены по столбцам, то есть к варианту 1 должна быть добавлена еще и форматная печать (указано количество позиций, которое должно отводиться на печать одного элемента).
29 слайд
Вывод одномерных массивов
Программа вывода одномерного массива
с помощью цикла с параметром:
Program Primer_4;
Const n = 30;
Var i: Integer;
X: Array [1..n] Of Real;
Begin
For i:= 1 To n Do Write (X[i] : 6 : 2, ‘ ‘);
Writeln; {курсор переводит на новую строку}
Readln
End.
30 слайд
ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ
Вычисление суммы и произведения элементов массива, удовлетворяющих заданному условию
Нахождение количества элементов, удовлетворяющих заданному условию
Нахождение номеров элементов, обладающих заданным свойством
Поиск нужного элемента в массиве
Формирование нового массива
Перестановка элементов массива
Сортировка массива
31 слайд
Задача 1
Вычисление суммы и произведения элементов массива,
удовлетворяющих заданному условию
Дан целочисленный одномерный
массив, состоящий из n элементов.
Найти сумму и произведение нечетных
элементов, кратных 3.
32 слайд
Задача 1.
Введем обозначения:
n – количество элементов в массиве;
А – имя массива;
i – индекс элемента массива;
Ai – i-й элемент массива A;
s – сумма нечетных элементов массива, кратных 3;
p – произведение нечетных элементов массива, кратных 3.
Входные данные: n, A.
Выходные данные: s, p.
33 слайд
Первый способ. Для решения используется цикл с параметром:
Начало
Ввод n
i := 1, n, 1
Ввод
Ai
S := 0
P := 1
i := 1, n, 1
(Ai mod 2 <>0) и
(Ai mod 3 = 0)
P := p * A
S := s + Ai
Ввод
S, p
Начало
i := 1, n, 1
Да
Нет
34 слайд
Program Primer1_1;
Var A: Array[1..20] Of Integer;
i, n, s, p: Integer;
Begin
Write (‘n=’); Readln (n);
For i:=1 To n Do Readln (A[i]); {ввод массива}
s:= 0; p:=1;
For i:=1 To n Do {обработка массива}
If (A[i] mod 2 <>0) and (A[i] mod 3 = 0) Then
Begin
s:=s+A[i];
p:= p*A[i]
End;
Writeln (‘s=’, s, ‘p=’, p);
Readln
End.
35 слайд
Второй способ. Для решения используется цикл с предусловием:
Program Primer1_2;
Var A: Array[1..20] Of Integer;
i, n, s, p: Integer;
Begin
Write (‘n=’); Readln (n);
i:=1;
While i <= n Do
Begin
Readln (A[i]); i:= i + 1 End;
s:= 0; p:=1; i:=1;
While i<=n Do Begin
If (A[i] mod 2 <>0) and (A[i] mod 3 = 0) Then
Begin
s:=s+A[i]; p:= p*A[i]
End;
i:= i + 1 End;
Writeln (‘s=’, s, ‘p=’, p);
Readln
End.
Задача 1.
36 слайд
Задача 2
Нахождение количества элементов,
удовлетворяющих заданному условию
Дан массив целых чисел. Найти
количество тех элементов, значения которых положительны
и не превосходят заданного
натурального числа А.
37 слайд
Задача 2.
Введем обозначения:
n – количество элементов в массиве;
X – имя массива;
i – индекс элемента массива;
Xi – i-й элемент массива X;
A – заданное число;
k – количество элементов, значения которых положительны и не превосходят заданного числа А.
Входные данные: n, , X, A.
Выходные данные: k.
38 слайд
Первый способ. Для решения используется цикл с параметром:
Начало
Ввод n
i := 1, n, 1
Ввод
Xi
k := 1
(Xi > 0) и
(Xi <=A)
k := k + 1
Вывод
k
Конец
i := 1, n, 1
Да
Нет
Ввод
A
39 слайд
Program Primer2_1;
Var X: Array[1..20] Of Integer;
i, n, k, A: Integer;
Begin
Write (‘n=’); Readln (n);
For i:=1 To n Do Readln (X[i]); {ввод массива}
Write (‘A=’); Readln (A);
k:= 0;
For i:=1 To n Do {обработка массива}
If (X[i] >0) and (X[i] <= A) Then
k:=k + 1;
Writeln (‘k=’, k);
Readln
End.
40 слайд
Задача 2.
Второй способ. Для решения используется цикл с постусловием:
Program Primer2_2;
Var X: Array [1..20] Of Integer;
i, n, k, A: Integer;
Begin
Write (‘n=’); Readln (n); i:=1;
Repeat
Read (X[i]); i := i + 1
Until i > n;
Write (‘A=’); Readln (A);
k:= 0; i:=1;
Repeat
If (X[i] >0) and (X[i] <= A) Then
k:=k + 1; i := i + 1
Until i > n;
Writeln (‘k=’, k);
Readln
End.
41 слайд
Задача 3
Нахождение номеров элементов,
обладающих заданным свойством
Найти номера четных элементов массива, стоящих на нечетных местах.
42 слайд
Задача 3
Введем обозначения:
n – количество элементов в массиве;
X – имя массива;
i – индекс элемента массива;
Xi – i-й элемент массива X.
Входные данные: n, X.
Выходные данные: i.
43 слайд
Задача 3
Начало
Ввод n
i := 1, n, 1
Ввод
Xi
(Xi mod 2 =0) и
(i mod 2 <> 0)
Вывод
i
Конец
i := 1, n, 1
Вывод
i
Вывод
i
Да
Нет
i := 1, n, 1
i := 1, n, 1
44 слайд
Задача 3
Program Primer3_1;
Var X: Array[1..20] Of Integer;
i, n: Integer;
Begin
Write (‘n=’); Readln (n);
For i:=1 To n Do Readln (X[i]); {ввод массива}
For i:=1 To n Do {обработка массива}
If (X[i] mod 2 = 0) and (i mod 2<>0) Then
Write (i:5);
Readln
End.
45 слайд
Поиск нужного элемента в массиве
Задача 4
Дан одномерный массив Х1, Х2, …, Хn. Найти минимальный элемент и его порядковый номер среди элементов, расположенных на четных местах.
46 слайд
Задача 4
Введем обозначения:
n – количество элементов в массиве;
X – имя массива;
i – индекс элемента массива;
Xi – i-й элемент массива Х;
min – значение минимального элемента массива;
k – порядковый номер минимального элемента среди элементов, расположенных на четных местах.
Входные данные: n, X.
Выходные данные: min, k.
47 слайд
Задача 4
Первый способ
Program Primer4_1;
Var X: Array[1..30] Of Real;
i, n, k: Integer; min: Real;
Begin
Write (‘n=’); Readln (n); i:=1;
While i <= n Do Begin {ввод массива}
Readln (X[i]); i:= i + 1 End;
min:=X[2]; k:=2; i:=4;
While i <= n Do Begin
If X[i] < min Then Begin min:= X[i]; k:= i End;
i:= i + 2 End;
Writeln (‘min=’, min:6:1, ‘ k=’, k);
End.
48 слайд
Задача 4
Второй способ
Program Primer4_2;
Var X: Array[1..30] Of Real;
i, n, k: Integer; min: Real;
Begin
Write (‘n=’); Readln (n); i:=1;
Repeat
Read (X[i]); i := i + 1
Until i > n;
min:=X[2]; k:=2; i:=4;
Repeat
If X[i] < min Then Begin
min:= X[i]; k:= i End; i:= i + 2
Until i > n;
Writeln (‘min=’, min:6:1, ‘ k=’, k)
End.
49 слайд
Формирование нового массива
Задача 5.
Сформировать целочисленный массив Х1,Х2,…,Хn, элементы которого:
2, 4, 8, 16, …
50 слайд
Задача 5
Введем обозначения:
n – количество элементов в массиве;
Х – имя массива;
i – индекс элемента массива;
Хi – i-й элемент массива Х.
Входные данные: n.
Выходные данные: Х.
51 слайд
Задача 5
По исходным данным получаем следующее правило формирования массива: Х1=2; Хi = Xi-1 * 2.
Program Primer5_1;
Const n = 20;
Var X: Array[1..n] Of Integer;
i: Integer;
Begin
X[1]:=2; {начало формирования массива}
For i:=2 To n Do
X[i]:=X[i-1]*2; {конец формирования массива}
For i:=1 To n Do Write (X[i]:5); {вывод массива}
Writeln;
Readln
End.
52 слайд
Перестановка элементов массива
Задача 6
Дан одномерный массив Х1, Х2, …, Хn. Поменять местами значения двух элементов массива с номерами k1 и k2, где k1 и k2 - вводятся с клавиатуры.
53 слайд
Задача 6
Введем обозначения:
n – количество элементов в массиве;
X – имя заданного массива;
i – индекс элемента массива;
Xi – i-й элемент массива Х;
K1, k2 – порядковые номера элементов, значения которых нужно поменять местами;
b – дополнительная переменная, используемая для перестановки двух элементов массива.
Входные данные: n , X.
Выходные данные: Y.
54 слайд
Задача 6
Program Primer6_1;
Const n = 20;
Var X: Array[1..n] Of Integer;
i, k1, k2, b: Integer;
Begin
For i:=1 To n Do Read (X[i]); {ввод массива}
Write (‘k1=’); Readln (k1);
Write (‘k2=’); Readln (k2);
b:= X[k1];
X[k1]:= X[k2];
X[k2]:= b;
For i:=1 To n Do Writeln (X[i]:5); {вывод массива X}
Readln
End.
55 слайд
Задача 7
Переставить все элементы
одномерного массива Х
в обратном порядке.
56 слайд
Задача 7
Введем обозначения:
n – количество элементов в массиве;
X – имя заданного массива;
i – индекс элемента массива;
Xi – i-й элемент массива Х;
b – дополнительная переменная.
Входные данные: n , X.
Выходные данные: Y.
57 слайд
Задача 7
Program Primer7_1;
Const n = 20;
Var X: Array[1..n] Of Integer;
i, b: Integer;
Begin
For i:=1 To n Do Read (X[i]); {ввод массива}
For i:=1 To n div 2 Do
Begin
b:= X[i];
X[i]:= X[n+1-i];
X[n+1-i]:= b
End;
For i:=1 To n Do Write (X[i]:5); {вывод массива X}
Writeln;
Readln
End.
58 слайд
Сортировка массива
(сортировка «пузырьком»)
Задача 8
Отсортировать целочисленный одномерный массив по возрастанию.
59 слайд
Сортировка «пузырьком»
Суть метода состоит в том, что последовательно сравниваются все пары соседних элементов массива, и если значения элементов в паре стоят в неправильном порядке (правый меньше левого), то они меняются местами.
В результате одного такого прохода по массиву самый большой элемент обязательно окажется на последней позиции массива. При этом от своей позиции он, путем постепенных обменов, дойдет до последнего места. «Всплывает» как пузырек.
60 слайд
Сортировка «пузырьком»
Но массив при этом вовсе не обязательно окажется упорядоченным. Гарантированно на нужном месте при этом окажется только самый большой элемент. Поэтому эту процедуру нужно повторить. Но только теперь можно не рассматривать самую последнюю пару.
В результате предпоследний элемент тоже окажется на нужном месте.
Значит, всю процедуру нужно повторить столько раз, сколько элементов нужно поставить на требуемое место, то есть n – 1 (оставшийся элемент окажется при этом на своем месте сам).
61 слайд
Задача 8
Введем обозначения:
n – количество элементов в массиве;
X – имя заданного массива;
i – индекс элемента массива;
Xi – i-й элемент массива Х;
k – номер просмотра, изменяется от 1 до n-1;
w – промежуточная переменная для перестановки местами элементов массива.
Входные данные: n , X.
Выходные данные: Х.
62 слайд
Задача 8
Program Primer8_1;
Const n = 100;
Var X: Array[1..n] Of Integer;
i, k, w: Integer;
Begin
For i:=1 To n Do Read (X[i]); {ввод массива}
For k:=n - 1 Downto 1 Do {цикл по номеру просмотра}
For i:=1 To k Do
If X[i] > X[i + 1] Then {перестановка элементов}
Begin
w:= X[i];
X[i]:= X[i + 1];
X[i + 1]:= w
End;
For i:=1 To n Do Writeln (X[i]:5); {вывод массива X}
Readln
End.
63 слайд
Задания для самостоятельной работы
Дан целочисленный одномерный массив, состоящий из n элементов, и натуральные числа k, m (k < m < n). Вычислить среднее арифметическое элементов массива с номерами от k до m включительно.
Дан целочисленный одномерный массив, состоящий из n элементов. Подсчитать количество его положительных, отрицательных и нулевых элементов.
Дан одномерный массив Х1, Х2, …, Хn. Найти максимальный элемент и его порядковый номер.
Дан одномерный массив Х1, Х2, …, Хn. Есть ли в массиве положительные элементы, кратные k (k вводить с клавиатуры)?
Дан одномерный массив Х1, Х2, …, Хn. Найти все элементы, кратные 3 или 5. Сколько их?
64 слайд
Задания для самостоятельной работы
Заменить отрицательные элементы массива на их абсолютные величины.
Сформировать одномерный массив, содержащий n первых положительных нечетных чисел: 1, 3, 5, …
Дано целое число a и массив Х1, Х2, …, Хn. Из элементов, меньших a, сформировать новый одномерный массив.
Дан одномерный массив А1, А2, …, Аn. Все элементы уменьшить на величину квадрата наименьшего элемента.
Поменять местами первый и максимальный элементы массива.
Проверить, что массив упорядочен строго по убыванию (каждый последующий элемент строго меньше предыдущего).
Рабочие листы
к вашим урокам
Скачать
Выбранный для просмотра документ Итоговый проект.doc
Скачать материал "Итоговый практико-значимый проект «Методика преподавания темы «Однородные массивы и способы их обработки»"
Рабочие листы
к вашим урокам
Скачать
Рабочие листы
к вашим урокам
Скачать
6 672 417 материалов в базе
Настоящий материал опубликован пользователем Куркова Ирина Геннадьевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
Удалить материалВаша скидка на курсы
40%Курс профессиональной переподготовки
500/1000 ч.
Курс профессиональной переподготовки
500/1000 ч.
Курс профессиональной переподготовки
600 ч.
Курс профессиональной переподготовки
500/1000 ч.
Мини-курс
2 ч.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.