Основные алгоритмы обработки массивов




 

При решении большинства задач применяются следующие приемы

1. Ввод элементов (заполнение массива)

2. Вывод на экран значений элементов массива.

3. Поиск элементов массива. Нахождение наибольшего или наименьшего значения.

4. Сортировка массива.

 

6.2.1 Ввод элементов (заполнение массива):

«прямое присваивание» Mass[1]:=4; Mass[2]:=12; Mass[3]:=7; …   Примеры приведены для одномерного массива. Двумерные массивы обрабатываются аналогично с использованием 2-х вложенных циклов   (см.вывод на экран двумерного массива)

Ввод значений с клавиатуры

For i:= <Нач.Индекс> to <Кон.Индекс> do

Read (Mass [i]);

Использование генератора случайных чисел

For i:= <Нач.Индекс> to <Кон.Индекс> do

Mass[i]:=Random(x);

По формуле (в отдельных случаях)

For i:= <Нач.Индекс> to <Кон.Индекс> do

Mass [i]:=2*i+1;

Вывод на экран значений элементов массива

Вывод одномерного массива Mass

В строку

For i:= <Нач.Индекс> to <Кон.Индекс> do

write (Mass [i]:4);

В столбец

For i:= <Нач.Индекс> to <Кон.Индекс> do

writeln(Mass [i]:4);

 

Вывод двумерного массива Matr в виде матрицы For i:= <Нач.Инд1> to <Кон.Инд1> do Begin For j:= <Нач.Инд2> to <Кон.Инд2> do write(Matr[i,j]:4); writeln; End;   Внутренний цикл (j) выводит горизонтально текущую (i-ю) строку матрицы, а следующий за ним опрератор Writeln возвращает курсор вывода к началу следующей строки экрана

.

Поиск элементов и вычисляемых значений

 

При выполнении поиска элемента одномерного массива или значения, удовлетворяющего какому-либо условию, (например – кратного «3», наибольшего, среднеарифметического и др.) – в цикле перебираются все элементы. При этом элемент выделяется в общем виде (mass[i ]) и для него проводятся различные действия (вычисления, сравнения и.т.п.), по результатам которых выполняется проверка на соответствие заданному условию. Найденный элемент (его значение и индекс) заносятся в дополнительные переменные, которые в конце программы выводятся на экран.

Рекомендуется выполнить вывод всего массива

 

Сортировка массива

При выполнении сортировки элементов одномерного массива по определенным критериям (по возрастанию, убыванию) ‑ используется конструкция двух вложенных циклов (внешний – «по i» и внутренний «по j»). В теле внутреннего цикла «по j» перебираются все элементы и выделяются в общем виде соседние элементы (mass[j ] и mass[j+1 ]), которые сравниваются между собой, и при необходимости меняются местами (значениями). Внешний цикл «по i» позволяет провести выполнить внутренний цикл максимальное число раз, чтобы упорядочивание произошло не только между соседними элементами, но и во всем массиве. В конце программы упорядоченный массив выводится на экран.

Процедуры и функции

Понятие процедуры. Вызов процедуры

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

Процедура, Функция (подпрограмма) – фрагмент программы, реализующий решение какой-либо части задачи.

Обращение к Процедуре или Функции (вызов) может быть выполнено из различных частей программы. В этом случае выполнение основной программы приостанавливается и управление передается в Процедуру. По окончании работы Процедуры управление возвращается основной программе.

Вызов процедуры

Вызов процедуры (обращение к Процедуре) в основной программе:

< имя процедуры >(< список переменных >);

где количество и тип переменных идентичны описанию Процедуры.

 

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

 

Структура Процедуры полностью повторяет структуру программы и располагается перед «главным» оператором BEGIN. Любая программа может иметь несколько процедур и функций.

Procedure < имя процедуры >( список переменных:< тип > );

Параметры процедуры
Var

…< описание внутр.переменных >

Begin

< тело процедуры >

end;



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-06-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: