Стандартные функции ввода информации

Функция gets (S) обеспечивает ввод строки символов S до нажатия клавиши Enter, т.е. позволяет ввести строку, содержащую пробелы.

Для форматированного ввода информации любого вида предназначена функция

scanf(управляющая строка, список адресов объектов ввода);

в управляющей строке которой указываются только спецификации преобразований, а в списке объектов вводаадреса вводимых скалярных перемен­ных, для чего перед ID переменной указывается операция &, обозначающая «взять адрес». Для ввода значений строковых (составных) переменных символ & не указывается. При использовании формата %s строка вводится до первого пробела.

Пример ввода данных int а, double b, и char str[20]:

scanf ( "%d %ℓf %s", &a, &b, str);

Вводить данные можно как в одной строке через пробел, так и в разных строках.

Стандартные математические функции

Для использования математических функций необходимо подключить файл math.h. Параметры и возвращаемые результаты большинства математических функций имеют тип double.

Аргументы тригонометрических функций задаются в радианах. Напомним, что 2p (рад) равно 360о (град).

 

Математическая функция ID функции Математическая функция ID функции
sqrt(x) arcsin(x) asin(x)
|x| fabs(x) arctg(x) atan(x)
ex exp(x) arctg(x/y) atan2(x,y)
xy pow(x, y) sh*(x)=1/2 (ex-e-x) sinh(x)
ln(x) log(x) ch(x)=1/2 (ex+e-x) cosh(x)
lg10(x) log10(x) tgh(x) tanh(x)
sin(x) sin(x) Остаток от деления x на y fmod(x,y)
cos(x) cos(x) Округление к большему ceil(x)
tg(x) tan(x) Округление к меньшему floor(x)

 

Пример выполнения задания

Cоставить программу вычисления арифметического выражения для заданных значений x, y, z :

.

С основными действиями по работе в среде Visual C++ 6.0 можно ознакомиться в приложениях 4 и 5 [1].

Для работы в консольном приложении Builder C++ 6.0 воспользуйтесь материалами, представленными в методическом пособии [3].

1. Текст программы с использованием стандартных функций ввода-вывода, может иметь следующий вид:

#include <stdio.h>

#include <conio.h>

#include <math.h>

int main()

{

double x, y, z, a, b ,c, rez;

puts("\n\t x, y, z = ");

scanf("%lf %lf %lf", &x, &y, &z); // Формат для типа double ℓf

a = pow(tan(x+y),2);

b = exp(y-z);

c = sqrt(cos(x*x)+sin(z*z));

rez = a-b*c;

printf("\n x = %7.3lf\n y = %7.3lf\n z = %7.3lf\nRezult = %lf\n", x, y, z, rez);

puts("Press any key ... ");

getch();

return 0;

}

2. Текст программы с использованием потокового ввода-вывода, может иметь следующий вид:

#include <iostream.h>

#include <conio.h>

#include <math.h>

int main()

{

double x, y, z, a, b ,c, rez;

cout << "\n\t x,y,z = " << endl;

cin >> x >> y >> z;

a = pow(tan(x+y),2);

b = exp(y-z);

c = sqrt(cos(x*x)+sin(z*z));

rez = a-b*c;

cout << "\n x = " << x << "\n y = " << y << "\n z = " << z

<< "\nRezult = " << rez << endl;

cout << "Press any key ... " << endl;

getch();

return 0;

}

 

Введя исходные данные x = 3,4; y = 7,4×10-2; z = 1,943×102 (у и z – в форме с плавающей точкой), результат выполнения программы будет иметь следующий вид:

 

Индивидуальные задания

Создать программу вычисления указанной величины. Результат проверить при заданных исходных значениях.

1. . При x = 14.26, y = –1.22, z = 3.5´10-2 ® t = 0.564849. –0.566691
2. . При x = –4.5, y = 0.75´10-4, z = 0.845´102 ® u = –55.6848.
3. . При x = 3.74´10-2, y = –0.825, z = 0.16´102 ® v = 1.0553.  
4. . При x = 0.4´104, y = –0.875, z = –0.475´10-3 ® w = 1.9873.
5. При x = –15.246, y = 4.642´10-2, z = 20.001´102 ® a = –182.036.
6. При x = 16.55´10-3, y = –2.75, z = 0.15 ® b = –38.902. –40.6307
7. При x = 0.1722, y = 6.33, z = 3.25´10-4 ® g = –172.025. –205.306
8. При x = –2.235´10-2, y = 2.23, z = 15.221 ® j = 39.374.
9. . При x = 1.825´102, y = 18.225, z = –3.298´10-2 ® y = 1.2131.
10. При x = 3.981´10-2, y = –1.625 ´ ´103, z = 0.512 ® a = 1.26185.
11. При x = 6.251, y = 0.827, z = 25.001 ® b = 0.7121.  
12. При x = 3.251, y = 0.325, z = 0.466´10-4 ® c = 4.025. 4.25143
13. . При x = 17.421, y = 10.365´10-3, z = 0.828´105 ® f = 0.33056.
14. . При x = 12.3´10-1, y = 15.4, z = 0.252´103 ® g = 82.8257. 187.345
15. . При x = 2.444, y = 0.869´10-2, z = –0.13´103 ® h = –0.49871.
16. При x = –2.235´10-2, y = 2.23, z = 15.221 ® w = 39.374.

Задание №2. Реализация разветвляющихся алгоритмов

 

Цель работы: изучить операции сравнения, логические операции, операторы передачи управления if, switch, break. Написать и отладить программу с разветвлениями.

 

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