Проверить, является ли введенное число является решением уравнения (составить блок-схему) - C (СИ)
Формулировка задачи:
Составить блок-схему
Проверить, является ли введенное число является решением уравнения {ax}^{4}+{bx}^{2}+cx=d
^ - степень
Перевірити, чи введене число є розв’язком рівняння {ax}^{4}+{bx}^{2}+cx=d
^ - степінь
Решение задачи: «Проверить, является ли введенное число является решением уравнения (составить блок-схему)»
textual
Листинг программы
#include <stdio.h> double a, b, c, d; double f(double x); int main() { char chStub = 0; int iChoise = 0; int iWork = 1; double x = 0; a = b = c = d = 1; while(iWork) { printf("1 - Enter a, b, c, d\n"); printf("2 - Enter value for check\n"); printf("0 - Exit\n"); printf("[Current values a b c d : %lf %lf %lf %lf]\n", a, b, c, d); printf("Your choise : "); if(!scanf("%d",&iChoise)) printf("Incorrect input\n"); else { switch(iChoise) { case 1: printf("a b c d : "); if(scanf("%lf%lf%lf%lf", &a, &b, &c, &d) < 4) printf("Incorrect input\n"); break; case 2: printf("x : "); if(!scanf("%lf", &x)) printf("Incorrect input\n"); else if(f(x) == 0) printf("%lf - is root of equation\n", x); else printf("%lf - is not root of equation\n", x); break; case 0: iWork = 0; break; default: printf("Unssupported key\n"); break; } } chStub = getchar(); while(chStub != '\n') chStub = getchar(); } return 0; } double f(double x) { return a*x*x*x*x + b*x*x + c*x - d; }
Объяснение кода листинга программы
- В начале программы объявлены переменные a, b, c, d типа double и функция f(double x).
- В функции main() после инициализации переменных, введен цикл while, который будет выполняться до тех пор, пока пользователь не введет 0 для выхода.
- Внутри цикла while выводится меню с вариантами выбора.
- При выборе 1, пользователю предлагается ввести значения a, b, c, d. Если ввод верный, то значения сохраняются в соответствующих переменных.
- При выборе 2, пользователю предлагается ввести значение x для проверки, является ли оно решением уравнения.
- Если ввод верный, то значение x передается в функцию f(double x), которая возвращает 0, если x является решением уравнения, и ненулевое значение в противном случае.
- При выборе 0, цикл while завершается.
- В функции f(double x) определена формула для вычисления значения функции f(x).
- В случае ошибки ввода, программа выводит сообщение об ошибке и просит ввести корректное значение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д