SlideShare una empresa de Scribd logo
Informática
Algoritmos
Baños García Yesenia, Lic. Comp.
Hernández Nájera Aracely, Lic. Comp.
Enero 2012.
El presente trabajo muestra la metodología para dar
solución a un problema específico, aplicando algoritmos
matemáticos, así se abordan diferentes estructuras básicas a
fin de diseñar algoritmos orientados a la implementación de
una lógica asertiva afinada, utilizando el software
denominado DFD y Pseint.
Algoritmo, identificador , verificación, operadores , expresiones,
variable, constante, estructura, secuencial, decisión, repetitiva,
diagrama de flujo y pseudocódigo
The present work shows the methodology in order to solve a
problem in specific, applying mathematical algorithms, so
address different basic structures in order to design
algorithms aimed at the implementation of a logic assertive
tune, using the software program called DFD and Pseint.
Algoritmo, identificador , verificación, operadores , expresiones,
variable, constante, estructura, secuencial, decisión, repetitiva,
diagrama de flujo y pseudocódigo
1.Algoritmos
1.1 Concepto e importancia
Es un conjunto de pasos lógicos y estructurados que nos
permiten dar solución aún problema.
La importancia de un algoritmo radica en desarrollar un
razonamiento lógico matemático a través de la comprensión
y aplicación de metodologías para la resolución de
problemáticas, éstas problemáticas bien pueden ser de la
propia asignatura o de otras disciplinas como matemáticas,
química y física que implican el seguimiento de algoritmos,
apoyando así al razonamiento critico deductivo e inductivo.
No podemos apartar nuestra vida cotidiana los algoritmos,
ya que al realizar cualquier actividad diaria los algoritmos
están presentes aunque pasan desapercibidos, por ejemplo:
Al levantarnos cada día para hacer nuestras labores hacemos
una serie de pasos una y otra vez; eso es aplicar un
algoritmo.
1.3 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
2. Metodología para la descomposición
de un algoritmo.
2.1 Conceptos
2.1.1 Definición del problema 1
En esta etapa se deben establecer los resultados y objetivos
que se desea para poder saber si los datos que se tienen son
suficientes para lograr los fines propuestos.
2.1.2 Análisis 1
Una vez definido el problema se deberán organizar los datos
de tal manera que sean susceptibles de usar en los cálculos
siguientes.
2.1.3 Diseño 1
En esta etapa se proponen soluciones a los problemas a
resolver, por lo que se realiza una toma de decisiones
aplicando los conocimientos adquiridos y utilizando los
datos existentes.
2.1.4 Verificación o prueba de escritorio 1
Se consideran resultados previstos para datos conocidos a
fin de que al probar cada una de sus partes podamos ir
comprobando que el algoritmo sirve o requiere modificarse.
2.2 Análisis del Problema
2.2.1 Identificadores
Un identificador es el nombre que se le asigna a los datos de
un programa (constantes, variables, tipos de datos), y que
nos permiten el acceso a su contenido.
Ejemplo:
Calf1
Valor_1
Num_hrs
2.2.2 Tipos de datos
Es el valor que puede tomar una constante o variable . Por
ejemplo, para representar los datos de un alumno como:
Nombre, Num_cta, calf1, calf2, etc.
Los tipos de datos más utilizados son:
a) Numéricos: Representan un valor entero y real.
Ejemplo:
Entero: 250, -5 Real: 3.1416, -27.5
2.2.2 Tipos de datos
b) Lógicos: Solo pueden tener dos valores (verdadero o
falso), y son el resultado de una comparación.
c) Alfanuméricos: Son una serie de caracteres que sirven
para representar y manejar datos como nombres de
personas, artículos, productos, direcciones, etc.
2. Metodología para la
descomposición de un algoritmo.
2.2.3 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.
2.2.4 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.
2.2.4 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
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
1) = ó 
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 (Falso y verdadero
•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
2.3. Diseño de algoritmos
2.3.1. 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
2.3.1 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 paralelogramo, 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
Rectángulo con esquinas
redondeadas o semicírculo, 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
Representa la repetición de pasos a
a través de los ciclos
2.3.1 Pseudocódigo
Es empleado para representar la solución de un
algoritmo empleando lenguaje natural escrito
estableciendo la secuencia de pasos sin imprecisiones y
de manera clara.
Ejemplo:
Proceso
Leer lista_de_variables;
variable<-expresion;
Escribir lista_de_expresiones;
FinProceso
2.3.1 Uso del Diagrama de flujo, pseudocódigo y
prueba de escritorio para los tipos de
estructuras
1) Secuenciales
Implica escribir un paso tras de otro, donde el primero
que se haya escrito es el primero que se ejecutará.
Inicio
Acción1
Acción2
.
.
AcciónN
Fin
1) Secuenciales
Ejemplo:
Inicio
Leer n1, n2
suma=n1+n2
imprimir suma
Fin
Pseudocódigo DFD
2) 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
2) Selectivas Simples
Ejemplo:
Pseudocódigo DFD
Inicio
Leer compra
si compra>1000 entonces
descuento=compra*0.10
pago=compra–descuento
imprimir pago
fin si
Fin
2) 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)
si no
Acción(es)
Fin-si
2) Selectivas Doble
Ejemplo:
Inicio
Leer edad
si edad>=18 entonces
imprimir “Mayor de edad”
si no
imprimir “Menor de edad”
fin si
Fin
Pseudocódigo DFD
2) 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)
si no
Si <condición> entonces
Acción(es)
si no
.
. Varias condiciones
.
fin si
Fin si
2) Selectivas Múltiple
Ejemplo:
Pseudocódigo DFD
Inicio
Leer numero
si numero=0 entonces
imprimir “Número cero”
si no
si numero>0
imprimir “Número positivo”
si no
imprimir “Número negativo”
fin si
fin si
Fin
3) 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.
3) 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
3) 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
3) Repetitiva Para
Ejemplo:
DFD
3) 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
3) 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
3) Repetitiva Mientras
Ejemplo
DFD
3) 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>
3) 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
3) Repetitiva Hacer – Mientras ó Repetir
Ejemplo
DFD
BIBLIOGRAFÍA
1. Samperio Monroy Theira Irasema. Antología “Programación
Estructurda”. Diciembre 2006
2. Cairó Olvaldo, Metodología de la programación (algoritmos, diagramas
de flujo y programas), Editorial Alfaomega, Segunda edición.
3. Joyanes Aguilar Luís, Fundamentos de programación (Algoritmos,
estructuras de datos y objetos), Editorial McGraw Hill, Tercera Edición.
4. Ferreyra Cortés Gonzalo, Informática para cursos de bachillerato,
Editorial Alfaomega, Segunda Edición
5. Imágenes obtenidas del Software DFD y Pseint

