Documente Academic
Documente Profesional
Documente Cultură
Objetivos
Tema 2
Algoritmos y Programas: Estructura
ETSID Grado en Diseo Industrial curso 11-12
Distinguir entre algoritmo y programa. Conocer las fases de desarrollo de software. Conocer las distintas tcnicas de respresentacin de algoritmos. C Conocer las l estructuras t t algortmicas l t i ms comunes Disear algoritmos que resuelvan problemas de complejidad media.
Contenidos
1. Conceptos Bsicos
1.1 Definiciones. 1.2 El Proceso de Desarrollo de Software. 1.3 Fases de Generacin de un Programa. 1.4 Esquema General de Funcionamiento de un Programa. 1.5 Descomposicin Modular
1. Conceptos Bsicos
1.1 Definiciones Instruccin: Expresin formada por nmeros, operaciones y letras que indica, en un computador, la operacin que debe realizar y los datos correspondientes. Algoritmo: Conjunto ordenado y finito de operaciones que permite hallar la solucin de un problema. Programa: Conjunto de instrucciones en un lenguaje dado que indica a un ordenador cmo resolver un p problema. De manera ms informal:
Algoritmo: Secuencia de instrucciones no ambigua que resuelve una tarea concreta en un tiempo finito. Programa: Codificacin de uno o ms algoritmos en un lenguaje de programacin.
2. Representacin de algoritmos.
2.1 Pseudocdigo 2.2 Diagrama de Flujo 2.3 Diagrama de Cajas
3. Estructuras algortmicas
3.1 Secuencial 3.2 Selectiva 3.3 Repetitiva
Procesar: Someter datos a una serie de operaciones programadas. Al proceso de traducir o codificar un algoritmo a forma de programa se le conoce con el nombre de implementacin.
3 4
1. Conceptos Bsicos
1.2 El Proceso de Desarrollo de Software
1. Conceptos Bsicos
Fases de generacin de un programa:
Escritura del Programa Fuente Compilacin SI
Proceso de desarrollo de software: Proceso de trabajo que debe seguir un programador a la hora de construir un programa o aplicacin que resuelva cierto problema. Se divide en:
Definicin del problema. Implica el desarrollo y clarificacin exacta de las especificaciones del problema, de los datos de entrada y de los datos de salida. Diseo del algoritmo. Describe la secuencia ordenada de pasos que conducen a la solucin de un problema dado. Implementacin. Codificar el algoritmo como un programa en un lenguaje de programacin. Ejecucin y validacin del programa en el ordenador. Documentacin. Tanto la definicin del problema como el algoritmo y el programa deben formar parte de la documentacin. Su contenido depender de a quin va dirigida. Mantenimiento del programa. Los programas pueden quedarse anticuados, debiendo ser revisados, ampliados y modificados. 5
Hay errores? NO Programa Objeto Enlace Programa Ejecutable SI Hay errores? NO FIN
Archivos de Biblioteca
04/09/2011
1. Conceptos Bsicos
1.4. Esquema de Funcionamiento de un Programa
Leer el primer nmero Leer el segundo nmero Calcular la suma de ambos Visualizar el resultado Fin
Variante del lenguaje natural en la que se han eliminado las posibles ambigedades mediante el uso de un vocabulario restringido y unas reglas sintcticas de construccin de sentencias
ejercicio Disea un algoritmo en pseudo-cdigo que pida al usuario dos nmeros enteros (A,B) e imprima por pantalla el producto y la divisin.
12
04/09/2011
ejercicio Disea un algoritmo en pseudo-cdigo que pida al usuario dos nmeros enteros (A,B, donde A<B) e imprima por pantalla los nmeros pares entre A y B.
Diagrama d de Flujo
Un diagrama de flujo es una representacin grfica de los pasos que seguimos para realizar un proceso; partiendo de una entrada, y despus de realizar una serie de acciones, llegamos a una salida. Realizan una representacin grfica de los algoritmos resaltando el flujo de control del algoritmo.
13
14
v e r d a d e ro
fa l s o
c o n ta d o r < = n u m e r o
Diagrama d de Flujo
v e rd a d e r o
fa l s o
(n u m e r o r e s to c o n ta d o r ) = 0
E s c r ib ir c o n t a d o r
In c r e m e n ta r c o n ta d o r
F in
15
16
ejercicio Disea un algoritmo en diagrama de flujo para calcular el producto y la divisin de dos nmeros enteros.
c o n ta d o r < = n u m e r o
C a lc u la r ( n u m e r o r e s t o c o n t a d o r )
re s to = 0
si no
E s c r ib ir c o n ta d o r In c re m e n ta r c o n ta d o r
Diagrama en el que se omiten las flechas de unin y las cajas son contiguas, lo que permite resaltar la estructura y favorecer la modularidad 17 18
04/09/2011
ejercicio Disea un algoritmo en diagrama de cajas para calcular el producto y la divisin de dos nmeros enteros.
Ejemplo
x:=7 y := x + y
Inicio x :=7
y:= x+ y
Fin
19
20
Lee a Escribe b
condicin
verdadero falso
S1
S2
condicin
Lee a
Escribe b
fin
fin_si
21
22
ejercicio Disea un algoritmo en diagrama de flujo y diagrama de cajas que pida al usuario tu edad e imprima por pantalla el ao de nacimiento si la edad es par.
condicin
falso
S1
verdadero d d
condicin
f l falso
S1
23
24
04/09/2011
v a r i a b le
v a lo rn o tr o c a s o
S1 S2
...
Sn
S n+1
algoritmo <ejemplo_de_seleccin_mltiple> inicio segun_sea <expresin> hacer <lista_de_valores> : <acciones> en_otro_caso <acciones> fin_segun fin
Sn Sn+1 S1 S2
verdadero verdadero
valor1
verdadero
falso
p cuerpo
valor2
falso
v e rd a d e ro
...
co n d ic i n
fa lso
valorn
falso
. . .
S
25
26
cuerpo
v a ria b le := v a lo r_ in ic ia l
p a r a v a ria b le := v a lo r_ in icia l
condicin
ve rd ad ero
v a r ia b le < = v a lo r _ fin a l
f a ls o
. . .
S
S
h a sta v a lo r_ fin al
verdadero
condicin
falso
repetir
in c r e m e n to
27
28
Ejemplo
1.Describir las estructuras de un algoritmo cuyo diagrama de cajas es:
Ejercicio
1.Describir las estructuras de un algoritmo cuyo diagrama de cajas es:
... mientras (condicin1) hacer sentencia1; sentencia2; mientras (condicin2) hacer sentencia3; sentencia4; fin mientras; fin_mientras; si (condicin3) entonces repetir sentencia5; sentencia6; sentencia7; sentencia8; hasta (condicion4) si_no sentencia9; fin_si sentencia10; fin_mientras;
29
30