Рабочие листы
к вашим урокам
Скачать
1 слайд
Массивы
МБОУ «Гимназия № 8»
г.Рубцовск Алтайский край
2013г.
Выполнила:
Каверзина Татьяна Николаевна- высшая квалификационная категория
2 слайд
цели: освоить теоретические знания о массивах и научиться:
организовывать данные в виде таблиц;
обосновывать выбор типа элемента массива;
описывать табличные данные;
писать и отлаживать программы, обрабатывающие массивы в среде Turbo Pascal.
3 слайд
В практической деятельности человека часто используются таблицы и списки.
Например:
Список среднесуточной температуры месяца;
Таблица умножения.
4 слайд
Определим, что же такое массив?
Создадим два массива в компьютере, как обратиться к каждому из них, к элементам одного массива?
Как отличить элементы одного массива?
Чем отличаются друг от друга массивы?
Сколько чисел достаточно, чтоб определить место каждого элемента
5 слайд
Как же организовать массив на языке программирования?
Построим все этапы создания привычной для нас таблицы в тетради:
Определяем структуру таблицы, размер строк, столбцов в зависимости от данных.
Строим таблицу.
Заносим в неё данные.
Аналогично организуем работу и с массивами
6 слайд
Массив – это упорядоченная совокупность однотипных данных, обозначенных одним именем.
7 слайд
Можно ли описать массив на языке Паскаль, если неизвестно точное количество его элементов?
Можно ли описать на языке Паскаль массив, если неизвестны точные значения элементов массива, но известен их физический смысл и/или диапазон значений?
8 слайд
Одномерные массивы
9 слайд
1, 2 …5 — номер элемента - индекс.
А — имя массива
Значения
Индексы
А[3]=?
Имя массива
Индекс
Значение
1
11
9
7
5
9
10 слайд
Описание массива
<Имя> : array[<первый_элем>..<последн_элем>] of <Тип>;
Например,
var Mas : array[1..5] of Real;
Назовите имя массива?
Назовите зарезервированное слово для объявления массива?
Сколько элементов в данном массиве?
11 слайд
Пример:
var
a: array[1..100] of integer;
b: array[1..100] of integer;
c: array[1..100] of integer; или более
кратко (компактно):
var
a, b, c: array[1..100] of integer;
12 слайд
Заполнение массива
с клавиатуры;
через датчик случайных чисел;
через оператор присваивания (по формуле)
13 слайд
Способ 1
Ввод:
For i:=1 to n do
readln(a[i]);
Вывод:
For i:=1 to n do
writeln(a[i]);
14 слайд
Способ 2
Через датчик или генератор случайных чисел RANDOM(х).
Randomize;
For i:=1 to n do
а[i]:=random(х);
15 слайд
Если требуется, чтобы значения элементов массива выбирались из определенного интервала [a,b],
то
a+Random(b-a+1);
16 слайд
Способ 3
По формуле:
For i:=1 to n do
а[i]:=i*3;
17 слайд
Задача.
Сформировать массив, содержащий n натуральных (целых) чисел a[i], пользуясь для ввода данных клавиатурой, и выдать полученный массив на экран дисплея.
18 слайд
uses crt;
var n, i: integer;
a: array[1..100] of integer;
begin
clrscr;
write('Введи n=');
readln(n);
for i:=1 to n do
begin
write('Введи элемент массива 'a[', i, ']=');
readln(a[i]);
end;
for i:=1 to n do write('a[', i, ']=', a[i]);
readln
end.
19 слайд
Задача. Пользуясь случайными числами, сформировать два массива целых чисел a[i] и b[i], Получить третий массив
c[i]=a[i] + b[i].
20 слайд
uses crt;
var
n, i: integer; a, b, c: array[1..100] of integer;
begin
clrscr;
write('Введи n='); readln(n);
randomize;
for i:=1 to n do
begin
a[i]:=random(125);
b[i]:=random(184);
c[i]:=a[i] + b[i];
writeln('a[', i, ']=', a[i], ' b[', i, ']=', b[i], ' c[', i, ']=', c[i]);
end;
readln
end.
21 слайд
Задача. В некотором множестве, состоящем из n учащихся, известны данные о росте каждого ученика. Найти самого высокого и самого низкого из учеников и колебание роста между ними.
Введем следующие обозначения:
n - количество учеников
i - индекс или порядковый номер ученика
a[i] - массив, содержащий данные о росте каждого ученика.
min - ячейка для ответа. Должна содержать рост самого низкого ученика
max - ячейка для ответа. Должна содержать рост самого высокого ученика
r - колебание в росте самого низкого и самого высокого учеников
22 слайд
При поиске минимального и максимального роста учеников используется алгоритм сравнения
Вначале первое число из массива ростов учащихся a[1] заносится в ячейки для ответа, то есть в min и max, и таким образом, a[1] принимается за минимальный и максимальный рост учеников. Далее последующие числа из массива ростов сравниваются со значениями min и max, и как только находится меньшее, чем min число, оно немедленно заносится в min вместо находившегося там числа. Аналогично и с максимальным ростом. Как только встречается в массиве ростов число, большее, чем число, находящееся в max, большее число заносится в max вместо прежнего числа. Так происходит до тех пор, пока не будет пересмотрен весь массив ростов учащихся. В результате будет найден минимальный и максимальный рост учеников и соотствтствующее колебание минимального роста по отношению к максимальному.
23 слайд
program rostmas1;
uses crt;
var
n, i, min, max, r: integer;
a: array[1..100] of integer;
begin
clrscr;
write('Введи n='); readln(n);
for i:=1 to n do
begin
write('Введите рост ученика='); readln(a[i]); end;
min:=a[1];
max:=a[1];
for i:=2 to n do
begin
if a[i]<min then min:=a[i];
if a[i]>max then max:=a[i];
end;
writeln('min=', min, ' max=', max);
r:=max - min;
writrln('Колебание роста=', r);
readln
end.
24 слайд
Нахождение суммы элементов массива
S:=0;
FOR I:=1 TO N DO
S:=S + A[I];
25 слайд
Нахождение произведения элементов массива
P:=1;
FOR I:=1 TO N DO
P:=P * A[I];
26 слайд
Найти максимальный элемент массива и сообщить его порядковый номер
MAX:=A[1]; x:=0;
FOR I:=2 TO N DO
IF A[I] > MAX THEN
Begin
MAX:=A[I]; x:=I;
END;
27 слайд
1. Написать программу, которая формирует случайным образом массив из N целых чисел, лежащих в диапазоне от 1 до 5, после чего на экран выводится сам массив и номера элементов, совпадающих с первым элементом. Протестировать программу на трёх различных тестах.
2. Написать программу, которая вводит массив из N целых чисел и выводит на экран элементы, кратные числу K. Протестировать программу на следующих исходных данных:
а) k=3 Массив: 2 6 -9 4 5 12 -15
б) k=4 Массив: 9 0 8 124 -16 11 19
3. Написать программу, которая вводит массив из N вещественных чисел, а затем заменяет в нём все элементы, превышающие данное число Z, этим числом. Вывести на экран полученный массив и количество замен. Протестировать программу на следующих исходных данных:
а) Z=10 Массив: 1,2 2,6 3 -4,5 11 10,2 3,2 87 -15
б) Z=-2 Массив: 0 -3,1 11 -7,9 -2,1 -1,9 4
4. При поступлении в ВУЗ абитуриенты, получившие «двойку» на первом экзамене, ко второму не допускаются. В массиве A[N] записаны оценки экзаменующихся, полученных на первом экзамене. Подсчитать, сколько человек не допущено ко второму экзамену.
28 слайд
Двумерные массивы
29 слайд
В математике квадратные и прямоугольные таблицы часто называют матрицами
Первый
индекс –
номер
строки
Второй
индекс –
номер
столбца
M- строк
N столбцов
Матрица имеет размер М*N
30 слайд
Описание массива
<имя массива>:ARRAY[<m1>..<m2>,<n1>..<n2>] OF <тип>;
Например
a: array [1..3, 1..6] of integer;
Количество строк
Количество столбцов
Количество строк
Количество столбцов
Назовите имя массива?
Назовите зарезервированное слово для объявления массива?
Сколько элементов в данном массиве?
31 слайд
Запись:
имя массива[m, n]
указывает на элемент, стоящий на пересечении m-ой строки и n-го столбца
Например, а [2,3] указывает на элемент во 2-ой строке и 3-ем столбце
VAR A:ARRAY[1..3,1..6] OF REAL;
32 слайд
При решении задач с использованием двумерных массивов организуются вложенные циклы:
For i:=1 to m do begin
изменяется номер строки
For j:=1 to n do begin
изменяется номер столбца
Запись массива: а[i , j]
33 слайд
Опишите таблицу А, состоящую из 4 строк и 5 столбцов, заполните её случайными числами в интервале от 1 до 100.
VAR A: ARRAY[1..4,1..5] OF INTEGER;
RANDOMIZE;
FOR I:=1 TO 4 DO
FOR J:=1 TO 5 DO
A[I,J]:=RANDOM(100);
34 слайд
Опишите массив , значения элементов которого вычисляются в следующем фрагменте программы:
FOR I:=1 TO 20 DO
begin
x:=x+1;
FOR J:=1 TO 5 DO
A[I,J]:= A[I,J] + x;
End;
VAR A:ARRAY[1..20,1..5] OF REAL;
35 слайд
Нахождение суммы элементов массива
36 слайд
Найти максимальный элемент массива и сообщить его порядковый номер
MAX:=A[1,1]; x:=0;
FOR i:=2 TO m DO
FOR j:=1 TO n DO
IF A[I,j] > MAX THEN
Begin
MAX:=A[I,j]; x:=i;
END;
37 слайд
Хозяйка ходит в магазин каждый день утром и вечером в течении недели. Она записывает свои расходы в такую табличку:
Ввести все элементы массива и определить траты хозяйки утром и вечером в течении недели.
Рабочие листы
к вашим урокам
Скачать
6 665 104 материала в базе
Настоящий материал опубликован пользователем Каверзина Татьяна Николаевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
Удалить материалВаша скидка на курсы
40%Курс профессиональной переподготовки
500/1000 ч.
Курс профессиональной переподготовки
300/600 ч.
Курс профессиональной переподготовки
600 ч.
Курс профессиональной переподготовки
300/600 ч.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.