Пример выполнения лабораторного задания.
Вычислить значение выражения (слайд 29)
и значения четырех любых целых переменных, получивших свои значения различными способами преобразования вещественного числа в целый тип: усечением в результате неявного и явного приведения типов, а также округлением в большую и в меньшую сторону
при x = 22.5, y = 0.7.
Для формализации и уточнения задания определим, что исходные данные x, y - вещественного типа double. Результаты вычислений - переменная z – также вещественного типа double. Для изучения различных возможностей преобразования вещественного числа в целое определим четыре целые переменные, например, k, m, n, i – переменные целого типа int. Этим переменным будем присваивать значения, полученныеразными способами преобразования вещественного числа в целое: с усечением (явное и неявное преобразования типа), с округлением в большую сторону с помощью функции ceil, с округлением в меньшую сторону посредством функции floor.
Заданные вычисления на языке программирования будут записываться следующими операторами С++ (слайд 30):
z = (0.002 – exp(pow(x,y))) / ((100 – y)*(x + 2))
k = z
m = floor (z)
i=ceil(z)
n= static _ cast < int >(z)- предпочтительный способ явного преобразования в целый тип
Схема алгоритма решаемой задачи (слайд 31):
Программный код проекта приведен ниже (слайды 32–33) Поскольку при вычислении z используется математические функции е xp, pow , то требуется подключить системную библиотеку cmath. Также в программный код включены операции префиксного и постфиксного инкремента.
|
|
Результаты выполнения программы при заданных значениях исходных данных приведены на следующем рисунке (слайд 34).
Обратите внимание на следующие особенности:
1) вычисленное значение переменной z типа double выводится по умолчанию с 6 значащими цифрами;
2) целая часть z - значения переменных k и n целого типа - получены путем усечения z до целого значения и всегда меньше или равны самому числу;
3) и при явном, и при неявном преобразовании вещественного типа в целый значение переменных k и n получено путем отбрасывания дробной части z и поэтому для отрицательного z отличается от значения m (округление в меньшую сторону).
Дата добавления: 2020-11-27; просмотров: 95; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!