Числа с плавающей точкой (запятой)
На предыдущих уроках мы рассмотрели типы данных для целых чисел. Однако, в большинстве математических расчетов используются вещественные числа, которые в программировании называются числами с плавающей точкой. К примеру, если мы хотим вычислить ток, текущий через сопротивление 10 Ом при напряжении 5 вольт, мы должны 5 вольт поделить на 10 Ом. Если мы будем использовать целые числа, то в результате деления мы получим ток в 0 ампер! Но такой расчет не отражает действительности. Для точного расчета необходимо использовать вещественные числа, тогда в результате деления мы получим 0.5 ампера (0 целых 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·10-4932 |
Пояснение:
Число вида 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.

Рассмотрим эту программу подробно:
- #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<<" Ом.";
- }
- if ((n<1)||(n>3)) – если значение переменной n меньше 1 или больше 3, то выводим сообщение «Неправильный номер!». Две вертикальные черты «||» означают логическую операцию «ИЛИ» (об этом будет отдельный урок).
- cout<<"\nНеправильный номер!";
- getch(); - ожидаем нажатия любой клавиши.
- } – конец функции main и всей программы.
Чтобы запустить программу, нажимаем комбинацию клавиш Alt+R, выбираем в появившемся меню пункт Run и нажимаем клавишу Enter. Ни в коем случае не нажимайте для запуска программы комбинацию клавиш Ctrl+F9 – это закроет DOSBox!

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

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

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

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

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