Числа с плавающей точкой (запятой)

На предыдущих уроках мы рассмотрели типы данных для целых чисел. Однако, в большинстве математических расчетов используются вещественные числа, которые в программировании называются числами с плавающей точкой. К примеру, если мы хотим вычислить, за какое время робот проедет определенное расстояние, если известна его скорость, то нам необходимо расстояние поделить на скорость. Пускай, робот проезжает расстояние 3 метра на скорости 2 м/с. Если мы воспользуемся целочисленным делением, то после деления 3 метров на 2 м/с мы получим 1 с. Но если мы поделим с использованием вещественных чисел, то результат окажется 1.5 секунды (одна целая 5 десятых секунды или полторы секунды). Как видите, разница существенная.

В С++ существует три вещественных типа:

Тип

Размер

Минимальное значение

Максимальное значение

float

32 бита

3.4·10-38

3.4·1038

double

64 бита

1.7·10-308

1.7·10308

long double

80 бит

3.4·10-4932

1.1·104932

Пояснение: 

Число вида 105 означает 10 в степени 5, то есть 10, умноженное 5 раз на само себя (10·10·10·10·10), то есть 100 000. Соответственно, число 1038 представляет собой единицу с 38 нулями.

Число вида 10-3 означает 10 в степени -3, оно равно единице деленной на 103 то есть 1/1000 или 0.001.

Напишем программу, которая будет вычислять по закону Ома ток, напряжение или сопротивление.

Скачайте следующую программу, написанную на языке C++, поместите скачанный файл OHM.CPP в папку C:\TCPP\BIN\.

Запустите DOSBox (Как настроить эту программу можно посмотреть ЗДЕСЬ).

Нажмите клавишу F3. Выберите файл OHM.CPP и нажмите клавишу Enter.

tc_019

 

Рассмотрим эту программу подробно:

#include<iostream.h> - подключаем модуль iostream.h. В этом модуле содержится функция cout, которая используется в этой программе ниже. Она необходима для вывода информации на экран.

#include<conio.h> - подключаем модуль conio.h, содержащий функции clrscr() и getch();

void main(){ - описываем заголовок функции main. Это главная функция. Она должна быть в каждой программе на языке С++. void – это тип функции main. Void – означает, что наша функция ничего не возвращает. Пустые скобки () означают, что у этой функции нет входных параметров. Любая функция начинается c открывающейся фигурной скобки {, а заканчивается закрывающейся фигурной скобкой }.

  double I,R,U; - создаем три переменные типа double для тока, сопротивления и напряжения.

  int n; - создаем переменную n типа int.

  clrscr(); - очистка экрана.

  cout<<"Что вы хотите вычислить?:\n\n1 Ток\n2 Напряжение\n3 Сопротивление\n\n"; Выводим текст. Каждая комбинация символов «\n» переводит курсор на новую строку. Если таких символов два, значит, переводим курсор сразу на две строки.

  cout<<"Введите номер: "; - выводим текст с просьбой ввести номер того параметра, который хотим вычислить.

  cin>>n; - вводим с клавиатуры номер. При нажатии клавиши Enter введенное число записывается в переменную n.

  if (n==1) – если переменная n равна 1, то выполняем следующие три оператора, заключенные в фигурные скобки:

  {

   cout<<"\nВведите напряжение и сопротивление: "; - переводим курсор на новую строку и выводим предложение ввести напряжение и сопротивление.

   cin>>U>>R; - вводим с клавиатуры два числа через пробел. Первое из них записывается в переменную U , которая отвечает за напряжение, а второе число записывается в переменную R, которая отвечает за сопротивление.

   cout<<"\nТок I = "<<U/R<<" ампер."; - переводим курсор на новую строку, выводим фразу «Ток I =», выводим значение выражения U/R ( по закону Ома I=U/R. деление будет произведено над вещественными числами, поэтому значение будет точным), выводим фразу « ампер.».

  }

 

  if (n==2) – если переменная n равна 2, то выполняем следующие три оператора. Далее все аналогично.

  {

   cout<<"\nВведите ток и сопротивление: ";

   cin>>I>>R;

   cout<<"\nНапряжение U = "<<I*R<<" вольт."; - по закону Ома U=I*R/

  }

 

  if (n==3)

  {

   cout<<"\nВведите напряжение и ток: ";

   cin>>U>>I;

   cout<<"\nСопротивление R = "<<U/I<<" Ом."; - по закону Ома R=U/I.

  }

 

  if ((n<1)||(n>3)) – если значение переменной n меньше 1 или больше 3, то выводим сообщение «Неправильный номер!». Две вертикальные черты «||» означают логическую операцию «ИЛИ» (об этом будет отдельный урок).

    cout<<"\nНеправильный номер!";

 getch(); - ожидаем нажатия любой клавиши.

} – конец функции main и всей программы.

Чтобы запустить программу, нажимаем комбинацию клавиш Alt+R, выбираем в появившемся меню пункт Run и нажимаем клавишу Enter. Ни в коем случае не нажимайте для запуска программы комбинацию клавиш Ctrl+F9 – это закроет DOSBox!

tc_020

При запуске программа предлагает ввести, номер того параметра, который мы хотим вычислить:

tc_021

Если нам нужно вычислить напряжение, то вводим 2 и нажимаем Enter. Программа предлагает ввести ток и сопротивление:

tc_022

Вводим ток и сопротивление через пробел, после чего нажимаем Enter, например, ток равен 2.5 ампер, а сопротивление 10 Ом:

tc_023

Программа вычислила напряжение:

tc_025

При нажатии на любую клавишу программа закроется.

Задание: 1) Запустите программу еще раз и вычислите другие параметры, например, ток или сопротивление; 2) Слегка измените программу, чтобы она вычисляла еще и мощность. Мощность вычисляется по формуле P=I*U.  Пришлите программу или ее скриншоты.

Ответ можно прислать на электронную почту education@etriz.ru. Туда же можно писать свои вопросы, если что-то не до конца понятно. (Не забудьте указать Фамилию и Имя).