tecnicas formulacion algoritmos.pdf
TRANSCRIPT
TECNICAS PARA LA FORMULACION DE ALGORITMOS
Las técnicas de diseño (top down, bottom-up, warnier orr), nos permitieron visualizar el
manejo de datos en un algoritmo, así como el orden que deben llevar las acciones para
conseguir un resultado, sin embargo distan de ser algoritmos ya que plantean una idea muy
general de la solución de estos. Una vez decidida la técnica de diseño a utilizar, se emplea una
técnica de formulación de algoritmos.
Estas técnicas de formulación de algoritmos permiten la solución previa de un problema a su
codificación en computadora. Es aquí donde se concretizan los conceptos y metodologías
vistas anteriormente.
Cabe señalar que los algoritmos que se diseñaran están basados únicamente en la técnica de
diseño Top down (arriba – abajo)
Las técnicas de formulación de algoritmos son:
• Diagrama de flujo
• Pseudocódigo
• Diagrama estructurado (nassi – schneiderman)
5.1 Diagrama de Flujo
Es una técnica que se basa en el uso de símbolos específicos para cada acción. Estos símbolos
se conectan a través de flechas que nos muestran el camino a seguir, es decir, el flujo, de cada
acción que realizamos o decisión que se toma. Aunque existen símbolos completamente
definidos para cada acción, en ocasiones estas varían.
Estos son los símbolos que se utilizan en un diagrama de flujo:
Inicio – Fin
Se utiliza para iniciar o terminar un diagrama, en ocasiones representa una parada programa en el algoritmo.
Entrada – Salida
Indica cualquier tipo de introducción y salida del diagrama.
Proceso
Cualquier operación que origine un cambio de valor, operación aritmética, cambio en el formato, etc. en la información
Decisión
Realiza la comparación entre dos datos, generalmente a través de una operación lógica y el resultado de esta determina la alternativa a seguir
Decisión Múltiple
En función de una comparación seguirá una alternativa, de acuerdo con el resultado
Conector
Enlaza dos partes, se utiliza un conector a la salida del diagrama y otro a la entrada
Flujos
Indica la dirección a seguir
Union Une dos símbolos
Conector
Indica la conexioón entre dos puntos del diagrama en páginas diferente
Subrutina
Llama a un proceso o módulo independiente
NO
SI
Pantalla
Indica que la salida de datos es en el monitor
Impresora
Muestra como salida de datos una impresora
Teclado
Indica que la entrada de datos es el teclado
Recuerde que el símbolo ←←←← asigna valores a una variable
Ejemplo 1:
Calcular el salario neto de un trabajador en función del número de horas trabajadas, precio de la hora de trabajo y considerando una deducción fija al salario bruto en concepto del 20% de impuestos. 1
1 Los ejercicios presentados son tomados del libro Fundamentos de Programación de Luis Joyanes Aguilar
Inicio
Leer Nombre, Horas ,Precio
Bruto ←Horas* Precio
Tasa ←0.25 * Bruto
Neto ← Bruto - Tasa
Escribir Nombre, Bruto, Neto
Fin
Ejemplo 2: Calcular la suma y el producto de 2 números
5.2 Pseudocódigo
Es una estructura de codificación muy similar a un lenguaje de programación, sin embargo
esta no puede ser ejecutada por la computadora. Es considerado un borrador y su lógica
permite una sencilla traducción a otros lenguajes de programación como C ++ , Pascal, etc.
Requiere de diseño, estructuras de control y todos los elementos considerados en un algoritmo
a utilizarse en computadora. Permite una visualización general del programa terminado.
Cuenta con la siguiente estructura:
Nombre del Algoritmo variables: nombre y tipo
Inicio acción 1
. acción n
Fin
Inicio
Leer A
Suma ← A + B Producto ← A * B
Escribir S, P
Fin
Leer B
Esta es una estructura básica y lineal, en la siguiente unidad se darán a conocer estructuras de
conteo y decisión complejas.
Ejemplo 1:
Algoritmo Salario Variables: calculo: real, salario: real, neto: real, nombre: cadena, horas: real, precio_hora: real, impuesto: real Inicio leer (nombre, horas, precio_hora) salario ← horas * precio_hora impuesto ← 0.20 * salario neto ← bruto – impuesto escribir (nombre, bruto, neto) Fin.
Ejemplo 2:
Algoritmo Suma Variables: A: entero, B:entero, Suma: entero, Producto:entero Inicio leer (A,B) Suma ← A + B Producto ← A * B escribir (suma, producto) Fin.
5.3 Diagrama Estructurado (nassi-schneiderman)
Se le conoce también como diagrama de Chapin, es una caja de instrucciones, como un
diagrama de flujo sin flechas de unión. Las acciones son cajas sucesivas y en una misma caja
pueden existir varias acciones, son poco empleados.
Nombre del Algoritmo
< Acción 1>
< Acción 2>
. . .
< Acción n>
Fin
Ejemplo 1:
Calculo de Salario
leer: nombre, horas, precio
bruto ← horas * precio_hora
impuesto ← 0.20 * bruto
neto ← bruto – impuesto
escribir: nombre, bruto, neto
Ejemplo 2:
Suma y Producto de 2 valores
leer: A, B
suma ← A + B
producto ← A * B
escribir: suma, producto
AUTOEVALUACION UNIDAD V
I. Escriba 3 características de cada técnica de formulación de algoritmos
III. Resuelva los siguientes problemas con los 3 tipos de formulación de algoritmos:
1. Cambiar los valores de dos variables numéricas
Pseudocódigo
Algoritmo Cambio
Variables: A: entero, B: entero, Aux: entero
Inicio
leer (A,B)
Aux ← A
A ← B
B ← Aux
escribir (A, B)
fin
Diagrama Nassi-Schneiderman
Cambio de Valor de 2 variables
leer A,B
Aux ← A
A ← B
B← Aux
Escribir A,B
Inicio
Leer A, B
Aux ← A
A ← B
B ← Aux
Escribir A, B
Fin
Diagrama de Flujo
2. Calcular el cuadrado de un número
Pseudocódigo
Algoritmo Cuadrado
Variables: num: entero, cuadrado: entero
Inicio
leer (num)
cuadrado ← (num * num)
escribir (cuadrado)
fin
Diagrama Nassi-Schneiderman
Cuadrado de un número
leer num
cuadrado ← num * num
escribir cuadrado
3. Calcular la conversión de una cantidad de pesos a dólares
Algoritmo Cambio
variables: pesos: real, dolares: real, tarifa: real
Inicio
leer (pesos, tarifa)
dolares ← pesos * tarifaç
escribir (pesos, “equivales a “, dolares)
fin
Inicio
Leer num
cuadrado ← num* num
Escribir cuadrado
Fin
Diagrama de Flujo
Diagrama Nassi-Schneiderman
Cambio de dolares
leer pesos, tarifa
dolares ← pesos * tarifa
escribir “pesos, “es igual a”, dolares
Inicio
Leer pesos, tarifa
dolares ← pesos * tarifa
Escribir “pesos, “es iagual a”, dolares”
Fin
Diagrama de Flujo