Задача №1
Даны x, y, z. Вычислить a, b, используя приведенные ниже формулы. Получить max(a, b).
3 |
|
Программа:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
float x,y,z,a,b,max;
printf ("vvedite x,y,z\n");
scanf ("%f",&x);
scanf ("%f",&y);
scanf ("%f",&z);
a=(1+y)*(x+y/(pow(x,2)+4))/(exp(-x-2)+1/(pow(x,2)+4));
b=(1+cos(y-2))/(pow(x,4)/2+pow(sin(z),2));
printf ("a=%f,b=%f\n",a,b);
if (a>b)
max=a;
else
max=b;
printf ("max=%f",max);
system("PAUSE");
return 0;
}
Пояснительная записка к задаче №1
#include – директива препроцессора, включающая в текст программы содержимое файла, имя и путь к которому указывается после этой самой директивы. Имя файла заключается в угловые скобки, если он находится в одной из стандартных папок. Если же вышеуказанный файл находится в текущей директории, его имя заключается в кавычки.
stdio.h - данный заголовочный файл содержит описания стандартных функций ввода-вывода.
math.h - содержит объявление математических функций.
main() - стандартная функция языка Си, определяющая точку входа в программу. Все операторы, операции и вызовы функций должны находиться внутри функции main().
void - спецификатор типа, определяющий отсутствие всякого типа у переменной, с которой будет использовано данной ключевое слово. В стандарте языка Си определен как неопределенный тип данных. Используется также для указания отсутствия передаваемых параметров при определении или описании функции.
Работа программы происходит по следующему алгоритму:
Сначала вводятся три вещественные переменные (x, y, z), далее находятся значения a и b по следующим правилам: a=(1+y)*(x+y/(pow(x,2)+4))/(exp(-x-2)+1/(pow(x,2)+4)); b=(1+cos(y-2))/(pow(x,4)/2+pow(sin(z),2)). При помощи условного оператора if else находится максимальное из a и b.
При помощи функции форматированного вывода printf() выводится максимальное значение.
Задача №2
Члены ряда образуются по некотрому правилу. Найти сумму ряда для n=10.
3 |
|
Программа:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
float a,summa=0;
int i,n, factorial=1;
for( n=1; n<=2; n++)
{
for (i=1;i<=n;i++)
factorial*=i;
a=(2*factorial-1)/pow(2,n);
summa+=a;
}
printf ("summa=%f\n",summa);
system("PAUSE");
return 0;
}
Пояснительная записка к задаче №2
#include - директива препроцессора, включающая в текст программы содержимое файла, имя и путь к которому указывается после этой самой директивы. Имя файла заключается в угловые скобки, если он находится в одной из стандартных папок. Если же вышеуказанный файл находится в текущей директории, его имя заключается в кавычки.
stdio.h - данный заголовочный файл содержит описания стандартных функций ввода-вывода.
math.h - содержит объявление математических функций.
main() - стандартная функция языка Си, определяющая точку входа в программу. Все операторы, операции и вызовы функций должны находиться внутри функции main().
void - спецификатор типа, определяющий отсутствие всякого типа у переменной, с которой будет использовано данной ключевое слово. В стандарте языка Си определен как неопределенный тип данных. Используется также для указания отсутствия передаваемых параметров при определении или описании функции.
В программе используется цикл for для вычисления суммы первых 10 членов ряда, n – ный член которого образуется по следующему правилу: an=(2*factorial-1)/pow(2,n).
Далее происходит вывод на экран найденной суммы ряда, при помощи функции форматированного вывода printf().
Задача №3
Последовательность образована по некоторому правилу. Дано вещественное число =0,0001. Найти такое ai, чтобы | ai – ai-1 | < .
3 |
|
Программа:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
float e=0.0001, a=0, w=0;
int i=1;
a=1/(pow(2,i)+pow(i,2)+1);
do
{
w=a;
i++;
a=1/(pow(2,i)+pow(i,2)+1);
}
while (fabs(a-w)< e);
printf("\ni=%d,a=%f",i,a);
system("PAUSE");
return 0;
}