Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР 1 - Интегрированная среда MS Visual.NET. Раб....doc
Скачиваний:
7
Добавлен:
04.11.2018
Размер:
12.64 Mб
Скачать
  1. Целочисленные и вещественные типы данных. Преобразование типов данных

    1. Скопируйте с сервера учебных материалов по адресу //172.20.20.20/ITIK/ASOIU/ДИБ/ДИБ-1/Языки программирования/Лабораторные работы папку проекта с названием «Lab14» в папку созданного Вами программного решения «Lab (рисунок 56).

    1. Затем в среде разработки в окне «Solution Explorer» щелкните правой кнопкой мыши по заголовку программного решения и в появившемся контекстном меню выберете пункт «Add->Existing Project» (рисунок 57).

    1. На экране появится диалоговое окно (рисунок 58), в котором отразится содержание каталога программного решения. Необходимо дважды щелкнуть по папке «Lab14», после этого в открывшемся диалоговом окне выбрать файл добавляемого программного решения «Lab14.vcproj» и нажать кнопку «Открыть».

    1. В окне программного решения «Solution Explorer» отобразится структура папок и файлов добавленного программного решения «Lab14». После добавления проекта «Lab14» в программное решение, необходимо сделать его стартовым и запустить на исполнение в режиме пошаговой отладки, наблюдая изменения значений переменных в окне «Locals». В приложении A приведен текст исходного кода данного проекта.

ПРИЛОЖЕНИЕ A

Пример программного кода демонстрационного проекта «lab14»

ПРИМЕР A.1.

// Lab14.cpp : Defines the entry point for the console application.

#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])

{

int a; // объявление целочисленной переменной a

double b; // объявление вещественной переменной b

double c; // объявление вещественной переменной c

a = 11; // переменной а присваивается целочисленное значение 5

b = 7.5; // переменной b присваивается вещественное значение 5.5

// нормализованный вид значения 5.5 = 0.55 * 10^1,

// где 55 - мантисса, 1 - показатель

c = 5.0; // переменной c присваивается вещественное значение 5.0

// нормализованный вид значения 5.0 = 0.5 * 10^1,

// где 5 - мантисса, 1 - показатель

c = b; // вещественной переменной c присваивается значение

// вещественной переменной b

b = a; // вещественной переменной b присваивается значение

// целочисленной переменной a,

// при этом осуществляется неявное преобразование типов:

// сначала целочисленное значение 5 переменной a

// преобразуется в вещественное значение 5.0,

// после этого вещественное значение 5.0

// присваивается переменной b

a = c; // !!! внимание –

// предпосылка логической ошибки в программе

// целочисленной переменной a присваивается значение

// вещественной переменной с. Форматы представления

// данных типов в памяти компьютера отличаются,

// при этом невозможно осуществить неявное преобразование

// вещественного значения в целочисленное

// без потери точности (см. окно Locals)

b = b / 2; // вычисляется результат операции деления вещественного

// значения переменной b на целочисленное значение 2,

// при этом целочисленное значение 2 неявно

// преобразуется в вещественное значение 2.0,

// затем вычисляется результат вещественного деления,

// который в итоге присваивается переменной b

a = a / 2;// !!! внимание - предпосылка логической ошибки в программе

// вычисляется результат операции целочисленного деления

// при этом результат также будет целочисленным

c = a / 2.0; // целочисленной переменной a присваивается

// результат вещественного деления

// (целочисленное значение переменной a

// сначала неявно преобразуется

// в вещественное значение

// а затем вычисляется результат деления,

// также вещественный),

a = a / 2.5;// !!! внимание –

// предпосылка логической ошибки в программе

// целочисленной переменной a присваивается

// результат вещественного деления

// (целочисленное значение переменной a

// сначала неявно преобразуется в вещественное значение

// а затем вычисляется результат деления,

// также вещественный),

// прежде, чем выполнить операцию присваивания,

// результат вещественного деления преобразуется

// в целочисленный формат

return 0;

}

35