Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 Pascal1.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
3.95 Mб
Скачать

Тема №8: программирование на языке turbo-pascal. Массивы, одномерные и вдухмерные. Составление программ с использованием массивов.

ПРОГРАММНО - ДИДАКТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ: ЭВМ типа IBM. Turbo-Pascal 5.

ЦЕЛИ И ЗАДАЧИ: Знакомство с понятием массив и способами их обработки. Познакомиться с базовыми алгоритмами работы с массивами. Выработка навыков составления программ с использованием массивов.

ТРЕБОВАНИЯ К ЗНАНИЯМ И УМЕНИЯМ:

Учащиеся должны знать:

  • Что такое массив;

  • Какие бывают массивы;

  • Чем отличаются одномерные и двухмерные массивы;

  • Как описываются массивы в программе;

  • Как обратиться к заданному элементу массива;

  • Алгоритм нахождения максимума или минимума среди элементов массива;

  • Простейший алгоритм сортировки элементов одномерного массива.

Учащиеся должны уметь:

  • Заполнять массивы с клавиатуры или случайными числами, произвольным или заданным образом;

  • Распечатывать одномерные массивы в виде строки;

  • Распечатывать двухмерные массивы в виде таблиц;

  • Находить заданные элементы массива;

  • Заменять заданные элементы массива или производить с ними арифметические операции;

  • Менять местами элементы массива;

  • Находить сумму, произведение или экстремальные элементы в массиве;

  • Сортировать одномерные массивы;

  • Составлять программы с использованием массивов.

ПЛАН-СОДЕРЖАНИЕ УРОКА

Основные понятия

В Паскале, кроме простых типов данных (integer, real, char и т.д.), имеются и сложные типы. К ним относятся массивы.

Массив (array, от французского – сплошной) – это область памяти, в которой размещается совокупность конечного числа данных одного типа с одним именем. Каждый элемент такой совокупности обозначается именем массива с индексом (номером элемента в массиве).

Элемент массива – отдельная переменная, входящая в массив;

Индекс (index) – это числовая константа или целочисленное арифметическое выражение (частный случай - целочисленная переменная), которым снабжаются элементы массива, чтобы отличать их друг от друга.

Индекс элемента массива – номер элемента в массиве.

Особенность массивов заключается в том, что все элементы массива являются данными одного типа (возможно и структурированного). При назначении массиву имени соблюдаются те же требования, какие предъявляются к именам переменных простых типов.

a11

a12

a1n

a21

a22

a2n

am1

am2

amn

В зависимости от количества используемых индексов, массивы могут быть одномерные (строка), двухмерные (таблица), трехмерные и т.д.

Двухмерный массив

В одномерном массиве для указания местоположения элемента достаточно одного индекса,

В двухмерном массиве – два индекса, для строк и граф.

Размерность массива определяется количеством индексов.

Размер массива – диапазон изменения индексов массива.

Размер одномерного массива – количество элементов, которое содержит массив.

Размер двухмерного массива - количество элементов в сроках и графах таблицы и т.д.

Описание массивов:

Тип массива

Описание массива

1 способ

2 способ

одномерный:

Type t=array[1..n] of тип;

Var a:t;

Var a: array[1..n] of тип;

двухмерный

Type р=array[1..n,1..m] of тип; Var a:р;

Var а=array[1..n,1..m] of тип;

трехмерный

Type р=array[1..n,1..m,1..k] of тип; Var a:р;

Var a=array[1..n,1..m,1..k] of

Пример описания одномерного массива размерностью 20:

type mas=array[1..20] of integer;

var a : mas;

mas – имя типа,

a – имя переменной типа массив.

Границы изменения индексов - от 1 до 20, т.к. размерность 20 элементов

const mas : array [1..7]

of byte=(31,–7,4,3,25,–3,2);

Массив, объявленный как константа, т.е. совмещается объявление массива и занесение в него констант.

Следует помнить, что значением переменной a является весь массив!

Элемент массива обозначается указанием имени массива, за которым в квадратных скобках следует индекс массива. Например, a[1] – первый элемент одномерного массива; с[5] – пятый элемент одномерного массива; a[i] – i-тый элемент одномерного массива или для двухмерных массивов: с[1,5] – пятый элемент первой строки массива; a[i,j] – j-тый элемент i-й строки двухмерного массива.

В двухмерном массиве первый индекс - номер строки, второй - номер столбца.

Двухмерные массивы иногда называют матрицами. Двухмерные массивы могут быть прямоугольными (количество строк и столбцов разное) или квадратными (одинаковое количество строк и столбцов). В двухмерных массивах элементы, у которых номер строки совпадает с номером столбца, называются диагональными или элементами главной диагонали. Главная диагональ начинается с первой с роки первого столбца и заканчивается на последней строке последней графы. Кроме главной диагонали существует побочная диагональ - с последней графе первой строки до первой графы последней строки.

Базовые алгоритмы работы с одномерными массивами

Будем считать, что объявили массив из 10 элементов, тип элементов в данном случае значение не имеет:

  1. заполнение одномерного массива:

    • заполнение с клавиатуры:

for i:=1 to 10 do

begin

writeln (‘Введите значение элемента’);

readln(a[i]);

end;

  • заполнение случайным образом:

for i:=1 to 10 do

a[i]:=random(n); {n должно быть задано заранее}

  • заполнение натуральными числами:

for i:=1 to 10 do

a[i]:=i;

  • поменять местами два заданных элемента массива:

c:=a[i]; a[i]:= a[j]; a[j]:=c;

  • заполнение по формуле (например, ai=sin i):

for i:=1 to 10 do

a[i]:=sin(i);

  1. вывод массива на экран:

for i:=1 to 10 do

writeln (‘элемент ’, i, ‘ массива ’,a[i]);

  1. нахождение суммы элементов одномерного массива:

s:=0;

for i:=1 to 10 do

s:=s+a[i];

  1. подсчёт количества элементов, удовлетворяющих заданному условию (например, положительных элементов):

k:=0;

for i:=1 to 10 do

if a[i]>0 then k:=k+1;

  1. поиск максимального элемента одномерного массива и его номера:

max:=a[1];

n:=1;

for i:=2 to 10 do

if a[i]>max then begin max:=a[i]; n:=i; end;