
- •Министерство образования и науки Российской Федерации
- •1. Модель рабочего стола
- •2. Интерфейс командной строки
- •3. Компиляция, компоновка и выполнение программы
- •4. Командные файлы
- •5. Вывод символьной информации
- •6. Операции с целыми числами
- •7. Операции с вещественными числами
- •8. Операторы
- •9. Символы и строки
- •10 Передача параметров в командной строке
- •Министерство образования и науки Российской Федерации
- •Министерство образования и науки Российской Федерации
7. Операции с вещественными числами
Вещественные числа относятся к типам float и double. Английское слово float обозначает плавать. Плавающими числами, точнее, числами с плавающей точкой называют вещественные числа, представленные в виде a * bp, число a называется мантиссой, во внутреннем представлении вещественных чисел мантисса удовлетворяет условию 0.5 < a <=1. Число b равно 2 (во внутреннем представлении) или 10 (при выводе значения вещественного числа на экран), целое число p – порядок числа – может быть как положительным, так и отрицательным. Слово double означает двойной – вычисления выполняются с двойной точностью. Присваивая вещественному числу значение, выраженное десятичной дробью, ИСПОЛЬЗУЙТЕ ДЕСЯТИЧНУЮ ТОЧКУ. Ввод и вывод вещественных чисела осуществляется со спецификацией %f:
/*prog7.c*/
/*программа вычисляет среднее арифметическое двух чисел, которые пользователь вводит с клавиатуры*/
#include <stdio.h>
main()
{
float x, y, z;
scanf ( “х = %f у = %f”, &x, &y );
z = ( x + y ) / 2;
printf ( “среднее арифметическое чисел %f и %f равно %f”, x, y, z );
return 0;
}
Для работы с функциями вещественных аргументов надо добавить в программу директиву препроцессору
#unclude<math.h>
(вставить заголовочный файл math.h) или описать эти функции перед функцией main, указав типы аргумента и возвращаемого значения:
double sin ( double x ) - синус;
double cos ( double x ) - косинус;
double tan ( double x ) - тангенс;
double asin ( double x ) - арксинус;
double acos ( double x ) - арккосинус;
double atan ( double x ) - арктангенс;
double exp ( double x ) - экспоненциальная функция;
double log ( double x ) - натуральный логарифм;
double log10 ( double x ) - десятичный логарифм;
double sqrt ( double x ) - квадратный корень;
double fabs ( double x ) - абсолютная величина;
/*prog8.c*/
/*программа вычисляет квадратный корень числа, которое пользователь вводит с клавиатуры*/
#include <stdio.h>
#include <math.h>
main()
{
float x, y;
scanf ( “х = %f”, &x );
/*проверка: число, которое вводит пользователь, должно быть неотрицательным:*/
if (x < 0)
/*вывод сообщения об ошибке:*/
printf (“ошибка: надо ввести неотрицательное число”)
else
{
z = sqrt ( x );
printf ( “корень квадратный из числа %f равен %f”, x, y );
}
return 0;
}
Следующая программа также вычисляет корень квадратный из числа, которое вводит пользователь, но вместо включения файла math.h с помощью директивы include используется объявление функции sqrt:
/*prog9.c*/
/*программа вычисляет квадратный корень числа, которое пользователь вводит с клавиатуры*/
#include <stdio.h>
double sqrt ( double x );
main()
{
float x, y;
scanf ( “х = %f”, &x );
/*проверка: число, которое вводит пользователь, должно быть неотрицательным:*/
if (x < 0)
/*вывод сообщения об ошибке:*/
printf (“ошибка: надо ввести неотрицательное число”)
else
{
z = sqrt ( x );
printf ( “корень квадратный из числа %f равен %f”, x, y );
}
return 0;
}
Задания
(7.1) Составьте программу, которая вычисляет квадрат вещественного числа, поступающего на её вход.
(7.2) Составьте программу, которая вычисляет площадь треугольника по трём известным сторонам.
(7.3) Составьте программу, которая вычисляет среднее арифметическое трёх вещественных чисел.
(7.4) Составьте программу, которая вычисляет стороны прямоугольного треугольника по катету и прилежащему углу.
(7.5) Составьте программу, которая вычисляет стороны прямоугольного треугольника по катету и противолежащему углу.
(7.6) Составьте программу, которая вычисляет стороны прямоугольного треугольника по гипотенузе и острому углу.
(7.7) Составьте программу, которая вычисляет длину гипотенузы прямоугольного треугольника и его углы по двум катетам.