Опубликован: 02.02.2011 | Доступ: свободный | Студентов: 3341 / 952 | Оценка: 4.43 / 3.57 | Длительность: 33:06:00
Специальности: Программист
Лекция 2:

Типы данных в языке С++

< Лекция 1 || Лекция 2: 1234 || Лекция 3 >

Лабораторная работа 1. Типы данных в языке С++

Цель работы: изучить классификацию типов и их внутреннее представление в языке С++, научиться работать со стандартными и пользовательскими типами.

При выполнении лабораторной работы для каждого задания требуется написать программу на языке С++, которая получает на входе числовые данные, выполняет их обработку в соответствии с требованиями задания и выводит результат на экран. Ввод данных осуществляется с клавиатуры с учетом требований к входным данным, содержащихся в постановке задачи (к задачам 2 и 4 приведен рекомендуемый вид диалога во время работы программы). Ограничениями на входные данные является допустимый диапазон значений используемых числовых типов в языке С++.

Теоретические сведения.

Ознакомьтесь с материалом лекции 1.

Задания к лабораторной работе.

Выполните приведенные ниже задания.

  1. Найдите сумму первых трех цифр дробной части вещественного числа. Например, для числа 23,16809 она равна 15.
  2. Составьте программу вычисления стоимости поездки на автомобиле на дачу (туда и обратно). Исходными данными являются: расстояние до дачи (в километрах); количество бензина, которое потребляет автомобиль на 100 км пробега; цена одного литра бензина. Ниже представлен рекомендуемый вид диалога во время работы программы.
    Вычисление стоимости поездки на дачу.
    Расстояние до дачи (км) – 67
    Расход бензина (л на 100 км) – 8.5
    Цена литра бензина (руб.) – 23.7
    Поездка на дачу обойдется в 269 руб. 94 коп.
  3. Составьте линейную программу, печатающую значение 1, если указанное высказывание является истинным, и 0 – в противном случае. Величина d является корнем только одного из уравнений ax2 + bx + c = 0 и mx + n = 0 относительно х.
  4. Составьте программу, которая преобразует введенное с клавиатуры дробное число в денежный формат. Например, число 12,348 должно быть преобразовано к виду 12 руб. 35 коп. Ниже представлен рекомендуемый вид диалога во время работы программы. Данные, вводимые пользователем, выделены жирным шрифтом.
    Преобразование числа в денежный формат.
    Введите дробное число – 23,6
    23.6 руб. – это 23 руб. 60 коп.

Указания к выполнению работы.

Каждое задание необходимо решить в соответствии с изученными методами обработки данных и преобразования типов данных в языке С++.

Следует реализовать каждое задание в соответствии с приведенными этапами:

  • изучить словесную постановку задачи, выделив при этом все виды данных;
  • сформулировать математическую постановку задачи;
  • выбрать метод решения задачи, если это необходимо;
  • разработать графическую схему алгоритма;
  • записать разработанный алгоритм на языке С++;
  • разработать контрольный тест к программе;
  • отладить программу;
  • представить отчет по работе.

Требования к отчету.

Отчет по лабораторной работе должен соответствовать следующей структуре.

  • Титульный лист.
  • Словесная постановка задачи. В этом подразделе проводится полное описание задачи. Описывается суть задачи, анализ входящих в нее физических величин, область их допустимых значений, единицы их измерения, возможные ограничения, анализ условий при которых задача имеет решение (не имеет решения), анализ ожидаемых результатов.
  • Математическая модель. В этом подразделе вводятся математические описания физических величин и математическое описание их взаимодействий. Цель подраздела – представить решаемую задачу в математической формулировке.
  • Алгоритм решения задачи. В подразделе описывается разработка структуры алгоритма, обосновывается абстракция данных, задача разбивается на подзадачи. Схема алгоритма выполняется по ЕСПД (ГОСТ 19.003-80 и ГОСТ 19.002-80).
  • Листинг программы. Подраздел должен содержать текст программы на языке программирования С++, реализованный в среде MS Visual Studio 2010.
  • Контрольный тест. Подраздел содержит наборы исходных данных и полученные в ходе выполнения программы результаты.
  • Выводы по лабораторной работе.
  • Ответы на контрольные вопросы.

Контрольные вопросы

  1. Почему в языке С++ определена строгая типизация данных, используемых в программе?
  2. Как определяются границы диапазона базового типа в зависимости от выделяемой под этот тип памяти?
  3. С какой целью в С++ определен тип void?
  4. Какой объем памяти выделяется под переменную типа void? Какие значения может принимать переменная типа void?
  5. Почему наблюдается асимметрия значений границ диапазонов целочисленных типов?
  6. Чему будет равно значение операции инкремента для максимального числа в целочисленном типе? А каков результат декремента для минимального значения в таком же типе?
  7. Почему запись целых чисел нельзя начинать с незначащих нулей?
  8. Каким образом представлено число ноль в вещественных типах?
  9. Почему в С++ символьный тип считается подмножеством целочисленного типа?
  10. Каким образом можно инициализировать переменную перечисляемого типа?
  11. При преобразовании целого со знаком к целому без знака всегда ли будет получено исходное числовое значение? Ответ обоснуйте.
< Лекция 1 || Лекция 2: 1234 || Лекция 3 >
Денис Курбатов
Денис Курбатов
Владислав Нагорный
Владислав Нагорный

Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки?

Спасибо!