Как решить уравнение в c
Перейти к содержимому

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

  • автор:

Вывод уравнения прямой

Найти уравнение прямой, проходящей через две заданные пользователем точки координатной плоскости.

Уравнение любой прямой имеет вид y = kx + b. Если известны две пары (x; y), то получают систему уравнений относительно коэффициентов k и b:

#include int main() < float x1, y1; float x2, y2; float k, b; printf("A(x1; y1): "); scanf("%f%f", &x1, &y1); printf("A(x2; y2): "); scanf("%f%f", &x2, &y2); k = (y1 - y2) / (x1 - x2); b = y2 - k * x2; printf("y = %.2fx + %.2f\n", k, b); >

Пример выполнения кода:

A(x1; y1): 4.2 -4.8 A(x2; y2): 1.42 9 y = -4.96x + 16.05

X Скрыть Наверх

Решение задач на языке C

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

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

Задается линейное уравнение 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 Если d=0, то одно решение x=-b/2*a
Если d>0, то два решения x1=(-b+sqrt(d))/2a и x2 =(-b-sqrt(d))/2a

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

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>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);

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

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

Сдвиг на 8, это деление на 256, а не 64. Не хватает скобок. d ни на что не делится в формуле, а у вас есть d с правым сдвигом.

Пишите язык программирования — это форум программистов , а не экстрасенсов. (<= это подпись ) Высокая репутация СуперМодератор Регистрация: 27.07.2008 Сообщений: 16,206 Сообщение от Randy4k
x = (a << 5) + (a << 1) + (a << 3) + (a << 1) + (c << 4)- (c >> 2) >> 8 — (b << 50) + (b << 8) - (b >> 2) + (d << 10) + (d << 6) + (d >> 3) — (c << 3) + (c << 3);
А это вообще зачем так? Препод требует, или кто-то прикололся, кто вам эту задачу делал?
Регистрация: 04.02.2011
Сообщений: 4,531

Уж сколько раз твердили миру: здесь не «решить уравнение», а «вычислить выражение» . Решить уравнение
f(x) = 0 — это найти такое значение x, при котором выражение обращается в тождество 0=0 .
3x-12 = 0;
x = 12/3 = 4.
Алгебра, 4-й класс (или теперь, может, уже 2-й?)
А что, кроме сдвигов этот автомат Тьюринга ничего не умеет? Банальное умножение/деление уже вне закона?

Последний раз редактировалось digitalis; 02.12.2020 в 21:15 .
Регистрация: 13.07.2012
Сообщений: 6,493
Сообщение от digitalis
Банальное умножение/деление уже вне закона?
Оно медленней сдвига
Регистрация: 04.02.2011
Сообщений: 4,531

При (современном развитии печатного дела на Западе ©) современных скоростях процессоров выиграть несколько микросекунд — такие пустяки, за которые нет и речи. Кстати, не факт, что умный компилятор не заменит деление на 256 сдвигами. Или даже SWAP

Последний раз редактировалось digitalis; 03.12.2020 в 17:17 .
Регистрация: 13.07.2012
Сообщений: 6,493
Сообщение от digitalis
умный компилятор
Так я поэтому смайлик и поставил на конце.
Форумчанин
Регистрация: 11.10.2019
Сообщений: 939
Сообщение от Randy4k
Может где-то есть ошибка

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

Алексей1153
Посмотреть профиль
Найти ещё сообщения от Алексей1153

Регистрация: 04.02.2011
Сообщений: 4,531

