ЛР2. Модули
Рекомендуется взамопроверка студентами отдельных модулей до попыток сдачи ЛР преподавателю.
Задания
- (10) Разработать модуль funcs, содержащий (см. пред. ЛР):
- Четыре перегруженных функции getMax, позволяющих вычислять максимальное
значение из соответственно двух, трех, четырех и пяти переданных значений.
- Четыре перегруженных функции getType,
каждая из которых имеет один параметр и возвращает строковый результат, описывающий тип параметра.
Функции должны обрабатывать соответственно целочисленный, вещественный, строковый и логический тип параметра.
Например, для логического параметра соответствующая функция может возвращать строку "boolean".
- Процедуру getIntFrac, которая получает на входе вещественный параметр и возвращает через два параметра
соответственно целую и дробную часть исходного параметра.
- Процедуру getStrChr, которая получает на входе строку и возвращает результат через три параметра,
которые содержат соответственно количество цифр, количество пробелов и количество остальных символов в строке.
- Функцию validatedAll, которая возращает true, если равны true значения ВСЕХ success-переменных из модуля testFuncs.
- (40) Разработать тест-модуль testFuncs, предназначенный для проверки корректности функций модуля funcs. Модуль содержит:
- Функцию test_getMax, возвращающую true, если набор функций getMax в модуле funcs работает корректно и false - в противном случае.
- Функцию test_getType, возвращающую true, если набор функций getType в модуле funcs работает корректно и false - в противном случае.
- Функцию test_getIntFrac, возвращающую true, если функция getIntFrac в модуле funcs работает корректно и false - в противном случае.
- Функцию test_getStrChr, возвращающую true, если функция getStrChr в модуле funcs работает корректно и false - в противном случае.
- Набор логических переменных success_getMax, success_getType, success_getIntFrac, success_getStrChr в интерфейсной секции.
- Секцию инициализации, которая проводит полное тестирование модуля funcs и устанавливает значение success-переменных в true,
если тестирование соответствующего набора функций
завершилось успешно и false - в противном случае.
Каждая test-функция должна провести не менее 3 проверок каждой подконтрольной функции, из них минимум 1 - проверка на граничные условия.
- (30+20) Разработать тест-программу, которая позволяет интерактивно (пользовательским вводом)
проверить работу функций модуля funcs, в случае, если validatedAll
возвращает true. В противном случае программа должна генерировать сообщение
о некорректности реализации модуля funcs.