Más contenido relacionado

PPTX
Camara nacional de comercio de Bolivia
DOCX
Cuadro comp. de trasf. escis.fsusion,liqui etc.
DOCX
Características de las mype
PPTX
SOCIEDADES MERCANTILES
PDF
Unlock algoritmos evolutivo
PPTX
INF2_P1_EXC2_Josue Ramon Rodriguez Gil 1,A
PPTX
diapositivas algoritmos
PPTX
Algoritmos
Camara nacional de comercio de Bolivia
Cuadro comp. de trasf. escis.fsusion,liqui etc.
Características de las mype
SOCIEDADES MERCANTILES
Unlock algoritmos evolutivo
INF2_P1_EXC2_Josue Ramon Rodriguez Gil 1,A
diapositivas algoritmos
Algoritmos

Similar a Algoritmos (20)

PPTX
Algoritmos
PPTX
informatica_iv_-_unidad_2._algoritmos.pptx
PPTX
algoritmos 7 4p.pptx
PPTX
informatica_iv_-_unidad_2._algoritmos.pptx
PPTX
Fundamentos de programacion
PPTX
algoritmos
DOCX
DOCX
algoritmos- álgebra discreta
PPT
Diego ochoaguerrero nelsondavidluna
PPSX
Solución de problemas aplicando la computadora
PPSX
Solución de problemas aplicando la computadora
PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTX
PPTX
Algoritmos (DFD, Pseudocodigos).pptx
PPT
Presentacion algoritmos
PPS
1 conceptos algoritmos
PPTX
Algoritmos
PPTX
Algoritmos
PPTX
Estructuras de control c1. p2.
PDF
ProgContLIABC03ACPC1_U1algoritmos_computacionales
PPTX
Estructuras de control c1. p2.
Algoritmos
informatica_iv_-_unidad_2._algoritmos.pptx
algoritmos 7 4p.pptx
informatica_iv_-_unidad_2._algoritmos.pptx
Fundamentos de programacion
algoritmos
algoritmos- álgebra discreta
Diego ochoaguerrero nelsondavidluna
Solución de problemas aplicando la computadora
Solución de problemas aplicando la computadora
Desarrollo de lógica algorítmica_PARTE 1.PPTX
Algoritmos (DFD, Pseudocodigos).pptx
Presentacion algoritmos
1 conceptos algoritmos
Algoritmos
Algoritmos
Estructuras de control c1. p2.
ProgContLIABC03ACPC1_U1algoritmos_computacionales
Estructuras de control c1. p2.
Publicidad

