SlideShare una empresa de Scribd logo
1 de 18
QUE ES UN ALGORITMO? 
Conjunto ordenado y finito de operaciones 
que permite hallar la solución de un 
problema. Método y notación en las distintas 
fórmulas del cálculo. El algoritmo constituye 
un método para resolver un problema 
mediante una secuencia de pasos a seguir.
DISEÑO DE UN ALGORITMO 
• Fases para el diseño de un algoritmo: 
• -Algoritmo narrado 
• -Algoritmo detallado 
• - Diagrama de flujo o pseudocódigo 
Algoritmo narrado 
Diseño de un algoritmo Algoritmo detallado 
Diagrama de flujo o 
pseudocódigo.
EJEMPLO DE UN ALGORITMO NARRADO 
• Ejemplo: Algoritmo para cambiar un foco fundido 
INICIO 
1. Situar escalera bajo el foco quemado. 
2. Elegir un foco de reemplazo (de la misma potencia que el anterior). 
3. Subir por la escalera hasta alcanzar el foco. 
4. Girar el foco contra las manecillas del reloj hasta que esté suelto. 
5. Ubicar el foco nuevo en el mismo lugar que el anterior. 
6. Enroscar en el sentido de las manecillas del reloj hasta que quede 
apretado. 
7. Bajar de la escalera. 
FIN
ALGORITMO DETALLADO 
• ALGORITMO DETALLADO: 
• Es un lenguaje mas limitado , con reglas de sintaxis y semánticas definidas , esto 
quiere decir que consiste en crear programas con instrucciones agrupadas en un 
estricto orden secuencial.
DIAGRAMA DE FLUJO 
- Es la representación gráfica del algoritmo o proceso. Se utiliza en 
disciplinas como programación, economía, procesos industriales y 
psicología cognitiva. 
SIMBOLO NOMBRE ACCION 
TERMINAL Representa el inicio o el fin del diagrama de flujo. 
ENTRADA Y 
SALIDA 
Representa los datos de entrada y salida. 
Decisión Representa las comparaciones de dos o mas 
valores , tiene dos salidas de información falso o 
verdadero. 
PROCESO Indica todas las acciones o cálculos que se 
ejecutaran con los datos de entrada u otros 
obtenidos. 
LINEAS DE 
FLUJO DE 
INFORMACIÓN 
Indican el sentido de la información obtenida y su 
uso posterior en algún proceso. 
CONECTOR Este símbolo permite identificar la continuación 
de la información si el diagrama es muy extenso.
EJEMPLO DE UN DIAGRAMA DE FLUJO 
• Calcula el área de un triangulo en 
• diagrama de flujo. 
INICIO 
LEER BASE 
LEER ALTURA 
Result=(BASE*ALTURA)/ 
2 
Escribir "Resultado = 
a Result. 
Fin 
En pseudocódigo. 
Inicio 
Result<-a*b/2 
Introduce la base 
Leer a 
Introduce la altura 
Leer b 
“El área de un triangulo 
es”, Result.
PSEUDOCÓDIGO 
• El pseudocódigo es una descripción informal de alto nivel de un algoritmo informático de 
programación, compacto e informal, que utiliza las convenciones estructurales de un lenguaje de 
programación. 
• 1.- Ejemplo de pseudocódigo y en diagrama de flujo. 
• Proceso Promedio 
• Inicio 
• Escribir "Ingrese la cantidad de datos:" 
• Leer n 
• 
• acum<-0 
• 
• Para i<-1 Hasta n Hacer 
• Escribir "Ingrese el dato ",i,":" 
• Leer dato 
• acum<-acum+dato 
• FinPara 
• 
• prom<-acum/n 
• 
• Escribir "El promedio es: ",prom 
• 
• FinProceso 
INICIO 
"Ingrese la cantidad de datos" 
N 
Acum<-0 
"Ingrese el dato ",i,; 
dato 
Acum<-acum+dato 
prom<-acum+dato 
"El promedio es ",prom 
FIN
ESTRUCTURAS SECUENCIALES 
• La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. 
• Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente 
hasta el fin del proceso. 
En Pseudocódigo una Estructura Secuencial se representa de la siguiente forma: 
• 
PSEUDOCODIGO :Nombre 
• 
Variables. 
• 
Nombre: Tipo de dato. 
• 
Constantes 
• 
Nombre = Valor 
• 
INICIO 
• acción 
• accion1 
• accion2 
• acción N 
• FIN 
INICIO 
accion 1 
accion 2 
accion N 
FINAL
EJEMPLO DE UNA ESTRUCTURA SECUENCIAL. 
• Ejemplo 1: Escriba un algoritmo que pregunte por dos números y muestre como 
resultado la suma de estos. Use Pseudocódigo y diagrama de flujos. 
• 
• PSEUDOCÓDIGO SUMAR 
• 
• Variables: Num1,Num2,Suma: Entero 
• 
• INICIO 
• Escribir ('introduzca dos números') 
• leer (Num1, Num2) 
• Suma=Num1 + Num2 
• escribir ('La suma es:' , Suma) 
• FIN 
• 
INICIO 
num1,num2,Suma:ENTER 
O 
"Diga dos numeros" 
Num1,Num2 
Suma<- Num1+Num2 
"La suma es ;", Suma 
FIN
ESTRUCTURAS DE DECISIÓN 
• ESTRUCTURAS DE DECISIÓN: 
Estas permiten seleccionar la próxima sentencia a ejecutarse sobre la 
• base de una decisión (expresión lógica o variable lógica). 
Los tipos de estructuras de decisión que podemos encontrar son: 
● Simples 
● Dobles 
• ● Múltiples 
ESTRUCTURAS DE DECISION SIMPLE _SI: 
• La estructura de selección simple permite ejecutar una acción o un grupo de acciones sólo si se cumple una determinada condición. Si la 
condición es verdadera se ejecuta la acción acciona; en caso contrario, no se hace nada. 
Pseudocódigo (acción simple)SI( condición ) 
acciona 
• 
Pseudocódigo (acción compuesta) 
• SI( condición ){ 
acciona1 
acciona2 
. 
. 
. 
Accionan. 
Si 
• Por ejemplo, si se desea cambiar el signo de un número únicamente en caso que sea negativo, podemos escribir: 
• SI( numero < 0 ) 
numero = -1 * numero 
Condición 
No 
Proposición
SELECCIÓN DOBLE SI -SINO 
• La estructura de selección doble permite seleccionar una ruta de dos rutas posibles en base a la verdad o falsedad de 
una condición. Si la condición es verdadera, se ejecuta la acción A; en caso contrario, se ejecuta la acción B. 
• Pseudocódigo (acción simple)SI( condición ) 
acciona 
SINO 
accionb 
Pseudocódigo (acción compuesta)SI( condición ){ 
acciona1 
acciona2 
. 
. 
. 
accionan 
SINO{ 
accionb1 
accionb2 
. 
. 
. 
Accionbn. 
• Por ejemplo: la siguiente estructura de selección doble determina si una persona es mayor o menor de edad: 
• SI( edad >= 18 ) 
estado = "Mayor de edad" 
SINO 
estado = "Menor de edad" 
Si No 
Accionb 
Condición 
Acciona
ESTRUCTURA DE DECISIÓN MÚLTIPLE SEGUN 
• La estructura de selección múltiple SEGUN permite elegir una ruta de entre varias rutas posibles, en base al valor de 
una variable que actúa como selector. La estructura compara el valor del selector con las constantes c1, c2, ..., en 
orden descendente. En el momento en que se encuentre una coincidencia, se ejecuta la acción correspondiente a 
dicha constante y se abandona la estructura. 
• PseudocódigoSEGUN( selector ){V 
CASO c1 : accion1 
CASO c2 : accion2 
CASO c3 : accion3 
. 
. 
. 
CASO cn : accionn 
DEFECTO : acciondefecto 
• Por ejemplo, la siguiente estructura de selección múltiple 
• determina el nombre de la estación del año conociendo el 
• número de la estación 
• (1 para Primavera, 2 para Verano, 3 para Otoño y 4 para Invierno) : 
SEGUN(numeroEstacion){ 
CASO 1 : nombreEstacion = "Primavera" 
CASO 2 : nombreEstacion = "Verano" 
CASO 3 : nombreEstacion = "Otoño" 
DEFECTO : nombreEstacion = "Invierno" 
selector==c1 
selector==c2 
selector==cn 
acciondecto 
accion1 break 
accion2 break 
accion3 break 
F 
F 
F 
V 
V 
V
ESTRUCTURAS DE REPETICIÓN 
• Permiten la ejecución de una lista o secuencia de instrucciones (bloque de instrucciones) en varias ocasiones. 
• El número de veces que el bloque de instrucciones se ejecutará se puede especificar de manera explícita, o a través de 
una condición lógica que indica cuándo se ejecuta de nuevo y cuándo no. 
• A cada ejecución del bloque de instrucciones se le conoce como una iteración. 
• Existen tres tipos principales de sentencias de repetición: 
• - Ciclo mientras 
• - Ciclo haga-mientras 
• - Ciclo para
CICLO MIENTRAS 
• El ciclo mientras permite ejecutar un bloque de instrucciones 
mientras que una expresión lógica dada se cumpla, es decir, 
mientras su evaluación dé como resultado verdadero. 
• La expresión lógica se denomina condición y siempre se evalúa 
antes de ejecutar el bloque de instrucciones. 
• Si la condición no se cumple, el bloque no se ejecuta. Si la 
condición se cumple, el bloque se ejecuta, después de lo cual la 
instrucción vuelve a empezar, es decir, la condición se vuelve a 
evaluar. 
• En el caso en que la condición evalúe la primera vez como falsa, 
el bloque de instrucciones no será ejecutado, lo cual quiere decir 
que el número de repeticiones o iteraciones de este bloque será 
cero. 
• Si la condición siempre evalúa a verdadero, la instrucción se 
ejecutará indefinidamente, es decir, un número infinito de veces. 
• En Pseudocódigo: 
• mientras <condición> hacer 
• <bloque instrucciones> 
fin _mientras 
ENTRADA 
CONDICION 
v 
BLOQUE 
f 
Donde, <condición> es la expresión lógica que se evalúa para determinar la ejecución o no del bloque de 
instrucciones, y <bloque instrucciones> es el conjunto de instrucciones que se ejecuta si la condición 
evalúa a Verdadero.
EJEMPLO DE CICLO MIENTRAS 
EJEMPLO: Separa un numero entero en sus dígitos 
Proceso Dígitos 
Escribir "Ingrese un numero entero positivo:" 
Leer n 
// Primero, Contar Cuantos Dígitos 
cont <- 0 
aux <- n 
Mientras aux>0 hacer // mientras no sea cero 
cont <- cont + 1 // contar cuantos dígitos 
aux <- trunc(aux/10) // dividir por 10 y 
despreciar los de 
Fin Mientras 
Escribir "El numero tiene ",cont," dígitos" 
// luego, mostrarlos uno por uno 
aux<-n 
Para i<-1 hasta cont Hacer 
pot <- 10^(cont-i) // por cuanto hay que 
dividir para obtener el primer digito 
digito <- trunc (aux / pot) // obtener el 
digito 
aux <- aux - digito*pot // quitar ese digito al 
numero 
Escribir "El digito ",i," es ",digito 
Fin Para 
Fin Proceso 
Proceso Digitos 
"Ingrese un numero entero positivo" 
n 
cont<-0 
aux <- n 
aux>0 
cont <- cont + 1 
aux <- trunc(aux/10) 
"El numero tiene " , cont , "digitos" 
aux<-n 
pot<-10*(cont-i) 
digito<-trunc(aux/pot) 
aux<-aux-digito*pot 
"El digito",i,"es , digito 
Fin proceso
CICLO PARA 
• El ciclo Para ejecuta un bloque de instrucciones un número determinado de veces. 
• Este número de veces está controlado por una variable contadora (de tipo entero) que toma valores desde un límite 
inferior hasta un límite superior. 
• En cada ciclo después de ejecutar el bloque de instrucciones, la variable contadora es incrementada en 1 
automáticamente y en el momento en que la variable sobrepasa el límite superior, el ciclo termina. 
– para variable  valor_inicial hasta valor_final [incremento valor_incremento] hacer 
bloque_de_instrucciones 
– fin_para 
– En una instrucción repetitiva Para, siempre se utiliza una variable a la que se le debe asignar un valor_inicial. 
1. Inicio 
2. para contador  1 hasta 10 incremento 1 hacer 
3. Escribir (contador) 
4. fin_para 
5. Fin 
VarControl<-Val_inicial 
VarControl 
<=Val_final 
Sentencias 
VarControl<- 
VarControl+1 
SI No
EJEMPLO DE CICLO PARA 
• // Calcula el promedio de una lista de N datos 
• Proceso Promedio: 
• Escribir "Ingrese la cantidad de datos:" 
• Leer n 
• 
• acum<-0 
• 
• Para i<-1 Hasta n Hacer 
• Escribir "Ingrese el dato ",i,":" 
• Leer dato 
• acum<-acum+dato 
• FinPara 
• 
• prom<-acum/n 
• 
• Escribir "El promedio es: ",prom 
• 
• FinProceso 
Proceso Promedio 
"Ingrese la cantidad de datos! 
n 
acum<-0 
ingrese el dato , i 
dato 
acum<-acum+dato 
prom<-acum/n 
"El promedio es ",prom 
Fin proceso
BIBLIOGRAFIA 
Paginas Web: 
http://es.wikipedia.org/wiki/Algoritmo Wikipedia Definiciones. 
http://www.cs.buap.mx/~andrex/ pagina del profesor José Andrés vesques flores 
http://informaticaingqmi.blogspot.mx/2010/11/estructuras-de-decision-simples-y.html blog de la Ing. María 
Piña. 
http://www.fceqyn.unam.edu.ar/infoiq/temas/Algoritmia/Algoritmia/cap03.htm ejercicios propuestos por 
David Espinoza Sandoval

Más contenido relacionado

La actualidad más candente

Aplicaciones de las_ derivadas_primera_parte
Aplicaciones de  las_ derivadas_primera_parteAplicaciones de  las_ derivadas_primera_parte
Aplicaciones de las_ derivadas_primera_parteangiegutierrez11
 
programacion Lineal y Metodo simplex alvaro espinoza
programacion Lineal y Metodo simplex alvaro espinozaprogramacion Lineal y Metodo simplex alvaro espinoza
programacion Lineal y Metodo simplex alvaro espinozaAlvaro Andrey Espinoza Mena
 
Estructuras iterativas1
Estructuras iterativas1Estructuras iterativas1
Estructuras iterativas1Kathy Granizo
 
ESTATUTO WHILE
ESTATUTO WHILEESTATUTO WHILE
ESTATUTO WHILEcharnisch
 
Tutorial algoritmo estructuras condicionales
Tutorial algoritmo   estructuras condicionalesTutorial algoritmo   estructuras condicionales
Tutorial algoritmo estructuras condicionalesMichele André
 
Método simplex
Método simplexMétodo simplex
Método simplexBIOPOWER
 
¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?grachika
 
Breve manual visual basic
Breve manual visual basicBreve manual visual basic
Breve manual visual basicTensor
 
Breve manual visual basic Métodos Númericos
Breve manual visual basic Métodos NúmericosBreve manual visual basic Métodos Númericos
Breve manual visual basic Métodos NúmericosTensor
 
Diagrama de bloques y señaes y ft
Diagrama de bloques y señaes y ftDiagrama de bloques y señaes y ft
Diagrama de bloques y señaes y ftAlex Guetta Mendoza
 
Doble estructura de selección o decisión lógica
Doble estructura de selección o decisión lógicaDoble estructura de selección o decisión lógica
Doble estructura de selección o decisión lógicajaneth_alfonso
 

La actualidad más candente (20)

Aplicaciones de las_ derivadas_primera_parte
Aplicaciones de  las_ derivadas_primera_parteAplicaciones de  las_ derivadas_primera_parte
Aplicaciones de las_ derivadas_primera_parte
 
Sesión 04 2015 II
Sesión 04 2015 IISesión 04 2015 II
Sesión 04 2015 II
 
programacion Lineal y Metodo simplex alvaro espinoza
programacion Lineal y Metodo simplex alvaro espinozaprogramacion Lineal y Metodo simplex alvaro espinoza
programacion Lineal y Metodo simplex alvaro espinoza
 
Modulo2b
Modulo2bModulo2b
Modulo2b
 
Método simplex. Teoria
Método simplex. TeoriaMétodo simplex. Teoria
Método simplex. Teoria
 
Método simplex
Método simplexMétodo simplex
Método simplex
 
Estructuras iterativas1
Estructuras iterativas1Estructuras iterativas1
Estructuras iterativas1
 
ESTATUTO WHILE
ESTATUTO WHILEESTATUTO WHILE
ESTATUTO WHILE
 
Limites y continuidad
Limites y continuidadLimites y continuidad
Limites y continuidad
 
Tutorial algoritmo estructuras condicionales
Tutorial algoritmo   estructuras condicionalesTutorial algoritmo   estructuras condicionales
Tutorial algoritmo estructuras condicionales
 
Método simplex
Método simplexMétodo simplex
Método simplex
 
Método simplex1
Método simplex1Método simplex1
Método simplex1
 
Método simplex.
Método simplex. Método simplex.
Método simplex.
 
¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?
 
Breve manual visual basic
Breve manual visual basicBreve manual visual basic
Breve manual visual basic
 
Breve manual visual basic Métodos Númericos
Breve manual visual basic Métodos NúmericosBreve manual visual basic Métodos Númericos
Breve manual visual basic Métodos Númericos
 
03 iteracion
03 iteracion03 iteracion
03 iteracion
 
Diagrama de bloques y señaes y ft
Diagrama de bloques y señaes y ftDiagrama de bloques y señaes y ft
Diagrama de bloques y señaes y ft
 
Doble estructura de selección o decisión lógica
Doble estructura de selección o decisión lógicaDoble estructura de selección o decisión lógica
Doble estructura de selección o decisión lógica
 
Metodo simplex
Metodo simplexMetodo simplex
Metodo simplex
 

Similar a Qué es un algoritmo y sus estructuras

Que es un algoritmo de jorge magaña
Que es un algoritmo de jorge magañaQue es un algoritmo de jorge magaña
Que es un algoritmo de jorge magañaJorge Ricardo
 
INTRODUCCIÓN A LA PROGRAMACIÓN
INTRODUCCIÓN A LA PROGRAMACIÓNINTRODUCCIÓN A LA PROGRAMACIÓN
INTRODUCCIÓN A LA PROGRAMACIÓNNataly Rojitas
 
INTRODUCCIÓN A METODOLOGÍA DE LA PROGRAMACIÓN
INTRODUCCIÓN A METODOLOGÍA DE LA PROGRAMACIÓNINTRODUCCIÓN A METODOLOGÍA DE LA PROGRAMACIÓN
INTRODUCCIÓN A METODOLOGÍA DE LA PROGRAMACIÓNDianaaLSRojas
 
Metodología de la programación
Metodología de la programaciónMetodología de la programación
Metodología de la programaciónJesus R Hernandez
 
Estructuras reptitivas y ciclos
Estructuras reptitivas y ciclosEstructuras reptitivas y ciclos
Estructuras reptitivas y cicloslincolnschoolgdl
 
Estructuras de control de flujo
Estructuras de control de flujoEstructuras de control de flujo
Estructuras de control de flujoAliandroMejias
 
11 estructuras de repeticion-tema11
11 estructuras de repeticion-tema1111 estructuras de repeticion-tema11
11 estructuras de repeticion-tema11Elba Sepúlveda
 
Presentacion ciclos-1
Presentacion ciclos-1Presentacion ciclos-1
Presentacion ciclos-1sena
 
estructura de programación
estructura de programación estructura de programación
estructura de programación Julio Santos
 
Estructuras de control algoritmos dq
Estructuras de control algoritmos   dqEstructuras de control algoritmos   dq
Estructuras de control algoritmos dqDorys Quiroz Quiroz
 
Estructura de selección, ciclo y contador (counter)
Estructura de selección, ciclo y contador (counter)Estructura de selección, ciclo y contador (counter)
Estructura de selección, ciclo y contador (counter)Karla Pabón Vallejo
 
Sintaxis de los algoritmos estructurados
Sintaxis de los algoritmos estructuradosSintaxis de los algoritmos estructurados
Sintaxis de los algoritmos estructuradosAriMendoza9
 

Similar a Qué es un algoritmo y sus estructuras (20)

Que es un algoritmo de jorge magaña
Que es un algoritmo de jorge magañaQue es un algoritmo de jorge magaña
Que es un algoritmo de jorge magaña
 
INTRODUCCIÓN A LA PROGRAMACIÓN
INTRODUCCIÓN A LA PROGRAMACIÓNINTRODUCCIÓN A LA PROGRAMACIÓN
INTRODUCCIÓN A LA PROGRAMACIÓN
 
INTRODUCCIÓN A METODOLOGÍA DE LA PROGRAMACIÓN
INTRODUCCIÓN A METODOLOGÍA DE LA PROGRAMACIÓNINTRODUCCIÓN A METODOLOGÍA DE LA PROGRAMACIÓN
INTRODUCCIÓN A METODOLOGÍA DE LA PROGRAMACIÓN
 
Metodología de la programación
Metodología de la programaciónMetodología de la programación
Metodología de la programación
 
practicas dfd
practicas dfdpracticas dfd
practicas dfd
 
Estructuras reptitivas y ciclos
Estructuras reptitivas y ciclosEstructuras reptitivas y ciclos
Estructuras reptitivas y ciclos
 
Estructuras alg
Estructuras algEstructuras alg
Estructuras alg
 
fp_p4.pdf
fp_p4.pdffp_p4.pdf
fp_p4.pdf
 
Estructuras de control de flujo
Estructuras de control de flujoEstructuras de control de flujo
Estructuras de control de flujo
 
2ª unidad de algoritmo
2ª unidad de algoritmo2ª unidad de algoritmo
2ª unidad de algoritmo
 
11 estructuras de repeticion-tema11
11 estructuras de repeticion-tema1111 estructuras de repeticion-tema11
11 estructuras de repeticion-tema11
 
Power point
Power pointPower point
Power point
 
Presentacion ciclos-1
Presentacion ciclos-1Presentacion ciclos-1
Presentacion ciclos-1
 
GRAFCET [Autoguardado].pptx
GRAFCET [Autoguardado].pptxGRAFCET [Autoguardado].pptx
GRAFCET [Autoguardado].pptx
 
estructura de programación
estructura de programación estructura de programación
estructura de programación
 
Estructuras de control algoritmos dq
Estructuras de control algoritmos   dqEstructuras de control algoritmos   dq
Estructuras de control algoritmos dq
 
Estructura de selección, ciclo y contador (counter)
Estructura de selección, ciclo y contador (counter)Estructura de selección, ciclo y contador (counter)
Estructura de selección, ciclo y contador (counter)
 
Guia4
Guia4Guia4
Guia4
 
Sintaxis de los algoritmos estructurados
Sintaxis de los algoritmos estructuradosSintaxis de los algoritmos estructurados
Sintaxis de los algoritmos estructurados
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 

Qué es un algoritmo y sus estructuras

  • 1. QUE ES UN ALGORITMO? Conjunto ordenado y finito de operaciones que permite hallar la solución de un problema. Método y notación en las distintas fórmulas del cálculo. El algoritmo constituye un método para resolver un problema mediante una secuencia de pasos a seguir.
  • 2. DISEÑO DE UN ALGORITMO • Fases para el diseño de un algoritmo: • -Algoritmo narrado • -Algoritmo detallado • - Diagrama de flujo o pseudocódigo Algoritmo narrado Diseño de un algoritmo Algoritmo detallado Diagrama de flujo o pseudocódigo.
  • 3. EJEMPLO DE UN ALGORITMO NARRADO • Ejemplo: Algoritmo para cambiar un foco fundido INICIO 1. Situar escalera bajo el foco quemado. 2. Elegir un foco de reemplazo (de la misma potencia que el anterior). 3. Subir por la escalera hasta alcanzar el foco. 4. Girar el foco contra las manecillas del reloj hasta que esté suelto. 5. Ubicar el foco nuevo en el mismo lugar que el anterior. 6. Enroscar en el sentido de las manecillas del reloj hasta que quede apretado. 7. Bajar de la escalera. FIN
  • 4. ALGORITMO DETALLADO • ALGORITMO DETALLADO: • Es un lenguaje mas limitado , con reglas de sintaxis y semánticas definidas , esto quiere decir que consiste en crear programas con instrucciones agrupadas en un estricto orden secuencial.
  • 5. DIAGRAMA DE FLUJO - Es la representación gráfica del algoritmo o proceso. Se utiliza en disciplinas como programación, economía, procesos industriales y psicología cognitiva. SIMBOLO NOMBRE ACCION TERMINAL Representa el inicio o el fin del diagrama de flujo. ENTRADA Y SALIDA Representa los datos de entrada y salida. Decisión Representa las comparaciones de dos o mas valores , tiene dos salidas de información falso o verdadero. PROCESO Indica todas las acciones o cálculos que se ejecutaran con los datos de entrada u otros obtenidos. LINEAS DE FLUJO DE INFORMACIÓN Indican el sentido de la información obtenida y su uso posterior en algún proceso. CONECTOR Este símbolo permite identificar la continuación de la información si el diagrama es muy extenso.
  • 6. EJEMPLO DE UN DIAGRAMA DE FLUJO • Calcula el área de un triangulo en • diagrama de flujo. INICIO LEER BASE LEER ALTURA Result=(BASE*ALTURA)/ 2 Escribir "Resultado = a Result. Fin En pseudocódigo. Inicio Result<-a*b/2 Introduce la base Leer a Introduce la altura Leer b “El área de un triangulo es”, Result.
  • 7. PSEUDOCÓDIGO • El pseudocódigo es una descripción informal de alto nivel de un algoritmo informático de programación, compacto e informal, que utiliza las convenciones estructurales de un lenguaje de programación. • 1.- Ejemplo de pseudocódigo y en diagrama de flujo. • Proceso Promedio • Inicio • Escribir "Ingrese la cantidad de datos:" • Leer n • • acum<-0 • • Para i<-1 Hasta n Hacer • Escribir "Ingrese el dato ",i,":" • Leer dato • acum<-acum+dato • FinPara • • prom<-acum/n • • Escribir "El promedio es: ",prom • • FinProceso INICIO "Ingrese la cantidad de datos" N Acum<-0 "Ingrese el dato ",i,; dato Acum<-acum+dato prom<-acum+dato "El promedio es ",prom FIN
  • 8. ESTRUCTURAS SECUENCIALES • La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. • Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso. En Pseudocódigo una Estructura Secuencial se representa de la siguiente forma: • PSEUDOCODIGO :Nombre • Variables. • Nombre: Tipo de dato. • Constantes • Nombre = Valor • INICIO • acción • accion1 • accion2 • acción N • FIN INICIO accion 1 accion 2 accion N FINAL
  • 9. EJEMPLO DE UNA ESTRUCTURA SECUENCIAL. • Ejemplo 1: Escriba un algoritmo que pregunte por dos números y muestre como resultado la suma de estos. Use Pseudocódigo y diagrama de flujos. • • PSEUDOCÓDIGO SUMAR • • Variables: Num1,Num2,Suma: Entero • • INICIO • Escribir ('introduzca dos números') • leer (Num1, Num2) • Suma=Num1 + Num2 • escribir ('La suma es:' , Suma) • FIN • INICIO num1,num2,Suma:ENTER O "Diga dos numeros" Num1,Num2 Suma<- Num1+Num2 "La suma es ;", Suma FIN
  • 10. ESTRUCTURAS DE DECISIÓN • ESTRUCTURAS DE DECISIÓN: Estas permiten seleccionar la próxima sentencia a ejecutarse sobre la • base de una decisión (expresión lógica o variable lógica). Los tipos de estructuras de decisión que podemos encontrar son: ● Simples ● Dobles • ● Múltiples ESTRUCTURAS DE DECISION SIMPLE _SI: • La estructura de selección simple permite ejecutar una acción o un grupo de acciones sólo si se cumple una determinada condición. Si la condición es verdadera se ejecuta la acción acciona; en caso contrario, no se hace nada. Pseudocódigo (acción simple)SI( condición ) acciona • Pseudocódigo (acción compuesta) • SI( condición ){ acciona1 acciona2 . . . Accionan. Si • Por ejemplo, si se desea cambiar el signo de un número únicamente en caso que sea negativo, podemos escribir: • SI( numero < 0 ) numero = -1 * numero Condición No Proposición
  • 11. SELECCIÓN DOBLE SI -SINO • La estructura de selección doble permite seleccionar una ruta de dos rutas posibles en base a la verdad o falsedad de una condición. Si la condición es verdadera, se ejecuta la acción A; en caso contrario, se ejecuta la acción B. • Pseudocódigo (acción simple)SI( condición ) acciona SINO accionb Pseudocódigo (acción compuesta)SI( condición ){ acciona1 acciona2 . . . accionan SINO{ accionb1 accionb2 . . . Accionbn. • Por ejemplo: la siguiente estructura de selección doble determina si una persona es mayor o menor de edad: • SI( edad >= 18 ) estado = "Mayor de edad" SINO estado = "Menor de edad" Si No Accionb Condición Acciona
  • 12. ESTRUCTURA DE DECISIÓN MÚLTIPLE SEGUN • La estructura de selección múltiple SEGUN permite elegir una ruta de entre varias rutas posibles, en base al valor de una variable que actúa como selector. La estructura compara el valor del selector con las constantes c1, c2, ..., en orden descendente. En el momento en que se encuentre una coincidencia, se ejecuta la acción correspondiente a dicha constante y se abandona la estructura. • PseudocódigoSEGUN( selector ){V CASO c1 : accion1 CASO c2 : accion2 CASO c3 : accion3 . . . CASO cn : accionn DEFECTO : acciondefecto • Por ejemplo, la siguiente estructura de selección múltiple • determina el nombre de la estación del año conociendo el • número de la estación • (1 para Primavera, 2 para Verano, 3 para Otoño y 4 para Invierno) : SEGUN(numeroEstacion){ CASO 1 : nombreEstacion = "Primavera" CASO 2 : nombreEstacion = "Verano" CASO 3 : nombreEstacion = "Otoño" DEFECTO : nombreEstacion = "Invierno" selector==c1 selector==c2 selector==cn acciondecto accion1 break accion2 break accion3 break F F F V V V
  • 13. ESTRUCTURAS DE REPETICIÓN • Permiten la ejecución de una lista o secuencia de instrucciones (bloque de instrucciones) en varias ocasiones. • El número de veces que el bloque de instrucciones se ejecutará se puede especificar de manera explícita, o a través de una condición lógica que indica cuándo se ejecuta de nuevo y cuándo no. • A cada ejecución del bloque de instrucciones se le conoce como una iteración. • Existen tres tipos principales de sentencias de repetición: • - Ciclo mientras • - Ciclo haga-mientras • - Ciclo para
  • 14. CICLO MIENTRAS • El ciclo mientras permite ejecutar un bloque de instrucciones mientras que una expresión lógica dada se cumpla, es decir, mientras su evaluación dé como resultado verdadero. • La expresión lógica se denomina condición y siempre se evalúa antes de ejecutar el bloque de instrucciones. • Si la condición no se cumple, el bloque no se ejecuta. Si la condición se cumple, el bloque se ejecuta, después de lo cual la instrucción vuelve a empezar, es decir, la condición se vuelve a evaluar. • En el caso en que la condición evalúe la primera vez como falsa, el bloque de instrucciones no será ejecutado, lo cual quiere decir que el número de repeticiones o iteraciones de este bloque será cero. • Si la condición siempre evalúa a verdadero, la instrucción se ejecutará indefinidamente, es decir, un número infinito de veces. • En Pseudocódigo: • mientras <condición> hacer • <bloque instrucciones> fin _mientras ENTRADA CONDICION v BLOQUE f Donde, <condición> es la expresión lógica que se evalúa para determinar la ejecución o no del bloque de instrucciones, y <bloque instrucciones> es el conjunto de instrucciones que se ejecuta si la condición evalúa a Verdadero.
  • 15. EJEMPLO DE CICLO MIENTRAS EJEMPLO: Separa un numero entero en sus dígitos Proceso Dígitos Escribir "Ingrese un numero entero positivo:" Leer n // Primero, Contar Cuantos Dígitos cont <- 0 aux <- n Mientras aux>0 hacer // mientras no sea cero cont <- cont + 1 // contar cuantos dígitos aux <- trunc(aux/10) // dividir por 10 y despreciar los de Fin Mientras Escribir "El numero tiene ",cont," dígitos" // luego, mostrarlos uno por uno aux<-n Para i<-1 hasta cont Hacer pot <- 10^(cont-i) // por cuanto hay que dividir para obtener el primer digito digito <- trunc (aux / pot) // obtener el digito aux <- aux - digito*pot // quitar ese digito al numero Escribir "El digito ",i," es ",digito Fin Para Fin Proceso Proceso Digitos "Ingrese un numero entero positivo" n cont<-0 aux <- n aux>0 cont <- cont + 1 aux <- trunc(aux/10) "El numero tiene " , cont , "digitos" aux<-n pot<-10*(cont-i) digito<-trunc(aux/pot) aux<-aux-digito*pot "El digito",i,"es , digito Fin proceso
  • 16. CICLO PARA • El ciclo Para ejecuta un bloque de instrucciones un número determinado de veces. • Este número de veces está controlado por una variable contadora (de tipo entero) que toma valores desde un límite inferior hasta un límite superior. • En cada ciclo después de ejecutar el bloque de instrucciones, la variable contadora es incrementada en 1 automáticamente y en el momento en que la variable sobrepasa el límite superior, el ciclo termina. – para variable  valor_inicial hasta valor_final [incremento valor_incremento] hacer bloque_de_instrucciones – fin_para – En una instrucción repetitiva Para, siempre se utiliza una variable a la que se le debe asignar un valor_inicial. 1. Inicio 2. para contador  1 hasta 10 incremento 1 hacer 3. Escribir (contador) 4. fin_para 5. Fin VarControl<-Val_inicial VarControl <=Val_final Sentencias VarControl<- VarControl+1 SI No
  • 17. EJEMPLO DE CICLO PARA • // Calcula el promedio de una lista de N datos • Proceso Promedio: • Escribir "Ingrese la cantidad de datos:" • Leer n • • acum<-0 • • Para i<-1 Hasta n Hacer • Escribir "Ingrese el dato ",i,":" • Leer dato • acum<-acum+dato • FinPara • • prom<-acum/n • • Escribir "El promedio es: ",prom • • FinProceso Proceso Promedio "Ingrese la cantidad de datos! n acum<-0 ingrese el dato , i dato acum<-acum+dato prom<-acum/n "El promedio es ",prom Fin proceso
  • 18. BIBLIOGRAFIA Paginas Web: http://es.wikipedia.org/wiki/Algoritmo Wikipedia Definiciones. http://www.cs.buap.mx/~andrex/ pagina del profesor José Andrés vesques flores http://informaticaingqmi.blogspot.mx/2010/11/estructuras-de-decision-simples-y.html blog de la Ing. María Piña. http://www.fceqyn.unam.edu.ar/infoiq/temas/Algoritmia/Algoritmia/cap03.htm ejercicios propuestos por David Espinoza Sandoval