Vous êtes sur la page 1sur 26

UNIVERSIDAD DEL CAUCA

Facultad de Ingeniería Electrónica y


Telecomunicaciones

Ing. Raúl Alberto Omen Enríquez


Introducción
 La principal razón para que las personas aprendan
programación es utilizar la computadora como
herramienta para la solución de problemas.

 Existen dos fases para la solución de problemas


ayudados por computador:
Fase de solución del problema.
Fase de implementación en la computadora.

 El resultado de la primera fase es el diseño de un


algoritmo para resolver el problema.
Ing. Raúl Alberto Omen Enríquez
Introducción
 Algoritmo es un conjunto de instrucciones que conducen
a la solución de un problema.

 El algoritmo se puede expresar en lenguaje español o


cualquier otro lenguaje, pero el lenguaje por excelencia
es el ingles.

 El algoritmo se expresa en un lenguaje de programación


que la computadora puede comprender. Dicho algoritmo
se denomina programa.

 La Verificación del programa en una computadora es el


objetivo final de la fase de implementación o realización.
Ing. Raúl Alberto Omen Enríquez
Diseño de programas
 Es una tarea difícil y un proceso creativo.

 No existe un conjunto complejo de reglas, ni


algoritmos que indiquen como escribir programas.

 Las fases mencionadas cuentan con una serie de


pasos que enlazadas conducirán a la solución del
problema.

Ing. Raúl Alberto Omen Enríquez


Diseño de programas
 La fase de la resolución del problema incluye:
 Análisis del problema.
 Diseño del algoritmo.
 Verificación manual del algoritmo.

 La solución del problema se expresa en un algoritmo:


procedimiento paso a paso para solucionar un
problema dado.

 Para obtener una solución mediante una


computadora se debe traducir el algoritmo a un
lenguaje de computadora usando un programa.
Ing. Raúl Alberto Omen Enríquez
Proceso de diseño de un programa
Análisis del
problema
Codificación del
algoritmo en
programa
Diseño del
algoritmo

Ejecución del
Verificación programa
manual del
algoritmo
Verificación del
programa

Programa de
trabajo
documentado
Ing. Raúl Alberto Omen Enríquez
Análisis del problema
 El propósito es ayudar al programador a llegar a un
cierto grado de comprensión de la naturaleza del
problema.

 Una buena definición del problema, junto con una


descripción detallada de entrada y salida, son los
requisitos más importantes para una solución eficaz.

 Que información debe proporcionar la solución del


problema.

 Que datos se necesitan para resolver el problema.


Ing. Raúl Alberto Omen Enríquez
Análisis del problema

Análisis del problema

Datos de salida =
Definición del problema Datos de entrada
resultados

Ing. Raúl Alberto Omen Enríquez


Análisis del problema
 Especificaciones de entrada:
 Que datos son entrada?
 Cuantos datos se introducen?
 Cuantos son datos de entrada validos?

 Especificación de salida:
 Cuales son los datos de salida?
 Cuantos datos de salida se producirán?
 Que precisión tendrán los resultados?
 Se debe imprimir cabecera?

Ing. Raúl Alberto Omen Enríquez


Análisis del problema
 Ejemplo: leer los lados de un triángulo rectángulo e
imprima la hipotenusa.

 Entradas: valores de los lados (variable LADO1 y variable


LADO2).
 Salida: valor de la hipotenusa (variable LADO3).
 Variables: LADO1, LADO2 y LADO3 (tipo reales).

Ing. Raúl Alberto Omen Enríquez


Diseño del algoritmo
 La información proporcionada al algoritmo
constituye su entrada y la información producida
constituye su salida.

 Los problemas complejos se resuelven eficazmente si


se fragmentan en subproblemas que sean más
sencillos de solucionar que el original. Esta técnica es
conocida como divide y vencerás (divide and
conquer).

Ing. Raúl Alberto Omen Enríquez


Diseño del algoritmo
 La descomposición del problema original en
subproblemas cuya solución puede implementarse a
través de la computadora se le denomina diseño
descendente (top down design)

 La descripción detallada de la solución mediante


pasos específicos se le denomina refinamiento del
algoritmo (stepwise refinement).

Ing. Raúl Alberto Omen Enríquez


Diseño del algoritmo

Diseño del algoritmo

Herramientas de
Refinamiento por
Diseño descendente programación
pasos
•Diagramas de
flujo
•Seudocódigo

Ing. Raúl Alberto Omen Enríquez


Algoritmos
 Encierra una secuencia de pasos que lleva a la
solución de un problema.
 Características que debe cumplir un algoritmo:
 Debe ser preciso e indicar el orden de realización de cada
paso.
 Debe estar definido: si se sigue un algoritmo dos veces, se
