Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Лабораторная работа №5






 

Тема: Разработка программ с использованием двумерных массивов.

 

Цель работы: Приобрести навыки обработки двумерных массивов в Паскале.

 

1. Общие сведения.

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

Если массив двумерный, то для определения положения какого-либо элемента достаточно задания номера строки и столбца, на пересечении которых находиться рассматриваемый элемент. Так выделенные на рис. 1 в элементы массива имеют следующие обозначения B[1,1], B[1,4], B[5,2].

1 2 3 4

1

двумерный массив

 

Причём первым в обозначении элемента массива стоит номер строки, а вторым - столбца.

Точно также задается положение трёх, четырёх и n-мерных массивов.

Итак, массив характеризуется размерностью и длиной по направлению каждой из размерностей.

Если какая-либо переменная в программе является массивом, то её необходимо описать в разделе переменных. Простейшая форма описания одномерного массива имеет вид:

Var v: array [n...m] of t ;

где v – имя массива, формируется по правилам задания имён

переменных;

n и m – наибольшее и наименьшее значение индекса

массива, может быть целого и перечисляемого

типа;

t – тип элемента массива, может быть любым типом,

существующим в Паскале.

Например, запись: var m: array [1..8] of real

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

В описании массивов большей размерности предел изменения этой размерности отделяется друг от друга запятой.

Запись

Var C: array [1..5, 1..4] of integer

означает, что в программе имеется целочисленный массив С, состоящий из пяти строк и четырёх столбцов.

Для описания многомерных массивов в Паскале существует целый ряд способов. Следующие группы операторов задают описание одного и того же двумерного массива А, представляющего собой таблицу размером 2´3 (2 строки, 3 столбца)

Первый способ:

Type

Stroka = array [1..3] of real;

Matr = array [1..2] of stroka;

Var

V: stroka;

A: matr ;

Второй способ:

Type

Matr= array [1..2] of array [1..3] of real;

Var

A: matr;

Третий способ:

Type

Matr = array [1..2,1..3] of real;

Var

A: matr;

Четвёртый способ:

Var

A: array [1..2,1..3] of real;

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

Второй, третий и четвертый способы описания массива получаются из первого путем его последовательного упрощения. Так второй способ описания получен из первого путём исключения определения типа stroka в определении типа matr.

В Паскале типом индекса (номером) элемента массива не обязательно является целое число. Им может быть также переменная перечисляемого типа, например:

2. Задание.

Задание взять из таблицы согласно варианту. Составить блок-схему алгоритма и программу.

 

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

1. Что называется массивом?

2. Оператор описания массива, его разновидности.

3. Правила составления имени массива.

4. Способы задания значений массивов.

5. Ввод и вывод массивов.

6. Переменные какого типа могут служить именем массива?

7. Какие элементы могут служить в качестве индексов элементов массива.

3. Задание к работе

1. Найти среднее арифметическое каждой строки матрицы А. Сформировать из них вектор В.
2. Найти сумму элементов матрицы А, лежащих на главной Диагонали и правее. Умножить на это значение все элементы Вектора В
3. Сформировать вектор В элементы которого равны Соответствующим элементам неглавной диагонали матрицы. Найти минимальный элемент вектора В.
4. Определить количество положительных элементов каждого Столбца матрицы А и запомнить их в массиве М
5. Из матрицы А построить матрицу В поменять местами Строки и столбцы.
6. Сформировать вектор В как сумму положительных элементов Каждой строки матрицы А.
7. Сформировать вектор В как среднее арифметическое Положительных элементов каждого столбца матрицы А:
8. Найти минимальные элементы каждой строки Матрицы А и поместить их на главную диагональ.
9. Поменять в каждой строке между собой элементы Главной и неглавной диагоналей матрицы А:  
10. Найти произведение первых трёх наибольших элементов Матрицы А:
11. Сформулировать вектор С из элементов вектора А, Удовлетворяющих условию Aij>2
12. Получить вектор В элементы которого равны элементам главной матрицы А и найти его максимальный элемент. Вывести на печать полученный вектор В и полученное значение максимального элемента.

 

13. Получить вектор А, элементы которого равны элементам первой строки матрицы С и вектор В, элементы которого равны элементам первого столбца матрицы С. Вывести на печать векторы А и В.
14. По заданным векторам А и В сформировать вектор С по формуле Cij=ai+bj и найти его минимальный элемент.
15. Упорядочить элементы матрицы А, расположив их по убыванию в строках.
16. Изменить значение элементов матрицы А по правилу
17. Вычислить сумму элементов матрицы А, стоящих правее второго столбца, умножить на это значение элементы первого и второго столбца, результат вывести на печать.
18. Найти сумму элементов обоих диагоналей матрицы А:
19. Поменять в каждом столбце элементы главной и неглавной диагоналей
20. Упорядочить по возрастанию четные элементы вектора В
21. Сформировать матрицу А по правилу: Найти максимальный элемент и его положение в матрице
22. Найти сумму элементов первой и второй строк матрицы А и минимального элемента вектора В.
23. Найти произведение и количество положительных элементов матрицы А
24. Сформировать матрицу А по правилу: И найти минимальный элемент
25. Найти наибольшую сумму двух произвольных элементов вектора А:

 







Дата добавления: 2015-09-15; просмотров: 1036. Нарушение авторских прав; Мы поможем в написании вашей работы!



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Толкование Конституции Российской Федерации: виды, способы, юридическое значение Толкование права – это специальный вид юридической деятельности по раскрытию смыслового содержания правовых норм, необходимый в процессе как законотворчества, так и реализации права...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Постинъекционные осложнения, оказать необходимую помощь пациенту I.ОСЛОЖНЕНИЕ: Инфильтрат (уплотнение). II.ПРИЗНАКИ ОСЛОЖНЕНИЯ: Уплотнение...

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

Ученые, внесшие большой вклад в развитие науки биологии Краткая история развития биологии. Чарльз Дарвин (1809 -1882)- основной труд « О происхождении видов путем естественного отбора или Сохранение благоприятствующих пород в борьбе за жизнь»...

Этапы трансляции и их характеристика Трансляция (от лат. translatio — перевод) — процесс синтеза белка из аминокислот на матрице информационной (матричной) РНК (иРНК...

Studopedia.info - Студопедия - 2014-2023 год . (0.004 сек.) русская версия | украинская версия