Тема: Реализация алгоритмов с использованием процедур и функций в виде программ (проектов)

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

Оборудование: ПК.

Программное обеспечение: Turbo Pascal 7.0.


Основные сведения

При создании программы для решения более или менее сложной задачи выполняется разделение этой задачи на подзадачи, этих подзадач – на более мелкие подзадачи и так далее до тех пор, пока подзадачи не станут легко программируемыми (по принципу «сверху вниз»).

Для такой организации используются подпрограммы.

Согласно концепции структурного программирования, вспомогательный алгоритм должен:

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

В Турбо-Паскале используются подпрограммы двух видов: процедуры и функции.

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

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

Вариант 1.

Даны отрезки a, b, c и d. Для каждой тройки этих отрезков, из которых можно построить треугольник, определить периметр этого треугольника. Использовать функцию, которая будет определять, существует ли треугольник с данными сторонами x, y, z, если да, то высчитывает его периметр, если нет, то выводит значение 0 и процедуру вывода ответов на экран ПК.

Вариант 2.        

Написать программу с использованием функции, которая переворачивает заданное целое 4-значное число «задом наперед».

Вариант 3.

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

Вариант 4.        

С клавиатуры вводятся значения расстояний на участках AB, BC и CD и времени движения автомобиля на каждом участке. Составить программу поиска средней скорости автомобиля на пути от пункта А до пункта D, вычислив скорости на участках АB, BC, CD. Поиск скорости на указанных участках оформить в виде подпрограммы.

Вариант 5.        

Даны действительные числа t, m. Написать программу вычисления:

, используя подпрограмму-функцию:

Вариант 6.        

Используя возможности модуля Crt, написать программу, в которой символ  «звёздочка» (*) пробегает по всему периметру экрана из верхнего левого угла. Использовать подпрограмму для вывода символа.

Вариант 7.        

Даны действительные числа t, m. Написать программу вычисления:

, используя подпрограмму-функцию.

Вариант 8.

От пользователя требуется ввод двух чисел. Эти значения должны быть присвоены двум переменным, причем значение первой должно быть меньше второй. В программе реализовать процедуру, производящую обмен значений двух переменных, и вызывать ее после каждого очередного ввода пользователя.

Вариант 9.

Треугольник задан своими координатами своих вершин. Вычислить площадь треугольника с использованием функции нахождения расстояния между двумя точками.

Форма отчёта:

Отчёт должен содержать:

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

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

1, 5 варианты: Как описывается и вызывается подпрограмма-процедура?

2, 6 варианты: Как описывается и вызывается подпрограмма-функция?

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

4, 8 варианты: Чем отличаются локальные и глобальные переменные?

5, 10 варианты: Какая разница между подпрограммами-процедурами и подпрограммами-функциями?