Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Обработка структурированных типов данных в Turbo Pascal




Цель: Изучить способы описания и основные принципы обработки одномерных массивов на языке программирования Turbo Pascal.

Задачи:

1) Разработать алгоритм решения в соответствии с заданием.

2) Составить блок-схему и программу решения.

3) Подготовить тест для проверки правильности функционирования программы.

Перечень оборудования и программного обеспечения: ПК, находящийся в локальной сети, оболочка операционной системы FAR Manager, системе программирования Turbo Pascal 7.0.

Литература: 1, 2, 13, 23, 25, 26, 28, 33, 34, 35.

Краткое изложение основных теоретических и методических аспектов:

1. Структурированные типы данных характеризуется:

1) множественно­стью образующих элементов, когда переменная или константа имеет несколько компонентов;

2) все компоненты должны быть одного типа;

3) компоненты упо­рядочены, доступ к обеспечивается указанием его номера.

1.1. Массив – это фиксированное количество элементов одного и того же типа, объединенных одним именем, где каждый элемент имеет свой номер.

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

var Имя_массива: ARRAY [размерность] OF тип_элементов;

где имя_массива - идентификатор; ARRAY - массив; OF - из;

В качестве размерности массива можно использовать любые порядковые типы, обычно тип-диапазон, в котором задаются изменения индексов. Тип элементов - любой, он может быть и другим массивом.Глубина вложенности структурированных типов - произвольная. Число элементов массива должно задаваться заранее. Если необходимо использование массивов переменной размерности, то описываются массивы с максимально возможным числом элементов, а реально используется только часть. Заполнение и вывод массива можно осуществить с клавиатуры, с помощью генератора случайных чисел RANDOM или из файла.

Оператором присваивания передать все элементы одного массива другому массиву того же типа. Hад массивами не определены операции отношения.

 
 

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

TYPE Имя_массива = PACKED ARRAY [размерность] OF тип;

Для описания массива в программе используются циклы со счетчиком. Доступ к каждому элементу массива в программе осуществляется с помощью индекса - целого числа или выражения порядкового типа. Индекс не должен выходить за пределы, описанные типом-диапозоном.

Самостоятельно изучить вопросы:

1. Рассмотреть возможности пользовательских типов данных.

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

3. Ознакомиться с особенностями алгоритма поиска максимального или минимального значения и их порядкового номера.

4. Рассмотреть алгоритм вставки и удаления элементов из массива.

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

1. Описать классификацию типов данных, принятую для Turbo Pascal?

2. Что включает в себя понятие «пользовательские типы»? Почему, по вашему мнению, они так называются?

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

Задания:

Вариант Действия Условия
1. Вычислить сумму и количество элементов массива A, находящихся в диапазоне. Определить максимальный элемент массива A и его порядковый номер. A(10) 0 £ Ai £ 1  
2. Подсчитать количество нулевых элементов массива B. Определить минимальный элемент массива B и его порядковый номер. B(10) Bi = 0  
3. Вычислить среднее арифметическое положительных элементов массива C. Определить максимальный элемент массива C и его порядковый номер. C(10) Ci > 0  
4. Вычислить сумму и количество элементов массива D, находящихся в диапазоне. Определить максимальный элемент массива D и его порядковый номер. D(10) -1 £ Di £ 1  
5. Заменить элементы массива F, имеющих четные порядковые номера на А. После определить минимальный элемент массива F и его порядковый номер. F(10) i MOD2 = 0 А=100
6. Определить порядковый номер элементов массива G равных заданному числу X. Определить минимальный элемент массива G и его порядковый номер. G(10) G i =X  
7. Заменить элементы массива K не больше 15 их кубами. После этого определить минимальный элемент массива K и его порядковый номер. K(10) Ki £ 15  
8. Заменить отрицательные элементы массива L на их квадраты. После этого определить максимальный элемент массива L и его порядковый номер. L(10) Li < 0  
9. Увеличить на 2 все элементы массива M, которые больше 10. После этого определить минимальный элемент массива M и его порядковый номер. M(10) Mi > 10  
10. Найти минимальный и максимальны элемент массива Y(10) и поменять их местами. Yi = МАX Yi = MIN

