Лаба1
.docЛабораторная работа №1. Типы данных в языке С++
Целью лабораторной работы является изучить классификацию типов и их внутренне представление в языке С++, научиться работать со стандартными и пользовательскими типами.
Требования к содержанию, оформлению и порядку выполнения
Отчет по выполнению лабораторной работы должен содержать: титульный лист, название работы, цель работы и содержательную часть.
В содержательной части отчета по выполнению лабораторной работы требуется привести:
-
исходный текст и описание программной реализации, выбранных согласно своему варианту;
-
результаты работы программы;
-
выводы по лабораторной работе.
При выполнении лабораторной работы для каждого задания требуется написать программу на языке С++, которая получает на входе числовые данные, выполняет их обработку в соответствии с требованиями задания и выводит результат на экран. Ввод данных осуществляется с клавиатуры с учетом требований к входным данным, содержащихся в постановке задачи.
Ограничениями на входные данные является допустимый диапазон значений используемых числовых типов в языке С++.
Теоретическая часть
Для организации хранения данных и корректного выполнения операций над ними в языках программирования определены типы данных.
Типы характеризуются схожим внутренним представлением данных в памяти компьютера; объемом памяти, выделяемым под данные; множеством (диапазоном) принимаемых значений; допустимыми операциями и функциями.
В языке С++ типы классифицируются на базовые, производные и классы.
Для базовых типов определены их подмножества и расширения, что обеспечивает повышение точности расчетов или экономный расход памяти.
Над типами данных определена операция преобразования типов. Ее следует применять с осторожностью при переходе к типу, у которого меньше по модулю границы диапазонов.
Список индивидуальных данных
Данные для выполнения лабораторной работы сведены в табл. Л1.
Таблица Л1 (начало)
Варианты заданий к лабораторной работе №1
№ варианта |
Задание |
1 |
Написать функцию, которая напечатает битовое представление значения заданного типа – float
Написать программу, которая преобразует введенное с клавиатуры дробное число в денежный формат. Например, число 12,348 должно быть преобразовано к виду 12 руб. 35 коп. |
2 |
Написать функцию, которая напечатает битовое представление значения заданного типа – integer
Написать программу, которая преобразует введенное с клавиатуры число из метрической системы в старорусскую систему. Например, 1 пуд=0,01638 тонны=0,1638 центнера=16,38 кг |
3 |
Написать функцию, которая напечатает битовое представление значения заданного типа – enum
Написать программу, которая преобразует введенное с клавиатуры число из градусов по Цельсию в градусы по Фаренгейту. Например, 40 С = 104 F |
4 |
Написать функцию, которая напечатает битовое представление значения заданного типа – bool
Написать программу, которая преобразует введенное с клавиатуры число по правилам перевода единиц измерения давления. Например, 1кгс/см2 = 0.0980665 МПа |
5 |
Написать функцию, которая напечатает битовое представление значения заданного типа – double
Написать программу вычисления стоимости поездки на автомобиле на дачу (туда и обратно). Исходными данными являются: расстояние до дачи (в километрах); количество бензина, которое потребляет автомобиль на 100 км пробега; цена одного литра бензина. |
6 |
Написать функцию, которая напечатает битовое представление значения заданного типа – char
Написать программу, которая преобразует введенное с клавиатуры число по правилам перевода единиц измерения площади. Например, 1 гектар = 100 соткам. |
7 |
Написать функцию, которая напечатает битовое представление значения заданного типа - unsigned short
Определите средний балл всех учащихся по каждому предмету. Выведите три действительных числа: средний балл всех учащихся по математике, по физике, по информатике |
8 |
Написать функцию, которая напечатает битовое представление значения заданного типа – long
Написать программу, которая рассчитывает количество времени, требуемое для доставки груза в пункт назначения. |
9 |
Написать функцию, которая напечатает битовое представление значения заданного типа - long double
Написать программу, которая рассчитывает период времени в днях, часах, минутах, секундах до определенного события. Например, до вашего ДР 12 дн, 3 ч. 8 мин 1 сек. |
10 |
Написать функцию, которая напечатает битовое представление значения заданного типа - unsigned long long
Написать программу, которая найдет сумму первых трех цифр дробной части вещественного числа. Например, для числа 23,16809 она равна 15. |
Контрольные вопросы к защите
-
Почему в языке С++ определена строгая типизация данных, используемых в программе?
-
Как определяются границы диапазона базового типа в зависимости от выделяемой под этот тип памяти?
-
С какой целью в С++ определен тип void?
-
Какой объем памяти выделяется под переменную типа void? Какие значения может принимать переменная типа void?
-
Почему наблюдается асимметрия значений границ диапазонов целочисленных типов?
-
Чему будет равно значение операции инкремента для максимального числа в целочисленном типе? А каков результат декремента для минимального значения в таком же типе?
-
Почему запись целых чисел нельзя начинать с незначащих нулей?
-
Каким образом представлено число ноль в вещественных типах?
-
Почему в С++ символьный тип считается подмножеством целочисленного типа?
-
Каким образом можно инициализировать переменную перечисляемого типа?
-
При преобразовании целого со знаком к целому без знака всегда ли будет получено исходное числовое значение? Ответ обоснуйте.
Способ оценки результатов
При оценке результатов выполнения лабораторной работы оценивается:
-
знание программного материала;
-
грамотность и аккуратность оформления отчета по лабораторной работе;
-
глубина и полнота ответов на контрольные вопросы.
Отметка "отлично" выставляется студенту, глубоко и прочно усвоившему программный материал, исчерпывающе, последовательно, грамотно и логически стройно его излагающему, ответившему на все контрольные вопросы, грамотно и аккуратно оформившему лабораторную работу.
Отметка "хорошо" выставляется студенту, твердо знающему программный материал, грамотно и по существу его излагающему, имеющему представление о решении дополнительных заданий, ответившему на все контрольные вопросы, грамотно и аккуратно оформившему лабораторную работу.
Отметка "удовлетворительно" выставляется студенту, который знает только основной материал, но не усвоил его деталей, допускает в ответе неточности, имеющему расплывчатое представление о решении некоторых дополнительных заданий, ответившему на все контрольные вопросы, оформившему лабораторную работу с нарушением некоторых несущественных требований.
Отметка "неудовлетворительно" выставляется студенту, который не знает значительной части программного материала, допускает существенные ошибки, не имеет представление о решении ряда дополнительных заданий, не ответившему на контрольные вопросы, оформившему лабораторную работу с существенными нарушениями.