лабы / Laba_varik12_4
.pdfМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
Кафедра «Информатика»
Лабораторная работа №4
«Разработка простейших проектов с использованием основных средств языка программирования VC++»
по теме:
«Основные программные средства языка программирования VC++»
по дисциплине «Информатика»
Выполнил: студент гр. БИН2104 Книгин Е.А. Вариант №12
Проверил:
Москва, 2021 г.
СОДЕРЖАНИЕ
1)ЦЕЛЬ РАБОТЫ
2)ФОРМУЛИРОВКА ЗАДАЧИ №12
3)ФОРМАЛИЗАЦИЯ ЗАДАНИЯ
4)СХЕМА АЛГОРИТМА РЕШЕНИЯ ПОСТАВЛЕННОЙ ЗАДАЧИ
5)ПРОГРАММНЫЙ КОД ПРОЕКТА
6)РЕЗУЛЬТАТ ВЫПОЛНЕНИЯ ПРОГРАММЫ
7)ДОКАЗАТЕЛЬСТВО ПРАВИЛЬНОСТИ РАБОТЫ ПРОГРАММЫ
ЦЕЛЬ РАБОТЫ:
1)Изучить основные средства языка программирования VC++, типы данных и их представление в оперативной памяти компьютера.
2)Провести формализацию арифметического выражения.
3)Реализовать различные возможности преобразования вещественного числа в целое.
4)Оформить отчет по работе.
1
ФОРМУЛИРОВКА ЗАДАЧИ №12
Определить размер величины f при значениях исходных данных
x = 5.305 и y = -0,084.
1) f = -(2x2 – sin x2) 2 – e-y
Реализовать различные возможности преобразования вещественного числа в целое: с усечением (явное и неявное), с округлением в большую сторону, с округлением в меньшую сторону и пояснить результаты преобразования. Записать для них четыре оператора по правилам языка VС++ для присваивания результатов четырем любым переменным целого типа. Вывести префиксный и постфиксный инкременты получивших свои значения усечением в результате неявного и явного преобразования вещественного числа в целый тип.
ФОРМАЛИЗАЦИЯ ЗАДАНИЯ
Для формализации и уточнения задания определим, что исходные данные x, y – вещественного типа double. Переменная f также должна быть вещественного типа double. Для изучения различныхвозможностейпреобразованиявещественногочиславцелое определим четыре переменные a, b, c, d типа int. Этим переменным будем присваивать значения, полученные разными способами преобразования вещественного числа в целое: с усечением (явное и неявное преобразования типа), с округлением в большую сторону с помощью функции ceil, с округлением в меньшую сторону
2
посредством функции floor. Перечисленные операции будут записываться следующими операторами присваивания VС++.
(см. табл. 1)
Таблица 1 – Операции применяемые в программе
Вычисление выражения |
f = -(2*pow(x,2) - sin(pow(x, 2))) / (2 - exp(-y)); |
Неявное усечение |
a = f; |
Округление в меньшую сторону |
b = floor(f); |
Округление в большую сторону |
c = ceil(f); |
Явное усечение |
d = static_cast<int>(f); |
СХЕМА АЛГОРИТМА РЕШЕНИЯ ПОСТАВЛЕННОЙ ЗАДАЧИ
Схема алгоритма решения задачи приведена ниже. (см. рис. 1)
Рисунок 1 – Схема алгоритма решения задачи
3
ПРОГРАММНЫЙ КОД ПРОЕКТА
Поскольку при вычислении z используется математические библиотечные функции, такие как еxp, pow, floor, ceil, то требуется подключить системную библиотеку cmath. (см. рис. 2)
Рисунок 2 – Программный код проекта с подключенной библиотекой cmath
РЕЗУЛЬТАТ ВЫПОЛНЕНИЯ ПРОГРАММЫ
Результат выполнения программы при заданных значениях исходных данный показан ниже. (см. рис. 3)
4
Рисунок 3 - Результат выполнения программы
ДОКАЗАТЕЛЬСТВО ПРАВИЛЬНОСТИ РАБОТЫ ПРОГРАММЫ
Для проверки правильности результата в качестве гаранта мы будем использовать приложение Microsoft EXCEL из стандартного офисного пакета приложений от Microsoft. Мы вводим заданные значения x иyвячейкиX1 иY1 изатемвычисляемвыражение в ячейке F1 подставляя вместо переменных x и y названия ячеек, где находятся наши исходные значения. (см. рис. 4)
Рисунок 4 – Результат вычисления в программе MS EXCEL
5
Также в программе мы используем префиксное ++a и постфиксное d++ увеличение. Различие в них заключается в том, что префиксное увеличение сначала приращивает к числу единицу и только потом производит операцию, а постфиксное наоборот. Результаты работы этих функций можно увидеть выше. (см. рис. 3)
6