Порядок выполнения:

1) Открыть Turbo Pascal.

2) Составить алгоритм и, по нему, блок-схему.

3) Запрос количества элементов в массиве осуществлять с клавиатуры.

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

5) Вывод массива производить в виде ряда значений в строку или столбец.

6) Набрать программу, ввести данные и зафиксировать результат.

7) Сделать вывод по полученным результатам работы.

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

Обработка массивов как фундаментальных структур данных в Turbo Pascal

Цель: Изучить способы описания и основные принципы обработки многомерных массивов на языке программирования Turbo Pascal.

Задачи:

1) Разработать алгоритм решения в соответствии с заданием.

2) Составить блок-схему и программу решения.

3) Вывести на экран двухмерный массив в виде матрицы.

Перечень оборудования и программного обеспечения: ПК, находящийся в локальной сети, оболочка операционной системы FAR Manager, системе программирования Turbo Pascal 7.0.

Литература: 1, 2, 13, 23, 25, 26, 28, 33, 34, 35.

Краткое изложение основных теоретических и методических аспектов:

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

var Имя_массива: ARRAY [размерность1, …, размерностьn] OF тип_ элементов;

Доступ к каждому элементу массива осуществляется с помощью индекса, который не должен выходить за пределы, описанные типом-диапозоном. Turbo Pascal контролирует использование индексов на этапах компиляции и счета программы. Двумерный массив часто называется матрицей. Матрица представляет собой таблицу, состоящую из нескольких столбцов и строк. Над матрицами можно выполнять различные операции: сложение, умножение, вычитание, транспонирование и другие. Положение элемента в двумерном массиве описывается двумя индексами, например I–номер строки и J–номер столбца. Ввод, вывод и обработка многомерного массива осуществляется вложенными циклами.

Самостоятельно изучить вопросы:

1. Привести примеры двух и более мерных массивов в реальной жизни.

2. Рассмотреть особенности многомерных массивов во вложенных циклах.

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

1. Как изменились алгоритмы обработки массивов для многомерных?

2. Можно ли строки и столбцы простой таблицы рассматривать как двумерный массив при составлении программы на языке программирования Turbo Pascal?

3. Что объединяет типы массив, множество, запись, файловый и объектный тип на языке программирования Turbo Pascal?

Задания:

Вариант Действия Условия
1. Вычислить сумму и количество положительных элементов каждого столбца двухмерного массива A. Результаты отпечатать в строку. A(3,5). Aij > 0
2. Вычислить сумму и количество отрицательных элементов каждой строки двухмерного массива B. Результаты отпечатать в столбец. B(5,3) Bij < 0
3. Вычислить сумму и количество элементов квадратной матрицы C, находящихся над главной диагональю, под и на ней. C(3,3) I+J=CONST
4. Транспонировать квадратную матрицу D. Вывести на печать элементы главной диагонали матрицы D в строку. D(3,3) I+J=CONST
5. Транспонировать квадратную матрицу E. Вывести на печать элементы побочной диагонали матрицы E в столбец. E(3,3) I+J=CONST
6. Найти в каждой строке квадратной матрицы F наибольший элемент и поменять его местами с элементом главной диагонали. F(3,3) Fij = MAX
7. Найти сумму элементов массива G, имеющих заданную разность индексов X (целое, модуль). G (5,3) i - j = x
8. Подсчитать количество и сумму положительных и отрицательных элементов массива G. G(5,3) Gij > 0, Gij < 0
9. Найти в каждой строке массива V максимальный и минимальный элемент. Поместить их соответственно на место первого и последнего элемента этой строки массива. V(2,6) Vij = MAX Vij = MIN
10. Просуммировать элементы массива K, сумма индексов которых равна заданной константе X. (целое). K(3,5) i+j=x

Порядок выполнения:

1) Открыть Turbo Pascal.

2) Составить алгоритм и, по нему, блок-схему.

3) Запрос размерности массива осуществлять с клавиатуры.

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

5) Вывод массива производить в виде матрицы, т. е. по строкам и столбцам.

6) Набрать программу, ввести данные и зафиксировать результат.

7) Сделать выводы по полученным результатам работы.

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...