SlideShare una empresa de Scribd logo
1 de 73
ALGORITMO
¿Qué es un algoritmo?
Es un conjunto de pasos, instrucciones que se deben
seguir y ejecutar de manera ordenada para alcanzar un
fin deseado.
¿Para qué nos sirven los algoritmos?
Para resolver problemas de la vida cotidiana y ordenar
prioridades; pueden ser ejecutados por un procesador
utilizando un lenguaje de programación como: Visual
Basic, C, C++, PHP entre otros.
Conceptos básicos.
Aspectos que se deben considerar a la hora de escribir un algoritmo:
• Determinación de las primitivas de las que partimos
• Lenguaje simbólico a utilizar para desarrollar el algoritmo
• Representación de los datos
• Establecer datos de entrada
• Establecer datos de salida
• Establecer las relaciones entre los datos de entrada y los de salida
Condiciones que debe cumplir un algoritmo:
• Ser finito: El algoritmo debe acabar tras un número finito de pasos
• Estar bien definido: Todas las ejecuciones del algoritmo con los mismos datos de
entrada deben devolver los mismos datos de salida.
Diferencias entre un algoritmo y un programa:
• Los algoritmos no son directamente interpretables por el computador => deben ser
traducidos a un lenguaje de programación concreto.
Algoritmo
Es un procedimiento computacional bien definido que toma un
conjunto de valores como entrada y produce otro conjunto de
valores como salida.
Representación de algoritmos
• Métodos para representar un algoritmo:
– Pseudolenguaje
– Diagramas de flujo
• Pseudolenguaje
– Es un lenguaje específico de descripción de algoritmos
– La traducción de un algoritmo escrito en pseudolenguaje a un programa
en un lenguaje de programación determinado es relativamente simple
• Herramientas de un pseudolenguaje para representar un algoritmo
– Conjunto de palabras clave que proporcionan:
• las estructuras de control
• declaraciones de variables
• características de modularidad
– Sintaxis libre de un lenguaje natural que describe las características del
proceso
– Elementos para la definición y llamada a subprogramas
Metodología de diseño
Un problema => muchos algoritmos para resolverlo
¿Cómo elegir el más adecuado? Basándonos en las siguientes
características:
– Legibilidad – Eficiencia
– Portabilidad – Modularidad
– Modificabilidad – Estructuración
Metodología de diseño
Programación estructurada
– Conjunto de técnicas que aumentan la productividad de un
programa, reduciendo el tiempo para:
• Escribir • Depurar
• Verificar • Mantener
– Utiliza un número limitado de estructuras de control que
minimizan la complejidad de los problemas
– Teorema de BOHM-JACOPINI: cualquier programa, por
complejo que sea, puede escribirse utilizando sólo tres estructuras
de control:
– Secuencial
– Selectiva
– Repetitiva
Cuantitativos
Son aquellos que intervienen cálculos numéricos se
relacionan con los operadores aritméticos y de
relación.
Cualitativos
Son aquellos que describen los pasos utilizando
palabras.
Los algoritmos se clasifican en dos tipos:
Texto Narrativo (consiste en escribir paso a paso las
acciones).
Diagrama de Flujo (Representac. grafica mediante el uso
de símbolos).
Pseudocódigo (Usar lenguaje no formal para describir la
secuencia de acciones).
Los algoritmos pueden ser representados mediante las
siguientes técnicas:
METODOLOGÍA PARA
RESOLVER PROBLEMAS
Principalmente abordamos la definición de problema:
¿Qué es un problema?
Es algo que hay que resolver; situación de diferente índole.
Observa la imagen donde presenta el concepto de problema:
Factores: condiciones o alternativas Valores de salida
Situación
inicial
Proceso
Situación
Final
Valores de entrada
 Identificar el problema y delimitarlo; especificar cuál es la situación.
 Analizar el problema y plantear alternativas de solución.
 Elegir alternativa de solución para comenzar a diseñar el algoritmo.
 Desarrollar la solución
 Evaluar la solución; realizar prueba de escritorio o emplear lenguaje