Último (20)

PDF
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
PDF
Escuelas Desarmando una mirada subjetiva a la educación
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
PDF
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
PDF
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
DOCX
Tarea De El Colegio Coding For Kids 1 y 2
PDF
Breve historia de los Incas -- Patricia Temoche [Temoche, Patricia] -- Breve ...
PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
DOCX
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
PDF
ciencias-1.pdf libro cuarto basico niños
DOCX
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
PPTX
caso clínico iam clinica y semiología l3.pptx
PPT
Cosacos y hombres del Este en el Heer.ppt
PDF
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
PDF
benveniste-problemas-de-linguistica-general-i-cap-6 (1)_compressed.pdf
DOCX
2 GRADO UNIDAD 5 - 2025.docx para primaria
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
Escuelas Desarmando una mirada subjetiva a la educación
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
Tarea De El Colegio Coding For Kids 1 y 2
Breve historia de los Incas -- Patricia Temoche [Temoche, Patricia] -- Breve ...
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
ciencias-1.pdf libro cuarto basico niños
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
caso clínico iam clinica y semiología l3.pptx
Cosacos y hombres del Este en el Heer.ppt
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
benveniste-problemas-de-linguistica-general-i-cap-6 (1)_compressed.pdf
2 GRADO UNIDAD 5 - 2025.docx para primaria
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
Publicidad

