
2 семестр ФИБС / Информатика / Пратика 5 / ПР5
.docxМИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра ИИСТ
отчет
по практической работе №5
по дисциплине «Информационные технологии»
Тема: Работа с объектами.Перегрузка операций.
Студентка гр. номер |
|
ФИО |
Преподаватель |
|
Куракина Н.И |
Санкт-Петербург
20__
Цель работы.
Написать программу для перевода числа в двоичную степень счисления и программу для трехмерного сложения вектором с использованием классов, перегруженных операций и других составляющих ООП на языке С++.
Задание.
1.Написать программу, читающую с клавиатуры десятичное целое число и выводящую битовое (двоичное) представление данного числа.
Возможный алгоритм:
вводимое число 32 раза делится на 2 и определяется остаток от деления 0 или 1. Данный остаток и будет представлять один разряд в двоичном представлении.
В отчете число, заданное преподавателем перевести вручную.
2. Написать программу сложения векторов в трехмерном пространстве, используя перегрузку стандартных операций.
В обоих заданиях использовать классы!
Основные теоретические положения.
Как реализовать возможный алгоритм?
Для этого необходимо использовать цикл while() для переменной q, которой присваивается значение переменной n. Также следует объявить переменную i=0, которая указывает на количество операций. Каждый элемент делится с остатком на 2, остаток записывается, а само число уменьшаем вдвое и повторяем те же операции с новым числом. Переменной l присваивается значение i, что определяется как длина числа в двоичной системе счисления.
Как вывести полученное число?
При такой реализации программа переводит число в двоичную систему без его записи в обратном порядке, поэтому необходимо перевернуть полученное число при выводе. Это делается с помощью цикла for(). В синтаксисе цикла переменная i принимает значение l-1 (так как последней операцией при делении на 2 является операция деления числа 1 на 2, результат которой всегда будет равняться 0, следовательно, длина числа всегда будет больше на 1 элемент с учетом этого нуля). Далее пока длина числа больше нуля, число записывается справа налево.
Результаты работы.
Общий вид 1 программы:
Запускаем программу на выполнение.
В результате выполнения программа требует ввести число в десятичной системе. Вводим 127:
Далее программа выводит число в двоичной системе счисления:
Осуществим проверку результата ручным способом:
Программа сработала верно!
Проверим число 455:
Проверка
ручным способом:
Программа сработала верно!
Общий вид 2 программы:
Запускаем программу на выполнение.
В результате выполнения программа сразу выводит координаты всех векторов, так как они заданы заранее:
В первой строчке выводятся координаты вектора с после сложения a и b.
Во второй строчке выводятся координаты вектора с после сложения a, b, а также полученного вектора с.
В третьей и четвертой строчках выводятся координаты векторов после присваивания значения вектора b, а затем вектора а.
Выводы.
В результате выполнения практической работы была написана программа, преобразующая число из десятичной в двоичную систему счисления, а также программа, выполняющая сложение векторов в трехмерном пространстве. Улучшен навык работы с циклами, класса и перегруженными операторами. Обе программы проверены на корректность работы с помощью логических рассуждений и навыка перевода числа в двоичную систему счисления. Программы работают правильно.