de programación.
Seguir la metodología para resolver problemas
CARACTERÍSTICAS
DE LOS
ALGORITMOS
Un algoritmo requiere cumplir con cinco condiciones importantes:
1. Finito: porque termina en algún momento.
2. Definido: Si sigue el algoritmo dos veces se tiene el mismo
resultado
3. Entrada: Generar datos de inicio.
4. Salida: Al término del algoritmo tiene relación con los datos de
entrada.
5. Efectivo: todas las operaciones son sencillas para ser exactas.
Estructura de un Algoritmo
Todo algoritmo consta de tres secciones principales:
Entrada: Es la introducción de datos para ser
transformados.
Proceso: Es el conjunto de operaciones a realizar para
dar solución al problema.
Salida: Son los resultados obtenidos a través del
proceso.
Entrada Proceso Salida
Diseño de algoritmos
Alternativas de solución
Es la forma de representar la secuencia lógica
de ejecución de instrucciones.
Esta puede ser a través de:
1) Diagramas de flujo
2) Pseudocódigo
DIAGRAMAS DE FLUJO
Un diagrama de flujo representa gráficamente
a un algoritmo y éste muestra la solución de
un problema y se puede trasladar a un
lenguaje de programación.
Diagramas de entrada- Proceso – Salida
Inicio: leer datos de entrada
Procesar los datos.
Escribir datos de salida.
Diagrama de Flujo de Datos (DFD)
- El resultado de este análisis deberá ser:
• Gráfico
• Lógico , nunca referido a entornos físicos
• Preciso y breve
• Comprensible
• Debidamente particionado
• Bien documentado
• Nunca redundante
• No ambiguo
- En los DFD no se deberá modelizar:
Procedimientos, puntos de inicio y de terminación del DFD
condiciones, tratamientos de errores poco relevantes
Diagrama de flujo
Es empleado para representar la solución de un
algoritmo empleando figuras geométricas, donde
cada una de ellas representa en particular una tarea
especifica que realizar.
Las más comunes son:
SIMBOLO UTILIDAD
El rectángulo se utiliza para
identificar las acciones a
realizar, es decir, este símbolo
indica el proceso a realizar
El trapezoide, indica la entrada
o lectura de los datos
El rombo, es la caja de
decisiones, representa las
alternativas con solo dos
posibles opciones SI y NO
SIMBOLO UTILIDAD
Los círculos, son utilizados para
indicar el inicio y el final del
algoritmo.
El cono se utiliza para indicar una
salida en pantalla.
La flecha, indica la secuencia de
acciones a realizar, es decir, es
quien marca la continuidad y orden de
ejecución de las acciones propias del
problema a resolver.
SIMBOLO UTILIDAD
Representa la repetición de pasos a
a través de los ciclos
SIMBOLOGÍA EMPLEADA PARA
DIAGRAMAS DE FLUJO
21
Líneas de flujo: Es una línea con una flecha (y solo una flecha) que permite conectar los
bloques del diagrama. La flecha indica la secuencia en la que se van a ejecutar las acciones.
Símbolos Utilizados.
Principio y Fin: Todo algoritmo y por lo tanto, todo diagrama de flujo tiene un principio y un fin
(y son únicos). Dentro de este bloque se coloca la palabra “INICIO” o “FIN” según
corresponda.
"INICIO” o “FIN”
Proceso: Aquí dentro se escribe la acción que debe realizar el programa. Si son varias, se
escriben una debajo de la otra, sin olvidarse que se ejecutan una a una en forma secuencial
según en qué orden fueron escritas.
Acciones
22
Condición: Dentro de este bloque se escribe una condición. Si ésta es verdadera, entonces
el algoritmo tomará una de sus salidas, de lo contrario, tomará la siguiente. Permite
representar estructuras del tipo selectivas y repetitivas.
Símbolos Utilizados.
Entrada y Salida: Representa acciones de entrada salida desde un teclado o hacia una
pantalla respectivamente. Es decir, si debemos ejecutar una acción que consiste en leer un
dato que se ingresa mediante el teclado de una PC y almacenarlo en la variable de nombre
“a”, entonces dicha acción se describe dentro de este bloque como “leer a”.
Condición
Verdadera
?
Leer o Escribir
Si No
23
Conectores: Permiten “unir” diagramas de flujo cuando éstos no caben en una misma
columna de la hoja por completo. Es decir, cuando debemos, por cuestiones de espacio en la
hoja, fragmentar el programa entonces utilizamos estos bloques para indicar los puntos de
unión. Cada par de puntos que se deben unir llevarán dentro de este bloque el mismo
número.
En la misma hoja: En otra hoja:
Símbolos Utilizados.
Comentarios: Es una aclaración para comprender mejor el código del programa, pero no
forma parte del código, es decir, no se ejecuta.
24
RECORDAR: CONCEPTO DE
ALGORITMO: Un algoritmo es
un conjunto de pasos o
secuencia de instrucciones
que, ejecutadas en un
determinado orden, permiten
resolver un problema
determinado.
Diagrama de Flujo Elemental.
INICIO
Declaración e
Inicialización de
Variables
Entrada de
Datos
Presentación de
Resultados en
Pantalla
Procesamiento de
Datos
FIN
Esto es un comentario.
25
Diagrama de Flujo Elemental.
INICIO
Declaración e
Inicialización de
Variables
Entrada de
Datos
Presentación de
Resultados en
Pantalla
FIN
Condición
Verdadera
?
Si No
Acción 1 Acción 2
Ejemplo de DF de un algoritmo genérico que incluye
una bifurcación.
Si la Condición es Verdadera, se ejecuta la Acción 1 y
en caso contrario (Falsa) la Acción 2.
26
PSEUDOCÓDIGO
27
• El pseudocódigo es una manera de escribir algoritmos de forma poco estricta
(con una sintaxis relajada) o estructuras de datos poco detalladas, pero
intentando acercar las ideas del algoritmos a estructuras y sintaxis parecidas a
las de los lenguajes de alto nivel en los que vamos a programar el algoritmo.
• Es para ser leído por personas, por tanto no se preocupa en detalles
sintácticos.
• Es un lenguaje de especificación de algoritmos, pero muy parecido a cualquier
lenguaje de programación, por lo que luego su traducción al lenguaje de
programación es muy sencillo, pero con la ventaja de que no se rige por las
normas de un lenguaje en particular. Nos centramos más en la lógica del
problema.
• El pseudocódigo también va a utilizar una serie de palabras claves o palabras
especiales que va indicando lo que significa el algoritmo.
Pseudocódigo.
28
1. INICIO y FIN: Por donde empieza y acaba el algoritmo.
2. DATOS: Aquí se declaran e inicializan las variables que utilizará el algoritmo.
3. ALGORITMO: En esta sección se escribe el algoritmo.
Pseudocódigo - Sintaxis Utilizada.
Pseudocódigo de un algoritmo genérico:
INICIO.
DATOS: ** esto es un comentario **
entero a ; ** declaración de una variable entera **
real b = 0 ; ** declaración e inicialización de una variable **
ALGORITMO:
leer a ;
b = a + 5 ;
escribir b ;
FIN.
CARACTERISTICAS
DE UN PSEUDOCÓDIGO
Las características que definen a un Pseudocódigo son las siguientes:
a) Emplea palabras normales de un idioma.
b) No existe vocabulario obligado y por el uso frecuente se establecen estándares.
c) Las instrucciones deben ser precisas con precisión.
d) Las instrucciones no requieren rigurosidad de las empleadas en el lenguaje de
programación.
e) Un algoritmo representado en Pseudocodigo puede convertirse en código de un
lenguaje de programación.
Conocer los tipos de datos que serán empleados adecuadamente.
En sentido amplio un tipo de dato define un conjunto de valores y las
operaciones sobre estos valores.
 Enteros: números enteros positivos y negativos.
 Reales: Se identifican por ser un número que lleva un punto decimal.
 Caracteres: Son números, letras o símbolos entre apóstrofos.
 Cadenas: Se expresan en comillas y consiste una secuencia de caracteres.
 Lógicos: Solo tienen dos valores Falso y verdadero.
Variables
Permite almacenar de forma temporal un valor y el cual
puede cambiar durante la ejecución del algoritmo ó
programa.
Toda variable tiene un nombre que sirve para
identificarla.
Ejemplo:
prom=(calf1+calf2+calf3)/3
Las variables son: prom, calf1, calf2, calf3.
Constantes
Son datos numéricos o alfanuméricos que contienen un
valor y que no cambia durante la ejecución del
algoritmo ó programa.
Ejemplos:
prom=(calf1+calf2+calf3)/3
PI=3.1416
Las constantes son: 3, PI.
Operadores y Expresiones
Expresiones: Es un conjunto de constantes, variables,
operadores con lo que se realizan las operaciones y
permite obtener un resultado.
Ejemplo:
resultado  a*(2*b+5)/c
Cal_final (cali1+cali2)/2
Operadores: Es un símbolo que permite manipular los
valores de variables y/o constantes.
Operadores matemáticos
1) ^ **
2) * / div mod
3) + -
Los operadores con igual nivel de prioridad se
evalúan de izquierda a derecha.
Operador de asignación
= ó 
Sirve para recuperar o guardar los valores obtenidos al
realizarse o ejecutarse una expresión.
Operadores de relación
1) Mayor que >
2) Menor que <
3) Mayor igual que >=
4) Menor igual que <=
5) Igual =
6) Diferencia < > !=
•Son empleados para comparar dos ó más valores.
•Su resultado produce valores como verdadero y
falso.
•Tienen el mismo nivel de prioridad.
Operadores Lógicos o booleanos
•Son empleados para comparar dos valores (verdadero y
falso)
•Su resultado produce valores como verdadero y falso.
•Los tres tienen el mismo nivel de prioridad.
VAL1 VAL2 RESUL
Cierto Cierto Cierto
Cierto Falso Falso
Falso Cierto Falso
Falso Falso Falso
AND
VAL1 VAL2 RESUL
Cierto Cierto Cierto
Cierto Falso Cierto
Falso Cierto Cierto
Falso Falso Falso
OR
VAL1 RESUL
Cierto Falso
Falso Cierto
NOT
Prioridad entre los Operadores
1) Matemáticos
2) Relacionales
3) Lógicos
4) De asignación
Siempre se ejecutan de
izquierda a derecha en
caso de haber dos ó más
operadores con el mismo
nivel de prioridad.
ESTRUCTURAS DE CONTROL
 Secuencial
 Selección
 Repetición
