El aprender a programar y utilizar técnicas de programación tiene como fin el utilizar a la computadora como una herramienta para resolver problemas. La solución de un problema nos exige al menos los siguientes pasos:
- Definición o análisis del problema
- Diseño del algoritmo
- Transformación del algoritmo en un programa
- Ejecución y validación del programa.
Para crear una aplicación de software hay que describir el problema y las necesidades o requerimientos (en qué consiste el problema y qué debe hacerse).
Entendido el problema, para resolverlo es preciso analizar:
Entendido el problema, para resolverlo es preciso analizar:
- Los datos o resultados que se esperan.
- Los datos de entrada que nos suministran.
- El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados.
- Áreas de trabajo, fórmulas y otros recursos necesarios.
El análisis se centra en una investigación del problema, no en la manera de definir una solución. Es el primer paso a seguir para encontrar la solución.
En el análisis del problema se requiere del máximo de creatividad e imaginación, debido a que se busca una solución se debe examinar cuidadosamente el problema a fin de identificar qué tipo de información es necesaria producir. En seguida se deben identificar aquellos elementos de información ofrecidos por el problema y que resulten útiles para obtener la solución al problema. Finalmente, un procedimiento para producir los resultados deseados a partir de los datos, es decir, el algoritmo.
En el análisis del problema se requiere del máximo de creatividad e imaginación, debido a que se busca una solución se debe examinar cuidadosamente el problema a fin de identificar qué tipo de información es necesaria producir. En seguida se deben identificar aquellos elementos de información ofrecidos por el problema y que resulten útiles para obtener la solución al problema. Finalmente, un procedimiento para producir los resultados deseados a partir de los datos, es decir, el algoritmo.
2.2 Representación de algoritmos: gráfica y pseudocódigo
Para representar un algoritmo se debe utilizar algún método que permita independizar dicho algoritmo del lenguaje de programación elegido. Esto nos permite codificar el algoritmo en cualquier lenguaje. Para conseguir esto, es necesario que el algoritmo sea representado gráfica o numéricamente, de tal forma que pueda ser fácilmente transformado en un programa, es decir de fácil codificación.
Los métodos más usuales para representar un algoritmo son:
Los métodos más usuales para representar un algoritmo son:
- Diagrama de flujo
- Diagrama N-S (Nassi-Schneiderman)
- Lenguaje de especificación de algoritmos: pseudocódigo
- Lenguaje español
- Fórmulas
Un diagrama de flujo utiliza símbolos estándar en el que cada paso del algoritmo se visualiza dentro del símbolo y en el orden en que estos pasos se ejecutan, se indica conectándolos con flechas llamadas líneas de flujo, ya que indican el flujo lógico del algoritmo.
Los símbolos utilizados en los diagramas de flujo han sido estandarizados por la ANSI (American National Institute) y por la ISO (International Standard Organization).
Los símbolos utilizados en los diagramas de flujo han sido estandarizados por la ANSI (American National Institute) y por la ISO (International Standard Organization).
Los simbolos más utilizados son:
- Proceso
- Decisión
- Conectores
- Fin
- Entrada/Salida
- Dirección de Flujo
- Tener una elipse etiquetada “inicio”
- Tener otra etiquetada “fin”
- Se puede escribir más de un paso del algoritmo en una sola caja rectangular, pero no se debe abusar para no crear diagramas de flujo complicados e ininteligibles.
DIAGRAMAS DE NASSI-SCHNEIDERMAN (N-S)
El diagrama N-S de Nassi-Schneiderman, es como un diagrama de flujo en el que se omiten las flechas de unión y las figuras son contiguas. Las acciones sucesivas se escriben en cajas sucesivas y, como en los diagramas de flujo, se pueden escribir diferentes acciones en una caja.
Un algoritmo se escribe de la siguiente forma:
Insertar tabla nvu2
Un algoritmo se escribe de la siguiente forma:
Insertar tabla nvu2
La estructura condicional:
Se representa por:
PSEUDOCÓDIGO
El pseudocódigo es la redacción rápida del algoritmo, es escribir con un lenguaje común la secuencia de pasos que habrá de seguirse para resolver el problema. Algunas palabras utilizadas en el pseudocódigo:
- Inicio
- Fin
- Leer
- Escribir
- Asignar (x← y+z)
El pseudocódigo nació como un lenguaje similar al inglés y era un método de representar básicamente las estructuras de control de programación estructurada. Se considera un primer borrador, dado que el pseudocódigo tiene traducirse posteriormente a un lenguaje de programación. El pseudocódigo no puede ser ejecutado por una computadora. La ventaja del pseudocódigo es que en su uso, en la planificación de un programa, el programador se puede concentrar en la lógica y en estructuras de control y no debe preocuparse de las reglas de un lenguaje específico.
2.3 Diseño de algoritmos aplicados a problemas
EJEMPLO 1
Se desea obtener el salario neto de un trabajador conociendo el número de horas trabajadas, el salario por hora y la tasa de impuestos que se le debe deducir.
Las entradas del algoritmo son: Horas trabajadas, salario_hora, tasasLas salidas del algoritmo son:Paga bruta, total de impuestos y paga neta
Pseudocódigo
Inicio
Obtener valores de horas trabajadas, salario_hora y tasas.
Calcular salario_bruto, total de impuestos y salario_neto
Visualizar salario_bruto, total de impuestos y salario_neto
Fin
Diagrama de flujo
EJEMPLO 2
Calcular el valor de la suma de los números naturales comprendidos entre el 1 y 100
Variables: CONTADOR (almacena los números a sumar: 1, 2, 3, ….)
SUMA (Total de suma)
Pseudocódigo
1. Inicio
2. Establecer CONTADOR a 1
3. Establecer SUMA a 0
4. Mientras CONTADOR <= 100 hacer lo siguiente:
4.1 Sumar CONTADOR a SUMA
4.2 Incrementar CONTADOR en 1
Fin_mientras
5. Visualizar SUMA
6. Fin
Diagrama de Flujo
EJEMPLO 3
Un corredor de maratón (distancia = 42.195 km) ha recorrido la carrera en 2 horas 25 minutos. Se desea un algoritmo que calcule el tiempo medido en minutos por kilómetro.
Entradas: Cantidad total del tiempo empleado en la carrera; se establece el número de kilómetros en 42.195, ya que es igual para todos.
Salida: Número medio de minutos por kilómetro, transformando previamente el tiempo total a minutos.
Proceso: Dividir el tiempo total en minutos entre el número de kilómetros.
Pseudocódigo
Inicio
Introducir el tiempo total
Verificar entrada correcta
Establecer distancia = 42.195 km
Pasar tiempo total a minutos
Calcular media = tiempo/kilómetros
Escribir resultado
Fin
Diagrama de flujo
EJEMPLO 4
Definir el algoritmo para intercambiar los valores de dos variables numéricas.
Análisis
Para realizar este análisis se utiliza una variable auxiliar que de modo temporal toma uno de los valores dados.
Variables: A, B, AUX
El método consiste en asignar una de las variables a la variable auxiliar:
AUX ← A
A continuación se le asigna el valor de la otra variable B a A:
A ← B
Por último se asigna el valor de la variable auxiliar a la variable B
B ← AUX
Pseudocódigo
Inicio
Leer (A, B)
AUX ← A
A ← B
B ← AUX
Escribir (A, B)
Fin
Diagrama de Flujo
EJEMPLO 5
Escribir un algoritmo para calcular el área de un triángulo dada la base y la altura.
Análisis
La fórmula geométrica del área de un triángulo es:
A= (b•h)/2 b = base h = altura
Variables: BASE, ALTURA, AREA
Pseudocódigo
Inicio
Asignar los valores de las variables BASE y ALTURA
Asignar a la variable AREA la mitad del producto de la BASE por la ALTURA
Imprimir el resultado
Fin
Diagrama de flujo
No hay comentarios:
Publicar un comentario