Bloque1
¿Qué es un algoritmo?
En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus
y este a su vez del matemático persa Al-Juarismi) es un conjunto
prescrito de instrucciones o reglas bien definidas,
ordenadas y finitas que permite realizar una actividad mediante pasos
sucesivos que no generen dudas a quien deba realizar dicha
actividad.Dados un estado inicial y una entrada, siguiendo los pasos
sucesivos se
llega a un estado final y se obtiene una solución. Los algoritmos son
el objeto de estudio de la algoritmia.
En
la vida cotidiana, se emplean algoritmos frecuentemente para resolver
problemas. Algunos ejemplos son los manuales de usuario, que muestran
algoritmos para usar un aparato, o las instrucciones que recibe un
trabajador por parte de su patrón. Algunos ejemplos en matemática son el
algoritmo de multiplicación, para calcular el producto, el algoritmo de
la división para calcular el cociente de dos números, el algoritmo de
Euclides para obtener el máximo común divisor de dos enteros positivos, o
el método de Gauss para resolver un sistema lineal de ecuaciones.
La descripción de un algoritmo usualmente se hace en tres niveles:
Descripción de alto nivel. Se establece el problema, se
selecciona un modelo matemático y se explica el algoritmo de manera
verbal, posiblemente con ilustraciones y omitiendo detalles.
Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución.
Implementación. Se muestra el algoritmo expresado en un lenguaje
de programación específico o algún objeto capaz de llevar a cabo
instrucciones.
¿Qué es un diagrama de flujo?
El diagrama de flujo o diagrama de actividades es la representación gráfica del algoritmo o proceso. Se utiliza en disciplinas como programación, economía, procesos industriales y psicología cognitiva.
En Lenguaje Unificado de Modelado (UML), un diagrama de actividades representa los flujos de trabajo
paso a paso de negocio y operacionales de los componentes en un
sistema. Un diagrama de actividades muestra el flujo de control general.
En SysML
el diagrama de actividades ha sido extendido para indicar flujos entre
pasos que mueven elementos físicos (p.ej., gasolina) o energía (p.ej.,
presión). Los cambios adicionales permiten al diagrama soportar mejor
flujos de comportamiento y datos continuos.
Estos diagramas
utilizan símbolos con significados definidos que representan los pasos
del algoritmo, y representan el flujo de ejecución mediante flechas que
conectan los puntos de inicio y de fin de proceso.
Las siguientes son acciones previas a la realización del diagrama de flujo:
Identificar las ideas principales al ser incluidas en el diagrama de
flujo. Deben estar presentes el autor o responsable del proceso, los
autores o responsables del proceso anterior y posterior y de otros
procesos interrelacionados, así como las terceras partes interesadas.
Definir qué se espera obtener del diagrama de flujo.
Identificar quién lo empleará y cómo.
Establecer el nivel de detalle requerido.
Determinar los límites del proceso a describir.
Los pasos a seguir para construir el diagrama de flujo son:
Establecer el alcance del proceso a describir. De esta manera
quedará fijado el comienzo y el final del diagrama. Frecuentemente el
comienzo es la salida del proceso previo y el final la entrada al
proceso siguiente.
Identificar y listar las principales actividades/subprocesos que
están incluidos en el proceso a describir y su orden cronológico.
Si el nivel de detalle definido incluye actividades menores, listarlas también.
Identificar y listar los puntos de decisión.
Construir el diagrama respetando la secuencia cronológica y asignando los correspondientes símbolos.
Asignar un título al diagrama y verificar que esté completo y describa con exactitud el proceso elegido.
Óvalo o Elipse: Inicio y término (Abre y cierra el diagrama).
Rectángulo: Actividad (Representa la ejecución de una o más actividades o procedimientos).
Rombo: Decisión (Formula una pregunta o cuestión).
Círculo: Conector (Representa el enlace de actividades con otra dentro de un procedimiento).
Triángulo boca abajo: Archivo definitivo (Guarda un documento en forma permanente).
Triángulo boca arriba: Archivo temporal (Proporciona un tiempo para el almacenamiento del documento).
¿Qué es una corrida de escritorio?
La prueba de escritorio es una herramienta útil para
entender que hace un determinado algoritmo, o para verificar que un
algoritmo cumple con la especificación sin necesidad de ejecutarlo.
Básicamente,
una prueba de escritorio es una ejecución ‘a mano’ del algoritmo, por
lo tanto se debe llevar registro de los valores que va tomando cada una
de las variables involucradas en el mismo.
consiste en
dar valores a las variables que hemos definido y que siguen el flujo del
programa para comprobar si al final el resultado es el acertado
es
seguir uno a uno los pasos verificando que se llegue siempre a
resultados validos si nos encontramos con complicaciones es necesaario
revisar nuestra propuesta de solucion. esto quiere decir que algo
hicimos mal y en caso de encontrar errores en necesario revisar el
proceso desde su definicion.
¿Qué es un pseudocodigo?
El pseudocódigo (o falso lenguaje) es una descripción de alto nivel compacta e informal del principio operativo de un programa informático u otro algoritmo.
Utiliza las convenciones estructurales de un lenguaje de programación real, pero está diseñado para la lectura humana en lugar de la lectura
mediante máquina, y con independencia de cualquier otro lenguaje de
programación. Normalmente, el pseudocódigo omite detalles que no son
esenciales para la comprensión humana del algoritmo, tales como
declaraciones de variables, código específico del sistema y algunas subrutinas. El lenguaje de programación se complementa, donde sea conveniente, con descripciones detalladas en lenguaje natural,
o con notación matemática compacta. Se utiliza pseudocódigo pues este
es más fácil de entender para las personas que el código del lenguaje de
programación convencional, ya que es una descripción eficiente y con un
entorno independiente de los principios fundamentales de un algoritmo.
Se utiliza comúnmente en los libros de texto y publicaciones científicas
que se documentan varios algoritmos, y también en la planificación del
desarrollo de programas informáticos, para esbozar la estructura del
programa antes de realizar la efectiva codificación.
No existe una sintaxis estándar para el pseudocódigo, aunque los ocho IDE's
que manejan pseudocódigo tengan su sintaxis propia. Aunque sea
parecido, el pseudocódigo no debe confundirse con los programas
esqueleto que incluyen código ficticio, que pueden ser compilados sin errores. Los diagramas de flujo y UML pueden ser considerados como una alternativa gráfica al pseudocódigo, aunque sean más amplios en papel.
Las principales características de este lenguaje son:
Se puede ejecutar en un ordenador (con un IDE como por ejemplo SLE, LPP, PilatoX, Maruga Script, Seudocódigo o PSeInt. Otros Ides de consideración son Inter-P y Algor)
Es una forma de representación sencilla de utilizar y de manipular.
Facilita el paso del programa al lenguaje de programación.
Es independiente del lenguaje de programación que se vaya a utilizar.
Es un método que facilita la programación y solución al algoritmo del programa.
Todo documento en pseudocódigo debe permitir la descripción de:
Instrucciones primitivas.
Instrucciones de proceso....
Instrucciones de control.
Instrucciones compuestas.
Instrucciones de descripción.
Estructura a seguir en su realización:
Cabecera.
Programa.
Módulo.
Tipos de datos.
Constantes.
Variables.
Cuerpo.
Inicio.
Instrucciones.
Fin.
Los pseudocódigos presentan los siguientes beneficios:
Ocupan mucho menos espacio en el desarrollo del problema.
Permite representar de forma fácil operaciones repetitivas complejas.
Es más sencilla la tarea de pasar de pseudocódigo a un lenguaje de programación formal.
Si se siguen las reglas de identación se puede observar claramente los niveles en la estructura del programa.
En los procesos de aprendizaje de los alumnos de programación, éstos
están más cerca del paso siguiente (codificación en un lenguaje
determinado, que los que se inician en esto con la modalidad Diagramas
de Flujo).
Mejora la claridad de la solución de un problema.
No hay comentarios.:
Publicar un comentario