debe obtener el mismo resultado cada vez.
 Debe ser finito: se debe terminar en algún momento.
 Debe constar de tres partes:
 Entrada (información dada al algoritmo).
 Proceso (cálculos necesarios para la solución).
 Salida (resultados finales de los cálculos)
Ing. Raúl Alberto Omen Enríquez
Algoritmos
 Ejemplo:
Un cliente ejecuta un pedido a una fabrica. La fabrica
examina en su banco de datos la ficha del cliente, si
el cliente es solvente entonces la empresa acepta el
pedido, en caso contrario rechaza el pedido.
1. Inicio.
2. Leer el pedido.
3. Examinar la ficha del cliente.
4. Si el cliente es solvente aceptar pedido; en cazo
contrario rechazar pedido.
5. Fin
Ing. Raúl Alberto Omen Enríquez
Verificación de algoritmos
 Una vez que se ha descrito el algoritmo en su
lenguaje es necesario asegurarse de que realiza las
tareas para las que se ha diseñado y produce el
resultado correcto y preciso.

 Para comprobar un algoritmo mediante su ejecución


manual, se utilizan datos significativos que abarquen
todo el posible rango de valores y anotando los
valores que van tomando en las diferentes fases, los
datos de entrada y por ultimo los valores de los
resultados.

Ing. Raúl Alberto Omen Enríquez


Herramientas de programación
 La estructura de un algoritmo se puede representar
en un diagrama estructurado en forma de bloques,
mostrando las diferentes tareas que se deben ejecutar
y su relación entre ellas.

 La herramientas de programación empleadas como


lenguajes algorítmicos son:
 Diagramas de flujo.
 Pseudocódigos.
 Diagramas de Nassi-Shneiderman(N-S)

Ing. Raúl Alberto Omen Enríquez


Diagramas de flujo
 Es un diagrama que utiliza símbolos estándar.

 Cada paso del algoritmo se visualiza dentro del


símbolo.

 Orden de ejecución de cada paso.

 Se conectan con flechas llamadas líneas de flujo.


 Líneas de flujo indican el flujo lógico del algoritmo.

Ing. Raúl Alberto Omen Enríquez


Diagrama de flujo
 Existen dos tipos de diagramas de flujo:
 Diagrama de flujo del sistema:
visualmente son las operaciones ejecutadas sobre los datos
a través de todas las partes de un sistema de procesamiento
de información.

 Diagrama de flujo de programas:


Son los pasos necesarios para describir un procedimiento
particular: un algoritmo para resolver un problema
mediante computadora.

Los símbolos han sido normalizados por las organizaciones


ANSI(American National Institute) e ISO(International
Standard Organization).
Ing. Raúl Alberto Omen Enríquez
Diagramas de flujo
Inicio y final
Conector

Entada y Salida
de datos -
periféricos

Proceso

Líneas de flujo

Decisión Línea conectora

Ing. Raúl Alberto Omen Enríquez


Diagramas de flujo
Proceso
predeterminado Cometarios

Entrada y Salida

Pantalla
Teclado

Impresora DD

Ing. Raúl Alberto Omen Enríquez


Diagrama de flujo

Ing. Raúl Alberto Omen Enríquez


Pseudocódigo
 Se crea para superar las dos principales desventajas
del diagrama de flujo:
 Lento de crear.
 Difícil de modificar sin un nuevo dibujo.

 Operadores aritmético:
 +,-,*,/,\,mod(%),^.
 Lógicas:
 >, <, =, >=,<=,!=.
 Asignación =
 Comparación = =
 Compuertas o operadores lógicos && , || , !.
Ing. Raúl Alberto Omen Enríquez
Pseudocódigo
 Nombres simbólicos o identificadores: representa las
cantidades que son procesadas por el algoritmo. Ejm:
Variables , constantes, etc.

 Variables:
 Numéricas:
 Enteros - int
 Punto Flotante - float
 Alfanuméricas:
 Carácter - char
 Cadena de caracteres - string
Pseudocódigo
 Símbolos para estructurar la información en los
algoritmos
 {} [] ()
 Uso de ciertas palabras claves:
Español Ingles Español Ingles

Incio Begin Desde For

Fin End Mientras While

Leer Read / input Repetir Repeat

Escribir Write / print Parada, fin Stop, end

Si - entonces If – then Hasta - que until

Ing. Raúl Alberto Omen Enríquez


Pseudocódigo
 Ejemplo:
begin
{calculo de impuestos y salario}
read (nombre, horas, precio_hora)
salario_bruto horas * precio_hora
tasas 0,10 * salario_bruto
salario_neto salario_bruto – tasas
write (nombre , salario_bruto, horas, salario_neto)
end

Ing. Raúl Alberto Omen Enríquez

Vous aimerez peut-être aussi