Definición de Algoritmo
La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.
Tipos de Algoritmos
Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.
Lenguajes Algoritmicos
Es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso.
Tipos de Lenguajes Algoritmicos
Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).
No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocódigo).
Metodología para la solución de problemas por medio de computadora
Definición del Problema
Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.
Análisis del Problema
Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:
Los datos de entrada.
Cuál es la información que se desea producir (salida)
Los métodos y fórmulas que se necesitan para procesar los datos.
Una recomendación muy practica es el que nos pongamos en el lugar de la computadora y analicemos que es lo que necesitamos que nos ordenen y en que secuencia para producir los resultados esperados.
Diseño del Algoritmo
Las características de un buen algoritmo son:
Debe tener un punto particular de inicio.
Debe ser definido, no debe permitir dobles interpretaciones.
Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema.
Debe ser finito en tamaño y tiempo de ejecución.
Codificación
La codificación es la operación de escribir la solución del problema (de acuerdo a la lógica del diagrama de flujo o pseudocódigo), en una serie de instrucciones detalladas, en un código reconocible por la computadora, la serie de instrucciones detalladas se le conoce como código fuente, el cual se escribe en un lenguaje de programación o lenguaje de alto nivel.
Prueba y Depuración
Los errores humanos dentro de la programación de computadoras son muchos y aumentan considerablemente con la complejidad del problema. El proceso de identificar y eliminar errores, para dar paso a una solución sin errores se le llama depuración.
La depuración o prueba resulta una tarea tan creativa como el mismo desarrollo de la solución, por ello se debe considerar con el mismo interés y entusiasmo.
Resulta conveniente observar los siguientes principios al realizar una depuración, ya que de este trabajo depende el éxito de nuestra solución.
Documentación
Es la guía o comunicación escrita es sus variadas formas, ya sea en enunciados, procedimientos, dibujos o diagramas.
A menudo un programa escrito por una persona, es usado por otra. Por ello la documentación sirve para ayudar a comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento).
La documentación se divide en tres partes:
Documentación Interna
Documentación Externa
Manual del Usuario
Documentación Interna: Son los comentarios o mensaje que se añaden al código fuente para hacer más claro el entendimiento de un proceso.
Documentación Externa: Se define en un documento escrito los siguientes puntos:
Descripción del Problema
Nombre del Autor
Algoritmo (diagrama de flujo o pseudocódigo)
Diccionario de Datos
Código Fuente (programa)
Manual del Usuario: Describe paso a paso la manera cómo funciona el programa, con el fin de que el usuario obtenga el resultado deseado.
Mantenimiento
Se lleva acabo después de terminado el programa, cuando se detecta que es necesario hacer algún cambio, ajuste o complementación al programa para que siga trabajando de manera correcta. Para poder realizar este trabajo se requiere que el programa este correctamente documentado.
Tipos De Datos
Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como ‘b’, un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de valores que puede tomar una variable.
Numéricos
Simples Lógicos
Alfanuméricos (string)
Tipos de
datos Arreglos (Vectores, Matrices)
Estructurados Registros
(Def. por el Archivos
usuario) Apuntadores
Tipos de Datos Simples
Datos Numéricos: Permiten representar valores escalares de forma numérica, esto incluye a los números enteros y los reales. Este tipo de datos permiten realizar operaciones aritméticas comunes.
Datos Lógicos: Son aquellos que solo pueden tener dos valores (cierto o falso) ya que representan el resultado de una comparación entre otros datos (numéricos o alfanuméricos).
Datos Alfanuméricos (String): Es una secuencia de caracteres alfanuméricos que permiten representar valores identificables de forma descriptiva, esto incluye nombres de personas, direcciones, etc. Es posible representar números como alfanuméricos, pero estos pierden su propiedad matemática, es decir no es posible hacer operaciones con ellos. Este tipo de datos se representan encerrados entre comillas.
Ejemplo:
“Leónidas Rubio Villegas”
“1986”
Expresiones
Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Por ejemplo:
a+(b + 3)/c
Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecución de las operaciones indicadas.
Una expresión consta de operadores y operandos. Según sea el tipo de datos que manipulan, se clasifican las expresiones en:
Aritméticas
Relaciónales
Lógicas
Operadores y Operandos
Operadores: Son elementos que relacionan de forma diferente, los valores de una o mas variables y/o constantes. Es decir, los operadores nos permiten manipular valores.
Aritméticos
Tipos de Operadores Relaciónales
Lógicos
Operadores Aritméticos: Los operadores aritméticos permiten la realización de operaciones matemáticas con los valores (variables y constantes).
Los operadores aritméticos pueden ser utilizados con tipos de datos enteros o reales. Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real.
Operando (Operador) Operando
Valor
(Constante o variable)
Operadores Aritméticos
+ Suma
- Resta
* Multiplicación
/ División
Mod Modulo (residuo de la división entera)
Ejemplos:
Expresión Resultado
7 / 2 3.5
12 mod 7 5
4 + 2 * 5 14
Prioridad de los Operadores Aritméticos
Todas las expresiones entre paréntesis se evalúan primero. Las expresiones con paréntesis anidados se evalúan de dentro a fuera, el paréntesis mas interno se evalúa primero.
Dentro de una misma expresión los operadores se evalúan en el siguiente orden.
1.- ^ Exponenciación
2.- *, /, mod Multiplicación, división, modulo.
3.- +, - Suma y resta.
Los operadores en una misma expresión con igual nivel de prioridad se evalúan de izquierda a derecha.
Ejemplos:
4 + 2 * 5 = 14
23 * 2 / 5 = 9.2 46 / 5 = 9.2
3 + 5 * (10 - (2 + 4)) = 23 3 + 5 * (10 - 6) = 3 + 5 * 4 = 3 + 20 = 23
3.5 + 5.09 - 14.0 / 40 = 5.09 3.5 + 5.09 - 3.5 = 8.59 - 3.5 = 5.09
2.1 * (1.5 + 3.0 * 4.1) = 28.98 2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98
Operadores Relaciónales:
Se utilizan para establecer una relación entre dos valores.
Compara estos valores entre si y esta comparación produce un resultado de certeza o falsedad (verdadero o falso).
Los operadores relaciónales comparan valores del mismo tipo (numéricos o cadenas)
Tienen el mismo nivel de prioridad en su evaluación.
Los operadores relaciónales tiene menor prioridad que los aritméticos.
Operadores Relaciónales
Mayor que
< Menor que
> = Mayor o igual que
< = Menor o igual que
< > Diferente
= Igual
Ejemplos:
Si a = 10 b = 20 c = 30
a + b > c Falso
a - b < style="mso-tab-count:1"> Verdadero
a - b = c Falso
a * b < > c Verdadero
Ejemplos no lógicos:
a <>
10 <>
T < style="mso-tab-count:1"> (no es lógico porque tiene diferentes operandos)
Identificadores
Los identificadores representan los datos de un programa (constantes, variables, tipos de datos). Un identificador es una secuencia de caracteres que sirve para identificar una posición en la memoria de la computadora, que nos permite accesar a su contenido.
Ejemplo: Nombre
Num_hrs
Calif2
Reglas para formar un Identificador
h Debe comenzar con una letra (A a Z, mayúsculas o minúsculas) y no deben contener espacios en blanco.
h Letras, dígitos y caracteres como la subraya ( _ ) están permitidos después del primer carácter.
h La longitud de identificadores puede ser de hasta 8 caracteres.
Constantes y Variables
Ø Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.
Ejemplo:
pi = 3.1416
Ø Variable: Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la ejecución de un proceso, su contenido puede cambia durante la ejecución del programa. Para poder reconocer una variable en la memoria de la computadora, es necesario darle un nombre con el cual podamos identificarla dentro de un algoritmo.
Ejemplo:
área = pi * radio ^ 2
Las variables son : el radio, el área y la constate es pi
Clasificación de las Variables
Numéricas
Por su Contenido Lógicas
Alfanuméricas (String)
Variables
De Trabajo
Por su Uso Contadores
Acumuladores
Por su Contenido
Ø Variable Numéricas: Son aquellas en las cuales se almacenan valores numéricos, positivos o negativos, es decir almacenan números del 0 al 9, signos (+ y -) y el punto decimal. Ejemplo:
iva=0.15 pi=3.1416 costo=2500
Ø Variables Lógicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el resultado de una comparación entre otros datos.
Ø Variables Alfanuméricas: Esta formada por caracteres alfanuméricos (letras, números y caracteres especiales). Ejemplo:
letra=’a’ apellido=’lopez’ direccion=’Av. Libertad #190’
Por su Uso
Ø Variables de Trabajo: Variables que reciben el resultado de una operación matemática completa y que se usan normalmente dentro de un programa. Ejemplo:
suma=a+b/c
Ø Contadores: Se utilizan para llevar el control del número de ocasiones en que se realiza una operación o se cumple una condición. Con los incrementos generalmente de uno en uno.
Ø Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresivamente.
No hay comentarios:
Publicar un comentario