Sentencias
Sentencias
● Las sentencias son acciones algorítmicas que pueden ser ejecutadas. Hay dos tipos
principales de sentencias:
○ Sentencias simples
○ Sentencias estructuradas
Sentencias simples
● Una sentencia simple es una sentencia que no contiene ninguna otra sentencia.
Sentencia de asignación
● Asignación interna
○ Es utilizada para almacenar valores en variables.
Ejemplos:
a = 4; a toma el valor constante entero 4
b = a; b toma el valor de a
b=b+3 b toma el valor de b + 3
Sentencias de Procedimientos
● Una sentencia de procedimiento establece la activación del procedimiento indicado.
● Si la declaración del procedimiento correspondiente contiene una lista de parámetros
formales, -los parámetros listados en la definición- entonces la sentencia de
procedimiento debe tener una lista de parámetros actuales, -en la llamada a la
sentencia-.
● Los parámetros actuales son pasados a los parámetros formales como parte de la
llamada o invocación.
Deberá existir coincidencia de tipos entre el valor leído y el tipo de la variable. Una cadena
de caracteres o un carácter deberá ser ingresado sin apóstrofos.
Si el ingreso es desde un archivo también existe una espera, solo que en estos casos dicha
espera es menor, ya que el ingreso del dato se realiza electrónicamente y no requiere de la
intervención manual del usuario.
Se podrá escribir más de una variable separadas por comas.
1
La ventaja de la asignación externa de entrada con respecto a la asignación interna, es
que en distintas ejecuciones del programa podemos ingresar diferentes valores sin
modificar el código.
Sentencia condicional
● Selección simple
○ Decisión
2
si (<condicion>)
Inicio
<instruccion 1>
<instruccion 2>
<instruccion n>
Fin
sino
Inicio
<instruccion k+1>
<instruccion k+2>
<instruccion k+n>
Fin
Con este tipo de estructura es posible realizar cualquier grado de complejidad de
alternativas o decisiones o selecciones.
Es válido armar alternativas encadenadas o alternativas dentro de alternativas –en estos
casos se denominan selecciones anidadas-.
Selección múltiple
3
Repetición
mientras (<condicion>)
Inicio
<instruccion 1>
<instruccion 2>
<instruccion n>
Fin
Repetición pre-condición
Luego de ejecutarse la acción a en el punto de entrada
se evalúa la condición, si el resultado es verdadero se
ingresa al ciclo y ejecuta las acciones b, luego en el
punto de salida se vuelve otra vez a la cabecera para ser
evaluada nuevamente la condición, en caso que resulte
falsa se abandona el ciclo por el punto de salida y a
continuación se ejecuta la acción d.
Puede ocurrir que en el punto de entrada la condición
resulte falsa, en ese caso la acción b jamás será
ejecutada.
Hay que asegurar que si se ingresa al ciclo lograr que la
condición en algún momento se haga falsa, para poder
abandonar la estructura cíclica.
La condición podrá estar controlada por un contador, un
sumador, un valor centinela, un valor boolean, una
situación de fin de archivo, una condición compuesta,
entre otras.
Con este tipo de ciclo se pueden llevar a cabo cualquier
complejidad de situaciones que requieran el uso de una
estructura cíclica.
Es válido construir estructuras cíclicas anidadas o en
secuencia.
4
Para (<var1> = <ini> hasta <fin>)
Inicio
<instruccion 1>
<instruccion 2>
<instruccion n>
Fin
Una de las ventajas es que no se debe llevar la cuenta del contador, ya que lo gestiona la
propia estructura de control.
5
Repetición Exacta o Para descendente
Se abandona el ciclo una vez que var haya alcanzado al valor de la expresión final
ejecutándose la acción d.
Estando en el punto de entrada si el valor de la expresión inicial fuera menor al valor de
la expresión final directamente se busca el punto de salida y se ejecuta la acción d.
Este tipo de ciclo es de uso limitado, ya que solo sirve para valores de tipo ordinal.
Repetición post-condición
Cuando determinamos que hay que utilizar una estructura repetitiva, luego nos
planteamos cuál de ellas es la más adecuada, hay casos por ejemplo que aparentemente
en un primer momento creemos que es un ciclo exacto, entonces no dudamos y
utilizamos el ciclo exacto, pero luego vemos que en realidad no estamos obligados a
alcanzar la cantidad total de repeticiones debido a que existe una segunda condición que
nos hará abandonar el ciclo antes de haber alcanzo el final máximo, ahora nos damos
cuenta que el ciclo apropiado es un ciclo indefinido con dos condiciones, mientras no
hayamos encontrado un valor que estamos buscando y mientras no hayamos alcanzado la
cantidad de repeticiones máximas, si el valor no aparece.
En toda estructura de control condicional y repetitiva existen distintos momentos, un
momento previo al punto de entrada, un momento durante entre los puntos de entrada y
salida y un momento después del punto de salida.
6
Si la estructura es repetitiva indefinida el momento previo es el de preparar acciones
previas, inicializar variables, conocer primer dato; el momento durante es el de procesar
los datos y conocer próximo dato y el momento después es el de terminar, emitir,
cálculos a totales mayores, promedios, porcentajes, grabar, etc..
En cambio en una estructura repetitiva exacta, en el momento previo inicializamos
variables pero no conocemos primer dato, sino que en el momento durante, primero
conocemos dato y luego procesamos, y en el momento después realizamos las acciones
de terminar.
Cualquier variable que aparezca en la condición de un ciclo deberá tener un valor
previamente asignado en un momento anterior.
Lo mismo puede suceder con las alternativas simples y múltiples para determinar cuál
será la estructura condicional más conveniente bajo ciertas circunstancias.
Estas son tan solo algunas de las preguntas que nos debemos formular al momento de
resolver un problema computacional.
Como vemos la forma de combinar estas pocas estructuras de control de programa es lo
que nos da una gran diversidad de variantes, el esqueleto que formará nuestro algoritmo.
No obstante, la forma esquelética de nuestros algoritmos se determinará en base a otro
tipo de estructuras, las estructuras de datos, este será entonces nuestro primer paso, a
partir de allí, pensaremos como han de ser las estructuras de control de programa.
Finalmente decimos que las estructuras de control de programa está determinada
por las estructuras de datos.