Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры (Часть 2).doc
Скачиваний:
11
Добавлен:
25.04.2019
Размер:
330.24 Кб
Скачать

9. Массивы и подпрограммы.

Массив — это последоват. однотипных элементов, число которых фиксир. и которым присвоено одно имя. В языках программир. массивы используются для реализации таких структур данных, как последовательности и таблицы. Положение элемента в массиве однозначно опр-ся его индексом — номером элемента в последовательности (например, a1. a2 a3 ..., аn), номером строки и столбца в таблице (a11 , a22, ..., а nn ) и т.д.

Заполнение массива

Заполнять массив можно, либо считывая значение каждого элемента, либо присваивая элементам некот.значения. Удобно задавать значения элементов массива случайным образом, с использованием встроенного в язык программир. так называемого датчика псевдослучайных чисел.

В языке программир.Pascal псевдослучайная последовательность реализована функцией random. Обращаться к процедуре randomize имеет смысл только один раз — в начале работы программы.

Одной из распространенных операций с массивами является операция нахождения суммы значений элементов массива.

Под циклическим сдвигом элементов массива подразумевается, что все элементы массива сдвигаются на один элемент влево или вправо, а первый (последний) элемент становится последним (первым).

Поиск максимума и минимума.Поиск числа К в массиве

Поиск числа К в упорядоченном массиве

Алгоритмы сортировки массивов

"Пузырьковая" сортировка

Сортировка "прямым выбором"

Найдем минимальный элемент в массиве и поменяем его с первым элементом массива. Сортировка "подсчетом"

Алгоритм, выполняющий некоторую относительно автономную, законченную часть основной задачи, называют вспомогательным алгоритмом, а соответствующую "вспомогательную программу" — подпрограммой (или процедурой).

Подпрограммы используются, если один и тот же алгоритм используется несколько раз по ходу решения задачи. Одна и та же подпрограмма может обрабатывать различные данные, переданные ей в качестве аргументов. Это не просто выделенный кусок кода — для этого куска кода определены входные и выходные параметры, а от прочих данных он, в идеале, изолирован. Наборы часто употребимых подпрограмм обычно объединяют в библиотеки подпрограмм. Подпрограммы — это реализация в языке программирования основного и вспомогательных алгоритмов, на которые, как правило, распадается решение общей задачи в процедурном программировании. Подпрограммы являются основными строительными блоками программы. Такой способ разработки программ называют проектированием методом сверху вниз.

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

В описании процедуры или функции задается список формальных параметров.

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

Процедура или функция является рекурсивной, если она прямо или косвенно вызывает сама себя.

Процедурное программирование — это одна из парадигм программирования.

Парадигма программирования представляет (и определяет) то, как программист подходит к реализации алгоритма и проектированию программы.

Процедурное программирование — это фундаментальная концепция, являющаяся основой всех современных подходов к проектированию и реализации.

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

Процедуры и функции позволяют создавать большие структурированные программы, которые можно делить на части. Это дает преимущества в следующих ситуациях:

  1. Если программа большая, разделение ее на части облегчает создание, тестирование и ее сборку.

  2. Если программа большая и повторная компиляция всего исходного текста занимает много времени, разделение ее на части экономит время компиляции.

  3. Если процедуру надо использовать в разных случаях разным образом, можно записать ее в отдельный файл и скомпилировать отдельно.

Более современная парадигма программирования — объектно-ориентированное программирование— фактически включает в себя и процедурную парадигму.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]