Vous êtes sur la page 1sur 14

FUNDAMENTOS DE PROGRAMACIN Mtodos, normas, herramientas utilizados para la elaboracin de programas Herramientas de Diseo: Herramientas grficas o visuales DIAGRAMAS

S DE FLUJO Conjunto de smbolos normalizados, conectados mediante lneas de flujo que muestran la secuencia de pasos de un programa, las acciones que realiza o el origen y destino de los datos Tipos: Organigramas (Visin externa del programa) Ordinogramas (Visin interna, detallada del programa) Diagramas de transicin de estados. Herramientas textuales Pseudocdigo: Lenguaje de intermedio entre el lenguaje natural y el lenguaje de programacin.

ORGANIGRAMAS
Diagrama de flujo de programa Secuencia lgica detallada de las operaciones que realiza el programa Normas - Debe existir un principio y un final. - La secuencia detallada de operaciones se realizan de arriba a abajo. - Todos los elementos estn conectados por lneas de flujo de datos sin que las lneas se crucen entre s. - El ordinograma en conjunto debe guardar una cierta simetra. Esquema bsico : Inicio Entrada de datos Proceso Salida de Resultados Fin

Estructura o partes de un algoritmo Podemos considerar la siguiente estructura:

Siendo:
ENTORNO: Se definen todas la variables y constantes que vamos ha utilizar en el programa. Cada variable y constante debe tener un nombre y pertenecer a un tipo de dato. En este bloque irn la declaracin de los distintos elementos u objetos que vamos a utilizar en un algoritmo: tipos definidos por el usuario, variables , constantes, funciones y procedimientos,

Ejemplo: Constantes Real Pi = 3.1416; Entero Numelementos = 10; Variables Real Radio, Superficie; Entero contador; Carcter letra1;
PROCESO: En este bloque se representarn las distintas instrucciones que formen parte del bloque de instrucciones del algoritmos que estamos describiendo.

Smbolos de operacin o proceso

Smbolos de decisin

Elementos de interconexin

Ejemplo 1: Ordinograma del algoritmo que calcula el permetro y el rea de un rectngulo:

Ejemplo 2: Introducir dos nmeros y visualizar el mayor.

Ejemplo 3: Se trata de adivinar un nmero oculto fijado previamente. El usuario introducir desde el teclado un nmero con el fin de adivinar el nmero oculto. Si no es acertado, el programa ha de indicar si el nmero introducido es superior o inferior al oculto. Repetir la operacin hasta acertar.

PSEUDOCDIGO
- Lenguaje intermedio entre natural y de programacin - Es ms libre que un lenguaje de programacin concreto pero mantiene las reglas de programacin estructurada. - Independiente del lenguaje de programacin. Fcil de entender, corregir y modificar. El pseudocdigo es una tcnica de representacin de algoritmos no grfica que nos permite describirlos mediante un lenguaje intermedio entre el lenguaje natural que normalmente utilizamos en nuestra comunicacin escrita (el espaol) y el lenguaje de programacin que posteriormente vamos autilizar (C, C++, Java, PHP, etc). Esta caracterstica permite escribir la solucin de un problema utilizando palabras y frases en lenguaje natural sujetas a unas determinadas reglas que luego facilitan la traduccin del algoritmo a un programa escrito en el lenguaje de programacin determinado. Ventajas del pseudocdigo: - Permite que durante la fase de diseo, los programadores se centren en la lgica y estructuras de control del algoritmo (descripcin de la secuencias de pasos que hay que llevar a cabo) y se olviden de las reglas y restricciones sintcticas (como hay que escribir dicha secuencia) que impone un determinado lenguaje de programacin. - La descripcin o representacin de los algoritmos que obtenemos es ms fcil de crear y de entender, pues est realizada en el lenguaje que utilizamos habitualmente, no siendo necesario por tanto el conocimiento de un lenguaje de programacin. - La descripcin o representacin de los algoritmos que obtenemos es totalmente independiente del lenguaje de programacin que posteriormente vayamos a utilizar. - Facilita la realizacin de futuras correcciones o actualizaciones gracias a que no es un sistema de representacin rgido. La descripcin del algoritmo que obtenemos mediante pseudocdigo, que no es ejecutable por un ordenador, se considera como un primer borrador del programa que vamos a desarrollar en la fase de codificacin, ya que como ya hemos dicho, la descripcin obtenida en pseudocdigo es fcilmente traducible a un programa. Estructuras de Control. Tpos Llamaremos estructuras de control a las acciones que tienen como objeto marcar el orden de ejecucin de las instrucciones y que van a servirnos para escribir concisamente y sin ambiguedades los algoritmos. Tipos - Estructura Secuencial. - Estructura Selectiva / condicional : Alternativa Simple Alternativa Doble Alternativa Mltiple - Estructuras repetitivas / Bucles : Desde........ Hasta Hacer......... Mientras Mientras..... Hacer Estructuras Anidadas.

