Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Posobie_Programmirovanie_1_Kurs_1_Sem_Anosov_Yu...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.2 Mб
Скачать

4.5 Лабораторная работа №5 «Процедуры в языке Паскаль»

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

Темы, которые необходимо знать для выполнения и защиты данной работы:

  • Понятие процедуры.

  • Описание и принципы использования процедур в языке Паскаль.

  • Области видимости имен (локальные и глобальные переменные).

  • Формальные и фактические параметры.

  • Передача параметров по значению.

  • Передача параметров-переменных.

Выполнение данной работы должно проходить в 5 этапов:

  1. Этап первый. Предварительный анализ предметной области задачи.

  2. Этап второй. Разработка простой программы прямым кодом, без использования процедур.

  3. Этап третий. Оформление смысловых частей программы в процедуры. С использованием глобальных переменных.

  4. Этап четвёртый. Замена использования глобальных переменных на механизм передачи параметров.

  5. Этап пятый. Тестирование и доработка программы, если это необходимо.

Общие требования к работе (минимальный уровень, оценка «удовлетворительно»):

  • Определить в программе необходимые переменные.

  • Организовать ввод исходных данных с клавиатуры.

  • Разработать программу без использования процедур.

  • Преобразовать расчётную часть программы в процедуру, использующую глобальные переменные.

  • Вывести результат обработки на экран.

Для защиты на оценку «хорошо»:

  • Преобразовать ввод и вывод данных в процедуры, использующие глобальные переменные.

Для защиты на оценку «отлично»:

  • Заменить использование глобальных переменных на механизм передачи параметров.

  • Протестировать и оптимизировать программу.

Варианты заданий на лабораторную работу № 5.

Вариант 1.

Написать программу, в которой:

  • пользователь вводит координаты двух точек на плоскости;

  • специальная процедура вычисляет расстояние между этими точками;

  • ввод и вывод данных должен быть также реализован через процедуры;

  • программа должна обеспечивать «нормальный» диалог с пользователем.

Вариант 2.

Написать программу, в которой:

  • пользователь вводит координаты точки на плоскости;

  • специальная процедура находит тангенс угла наклона и сам угол наклона прямой, проходящей через заданную точку и точку начала координат;

  • ввод и вывод данных должен быть также реализован через процедуры;

  • программа должна обеспечивать «нормальный» диалог с пользователем.

Вариант 3.

Написать программу, в которой:

  • пользователь вводит координаты двух точек на плоскости;

  • специальная процедура вычисляет площадь прямоугольника, построенного по этим точкам;

  • ввод и вывод данных должен быть также реализован через процедуры;

  • программа должна обеспечивать «нормальный» диалог с пользователем.

Вариант 4.

Написать программу, в которой:

  • пользователь вводит координаты точки на плоскости;

  • специальная процедура вычисляет площадь равнобедренного треугольника, для которого данная точка является главной вершиной, а одна из вершин при основании совпадает с точкой начала координат;

  • ввод и вывод данных должен быть также реализован через процедуры;

  • программа должна обеспечивать «нормальный» диалог с пользователем.

Вариант 5.

Написать программу, в которой:

  • пользователь вводит координаты точки на плоскости;

  • специальная процедура вычисляет площадь равнобедренного треугольника, для которого данная точка является вершиной при основании. А главной вершиной является точка, совпадающая с точкой начала координат;

  • ввод и вывод данных должен быть также реализован через процедуры;

  • программа должна обеспечивать «нормальный» диалог с пользователем.

Вариант 6.

Написать программу, в которой:

  • пользователь вводит число, являющееся высотой в метрах;

  • специальная процедура вычисляет время падения с указанной высоты, и скорость, с которой тело врежется в землю. Скорость должна быть указана и в м/с и в км/час;

  • ввод и вывод данных должен быть также реализован через процедуры;

  • программа должна обеспечивать «нормальный» диалог с пользователем.

Вариант 7.

Написать программу, в которой:

  • пользователь вводит три числа, являющихся массами двух тел и расстоянием между ними;

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

  • ввод и вывод данных должен быть также реализован через процедуры;

  • программа должна обеспечивать «нормальный» диалог с пользователем.

Вариант 8.

Написать программу, в которой:

  • пользователь вводит 3 числа.

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

  • ввод и вывод данных должен быть также реализован через процедуры;

  • программа должна обеспечивать «нормальный» диалог с пользователем.

Вариант 9.

Написать программу, в которой:

  • пользователь вводит одно число, являющееся длиной диагонали квадрата;

  • специальная процедура, которая вычисляет площадь данного квадрата;

  • ввод и вывод данных должен быть также реализован через процедуры;

  • программа должна обеспечивать «нормальный» диалог с пользователем.

Вариант 10.

Написать программу, в которой:

  • пользователь вводит 3 числа;

  • специальная процедура проверяет, существует ли треугольник, со сторонами, длины которых равны введенным числам. И если такой треугольник существует – то вычисляет его площадь;

  • ввод и вывод данных должен быть также реализован через процедуры;

  • программа должна обеспечивать «нормальный» диалог с пользователем.

Вариант 11.

Написать программу, в которой:

  • пользователь вводит 2 числа.

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

  • ввод и вывод данных должен быть также реализован через процедуры;

  • программа должна обеспечивать «нормальный» диалог с пользователем.

Вариант 12.

Написать программу, в которой:

  • пользователь вводит координаты точки на плоскости и радиус окружности, проведенной вокруг начала координат;

  • - специальная процедура определяет, находится ли указанная точка внутри данной окружности, или нет;

  • - ввод и вывод данных должен быть также реализован через процедуры;

  • - программа должна обеспечивать «нормальный» диалог с пользователем.

Вариант 13

Написать программу, в которой:

  • пользователь вводит 2 числа a и b.

  • специальная процедура вычисляет площадь треугольника, образованного линиями: y=ax+b, осью Ox и осью Oy;

  • ввод и вывод данных должен быть также реализован через процедуры;

  • программа должна обеспечивать «нормальный» диалог с пользователем.

Вариант 14.

Написать программу, в которой:

  • пользователь вводит 1 число: диаметр шара.

  • специальная процедура определяет длину ребра куба, имеющего такой же объем, как и указанный шар;

  • ввод и вывод данных должен быть также реализован через процедуры;

  • программа должна обеспечивать «нормальный» диалог с пользователем.

Вариант 15

Написать программу, в которой:

  • пользователь вводит значение трёх чисел а,b,с;

  • специальная процедура находит площадь четырёхугольника, ограниченного линиями: y=ax+b, x=c, Ох, Оу;

  • ввод и вывод данных должен быть также реализован через процедуры;

  • программа должна обеспечивать «нормальный» диалог с пользователем.

Пример решения типовой задачи лабораторной работы № 5.

Рассмотрим решение поставленной в пятой лабораторной работе задачи на примере следующего варианта задания:

Написать программу, в которой:

  • пользователь вводит два целых числа «a» и «b»;

  • специальная процедура вычисляет сумму квадратов всех целых чисел, расположенных от «a» до «b», включая и «a» и «b».

  • ввод и вывод данных должен быть также реализован через процедуры;

  • программа должна обеспечивать «нормальный» диалог с пользователем.

Этап первый. Предварительный анализ предметной области задачи.

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

При выполнении вычислений нам необходимо перебрать все целые числа в заданном пользователем диапазоне. Следовательно нам необходимо организовать в программе простой переборный цикл типа «for». Значит, нам необходим счётцик итераций этого цикла.

Следовательно, нам необходимо описать в программе 4 переменных целочисленного типа «Integer».