Презентация разработана к уроку по теме «Структурированный тип данных: МАССИВ»
При использовании данной презентации при объяснении новой темы появляется возможность применять методы личностно-ориентированного обучения: проблемный метод, метод эвристической беседы и элементы исследования. Постановка проблемы ставит учащихся в условия, которые побуждают его решать учебную проблему, проводить анализ материала и оперировать им. Такая деятельность позволяет учащимся получить новую информацию, освоит новые способы применения знаний
7.ppt
Структурированный тип данных: МАССИВ
Структурированный тип данных: МАССИВ
Цели
• Получить представление о новом типе
данных – структурированный тип
массив;
• Научить описывать и заполнять
данными массив на языке
программирования Паскаль.
• Сформировать навыки решения задач
с использованием массивов в среде
программирования Паскаль.
Структурированный тип данных: МАССИВ
Основные понятия
• Структурированный тип данных массив;
• Элемент массива;
• Индекс элемента массива;
• Значение элемента массива;
• Объявление массива;
• Заполнение массива;
• Вывод массива
Структурированный тип данных: МАССИВ
Массивы
Массив – это совокупность однотипных элементов,
имеющих общее имя и расположенных в памяти
рядом.
Особенности:
• все элементы имеют один тип
• весь массив имеет одно имя
• все элементы расположены в памяти рядом
Примеры:
список учеников в классе
•
• квартиры в доме
• школы в городе
• данные о температуре воздуха за год
Структурированный тип данных: МАССИВ
Массивы
A массив 2
2
10
1
5
НОМЕР
НОМЕР
элемента массива
элемента массива
3
15
4
20
(ИНДЕКС)
(ИНДЕКС)
5
25
A[1]
A[1]
A[2]
A[2]
A[3]
A[3]
A[4]
A[4]
A[5]
A[5]
ЗНАЧЕНИЕ
ЗНАЧЕНИЕ
элемента массива
элемента массива
A[2]
НОМЕР (ИНДЕКС)
НОМЕР (ИНДЕКС)
элемента массива: 2
элемента массива: 2
ЗНАЧЕНИЕ
ЗНАЧЕНИЕ
элемента массива: 10
элемента массива: 10
Структурированный тип данных: МАССИВ
Массивы
Последовательность действий при
обработке массивов:
1. массив должен быть объявлен
2. массив должен быть заполнен
данными
3. обработать массив, указанным в
задании образом
4. вывести на экран результаты работы
Структурированный тип данных: МАССИВ
Объявление массивов
Зачем объявлять?
• определить имя массива
• определить тип массива
• определить число элементов
• выделить место в памяти
Массив целых чисел:
имяимя
начальный
начальный
индекс
индекс
конечный
конечный
индекс
индекс
тип
тип
элементов
элементов
var A :array [ 1 . 5 ] of integer ;
Размер через константу:
const N=5;
var A: array[1.. ] of integer;
var A: array[1.. ] of integer;
N
Структурированный тип данных: МАССИВ
Объявление массивов
Массивы других типов:
var X, Y: array [1..10] of real;
var X, Y: array [1..10] of real;
C: array [1..20] of integer;
C: array [1..20] of integer;
Другой диапазон индексов:
var Q: array [0..9] of real;
var Q: array [0..9] of real;
C: array [-5..13] of integer;
C: array [-5..13] of integer;
Индексы других типов:
var A: array ['A'..'Z'] of real;
var A: array ['A'..'Z'] of real;
B: array [False..True] of integer;
B: array [False..True] of integer;
...
...
A['C'] := 3.14259*A['B'];
A['C'] := 3.14259*A['B'];
B[False] := B[False] + 1;
B[False] := B[False] + 1;
Структурированный тип данных: МАССИВ
Ввод с клавиатуры:
Массивы
Read(A[1
]);
Read(A[2
]);
Read(A[3
]);
Read(A[4
]);
Read(A[5
]);
Writeln('Введите массив из 5
Writeln('Введите массив из 5
элементов');
элементов');
For i:=1 to 5 do
For i:=1 to 5 do
Read(A[i]);
Read(A[i]);
For i:=1 to 5 do
For i:=1 to 5 do
read ( А[i] );
read ( А[i] );
For i:=1 to 5 do
For i:=1 to 5 do
begin
begin
write (‘A[‘,I,’]=’);
write (‘A[‘,I,’]=’);
read(A[i]);
read(A[i]);
end;
end;
Структурированный тип данных: МАССИВ
Массивы
Вывод на экран:
writeln('Массив A:');
writeln('Массив A:');
for i:=1 to N do
for i:=1 to N do
write(A[i],’ ‘);
write(A[i],’ ‘);
Структурированный тип данных: МАССИВ
Массивы
Объявление:
const N = 5;
const N = 5;
var a: array[1..N] of integer;
var a: array[1..N] of integer;
i: integer;
i: integer;
Ввод с клавиатуры:
for i:=1 to N do
for i:=1 to N do
read ( a[i] );
read ( a[i] );
Вывод на экран:
writeln('Массив A:');
writeln('Массив A:');
for i:=1 to N do
for i:=1 to N do
write(A[i],’ ‘);
write(A[i],’ ‘);
Массивы
Заполнение массива:
CONST
CONST
A:array[1..5] of integer = (25,3,0,16,7);
A:array[1..5] of integer = (25,3,0,16,7);
(типизированная константа)
(типизированная константа)
Вещественные
[4,5]
For i:=1 to 10 do
For i:=1 to 10 do
Целые
A[i]:= random(10);
A[i]:= random(10);
[0,n]
A[i]:=random+4;
A[i]:=random(n+1);
[a,b]
For i:=1 to 10 do
For i:=1 to 10 do
A[i] := sqr(i);
A[i] := sqr(i);
A[i]:=random(ba+1)+a;
Массивы
Арифметические действия над элементами массива
S:=0;
S:=0;
For i:=1 to 10 do
For i:=1 to 10 do
S:=S+A[i];
S:=S+A[i];
P:=1;
P:=1;
For i:=1 to 10 do
For i:=1 to 10 do
P:=P*A[i];
P:=P*A[i];
K:=0;
K:=0;
For i:=1 to 10 do
For i:=1 to 10 do
If A[i]mod 2=0 Then K:=K+1;
If A[i]mod 2=0 Then K:=K+1;
Массивы
Поиск элементов с заданными свойствами
A[
i]
Сформулируйте условия задачи поиска.
Например: Есть ли в классе ученик ростом выше 180 см?
Структурированный тип данных: МАССИВ
Массивы
Поиск элементов с заданными свойствами
•значений
•индексов
•количества
A[i]
i
K:=K+1;
For i:=1 to 10 do
For i:=1 to 10 do
IF…
IF…
Структурированный тип данных: МАССИВ
Массивы
Поиск элементов с заданными свойствами
A[i] mod 2<>0
A[i] mod 2<>0
I mod 2 =0
I mod 2 =0
(A[i] mod 5 = 0) or(A[i] mod 3=0)
(A[i] mod 5 = 0) or(A[i] mod 3=0)
(A[i] mod 2=0) and (I mod 2<>0)
(A[i] mod 2=0) and (I mod 2<>0)
(A[i]>0)and(I mod 2=0)
(A[i]>0)and(I mod 2=0)
Практическая работа
• Заполнить массив М, состоящий
из 9 элементов числами 3, 4, 7, 9,
19, 23, 24, 27, 39 и вывести его на
экран.
Структурированный тип данных: МАССИВ
program qq;
var М: array [1..9] of integer; i: integer;
begin
writeln('Исходный массив:');
for i:=1 to 9 do begin
write('M[', i, ']=');
read (M[i]);
end;
end.
Структурированный тип данных: МАССИВ
program qq;
const N: integer;
var М: array [1..N] of integer; i: integer;
begin
writeln('Исходный массив:');
for i:=1 to N do begin
write('M[', i, ']=');
read (M[i]);
end;
end.
Заполнение массива случайными числами
• «Случайным называется число, появление
которого не связано ни с какой
закономерностью. Например, случайным
является число, выпадающее при
бросании кубика для игры в кости. А сам
кубик можно рассматривать как
генератор случайных чисел. Во всех
языках программирования реализованы
генераторы случайных чисел.
Структурированный тип данных: МАССИВ
• В Паскале для «включения» генератора
случайных чисел используется функция
Randomize, а само случайное число можно
получить, если использовать функцию
Random.
• Например: у:=Random(x);
• Здесь у — целое случайное число в
интервале от 0 до х— 1, х — целое число,
задающее верхнюю границу интервала
случайных чисел.
• Чтобы получить случайное число в
интервале от А до В (А < В), надо
использовать следующее присваивание:
• у:=Random(BA+l)+A;
Структурированный тип данных: МАССИВ
Заполнение массива случайными числами
Заполнить
массив М,
состоящий из
9 элементов
случайными
числами в
интервале от
50 до 150 и
вывести его
на экран.
program qq;
сonst N =9;
var М: array [1..9] of integer;
i: integer;
begin
writeln('Исходный массив:');
for i:=1 to 9 do begin
M[i] := random(100) + 50;
write( M[i]:4);
end;
end.
Структурированный тип данных: МАССИВ
Выполните задания
самостоятельно
Заполнить массив случайными
числами в заданном интервале
вывести его на экран
1) Z[30] от 2 до 49.
2) L[15] от 10 до 40
3) С[10] от 5 до 15
4) Z[30] от 20 до 76
5) М[40] от 10 до
60
6) В[30] от 6 до 55
7) D[40] от 1 до 50
8) А[20] от 3 до 59
9) М[20] от 1 до 33
10)С[24] от 10 до 46
11)К [22] от 2 до 42
Структурированный тип данных: МАССИВ
Заполнение массива
константами
элементы массива — константы.
В этом случае заполнение происходит в разделе
const. В этом разделе после описания массива
надо в круглых скобках через запятую указать
конкретные значения элементов. Например,
рассмотрим такую задачу: заполнить массив К[8]
константами: 4, 6, 90, 23, 56, 79, 34, 12. Решение
будет таким:
const К: array[1..8] of Integer = (4, 6, 90, 23, 56,
79, 34, 12);
Вывод массива осуществляется в самой программе
так же, как было рассмотрено ранее
Структурированный тип данных: МАССИВ
Заполнение массива
константами
program qq;
сonst М: array [1..8] of integer=(4, 6, 90, 23, 56, 79, 34,
12);
var i: integer;
begin
writeln('Исходный массив:');
for i:=1 to 8 do begin
write(‘M[', i, ']=‘,M[i]:4);
end;
end.
Структурированный тип данных: МАССИВ
Выполните задания
самостоятельно
• написать программу решения
следующей задачи: «Заполнить и
вывести массив, элементы которого
константы», а также реализовать
написанную программу на компьютере.
Структурированный тип данных: МАССИВ
Заполнение массива, элементы которого
связаны некоторой закономерностью
элементы массива связаны некоторым законом.
• Например, элементы массива — нечетные
положительные числа от 1 до 23, т. е. массив
состоит из чисел 1, 3, 5, 7, 9, ... , 23, т.е.значение
элемента связано с его индексом по закону: М[1] =
2*7—1 для I от 1 до 12. Количество элементов такого
массива можно посчитать по формуле: n = (23 — 1)/2
+ 1.
• Элементы массива — положительные четные числа,
то используется другое соотношение: М[1] = 2*1,
количество элементов вычисляется аналогично.
Структурированный тип данных: МАССИВ
• Заполнить массив
нечетными целыми
числами в интервале
от 1 до 41 и вывести
его на экран.
• В этой задаче надо
посчитать количество
элементов массива по
формуле
n = (411)/2 + 1 = 21.
• Остальное решение
не требует
пояснения, и можно
сразу написать
программу:
Program prog8;
uses Crt;
var
b: array[1..21] of Integer;
j: Integer;
Begin
ClrScr;
for j:=1 to 21 do b[j]:=2*jl
for j:=1 to 21 do
Write(b[j], ' ');
Readln; end.
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.