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

delphi / задания к лабораторным / задание по лабораторной работе 07

.doc
Скачиваний:
43
Добавлен:
26.03.2016
Размер:
34.82 Кб
Скачать

Лабораторная работа 7

Программирование с использованием процедур и функций

Цель работы: познакомиться с понятиями процедура и функция в языке программирования Pascal, рассмотреть их сходства и различия, закрепить практические навыки работы с системой TURBO Pascal на примере реализации алгоритмов при помощи процедур и функций, научиться применять метод последовательной детализации в практическом программировании; применять процедуры и функции при решении задач.

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

Часто в программе обнаруживаются однотипные участки, которые выполняют одни и те же вычисления, но с различными данными. Такие части программы целесообразно оформлять в виде подпрограмм. В языке Pascal существует два вида подпрограмм: процедуры и функции.

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

Задания

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

  2. Используя функцию нахождения длины отрезка (по теореме Пифагора), найти длину периметра и площадь треугольника, заданного координатами своих вершин.

  3. Даны действительные числа х1, у1, х2, у2, …,х10, у10. Найти периметр десятиугольника, вершины которого имеют соответственно координаты (х1, у1), (х2, у2), …, (х10, у10). (Определить процедуру вычисления расстояния между двумя точками, заданными своими координатами.)

  4. Найти среднее арифметическое положительных элементов в массиве. Использовать процедуру для ввода элементов массива и функцию для подсчета среднего арифметического.

  5. Даны действительные числа a, b, c, d, e - стороны пятиугольника. Найти площадь пятиугольника. (Определить процедуру вычисления площади треугольника по его сторонам.)

  6. Даны три символьные матрицы. a) ту матрицу, где есть хотя бы одна гласная - транспонировать; b) в той матрице, на главной диагонали которой все цифры, найти наименьшую и удалить соответствующую строку.

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

  8. Даны отрезки a,b,c и d. Для каждой тройки этих отрезков, из которых можно построить треугольник, напечатать площадь данного треугольника. Определить процедуру Plo(x,y,z), выводящую площадь треугольника со сторонами x,y и z, если такой треугольник существует.

  9. Даны длины a,b и c сторон некоторого треугольника. Найти медианы треугольника, сторонами которого являются медианы исходного треугольника. Длина медианы, проведенной к стороне a, равна .

  10. Вывести все четырехзначные числа, в которых цифры не повторяются.

  11. Даны координаты вершин двух треугольников. Определить, какой из них имеет большую площадь.

  12. Даны координаты вершин треугольника и координаты некоторой точки внутри него. Найти расстояние от данной точки до ближайшей стороны треугольника. (При определении расстояний учесть, что площадь треугольника вычисляется и через три его стороны, и через основание и высоту.).

  13. Произведение элементов двух массивов, стоящих на нечетных позициях.

  14. Определить максимальное число из четырех введенных, путем сравнения их сначала попарно, а затем результат между собой.

  15. вычислить функцию z(x)=x2 и сумму членов ряда y= на диапазоне [-;]. Очередной элемент включается в сумму, если его значение по модулю превышает некоторое заранее заданное число P, определяемое с требуемой точностью вычислений. P=0.001

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

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

  1. Для чего нужны в программе процедуры и функции?

  2. В чем отличие между процедурой и функцией?

  3. Чем отличаются формальные и фактические параметры?

  4. Чем отличаются параметры-значения и параметры-переменные?

  5. Как объявляются глобальные и локальные переменные? Каково правило видимости этих переменных?

  6. Почему при обращении к процедуре, аргумент, передаваемый параметру-переменной, может быть только переменной, а не константой или выражением?