Las estructuras que se encuentran en el desarrollo de los algoritmos
pueden clasificarse de la siguiente manera
Ejemplo: Estructura Secuencial
Secuenciales
Ejemplo:
Inicio
Leer N1, N2
SUMA=N1+N2
Escribir SUMA
Fin
Pseudocódigo DFD
Selectivas: Se utilizan para TOMAR DECISIONES.
 Simples
Lo que se hace es EVALUAR la condición, si la
condición es verdadera realiza la acción, en caso
contrario termina el programa.
Si <condición> entonces
Acción(es)
Fin-si
Selectivas Simples
Ejemplo:
Pseudocódigo DFD
Inicio
Leer COMPRA
Si COMPRA>1000 entonces
DESCUENTO=COMPRA*0.10
PAGO=COMPRA–
DESCUENTO
Escribir PAGO
Finsi
Fin
Ejemplo Estructura Selección
simple
Selectivas
 Doble
Luego de evaluar una condición si esta se
cumple, es decir si es verdadera realiza una serie
de acciones, y si esta es falsa se realiza otra serie
de acciones distinta a la primera.
Si <condición> entonces
Acción(es)
Sino
Acción(es)
Finsi
Selectivas Doble
Ejemplo:
Inicio
Leer EDAD
Si EDAD>=18 entonces
Escribir “Mayor de
edad”
Sino
Escribir “Menor de
edad”
Finsi
Fin
Pseudocódigo DFD
Ejemplo: estructura Selección
Doble
Selectivas
 Múltiple
Se realiza a partir de anidar estructuras simples
y/o dobles, de manera tal que se realicen
diferentes acciones con base a varias
comparaciones, así habrá tantas opciones como
se requieran.
Si <condición> entonces
Acción(es)
Sino
Si <condición> entonces
Acción(es)
Sino
.
. Varias condiciones
.
Finsi
Finsi
48
Si: Si la Condición es Verdadera, se ejecuta la Acción, sino el algoritmo continua con su
ejecución.
Estructuras de Control Selectivas.
Condición
Verdadera
?
Si
No
Acción
Si < Condición >
<Acción>
Fin_Si
49
Si – Sino: Si la Condición es Verdadera, se ejecuta la Acción 1, sino el algoritmo ejecuta la
Acción 2. Luego el algoritmo continua con su ejecución.
Condición
Verdadera
?
Si
No
Acción 1 Acción 2
Si < Condición >
< Acción 1 >
Sino < Acción 2 >
Fin_Si
Estructuras de Control Selectivas.
50
Si – Sino – Si: Si la Condición 1 es Verdadera, se ejecuta la Acción 1, sino el algoritmo
evalúa la Condición 2. Si es Verdadera, ejecuta la Acción 2 y sino la Acción 3.
Cond. 1
Verdadera
?
Si
No
Acción 1
Acción 3
Cond. 2
Verdadera
?
Acción 2
Si
No
Si < Condición 1 >
< Acción 1 >
Sino_Si < Condición 2 >
< Acción 2 >
Sino < Acción 3 >
Fin_Si
Estructuras de Control Selectivas.
51
Según (alternativa múltiple): Se evalúa una condición o expresión que puede tomar “n”
valores. Según el valor que la expresión tenga en cada momento se ejecutan las acciones
correspondientes al valor. El valor con el que se compara la expresión, va a depender de los
lenguajes, de lo que sea ese valor. En general ese valor puede ser un valor constante, un
rango de valores o incluso otra condición.
Expresión
o
Condición
Acción 1 Acción “n”
Acción 2
Según <expresión>
< Valor 1 >: < Acción 1 >
< Valor 2 >: < Acción 2 >
< Otro >: < Acciones >
Fin_Según
Estructuras de Control Selectivas.
…
Selectivas Múltiple
Ejemplo:
Pseudocódigo DFD
Inicio
Leer NUMERO
Si NUMERO=0 entonces
Escribir “Número cero”
Sino
Si NUMERO>0
Escribir “Número positivo”
Sino
Escribir “Número negativo”
Finsi
Finsi
Fin
Ejemplo: Estructura Iterativa
Repetitivas: Este tipo de estructura se utilizan
para ejecutar acciones repetidamente, esto
se hace posible mediante una secuencia de
instrucciones que se repiten una y otra vez y
así evitamos escribir múltiples veces las
mismas instrucciones.
Repetitiva
 Para
Esta estructura ejecuta los pasos de la solución
del algoritmo un número definido de veces y de
modo automático controla el número de
iteraciones o pasos a través del cuerpo del ciclo.
Para el control se utiliza un contador en el cual
se va acumulando el número de veces que se
ha repetido las instrucciones.
Hacer para V.C = LI a
L.S
Acción1
Acción2
.
.
AcciónN
Fin para
V.C Variable de control de
ciclo
L.I Límite inferior
L.S Límite superior
Repetitiva Para
Ejemplo:
Pseudocódigo
Proceso sin_titulo
Para DATOS<-1 Hasta 5 Con Paso 1 Hacer
Leer NUM1,NUM2;
SUMA<-NUM1+NUM2;
Escribir "el resultado de sumar ",NUM1," + ",NUM2," =
",SUMA;
FinPara
FinProceso
Repetitiva Para
Ejemplo:
DFD
58
Desde – Hasta o Para: Se utiliza cuando se sabe el número exacto de veces que hay que
iterar. Para ello el bucle llevará asociado una variable “índice”, a la que se le asigna un valor
inicial y se determina cual va a ser su valor final y además se va a incrementar (o
decrementar) en cada iteración de bucle en un valor constante.
Variable = Inicio ; Condición? ; Inc. “n”
Condición
Verdadera
?
Si
No
Acción
Acción
No
Si
Inicio
Acción 2
Para variable = Vi, variable < Vf, Inc n
<Acción>
Fin_Para
Estructuras de Control Repetitivas.
(Recuerde que…)
Repetitiva
 Mientras
