Смекни!
smekni.com

Обработка массивов данных в среде Turbo Pascal (стр. 2 из 2)


3. РЕШЕНИЕ ЗАДАЧ - ПРИМЕРОВ

В качестве примера рассмотрим решение двух задач с одномерным и двухмерным массивами.

Пример 1. Создать одномерный вещественный массив из 25 элементов. Определить максимальный и минимальный элементы массива и поменять их местами. Полученный результат вывести на экран.

Текст программы на языке TurboPascal:

PROGRAM MAS;

VAR

M: ARRAY [1.. 25] OF REAL; { Вещественныймассив }

MAX, MIN, MN: REAL;

I, K, N: INTEGER; { Вспомогательные переменные }

BEGIN

{ Ввод вещественного массива из 25 элементов }

FOR I: = 1 TO 25 DO READ ( M [I] );

{ Переменным MAX и MIN присваиваем значение первого элемента массива }

MAX: = M [1]; K: = 1;

MIN: = M [1]; N: = 1;

{ Определяем максимальный и минимальный элементы массива и их индексы}


FOR I:= 2 TO 25 DO

BEGIN

IF M [I] > MAX THEN

BEGIN

MAX: = M [I];

K: = I;

END;

IF M[I] < MIN THEN

BEGIN

MIN: = M [I];

N: = I;

END;

END;

{ Меняем местами максимальный и минимальный элементы }

MN: = M [K];

M [K]: = M [N];

M [N]: = MN;

{ Вывод полученного массива на экран }

FOR I: = 1 TO 25 DO WRITELN ( M[I] );

END.

Пример 2. Создать целочисленную матрицу А 10х8. Сформировать одномерный массив В, который содержит суммы положительных элементов каждой строки матрицы А и вывести его на экран.

Текст программы на языке TurboPascal:

PROGRAM PRIM;

VAR

A: ARRAY [1.. 10, 1.. 8] OF INTEGER;

B: ARRAY [1.. 10] OF INTEGER;

I, J, S: INTEGER;

BEGIN

{ Ввод целочисленной матрицы А 10х8 }

FOR I:= 1 TO 10 DO

FOR J: = 1 TO 8 DO

READ ( A[ I, J] );

{ Вычисление суммы положительных элементов каждой строки матрицы А и формирование массива В }

FOR I: = 1 TO 10 DO

BEGIN

S: = 0;

FOR J: = 1 TO 8 DO

IF A [ I, J ] > 0 THEN S: = S + A [ I, J ];

B [ I ]: = S;

END;

{ Вывод сформированного массива В на экран }

FOR I: = 1 TO 10 DO WRITELN ( B [ I ] );

END.


4. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

Для выполнения работы необходимо:

а) повторить правила техники безопасности при работе с вы-числительной техникой;

б) изучить раздел “Массивы” лекционного курса, а также тео-ретическую часть настоящих методических указаний;

в) получить у преподавателя вариант задания (образцы зада-ний приведены в приложении);

г) в соответствии с заданием написать программу на языке TurboPascal;

д) ввести программу в компьютер, отладить и результаты вы-полнения показать преподавателю;

е) в соответствии с требованиями, приведенными в разделе 5, оформить отчет по лабораторной работе;

ж) защитить лабораторную работу, продемонстрировав препо-давателю:

1) отчет по лабораторной работе;

2) умение решать аналогичные задачи;

3) теоретические знания из раздела “Массивы”.

При подготовке к защите для самопроверки рекомендуется ответить на контрольные вопросы, приведенные в разделе 6.


5. ТРЕБОВАНИЯ К ОТЧЕТУ

Отчет по лабораторной работе должен содержать:

а) титульный лист;

б) условие задания;

в) текст программы на языке TurboPascal.


6. КОНТРОЛЬНЫЕ ВОПРОСЫ

1. Что такое массив данных?

2. Какими способами можно описать массивы?

3. Какой максимальный размер может иметь массив?

4. Как происходит доступ к отдельным элементам массива?

5. Могут ли быть многомерные массивы?

6. Какие могут быть типы элементов массивов?

7. Какие могут быть типы индексов массивов?

8. Можно ли всем элементам одного массива присвоить значения элементов другого массива?

9. Как происходит ввод-вывод одномерных и многомерных массивов?

10. Какие действия можно производить с отдельными элементами массивов?

11. Чем отличаются массивы данных от записей?

12. Чем отличаются массивы от других структурированных типов данных?

13. Как задается типизированная константа-массив?

14. Как хранятся массивы в памяти компьютера?

15. Можно ли сравнивать массивы?


БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Фаронов В.В. TurboPascal7.0. - М.: Нолидж, 2007. - 616 с.

2. Мануйлов В.Г. Разработка программного обеспечения на Паскале. - М.: ПРИОР, 1996. - 238 с.

