Vous êtes sur la page 1sur 7

Esquema de Rufini

Javier Serrano

Primavera de 2011

1. Introducción
A la hora de escribir las resoluciones de algunos ejercicios o apuntes de
clase, es frecuente encontrarse con la necesidad de escribir una división entre
polinomios realizada por el famoso método de Ruffini. Presentamos aquı́ una
serie de comandos que facilitarán en grado sumo la tarea del profesor en este
aspecto.
Para el uso de estos comandos sólo es necesario tener cargado en el
preámbulo el paquete pstricks y tener copiado el código que aparece en la
Sección Implementación.

2. El comando Ruffini
Este comando abre un entorno pspicture y dibuja los coeficientes de la
división. La sintaxis del comando es la siguiente:

\Ruffini(an)(an−1 )· · · (a0 )[a]

donde an , an−1 , · · · , a0 son los coeficientes del polinomio dividendo y a


es el opuesto del término independiente del polinomio divisor, es decir, el
comando hará la siguiente división:

(an xn + an−1 xn−1 + · · · + a1 x + a0 ) : (x − a)

Cada coeficiente del dividendo ha de escribirse entre paréntesis y el


término a entre corchetes. Todos estos números han de ser números ente-
ros. Por ejemplo, el código de la derecha produce el esquema de la izquierda:

\Ruffini(1)(-3)(3)(1)[1]
1 −3 3 1

1 1 −2 1

1 −2 1 2

1
Manual de Esquema de Ruffini Javier Serrano

Como se observa en el ejemplo anterior, el comando \Ruffini no sólo


coloca los coeficientes en su lugar. Además realiza la división y separa el
resto del cociente mediante medio rectángulo, lo que sin duda será de gran
ayuda para muchos profesores.

3. Cambiando la presentación
La presentación del esquema de la división de Ruffini esta sujeta al valor
de determinadas magnitudes que el usuario puede cambiar a su gusto. Para
realizar estos cambios se debe tener en cuenta que el origen de coorde-
nadas del dibujo se encuentra situado en el punto de corte de las lı́neas
vertical y horizontal.
Los cambios posibles se realizan modificando el valor de las siguientes lon-
gitudes (hay que asignarles un valor, por tanto, seguido de una unidad). Para
modificar cualquiera de ellas hay que escribir antes del comando el nombre
de la longitud, un signo igual y el nuevo valor. Por ejemplo: \Xdivisor=1cm.

\Xdivisor e \Ydivisor. Son las coordenadas del punto donde se si-


tuará el valor a.

\Ydividendo. Es la altura de la fila que contiene los coeficientes del


dividendo. Existe también un \Xdividendo, pero debe cambiarse con
mucha atención. Corresponde al valor horizontal donde comienza la fila
del dividendo menos una cierta longitud llamada \sepnumeros que se
explicará más adelante.

\Ycociente. Es la altura de la segunda fila del esquema. El nom-


bre de cociente no es demasiado adecuado quizá. También existe un
\Xcociente al que le valen los mismos comentarios hechos más arriba.

\Yresto. Es la altura de la fila inferior del esquema. Tampoco este


nombre parece muy afortunado. Existe también un \Xresto para el
que siguen siendo válidas las precauciones dichas anteriormente.

\Alto. Es la altura sobre el origen de coordenadas de la lı́nea vertical


del esquema.

\prolongarabajo. Es la distancia por debajo del origen a la que em-


pieza a dibujarse la lı́nea vertical del esquema. Es decir, la lı́nea ver-
tical se dibuja desde el punto (0,-\prolongarabajo) hasta el punto
(0, \Alto).

\prolongarizquierda. Es la distancia a la izquierda del origen a la


que empieza a dibujarse la lı́nea horizontal del esquema. Es decir, la
lı́nea horizontal se dibuja desde el punto (-\prolongarizquierda,0)

2
Manual de Esquema de Ruffini Javier Serrano

hasta el punto (\Ancho, 0). El valor de \Ancho es calculado automática-


mente y depende del número de coeficientes del dividendo y de la
longitud \sepnumeros.

\sepnumeros. Es la separación entre los coeficientes de las tres lı́neas


del esquema.

\anchuraresto y \alturaresto. Se trata de las longitudes de las


lı́neas que separan el resto de la división del cociente.

Longitud Valor por defecto


\Xdivisor −.5cm
\Ydivisor .5cm
\Xdividendo −.5cm
\Ydividendo 1.5cm
\Xcociente −.5cm
\Ycociente .5cm
\Xresto −.5cm
\Yresto −.5cm
\Alto 2cm
\prolongarabajo 1cm
\prolongarizquierda 1cm
\sepnumeros 1cm
\anchuraresto 1cm
\alturaresto 1cm

