El algoritmo es de carácter general y puede aplicarse a cualquier operación matemática o a cualquier problema.
La formulación de algoritmos fue uno de los más grandes adelantos dentro de la ciencia matemática ya que a partir de ello se pudieron resolver infinidad de problemas.
Landa, matemático ruso, quien ha investigado mucho al respecto nos dice que "la ciencia matemática, en el proceso de su desarrollo, ha tratado de encontrar los algoritmos óptimos más generales para resolver los problemas que permitan la solución uniforme de clases más amplias de problemas de una manera, es decir, empleando siempre el mismo sistema de operacion
Los algoritmos, para llegara ser tales deben reunir ciertas características. Una de ellas es que los pasos que deben seguirse deben estar estrictamente descritos, cada acción debe ser precisa, y debe ser general, es decir, que pueda ser aplicable a todos los elementos de una misma clase.
Por ejemplo en el caso del algoritmo de una multiplicación, no sólo se realizará el procedimiento de resolución parte para la multiplicación de 4 x 4, sino que el mismo algoritmo podrá aplicarse a cualquier multiplicación. La última de estas características será la resolución, en otras palabras, esto quiere decir que el algoritmo deberá llegar a un resultado específico.
El algoritmo podría confundirse con lo comúnmente conocido como "receta de cocina", sin embargo la diferencia estriba en que el alumno o los alumnos, al elaborar un algoritmo tienen que pensar en las instrucciones a seguir lo que en una receta serían pasos ya establecidos. "Es precisamente por esta razón el hecho de enseñar a actuar a los estudiantes en base en actividades concientes y a dominar formas de razonamiento caprichosamente".
Es de gran importancia aclarar que los algoritmos en si mismos no resuelvan problemas, se resuelven gracias al producto de ejercer las operaciones dictadas por el algoritmo, se puede decir que es por el planteamiento mismo.
La realización de algoritmos es natural e innata en el hombre y en la mayoría de los casos es de tipo inconsciente, en otras palabras, las personas suelen resolver problemas sin tener que recurrir a la aplicación de cierto algoritmo.
No obstante al encontrarse con problemas de un grado de dificultad mayor es necesario detenerse a analizar y pensar en la solución de éste, por lo tanto es necesario incluir en todas las materias una hora de problemas que impliquen aplicar, con método de solución los algoritmos.
domingo, 7 de noviembre de 2010
Los diagramas de flujo,
Los diagramas de flujo, como su nombre lo indica, son gráficas que representan la dirección que sigue la información que contiene un algoritmo; los datos se encierran en diferentes figuras, estas se llaman figuras lógicas. Existen cinco figuras lógicas únicas utilizadas en el diagrama de flujo: Inicio, Proceso, Ciclo y Fin.
Algoritmos predefinidos
Algoritmos predefinidos
Existen algoritmos ya definidos matemáticamente que son muy eficientes, como los algoritmos de búsqueda o el algoritmo de Dijkstra, y suelen ser tomados por otros programadores para utilizarlos dentro de sus propios códigos.
Existen algoritmos ya definidos matemáticamente que son muy eficientes, como los algoritmos de búsqueda o el algoritmo de Dijkstra, y suelen ser tomados por otros programadores para utilizarlos dentro de sus propios códigos.
Algoritmos en programación
Un programa de computadora es un algoritmo que le dice a la computadora los pasos específicos para llevar acabo una tarea. Los algoritmos son rigurosamente definidos para que la computadora pueda interpretarlos. El orden en que se ejecuta cada uno de los pasos que constituyen un algoritmo es fundamental. El orden más básico es de arriba hacia abajo, ejecutándose una instrucción tras otra de un código. Pero un algoritmo puede variar en su flujo u orden de ejecución de pasos dependiendo de los valores de inicio o que entran durante su ejecución. El flujo es manejado por las estructuras de control.
Algunos autores consideran que el flujo de ejecución de un algoritmo debe detenerse correctamente alguna vez, y que esto forma parte de la definición de algoritmo. En tanto, otros no lo consideran así.
Algunos autores consideran que el flujo de ejecución de un algoritmo debe detenerse correctamente alguna vez, y que esto forma parte de la definición de algoritmo. En tanto, otros no lo consideran así.
Implementación de algoritmos
En programación, los algoritmos se implementan en forma de sentencias en algún lenguaje de programación. De esta manera, la forma de escribir los algoritmos depende del lenguaje de programación, y del paradigma usado. Estos son los algoritmos que pueden ser interpretados por una computadora y así ser ejecutados.
Los algoritmos también pueden representarse gráficamente empleando diagramas de flujo o formas similares. De esta manera, son fácilmente comprensibles, especialmente para personas que no son programadores. También, de esta manera, los algoritmos son más "universales", pues no dependen de un lenguaje de programación específico.
Los algoritmos también pueden escribirse en pseudocódigo, lo que también los hace fáciles de entender.
Se hacen intentos para que las computadoras interpreten y ejecuten los diagramas de flujo y los pseudocódigos, pero no logran la flexibilidad, potencia y velocidad de los algoritmos puramente escritos en un lenguaje de programación específico.
Un algoritmo también puede expresarse en lenguaje natural, aunque esto puede traer ambigüedades e interpretaciones erróneas (la ambigüedad es propia del lenguaje humano).
Los algoritmos también pueden representarse gráficamente empleando diagramas de flujo o formas similares. De esta manera, son fácilmente comprensibles, especialmente para personas que no son programadores. También, de esta manera, los algoritmos son más "universales", pues no dependen de un lenguaje de programación específico.
Los algoritmos también pueden escribirse en pseudocódigo, lo que también los hace fáciles de entender.
Se hacen intentos para que las computadoras interpreten y ejecuten los diagramas de flujo y los pseudocódigos, pero no logran la flexibilidad, potencia y velocidad de los algoritmos puramente escritos en un lenguaje de programación específico.
Un algoritmo también puede expresarse en lenguaje natural, aunque esto puede traer ambigüedades e interpretaciones erróneas (la ambigüedad es propia del lenguaje humano).
CARACTERÍSTICAS DE UN ALGORITMO
Todo algoritmo debe cumplir las siguientes características:
Debe ser Preciso; Esto es, debe especificar sin ambigüedad el orden en que se deben ejecutar las instrucciones.
Debe estar Definido; Esto es, cada vez que se ejecute bajo las mismas condiciones, la secuencia de ejecución deberá ser la misma proporcionándonos el mismo resultado.
Debe ser Finito; Esto es, siempre que sea adecuado se realizarán un número finito de instrucciones, en un tiempo finito y requiriendo una cantidad finita de esfuerzo.
Debe ser Preciso; Esto es, debe especificar sin ambigüedad el orden en que se deben ejecutar las instrucciones.
Debe estar Definido; Esto es, cada vez que se ejecute bajo las mismas condiciones, la secuencia de ejecución deberá ser la misma proporcionándonos el mismo resultado.
Debe ser Finito; Esto es, siempre que sea adecuado se realizarán un número finito de instrucciones, en un tiempo finito y requiriendo una cantidad finita de esfuerzo.
Algoritmo
AlgoritmosUn algoritmo es un método para resolver un problema, debe presentarse como una secuencia ordenada de instrucciones que siempre se ejecutan en un tiempo finito y con una cantidad de esfuerzo también finito. En un algoritmo siempre debe haber un punto de inicio y un punto de terminación, estos deben ser únicos y deben ser fácilmente identificables
sábado, 6 de noviembre de 2010
Diagramas de flujo
Diagramas de flujo (flows charts):Es la representación grafica del algoritmo; según la ANSI consta de una simbologia , que tiene los siguientes significados:
Para ver el gráfico seleccione la opción "Descargar" del menú superior
Símbolos del Diagrama de flujo
Codificación :
Programación:
Windows/Dos/
Quick Basic = Editor de texto.
Programa: definición:
conjunto de datos y sentencias:
Un programa tiene la forma
Para ver el gráfico seleccione la opción "Descargar"
En el editor de Quick Basic se escribiría codificado el seudo código
que tendría la forma:
REM Programa para calcular las soluciones
REM de una ecuacion de segundo grado
PRINT "Escriba los valores de A, B y C"
C$="Calculos"
INPUT " A,B,C", A, B, C
R = (B ^ 2 - 4 * A * C) ^ .5
LET X1 = (-B + R) / (2 * A)
LET X2 = (-B + R) / (2 * A)
PRINT
PRINT " A="; A, " B="; B, "C="; C
PRINT "X1="; X1, "X2="; X2
PRINT
END
Para ver el gráfico seleccione la opción "Descargar" del menú superior
Símbolos del Diagrama de flujo
Codificación :
Programación:
Windows/Dos/
Quick Basic = Editor de texto.
Programa: definición:
conjunto de datos y sentencias:
Un programa tiene la forma
Para ver el gráfico seleccione la opción "Descargar"
En el editor de Quick Basic se escribiría codificado el seudo código
que tendría la forma:
REM Programa para calcular las soluciones
REM de una ecuacion de segundo grado
PRINT "Escriba los valores de A, B y C"
C$="Calculos"
INPUT " A,B,C", A, B, C
R = (B ^ 2 - 4 * A * C) ^ .5
LET X1 = (-B + R) / (2 * A)
LET X2 = (-B + R) / (2 * A)
PRINT " A="; A, " B="; B, "C="; C
PRINT "X1="; X1, "X2="; X2
END
Pseudo código:
Pseudo código: es el lenguaje de especificación de algoritmos y tiene una estructura: Las instrucciones se escriben en ingles o en palabras similares al ingles o español que facilitan la escritura de programación
Para la resolución de una ecuación de segundo grado se escribiría
inicio
Introducir coeficientes a, b y c
Imprimir títulos primera raíz, segunda raíz, no tiene solución,
Calcular raíz 1 y raíz 2
Imprimir raíz 1 y raíz 2
Fin
Para la resolución de una ecuación de segundo grado se escribiría
inicio
Introducir coeficientes a, b y c
Imprimir títulos primera raíz, segunda raíz, no tiene solución,
Calcular raíz 1 y raíz 2
Imprimir raíz 1 y raíz 2
Fin
Diseño del algoritmo.
Análisis de proceso implica que hace el programa.
Diseño implica como se hace o realiza la tarea (problema) solicitado
En el diseño:
El todo es la sumatoria de las partes.
Divide el todo en varias partes.
En la resolución de un problema complejo, se divide en varios sub problemas y seguidamente se vuelven a dividir los sub problemas en otros mas sencillos, hasta que puedan implementarse en el computador.
Esta característica define lo que se entiende como diseño descendente( Top-Down / Norte-Sur ) o diseño modular.
El proceso de ruptura del problema en cada etapa se llama refinamiento sucesivo.
Cada problema se resuelve mediante un modulo (subprograma) y tiene un solo punto de entrada y un solo punto de salida.
Un programa bien diseñado consta de un programa principal (modulo de nivel mas alto) que llama a subprogramas (módulos de nivel mas bajo), que a su vez pueden llamar otros sub programas.
Los programas que se estructuran de esta forma, se dicen que tienen diseño modular y el método de romper el programa en modos pequeños se llama programación modular.
Los módulos pueden ser planificados, codificados, compilados y depurados independientemente pueden ser intercambiados entre si.
Diseño implica como se hace o realiza la tarea (problema) solicitado
En el diseño:
El todo es la sumatoria de las partes.
Divide el todo en varias partes.
En la resolución de un problema complejo, se divide en varios sub problemas y seguidamente se vuelven a dividir los sub problemas en otros mas sencillos, hasta que puedan implementarse en el computador.
Esta característica define lo que se entiende como diseño descendente( Top-Down / Norte-Sur ) o diseño modular.
El proceso de ruptura del problema en cada etapa se llama refinamiento sucesivo.
Cada problema se resuelve mediante un modulo (subprograma) y tiene un solo punto de entrada y un solo punto de salida.
Un programa bien diseñado consta de un programa principal (modulo de nivel mas alto) que llama a subprogramas (módulos de nivel mas bajo), que a su vez pueden llamar otros sub programas.
Los programas que se estructuran de esta forma, se dicen que tienen diseño modular y el método de romper el programa en modos pequeños se llama programación modular.
Los módulos pueden ser planificados, codificados, compilados y depurados independientemente pueden ser intercambiados entre si.
Reglas para formar un identificador
Debe comenzar con una letra (A a Z, mayúsculas o minúsculas) y no deben contener espacios en blanco.
Letras, dígitos y caracteres como la subraya ( _ ) están permitidos después del primer carácter.
La longitud de identificadores puede ser de varios caracteres. Pero es recomendable una longitud promedio de 8 caracteres.
El nombre del identificador debe dar una idea del valor que contiene.
Letras, dígitos y caracteres como la subraya ( _ ) están permitidos después del primer carácter.
La longitud de identificadores puede ser de varios caracteres. Pero es recomendable una longitud promedio de 8 caracteres.
El nombre del identificador debe dar una idea del valor que contiene.
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 permite acceder a su contenido.
Ejemplo:
» Nombre
» Num_hrs
» Calif2
Ejemplo:
» Nombre
» Num_hrs
» Calif2
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
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
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.
Suscribirse a:
Entradas (Atom)