SlideShare uma empresa 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 
Condición 
Si 
Pseudocódigo (acción compuesta) 
SI( condición ){ 
acciona1 
acciona2 
. 
. 
. 
Accionan. 
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 
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 
Si No 
Accionb 
Condición 
Acciona 
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"
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

Mais conteúdo relacionado

Mais procurados

Algoritmos de entrada, proceso y salida
Algoritmos de entrada, proceso y salidaAlgoritmos de entrada, proceso y salida
Algoritmos de entrada, proceso y salida
Israel Alfonso
 
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
DianaaLSRojas
 
Reglas Para Diagramas
Reglas Para DiagramasReglas Para Diagramas
Reglas Para Diagramas
francisco3011
 
Diagramas De Flujo
Diagramas De FlujoDiagramas De Flujo
Diagramas De Flujo
carlospaul
 
¿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
 
Algoritmos y diagramas de flujos
Algoritmos y diagramas de flujosAlgoritmos y diagramas de flujos
Algoritmos y diagramas de flujos
Walter Manero
 
Instrucciones basicas para_c_
Instrucciones basicas para_c_Instrucciones basicas para_c_
Instrucciones basicas para_c_
Diego Arturo
 
Algoritmos y clase
Algoritmos y claseAlgoritmos y clase
Algoritmos y clase
daosma
 

Mais procurados (20)

Algoritmos secuenciales
Algoritmos secuencialesAlgoritmos secuenciales
Algoritmos secuenciales
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Apartes De Algoritmos
Apartes De AlgoritmosApartes De Algoritmos
Apartes De Algoritmos
 
Algoritmos de entrada, proceso y salida
Algoritmos de entrada, proceso y salidaAlgoritmos de entrada, proceso y salida
Algoritmos de entrada, proceso y salida
 
Diseño y elaboración de algoritmos
Diseño y elaboración de algoritmosDiseño y elaboración de algoritmos
Diseño y elaboración de algoritmos
 
Tipos de algoritmos
Tipos de algoritmosTipos de algoritmos
Tipos de algoritmos
 
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
 
Reglas Para Diagramas
Reglas Para DiagramasReglas Para Diagramas
Reglas Para Diagramas
 
Diagramas De Flujo
Diagramas De FlujoDiagramas De Flujo
Diagramas De Flujo
 
Algoritmos21
Algoritmos21Algoritmos21
Algoritmos21
 
Diferencia entre pseudocodigo y algoritmo
Diferencia entre pseudocodigo y algoritmoDiferencia entre pseudocodigo y algoritmo
Diferencia entre pseudocodigo y algoritmo
 
Guía didáctica estructura secuenciales
Guía didáctica estructura secuencialesGuía didáctica estructura secuenciales
Guía didáctica estructura secuenciales
 
¿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?
 
Algoritmos y diagramas de flujos
Algoritmos y diagramas de flujosAlgoritmos y diagramas de flujos
Algoritmos y diagramas de flujos
 
Clase 1 analisis de algoritmos
Clase 1 analisis de algoritmosClase 1 analisis de algoritmos
Clase 1 analisis de algoritmos
 
Instrucciones basicas para_c_
Instrucciones basicas para_c_Instrucciones basicas para_c_
Instrucciones basicas para_c_
 
Algoritmos y clase
Algoritmos y claseAlgoritmos y clase
Algoritmos y clase
 
Lógica de programación basica
Lógica de programación basicaLógica de programación basica
Lógica de programación basica
 
Algoritmos, Diagramas,Pseudocódigos
Algoritmos, Diagramas,Pseudocódigos Algoritmos, Diagramas,Pseudocódigos
Algoritmos, Diagramas,Pseudocódigos
 
Algoritmos y programas ing civil
Algoritmos y programas ing civil Algoritmos y programas ing civil
Algoritmos y programas ing civil
 

Semelhante 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
Nataly Rojitas
 
Estructura Repetitivas
Estructura RepetitivasEstructura Repetitivas
Estructura Repetitivas
laryenso
 

Semelhante a Que es un algoritmo de jorge magaña (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
 
Unidad temática v
Unidad temática vUnidad temática v
Unidad temática v
 
fp_p4.pdf
fp_p4.pdffp_p4.pdf
fp_p4.pdf
 
practicas dfd
practicas dfdpracticas dfd
practicas dfd
 
Estructuras alg
Estructuras algEstructuras alg
Estructuras alg
 
Power point
Power pointPower point
Power point
 
INTRODUCCIÓN A LA PROGRAMACIÓN
INTRODUCCIÓN A LA PROGRAMACIÓNINTRODUCCIÓN A LA PROGRAMACIÓN
INTRODUCCIÓN A LA PROGRAMACIÓN
 
Sintaxis de los algoritmos estructurados
Sintaxis de los algoritmos estructuradosSintaxis de los algoritmos estructurados
Sintaxis de los algoritmos estructurados
 
Guia4
Guia4Guia4
Guia4
 
Estructuras de control algoritmos dq
Estructuras de control algoritmos   dqEstructuras de control algoritmos   dq
Estructuras de control algoritmos dq
 
GRAFCET [Autoguardado].pptx
GRAFCET [Autoguardado].pptxGRAFCET [Autoguardado].pptx
GRAFCET [Autoguardado].pptx
 
Estructuras de control de flujo
Estructuras de control de flujoEstructuras de control de flujo
Estructuras de control de flujo
 
Los lenguajes
Los lenguajesLos lenguajes
Los lenguajes
 
2ª unidad de algoritmo
2ª unidad de algoritmo2ª unidad de algoritmo
2ª unidad de algoritmo
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Estructura Repetitivas
Estructura RepetitivasEstructura Repetitivas
Estructura Repetitivas
 
dqwrwer
dqwrwerdqwrwer
dqwrwer
 
Presentacion ciclos-1
Presentacion ciclos-1Presentacion ciclos-1
Presentacion ciclos-1
 
11 estructuras de repeticion-tema11
11 estructuras de repeticion-tema1111 estructuras de repeticion-tema11
11 estructuras de repeticion-tema11
 

Último

Letra de cambio definición y características.ppt
Letra de cambio definición y características.pptLetra de cambio definición y características.ppt
Letra de cambio definición y características.ppt
ssuserbdc329
 
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdfLos más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
JC Díaz Herrera
 
INFORME FINAL ESTADISTICA DESCRIPTIVA E INFERENCIAL
INFORME FINAL ESTADISTICA DESCRIPTIVA E INFERENCIALINFORME FINAL ESTADISTICA DESCRIPTIVA E INFERENCIAL
INFORME FINAL ESTADISTICA DESCRIPTIVA E INFERENCIAL
MANUELVILELA7
 
PLAN ANUAL DE PROYECTO 2020. para mejorar
PLAN ANUAL DE PROYECTO 2020. para mejorarPLAN ANUAL DE PROYECTO 2020. para mejorar
PLAN ANUAL DE PROYECTO 2020. para mejorar
CelesteRolon2
 

Último (20)

Análisis del Modo y Efecto de Fallas AMEF.ppt
Análisis del Modo y Efecto de Fallas AMEF.pptAnálisis del Modo y Efecto de Fallas AMEF.ppt
Análisis del Modo y Efecto de Fallas AMEF.ppt
 
Letra de cambio definición y características.ppt
Letra de cambio definición y características.pptLetra de cambio definición y características.ppt
Letra de cambio definición y características.ppt
 
CUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptx
CUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptxCUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptx
CUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptx
 
Las marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdfLas marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdf
 
Investigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdfInvestigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdf
 
Las familias más ricas de África en el año (2024).pdf
Las familias más ricas de África en el año (2024).pdfLas familias más ricas de África en el año (2024).pdf
Las familias más ricas de África en el año (2024).pdf
 
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdfCALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
 
Porcentaje de población blanca europea en Europa Occidental (1923-2024).pdf
Porcentaje de población blanca europea en Europa Occidental (1923-2024).pdfPorcentaje de población blanca europea en Europa Occidental (1923-2024).pdf
Porcentaje de población blanca europea en Europa Occidental (1923-2024).pdf
 
procedimiento paran la planificación en los centros educativos tipo v(multig...
procedimiento  paran la planificación en los centros educativos tipo v(multig...procedimiento  paran la planificación en los centros educativos tipo v(multig...
procedimiento paran la planificación en los centros educativos tipo v(multig...
 
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdfLos más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
 
INFORME FINAL ESTADISTICA DESCRIPTIVA E INFERENCIAL
INFORME FINAL ESTADISTICA DESCRIPTIVA E INFERENCIALINFORME FINAL ESTADISTICA DESCRIPTIVA E INFERENCIAL
INFORME FINAL ESTADISTICA DESCRIPTIVA E INFERENCIAL
 
Evolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdfEvolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdf
 
variables-estadisticas. Presentación powerpoint
variables-estadisticas. Presentación powerpointvariables-estadisticas. Presentación powerpoint
variables-estadisticas. Presentación powerpoint
 
PLAN ANUAL DE PROYECTO 2020. para mejorar
PLAN ANUAL DE PROYECTO 2020. para mejorarPLAN ANUAL DE PROYECTO 2020. para mejorar
PLAN ANUAL DE PROYECTO 2020. para mejorar
 
Alfredo Gabriel Rodriguez Yajure Tarea#1
Alfredo Gabriel Rodriguez Yajure Tarea#1Alfredo Gabriel Rodriguez Yajure Tarea#1
Alfredo Gabriel Rodriguez Yajure Tarea#1
 
Los idiomas más hablados en el mundo (2024).pdf
Los idiomas más hablados en el mundo  (2024).pdfLos idiomas más hablados en el mundo  (2024).pdf
Los idiomas más hablados en el mundo (2024).pdf
 
6.3 Hidrologia Geomorfologia Cuenca.pptx
6.3 Hidrologia Geomorfologia Cuenca.pptx6.3 Hidrologia Geomorfologia Cuenca.pptx
6.3 Hidrologia Geomorfologia Cuenca.pptx
 
Perú en el ranking mundial, segun datos mineria
Perú en el ranking mundial, segun datos mineriaPerú en el ranking mundial, segun datos mineria
Perú en el ranking mundial, segun datos mineria
 
Principales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto RicoPrincipales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto Rico
 
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docxAMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
 

Que es un algoritmo de jorge magaña

  • 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 Condición Si Pseudocódigo (acción compuesta) SI( condición ){ acciona1 acciona2 . . . Accionan. 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 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 Si No Accionb Condición Acciona 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"
  • 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