Este se utiliza cuando NO sabemos el número
de veces que se ha de repetir un ciclo, los ciclos
se determinan por una condición que se evalúa
al inicio del ciclo, es decir, antes de ejecutarse
todas los pasos.
Hacer mientras <condición>
Accion1
Accion2
.
.
AccionN
Fin-mientras
Repetitiva Mientras
Ejemplo
Pseudocódigo
Proceso sin_titulo
Escribir "Hay alumno";
Leer ALUM;
Mientras ALUM="s" Hacer
Leer CALIF1,CALIF2;
PROM<-(CALIF1+CALIF2)/2;
Escribir "El promedio del alumno es ",PROM;
Escribir "Hay alumno";
Leer ALUM;
FinMientras
FinProceso
Repetitiva Mientras
Ejemplo
DFD
62
Mientras: Se evalúa la Condición. Si es Verdadera, se ejecuta la Acción y se evalúa
nuevamente la Condición. En el momento en el que la Condición sea Falsa se sale del bucle y
se continua con la ejecución del algoritmo. Al evaluarse la Condición, al principio, antes de
entrar en el bucle, si la condición es Falsa, nunca se entrará en el bucle. Por lo tanto se utiliza
obligatoriamente este tipo de bucle en el caso de que exista la posibilidad de que el bucle
pueda ejecutarse 0 veces.
Estructuras de Control Repetitivas.
(Recuerde que…)
Condición
Verdadera
?
Si
No
Acción
Mientras < Condición >
< Acción >
Fin_Mientras
Repetitiva
 Hacer – Mientras ó Repetir
En esta estructura el ciclo se va a repetir hasta
que la condición se cumpla, a diferencia de las
estructuras anteriores la condición se escribe al
finalizar la estructura.
Repetir
Accion1
Accion2
.
.
AccionN
Hasta <condicion>
Repetitiva Hacer – Mientras ó Repetir
Ejemplo
Pseudocódigo
Proceso sin_titulo
Repetir
Leer SALARIO;
SAL_FIN<-SALARIO*1.15;
Escribir "El salario con aumento es",SAL_FIN;
Escribir "hay otro empleado";
Leer EMPLEA;
Hasta Que EMPLEA="n"
FinProceso
Repetitiva Hacer – Mientras ó Repetir
Ejemplo
Convertido a
diagrama de
flujo
desde PseInt
66
Hacer - Mientras: En primera instancia se ejecuta la Acción. Posteriormente, se evalúa la
Condición. Si es Verdadera, se ejecuta nuevamente la Acción. Si es Falsa, se continúa con la
ejecución del algoritmo. Se repite el bucle mientras la condición sea Verdadera. La Condición
se evalúa siempre al final del bucle, si es Verdadera se ejecuta nuevamente la Acción, si es
Falsa se sale del bucle. Como la Condición se evalúa al final, incluso aunque la primera vez
ya sea Falsa, el bucle (la Acción) se habrá ejecutado al menos una vez.
Condición
Verdadera
?
Si
No
Acción
Hacer < Acción >
Mientras < Condición >
Estructuras de Control Repetitivas.
(Recuerde que…)
Ejemplo: Mostrar el producto de números enteros positivos entrados por teclado hasta el
ingreso de un número negativo.
Pseudocódigo:
Módulo: Principal
INICIO
DATOS:
P, num: entero
ALGORITMO:
P  1
Leer num
Mientras num >= 0
P  p * num
Leer num
Fin_mientras
Escribir p
FIN
INICIO
Entero P, num
P = 1
Leer num
P = P * num
FIN
Num >= 0?
Leer num
Escribir num
Si
No
Inicialización de variables
Primitivas de entrada-salida
• En el caso de diagramas de flujo:
– Están asociados a dos símbolos relacionados con
las acciones de leer (entrada de datos) y escribir
(salida de datos).
• En el caso de pseudocódigo:
– Se asocian a las palabras Leer y Escribir.
Primitivas de entrada-salida … (2)
Primitivas de entrada-salida … (3)
Asignación y cálculo
• En diagramas de flujo y pseudocódigo implican:
– Se deben observar todas la reglas referentes a la escritura
y evaluación de expresiones de asignación y cálculo.
– Todos los identificadores involucrados en una operación de
cálculo deben haber sido inicializados previamente.
– Todos los identificadores involucrados en una operación de
cálculo deben tener valores en el momento de que dicha
operación sea evaluada.
– Se recomienda, para mayor legibilidad y orden, usar una
sentencia por cada operación de asignación o cálculo.
Asignación y cálculo … (2)
• La opción A no se recomienda

Más contenido relacionado

La actualidad más candente

Estructuras Selectivas
Estructuras Selectivas Estructuras Selectivas
Estructuras Selectivas Jhonny Zuñiga
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaRolf Pinto
 
Diseño de Algoritmos
Diseño de AlgoritmosDiseño de Algoritmos
Diseño de AlgoritmosLuisDiaz863
 
Ejercicios de algoritmos de decisión ok
Ejercicios de algoritmos de decisión okEjercicios de algoritmos de decisión ok
Ejercicios de algoritmos de decisión okrcarrerah
 
Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivasmarigelcontreras
 
LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONKathGon1
 
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMASMETODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMASadark
 
Taller sistemas tecnológicos
Taller sistemas tecnológicosTaller sistemas tecnológicos
Taller sistemas tecnológicospiperoserotorres
 
Resolucion De Problemas Con Computadora
Resolucion De Problemas Con ComputadoraResolucion De Problemas Con Computadora
Resolucion De Problemas Con ComputadoraBrivé Soluciones
 
Diagramas de flujo y pseint
Diagramas de flujo y pseint Diagramas de flujo y pseint
Diagramas de flujo y pseint SharonRodriguez43
 
Ejemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivasEjemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivasJunior Solano de Arco
 
Introducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAMLIntroducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAMLSorey García
 
Lógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivasLógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivasEdward Ropero
 

La actualidad más candente (20)

Estructuras Selectivas
Estructuras Selectivas Estructuras Selectivas
Estructuras Selectivas
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
 
Algoritmos y programacion en C++
Algoritmos y programacion en C++Algoritmos y programacion en C++
Algoritmos y programacion en C++
 
Contadores y Acumuladores
Contadores y AcumuladoresContadores y Acumuladores
Contadores y Acumuladores
 
Diseño de Algoritmos
Diseño de AlgoritmosDiseño de Algoritmos
Diseño de Algoritmos
 
Proyecto tecnologico
Proyecto tecnologicoProyecto tecnologico
Proyecto tecnologico
 
Ejemplos de Diagramas de Flujo
Ejemplos de Diagramas de FlujoEjemplos de Diagramas de Flujo
Ejemplos de Diagramas de Flujo
 
Ejercicios de algoritmos de decisión ok
Ejercicios de algoritmos de decisión okEjercicios de algoritmos de decisión ok
Ejercicios de algoritmos de decisión ok
 
Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivas
 
Semana 1
Semana 1Semana 1
Semana 1
 
LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACION
 
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMASMETODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
 
Taller sistemas tecnológicos
Taller sistemas tecnológicosTaller sistemas tecnológicos
Taller sistemas tecnológicos
 
Estructuras Selectivas
Estructuras SelectivasEstructuras Selectivas
Estructuras Selectivas
 
Resolucion De Problemas Con Computadora
Resolucion De Problemas Con ComputadoraResolucion De Problemas Con Computadora
Resolucion De Problemas Con Computadora
 
Diagramas de flujo y pseint
Diagramas de flujo y pseint Diagramas de flujo y pseint
Diagramas de flujo y pseint
 
Ejemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivasEjemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivas
 
Introducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAMLIntroducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAML
 
Lógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivasLógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivas
 
Numeros Pseudoaleatorios
Numeros PseudoaleatoriosNumeros Pseudoaleatorios
Numeros Pseudoaleatorios
 

Similar a Algoritmos (DFD, Pseudocodigos).pptx

Clase2 algoritmos formas-representacionalgoritmicas1
Clase2 algoritmos formas-representacionalgoritmicas1Clase2 algoritmos formas-representacionalgoritmicas1
Clase2 algoritmos formas-representacionalgoritmicas1Alma Lopez
 
Algoritmos y seudocódigos (orangel rodriguez) (30.736.401)
Algoritmos y seudocódigos (orangel rodriguez) (30.736.401)Algoritmos y seudocódigos (orangel rodriguez) (30.736.401)
Algoritmos y seudocódigos (orangel rodriguez) (30.736.401)Orangel4
 
Algoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujoAlgoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujoClariza
 
Principios de programacion
Principios de programacionPrincipios de programacion
Principios de programacionrulo182
 
Algoritmos con decisiones.pptx
Algoritmos con decisiones.pptxAlgoritmos con decisiones.pptx
Algoritmos con decisiones.pptxMauroTapiaMuoz
 
Algoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujoAlgoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujocognos_uie
 
Etapas del desarrolo de un programa
Etapas del desarrolo de un programaEtapas del desarrolo de un programa
Etapas del desarrolo de un programazeta2015
 
Tema 2 Elementos de los Algoritmos.pdf
Tema 2 Elementos de los Algoritmos.pdfTema 2 Elementos de los Algoritmos.pdf
Tema 2 Elementos de los Algoritmos.pdfAdrianaCamilaCondori
 
Presentacion algoritmos
Presentacion algoritmosPresentacion algoritmos
Presentacion algoritmosaralylopez88
 
Fpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFresyMetal
 
Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmoNombre Apellidos
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujocasdilacol
 
Tecnicatura en programacion
Tecnicatura en programacionTecnicatura en programacion
Tecnicatura en programacionadrianfazio
 
Tecnicatura en programacion
Tecnicatura en programacionTecnicatura en programacion
Tecnicatura en programacionadrianfazio
 
Algoritmos y pseudocodigo imagenes
Algoritmos y pseudocodigo imagenesAlgoritmos y pseudocodigo imagenes
Algoritmos y pseudocodigo imagenesdafemehe
 

Similar a Algoritmos (DFD, Pseudocodigos).pptx (20)

Clase2 algoritmos formas-representacionalgoritmicas1
Clase2 algoritmos formas-representacionalgoritmicas1Clase2 algoritmos formas-representacionalgoritmicas1
Clase2 algoritmos formas-representacionalgoritmicas1
 
Algoritmos y seudocódigos (orangel rodriguez) (30.736.401)
Algoritmos y seudocódigos (orangel rodriguez) (30.736.401)Algoritmos y seudocódigos (orangel rodriguez) (30.736.401)
Algoritmos y seudocódigos (orangel rodriguez) (30.736.401)
 
Algoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujoAlgoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujo
 
Principios de programacion
Principios de programacionPrincipios de programacion
Principios de programacion
 
Algoritmos con decisiones.pptx
Algoritmos con decisiones.pptxAlgoritmos con decisiones.pptx
Algoritmos con decisiones.pptx
 
Algoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujoAlgoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujo
 
algoritmo
algoritmoalgoritmo
algoritmo
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Etapas del desarrolo de un programa
Etapas del desarrolo de un programaEtapas del desarrolo de un programa
Etapas del desarrolo de un programa
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Tema 2 Elementos de los Algoritmos.pdf
Tema 2 Elementos de los Algoritmos.pdfTema 2 Elementos de los Algoritmos.pdf
Tema 2 Elementos de los Algoritmos.pdf
 
Presentacion algoritmos
Presentacion algoritmosPresentacion algoritmos
Presentacion algoritmos
 
Fpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.com
 
Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmo
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Algoritmo diagrama de_flujo
Algoritmo diagrama de_flujoAlgoritmo diagrama de_flujo
Algoritmo diagrama de_flujo
 
Secuencial
SecuencialSecuencial
Secuencial
 
Tecnicatura en programacion
Tecnicatura en programacionTecnicatura en programacion
Tecnicatura en programacion
 
Tecnicatura en programacion
Tecnicatura en programacionTecnicatura en programacion
Tecnicatura en programacion
 
Algoritmos y pseudocodigo imagenes
Algoritmos y pseudocodigo imagenesAlgoritmos y pseudocodigo imagenes
Algoritmos y pseudocodigo imagenes
 

Último

Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024AndreRiva2
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 

Último (20)

Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 

