Лабораторная Работа № 10

БЕЗТИПОВЫЕ ПОДПРОГРАММЫ – ФУНКЦИИ

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

 

Подготовка к лабораторной работе:

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

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

 

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

1. Получить допуск у преподавателя.

2. Создать исходный файл с программой на языке Си.

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

4. Выполнить программу.

5. После проверки правильности результатов решения показать их преподавателю.

Содержание отчета:

6. Номер, тема и цель лабораторной работы

7. Задание к лабораторной работе.

8. Схема алгоритма.

9. Программа на языке Си.

10. Результаты решения.

 

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

1. Для чего используются подпрограммы?

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

3. Как вызывается такая функция?

4. Область действия глобальных и локальных имен в программе.

5. Правила взаимодействия списков фактических и формальных параметров.

6. Отличие параметров-значений от параметров переменных.

 

Задание к лабораторной работе:

Разработать программу для выполнения над матрицей размером 5х5 операций в соответствии с вариантом. На печать вывести исходную и преобразованную матрицы.

 

Варианты заданий:

1. Транспонирование матрицы.

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

3. Перемножение матриц.

4. Вычисление суммы положительных элементов и количества отрицательных элементов матрицы.

5. Замена отрицательных элементов матрицы нулями.

6. Сложение двух матриц.

7. Умножение матрицы на скаляр.

8. Замена всех положительных элементов матрицы нулями.

9. Вычисление сумм элементов верхнего правого треугольника матрицы и количества элементов в нем.

10. Вычисление отдельно количества нулевых, положительных и отрицательных элементов матрицы.

11. Вычисление сумм элементов каждой строки матрицы.

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

13. Замена нулями всех четных элементов матрицы.

14. Вычисление количеств отрицательных элементов в каждом столбце матрицы.

15. Вычисление отдельно сумм элементов главной и побочной диагоналей.

16. Вычитание из значения каждого элемента матрицы номера строки данного элемента.

17. Вычитание из значения каждого элемента матрицы суммы значений номеров строки и столбца этого элемента.

18. Удвоение всех значений исходной матрицы.

19. Вычитание из элементов четных строк значений элементов нечетных строк.

20. Удвоение значений четных столбцов матрицы.

21. Вычитание из элементов нечетных столбцов значений элементов четных столбцов.

22. Деление каждого элемента матрицы на номер строки этого элемента.

23. Удвоение значений тех элементов матрицы, у которых сумма номеров строки и столбца четная.

24. Прибавление к каждому элементу матрицы значения номера столбца этого элемента.

25. Деление каждого элемента матрицы на номер столбца этого элемента.

26. Вычитание из элементов матрицы скаляра, равного числу нулевых элементов этой матрицы.

27. Замена максимального элемента матрицы на нуль.

 

Примечание: Исходную матрицу сформировать, используя датчик псевдослучайных чисел RANDOM.