Algoritmos

  • 1. Informática Algoritmos Baños García Yesenia, Lic. Comp. Hernández Nájera Aracely, Lic. Comp. Enero 2012.
  • 2. El presente trabajo muestra la metodología para dar solución a un problema específico, aplicando algoritmos matemáticos, así se abordan diferentes estructuras básicas a fin de diseñar algoritmos orientados a la implementación de una lógica asertiva afinada, utilizando el software denominado DFD y Pseint. Algoritmo, identificador , verificación, operadores , expresiones, variable, constante, estructura, secuencial, decisión, repetitiva, diagrama de flujo y pseudocódigo
  • 3. The present work shows the methodology in order to solve a problem in specific, applying mathematical algorithms, so address different basic structures in order to design algorithms aimed at the implementation of a logic assertive tune, using the software program called DFD and Pseint. Algoritmo, identificador , verificación, operadores , expresiones, variable, constante, estructura, secuencial, decisión, repetitiva, diagrama de flujo y pseudocódigo
  • 4. 1.Algoritmos 1.1 Concepto e importancia Es un conjunto de pasos lógicos y estructurados que nos permiten dar solución aún problema. La importancia de un algoritmo radica en desarrollar un razonamiento lógico matemático a través de la comprensión y aplicación de metodologías para la resolución de problemáticas, éstas problemáticas bien pueden ser de la propia asignatura o de otras disciplinas como matemáticas, química y física que implican el seguimiento de algoritmos, apoyando así al razonamiento critico deductivo e inductivo.
  • 5. No podemos apartar nuestra vida cotidiana los algoritmos, ya que al realizar cualquier actividad diaria los algoritmos están presentes aunque pasan desapercibidos, por ejemplo: Al levantarnos cada día para hacer nuestras labores hacemos una serie de pasos una y otra vez; eso es aplicar un algoritmo.
  • 6. 1.3 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
  • 7. 2. Metodología para la descomposición de un algoritmo. 2.1 Conceptos 2.1.1 Definición del problema 1 En esta etapa se deben establecer los resultados y objetivos que se desea para poder saber si los datos que se tienen son suficientes para lograr los fines propuestos. 2.1.2 Análisis 1 Una vez definido el problema se deberán organizar los datos de tal manera que sean susceptibles de usar en los cálculos siguientes.
  • 8. 2.1.3 Diseño 1 En esta etapa se proponen soluciones a los problemas a resolver, por lo que se realiza una toma de decisiones aplicando los conocimientos adquiridos y utilizando los datos existentes. 2.1.4 Verificación o prueba de escritorio 1 Se consideran resultados previstos para datos conocidos a fin de que al probar cada una de sus partes podamos ir comprobando que el algoritmo sirve o requiere modificarse.
  • 9. 2.2 Análisis del Problema 2.2.1 Identificadores Un identificador es el nombre que se le asigna a los datos de un programa (constantes, variables, tipos de datos), y que nos permiten el acceso a su contenido. Ejemplo: Calf1 Valor_1 Num_hrs
  • 10. 2.2.2 Tipos de datos Es el valor que puede tomar una constante o variable . Por ejemplo, para representar los datos de un alumno como: Nombre, Num_cta, calf1, calf2, etc. Los tipos de datos más utilizados son: a) Numéricos: Representan un valor entero y real. Ejemplo: Entero: 250, -5 Real: 3.1416, -27.5
  • 11. 2.2.2 Tipos de datos b) Lógicos: Solo pueden tener dos valores (verdadero o falso), y son el resultado de una comparación. c) Alfanuméricos: Son una serie de caracteres que sirven para representar y manejar datos como nombres de personas, artículos, productos, direcciones, etc. 2. Metodología para la descomposición de un algoritmo.
  • 12. 2.2.3 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.
  • 13. 2.2.4 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.
  • 14. 2.2.4 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
  • 15. 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 1) = ó  Sirve para recuperar o guardar los valores obtenidos al realizarse o ejecutarse una expresión
  • 16. 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.
  • 17. Operadores Lógicos o booleanos •Son empleados para comparar dos valores (Falso y verdadero •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
  • 18. 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
  • 19. 2.3. Diseño de algoritmos 2.3.1. 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
  • 20. 2.3.1 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:
  • 21. SIMBOLO UTILIDAD El rectángulo se utiliza para identificar las acciones a realizar, es decir, este símbolo indica el proceso a realizar El paralelogramo, 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
  • 22. Rectángulo con esquinas redondeadas o semicírculo, 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
  • 23. Representa la repetición de pasos a a través de los ciclos
  • 24. 2.3.1 Pseudocódigo Es empleado para representar la solución de un algoritmo empleando lenguaje natural escrito estableciendo la secuencia de pasos sin imprecisiones y de manera clara. Ejemplo: Proceso Leer lista_de_variables; variable<-expresion; Escribir lista_de_expresiones; FinProceso
  • 25. 2.3.1 Uso del Diagrama de flujo, pseudocódigo y prueba de escritorio para los tipos de estructuras 1) Secuenciales Implica escribir un paso tras de otro, donde el primero que se haya escrito es el primero que se ejecutará. Inicio Acción1 Acción2 . . AcciónN Fin
  • 26. 1) Secuenciales Ejemplo: Inicio Leer n1, n2 suma=n1+n2 imprimir suma Fin Pseudocódigo DFD
  • 27. 2) 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
  • 28. 2) Selectivas Simples Ejemplo: Pseudocódigo DFD Inicio Leer compra si compra>1000 entonces descuento=compra*0.10 pago=compra–descuento imprimir pago fin si Fin
  • 29. 2) 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) si no Acción(es) Fin-si
  • 30. 2) Selectivas Doble Ejemplo: Inicio Leer edad si edad>=18 entonces imprimir “Mayor de edad” si no imprimir “Menor de edad” fin si Fin Pseudocódigo DFD
  • 31. 2) 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) si no Si <condición> entonces Acción(es) si no . . Varias condiciones . fin si Fin si
  • 32. 2) Selectivas Múltiple Ejemplo: Pseudocódigo DFD Inicio Leer numero si numero=0 entonces imprimir “Número cero” si no si numero>0 imprimir “Número positivo” si no imprimir “Número negativo” fin si fin si Fin
  • 33. 3) 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.
  • 34. 3) 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
  • 35. 3) 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
  • 37. 3) 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
  • 38. 3) 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
  • 40. 3) 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>
  • 41. 3) 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
  • 42. 3) Repetitiva Hacer – Mientras ó Repetir Ejemplo DFD
  • 43. BIBLIOGRAFÍA 1. Samperio Monroy Theira Irasema. Antología “Programación Estructurda”. Diciembre 2006 2. Cairó Olvaldo, Metodología de la programación (algoritmos, diagramas de flujo y programas), Editorial Alfaomega, Segunda edición. 3. Joyanes Aguilar Luís, Fundamentos de programación (Algoritmos, estructuras de datos y objetos), Editorial McGraw Hill, Tercera Edición. 4. Ferreyra Cortés Gonzalo, Informática para cursos de bachillerato, Editorial Alfaomega, Segunda Edición 5. Imágenes obtenidas del Software DFD y Pseint