如何根据参数的符号或参数本身来操作文本的一部分(自动计算二次函数解)

如何根据参数的符号或参数本身来操作文本的一部分(自动计算二次函数解)

我想为我的学生制作一份包含整个内容的完整解决方案表。

我的代码是这样的(根据我的问题的答案)如下:

    \documentclass{article}
\usepackage{pgfplots}
\newcommand{\TGFT}[3]{
% input variabelen
\pgfmathsetmacro{\a}{#1}
\pgfmathsetmacro{\b}{#2}
\pgfmathsetmacro{\c}{#3}
\pgfmathsetmacro{\D}{\b^2-4*\a*\c}
\pgfmathsetmacro{\XI}{(-\b+sqrt(\D))/(2*\a)}
\pgfmathsetmacro{\XII}{(-\b-sqrt(\D))/(2*\a)}
\pgfmathsetmacro{\P}{-\b/(2*\a)}
\pgfmathsetmacro{\Q}{(4*\a*\c-\b^2)/(4*\a)}
\begin{itemize}
    \item $D= \D$
    \item $x_1= \XI$
    \item $x_2= \XII$
    \item $f(x)=\a x\checksign{\b} x \checksign{\c}$
    \item $p=\P$
    \item $q=\Q$
    \item $f(x)=\a(x-\checksign{\XI})(x-\checksign{\XII})$
\end{itemize}
}

\newcommand\checksign[1]{\expandafter\checksignaux#1\relax\relax}
\def\checksignaux#1#2{\ifx-#1\relax#1#2\else+#1#2\fi}


\begin{document}
\begin{enumerate}
    \item \TGFT{1}{5}{6}
    \item \TGFT{2}{2}{-12}
\end{enumerate}
\end{document}

结果是:

在此处输入图片描述 我的问题是:

  • 我怎样才能做到这一点(练习 2)写出 f(x) =2x^2+2x-12 而不是 +-12
  • 我怎样才能以分数形式显示数字(如果可能的话)
  • 我怎样才能显示像 1 这样的数字而不是 1.0(所以没有多余的零,只有数字)

或者有更好的方法来实现这一目标?

答案1

正如我在后续评论中所说,我已经介绍过\showsign保留后续内容的当前符号或\switchsign将其反转。

\documentclass{article}
\usepackage{pgfplots}
\newcommand{\TGFT}[3]{
% input variabelen
\pgfmathsetmacro{\a}{#1}
\pgfmathsetmacro{\b}{#2}
\pgfmathsetmacro{\c}{#3}
\pgfmathsetmacro{\D}{\b^2-4*\a*\c}
\pgfmathsetmacro{\XI}{(-\b+sqrt(\D))/(2*\a)}
\pgfmathsetmacro{\XII}{(-\b-sqrt(\D))/(2*\a)}
\pgfmathsetmacro{\P}{-\b/(2*\a)}
\pgfmathsetmacro{\Q}{(4*\a*\c-\b^2)/(4*\a)}
\begin{itemize}
    \item $D= \D$
    \item $x_1= \XI$
    \item $x_2= \XII$
    \item $f(x)=\a x\showsign{\b} x \showsign{\c}$
    \item $p=\P$
    \item $q=\Q$
    \item $f(x)=\a(x \switchsign{\XI})(x \switchsign{\XII})$
\end{itemize}
}

\newcommand\showsign[1]{\expandafter\showsignaux#1\relax\relax}
\def\showsignaux#1#2{\ifx-#1\relax#1#2\else+#1#2\fi}
\newcommand\switchsign[1]{\expandafter\switchsignaux#1\relax\relax}
\def\switchsignaux#1#2{\ifx-#1\relax+#2\else-#1#2\fi}


\begin{document}
\begin{enumerate}
    \item \TGFT{1}{5}{6}
    \item \TGFT{2}{2}{-12}
\end{enumerate}
\end{document}

在此处输入图片描述

相关内容