Число__________ Класс__________
УРОК 13-16
ПОНЯТИЕ О
МАССИВАХ.
СТАНДАРТНЫЕ
АЛГОРИТМЫ ОБРАБОТКИ МАССИВОВ.
Цели: 1.
Обучать
работе с массивами.
2. Развивать логическое
мышление.
3. Воспитывать познавательный
интерес.
Проверка домашнего задания.
Ход урока:
В языке Паскаль существует два вида
массивов:
одномерные
и
двумерные.
Одномерный массив - это фиксированное
количество элементов одного типа, объединенных одним именем, причем каждый
элемент имеет свой уникальный номер, и номера элементов идут подряд.
Массивы объявляются в программе
служебным словом
Array.
Например, объявим массив А для ввода 50
чисел:
Var
A:Array[1..50] of Integer;
Здесь А - это имя массива (общее
имя для всех переменных);
Array - служебное слово (в переводе -
«массив», «набор»);
[1. .50] - в квадратных скобках
указывается номер первого элемента и, после двух точек, номер последнего
(размерность массива);
Of - служебное слово (в переводе -
«из»); Integer - тип всех элементов массива.
Для того чтобы обратиться к
элементу этого массива, нужно указать имя массива и в квадратных скобках -
номер этого элемента. Например, первый элемент массива А- А[1], а пятый - А[5].
При решении задач часто приходится
заполнять массив.
Рассмотрим несколько способов
заполнения массивов:
1.
Первый
способ -
это заполнение одномерного массива с клавиатуры.
2.
Второй
способ -
это заполнение с помощью генератора случайных чисел. Этот способ более удобен
тогда, когда в массиве много элементов, и их точные значения не слишком важны (Random(x) - сгенерировать случайное число, не
превышающее х.
Randomize - делает работу генератора
случайной).
3.
Третий
способ -
это чтение значений элементов из файла.
При
работе с элементами массива можно выделить несколько видов задач.
1.
Нахождение
суммы (или произведения) элементов. Пример: Найти сумму элементов.
2.
Нахождение
номеров элементов, обладающих заданным свойством. Пример: Найти номера четных
элементов.
3.
Нахождение
количества элементов, обладающих заданным свойством. Пример: Найти количество
положительных элементов.
Задача
Дан целочисленный одномерный
массив, состоящий из п элементов. Найти сумму и произведение нечетных
элементов, кратных 3.
Задача
Найти номера четных элементов,
стоящих на нечетных местах.
Двумерные массивы можно представить в виде прямоугольной
таблицы или матрицы. Рассмотрим матрицу А размерностью 2x3 (состоящую из двух
строк по три элемента в каждой):
Положение каждого элемента
определяется двумя числами: номером строки, в которой находится элемент, и
номером столбца. Например, аи~ это элемент, стоящий в первой строке и во втором
столбце.
Имеется несколько способов
объявления двумерных массивов.
Самый простой из них таков:
Так как положение элементов в
двумерном массиве описывается двумя индексами (первый - номер строки, второй -
номер столбца), программы для решения большинства матричных задач строятся на
основе вложенных циклов. Обычно внешний цикл организуется по строкам матрицы,
т.е. в нем выбирается требуемая строка матрицы, а внутренний цикл - по столбцам
матрицы, в нем выбирается элемент строки. Для присваивания значений элементов
массива могут быть использованы операторы присваивания и операторы ввода.
Обращение к элементам двумерного
массива имеет вид: M[i, j
] . Это
означает, что мы хотим получить элемент, расположенный в i -й
строке и j -м столбце. Тут главное не
перепутать строки со столбцами, а то мы можем снова получить обращение к
несуществующему элементу.
Основные действия с
двумерными массивами Паскаля
Все, что было сказано об основных
действиях с одномерными массивами, справедливо и для матриц. Единственное
действие, которое можно осуществить над однотипными матрицами целиком - это
присваивание. Т.е., если в программе у нас описаны две матрицы одного типа,
например,
то в ходе выполнения программы
можно присвоить матрице a значение матрицы b, например, так а:=b. Все
остальные действия выполняются поэлементно; при этом над элементами можно
выполнять все допустимые операции, которые определены для типа данных элементов
массива.
Это означает, что если массив состоит из целых чисел, то над его элементами
можно выполнять операции, определенные для целых чисел, если же массив состоит
из символов, то к ним применимы операции, определенные для работы с символами.
Ввод двумерного массива Паскаля.
Для последовательного ввода
элементов одномерного массива нам потребуется два цикла for, причем один из них будет
вложен в другой.
Рассмотрим пример ввода двумерного
массива Паскаля с клавиатуры:
Двумерный массив Паскаля можно
заполнить случайным образом, т.е. использовать функцию random(N), а также присвоить каждому элементу
матрицы значение некоторого выражения. Способ заполнения двумерного массива
Паскаля выбирается в зависимости от поставленной задачи, но в любом случае
должен быть определен каждый элемент в каждой строке и каждом столбце.
Вывод двумерного массива Паскаля на
экран
Вывод элементов двумерного массива
Паскаля также осуществляется последовательно, необходимо напечатать элементы
каждой строки и каждого столбца. При этом хотелось бы, чтобы элементы, стоящие
в одной строке, печатались рядом, т.е. в строку, а элементы столбца
располагались один под другим. Для этого необходимо выполнить следующую
последовательность действий (рассмотрим фрагмент программы для массива,
описанного в предыдущем примере):
Задача
Объявить двумерный массив
размерностью 3x5, заполнить его данными с клавиатуры и вывести на экран.
Вопросы
и задания:
1.
Удалить
все элементы массива, кратные 3 или 5.
2.
Дан
одномерный массив. Переставить его элементы в обратном порядке.
3.
Найти
сумму элементов в первом столбце двумерного массива.
4.
Найти
сумму элементов в последней строке двумерного массива.
Домашнее
задание: конспект
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.