
Задача 1
Даны x, y, z. Вычислить a, b, используя приведенные ниже формулы. Получить max(a, b).
ПРОГРАММА
#include <stdio.h>
#include <math.h>
void main ()
{
float x,y,z,a,b,max;
printf("x:"); scanf("%f",&x);
printf("y:"); scanf("%f",&y);
printf("z:"); scanf("%f",&z);
a=(pow (atan(x*x+1),1/3))/(y-fabs(z));
b=(1+(pow(x*x+y*y,1/2))/log(1+z))*x;
if(a<b)max=b;
else max=a;
printf("a=%f\tb=%f\tmax=%f\n",a,b,max);
}
Пояснительная записка
#include - директива препроцессора, включающая в текст программы содержимое файла, имя и путь к которому указывается после этой самой директивы. Имя файла заключается в угловые скобки, если он находится в одной из стандартных папок. Если же вышеуказанный файл находится в текущей директории, его имя заключается в кавычки.
stdio.h - данный заголовочный файл содержит описания стандартных функций ввода-вывода.
math.h - содержит объявление математических функций.
Программа содержит обязательную функцию main(), с которой и начинается выполнение программы. Поскольку функция main() не возвращает никаких значений, она объявляется с ключевым словом void. Тело функции main() представляет собой блок и ограничено фигурными скобками.
В теле функции main() объявляются вещественные переменные x, y, z, a, b, max.
x, y, z – исходные данные; a, b – расчетные переменные для вычисления по формулам; max для хранения максимального значения из a и b.
Далее содержится вызов библиотечной функции printf(), которая выводит на экран текст «х:», «y:», «z:». Ввод числовых значений происходит с клавиатуры по адресам: &x, &y, &z соответственно.осуществляет это библиотечная функция scanf(), в которой используется спецификация формата %f, так как x, y, z – вещественные числа.
Далее вычисляются значения a и b с помощью арифметических операций и библиотечных математических функций.
Использование конструкции условного оператора позволяет выбрать максимальное из значений a и b, которое затем присваивается переменной max.
Использование вышеуказанной библиотечной функции printf() дает возможность вывести на экран числовое значение переменных a, b, max. Здесь также используется спецификация вывода %f, поскольку a, b, max – вещественные числа. Далее тело функции закрывается фигурной скобкой. На этом программа заканчивается.
Результат:
x:4
y:9
z:2
a=0.142857 b=7.640957 max=7.640957
БЛОК-СХЕМА
Задача 2
Члены ряда образуются по некоторому правилу. Найти сумму ряда для n=10.
ПРОГРАММА
#include <stdio.h>
#include <math.h>
void main()
{
int i , F;
float elem, sum=0;
F=1;
for (i=1;i<=10;i++) {
F*=i;
elem=F/(3*pow(i,i));
sum +=elem;
}
printf("Сумма первых 10 членов ряда равна %f", sum);
}
Пояснительная записка
#include - директива препроцессора, включающая в текст программы содержимое файла, имя и путь к которому указывается после этой самой директивы. Имя файла заключается в угловые скобки, если он находится в одной из стандартных папок. Если же вышеуказанный файл находится в текущей директории, его имя заключается в кавычки.
stdio.h - данный заголовочный файл содержит описания стандартных функций ввода-вывода.
math.h - содержит объявление математических функций.
Программа содержит обязательную функцию main(), с которой и начинается выполнение программы. Поскольку функция main() не возвращает никаких значений, она объявляется с ключевым словом void. Тело функции main() представляет собой блок и ограничено фигурными скобками.
В теле функции main() объявляются:
целая переменная I, необходимая для параметра цикла for;
целая переменная F для накопления значения факториала, которая предварительно инициализируется единицей;
вещественные переменные: sum для накопления суммы элементов an которая предварительно инициализируется нулем; elem для обозначения элементов an.
Далее открывается цикл for, в котором i изменятеся от 1 до 10 с шагом 1. В теле цикла считается n!=1*2*…*10, вычисляется текущий элемент суммы elem и накапливается сумма sum. Тело цикла for представляет собой блок, который заключается в фигурные скобки. По окончании работы цикла сумма sum выводится на экран. Тело функции main() закрывается фигурной скобкой.
Результат:
0.626542
БЛОК-СХЕМА