Выполнение общего задания.
Задача 1.
1. Постановка задачи: разработать алгоритм вычисления и вывода на экран значения функции
x+2, если x<0;
y = x3+5, если x≥π/2;
sin x+0,5, если 0≤x<π/2;
Значение x вводится с клавиатуры. Написать программу, реализующую разработанный алгоритм.
2. Математическая модель и описательный алгоритм задачи:
• ввести значение переменной x;
• если x<0, то y=x+2;
• иначе, если x≥π/2, то y=x3+5;
• иначе, если 0≤x<π/2, т.е. во всех других случаях, y=sin x+0,5;
• вывести значение переменной y.
3. Блок-схема алгоритма задачи:
4. Текст программы:
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{
const float p=3.14;
float x,y;
printf(“\n input x:”);
scanf(“%f”,&x); // ввод числа в форме с плавающей точкой
if (x<0)
y=x+2;
else
if (x>=p/2)
y=pow(x,3)+5;
else
y=sin(x)+0.5;
printf(“\n output y=%f”,y);
getch();
return 0;
}
5. Тестирование:
Теоретически рассчитанное выходное значение | Практически полученное выходное значение |
Тест 1: входные данные: x=-1 (условие x<0) | |
y=? | y=? |
Тест 2: входные данные: x=π≈3,14 (условие x≥π/2) | |
y=? | y=? |
Тест 3: входные данные: x=0 (условие 0≤x<π/2) | |
y=? | y=? |
Тест 5: входные данные: x=π/3≈1,0466 (условие 0≤x<π/2) | |
y=? | y=? |
Задача 2.
|
|
1. Постановка задачи: разработать алгоритм вычисления и вывода на экран значения функции b по формуле . Значения x, y вводятся с клавиатуры. Написать программу, реализующую разработанный алгоритм.
2. Математическая модель и описательный алгоритм задачи:
• ввести значения в переменные x, y;
• так как функция b(x,y) определена не на всех значениях x, y, то необходимо определить область допустимых значений (ОДЗ): x4-1≥0 и 1-cos(x)≠0
• проверить условия: если x4-1≥0 и 1-cos(x)≠0, то вычислить значение переменной b по формуле и вывести полученное значение;
• иначе вывести информацию о том, что входные значения не удовлетворяют ОДЗ и выйти из алгоритма.
3. Блок-схема алгоритма задачи:
4. Текст программы:
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{
float x,y,b;
printf(“\n input x, y:”);
scanf(“%f%f”,&x,&y);
if (pow(x,4)-1>=0 && 1-cos(x)!=0)
{
b=(sqrt(pow(x,4)-1)-3*x*y)/(1-cos(x));
printf(“\n output b=%f“,b);
}
else
printf(“\nx не удовлетворяет ОДЗ”);
getch();
return 0;
}
5. Тестирование:
Теоретически рассчитанное выходное значение | Практически полученное выходное значение |
Тест 1: входные данные: x=1.5, y=3 (условие x4-1≥0 и 1-cos(x)≠0) | |
b=? | b=? |
Тест 2: входные данные: x=0,3 (условие x4-1<0 или 1-cos(x)==0) | |
х не удовлетворяет ОДЗ | х не удовлетворяет ОДЗ |