ЛР3. Модули и функции
Задания в данной ЛР на блоки не делятся.
Рекомендуется взамопроверка студентами отдельных модулей до попыток сдачи ЛР преподавателю.
Задания
- Разработать модуль funcs, содержащий:
- Четыре перегруженных функции getType,
каждая из которых имеет один параметр и возвращает строковый результат, описывающий тип параметра.
Функции должны обрабатывать соответственно целочисленный, вещественный, строковый и логический тип параметра.
Например, для логического параметра соответствующая функция может возвращать строку "boolean".
- Процедуру getIntFrac, которая получает на входе вещественный параметр и возвращает через два параметра
соответственно целую и дробную часть исходного параметра.
- Процедуру getStrChr, которая получает на входе строку и возвращает результат через три параметра,
которые содержат соответственно количество цифр, количество пробелов и количество остальных символов в строке.
- Функцию validatedAll, которая возращает значение переменной successFuncs из модуля testFuncs.
- Разработать тест-модуль testFuncs, предназначенный для проверки корректности функций модуля funcs. Модуль содержит:
- Функцию test_getType, возвращающую true, если набор функций getType в модуле funcs работает корректно и false - в противном случае.
- Функцию test_getIntFrac, возвращающую true, если функция getIntFrac в модуле funcs работает корректно и false - в противном случае.
- Функцию test_getStrChr, возвращающую true, если функция getStrChr в модуле funcs работает корректно и false - в противном случае.
- Секцию инициализации, которая устанавливает объявленную в интерфейсной секции переменную successFuncs в true, если тестирование всех
функций модуля funcs завершилось успешно и false - в противном случае.
- Разработать тест-программу, которая позволяет интерактивно (пользовательским вводом)
проверить работу функций модуля funcs, в случае, если validatedAll
возвращает true. В противном случае программа должна генерировать сообщение
о некорректности реализации модуля funcs.