4. Ejemplo
1 −3 3 1 \Xdivisor=-.25cm%
\Ydivisor=.25cm%
1 1 −2 1 \Ydividendo=1.2cm%
1 −2 1 2 \Ycociente=.25cm%
\Yresto=-.25cm%
\Alto=1.5cm%
\prolongarabajo=.25cm%
\prolongarizquierda=.25cm%
\sepnumeros=1.5cm%
\anchuraresto=.75cm%
\alturaresto=.5cm%

\Ruffini(1)(-3)(3)(1)[1]

3
Manual de Esquema de Ruffini Javier Serrano

5. Implementación
Para que esté el comando disponible tiene dos opciones:

Copie el código que aparece más abajo en el preámbulo de cualquier


documento .tex en el que vaya a usarlo.

Incluya el código en su documento de comandos habitual y luego (en el


preámbulo o el cuerpo) insértelo mediante inputdocumentocomandos.tex.

El código que hay que copiar es el siguiente:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% CONTADORES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\newcount\cociente
\newcount\resto
\newcount\dividendo
\newcount\divisor
\newcount\numterminos
\newcount\primertermino

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% VALORES INICALES DE CONTADORES %%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\numterminos=0
\primertermino=0

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% LONGITUDES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\newdimen\Xdivisor
\newdimen\Ydivisor
\newdimen\Xresto
\newdimen\Yresto
\newdimen\Xcociente
\newdimen\Ycociente
\newdimen\Xdividendo
\newdimen\Ydividendo
\newdimen\Ancho
\newdimen\Alto
\newdimen\prolongarizquierda

4
Manual de Esquema de Ruffini Javier Serrano

\newdimen\prolongarabajo
\newdimen\sepnumeros
\newdimen\comienzorayaresto
\newdimen\alturaresto
\newdimen\anchuraresto

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% VALORES INICALES DE LONGITUDES %%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\Xdivisor=-.5cm \Ydivisor=.5cm
\Xresto=-.5cm \Yresto=-.5cm
\Xcociente=-.5cm \Ycociente=.5cm
\Xdividendo=-.5cm \Ydividendo=1.5cm
\anchuraresto=1cm \alturaresto=1cm
\prolongarizquierda=1cm
\prolongarabajo=1cm
\Alto=2cm
\sepnumeros=1cm

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% COMANDOS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\def\rayavertical{%
\psline(0,-\prolongarabajo)(0,\Alto)}

\def\rayahorizontal{%
\Ancho=\sepnumeros
\multiply\Ancho by \numterminos
\psline(-\prolongarizquierda,0)%
(\Ancho,0)}

\def\rayaresto{%
\comienzorayaresto=\Ancho
\advance\comienzorayaresto by -\anchuraresto
\psline(\comienzorayaresto,0)%
(\comienzorayaresto,-\alturaresto)%
(\Ancho,-\alturaresto)}

\def\Ruffini(#1)[#2]{%
\contar(#1) \divisor=#2 \abredibujo
\rput(\Xdivisor,\Ydivisor){$\the\divisor$}

5
Manual de Esquema de Ruffini Javier Serrano

\rayavertical \rayahorizontal \primertermino=1


\pondividendo(#1)}

\def\contar(#1){%
\advance\numterminos by 1
\contarsiguiente}

\def\contarfin{}

\makeatletter
\def\contarsiguiente{%
\@ifnextchar ( {\contar}{\contarfin}%
}
\makeatother

\def\pondividendo(#1){%
\advance\Xdividendo by \sepnumeros
\advance\Xcociente by \sepnumeros
\dividendo=#1%
\advance\Xresto by \sepnumeros
\ifnum \primertermino=1 \resto=\dividendo%
\cociente=0 \primertermino=2%
\else%
\cociente=\resto \multiply\cociente by \divisor%
\resto=\dividendo \advance\resto by \cociente
\fi%
\rput(\Xdividendo,\Ydividendo){$\the\dividendo$}
\ifnum \primertermino=2 \primertermino=3
\else
\rput(\Xcociente,\Ycociente){$\the\cociente$}
\fi%
\rput(\Xresto,\Yresto){$\the\resto$}%
\dividendosiguiente}

\def\abredibujo{%
\begin{pspicture}%
(-\prolongarizquierda,-\prolongarabajo)(\Ancho,\Alto)}

\def\cierradibujo{%
\end{pspicture}}

\makeatletter
\def\dividendosiguiente{%
\@ifnextchar ( {\pondividendo}{\divisionfin}%

6
Manual de Esquema de Ruffini Javier Serrano

}
\makeatother

\def\divisionfin{%
\rayaresto \cierradibujo}

Vous aimerez peut-être aussi