diff options
| author | Juan Marín Noguera <juan.marinn@um.es> | 2020-02-20 13:15:34 +0100 |
|---|---|---|
| committer | Juan Marín Noguera <juan.marinn@um.es> | 2020-02-20 13:15:34 +0100 |
| commit | 29eb708670963c0ca5bd315c83a3cec8dafef1a7 (patch) | |
| tree | 1a53fce36c4ef876bd73b98fff88e79cc4377803 /ip/n3.lyx | |
Commit inicial, primer cuatrimestre.
Diffstat (limited to 'ip/n3.lyx')
| -rw-r--r-- | ip/n3.lyx | 1300 |
1 files changed, 1300 insertions, 0 deletions
diff --git a/ip/n3.lyx b/ip/n3.lyx new file mode 100644 index 0000000..d15221e --- /dev/null +++ b/ip/n3.lyx @@ -0,0 +1,1300 @@ +#LyX 2.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 544 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass book +\use_default_options true +\maintain_unincluded_children false +\language spanish +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\use_microtype false +\use_dash_ligatures true +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\spacing single +\use_hyperref false +\papersize default +\use_geometry false +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\use_minted 0 +\index Index +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\is_math_indent 0 +\math_numbering_side default +\quotes_style swiss +\dynamic_quotes 0 +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard +Una +\series bold +secuencia +\series default + es un conjunto ordenado de valores. + Se expresa como +\begin_inset Formula $[a_{1},\dots,a_{n}]$ +\end_inset + +. + La función +\begin_inset Quotes cld +\end_inset + + +\begin_inset Formula $long(S)$ +\end_inset + + +\begin_inset Quotes crd +\end_inset + + devuelve la longitud de la secuencia +\begin_inset Formula $S$ +\end_inset + +. + Si +\begin_inset Formula $S=[a_{1},\dots,a_{n}]$ +\end_inset + + y +\begin_inset Formula $S'=[b_{1},\dots,b_{m}]$ +\end_inset + + y +\begin_inset Formula $e$ +\end_inset + + es un elemento, definimos conceptualmente las siguientes operaciones: +\end_layout + +\begin_layout Itemize + +\series bold +Añadir un elemento: +\series default + +\begin_inset Formula $S\bullet e=[a_{1},\dots,a_{n},e]$ +\end_inset + +; +\begin_inset Formula $e\circ S=[e,a_{1},\dots,a_{n}]$ +\end_inset + +. +\end_layout + +\begin_layout Itemize + +\series bold +Concatenar secuencias: +\series default + +\begin_inset Formula $S\&S'=[a_{1},\dots,a_{n},b_{1},\dots,b_{m}]$ +\end_inset + +. +\end_layout + +\begin_layout Itemize +\begin_inset Formula $primero(S)=a_{1}$ +\end_inset + +; +\begin_inset Formula $último(S)=a_{n}$ +\end_inset + +. +\end_layout + +\begin_layout Itemize + +\series bold +Sucesor: +\series default + +\begin_inset Formula $sucesor(S,i)=S_{i+1}$ +\end_inset + +. +\end_layout + +\begin_layout Itemize + +\series bold +Cola +\series default + y +\series bold +cabeza: +\series default + +\begin_inset Formula $cola(S)=[S_{2},\dots,S_{n}]$ +\end_inset + +; +\begin_inset Formula $cabeza(S)=[S_{1},\dots,S_{n-1}]$ +\end_inset + +. +\end_layout + +\begin_layout Itemize + +\series bold +¿Vacía? +\series default +: +\begin_inset Formula $esvacía(S)=\begin{cases} +\text{Verdadero} & S=[]\\ +\text{Falso} & S\neq[] +\end{cases}$ +\end_inset + + +\end_layout + +\begin_layout Subsection +Primer modelo +\end_layout + +\begin_layout Standard +\align center +\begin_inset Tabular +<lyxtabular version="3" rows="7" columns="4"> +<features tabularvalignment="middle"> +<column alignment="center" valignment="top"> +<column alignment="center" valignment="top"> +<column alignment="center" valignment="top"> +<column alignment="center" valignment="top"> +<row> +<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +E. + inicial +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +E. + final +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Efecto +\end_layout + +\end_inset +</cell> +</row> +<row> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Comenzar(S) +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Marcada/Consulta +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Consulta +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Comienza desde el principio. +\end_layout + +\end_inset +</cell> +</row> +<row> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Avanzar(S) +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Consulta +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Consulta +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Avanza un elemento. +\end_layout + +\end_inset +</cell> +</row> +<row> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +EA(S) +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Consulta +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Consulta +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Obtiene el elemento actual. +\end_layout + +\end_inset +</cell> +</row> +<row> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Crear(S) +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Cualquiera +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Creación +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Crea una secuencia vacía. +\end_layout + +\end_inset +</cell> +</row> +<row> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Registrar(S,e) +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Creación +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Creación +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Añade un elemento. +\end_layout + +\end_inset +</cell> +</row> +<row> +<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Marcar(S) +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Creación +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Marcada +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Añade una marca de fin de secuencia. +\end_layout + +\end_inset +</cell> +</row> +</lyxtabular> + +\end_inset + + +\end_layout + +\begin_layout Standard +Por defecto una secuencia no está en ningún estado, por lo que solo podemos + usar Crear(S). + En Pascal, estas operaciones se encuentran en los archivos +\family typewriter +unitmse1 +\family default +, +\family typewriter +unitmsc1 +\family default + y +\family typewriter +unitmsr1 +\family default + para enteros, caracteres y reales. + Debemos añadir el código justo después de la línea con el nombre del programa, + con el nombre del archivo correspondiente: +\end_layout + +\begin_layout Standard +\begin_inset Box Boxed +position "t" +hor_pos "c" +has_inner_box 1 +inner_pos "t" +use_parbox 0 +use_makebox 0 +width "100col%" +special "none" +height "1in" +height_special "totalheight" +thickness "0.4pt" +separation "3pt" +shadowsize "4pt" +framecolor "black" +backgroundcolor "none" +status open + +\begin_layout Plain Layout + +\family typewriter +uses +\end_layout + +\begin_layout Plain Layout + +\family typewriter +\begin_inset space \hspace{} +\length 8ex +\end_inset + + +\emph on +unitms +\series bold +x +\series default +1 +\emph default +; +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +El tipo de dato es +\begin_inset Formula $MS_{x}1$ +\end_inset + + (siendo +\begin_inset Formula $_{x}$ +\end_inset + + una +\family typewriter +e +\family default +, +\family typewriter +c +\family default + o +\family typewriter +r +\family default +), y las funciones se denominan +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $Comenzar\_MS_{x}1$ +\end_inset + +, etc. + Además, se añaden +\begin_inset Formula $Encender\_Maquina\_MS_{x}1(S)$ +\end_inset + +, que debe ser llamada una y sólo una vez antes de cualquier otra operación + sobre la secuencia (el +\begin_inset Quotes cld +\end_inset + +constructor +\begin_inset Quotes crd +\end_inset + +) y +\begin_inset Formula $Cargar\_Fichero\_MS_{x}1(S,s)$ +\end_inset + +, donde +\begin_inset Formula $s$ +\end_inset + + es una cadena de caracteres (capítulo 5), y carga en la secuencia los datos + leídos del fichero indicado en +\begin_inset Formula $s$ +\end_inset + +. +\end_layout + +\begin_layout Subsection +Segundo modelo +\end_layout + +\begin_layout Standard +\align center +\begin_inset Tabular +<lyxtabular version="3" rows="8" columns="4"> +<features tabularvalignment="middle"> +<column alignment="center" valignment="top"> +<column alignment="center" valignment="top"> +<column alignment="center" valignment="top"> +<column alignment="center" valignment="top"> +<row> +<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +E. + inicial +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +E. + final +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Efecto +\end_layout + +\end_inset +</cell> +</row> +<row> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Iniciar(S) +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Cr./Inic./Cons. +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Consulta +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Comienza desde antes del +\begin_inset Formula $1^{er}$ +\end_inset + + elemento. +\end_layout + +\end_inset +</cell> +</row> +<row> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Avanzar(S) +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Iniciada/Cons. +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Consulta +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Avanza un elemento. + Error si EsÚltimo. +\end_layout + +\end_inset +</cell> +</row> +<row> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +EA(S) +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Consulta +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Consulta +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Obtiene el elemento actual. +\end_layout + +\end_inset +</cell> +</row> +<row> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +EsVacía(S) +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Cualquiera +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +(E. + inicial) +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Devuelve si la secuencia es vacía. +\end_layout + +\end_inset +</cell> +</row> +<row> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +EsÚltimo(S,e) +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Inic./Cons. +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +(E. + inicial) +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Devuelve si el elem. + actual es el último. +\end_layout + +\end_inset +</cell> +</row> +<row> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Crear(S) +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Cualquiera +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Creación +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Crea una secuencia vacía. +\end_layout + +\end_inset +</cell> +</row> +<row> +<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Registrar(S) +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Creación +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Creación +\end_layout + +\end_inset +</cell> +<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Añade un elemento a la secuencia. +\end_layout + +\end_inset +</cell> +</row> +</lyxtabular> + +\end_inset + + +\end_layout + +\begin_layout Standard +Estas secuencias son similares a las del primer modelo, y en Pascal se usan + igual, pero no tienen marca de fin y empiezan antes del primer elemento. +\end_layout + +\begin_layout Section +Composición iterativa +\end_layout + +\begin_layout Standard +Las iteraciones tienen un +\series bold +invariante +\series default + (INV), que se cumple tras cada ciclo y es un subconjunto de la post-condición, + además de tener una +\series bold +precondición +\series default + (PRE) y una +\series bold +postcondición +\series default + (POST). +\end_layout + +\begin_layout Standard +\align center +\begin_inset Tabular +<lyxtabular version="3" rows="4" columns="2"> +<features tabularvalignment="middle"> +<column alignment="left" valignment="top" width="50text%"> +<column alignment="left" valignment="top" width="40text%"> +<row> +<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Lenguaje algorítmico +\end_layout + +\end_inset +</cell> +<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout +Pascal +\end_layout + +\end_inset +</cell> +</row> +<row> +<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout + +\series bold +MIENTRAS +\series default + +\begin_inset Formula $c$ +\end_inset + + +\series bold +HACER +\end_layout + +\begin_layout Plain Layout + +\family typewriter +\begin_inset space \hspace{} +\length 8ex +\end_inset + + +\begin_inset Formula $e$ +\end_inset + + +\end_layout + +\begin_layout Plain Layout + +\series bold +FIN_MIENTRAS +\end_layout + +\end_inset +</cell> +<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout + +\family typewriter +while +\begin_inset Formula $c$ +\end_inset + + do +\end_layout + +\begin_layout Plain Layout + +\family typewriter +\begin_inset space \hspace{} +\length 8ex +\end_inset + + +\begin_inset Formula $e$ +\end_inset + + +\end_layout + +\end_inset +</cell> +</row> +<row> +<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout + +\series bold +REPETIR +\end_layout + +\begin_layout Plain Layout + +\family typewriter +\begin_inset space \hspace{} +\length 8ex +\end_inset + + +\begin_inset Formula $s$ +\end_inset + + +\end_layout + +\begin_layout Plain Layout + +\series bold +HASTA_QUE +\series default + +\begin_inset Formula $c$ +\end_inset + + +\end_layout + +\end_inset +</cell> +<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout + +\family typewriter +repeat +\end_layout + +\begin_layout Plain Layout + +\family typewriter +\begin_inset space \hspace{} +\length 8ex +\end_inset + + +\begin_inset Formula $s$ +\end_inset + + +\family default + (no es necesario +\family typewriter +begin +\family default +.. +\family typewriter +end +\family default +). +\end_layout + +\begin_layout Plain Layout + +\family typewriter +until +\begin_inset Formula $c$ +\end_inset + + +\end_layout + +\end_inset +</cell> +</row> +<row> +<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout + +\series bold +ITERAR +\end_layout + +\begin_layout Plain Layout + +\family typewriter +\begin_inset space \hspace{} +\length 8ex +\end_inset + + +\begin_inset Formula $s_{1}$ +\end_inset + + +\end_layout + +\begin_layout Plain Layout + +\series bold +DETENER +\series default + +\begin_inset Formula $c$ +\end_inset + + +\end_layout + +\begin_layout Plain Layout + +\family typewriter +\begin_inset space \hspace{} +\length 8ex +\end_inset + + +\begin_inset Formula $s_{2}$ +\end_inset + + +\end_layout + +\begin_layout Plain Layout + +\series bold +FIN_ITERAR +\end_layout + +\end_inset +</cell> +<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none"> +\begin_inset Text + +\begin_layout Plain Layout + +\family typewriter +repeat +\end_layout + +\begin_layout Plain Layout + +\family typewriter +\begin_inset space \hspace{} +\length 8ex +\end_inset + + +\begin_inset Formula $s_{1}$ +\end_inset + +; +\end_layout + +\begin_layout Plain Layout + +\family typewriter +if +\begin_inset Formula $c$ +\end_inset + + then break; +\end_layout + +\begin_layout Plain Layout + +\family typewriter +\begin_inset space \hspace{} +\length 8ex +\end_inset + + +\begin_inset Formula $s_{2}$ +\end_inset + +; +\end_layout + +\begin_layout Plain Layout + +\family typewriter +until false +\end_layout + +\end_inset +</cell> +</row> +</lyxtabular> + +\end_inset + + +\end_layout + +\begin_layout Standard +En exámenes y prácticas, no podemos utilizar +\family typewriter +break +\family default + salvo en este caso. +\end_layout + +\begin_layout Standard +Cualquier composición iterativa se puede expresar en términos de cualquier + otra, pero hay que saber elegir la más apropiada en cada caso. +\end_layout + +\end_body +\end_document |
