Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб_1_метод_указания прога.doc
Скачиваний:
3
Добавлен:
03.11.2018
Размер:
301.57 Кб
Скачать

Алгебраические выражения

//вычисление косинуса (cos), гиперболического косинуса (cosh), //синуса (sin), гиперболического синуса (sinh), //тангенса (tan), арккосинуса (acos), арксинуса (asin), арктангенса (atan) //(аргумент задается в радианах ) //прототипы функций описаны в <math.h> : //double cos (double x); //double cosh (double x); //double sin (double x); //double sinh (double x); //double tan (double x); //double asin (double x); //double acos (double x); //double atan (double x);

#include <conio.h>

#include <stdio.h> #include <math.h> #define PI 3.141592 // или const double PI = 4*atan(1); int main()

{double x=PI/2,

y = cos(x);

printf ("cos (%lf) = %lf\n",x, y); // остальное – аналогично printf ("tan PI/4 =%lf\n", tan (PI /4.0) ); printf ("enter a real number between -1 and 1\n"); scanf("%lf",&x); y = asin(x);

printf ("asin (%lf) = %lf\n", x, y);

_getch();

return 0;

}

//вычисление модуля (abs, labs, fabs) //прототипы функций описаны в <math.h> : // int abs (int n); // long labs (long n); // double fabs (double x); #include <stdio.h> #include <math.h> #include <iostream.h>

#include <conio.h>

int main()

{int i; long l; double x; cout << "Input i, l, y \n "; //input: -5, -555, -5.89 cin >> i >> l >> x; cout << "|" << i << "|" << abs(i) << endl; //-5 5 cout << "|" << l << "|" << labs(l) << endl; //-555 555 cout << "|" << x << "|" << fabs(x) << endl; //-5.89 5.89; cout << "|" << x << "|" << abs(x) << endl; //-5.89 5}

_getch();

return 0;

}

//вычисление e в степени x: exp(x), //натурального логарифма x: log(x), //десятичного логарифма x: lg(x), // квадратного корня из х: sqrt(x) //прототипы функций описаны в <math.h> : // double exp (double x); // double log (double x); // double lg (double x); // double sqrt (double x);

//вычисление значения числа а, возведенного в степень х: pow (a,x) //прототип функции описан в <math.h> : // double pow (double a, double x); Например: будет выглядеть так: z=pow(sin(x)+log(x*x), cos(x)) , a запишется как: z=pow (exp(cos(x))+x*x+sin(x), 0.25); или если у=exp(cos(x))+x*x+sin(x); z=pow (y, 0.25);

//округление числа с плавающей точкой до ближайшего целого с избытком ceil(x), //округление числа с плавающей точкой до ближайшего целого с недостатком floor(x) //прототипы функций описаны в <math.h> : // double ceil (double x); // double floor (double x); Например: floor(2.8) à2.000000 floor(-2.8) à-3.000000 ceil(2.8) à3.000000 ceil(-2.8) à-2.000000

//выделение целой и дробной частей числа (modf) // функция возвращает в качестве результата дробную часть числа //и присваивает целую часть указанной переменной //прототип функции описан в <math.h> : // double modf (double x, double &int_part); Пример: #include <stdio.h> #include <math.h> void main() {double value = 1.2345,

int_part, fraction;

fraction = modf (value, &int_part); printf (“value:%lf int_part:%lf fraction:%lf\n", value, int_part, fraction); } результат: value:1.2345 int_part: 1 fraction: 0.2345

//остаток от деления вещественного числа х на вещественное число y (fmod) // функция возвращает в качестве результата остаток от деления х на y; аналогична операции %, но работает с вещественными числами //прототип функции описан в <math.h> : // double fmod (double x, double y); Пример: #include <stdio.h> #include <math.h>

#include <conio.h>

int main() {double ab = 12.34; int a, b; b = int (fmod (ab, 10)); a= int (ab/10); printf ("ab: %lf a: %lf b: %lf\n", ab, a, b); _getch();

return 0;

}

//выделение целой и дробной частей числа (modf) // функция возвращает в качестве результата дробную часть числа //и присваивает целую часть указанной переменной //прототип функции описан в <math.h> : // double modf (double x, double *integer part);

Пример: #include <stdio.h> #include <math.h>

#include <conio.h>

int main() {double value = 1.2345, int_part, fraction;

fraction = modf (value, &int_part); printf ("value:%lf int_part:%lf fraction:%lf\n ", value, int_part, fraction); _getch();

return 0;

}

результат: value:1.234500 int_part: 1.000000 fraction: 0.234500

П

Результат: 41 15724 18467 11478 6334 29358 26500 26962 19169 24464

ример генерирования случайных целых чисел: // функция rand () возвращает случайное целое число в интервале от 0 до RAND_MAX //(прототип функции и константа RAND_MAX (32767) описаны в <stdlib.h>): #include <stdlib.h> #include <stdio.h> main() {int i; for (i=0; i<10; i++) printf (”%d\n", rand ()); return 0; }

Пример генерирования случайных целых чисел в заданном диапазоне [k, m+k]: // генерирование случайных целых чисел в интервале [k, m) #include <stdlib.h> //для функции rand(); #include <stdio.h> #include <conio.h>

int main() {

int i, k, m;

scanf ("%d%d", &k, &m); for (i=0; i<10; i++) printf ("%4d\n", k+rand()%m);

_getch();

return 0;

}

результат: 1 15 (1-ое выполнение программы)

1 10 15 2 12 1 2 2 5 7

1 15 (2-ое выполнение программы)

5 3 1 9 9 7 3 1 14 10

1 15 (3-е выполнение программы)

9 11 11 13 7 5 2 3 11 11

Пример генерирования случайных вещественных чисел в интервале (0.0, 1.0): #include <stdlib.h> #include <stdio.h>

#include <conio.h>

int main() {int i; printf ("random numbers from 0.0 to 1.0:\n "); for (i=0; i<5; i++) printf ("%lf\n ", (rand () + 0.0) / RAND_MAX); // +0.0 обеспечивает приведение типа и затем деление вещественных чисел _getch();

Результат: random numbers from 0.0 to 1.0: 0.001251 0.563585 0.193304 0.808741 0.585009

return 0; }