Как решать уравнения в си

Решение линейного уравнения

Решение уравнения на Си.Программа на си должна решать линейное уравнение

Задается линейное уравнение ax=b. Задаются параметры уравнения a и b. Программа определяет, есть ли решение уранвения, если решение есть,то оно выводится на экран.При написании программы полезными будет уроки Ввод данных с клавиатуры в Си и Логические операции в Си Описание алгоритма решения линейного уравнения на Си. В начале программы с клавиатуры задаются значения параметров уравнения a и b.
В уравнении ax=b необходимо проанализировать все возможные варианты.
Если a=0 и b=0, то решение уравнения это любое действительное число
Если a=0 b и b≠0,т уравнения не имеет решений
Если a≠0,то решение уравнения рассчитывается по формуле x=b/a
Чтобы проверить выполнение двух условий одновременно, необходимо использовать логическую функцию И. В Си он задается с помощью &&.

Возможный вариант реализации программа на си решение линейного уравнения
#include
#include
#include

На заметку.
1.Чтобы вывести вещественное число на экран без лишних нулей используется %g
printf («Ищем решение уравнения %gx=%g «, a,b);
2.Чтобы задать условие равенства 0 используется ==. Например условие a=0 задается в Си a==0. Чтобы задать условие не равенства 0 используется логическое отрицание, которое задается знаком ! Например b≠0 задается в Си !(b==0)
Задания для самостоятельной работы:
1.Решение квадратного уравнения. Задается уравнение ax^2+bx+c=0. Задаются параметры a и b и c с клавиатуры. Определяется дискриминант. Если решения есть , то выводятся на экран, если решения нет то сообщается об этом.
В этой программе необходимо вычислить дискриминант d=b*b-4*a*c
Если d 0, то два решения x1=(-b+sqrt(d))/2a и x2 =(-b-sqrt(d))/2a

Возможный вариант реализации программа на си решение квадратного уравнения

#include
#include
#include
#include

main()
<
float a; // коэффициент при x^2
float b; // коэффицент при x
float c;// свободный член
float d;// переменная для дискрименанта

float x1;// переменная для первого корня
float x2;// перменная для второго корня

// ввод коэффициентов уравнения

printf («Введите коэффициент a\n»);
scanf(«%f», &a);
printf («Введите коэффициент b\n»);
scanf(«%f», &b);
printf («Введите свободный член с\n»);
scanf(«%f», &c);
printf («Ищем решение уравнения %gx^2+%gx+%g=0\n», a,b,c);
// расчет дискрименанта
d=b*b-4*a*c;

// анализ дискрименанта
if (d

if (d>0)
<
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf («Уравнение имеет два корня\n»);
printf(«x1=%g\n»,x1);
printf(«x2=%g\n»,x2);

Полезно почитать по теме условия в си

Стандартные математические функции в языке Си

Пожалуйста, приостановите работу AdBlock на этом сайте.

Математические вычисления не ограничиваются лишь арифметическими действиями. Кроме них, можно ещё встретить корни, модули, логарифмы, тригонометрические функции и пр. Научимся же использовать подобные функции в своих программах.

Для использования математических функций нужно подключить заголовочный файл math.h . В ней определено много различных функций, но мы пока рассмотрим следующие:

Некоторые математические функции

fabs(x) модуль числа x
sqrt(x) квадратный корень из числа x
sin(x) синус числа x (х в радианах)
cos(x) косинус числа x (х в радианах)
pow(x, y) вычисление x y
exp(x) вычисление e x
log(x) натуральный логарифм числа x
log10(x) десятичный логарифм числа x

Два важных момента.

  • Все функции возвращают значение типа double .
  • Параметры функций – вещественные числа( double ), но можно передавать и целые числа. При этом произойдёт неявное преобразование типа . Компилятор из целого числа, например 3, сделает вещественное 3.0.

Примеры.
Даны длины катетов прямоугольного треугольника. Вычислить длину гипотенузы. Простая задачка на знание теоремы Пифагора.

Вычислить синус угла ввёденного с клавиатуры. Угол вводится в градусах.

В этой программе есть о чём поговорить. Тригонометрические функции, которые определены в math.h работают с радианной мерой угла. Людям же привычнее работать с градусами. Поэтому в данной программе мы предварительно перевели значение из градусов в радианы. Если этого не сделать, результат получится неправильным. Проверьте это самостоятельно.

Неявное преобразование типов

При явном преобразовании типа мы в скобках перед значением указывали тип, к которому нужно привести данное значение. В неявном преобразовании этого делать не нужно. Компилятор автоматически подберёт необходимый тип.

Неявное преобразование типов осуществляется в следующих случаях:

  1. перед передачей аргументов в функцию (как в нашем примере с корнем. Листинг 1.)
  2. выполнение арифметических операций с разными типами аргументов
  3. перед выполнением присваивания

Правила неявного преобразования типов

  • если выполняются арифметические операции с разными типами аргументов. Оба аргумента приводятся к большему типу.
    Порядок типов: int float double
  • при присваивании. Значение справа от оператора присваивания приводится к типу переменной слева от оператора присваивания. При этом, если больший тип присваивается меньшему, то может произойти потеря точности.

int+float будет автоматически преобразовано к float+float
float/int будет автоматически преобразовано к float/float
double*float будет преобразовано к double*double
int = double double будет преобразовано к int с потерей дробной части
float = int int будет преобразовано к float

Практика

Решите предложенные задачи:

Для удобства работы сразу переходите в полноэкранный режим

Программирование на C, C# и Java

Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы

ОСТОРОЖНО МОШЕННИКИ! В последнее время в социальных сетях участились случаи предложения помощи в написании программ от лиц, прикрывающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в посторонних группах ВК. Для связи с нами используйте исключительно эти контакты: vscoderu@yandex.ru, https://vk.com/vscode

Решение квадратного уравнения на С# в Windows Forms.

Сегодня мы напишем программу, которая выведет нам решение квадратного уравнения на С#. Сделаем мы всё это в Windows Forms. В программе мы найдём дискриминант и оба корня.

Для создания программы нам понадобится знание начальной школы и трёх формул.

Формула нахождения дискриминанта:

Формула нахождения корней выражения, если дискриминант больше нуля:

И формула нахождения одного корня выражения, если дискриминант равен нулю:

Ну и, пожалуй, стоит вспомнить сам вид квадратного выражения:

Теперь пора приступать к программе.

Для начала создаём незамысловатую форму под наши нужды:

Здесь у нас 3 TextBox’a, 2 Label’a и 1 кнопка Button. Выводить решение мы будем в отдельном MessageBox’е.

Приступаем к коду. Дважды щёлкаем на Button и в открывшемся участке кода начинаем писать.

Сначала объявляем переменные, которым будут присвоены значения,введённые пользователем в TextBox’ы:


источники:

http://youngcoder.ru/lessons/4/math_function.php

http://vscode.ru/prog-lessons/reshenie-kvadratnogo-uravneniya-na-s-sharp-windows-forms.html