Выполнение общего задания.
Задача 1.
1. Постановка задачи: разработать алгоритм вычисления и вывода на экран значения a по формуле
Входные значения x, y вводятся с клавиатуры. Написать программу, реализующую разработанный алгоритм.
2. Математическая модель и описательный алгоритм задачи:
• ввести значения в переменные x, y;
• вычислить значение переменной a по заданной формуле без проверок введенных значений x, y, так как значение a(x,y) определено для любых значений аргументов;
• вывести полученное значение переменной a.
3. Блок-схема алгоритма задачи:
4. Текст программы – реализация алгоритма на языке Си:
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{
int x, y; // описание переменной целого типа
float a; // описание переменной вещественного типа
printf(“\n input x=”);
scanf(“%d”,&x);
printf(“\n input y=”);
scanf(“%d”,&y);
a=(sqrt(abs(x-1))-sqrt(abs(y)))/(1+(float)x*x/2+(float)y*y/4); // используется преобразование типов для представления целых значений x, y в форме с плавающей точкой
printf(“\n output a=%f“,a);
getch();
|
|
return 0;
}
5. Тестирование:
Теоретически рассчитанное выходное значение | Практически полученное выходное значение |
Тест 1: входные данные: x=1, y=-1 | |
a≈-0,5714 | a=-0.571429 |
Тест 2: входные данные: x=-2, y=1 | |
a≈0,2252 | a=0.225246 |
Задача 2.
1. Постановка задачи: разработать вычисления и вывода на экран значений функций y = f1(x) и z = f2(y,a,b) для входных данных x, a, b рабочего набора. Значения рабочего набора, для которых обе функции определены, вводятся с клавиатуры. Написать программу, реализующую разработанный алгоритм.
№ | Функция y = f1(x) | Функция z = f2(y,a,b) | Рабочий набор | ||
x | a | b | |||
0,2 | 2 | 12 |
2. Математическая модель и описательный алгоритм задачи:
• ввести значения рабочего набора в переменные x, a, b;
• вычислить значение переменной у по формуле ;
• формулу вычисления значения переменной можно упростить, для чего использовать вспомогательную переменную c=sin2(a∙(2∙y2+1));
• вычислить значение переменной z через переменную c по формуле ;
• вывести полученные значения переменных у, z.
3. Блок-схема алгоритма задачи:
4. Текст программы:
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{
float x, a, b, y, c, z; // описание переменных вещественного типа
printf(“\n input x=”);
scanf(“%f”,&x);
printf(“\n input a, b:”);
scanf(“%f%f”,&a,&b);
y=(fabs(log10(x))+5)/(x+4);
c=pow(sin(a*(2*y*y+1)),2);
z=(c+29*b)/(c+b);
printf(“\n output у=%f\tz=%f“,y,z);
getch();
return 0;
}
5. Тестирование:
Теоретически рассчитанные выходные значения | Практически полученное выходное значение |
Для рабочего набора входных данных: x=0,2, a=2, b=12 | |
у≈1,3569; z≈28,991594 | y=1,356898; z=28,991587 |