Ir al contenido principal

Algoritmos: Estructuras de control en pseudocódigo...

Como vimos anteriormente, el bloque de instrucciones es importante para nuestro algoritmo ya que a través del mismo lo resolveremos. Para ello, este bloque se valdrá de tres tipos de estructuras de control:

  • Estructura secuencial.
  • Estructuras selectivas.
  • Estructuras iterativas.

 Estructura secuencial:


En esta estructura las instrucciones se colocan ordenadas en forma secuencial, una debajo de la otra y se ejecutan en el orden en que están escritas, como ya vimos en el gráfico de la entrada anterior.

Estructuras de selección:


Dentro de este tipo de estructuras veremos 3 diferentes: si, si...sino, según.

SI (selección):


En esta estructura de selección, las instrucciones dependen de una condición para ejecutarse. El algoritmo analiza el resultado de dicha condición booleana (se cumple o no) y realiza la acción correspondiente a ese resultado. Si no se cumple la condición no hace nada.


SI...SINO (selección doble):



Esta estructura funciona de la misma manera que la selección tradicional, sólo que en caso de no cumplirse la condición realiza otra acción, correspondiente a la instrucción2.




SEGÚN (selección múltiple):




En la selección múltiple, se evalúa el valor de una variable (valor) y dependiendo del mismo, si corresponde a uno de los casos de nuestro según, ejecuta la acción correspondiente al mismo. En caso de no verificarse ningún caso, la estructura no hace nada, a menos que se agregue un caso para cuando esto ocurre.






Estructuras iterativas:


Este tipo de estructuras, nos permiten realizar iteraciones (repeticiones) de nuestras instrucciones, de manera que cada acción se realizará varias veces.

Sólo veremos las estructuras MIENTRASHACER  ya que las demás que suelen usarse son combinaciones o aplicaciones de ambas.


MIENTRAS:



Esta estructura es un bucle que realiza iteraciones de las instrucciones hasta que deje de cumplirse una cierta condición.



HACER:



Este bucle realiza las instrucciones un número n de veces, especificado por nosotros.




Una variante de esta estructura es el PARA:

También realiza un número determinado de iteraciones, pero definidos en un intervalo (desde valor inicial hasta valor final) y se indica cómo es el incremento de dicho valor.





Comentarios

Entradas populares de este blog

C: Conversiones de tipo (casting) en C...

El casting o simplemente cast  nos permite hacer una conversión explícita de un tipo de dato a otro, a criterio del programador siempre y cuando estos tipos sean compatibles. Este cast se realiza a través de un operador de conversión de tipos (type casting operator) y es un recurso a tener en cuenta ya que hay situaciones en que nos puede resultar de gran utilidad. Hacer uso de un cast es tan sencillo como poner (tipo de dato)  delante de la expresión o variable a convertir. Veamos un ejemplo: Declaramos una variable de tipo int con un identificador tan creativo como "a" y le realizamos diferentes cast a a para mostrarlo como si fuera un float, un double y un char en un printf. Lo que obtendríamos en pantalla sería lo siguiente: Donde tenemos el valor de nuestro a, a convertido en float y double (mostrándolo con 3 cifras decimales) y a convertido en char. Si vemos este último caso, al hacer la conversión de "a" a char toma a como el código ascii de...

C: Ejemplos: Congruencia de Zeller (nivel básico) ...

La Congruencia de Zeller es un algoritmo que se atribuye al matemático alemán Julius Christian Johannes Zeller que vivió en el siglo XIX. Este algoritmo nos permite determinar el día de la semana que le corresponde a una fecha determinada del calendario Gregoriano. La fórmula que nosotros usaremos (con algunas modificaciones respecto de la original para poder usarla en  informática) es la siguiente: Donde h es el día de la semana (entre 0 y 6), J es año/100 (la centuria) y K es año mod 100 (el año de la centuria). Y hay que tener en cuenta que los meses de enero y febrero cuentan como el mes 13 y 14 del año anterior. Ahora que tenemos la fórmula, programemos el algoritmo en C mediante el uso de una función: Analicemos el código paso a paso: Tenemos en cuenta el caso de enero y febrero: Dijimos que estos meses corresponden a los meses 13 y 14 del año anterior por lo que los asignamos como corresponde (mes + 12 , que dará 13 para enero y 14 para febrero) y le ...

Seguimos con lógica proposicional...

Anteriormente,  comenzamos  a explicar conceptos básicos del tema y analizar conectores lógicos a través de sus tablas de verdad. Entre esos conectores encontramos el condicional o implicación que denotamos de la forma:     p->q , donde p y q son proposiciones. Recordamos también que en  p->q  ,  p  recibe el nombre de "antecedente" y  q  de "consecuente". También se llama a  p  "hipótesis" y a  q  "tesis". Definida esta última, encontramos dos conceptos relacionados a ella: la recíproca y la contrarrecíproca. La  recíproca  de una implicación  p->q  se define como  q->p. Si comparamos la tabla de verdad de una implicación con su recíproca podemos ver que no es lo mismo decir  p->q  que decir  q->p  ya que no son expresiones  equivalentes , concepto que veremos más adelante. Mientras que la contrarrecíproca de una implicación  p->q  se d...