Tema 9 Algoritmos

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 49

Academia de Informática

Algoritmos
Actualización: Octubre 2014

Baños García Yesenia, Lic. Comp.


Hernández Nájera Aracely, Lic. Comp.
Abstrac

El presente trabajo muestra la metodología para dar


solución a un problema en específico, aplicando algoritmos
matemáticos, por lo que 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.

Keywords: Algoritmo, identificador , verificación, operadores , expresiones,


variable, constante, estructura, secuencial, decisión, repetitiva,
diagrama de flujo y pseudocódigo
1. COMPETENCIAS EXTENDIDAS

• Conoce que es un algoritmo, sus características y


estructura.
• Aplica la metodología de los algoritmos para resolver
problemas.
• Aprende las diferentes alternativas para representar un
algoritmo.
• Identifica las estructuras de los algoritmos y las aplica
convenientemente.
• Diseña algoritmos con aplicación a su vida diaria.
1. Objetivos de aprendizaje:

El alumno comprende y aplica la metodología de los


algoritmos para la solución de problemas comunes mediante
el análisis y razonamiento lógico matemático que le permita
elegir la mejor solución.
1. Algoritmos
1.1 Concepto e importancia
Es una secuencia finita de operaciones que resuelve un
problema en un tiempo finito.

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.
Características
 Preciso: debe indicarse el orden de realización de cada paso
 Ser definido: Cada paso del algoritmo debe indicar la acción a
realizar sin criterios de interpretación.
 Ser finito: Un número específico y numerable de pasos debe
componer al algoritmo, el cual deberá finalizar al completarlos.
 Tener una o más entradas: Datos son proporcionados a un
algoritmo como insumo para llevar a cabo las operaciones que
comprende.
 Tener una o más salidas: Debe siempre devolver un resultado.
Por salida de resultados debe entenderse todo medio o canal por
el cual es posible apreciar los efectos de las acciones del
algoritmo.
 Efectividad: El tiempo y esfuerzo por cada paso realizado debe
ser preciso, no usando nada más ni nada menos que aquello que
se requiera para y en su ejecución.
1.3 Estructura de un Algoritmo
Todo algoritmo consta de tres secciones principales:

Entrada Proceso Salida

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.


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


Tipos de datos

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.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.5 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.
2.2.5.1 Operadores matemáticos
1) ^ **
2) * / div mod
3) + -
Los operadores con igual nivel de prioridad se evalúan de
izquierda a derecha.
2.2.5.2 Operador de asignación
1) = ó 
Sirve para recuperar o guardar los valores obtenidos al realizarse
o ejecutarse una expresión.
2.2.5.3 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.
2.2.5.4 Operadores Lógicos o booleanos
AND OR NOT
VAL1 VAL2 RESUL VAL1 VAL2 RESUL VAL1 RESUL
Cierto Cierto Cierto Cierto Cierto Cierto Cierto Falso
Cierto Falso Falso Cierto Falso Cierto Falso Cierto

Falso Cierto Falso Falso Cierto Cierto


Falso Falso Falso Falso Falso Falso

•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.
Prioridad entre los Operadores

1) Matemáticos Siempre se ejecutan


de izquierda a
2) Relacionales derecha en caso de
haber dos ó más
operadores con el
3) Lógicos
mismo nivel de
prioridad.
4) De asignación
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.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 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
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

Terminador Representa la repetición


de pasos a a través de los ciclos

Se usa como conector entre dos


partes del diagrama.
2.3.1.2 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.2 Uso del Diagrama de flujo, pseudocódigo y
prueba de escritorio para los tipos de
estructuras
2.3.2.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
Academia de Informática
Algoritmos
Actualización: Octubre 2014

Baños García Yesenia, Lic. Comp.


Hernández Nájera Aracely, Lic. Comp.
2.3.2.1 Secuenciales Inicio
Ejemplo:
Pseudocódigo
N1, N2

Inicio
Leer N1, N2 Suma N1+N2
SUMA=N1+N2
Escribir SUMA
Fin Suma

Fin
2.3.2.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
Inicio
2) Selectivas Simples
Ejemplo:
Compra
Pseudocódigo
Inicio NO SI
Leer COMPRA Compra>1
Si COMPRA>1000 entonces 000
DESCUENTO=COMPRA*0.10
Descuento Compra
PAGO=COMPRA–DESCUENTO Pago Compra
Escribir PAGO
Finsi
Pago
Fin

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)
Sino
Acción(es)
Finsi
2) Selectivas Doble Inicio
Ejemplo:
Pseudocódigo
Edad

Inicio
Leer EDAD
NO SI
Si EDAD>=18 entonces Edad>=18
Escribir “Mayor de edad”
Sino
Escribir “Menor de edad” Menor Mayor
Finsi de edad de edad
Fin

Fin
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)
Sino
Si <condición> entonces
Acción(es)
Sino
.
. Varias condiciones
.
Finsi
Finsi
2) Selectivas
Inicio
Múltiple
Ejemplo:
Pseudocódigo Número
Inicio
Leer NUMERO
NO Número=0 SI
Si NUMERO=0 entonces
Escribir “Número cero”
Sino NO SI
Número>0
Si NUMERO>0 Número 0
Escribir “Número
positivo” Número Número
Sino Negativo Positivo
Escribir “Número
negativo”
Finsi
Finsi Fin
Fin
2.3.2.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 V.C Variable de control de ciclo
. L.I Límite inferior
L.S Límite superior
.
AcciónN
Fin para
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
Inicio

3) Repetitiva Para
Ejemplo:

DFD

Fin
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
Inicio

3) Repetitiva Mientras
Ejemplo

DFD

Fin
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

Convertido a
diagrama de flujo
desde PseInt
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
Tarea
1. Hacer el Pseudocódigo y diagrama de flujo para un helado de fresa

Ingredientes
500 gr. de fresas
100 gr. de azúcar
25 ml. de azúcar invertido
200 ml. de leche entera
225 ml. de nata para montar
1 limón
Preparación del helado de fresa
Cortar las fresas en trocitos. Y mezclarlas con azúcar. Dejar que repose durante hora y
media.
Añadir la leche, unas gotitas de limón y el azúcar invertido, triturar todo con la batidora.
Colar para eliminar las semillas.
Poner la nata hasta que se formen puntas firmes. Añadir el molido de fresas lentamente,
moviendo ampliamente pero con cuidado sin que se baje.
Colocar la mezcla en el refrigerador y sacarla cuando transcurra una hora.
Tarea
2. Hacer el s Pseudocódigo y diagrama de flujo
para un estudiante que desea ingresar a la
universidad, se debe mostrar si el estudiante
es aceptado o no.
3. Hacer el Pseudocódigo y diagrama de flujo
Para un mantenimiento de un computador
de mesa.

También podría gustarte