Файл реализации averages.cpp

Программа 6.1 демонстрирует основное достоинство модульного подхода: при

изменении деталей реализации в файле "averages.cpp" не обязательно вносить из-

менения в файл "averages.h" или в главный файл программы.

7.Сводкарезультатов

В данной лекции описано, как в Си++ можно создавать новые функции. Есть

два способа передачи параметров внутрь функции: по значению и по ссылке. Функ-

ции облегчают применение процедурной абстракции при разработке программ мето-

дом "сверху вниз". При модульном подходе описание и реализация функций разме-

щаются в отдельных файлах, в таком случае для вызова функции необходимо вклю-

чать в текст программы заголовочный файл.


8.Упражнения

Упражнение 1

В программе из упражнения 2 лекции 2 (файл ex2_2.cpp) выделите 6 функций,

имена и назначение которых перечислены ниже:

fahrenheit_of

Возвращает значение температуры по шкале Фаренгейта для передан-

ного значения по шкале Цельсия.

absolute_value_of

Возвращает значение температуры в абсолютной шкале для передан-

ного значения по шкале Цельсия.

print_preliminary_message

Печать сообщения, поясняющего назначение программы.

input_table_specifications

Запрос параметров таблицы с клавиатуры.

print_message_echoing_input

Повторное отображение параметров, введенных пользователем.

print_table

Печать таблицы температур.

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

трольного примера можете использовать следующие выходные данные:

Эта программа печатает значения температур в разных шкалах.

Введите минимальное (целое) значение температуры

по Цельсию, которое будет в первой строке таблицы: 0

Введите максимальное значение температуры: 100

Введите разницу температур между соседними строками таблицы: 20

Преобразование значений температуры от 0 градусов Цельсия

до 100 градусов Цельсия, с шагом 20 градусов:

Цельсий Фаренгейт Абсолютная температура

0 32.00 273.15

20 68.00 293.15

40 104.00 313.15

.........

.........

100 212.00 485.15

Упражнение 2

Разделите программу из упражнения 1 на три файла:

1) главный файл программы;

2) заголовочный файл "conversions.h" с прототипами функций

"fahrenheit_of(...)" и "absolute_value_of(...)";

3) файл реализации с определением этих двух функций.

Снова проверьте свою программу для различных исходных данных.


Упражнение 3

(а) Создайте заголовочный файл "statistics.h" и соответствующий файл реализа-

ции "statistics.cpp" с функциями "average(...)" и "standard_deviation(...)".

Эти функции должны вычислять среднее значение и среднеквадратическое откло-

нение для последовательности из 1, 2, 3 или 4 вещественных чисел. Среднеквадра-

тическое отклонение чисел r 1,..., r N определяется как корень из среднего значения

квадратов отклонений чисел от своего среднего:


Подсказки: (1) Примените средства перегрузки функций Си++. (2) Функции

можно вызывать изнутри друг друга. (3) Максимально используйте возможности

текстового редактора по копированию фрагментов исходного текста.

(б) Напишите тестовую программу для проверки функций из файла "statistics.h",

которая в цикле запрашивает исходные данные до тех пор, пока пользователь не

сообщит о завершении работы (некоторым специально оговоренным числом). Ва-

ша тестовая программа должна выдавать на экран сообщения, подобные приве-

денным ниже:

Эта программа предназначена для тестирования функций из

заголовочного файла "statistics.h".

Сколько чисел будет в тестовой последовательности – 1, 2, 3

или 4? (для завершения работы введите 0): 3

Введите первое число: 5

Введите второе число: 7

Введите третье число: 9

Среднее значение: 7. Среднеквадратическое отклонение: 1.63299.

Сколько чисел будет в тестовой последовательности – 1, 2, 3

или 4? (для завершения работы введите 0): 1

Введите первое число: 5.8

Среднее значение: 5.8. Среднеквадратическое отклонение: 0.

Сколько чисел будет в тестовой последовательности – 1, 2, 3

или 4? (для завершения работы введите 0): 8

Извините, но эта программа может работать только с 1, 2, 3

или 4-мя числами.

Сколько чисел будет в тестовой последовательности – 1, 2, 3

или 4? (для завершения работы введите 0): 0

Программа тестирования функций из заголовочного файла

"statistics.h" завершила работу.

Подсказки: (1) Разрабатывайте свою программу методом "сверху вниз ". Начни-

те с написания короткой главной функции, в которой вызываются функции-

заглушки, например, " test_three_values() ". Детали этих функций вы уточни-

те позже, после отладки функции " main() ". (2) В качестве высокоуровневой

структуры программы вы можете использовать цикл for с пустым разделом

инициализации и пустым оператором изменения значений (эквивалент цикла

while, который будет рассматриваться в следующих лекциях).



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: