Лабораторная работа №9
.docxФедеральное агентство связи
Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
Кафедра «Информатики»
Лабораторная работа №9
по дисциплине: «Информатика»
по теме: «Основные средства языка программирования VС++.
Типы данных и их преобразование»
Выполнила Студентка 1 курса
Группа ЗРС 2001
Баланюк Е.С.
Вариант №3
Проверил :
Старший преподаватель
Юсков И.А.
Москва
2020
Лабораторная работа №9 по теме «Основные средства языка программирования VС++.
Типы данных и их преобразование.»
Цель выполнения лабораторной работы состоит в изучении алфавита языка, типов данных и правил записи арифметических выражений, содержащих константы, переменные, различные арифметические действия и математические функции, ознакомлении с основными правилами преобразования типов и средствами ввода и вывода данных в С++.
1. Вопросы, подлежащие изучению
Алфавит и лексемы языка VС++.
Основные понятия: программа, операторы, комментарий.
Данные, типы данных в С++.
Константы и литералы.
Переменные и их инициализация.
Арифметические операции над данными.
Выражения. Последовательность выполнения действий в арифметических выражениях. Понятие приоритета.
Оператор присваивания. Понятие Lvalue.
Явные и неявные преобразования типов. Основные правила преобразования.
Ввод и вывода данных в С++. Директивы.
2. Общее задание на разработку проекта
Изучите основные средства языка программирования VС++ и типы данных.
Выберите индивидуальный вариант задания из табл. 1.
Решите задачу вычисления арифметического выражения. Для этого, формализуйте арифметическое выражение, т.е. запишите выражение по правилам языка программирования с учетом приоритета операций.
Изучите различные возможности преобразования вещественного числа в целое: с усечением (явное и неявное), с округлением в большую сторону, с округлением в меньшую сторону. Запишите для них четыре выражения по правилам языка программирования для оператора присваивания в любые дополнительные переменные целого типа. Кроме того, изучите работу операции постфиксного и префиксного инкремента и декремента.
Нарисуйте схему алгоритма решения задачи средствами MS Visio.
Составьте программу решения задачи на С++, добавив в программный код операции префиксного и постфиксного инкремента или декремента для переменных, получивших свои значения усечением в результате неявного и явного преобразования вещественного числа в целый тип.
Получите результаты и проанализируйте их.
Докажите правильность результата.
1)Тема «Основные средства языка программирования VС++.
Типы данных и их преобразование.»
2) Баланюк Екатерина, ЗРС 2001, вариант
3) Задание на разработку проекта и вариант задания:
Решите задачу вычисления арифметического выражения при значениях исходных данных x=32,01 и y= -0,4917 (рисунок 1):
Рисунок 1.Задание
Также задайте четыре переменные целого типа для преобразования вещественного числа в целое четырьмя способами: округлением в меньшую сторону, округлением в большую сторону, усечением в результате неявного и в результате явного приведения типа. Кроме того, используйте в программе операции префиксного и постфиксного инкремента или декремента.
4) Формализация и уточнение задания:
Для формализации и уточнения задания определим, что исходные данные x, y - вещественного типа double. Результаты вычислений - переменная h – также вещественного типа double. Для изучения различных возможностей преобразования вещественного числа в целое определим четыре целые переменные, например, k, m, n, p – переменные целого типа int. Этим переменным будем присваивать значения, полученные разными способами преобразования вещественного числа в целое: с усечением (явное и неявное преобразования типа), с округлением в большую сторону с помощью функции ceil, с округлением в меньшую сторону посредством функции floor. Заданные вычисления на языке программирования будут записываться следующими операторами С++
setlocale(0, "");
double h, x, y;
int k, m, n, p;
cin >> x;
cin >> y;
h = (x * y + sin(x)) / (abs(1 - y) * log(x));
k = h;
m = floor(h);
n = ceil(h);
p = static_cast<int>(h);
cout << "результат h= " << h << endl;
cout << "округление в большую сторону n= " << n << endl;
5) Схема алгоритма решения задачи (рисунок 2):
Рисунок 2 – Схема алгоритма решения задачи
6) Программный код проекта
Программный код проекта приведен на рис.3. Поскольку при вычислении h используется математические функции sin, abs, log то требуется подключить системную библиотеку cmath. Также в программный код включены операции префиксного и постфиксного инкремента.
Рисунок 3 – Программный код решения задачи
7) Результаты выполнения программы
Результаты выполнения программы при заданных значениях исходных данных приведены на рисунке 4.
Рисунок 4 – Результат выполнения проекта
8) Доказательство правильности работы программы (рисунок 5,6).
Рисунок 5.Расчет арифметического выражения
Рисунок 6. Правильность результата