3. Марченко А.И., Марченко Л.А. Программирование в среде TurboPascal 7.0. - К.: ЮНИОР, 1997. - 496 с.

4. Зуев Е.А. Практическое программирование. - М.: ПРИОР, 2005. - 336 с.

5. Епанешников А.М., Епанешников В.А. Программирование в среде TurboPascal 7.0. - М.: ДИАЛОГ-МИФИ, 2006. - 288 с.


ПРИЛОЖЕНИЕ

ВАРИАНТЫ ЗАДАНИЙ НА ЛАБОРАТОРНУЮ РАБОТУ

Вариант 1

1. Создать одномерный целочисленный массив. Упорядочить

массив по возрастанию элементов.

2. Сформировать вещественную матрицу 4х6. Вычислить сумму и количество положительных элементов каждого столбца матрицы.

3. Найти произведение двух целочисленных матриц 3х3.

4. Вычислить У = (М1 + М2) / 2, где

М1 - максимальный элемент одномерного целочисленного массива из 10 элементов;

М2 - минимальный элемент одномерного целочисленного массива из 15 элементов.

Вариант 2

1. Создать одномерный вещественный массив. Определить количество отрицательных элементов массива.

2. Сформировать целочисленную матрицу 3х4. Найти максимальный элемент в каждой строке матрицы и выбрать наибольший из них.

3. Найти сумму двух вещественных матриц 5х5.

4. Вычислить А = В + С, где

В - произведение отрицательных элементов главной диагонали целочисленной матрицы 3х5;

C - сумма положительных элементов главной диагонали целочисленной матрицы 4х4.


Вариант 3

1. Создать символьный массив данных. Подсчитать количество вхождений в массив буквы А.

2. Сформировать вещественную матрицу 5х5. Упорядочить по возрастанию элементов каждой строки матрицы.

3. Ввести одномерный целочисленный массив. Найти, сколько в нем пар одинаковых соседних элементов.

4. Вычислить У = (S1 + S2) / (K1 + K2), где

S1,K1 - сумма и количество положительных элементов одномерного целочисленного массива из 15 элементов;

S2,K2 - сумма и количество отрицательных элементов вещественной матрицы 4х6.

Вариант 4

1. Создать одномерный целочисленный массив, заполненный случайным образом. Найти среднее арифметическое элементов массива.

2. Сформировать вещественную матрицу 5х5. Вычислить про-изведение отрицательных элементов, находящихся над и под главной диагональю матрицы.

3. Создать целочисленную матрицу 4х5. Сформировать одно-мерный массив, который содержит отрицательные элементы созданной матрицы.

4. Ввести одномерный вещественный массив из 20 элементов. Упорядочить массив по убыванию элементов.

Вариант 5

1. Создать одномерный вещественный массив. Определить максимальный элемент массива и его порядковый номер.

2. Вычислить у = x1 - x2 + x3 -...- x(n-1) + x(n).

3. Сформировать матрицу 5х5, состоящую из латинских букв. Отсортировать каждую строку матрицы в алфавитном порядке.

4. Ввести матрицу NхM, состоящую из вещественных чисел. Упорядочить матрицу по возрастанию элементов второго столбца.

Вариант 6

1. Создать символьный массив данных. Заменить все символы А массива на символы В.

2. Вычислить y = x(1)x(n) + x(2)x(n-1) +...+ x(n)x(1).

3. Оттранспонировать целочисленную матрицу 4х4.

4. Переписать подряд в массив B положительные и в массив C отрицательные элементы массива A.

Вариант 7

1. Создать одномерный целочисленный массив. Найти сумму отрицательных элементов массива и произведение положительных.

2. Сформировать одномерный вещественный массив. Распеча-тать его в обратном порядке.

3. Создать матрицу NхN, состоящую из букв латинского алфа-вита. Подсчитать количество гласных букв.

4. Ввести матрицу NхN, состоящую из целых чисел. Зеркально отразить ее элементы относительно главной диагонали. Вывести результат на экран.

Вариант 8

1. Создать одномерный вещественный массив. Найти разность между максимальным и минимальным элементами массива.

2. Вычислить сумму квадратов нечетных элементов целочисленного массива из 20 элементов.

3. Ввести матрицу NхM, состоящую из вещественных чисел. Сформировать одномерный массив, который содержит только положительные элементы матрицы и вывести его на экран.

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

Вариант 9

1. Сформировать одномерный целочисленный массив. Определить, есть ли в данном массиве положительные элементы, кратные k.

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

3. Ввести целочисленную квадратную матрицу NхN. Найти максимум среди сумм элементов диагоналей, параллельных побочной диагонали.

4. Ввести с клавиатуры двухмерный массив размерностью 4х6, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен количеству элементов соответствующей строки, больших заданного числа n.