Кременчугская общеобразовательная школа I-III ступеней №17 «Выбор» имени Н.Г. Неленя ИНФОРМАТИКА Лабораторная работа №11. ТЕМА: РЕАЛИЗАЦИЯ АЛГОРИТМОВ ПРОГРАММ (ПРОЕКТОВ) С ИСПОЛЬЗОВАНИЕМ ПРОЦЕДУР И ФУНКЦИЙ В ВИДЕ ЦЕЛЬ РАБОТЫ: Закрепить навыки использования подпрограмм при реализации задач в среде программирования Pascal, знания о составлении, вводе и выполнении программ с использованием пользовательских процедур и функций. Проанализировать условия использования разных видов подпрограмм. ОБОРУДОВАНИЕ: ПК. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ: Turbo Pascal 7.0. 1. ОСНОВНЫЕ СВЕДЕНИЯ При создании программы для решения более или менее сложной задачи выполняется разделение этой задачи на подзадачи, этих подзадач – на более мелкие подзадачи и так далее до тех пор, пока подзадачи не станут легко программируемыми (по принципу «сверху вниз»). Для такой организации используются подпрограммы. Согласно концепции структурного программирования, вспомогательный алгоритм должен: иметь имя, по которому его можно вызвать из других алгоритмов; возвращать управление тому алгоритму, из которого он был вызван. После того как завершится выполнение вспомогательного алгоритма, вызвавший его алгоритм должен продолжить работу с той точки, в которой он был прерван; иметь возможность вызывать другие алгоритмы; иметь достаточно малые размеры. В Турбо-Паскале используются подпрограммы двух видов: процедуры и функции. 2. ВЫПОЛНЕНИЕ РАБОТЫ 2.1 Составьте и выполните программу согласно вариантам заданий. 2.2 Проверьте полученный результат. 2.3 Выполните анализ ошибок, опишите действия по их устранению. 2.4 Запишите листинг программы в тетрадь. 2.5 Составьте в тетради отчёт о выполненной работе в указанной ниже форме. Варианты заданий: Вариант 1. Даны отрезки a, b, c и d. Для каждой тройки этих отрезков, из которых можно построить треугольник, определить периметр этого треугольника. Использовать функцию, которая будет определять, существует ли треугольник с данными сторонами x, y, z, если да, то высчитывает его периметр, если нет, то выводит значение 0 и процедуру вывода ответов на экран ПК. Вариант 2. Написать программу с использованием функции, которая переворачивает заданное целое 4-значное число «задом наперед». Вариант 3. Составить программу определения гипотенузы, площади, периметра прямоугольного треугольника по введенным с клавиатуры катетам. Решить задачу с использованием подпрограммы процедуры. Кременчугская общеобразовательная школа I-III ступеней №17 «Выбор» имени Н.Г. Неленя ИНФОРМАТИКА Лабораторная работа №11. Вариант 4. С клавиатуры вводятся значения расстояний на участках AB, BC и CD и времени движения автомобиля на каждом участке. Составить программу поиска средней скорости автомобиля на пути от пункта А до пункта D, вычислив скорости на участках АB, BC, CD. Поиск скорости на указанных участках оформить в виде подпрограммы. A C D B Вариант 5. Даны действительные числа t, m. Написать программу вычисления: S F 2 (2t m,tm) F 2 (3m,2t) , используя подпрограмму-функцию: a 2 3a b,a 0 F b 2 3b a,a 0 Вариант 6. Используя возможности модуля Crt, написать программу, в которой символ «звёздочка» (*) пробегает по всему периметру экрана из верхнего левого угла. Использовать подпрограмму для вывода символа. Вариант 7. Даны действительные числа t, m. Написать программу вычисления: F 2 (2m3 ,3t 2 mt ) , используя подпрограмму-функцию. 3a b 2 ,a 1 F 2b 3a 2 ,a 1 Вариант 8. От пользователя требуется ввод двух чисел. Эти значения должны быть присвоены двум переменным, причем значение первой должно быть меньше второй. В программе реализовать процедуру, производящую обмен значений двух переменных, и вызывать ее после каждого очередного ввода пользователя. Вариант 9. Треугольник задан своими координатами своих вершин. Вычислить площадь треугольника с использованием функции нахождения расстояния между двумя точками. Кременчугская общеобразовательная школа I-III ступеней №17 «Выбор» имени Н.Г. Неленя ИНФОРМАТИКА Лабораторная работа №11. ФОРМА ОТЧЁТА: Отчёт должен содержать: листинг самостоятельно составленной программы; анализ возникших ошибок; ответы на вопросы; вывод. 3. КОНТРОЛЬНЫЕ ВОПРОСЫ 1, 5 варианты: Как описывается и вызывается подпрограмма-процедура? 2, 6 варианты: Как описывается и вызывается подпрограмма-функция? 3, 7 варианты: Чем отличаются формальные и фактические параметры? 4, 8 варианты: Чем отличаются локальные и глобальные переменные? 5, 10 варианты: Какая разница между подпрограммами-процедурами и подпрограммамифункциями?