Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fundamentos de algoritmos
Objetivo: El alumno explicar la importancia de llevar un mtodo formal para resolver problemas en la computadora;
Terrestre
Marino
http://www.bletchleypark.org.uk/
Cinta o Banda de Moebius August Ferdinand Mbius y Johann Benedict Listing en 1858
Determinismo: El algoritmo, dado un conjunto de datos idnticos de entrada, siempre debe arrojar los mismos resultados.
Finitud: El algoritmo, independientemente de la complejidad del mismo, siempre debe ser de longitud finita.
Ing. Tanya Arteaga Ricci
Algoritmo
Datos de Entrada
Impresin de resultados
Es importante mantener un estndar para la realizacin de dichos diagramas, esto con el fin de facilitar el intercambio de algoritmos mediante su esquematizacin grfica. Es por eso que a continuacin se muestran los smbolos a ocupar durante el curso.
Flujo de datos
Cinta magntica
Pantalla
Disco magntico
Teclado
2. Las lneas utilizadas para indicar la direccin del flujo del diagrama deben ser rectas, verticales y horizontales.
Instrucciones de entrada
Son aquellas instrucciones encargadas de recoger el dato de un dispositivo de entrada, y seguidamente almacenarlo en memoria en una variable previamente definida, para la cual se ha reservado suficiente espacio en memoria.
Leer Variable Leer Var1, Var2, , VarN
Instrucciones de salida
Son aquellas instrucciones encargadas de recoger los datos procedentes de variables evaluadas y depositarlos en un dispositivo de salida.
Ing. Tanya Arteaga Ricci
Escribir Resultado
Datos Estructurados
Se caracterizan por el hecho de que con un nombre (identificador de variable estructurada) se hace referencia a un grupo de casillas de memoria. Es decir un dato estructurado tiene varios componentes.
0011011
Los reales son nmeros que pueden ser precedidos del signo + -, y que tienen una parte decimal.
Ing. Tanya Arteaga Ricci
Variables Las variables son objetos que pueden cambiar su valor durante la ejecucin de un programa. Al igual que las constantes, pueden existir tipos de variables como tipos de datos.
OPERADOR
SMBOLO
SIGNIFICADO
Parntesis
()
**, ^ * / %, mod + + = =, = !=, < > < <= > >= !, NOT &&, AND ||, OR
Parntesis
Potencia Producto Divisin Mdulo Signo positivo o suma Signo negativo o resta Concatenacin Concatenacin eliminando espacios Igual a Distinto a Menor que Menor o igual que Mayor que Mayor o igual que Negacin Conjuncin Disyuncin
Aritmticos
Alfanumricos
Relacionales
Lgicos
Algoritmo que lee N nmeros y termina cuando encuentra un nmero par positivo o llega a N.
LEER N
C=0 C=C+1
LEER A
R=A/2 R>0
SI NO SI
R=0
NO
C<N
NO
SI
Algoritmo que calcule la suma de los 20 primeros nmeros pares y el producto de los 20 primeros nmeros impares simultneamente.
SP 0 PI 1 C0 SW 0
C C +1
NO
SW = 0
SI
SP SP + C SW 0
PI PI * C SW 1
C<= 40
NO
SI
SUMA = , SP PRODUCTO = , PI
FIN
CUERPO INICIO
FIN
EXPRESIN LGICA
NO
Se opta por repetir n veces el proceso que se indica en el rectngulo
PROCESO
SI PROCESO
SI
EXPRESIN LGICA
NO
Es conveniente realizar la solucin de problemas con la computadora de manera conversacional, es decir, que el programa de computadora nos vaya indicando mediante mensajes las opciones y si se desea repetir el proceso con otros datos. El bosquejo general de un diagrama de flujo conversacional puede ser el siguiente:
DAME DATOS
VALORES
INICIO
Da temperatura en C
Otra conversin S/N
Resp C
SI
Resp = SI
NO
Fin de proceso
FIN
Aplicaciones del Ciclo Iterativo Otro de los conceptos de programacin de gran utilidad es la estructura que nos permite llevar a cabo sumatorias (en ellas el proceso que se repite es la acumulacin de expresiones similares, por ejemplo sumar n dgitos o sumar una y otra vez el valor de una variable X elevada a un exponente que crece en cada ocasin)
F=1
K=K+1 F=F*K
F=2x3
K=3+1 F=6x4
F=6
K=4 F = 24 K=5
SI
K >= N
K=4+1
NO
F = 24 x 5
F = 120
Ing. Tanya Arteaga Ricci
INICIO
Dame N N
F=1
K = 0 ; K >= N ; K=K+1
F=F*K
K >= N
NO
F = ,F
FIN
F = ,F
FIN