Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

PR_5

.doc
Скачиваний:
4
Добавлен:
19.07.2019
Размер:
182.27 Кб
Скачать

Практическая работа №5

АЛГОРИТМЫ ОБРАБОТКИ ОДНОМЕРНЫХ МАССИВОВ

Цель занятия:

1 Научиться составлять алгоритмы обработки одномерных массивов.

2 Изучить алгоритмы выполнения типовых операций над элементами одномерных массивов.

Краткие теоретические сведения

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

Имя массива

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

Количество размерностей

Размерности массива определяется разработчиком и основывается на двух основных параметрах: вид хранимой информации и удобство обработки. Количество размерностей однозначно определяется количеством индексов, перечисленных через символ “ , ”размещённых внутри квадратных скобок. Любой массив представляется в памяти компьютера в виде одной сплошной ленты.

Количество элементов

Количество элементов по каждому измерению – это максимальное значение переменной-счётчика цикла по данному измерению. Доступ к элементу массива производится путём присвоения порядкового номера (индекса) каждому элементу массива.

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

Элемент массива

83

25

60

71

12

5

9

Индекс элемента массива

0

1

2

3

4

5

6

Индекс элемента массива

1

2

3

4

5

6

7

Таблица 5.1

1

Имя массива подчиняется правилам составления имён переменных.

Одномерный массив в алгоритмах обозначается следующим образом:

Имя массива “[” индекс первого элемента ”..” индекс последнего элемента “]”. Значение индекса последнего элемента массива напрямую зависит от индекса первого элемента: Индекс первого элемента равен Нулю, тогда индекс последнего элемента равен количество элементов массива минус 1. Если индекс первого элемента массива равен 1 то индекс последнего элемента равен количеству элементов массива.

Пример описания одномерного массива, состоящего из 7 элементов: А[0..6]

Обращение к элементу одномерного массива производится по следующему шаблону:

Имя массива “[” индекс элемента “]”.

Пример присвоить пятому элементу массива А значение, равное 45

Для массива, индекс первого элемента которого равен 0: А[4] := 45.

Для массива, индекс первого элемента которого равен 1: А[5] := 45.

Есть два вида одномерных массивов:

вектор-строка – элементы располагаются в виде строки. Элемент, имеющий больший номер, стоит правее элемента, имеющего меньший номер;

вектор-столбец – элементы располагаются в виде столбца. Элемент, имеющий больший номер, стоит ниже, чем элемент, имеющий меньший номер.

При обработке массивов основное обработка производится с помощью символов цикла и символа решения. Иногда проще использовать символы цикла с предусловие и с постусловием, а шаг может отличаться от единицы, но обязательно должен быть ЦЕЛЫМ ЧИСЛОМ. Помните: индекс элемента массива и элемент массива – это два разных числа, связанные между собой. Переменная – индекс элемента массива может использоваться при вычислении как обычная переменная. При этом её не надо заключать в квадратные скобки.

Датчик случайных чисел – это, в общем случае, устройство или программа, генерирующая последовательность псевдослучайных чисел по определённому закону в заданном интервале. Примером датчика случайных чисел может быть игрок в нарды, в момент выбрасывания костей.

Контрольные вопросы

1 Дайте определение массива.

2 Какие есть виды одномерных массивов?

3 Может ли быть индекс элемента массива быть вещественным числом?

4 Может ли быть индекс элемента массива быть вещественным числом?

Индивидуальное задание

1 Сгенерировать одномерный массив A с помощью датчика случайных чисел, подав на вход интервал, взятый из второй колонки таблицы 5.2. Индекс первого элемента выбрать из второй колонки таблицы 5.2.

2 Сформировать одномерный массив B, преобразовав элементы массива A по формуле, приведенной в колонки “Формула” таблицы 5.5.

3 Выполнить задание из колонки “Найти” таблицы 5.6 над элементами массива, имя которого взять из второй колонки таблицы 5.3.

4 Вывести на печать в табличной форме индексы элементов A и B.

Варианты индивидуального задания

Индекс первого элемента Таблица 5.2

Последняя цифра номера в журнале

Индекс первого элемента

1,4,5,8,9

0

0,2,3,6,7

1

Выбор массива для обработки Таблица 5.3

Предпоследняя цифра номера студенческого билета

Производить обработку массива

1,4,5,8,9

A

0,2,3,6,7

B

Таблица 5.4

Последняя цифра номера студенческого билета

Интервал для датчика случайных чисел

Последняя цифра номера студенческого билета

Интервал для датчика случайных чисел

1

2

1

2

0

5

1

6

2

7

3

8

4

9

Таблица 5.5

Предпоследняя цифра номера студенческого билета

Формула

Предпоследняя цифра номера студенческого билета

Формула

0

10

1

11

2

12

3

13

4

14

5

15

6

16

7

17

8

18

9

Таблица 5.6

9 - последняя цифра номера в журнале

Задание

0

Сумму элементов, больших среднего арифметического и количество элементов, меньших или равных среднему арифметическому.

1

Произведение элементов, меньших среднего арифметического и количество элементов, больших или равных среднему арифметическому.

2

Сумму элементов, меньших среднего арифметического и количество элементов, больших или равных среднему арифметическому.

3

Произведение элементов, больших среднего арифметического и количество элементов, меньших или равных среднему арифметическому.

4

Сумму элементов, больших среднего геометрического и количество элементов, меньших или равных среднему геометрическому.

5

Произведение элементов, меньших среднего геометрического и количество элементов, больших или равных среднему геометрическому.

6

Сумму элементов, имеющих чётный номер и произведение элементов, имеющих нечётный номер.

7

Произведение элементов, больших среднего геометрического и количество элементов, меньших или равных среднему геометрическому.

8

Сумму элементов, больших среднего или равных среднему арифметическому и количество элементов, меньших среднего арифметического.

9

Произведение элементов, больших или равных среднему геометрическому и количество элементов, меньших среднего геометрического.

10

Сумму элементов, меньших среднего геометрического и количество элементов, больших или равных среднему геометрическому.

11

Количество элементов, значение которых по модуль больше числа и произведение элементов, значение которых по модуль меньше или равно числа .

12

Количество отрицательных элементов массива и произведение положительных элементов массива.

Пример выполнения индивидуального задания

Исходные данные:

Номер по журналу: XX

Номер студенческого билета: XXX

Индекс первого элемента: 0

Интервал для датчика случайных чисел: 5; 90

Формула: [5.1]

Найти: Сумму элементов массива, меньших среднего геометрического и количество элементов массива, больших или равных среднему геометрического.

Пояснения к разработанному алгоритму

N – количество элементов массива

Символы 3-6 цикл с постусловием для генерации элементов массива с помощью встроенной функции random()

Символы 7-10 цикл с предусловием для формирования элементов массива с помощью формулы 5.1.

Символы 11-16 нахождение среднего геометрического (символы 11, 14, 16) с помощью цикла с предусловием.

Символы 16-22 находится сумма элементов массива и количество элементов массива, удовлетворяющих соответствующим критериям. Используется цикл с фиксированным числом повторений.

Символы 23-25 осуществляется вывод результатов работы алгоритма с помощью цикла с фиксированным числом повторений.

В связи с тем, что алгоритм получился достаточно громоздким, он был разбит на несколько частей. Для разрыва соединительных линий используется символ “Соединитель”.

Рисунок 5.1 Алгоритм обработки одномерного массива

Рисунок 5.2 Алгоритм обработки одномерного массива (окончание)

62

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