Ну а ежели ему в задании такое дали? Задания для стьюдней иногда поражают своей нелогичностью и вычурностью. «Вот это и это — не использовать. Забивать гол только пяткой левой ноги»

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача вычисления уравнения с использованием сопроцессора. Помогите решить.. snapsik Assembler — Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 18 02.01.2019 21:42
Маткад решить уравнения варинт№2 задание 2.1 и 2.2 Пророк 79 Помощь студентам 1 21.04.2017 21:16
Mathcad Решить дифференциальные уравнения и построить график. Kuboslav12 Фриланс 1 22.03.2017 18:41
решить нелинейное уравнение методом секущих (хорд). Нелинейные уравнения (Lazarus) Loonas Lazarus, Free Pascal, CodeTyphon 2 24.04.2014 21:45
Решить систему уравнения методом Гаусса,применяя схему единственного деления Капризуля Помощь студентам 1 04.06.2013 15:15

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

В режиме EQN можно использовать следующий порядок действий для решения систем линейных уравнений с двумя или тремя неизвестными, а также уравнений второй и третьей степени.

1. Нажмите клавиши (EQN) для входа в режим EQN.

2. В открывшемся меню выберите тип уравнения.

Чтобы выбрать данный тип вычисления: Нажмите эту клавишу:
Система линейных уравнений с двумя неизвестными (a n X + b n Y = c n )
Система линейных уравнений с тремя неизвестными (a n X + b n Y + c n Z = d n )
Уравнение второй степени (aX 2 + bX + c = 0)
Уравнение третьей степени (aX 3 + bX 2 + cX + d = 0)

3. Для ввода значений коэффициентов используйте открывшееся окно редактора коэффициентов.

Например, для решения уравнения 2x 2 + x — 3 = 0 нажмите клавишу на этапе 2, а затем введите следующие значения коэффициентов (a = 2, b = 1, c = -3): 213.

Для изменения уже введенного значения коэффициента переместите курсор в соответствующую ячейку, введите новое значение и нажмите .

Нажатие клавиши приводит к обнулению всех коэффициентов.

Важно!

Следующие операции не поддерживаются редактором коэффициентов: , (M-), (STO). Pol, Rec и многооператорные вычисления также не могут быть введены с использованием редактора коэффициентов.

4. После завершения установки всех необходимых значений нажмите клавишу .

Это приведет к выводу отображения решения. При каждом нажатии клавиши будет отображаться новое решение. Нажатие клавиши во время отображения последнего решения осуществляет возврат в редактор коэффициентов.

Существует возможность прокрутки решений с использованием клавиш и .

Для возврата в редактор коэффициентов при отображении решения на дисплее нажмите клавишу .

Примечание

Даже в случае выбора естественного отображения чисел решения для систем линейных уравнений не отображаются в любом из форматов, который содержит √ .

Значения невозможно преобразовать в инженерное обозначение на экране решения.

Изменение текущей настройки типа уравнения

Нажмите клавиши (EQN), а затем выберите тип уравнения из появившегося меню. Изменение типа текущего уравнения приведет к обнулению значений всех коэффициентов в редакторе коэффициентов.

Примеры вычислений в режиме EQN

Пример 1. x + 2y = 3, 2x + 3y = 4

  • (EQN)(a n X + b n Y = c n )
    123
    234
  • (X=) -1
  • (Y=) 2

Пример 2. xy + z = 2, x + yz = 0, —x + y + z = 4

  • (EQN)(a n X + b n Y + c n Z = d n )
    1112
    1110
    1114
  • (X=) 1
  • (Y=) 2
  • (Z=) 3

Пример 3. x 2 + x + 3 4 = 0 (MthIO-MathO)

  • (EQN)(aX 2 + bX + c = 0)
    1134
  • (X 1 =) — 1 2 + √ 2 2i
  • (X 2 =) — 1 2 — √ 2 2i

Пример 4. x 2 — 2√ 2 x + 2 = 0 (MthIO-MathO)

  • (EQN)(aX 2 + bX + c = 0)
    1222
  • (X=) √ 2

Пример 5. x 3 — 2x 2 — x + 2 = 0

  • (EQN)(aX 3 + bX 2 + cX + d = 0)
    1212
  • (X 1 =) -1
  • (X 2 =) 2
  • (X 3 =) 1

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *