You are on page 1of 27

Introduccin a la programacin

Unidad 2

Programacin estructurada

La programacin estructurada es un conjunto de tcnicas para desarrollar algoritmos fciles de escribir, verificar, leer y modificar.

Teorema de Bhm y Jacopini


TEOREMA DE BHM Y JACOPINI Para que la programacin sea estructurada, los programas han de ser propios.

Un programa se define como propio si se cumple que:


Tiene un solo punto de entrada y uno de salida Toda accin del algoritmo es accesible, es decir, existe al menos un camino que va desde el inicio hasta el fin del algoritmo, se puede seguir y pasa a travs de dicha accin. No posee lazos o bucles infinitos.

Programacin estructurada

El teorema de Bhm y Jacopini dice que:

un programa propio puede ser escrito utilizando nicamente tres tipos de estructuras: secuencial, selectiva y repetitiva.

Como dichas estructuras tienen un nico punto de entrada y un nico punto de salida, harn que nuestros programas sean intrnsicamente propios.

Tcnicas de representacin de algoritmos

Se utilizarn diferentes mtodos de representacin de algoritmos, que permiten


Evitar la ambigedad lenguaje natural Algoritmos fcilmente codificables.

Los mtodos ms usuales para la representacin son:


1.
2. 3.

Descripcin narrada Diagrama de flujo Pseudocdigo

1-Descripcin Narrada
Es la forma ms sencilla de describir o expresar un algoritmo. Consiste en hacer un relato de la solucin en lenguaje natural. Por ejemplo Algoritmo en descripcin narrada para la suma de 2 nmeros.
1. obtener los nmeros a sumar 2. sumar los nmeros 3. anotar el resultado
El

uso del lenguaje natural provoca frecuentemente que la descripcin sea imprecisa y poco confiable (no es recomendable)

2- Diagrama de flujo de datos

Se trata de una notacin que facilita la escritura o la comprensin de algoritmos esquematizando el flujo del algoritmo. Fue muy til al principio y todava se usa como apoyo para explicar ciertos algoritmos. Si los algoritmos son complejos, este tipo de esquemas no son adecuados No obstante cuando el problema se complica, resulta muy complejo de realizar y de entender. Actualmente, slo se use con fines educativos y no en la prctica.

Diagrama de flujo de datos


Es una representacin grfica de la lgica de un algoritmo Los diagramas de flujo definen el concepto de flujo de datos, que nos indica la direccin que siguen los datos en el proceso. Los diagramas utilizan smbolos especiales que ya estn normalizados por organismos de estandarizacin.

Diagrama de flujo de datos

Los elementos de un diagrama de flujo (varan segn los autores) son:


Inicio / Fin
Terminal- Inicio / fin de un algoritmo

Sentencia operaciones o instrucciones

Comparacin / Toma de decisiones

Conector: permite enlazar el flujo del programa entre 2 partes distantes, se coloca la misma letra en ambos

Diagrama de flujo de datos

Los elementos de un diagrama de flujo (varan segn los autores) son:


Entrada/ Salida de un algoritmo, lectura escritura de datos

O tambin podemos diferenciarlas mediante la siguiente nomenclatura:


Entrada de un algoritmo, lectura de datos.

Salida de un algoritmo, escritura de datos

Un ejemplo sencillo
Sentencias de accin o secuencia

Realice un algoritmo que lea 2 variables y luego las sume, las reste y las multiplique y muestre el resultado por pantalla.

Un ejemplo sencillo
Inicio Leer var1, var2 Sum:=0 Mul:=0 Resta:=0 Sum:= var1 + var 2 Mul:=var1 * var 2 Resta:= var1 - var 2 Imprimir Sum, Mul, Resta Fin

Uso condicin Doble

Es una condicin que puede tener 2 salidas dependiendo del resultado de la evaluacin de la condicin que contiene

Decisin doble:

si <condicin> F entonces accin_si_V si_no Accin_si_F accin_si_F fin_si

Condicin

Accin_si_V

Uso de condicin Simple

La variante es cuando hay una alternativa dependiendo de la condicin pero no hay acciones por el falso
condicin F

Decisin simple:
si <condicin > entonces accin_si_V fin_si

V Accin_si_V

Estructuras de Decisin Multiple

Decisin mltiple:
segn <Condicin> sea <valor 1> : accin1 <valor 2>: accin2 ........... <valor n>: accin n [si_no accin_sino] fin_segn Condicin
Valor1 Valor2

Valor n

Accin 1

Accin 2

Accin n

Ejemplo sencillo del bloque de condicin

Realice un algoritmo que lea 2 nmeros, los compare y muestre por pantalla cual es el mas grande

Ejemplo 2: Condicinal
Inicio

Leer var1, var 2 no


var1 < var2

si

Escribir La menor es var2

Escribir La menor es var1

fin

Ejemplo sencillo del bloque de condicin 2

Realice un algoritmo que lea 2 nmeros, los compare si el primero es mayor lo muestre

Ejemplo sencillo del bloque de condicin


Inicio Leer var1, var 2 no

var1 > var2


si Escribir var1

fin

Uso del bucle, iteracin


Se evala una condicin, si es verdadera se ejecutan las acciones y se vuelve a evaluar la condicin. Mientras la condicin sea verdadera se ejecutan las instrucciones incluidas en su cuerpo.
F

mientras <condicin>hacer
<sentencia 1> <sentencia 2>

condicin

V
Sentencia 1

<sentencia n>

fin_mientras

Sentencia n

Ejemplo sencillo del bloque de condicin

Realice un algoritmo que lea 10 nmeros

Ejemplo sencillo de iteracin


Inicio Num=0 F

Num <10
V Leer var1
Num:=Num + 1

fin

Uso del bucle, Repetir Hasta


La instruccin Repetir...hasta continuar repitindose mientras no se satisfaga la condicin (su valor de vedad sea falso). Sentencia 1

repetir
<sentencia 1> <sentencia 2>

Sentencia n

<sentencia n> condicin F condicin aun no satisfecha

hasta <condicin>

Diferencias entre Repetir / Mientras

Vemos que en el MIENTRAS...HACER la condicin se evala primero, y si la prueba falla (el valor de verdad de la condicin es FALSO), el ciclo no se lleva a cabo de ninguna manera.
En el ciclo REPETIR...HASTA la prueba se realiza al final (la condicin se evala luego de ejecutarse las sentencias que este engloba) y si el valor de la condicin es VERDADERO, entonces se abandona el ciclo despus de realizarlo por lo menos una vez.

Uso del bucle, Para


Es un ciclo incondicional. Se conoce de antemano cuantas veces debe repetirse un conjunto de instrucciones. Abarca todos los valores de una progresin, empieza con el primer valor y termina con un ltimo de ellos. Los valores de la progresin deben ser asignados a una variable, la cual se denomina variable de control.
para <Variable de control> <valor_inicial> hasta <valor_final> hacer accin 1 . . . accin n fin_para

Uso del bucle, Para


Var := Valor Inicial F Sale del Ciclo

condicin V

Sentencia 1
Sentencia n Incremento

Uso del bucle, Para

Otra representacin del ciclo Para

You might also like