кц
Текст программы запишется следующим образом
program KOL_Elem; { Количество элементов, равных заданному числу }
const
Count = 10; {Размер массива}
var
А:аггау [1..Count] of byte; {описание массива}
L, {Элемент, который задан}
I, {Параметр цикла поиска}
K : byte; {Количество элементов}
begin
Writeln('Исходный массив :'); {Ввод массива }
for I:=l to Count do
begin
Write(‘Введите элемнт массива’);
readln(a[I]);
end;
Writeln;
Wri te('Введите элемент, количество которого надо найти : ');
Readln(L);
K:=0;{Инициализация}
for i:=1 to count do {Просматривать все элементы массива}
if A[i]=L then
{Если очередной элемент массива совпал c указанным}
begin
K:=K+1;
Write(‘номер элемента ‘,i); {Печать полученного массива}
end;
Write(‘количество элементов равно’,k);
end..
Программа на Vbasic в Приложении№1. Проект №7
Задача №3
Даны два массива одинаковой размерности, получить третий массив, каждый элемент которого равен положительным элементам из первого массива в начале и отрицательным элементам из второго массива в конце.
Решение
Дано массивы А и В – целые числа, ввод с клавиатуры, количество - 5
Найти третий массив С – целые числа, количество неизвестно
Необходимо просмотреть первый массив А и определить положительные элементы массива. Если элемент массива А[i] >0 , то необходимо присвоить его значение элементу массива С[j] :=A[i], а также определить номер элемента J массива С. , так как мы незнаем количество положительных элементов в массиве А и
Например дан массив А
[ 5, -6,2,0,-4]
а[1]>0 , то C[1]=A[1] ,
а[2]<0 , то C[2]<>A[2] ,
а[3]>0 , то не C[3]=A[3] , а C[2]=A[3], Потому, что в массиве C только второй элемент, значит необходимо ввести счетчик количества элементов С J:=J+1
если а[i]>0 , то J:=J+1; C[J]=A[i] ,
После просмотра всего массива А получим массив С из J элементов.
Теперь необходимо просмотреть массив В и аналогичным образом найти остальные элементы массива С, только присваивание необходимо начинать с номера J+1
Нарисуем блок-схему для решения задачи, а ученики запишут программу.
![]() |
Текст программы выглядит следующим образом.
program New_massiv; { Создание нового массива }
const
Count = 10; {Размер массива}
var
B, А:аггау [1..Count] of integer; {описание массива B, A}
C:аггау [1..Count*Count] of integer;
I, {Параметр цикла }
J : byte; {Количество элементов}
begin
Writeln('Исходные массивы :'); {Ввод массива A, B}
for I:=l to Count do
begin
Write(‘Введите элемент массива A’);
readln(a[I]);
Write(‘Введите элемент массива B’);
readln(B[I]);
end;
Writeln;
J:=0;{Инициализация}
for i:=1 to count do {Просматривать все элементы массива A}
if A[i]>0 then
{Если очередной элемент массива >0}
begin
J:=J+1;
C[j]:=A[i];{Присваивание элементу массива С значение элемента массива А}
end;
for i:=1 to count do {Просматривать все элементы массива B}
if B[i]<0 then
{Если очередной элемент массива <0}
begin
J:=J+1;
C[j]:=B[i];{Присваивание элементу массива С значение элемента массива B}
end;
Writeln('Новый массив С :'); {Вывод массива С}
for i:=1 to J do
Write (С[i]);
end..
Программа на VBASIC в приложении Проект №8
Домашнее задание
Подготовка к контрольной работе.
Повторить определение массива, виды массивов, размерность массивов.
Способы описания массива, заполнения массива.
Задачи на анализ таблицы, поиск в таблице, на формирование массива.
Решить задачи
Найти сумму элементов массива, стоящих на четных местах. Даны два массива. Получить третий массив, элементы которого равны сумме элементов двух первых. Дан массив целых чисел, найти в нем минимальный элемент и удалить все элементы после него. В данном массиве всего один минимальный элемент.Тема урока№7Контрольная работа.
Цель урока. Определить уровень знаний учащихся.
Контрольная работа №1
Вариант 1 Тема: ОДНОМЕРНЫЕ МАССИВЫ
1. Объявление массива - общий формат записи: Какие типы данных могут быть элементами массива? Какие типы допускаются в качестве индексов? Как осуществляется доступ к элементам массива?
Привести пример:
Объявить массив целых чисел, с индексами от -30 до 30.
2. Сколько способов заполнения массива исходными данными вы знаете? Перечислить.
Привести пример:
Заполнение массива размером N=10 случайными числами в диапазоне [А..В].
3. Даны два массива - X и Y с начальными значениями, показанными на рисунке. Какими они станут после выполнения следующего фрагмента? Что будет напечатано?
X | Y |
| |||
-5 | 75 |
| |||
3 | -1 |
| |||
40 | -4 |
| |||
19 | 50 |
| |||
3 | 10 |
| |||
10 | 19 |
| |||
паскаль | Vbasic | ||||
var X, Y:array[1..6] of integer; i : integer; begin Х[4]:=Х[4]+Х[6]; Y[2]:=Y[3]+Y[4]; Х[6]:=Х[1]+Х[3]; Х[2]:=Х[5]+Х[Х[2]]; For I:=l to 6 do begin if x[i]> 10 then writeln(x[i]); if x[i]<50 then writeln(y[i]); end; end. | Dim X(1.to.6) as integer Dim Y(1.to.6) as integer Dim i as integer Х(4)=Х(4)+Х(6) Y(2)=Y(3)+Y(4): Х(6)=Х(1)+Х(3) Х(2)=Х(5)+Х(Х(2)) For I=l to 6 if x(i)> 10 then print x(i) if x(i)<50 then Print y(i) next i |
4. Требуется разработать алгоритм (псевдокод или блок-схему) и написать программу для задачи:
Дан массив из n элементов вещественных чисел. Найти минимальный элемент и исключить его из массива, т. е. получить массив размером n-1. (Максимальное значение n = 20)
На экране должны быть распечатаны исходный массив, минимальный элемент и его индекс, результирующий массив.
При разработке программы желательно использовать метод структурного программирования.
Вариант 2
Тема: ОДНОМЕРНЫЕ МАССИВЫ
1. Объявление массива - общий формат записи. Какие типы данных могут быть элементами массива? Какие типы допускаются в качестве индексов? Как осуществляется доступ к элементам массива?
Привести пример:
Объявить массив вещественных чисел, с индексами от 'а' до ‘z’
2. Сколько способов заполнения массива исходными данными вы знаете? Перечислить.
Привести пример:
Ввести с клавиатуры N целых чисел в массив размером М, где N<M, и распечатать его. Число N заранее не известно. Максимальное значение М = 20.
3. Исходный набор данных содержит числовые значения 23, 100, 231, 245 и 9. Покажите в форме рисунка состояние массивов а и b после выполнения следующего программного фрагмента:
паскаль | Vbasic |
var a, b array[1..5] of integer; i, j:integer; begin for i:=l to 5 do begin readln(a[i]); if a[i]>100 then begin b[j]:=a[i]; j:=j+i; end; end; end. | Dim a [1.to.5] as integer Dim b [1.to.5] as integer Dim i, j as :integer for i=l to 5 a(i)=inputbox(“введите элементы”,””) if a(i)>100 then b(j)=a(i) j:=j+i; end if next i |
Объясните, что может произойти, если удалить предложение
При каких значениях входных данных ошибка заведомо не возникнет?
4. Требуется разработать алгоритм (псевдокод или блок-схему) и написать программу для задачи:
Написать программу, которая будет считывать значение п и следующие за ним п чисел, помещая их в массив X. Затем она должна прочитать другой параметр m и ввести m значений в массив Y. После этого элементы массивов X и Y нужно поместить в один большой массив Z - сначала элементы X, а затем Y. Распечатать все три массива. Максимальные значения N = 10 и М = 10.
При разработке программы желательно использовать метод структурного программирования.
Вариант З Тема: ОДНОМЕРНЫЕ МАССИВЫ
1. Объявление массива - общий формат записи. Какие типы данных могут быть элементами массива? Какие типы допускаются в качестве индексов? Как осуществляется доступ к элементам массива?
Привести пример:
Объявить массив логических переменных, с индексами от 1 до 365.
2. Сколько способов заполнения массива исходными данными вы знаете? Перечислить.
Привести пример:
Объявить массив как типизированную константу, заполнив его вещественными числами.
3. Выяснить, что будет напечатано при выполнении следующего фрагмента:
паскаль | Vbasic |
var i, k,m: integer; а: array[3.. 11] of integer; begin for i:=3 to 11 do a[i]:=0; m:=l: k:=5; for i:=l to 5 do begin a[i+k]:=20*i; m:=-m; k:=k+m; writeln('k=',k,' m=',m); end; writeln('i=',i,' k=',k,' m'=',m); for i:=3 to 11 do writeln(a[i]); end. | dim i, k,m as integer dim а (3..to 11) as integer for i=3 to 11 a(i)=0 next i m=l: k=5 for i=l to 5 a(i+k)=20*i m=-m k=k+m Print ”k=”,k,“m=”,m Next i Prnt “i=”,i,” k=”,k,” m =”,m); for i=3 to 11 print a(i) next i |
4. Требуется разработать алгоритм (псевдокод или блок-схема) и написать программу для задачи:
Написать программу, в которой массив А размером М будет случайным образом заполнен целыми числами в диапазоне от - D до +D.
Затем программа должна просмотреть все заполненные элементы этого массива и, если элемент положителен или равен нулю, он пересылается в массив В; отрицательные значения направляются в массив С. распечатать все три массива. Максимальное значение М = 20.
При разработке программы желательно использовать метод структурного программирования.
Тема урока №8 «Сортировка массива»
Цель урока: Дать определение сортировки, сформировать умение определять вид массива, отработать навык упорядочения массива.
Анализ контрольной работы.
Новый материал.
Для решения многих задач удобно сначала упорядочить данные по определенному признаку, так можно ускорить поиск некоторого объекта. Например, в преферансе игроки раскладывают карты по мастям и по значению. Так легче определить, каких карт не хватает. Или возьмем любой энциклопедический словарь - статьи в нем упорядочены в алфавитном порядке.
Перегруппирование заданного множества объектов в определенном порядке называют сортировкой.
Почему сортировке уделяется большое внимание? Вы это поймете, прочитав цитаты двух великих людей.
"Даже если бы сортировка была почти бесполезна, нашлась бы масса причин заняться ею! Изобретательные методы сортировки говорят о том, что она и сама по себе интересна как объект исследования." /Д. Кнут/
"Создается впечатление, что можно построить целый курс программирования, выбирая примеры только из задач сортировки." /Н. Вирт/
Отличительной особенностью сортировки является то обстоятельство, что эффективность алгоритмов, реализующих ее, прямо пропорциональна сложности понимания этого алгоритма. Другими словами, чем легче для понимания метод сортировки массива, тем ниже его эффективность.
Сегодня существует множество методов сортировки, но для понимания сути сортировки рассмотрим некоторые из них.
Но прежде чем перейти к рассмотрению конкретного алгоритма той или иной сортировки немного вспомним материал, который пригодится нам в дальнейшем.
Задача№1. Даны две целочисленные переменные х и y. Составить фрагмент программы, после выполнения которого значения этих переменных распределяются в порядке убывания.
Обмен значений переменных нужно производить лишь в том случае, если х<у. Для того чтобы не потерять начальное значение переменной х, введем дополнительную переменную t.
if x<y then
begin
t:=x;
x:=y;
y:=t;
end;
Задача№2. Составить фрагмент программы поиска максимального числа из трех введенных с клавиатуры чисел.
Пусть а, b, c - вводимые с клавиатуры числа, Max - максимальное из их значений. На первом шаге предположим, что а - максимальное из чисел и поэтому Max:=a. Затем сравним значение предполагаемого максимума со значениями переменных b и с. Если значение Max окажется меньше, чем значение очередной переменной, то переопределим значение максимума.
. m:=a;
if m<b then
m:=b;
if m<c then
m:=c;
. . .
Задача. Дан массив а, состоящий из 10 элементов. Составить программу поиска максимального элемента массива.
Используем идею предыдущей задачи. Перед началом поиска выберем условно в качестве максимального первый элемент массива Max:=a[1]. Затем по очереди каждый элемент массива сравним со значением переменной m. Если он окажется больше, то изменим значение Max. После анализа всех элементов массива переменная Max содержит значение максимального элемента массива.
Max:=a[1];
for i := 2 to 10 do
if Max<a[i] then
Max := a[i];.
Для реализации различных методов сортировки Вам необходимо подготовить несколько вспомогательных процедур и функций.
1. Функция, которая ищет минимальный элемент правее некоторого заданного и возвращает его номер в качестве результата. Аргументами функции являются номер элемента массива и обрабатываемый массив:
2. Большинство методов сортировок основаны на обмене двух чисел. Для этой цели предназначена процедура, которая в качестве параметров берет два числа и меняет их значения
3. Также Вам пригодится процедура, которая берет элемент с индексом i, перемещает его на место элемента с номером j. А все элементы, которые имеют индексы от j до i-1 сдвигает на одну позицию вправо.
Задание. Подготовьте программу-шаблон, содержащую все рассмотренные выше процедуры и функции.
Сортировка — один из наиболее распространенных процессов современной обработки данных. Сортировкой называется распределение элементов множества по группам в соответствии с определенными правилами. Например, сортировка элементов массива, в результате которой получается массив, каждый элемент которого, начиная со второго, больше стоящего от него слева, называется сортировкой по возрастанию.
Существует несколько методов сортировки массива: сортировка отбором (линейная), сортировка методом пузырька, метод быстрой сортировки с разделением (метод К. Хоора) , сортировка массива методом перестановок и т. д. Все эти методы мы рассматривать мы не будем, за неимением времени, остановимся только на методе пузырька и линейной сортировке.
Линейная сортировка (сортировка отбором)
Идея линейной сортировки по возрастанию заключается в том, чтобы, последовательно просматривая весь массив, отыскать наименьшее число и поместить его на первую позицию, обменяв его с элементом, который ранее занимал первую позицию Затем просматриваются все остальные элементы массива и выполняется аналогичная операция по отбору из рассматриваемой части массива минимального элемента и обмену местами этого элемента и первого в рассматриваемой части и т. д.
Сортировка методом пузырька
Одним из самых популярных методов сортировки – «пузырьковый» метод основан на том, что в процессе исполнения алгоритма более легкие элементы массива постепенно «всплывают». Особенностью данного метода является сравнение не каждого элемента сов семи, а сравнение в парах соседних элементов. Алгоритм пузырьковой сортировки по убыванию состоит в последовательных просмотрах снизу вверх (от начала до конца) массива. Если соседние элементы таковы, что выполняется условие, согласно которому элемент справа больше элемента слева. то выполняется обмен значениями этих элементов.
Сортировка массива по возрастанию методом перестановок. Идея алгоритма сортировки по возрастанию массива, состоящего из N элементов, методом перестановок элементов, состоит в последовательном поиске минимальных элементов и их перемещении к началу массива с помощью перестановок с элементами, имеющими меньший индекс.
Рассмотрим этот метод. На первом шаге находим минимальный элемент массива и меняем его местами с первым элементом массива. Остаются неупорядоченными N-1 элемент. Проводим поиск минимального элемента среди элементов со 2 по N-1 и делаем перестановку.
Повторяем процедуру поиска минимального элемента среди оставшихся неупорядоченных элементов многократно. Повторение реализуем с помощью цикла со счетчиком, максимальное значение которого составляет N-1. В результате массив сортируется по возрастанию.
Задача 1. Дан список класса из 30 учеников, отсортировать его алфавит. Данная задача аналогична следующей:
Дан строковый массив. Упорядочить его элементы в порядке возрастания.
Идея решения: пусть часть массива (по K-й элемент включительно) отсортирована. Нужно найти в не отсортированной части массива минимальный элемент и поменять местами с (K+1)-м
program Sortirovka;
var N, I,J, K:integer; A:array[1..30] of string;
Pr: string;
begin
write('Введите количество элементов: ');
readln(N);
for I:=1 to N do
begin
write('Введите фамилию[',I,']');
readln(A[I]);
end;
writeln;
for I:=1 to N-1 do
begin
K:=I;
for J:=I+1 to N do
if A[J]<=A[K] then K:=J;
pr:=A[I]; A[I]:=A[K]; A[K]:=Pr;
end;
for I:=1 to N do write(A[I], ' ');
end.
VBasic
Private Sub Command1_Click()
'program Sortirovka;
Dim N, I, J, K As Integer
Dim a(1 To 30) As String
Dim Pr As String
N = InputBox("Введите количество элементов: ", "")
For I = 1 To N
a(I) = InputBox("Введите фамилию", "")
Next I
For I = 1 To N - 1
K = I
For J = I + 1 To N
If a(J) <= a(K) Then K = J
Next J
Pr = a(I)
a(I) = a(K)
a(K) = Pr
Next I
For I = 1 To N
Print a(I); " ";
Next I
End Sub
Практическая работа
Упражнение 1
Запустите интегрированную среду программирования. Введите текст программы Sortirovka и запишите файл на диск под соответствующим именем, а затем откомпилируйте его. После того как компиляция выполнится успешно, несколько раз запустите программу на исполнение. Просматривая экран пользователя, убедитесь, что всякий раз в программе упорядоченный набор данных
Упражнение 2. Исправить программу Sortirovka, для задачи 2.
Задача 2. Дан целочисленный массив. Отсортировать его по возрастанию
Тест: N = 10; элементы массива - 1, 2, 2, 2, -1, 1, 0, 34, 3, 3.
Ответ: -1, -1, 0, 1, 2, 2, 2, 3, 3, 34.
Упражнение 3. Исправить программу Sortirovka, добавив оценки по физике.
Домашнее задание.
Даны список футбольных команд и количество очков, набранных каждой командой. Вывести список команд по рейтингу. Дана температура за неделю, найти самый жаркий день и отсортировать по убыванию. Ответить на вопросы Что называется сортировкой? Какие методы сортировки вы знаете, опишите их отличия? Что вы понимаете под поиском? Почему при описании массивов предпочтительнее употреблять константы, а не указывать размеры в явном виде?стр. 214-215 вопросы устно12-14
читать $9.2 стр.195-202
Задачи стр.218-219 57,46,48,51
Тема урока №9«Сортировка массива методом пузырька»
Цель урока Формирование навыков упорядочения массивов, объяснение нового метода сортировки..
Ход урока.
Проверка домашнего задания
На доске учащиеся пишут программы, комментируют.
Ответить на вопросы
1. Что называется сортировкой?
2. Какие методы сортировки вы знаете, опишите их отличия?
3. Что вы понимаете под поиском?
4. Почему при описании массивов предпочтительнее употреблять константы, а не указывать размеры в явном виде
Новый материал.
Одним из самых популярных методов сортировки – «пузырьковый» метод основан на том, что в процессе исполнения алгоритма более легкие элементы массива постепенно «всплывают». Особенностью данного метода является сравнение не каждого элемента сов семи, а сравнение в парах соседних элементов. Алгоритм пузырьковой сортировки по убыванию состоит в последовательных просмотрах снизу вверх (от начала до конца) массива. Если соседние элементы таковы, что выполняется условие, согласно которому элемент справа больше элемента слева, то выполняется обмен значениями этих элементов.
Текст программы сортировки массива по возрастанию можно записать в таком варианте:
Program Sort_Puz;
const
count = 20;
M:array [1..Count] of byte= (9,11,12,3,19,1,5,17,10,18,3,19,17,9,12, 20,20,19,2,5);
var
I, J, K, L : Byte;
A : integer;
begin
Writeln('Исходный массив: ') ;
for I := 1 to Count do
Write(M[I],' ');
Writeln;
A:=0;
for I := 2 to Count do {Сортировка "пузырьковым" методом по He-возрастанию}
begin
for J:=Count downto I do
begin
A:=A+1;
if M[J—1]<M[J] then {Если элемент справа больше элемента слева, то "вытеснить" его влево — пузырек "всплывает}
begin
K:=M[J—1]; {Обмен значениями этих элементов)
M[J-1]:=M[J];
M[J]:=K;
{Печатать текущее состояние массива после каждой перестановки }
for L := 1 to Count do
Write(' ',M[L]);
Writeln ('Число итераций =',A);
end; '
end; :
end;
{Завершение сортировки}
end.
Практическое задание
Упражнение1.
Запустите интегрированную среду программирования. Введите текст программы Sort_Puz и запишите файл на диск под соответствующим именем, а затем откомпилируйте его. После того как компиляция выполнится успешно, запустите программу на исполнение, наблюдая в пошаговом режиме текущие значения переменных: I, J, К, M[J], M[J—1], всего массива М, а по окончании цикла J просматривая измененный за один проход массив. Как видно по результатам наблюдений оператором повтора for с параметром J выполняется циклический просмотр элементов массива от последнего до второго, и при этом элементы, большие, чем “соседи” слева, смещаются при обмене к началу массива, а меньшие — вправо - «всплывают» в конец массива. Каждый просмотр фиксируется счетчиком просмотров – увеличением на единицу значения А. После каждого просмотра-сравнения элементов массива просматриваемый участок массива уменьшается на один элемент, так как из рассмотрения исключается самый левый — самый большой элемент. Такое уменьшение просматриваемого участка выполняется внешним циклом fоr с параметром I.
По последнему значению А определяем, что для данного массива сортировка по невозрастанию пузырьковым методом выполняется за 170 итераций.
Упражнение2.
Даны список учащихся и сведения о росте каждого ученика. Отсортировать по росту класс.
Упражнение3. Даны список услуг и цены. Отсортировать по ценам.
\ стр. 214-215 вопросы устно12-14
читать $9.2 стр.195-204
Задачи стр.216-219 21,26,55,45
Тема урока №10.Двумерный массив. Описание. Работа с элемнтами
Цель урока Формирование умений осуществлять ввод и вывод значений элементов двумерного массива, отработать навыки решения задач с применением двумерного массива.
Ход урока.
Повторение пройденного материала.
Какие существуют таблицы?
Какой отличие прямоугольной таблицы от линейной, квадратной?
Как определить размер массива?
Новый материал.
Одним из основных направлений использования компьютеров является накопление и обработка данных - различных таблиц, справочников, словарей и другой информации. Для представления такой информации в программе удобно использовать массивы. Как правило, обработка таких данных осуществляется по одному и тому же закону, для чего удобно использовать циклические алгоритмы.
Мы уже рассматривали, как формировать и обрабатывать одномерные массивы. Вспомним, что в массив мы объединяем конечную последовательность компонентов одного типа и даем им общее имя. Каждый отдельный компонент массива называется элементом. Количество элементов называется размером массива. Тип элементов определяет тип массива. Размер и тип массива указываются при его описании, причем размер может быть указан либо конкретным значением, либо ранее определенной константой. Номер элемента называется индексом. Индексы могут быть целыми положительными константами или целыми переменными. Чтобы обратиться к некоторому элементу массива, нужно рядом с идентификатором массива в скобках указать индекс элемента.
Но часто данные могут быть организованы в виде таблицы (матрицы), где расположение каждой переменной определяется номером строки и номером столбца. Например, место в зрительном зале задается указанием номера ряда и номером места в этом ряду. Такие данные удобно описать как двумерный массив. В отличие от одномерного массива каждому элементу двумерного массива соответствует пара индексов. Первый индекс - это номер строки, а второй - номер столбца, где расположен элемент массива.
Размер двумерного массива задается парой чисел: M*N, где M - число строк, а N - число столбцов в таблице.
Пусть задан двумерный массив Matr, имеющий размер 10*20. Этот массив на языке Паскаль может быть описан следующим образом:
Var
Matr : array [1..10,1..20] of integer;
тогда
Matr[5,7] - элемент, расположенный в 5-ой строке и в 7-ом столбце.
Любая константа, переменная, значение функции или выражения в Турбо Паскале характеризуется своим типом. Тип любого из этих объектов определяет множество допустимых значений, которые может иметь объект, а также множество допустимых операций, которые применимы к объекту. Кроме того, тип определяет и формат внутреннего представления значения объекта.
Имя, которое программист присваивает своему определяемому типу, - произвольный идентификатор. Объявление типа должно быть сделано в разделе объявлений, и ему должно предшествовать кодовое слово Type.
Отличительной особенностью массивов является то обстоятельство, что все их компоненты суть данные одного типа (возможно, структурированного); эти компоненты можно легко упорядочить и обеспечить доступ к любому из них простым указанием его порядкового номера, например:
Type Digit = array [0..9] of integer; Matrix = Var m : array [1..100, 0..9] of real;; Описание типа массива задается следующим образом:
<имя типа> = array [<сп. инд. типов>] of <тип>;
где:
<имя типа> - правильный идентификатор,
<сп. инд. типов> - список из одного или нескольких индексных типов, разделенных запятыми,
<тип> - любой тип Турбо Паскаля.
Примечание. Обычно в качестве индексного типа используется тип-диапазон, в котором задаются границы изменения индексов через две точки (..). Так как <тип>, идущий за кодовым словом of, - любой тип Турбо Паскаля, он может быть, в частности, другим массивом.
Рассмотрим примеры.
Пример 1. Массив можно описать как одномерный, элементами которого в свою очередь являются одномерные массивы.
Const
n=2; m=3;
Type
MyArray1 = array [1..m] of integer;
MyArray2 = array [1..n] of MyArray1;
Var
V : MyArray1;
A : MyArray2;
В данном случае переменная V объявлена как одномерный массив из трех элементов целого типа, а переменная А описана как двумерный массив из двух строк, в каждую из которых включено по три элемента.
Пример 2. Описание массива можно сократить, исключив определение массива MyArray1 в определении типа MyArray2.
Const
n=2; m=3;
Type
MyArray2 = array [1..n] of array [1..m] of integer;
Var
A : MyArray2;
Пример 3. Еще более краткое описание массива А можно получить, указывая имя массива и диапазоны изменения индексов для каждой размерности массива (чем мы уже пользовались).
Const
n=2; m=3;
Type
MyArray2 = array [1..n, 1..m] of integer;
Var
A : MyArray2;
Пример 4. Если же указанный тип используется для определения одного массива в программе, то удобно объявление массива в разделе описания переменных.
Const
n=2; m=3;
Var
A : array [1..n, 1..m] of integer;
Формирование значений элементов массива случайным образом и с клавиатуры и вывод их на экран
Операции работы с двумерными массивами аналогичны операциям работы с одномерными массивами, нужно только не забывать о различиях между массивами. Обычно при работе с двумерными массивами используются вложенные циклы.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 |