Algoritmos (DFD, Pseudocodigos).pptx

  • 1. ALGORITMO ¿Qué es un algoritmo? Es un conjunto de pasos, instrucciones que se deben seguir y ejecutar de manera ordenada para alcanzar un fin deseado. ¿Para qué nos sirven los algoritmos? Para resolver problemas de la vida cotidiana y ordenar prioridades; pueden ser ejecutados por un procesador utilizando un lenguaje de programación como: Visual Basic, C, C++, PHP entre otros.
  • 2. Conceptos básicos. Aspectos que se deben considerar a la hora de escribir un algoritmo: • Determinación de las primitivas de las que partimos • Lenguaje simbólico a utilizar para desarrollar el algoritmo • Representación de los datos • Establecer datos de entrada • Establecer datos de salida • Establecer las relaciones entre los datos de entrada y los de salida Condiciones que debe cumplir un algoritmo: • Ser finito: El algoritmo debe acabar tras un número finito de pasos • Estar bien definido: Todas las ejecuciones del algoritmo con los mismos datos de entrada deben devolver los mismos datos de salida. Diferencias entre un algoritmo y un programa: • Los algoritmos no son directamente interpretables por el computador => deben ser traducidos a un lenguaje de programación concreto.
  • 3. Algoritmo Es un procedimiento computacional bien definido que toma un conjunto de valores como entrada y produce otro conjunto de valores como salida.
  • 4. Representación de algoritmos • Métodos para representar un algoritmo: – Pseudolenguaje – Diagramas de flujo • Pseudolenguaje – Es un lenguaje específico de descripción de algoritmos – La traducción de un algoritmo escrito en pseudolenguaje a un programa en un lenguaje de programación determinado es relativamente simple • Herramientas de un pseudolenguaje para representar un algoritmo – Conjunto de palabras clave que proporcionan: • las estructuras de control • declaraciones de variables • características de modularidad – Sintaxis libre de un lenguaje natural que describe las características del proceso – Elementos para la definición y llamada a subprogramas
  • 5. Metodología de diseño Un problema => muchos algoritmos para resolverlo ¿Cómo elegir el más adecuado? Basándonos en las siguientes características: – Legibilidad – Eficiencia – Portabilidad – Modularidad – Modificabilidad – Estructuración
  • 6. Metodología de diseño Programación estructurada – Conjunto de técnicas que aumentan la productividad de un programa, reduciendo el tiempo para: • Escribir • Depurar • Verificar • Mantener – Utiliza un número limitado de estructuras de control que minimizan la complejidad de los problemas – Teorema de BOHM-JACOPINI: cualquier programa, por complejo que sea, puede escribirse utilizando sólo tres estructuras de control: – Secuencial – Selectiva – Repetitiva
  • 7. Cuantitativos Son aquellos que intervienen cálculos numéricos se relacionan con los operadores aritméticos y de relación. Cualitativos Son aquellos que describen los pasos utilizando palabras. Los algoritmos se clasifican en dos tipos:
  • 8. Texto Narrativo (consiste en escribir paso a paso las acciones). Diagrama de Flujo (Representac. grafica mediante el uso de símbolos). Pseudocódigo (Usar lenguaje no formal para describir la secuencia de acciones). Los algoritmos pueden ser representados mediante las siguientes técnicas:
  • 9. METODOLOGÍA PARA RESOLVER PROBLEMAS Principalmente abordamos la definición de problema: ¿Qué es un problema? Es algo que hay que resolver; situación de diferente índole. Observa la imagen donde presenta el concepto de problema: Factores: condiciones o alternativas Valores de salida Situación inicial Proceso Situación Final Valores de entrada
  • 10.  Identificar el problema y delimitarlo; especificar cuál es la situación.  Analizar el problema y plantear alternativas de solución.  Elegir alternativa de solución para comenzar a diseñar el algoritmo.  Desarrollar la solución  Evaluar la solución; realizar prueba de escritorio o emplear lenguaje de programación. Seguir la metodología para resolver problemas
  • 11. CARACTERÍSTICAS DE LOS ALGORITMOS Un algoritmo requiere cumplir con cinco condiciones importantes: 1. Finito: porque termina en algún momento. 2. Definido: Si sigue el algoritmo dos veces se tiene el mismo resultado 3. Entrada: Generar datos de inicio. 4. Salida: Al término del algoritmo tiene relación con los datos de entrada. 5. Efectivo: todas las operaciones son sencillas para ser exactas.
  • 12. Estructura de un Algoritmo Todo algoritmo consta de tres secciones principales: Entrada: Es la introducción de datos para ser transformados. Proceso: Es el conjunto de operaciones a realizar para dar solución al problema. Salida: Son los resultados obtenidos a través del proceso. Entrada Proceso Salida
  • 13. Diseño de algoritmos Alternativas de solución Es la forma de representar la secuencia lógica de ejecución de instrucciones. Esta puede ser a través de: 1) Diagramas de flujo 2) Pseudocódigo
  • 14. DIAGRAMAS DE FLUJO Un diagrama de flujo representa gráficamente a un algoritmo y éste muestra la solución de un problema y se puede trasladar a un lenguaje de programación. Diagramas de entrada- Proceso – Salida Inicio: leer datos de entrada Procesar los datos. Escribir datos de salida.
  • 15. Diagrama de Flujo de Datos (DFD) - El resultado de este análisis deberá ser: • Gráfico • Lógico , nunca referido a entornos físicos • Preciso y breve • Comprensible • Debidamente particionado • Bien documentado • Nunca redundante • No ambiguo - En los DFD no se deberá modelizar: Procedimientos, puntos de inicio y de terminación del DFD condiciones, tratamientos de errores poco relevantes
  • 16. Diagrama de flujo Es empleado para representar la solución de un algoritmo empleando figuras geométricas, donde cada una de ellas representa en particular una tarea especifica que realizar. Las más comunes son:
  • 17. SIMBOLO UTILIDAD El rectángulo se utiliza para identificar las acciones a realizar, es decir, este símbolo indica el proceso a realizar El trapezoide, indica la entrada o lectura de los datos El rombo, es la caja de decisiones, representa las alternativas con solo dos posibles opciones SI y NO
  • 18. SIMBOLO UTILIDAD Los círculos, son utilizados para indicar el inicio y el final del algoritmo. El cono se utiliza para indicar una salida en pantalla. La flecha, indica la secuencia de acciones a realizar, es decir, es quien marca la continuidad y orden de ejecución de las acciones propias del problema a resolver.
  • 19. SIMBOLO UTILIDAD Representa la repetición de pasos a a través de los ciclos
  • 21. 21 Líneas de flujo: Es una línea con una flecha (y solo una flecha) que permite conectar los bloques del diagrama. La flecha indica la secuencia en la que se van a ejecutar las acciones. Símbolos Utilizados. Principio y Fin: Todo algoritmo y por lo tanto, todo diagrama de flujo tiene un principio y un fin (y son únicos). Dentro de este bloque se coloca la palabra “INICIO” o “FIN” según corresponda. "INICIO” o “FIN” Proceso: Aquí dentro se escribe la acción que debe realizar el programa. Si son varias, se escriben una debajo de la otra, sin olvidarse que se ejecutan una a una en forma secuencial según en qué orden fueron escritas. Acciones
  • 22. 22 Condición: Dentro de este bloque se escribe una condición. Si ésta es verdadera, entonces el algoritmo tomará una de sus salidas, de lo contrario, tomará la siguiente. Permite representar estructuras del tipo selectivas y repetitivas. Símbolos Utilizados. Entrada y Salida: Representa acciones de entrada salida desde un teclado o hacia una pantalla respectivamente. Es decir, si debemos ejecutar una acción que consiste en leer un dato que se ingresa mediante el teclado de una PC y almacenarlo en la variable de nombre “a”, entonces dicha acción se describe dentro de este bloque como “leer a”. Condición Verdadera ? Leer o Escribir Si No
  • 23. 23 Conectores: Permiten “unir” diagramas de flujo cuando éstos no caben en una misma columna de la hoja por completo. Es decir, cuando debemos, por cuestiones de espacio en la hoja, fragmentar el programa entonces utilizamos estos bloques para indicar los puntos de unión. Cada par de puntos que se deben unir llevarán dentro de este bloque el mismo número. En la misma hoja: En otra hoja: Símbolos Utilizados. Comentarios: Es una aclaración para comprender mejor el código del programa, pero no forma parte del código, es decir, no se ejecuta.
  • 24. 24 RECORDAR: CONCEPTO DE ALGORITMO: Un algoritmo es un conjunto de pasos o secuencia de instrucciones que, ejecutadas en un determinado orden, permiten resolver un problema determinado. Diagrama de Flujo Elemental. INICIO Declaración e Inicialización de Variables Entrada de Datos Presentación de Resultados en Pantalla Procesamiento de Datos FIN Esto es un comentario.
  • 25. 25 Diagrama de Flujo Elemental. INICIO Declaración e Inicialización de Variables Entrada de Datos Presentación de Resultados en Pantalla FIN Condición Verdadera ? Si No Acción 1 Acción 2 Ejemplo de DF de un algoritmo genérico que incluye una bifurcación. Si la Condición es Verdadera, se ejecuta la Acción 1 y en caso contrario (Falsa) la Acción 2.
  • 27. 27 • El pseudocódigo es una manera de escribir algoritmos de forma poco estricta (con una sintaxis relajada) o estructuras de datos poco detalladas, pero intentando acercar las ideas del algoritmos a estructuras y sintaxis parecidas a las de los lenguajes de alto nivel en los que vamos a programar el algoritmo. • Es para ser leído por personas, por tanto no se preocupa en detalles sintácticos. • Es un lenguaje de especificación de algoritmos, pero muy parecido a cualquier lenguaje de programación, por lo que luego su traducción al lenguaje de programación es muy sencillo, pero con la ventaja de que no se rige por las normas de un lenguaje en particular. Nos centramos más en la lógica del problema. • El pseudocódigo también va a utilizar una serie de palabras claves o palabras especiales que va indicando lo que significa el algoritmo. Pseudocódigo.
  • 28. 28 1. INICIO y FIN: Por donde empieza y acaba el algoritmo. 2. DATOS: Aquí se declaran e inicializan las variables que utilizará el algoritmo. 3. ALGORITMO: En esta sección se escribe el algoritmo. Pseudocódigo - Sintaxis Utilizada. Pseudocódigo de un algoritmo genérico: INICIO. DATOS: ** esto es un comentario ** entero a ; ** declaración de una variable entera ** real b = 0 ; ** declaración e inicialización de una variable ** ALGORITMO: leer a ; b = a + 5 ; escribir b ; FIN.
  • 29. CARACTERISTICAS DE UN PSEUDOCÓDIGO Las características que definen a un Pseudocódigo son las siguientes: a) Emplea palabras normales de un idioma. b) No existe vocabulario obligado y por el uso frecuente se establecen estándares. c) Las instrucciones deben ser precisas con precisión. d) Las instrucciones no requieren rigurosidad de las empleadas en el lenguaje de programación. e) Un algoritmo representado en Pseudocodigo puede convertirse en código de un lenguaje de programación.
  • 30. Conocer los tipos de datos que serán empleados adecuadamente. En sentido amplio un tipo de dato define un conjunto de valores y las operaciones sobre estos valores.  Enteros: números enteros positivos y negativos.  Reales: Se identifican por ser un número que lleva un punto decimal.  Caracteres: Son números, letras o símbolos entre apóstrofos.  Cadenas: Se expresan en comillas y consiste una secuencia de caracteres.  Lógicos: Solo tienen dos valores Falso y verdadero.
  • 31. Variables Permite almacenar de forma temporal un valor y el cual puede cambiar durante la ejecución del algoritmo ó programa. Toda variable tiene un nombre que sirve para identificarla. Ejemplo: prom=(calf1+calf2+calf3)/3 Las variables son: prom, calf1, calf2, calf3.
  • 32. Constantes Son datos numéricos o alfanuméricos que contienen un valor y que no cambia durante la ejecución del algoritmo ó programa. Ejemplos: prom=(calf1+calf2+calf3)/3 PI=3.1416 Las constantes son: 3, PI.
  • 33. Operadores y Expresiones Expresiones: Es un conjunto de constantes, variables, operadores con lo que se realizan las operaciones y permite obtener un resultado. Ejemplo: resultado  a*(2*b+5)/c Cal_final (cali1+cali2)/2
  • 34. Operadores: Es un símbolo que permite manipular los valores de variables y/o constantes. Operadores matemáticos 1) ^ ** 2) * / div mod 3) + - Los operadores con igual nivel de prioridad se evalúan de izquierda a derecha. Operador de asignación = ó  Sirve para recuperar o guardar los valores obtenidos al realizarse o ejecutarse una expresión.
  • 35. Operadores de relación 1) Mayor que > 2) Menor que < 3) Mayor igual que >= 4) Menor igual que <= 5) Igual = 6) Diferencia < > != •Son empleados para comparar dos ó más valores. •Su resultado produce valores como verdadero y falso. •Tienen el mismo nivel de prioridad.
  • 36. Operadores Lógicos o booleanos •Son empleados para comparar dos valores (verdadero y falso) •Su resultado produce valores como verdadero y falso. •Los tres tienen el mismo nivel de prioridad. VAL1 VAL2 RESUL Cierto Cierto Cierto Cierto Falso Falso Falso Cierto Falso Falso Falso Falso AND VAL1 VAL2 RESUL Cierto Cierto Cierto Cierto Falso Cierto Falso Cierto Cierto Falso Falso Falso OR VAL1 RESUL Cierto Falso Falso Cierto NOT
  • 37. Prioridad entre los Operadores 1) Matemáticos 2) Relacionales 3) Lógicos 4) De asignación Siempre se ejecutan de izquierda a derecha en caso de haber dos ó más operadores con el mismo nivel de prioridad.
  • 38. ESTRUCTURAS DE CONTROL  Secuencial  Selección  Repetición Las estructuras que se encuentran en el desarrollo de los algoritmos pueden clasificarse de la siguiente manera
  • 41. Selectivas: Se utilizan para TOMAR DECISIONES.  Simples Lo que se hace es EVALUAR la condición, si la condición es verdadera realiza la acción, en caso contrario termina el programa. Si <condición> entonces Acción(es) Fin-si
  • 42. Selectivas Simples Ejemplo: Pseudocódigo DFD Inicio Leer COMPRA Si COMPRA>1000 entonces DESCUENTO=COMPRA*0.10 PAGO=COMPRA– DESCUENTO Escribir PAGO Finsi Fin
  • 44. Selectivas  Doble Luego de evaluar una condición si esta se cumple, es decir si es verdadera realiza una serie de acciones, y si esta es falsa se realiza otra serie de acciones distinta a la primera. Si <condición> entonces Acción(es) Sino Acción(es) Finsi
  • 45. Selectivas Doble Ejemplo: Inicio Leer EDAD Si EDAD>=18 entonces Escribir “Mayor de edad” Sino Escribir “Menor de edad” Finsi Fin Pseudocódigo DFD
  • 47. Selectivas  Múltiple Se realiza a partir de anidar estructuras simples y/o dobles, de manera tal que se realicen diferentes acciones con base a varias comparaciones, así habrá tantas opciones como se requieran. Si <condición> entonces Acción(es) Sino Si <condición> entonces Acción(es) Sino . . Varias condiciones . Finsi Finsi
  • 48. 48 Si: Si la Condición es Verdadera, se ejecuta la Acción, sino el algoritmo continua con su ejecución. Estructuras de Control Selectivas. Condición Verdadera ? Si No Acción Si < Condición > <Acción> Fin_Si
  • 49. 49 Si – Sino: Si la Condición es Verdadera, se ejecuta la Acción 1, sino el algoritmo ejecuta la Acción 2. Luego el algoritmo continua con su ejecución. Condición Verdadera ? Si No Acción 1 Acción 2 Si < Condición > < Acción 1 > Sino < Acción 2 > Fin_Si Estructuras de Control Selectivas.
  • 50. 50 Si – Sino – Si: Si la Condición 1 es Verdadera, se ejecuta la Acción 1, sino el algoritmo evalúa la Condición 2. Si es Verdadera, ejecuta la Acción 2 y sino la Acción 3. Cond. 1 Verdadera ? Si No Acción 1 Acción 3 Cond. 2 Verdadera ? Acción 2 Si No Si < Condición 1 > < Acción 1 > Sino_Si < Condición 2 > < Acción 2 > Sino < Acción 3 > Fin_Si Estructuras de Control Selectivas.
  • 51. 51 Según (alternativa múltiple): Se evalúa una condición o expresión que puede tomar “n” valores. Según el valor que la expresión tenga en cada momento se ejecutan las acciones correspondientes al valor. El valor con el que se compara la expresión, va a depender de los lenguajes, de lo que sea ese valor. En general ese valor puede ser un valor constante, un rango de valores o incluso otra condición. Expresión o Condición Acción 1 Acción “n” Acción 2 Según <expresión> < Valor 1 >: < Acción 1 > < Valor 2 >: < Acción 2 > < Otro >: < Acciones > Fin_Según Estructuras de Control Selectivas. …
  • 52. Selectivas Múltiple Ejemplo: Pseudocódigo DFD Inicio Leer NUMERO Si NUMERO=0 entonces Escribir “Número cero” Sino Si NUMERO>0 Escribir “Número positivo” Sino Escribir “Número negativo” Finsi Finsi Fin
  • 54. Repetitivas: Este tipo de estructura se utilizan para ejecutar acciones repetidamente, esto se hace posible mediante una secuencia de instrucciones que se repiten una y otra vez y así evitamos escribir múltiples veces las mismas instrucciones.
  • 55. Repetitiva  Para Esta estructura ejecuta los pasos de la solución del algoritmo un número definido de veces y de modo automático controla el número de iteraciones o pasos a través del cuerpo del ciclo. Para el control se utiliza un contador en el cual se va acumulando el número de veces que se ha repetido las instrucciones. Hacer para V.C = LI a L.S Acción1 Acción2 . . AcciónN Fin para V.C Variable de control de ciclo L.I Límite inferior L.S Límite superior
  • 56. Repetitiva Para Ejemplo: Pseudocódigo Proceso sin_titulo Para DATOS<-1 Hasta 5 Con Paso 1 Hacer Leer NUM1,NUM2; SUMA<-NUM1+NUM2; Escribir "el resultado de sumar ",NUM1," + ",NUM2," = ",SUMA; FinPara FinProceso
  • 58. 58 Desde – Hasta o Para: Se utiliza cuando se sabe el número exacto de veces que hay que iterar. Para ello el bucle llevará asociado una variable “índice”, a la que se le asigna un valor inicial y se determina cual va a ser su valor final y además se va a incrementar (o decrementar) en cada iteración de bucle en un valor constante. Variable = Inicio ; Condición? ; Inc. “n” Condición Verdadera ? Si No Acción Acción No Si Inicio Acción 2 Para variable = Vi, variable < Vf, Inc n <Acción> Fin_Para Estructuras de Control Repetitivas. (Recuerde que…)
  • 59. Repetitiva  Mientras Este se utiliza cuando NO sabemos el número de veces que se ha de repetir un ciclo, los ciclos se determinan por una condición que se evalúa al inicio del ciclo, es decir, antes de ejecutarse todas los pasos. Hacer mientras <condición> Accion1 Accion2 . . AccionN Fin-mientras
  • 60. Repetitiva Mientras Ejemplo Pseudocódigo Proceso sin_titulo Escribir "Hay alumno"; Leer ALUM; Mientras ALUM="s" Hacer Leer CALIF1,CALIF2; PROM<-(CALIF1+CALIF2)/2; Escribir "El promedio del alumno es ",PROM; Escribir "Hay alumno"; Leer ALUM; FinMientras FinProceso
  • 62. 62 Mientras: Se evalúa la Condición. Si es Verdadera, se ejecuta la Acción y se evalúa nuevamente la Condición. En el momento en el que la Condición sea Falsa se sale del bucle y se continua con la ejecución del algoritmo. Al evaluarse la Condición, al principio, antes de entrar en el bucle, si la condición es Falsa, nunca se entrará en el bucle. Por lo tanto se utiliza obligatoriamente este tipo de bucle en el caso de que exista la posibilidad de que el bucle pueda ejecutarse 0 veces. Estructuras de Control Repetitivas. (Recuerde que…) Condición Verdadera ? Si No Acción Mientras < Condición > < Acción > Fin_Mientras
  • 63. Repetitiva  Hacer – Mientras ó Repetir En esta estructura el ciclo se va a repetir hasta que la condición se cumpla, a diferencia de las estructuras anteriores la condición se escribe al finalizar la estructura. Repetir Accion1 Accion2 . . AccionN Hasta <condicion>
  • 64. Repetitiva Hacer – Mientras ó Repetir Ejemplo Pseudocódigo Proceso sin_titulo Repetir Leer SALARIO; SAL_FIN<-SALARIO*1.15; Escribir "El salario con aumento es",SAL_FIN; Escribir "hay otro empleado"; Leer EMPLEA; Hasta Que EMPLEA="n" FinProceso
  • 65. Repetitiva Hacer – Mientras ó Repetir Ejemplo Convertido a diagrama de flujo desde PseInt
  • 66. 66 Hacer - Mientras: En primera instancia se ejecuta la Acción. Posteriormente, se evalúa la Condición. Si es Verdadera, se ejecuta nuevamente la Acción. Si es Falsa, se continúa con la ejecución del algoritmo. Se repite el bucle mientras la condición sea Verdadera. La Condición se evalúa siempre al final del bucle, si es Verdadera se ejecuta nuevamente la Acción, si es Falsa se sale del bucle. Como la Condición se evalúa al final, incluso aunque la primera vez ya sea Falsa, el bucle (la Acción) se habrá ejecutado al menos una vez. Condición Verdadera ? Si No Acción Hacer < Acción > Mientras < Condición > Estructuras de Control Repetitivas. (Recuerde que…)
  • 67. Ejemplo: Mostrar el producto de números enteros positivos entrados por teclado hasta el ingreso de un número negativo. Pseudocódigo: Módulo: Principal INICIO DATOS: P, num: entero ALGORITMO: P  1 Leer num Mientras num >= 0 P  p * num Leer num Fin_mientras Escribir p FIN INICIO Entero P, num P = 1 Leer num P = P * num FIN Num >= 0? Leer num Escribir num Si No
  • 69. Primitivas de entrada-salida • En el caso de diagramas de flujo: – Están asociados a dos símbolos relacionados con las acciones de leer (entrada de datos) y escribir (salida de datos). • En el caso de pseudocódigo: – Se asocian a las palabras Leer y Escribir.
  • 72. Asignación y cálculo • En diagramas de flujo y pseudocódigo implican: – Se deben observar todas la reglas referentes a la escritura y evaluación de expresiones de asignación y cálculo. – Todos los identificadores involucrados en una operación de cálculo deben haber sido inicializados previamente. – Todos los identificadores involucrados en una operación de cálculo deben tener valores en el momento de que dicha operación sea evaluada. – Se recomienda, para mayor legibilidad y orden, usar una sentencia por cada operación de asignación o cálculo.
  • 73. Asignación y cálculo … (2) • La opción A no se recomienda