Sesión 04

Algoritmos y Diagramas Vectoriales

Taller: LaTeX Hands-on

Nivel Avanzado

Pseudocódigo Profesional • Gráficos con TikZ

Pseudocódigo Profesional

En ingeniería, el código debe ser legible y estructurado. Usamos algorithm2e.


                            \usepackage[ruled,vlined]{algorithm2e} % Preámbulo

                            \begin{algorithm}[H]
                                \SetAlgoLined
                                \KwData{Entrada $x$}
                                \KwResult{Salida $y = x^2$}
                                \If{$x > 0$}{
                                    $y \leftarrow x \times x$\;
                                }
                                \caption{Algoritmo de Potencia Simple}
                            \end{algorithm}
                        

Componentes de algorithm2e

  • \KwData / \KwResult: Entradas y Salidas.
  • \;: Obligatorio para terminar cada línea.
  • \If{cond}{bloque}: Estructuras de control.
  • Opciones: ruled (líneas estéticas), vlined (guías verticales).

Introducción a TikZ

"TikZ ist kein Zeichenprogramm" (TikZ no es un programa de dibujo). Es código que genera gráficos.


                                \usepackage{tikz}
                                \begin{tikzpicture}
                                    \draw[red, thick] (0,0) -- (2,2);
                                    \draw[blue] (1,1) circle (0.5cm);
                                \end{tikzpicture}
                            

Nodos y Coordenadas

TikZ funciona uniendo "nodos" (bloques de texto) con flechas.


                            \begin{tikzpicture}
                                \node[draw, rectangle] (A) at (0,0) {Entrada};
                                \node[draw, circle] (B) at (3,0) {Proceso};
                                \draw[->] (A) -- (B);
                            \end{tikzpicture}
                        
Entrada Proceso

Diagramas de Bloques

Estilo profesional para sistemas de control e ingeniería.


                        \tikzstyle{block} = [draw, fill=blue!20, rectangle, minimum height=3em, minimum width=6em]
                        \tikzstyle{input} = [coordinate]
                        
                        \begin{tikzpicture}[auto, node distance=2cm]
                            \node [input] (in) {};
                            \node [block, right of=in] (system) {Planta $G(s)$};
                            \draw [->] (in) -- node {u(t)} (system);
                        \end{tikzpicture}
                    
Tip: Define estilos (\tikzstyle) al inicio para mantener la consistencia en todo el diagrama.

Librerías Especializadas

CircuiTikZ

Para diagramas eléctricos (resistencias, diodos, fuentes).

PGFPlots

Para gráficas de funciones y datos experimentales desde archivos .csv.


                        \usepackage[american]{circuitikz}
                        \begin{circuitikz}
                            \draw (0,0) to[R=$R_1$] (2,0);
                        \end{circuitikz}
                    

Laboratorio Final

Reto Técnico:

  1. Escribe un algoritmo de ordenamiento simple usando algorithm2e.
  2. Dibuja un diagrama de flujo de 3 pasos (Inicio -> Proceso -> Fin) usando TikZ.
  3. Extra: Intenta cambiar los colores de relleno (fill) de los nodos.

Herramienta recomendada: TikZit o Mathcha.io para exportar código TikZ visualmente.