Veamos cada una de ellas: Estructura Secuencial. En una estructura secuencial una instruccin sigue a otra en una secuencia lineal. Pseudocdigo Inicio tarea1 tarea2 ... tarean Fin Organigrama

Ejemplo: Producto escalar de dos vectores bidimensionales. (ax, ay) (bx, by) = ax*bx + ay*by Pseudocdigo Inicio Leer (ax) Leer (ay) Leer (bx) Leer (by) prod_esc ax*bx + ay*by Escribir (prod_esc) Fin Organigrama

Estructura Selectiva / condicional Son las que toman una cierta direccin dentro del flujo del programa en funcin de una condicin o el valor de una variable. Alternativa Simple: Se realiza una accin o conjunto de acciones si se cumple una determinada condicin.

Pseudocdigo ... Si ( condicin ) entonces acciones Fin_si


...

Organigrama

Ejemplo: Ordenar dos nmeros (Leidos dos nmeros escribir por pantalla primero el menor y luego el mayor) Pseudocdigo Inicio Leer (a) Leer (b) Si (a > b) Entonces aux a ab b aux Fin_si Escribir (a) Escribir (b) Fin Organigrama

Alternativa Doble: Si una condicin se cumple se realizan unas acciones, si no se cumple la condicin, se realizan otras. Pseudocdigo Si ( condicin ) entonces acciones1 sino acciones2 Fin_si ... Organigrama

Ejemplo sencillo: Dado un nmero, decir si es positivo o negativo. Pseudocdigo Algoritmo Positivo_Negativo Variables x: Entero Inicio Leer (x) Si (x<0) entonces Escribir (Numero negativo) sino Escribir (Numero positivo) Fin_si Fin Organigrama

Ejemplo: Clculo de las soluciones de una ecuacin de segundo grado.

Pseudocdigo Algoritmo ecuacin_segundo_grado Variables a, b, c: entero x1, x2: real discriminante: entero Inicio Leer (a, b, c) Si1 (a = 0) entonces Si2 (b = 0) entonces Si3 (c = 0) entonces Escribir (La solucin es cualquier valor real) Sino3 Escribir (No existe un valor que cumpla la ecuacin) Fin_si3 Sino2 x1 -c / b Escribir (x1) Fin_si2 Sino1 discriminante b * b - 4 * a * c Si4 (discriminate < 0) entonces Escribir (Soluciones complejas) Sino4 x1 (-b + sqrt (discriminante) ) / ( 2 * a) x2 (-b + sqrt (discriminante) ) / ( 2 * a) Escribir (x1, x2)

Fin_si4 Fin_si1 Fin Organigrama

Alternativa Multiple: Dependiendo del valor de una variable se realizan unas acciones u otras. Pseudocdigo ... Segn_sea (variable) hacer Caso valor1: acciones1 Caso valor2: acciones2 Caso valorn: accionesn Default: accionesx Fin_segn_sea ... Organigrama

Este tipo de estructuras se utiliza especialmente cuando se programan mens de seleccin.

Ejemplo: Calculadora infantil. Realizar un programa que pida dos nmeros y una operacin (suma, resta, multiplicacin o divisin) y nos de el resultado de operar los nmeros con esa operacin. Organigrama

Pseudocdigo

