Программирование линейных и разветвляющихся
Вычислительных процессов
Справочная информация
При программировании вычислительных процессов используются математические функции библиотеки компилятора. Для обеспечения возможности обращения к ним в программе должна указываться директива препроцессора #include <math.h>. Все математические функции результатом своей работы имеют вещественные числа типа double. Описание некоторых функций дано в таблице.
функция | назначение функции | значения аргументов |
sin(x) | вычисляет синус угла x | вещественное число |
cos(x) | вычисляет косинус угла x | в диапазоне |
tan(x) | вычисляет тангенс угла x | от -2p до 2p |
asin(x) | вычисляет арксинус величны x | вещественное число |
acos(x) | вычисляет арккосинус величны x | в диапазоне |
atan(x) | вычисляет арктангенс величны x | от -1 до 1 |
sqrt(x) | вычисляет корень квадратный из x | |
exp(x) | вычисляет значение e в степени x | |
log(x) | вычисляет натуральный логорифм от x | любое |
log10(x) | вычисляет десятичный логорифм от x | вещественное |
ceil(x) | округляет число х путем отбрасывания дробной части | число |
floor(x) | округляет число х до наибольшего целого, не превышающего х | |
pow(x,y) | вычисляет значение x в степени y | любые |
fmod(x,y) | вычисляет остаток от деления x на y | вещественные числа |
Для организации разветвляющихся процессов используются условный оператор if и оператор-переключатель switch
|
|
Формат записи оператора if:
if(<условное выражение>) <оператор1>
[else <оператор2>]
Формат записи оператора switch:
switch(<выражение>)
{
case<константа1>: <оператор1>
[break;]
case<константа2>: <оператор2>
[break;]
........................................................
default: <оператор>
}
Пример программы
#include <stdio.h>
#include <math.h>
void main(void)
{ int war;
float x,y,z;
printf("\nПpогpамма счета зависимостей:"
"\n1. z=3.55-(sin(x)+4.5)*y "
"\n2. z=(3.4*ln(x)+8.6)/2.3*y (переменная y больше нуля) ");
printf("\nЗадайте вид зависимости\n");
ab: scanf("%d",&war);
switch(war)
{ case 1: printf("\nЗадайте значения пеpеменных х и y\n");
scanf("%g,%g",&x,&y);
z=3.55-(sin(x)+4.5)*y;
printf("\nz=%f",z);
break;
case 2: printf("\nЗадайте значения пеpеменных х и y\n");
scanf("%g,%g",&x,&y);
if(x>0)
{
z=(3.4*log(x)+8.6)/2.3*y;
printf("\nz=%f",z);
}
else
printf("\nHевеpно заданo значение пеpеменной x!!!”
“\nОно должно быть больше нуля”);
break;
default: printf("\nHевеpно задан вид зависимости!!!"
"\nЗадайте вид зависимости заново");
goto ab;
}
}
Задание
Разработать алгоритм и программу счета аналитических зависимостей, указанных преподавателем. Предусмотреть возможность осуществления многократных вычислений без выгрузки программы из оперативной памяти компьютера.
|
|