Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Для обращения к элементу массива надо указать имя массива и порядковый номер элемента (индекс).Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
В одномерном массиве для получения доступа к его элементам достаточно одной индексной переменной.
Чтобы в программе использовать элемент массива, надо указать имя массива и номер элемента - индекс (выражение целого типа), заключив его в квадратные скобки. а[i] а[i+1] a[i+2] а[i+3]...
При работе с массивами нужно придерживаться следующей схемы: 1) объявление массива; 2) ввод массива, задание начальных значений элементам массива; 3) работа с элементами массива; 4) вывод результатов.
Описание массива Перед использованием массив, как и любая переменная, должен быть объявлен в разделе объявления переменных. В общем виде объявление массива выглядит так: имя: array [ нижний _индекс … верхний_индекс ] of тип переменных Где: -имя – имя переменной массива; - array - ключевое слово, обозначающее, что переменная является массивом; - нижний-индекс и верхний-индекс - целые числа, определяющие диапазон изменения индексов (номеров) элементов массива и, неявно, количество элементов (размер) массива; - тип - тип элементов массива. При меры объявления массивов: Var temper: array [1..31] of real; -массив из 31 вещественных числа Var D: array [1..12] of integer; - массив из 12 целых чисел Var name: array [1..31] of string [25]; Задание начальных значений Для работы с элементами массива очень удобно использовать цикл. Пусть объявлен массив а, состоящий из 5 элементов типа integer. Тогда значения могут быть заданы следующими способами:
Ввод значений массива по условию: for i:= 1 to 5 do Begin a [i]:= 3* i+2; writeln (a[i]); end;
Работа с элементами массивов Нахождение суммы (произведения) с поиском.
Вычисление суммы элементов. Summa:= 0; For i:=1 to n do Summa:= summa + a[i];
1.2 Найти сумму положительных элементов массива: Summa:= 0; For i:=1 to n do If a[i] >0 Then Summa:= summa + a[i];
Найти сумму элементов делящихся на 5 Summa:= 0; For i:=1 to n do If a[i] mod 5 = 0 Then Summa:= summa + a[i]; Найти произведение элементов массива стоящих на нечётных местах (чётных) p:= 1 For i:=1 to n do If i mod 2 = 1 Then p:= p * a[i]; (2 = 0)
Составные задачи на поиск в массиве. Найти все элементы массива больше его среднего арифметического summa:= 0; For i:=1 to n do summa:= summa + a[i]; Sred_Arif:= summa / n For i:=1 to n do If a[i] > Sred_Arif Then Writeln (a[i]); 2.2 Нахождение МАКС/МИН значения массива и его адреса (темпера туры за месяц). max:= а[1]; { max - максимальный, элемент} Nmax:= 1; { Nmax- номер макс. элемента} For i:=1 to n do If a[i] > max Then (If a[i] < min Then) Begin max:= a[i]; Nmax:= [i]; еnd; 1)если в условии знак > то мы находим максимальный элемент, если знак < то минимальный. 2) если неравенство строгое (> или <) то мы находим первый максимальный или минимальный элемент, а если нестрогое (>= или <=) то последний. Изменение элементов массива. Пример: увеличить вдвое каждый элемент массива. For i:=1 to n do a [i]:= a[i] * 2;
Нахождение количества элементов по условию. Пример: найти количество чётных элементов массива. Коl:=0; For i:=1 to n do If a[i] mod 2 = 0 Then kol:= kol + 1;
Сортировка массива. Метод прямого выбора. For k:=1 to 5 do read (a[k]); {ввод массива} For i:= to 5-1 do Begin min:= i; for c:= i + 1 to 5 do
if a[c] < a[min] then min:= c; buf:= a[i]; a[i]:= a[min]; a[min]:= buf; For k:=1 to 5 do write (a[k],’ ‘); {вывод массива} Writeln;
End; buf- буфер обмена, с - элемент сравниваемый с минимальным min - номер минимального элемента в части от i до верхней границы массива. k - номер элемента массива. Принцип поиска: - просматривая массив от первого элемента, найти минимальный элемент и поместить его на место первого элемента, а первый на место минимального. - просматривая массив от второго элемента, найти минимальный элемент и поместить его на место второго элемента, а второй на место минимального. - и так далее.
Метод «пузырька».
For k:=1 to 5 do read (a[k]); {ввод массива} For i:= to 5-1 do Begin for k:= i to 5-1 do Begin if a[k] > a[k+1] then Begin buf:= a[k]; a[k]:= a[k+1]; a[k+1]:= buf; End; End; For k:=1 to 5 do write (a[k],’ ‘); {вывод массива} Writeln; End; Принцип поиска: Обмен соседних элементов массива. Каждый элемент с первого, сравнивается со следующим и если он больше следующего, то элементы меняются местами. Элементы с меньшими значениями продвигаются к началу, а с большим значением к концу массива. Процесс повторяется количество раз на 1 меньше чем элементов в массиве. Вывод массива. For i:=1 to n do Writeln (a[i]); - вывод массива в столбец.
For i:=1 to n do Write (a[i]); -вывод массива в строку.
For i:=1 to n do Writeln (‘a[‘,i,’]=’,a[i]); - вывод массива с указанием номера элемента в столбец.
Многомерные массивы Исходные данные для решения многих задач удобно представляются в табличной форме. Колонки и строки таблицы, как правило, содержат однородную информацию, если использовать терминологию Turbo Pascal - данные одинакового типа. Поэтому в программе для хранения и обработки табличных данных можно использовать совокупность одномерных массивов. Так таблица может быть представлена как совокупность одномерных массивов следующим образом: array [1..4] of integer; Х[1.1] X[1.2] X[1.3] X[1.4] array [1..4] of integer; Y[1.1] Y[1.2] Y[1.3] Y[1.4] array [1..4] of integer; Z[1.1] Z[1.2] Z[1.3] Z[1.4]
Помимо совокупности одномерных массивов, таблица может быть представлена как двумерный массив. Двумерный массив состоит из строк и столбцов. Каждый элемент двумерного массива можно представить индексированной переменной с двумя индексами: Х[1.1] X[1.2] X[1.3] X[1.4] X[2.1] X[2.2] X[2.3] X[2.4] X[3.1] X[3.2] X[3.3] X[3.4] Первый индекс в скобках обозначает номер строки, второй – номер столбца прямоугольной таблицы.
1) Описание массива В общем виде описание двумерного массива выглядит так: Имя: array [ Нижняя Граница Индекса 1.. Верхняя Граница Индекса 1, Нижняя Граница Индекса 2.. ВерхняяГраницаИндекса2] of Тип Где: Имя – имя массива; array - служебное слово обозначающее, что объявляемый элемент является массивом; Нижняя Граница Индекса 1.. Верхняя Граница Индекса 1, Нижняя Граница Индекса2.. ВерхняяГраницаИндекса2 – целые константы, определяющие диапазоны изменения индексов и, следовательно, количество элементов массива; Тип — тип элементов массива. Пример описания массива: VAR a: array [1.. 3, 1.. 4] of integer; baza: array[1..3, 1..4] of real; При описании массивов в программе удобно использовать именованные константы как значения верхних границ индексов массива. CONST n = 3; m = 4 VAR a: array [1.. n, 1.. m] of integer; baza: array[1..n, 1..m] of real; Это позволяет при использовании программы с другими значениями верхних индексов не изменять (находить и переписывать) их во всём тексте программы а достаточно поменять значения констант в разделе описания.
Количество элементов массива может быть вычислено по формуле: (ВархняяГраницаИндекса1- НижняяГраницаИндекса1+1)* (ВерхняяГраницаИндекса2 – НижняяГраницаИндекса2 +1) Таким образом, массив a состоит из 12 элементов типа integer.
Чтобы обратится к элементу массива, нужно указать имя массива и индексы элемента. Первый индекс соответствует номеру строки массива, второй – номеру колонки. (Каждый элемент массива описывается, как а [i,j] где a -имя массива; i -номер строки; j -номер столбца.) Пример: а [1,1]. Так как границы индексов массива заранее определены, а шаг изменения индекса равен 1, для выполнения однотипных операций со всеми элементами массива удобно использовать цикл со счётчиком (параметром) FOR…TO…DO. При работе с двумерными массивами – вложенные циклы. Значения элементов двумерных массивов выводят на экран и вводят с клавиатуры, как правило, по строкам, т.е. сначала все элементы первой строки, затем второй и т.д. Это удобно выполнять при помощи вложенных инструкций for. Так как границы индексов массива заранее определены, а шаг изменения индекса равен 1, для выполнения однотипных операций со всеми элементами массива удобно использовать цикл со счётчиком (в случае двумерных массивов вложенные циклы). Каждый раз, когда внутренний цикл завершается, внешний цикл увеличивает i на единицу, и внутренний цикл выполняется вновь. Таким образом выводятся все компоненты массива. 2) Ввод двумерного массива - задание начальных значений ввод с клавиатуры: for i:=1 to 3 do Begin for j:=1 to 4 do Begin write (‘введите число’); readln (a[i,j]); end; end;
for i:=1 to 3 do Begin for j:=1 to 4 do Begin write (‘a[’,I,’,’,j,’]=’); readln (a[i,j]); end; end; генерация случайных чисел: Randomize for i:=1 to 3 do Begin for j:=1 to 4 do Begin a[i,j]:= Random (10); write (a[i,j],’ ‘); end; writeln; end; используются числа в промежутке от 0 до 9
Randomize for i:=1 to 3 do Begin for j:=1 to 4 do Begin a[i,j]:= Random (30)-10; write (a[i,j],’ ‘); end; writeln; end; Используются числа в промежутке от -10 до 19, (30-количественный диапазон чисел, 10-сдвиг по числовой шкале относительно 0 указывающий с какого числа используются числа. 3) Вывод на экран значения элементов массива по строкам: For i:=1 to 3 do Begin For j:= 1 to 4 do write (a[i, j] ‘ ‘); writeln; {перевод курсора на новую строку} end; 4) Работа с элементами массивов
|
||||||||
Последнее изменение этой страницы: 2016-04-08; просмотров: 635; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.137.162.21 (0.011 с.) |