Algoritmo Calculadora Variables a, b, op: Entero res: Real Inicio Escribir ( Dame nmeros) Leer (a, b) Escribir (Dame operacin:) Escribir ((1-Suma/2-Resta) Escribir((3-Multiplic./4-Divisin) Leer (op) Segn_sea (op) hacer Caso 1: res a + b Escribir (res) Caso 2: res a - b Escribir (res) Caso 3: res a * b Escribir (res) Caso 4: res a / b Escribir (res) Default: Escribir (Operacin no vlida) Fin_segn_sea Fin Estructuras repetitivas / o Bucles Un bucle es un conjunto de instrucciones del programa que se ejecutan repetidamente o bien un nmero determinado de veces, o bien mientras se cumpla una determinada condicin (hay que tener cuidado con los bucles infinitos). Todo bucle contiene los siguientes elementos (aunque no necesariamente en ese orden): Iniciacin de las variables referentes al bucle. Decisin (seguimos con el bucle o terminamos.) Cuerpo del bucle. Existen tres tipos de bucles en programacin estructurada: Bucle DesdeHasta: Este bucle se utiliza cuando sabemos el nmero de veces que queremos que se realice una cierta tarea. Pseudocdigo
...

Organigrama

Desde variable v_ini hasta v_fin hacer acciones Fin_desde ...

Bucle HacerMientras Este bucle lo utilizaremos si sabemos la condicin que hace que se repita la tarea varias veces. Las acciones se realizan al menos una vez, antes de realizar la comprobacin de la condicin. Pseudocdigo ... Hacer acciones Mientras (condicin) ... Organigrama

Bucle MientrasHacer Es muy parecido al anterior, pero en este caso la comprobacin de la condicin se realiza antes de ejecutar la tarea, de manera que la tarea puede no llegar a hacerse. Pseudocdigo ... Mientras (condicin) Hacer acciones Fin_Mientras ... Organigrama

Estructuras anidadas (Bucles anidados e independientes). Existen dos maneras bsicas de utilizar varios bucles: De forma anidada y de forma independiente. De forma independiente nos limitaremos a ir haciendo los bucles de manera que al finalizar uno empezar el siguiente. De esta forma las tareas entre bucles son independientes (Ejemplo: clculo del nmero combinatorio) Otra forma es mediante la utilizacin de bucles anidados. Los bucles anidados son bucles que estn dentro de otros bucles de manera que la ejecucin de los bucles internos depende de la ejecucin de los bucles externos (Ejemplo: algoritmo que muestre las tablas de multiplicar del 1 al 10.).

EJEMPLOS BSICOS . (Realizar el organigrama de los siguientes ejemplos) 1. Leer dos nmeros, sumarlos y escribir su resultado PROGRAMA Ejemplo1 /* Lee dos nmero los suma y me muestra el resultado */ ENTORNO Variables Entero A,B, Suma INICIO Leer A Leer B Suma = A + B Mostar Suma FIN 2. Leer dos nmeros e indicar cual es el mayor PROGRAMA Ejemplo2 /* Leer dos nmero e indicar cual es el mayor */ ENTORNO Variables Entero A, B INICIO Leer A Leer B SI ( A > B) ENTONCES Mostrar A SINO Mostrar B FIN-SI INICIO 3. Leer dos nmeros y una operacin (+ - * / ) y mostrar el resultado PROGRAMA Calculadora /* Lee dos nmero, un carcter operacin y realiza el clculo indicado */ ENTORNO Variables Carcter Operador Entero A, B Entero Resultado INICIO Leer A Leer B Leer Operador SEGN Operador +: Resultado = A + B

- : Resultado = A - B *: Resultado = A * B / : Resultado = A / B FIN-SEGN Mostrar Resultado FIN

Ejercicios propuestos sobre ordinogramas: 1. Leer dos nmeros, sumarlos y escribir su resultado 2. Leer dos nmeros e indicar cual es el mayor 3. Leer tres nmeros e indicar cual es el mayor 4. leer tres nmeros e indicar cual es el mayor y cual el menor 5. leer dos nmeros y una operacin (+ - * / ) y mostrar el resultado 6. Un programa que lea 4 nmero y calcule la media 7. Muestre el mensaje procesando datos... desea continuar (s/n), si el usuario introduce S, se repite el mensaje y si dice N muestra el mensaje adis y termina. 8. Un programa que lea un nmero, que compruebe que est comprendido entre 10 y 100, que lo muestre por pantalla o que lo vuelva a leer en el caso que no cumpla la condicin. 9. Un programa que lea un valor N, que indica cuantos nmeros va a leer, y calcule la suma y la media. 10. Un programa que lea nmeros, los sume hasta que el usuario introduzca el nmero 0, entones muestre la suma y la media. 11. Un programa que lea 200 nmeros y me indique cual el mximo y el mnimo. 12. Un programa que sume el valor de los nmero pares de 1 a 30. 13. Realizar un programa que muestre el valor de una factura telefnica sabiendo que cada paso consumido se cobra a 0.10 Euros y que cuando se consumen ms de 1000 pasos se aplica un descuento del 18 % sobre el total de la factura. El nmero de pasos consumidos se solicita al usuario. Hay que chequear que este valor siempre es mayor que 0. 14. Elaborar un programa que muestre el precio de un billete de autobs, que se calcula en base a los kilmetros de trayecto ( 0.30 Euros por Km ), pero si el recorrido supera los 80 Km se aplica un 15 % de descuento y que si el trayecto se realiza en da laborable (L) hay un 5 % de descuento respecto si es da festivo (F). Datos a introducir: kilmetros de recorrido y tipo de dia.

Vous aimerez peut-être aussi