Escolar Documentos
Profissional Documentos
Cultura Documentos
Modulo cero.
Definición formal
En general, no existe ningún consenso definitivo en cuanto a la definición
formal de algoritmo. Muchos autores los señalan como listas de
instrucciones para resolver un cálculo o un problema abstracto, es decir, que un
número finito de pasos convierten los datos de un problema (entrada) en
una solución (salida).Sin embargo cabe notar que algunos algoritmos no
necesariamente tienen que terminar o resolver un problema en particular.
Por ejemplo, una versión modificada de la criba de Eratóstenes que nunca
termine de calcular números primos no deja de ser un algoritmo. 7
A lo largo de la historia varios autores han tratado de definir formalmente
a los algoritmos utilizando modelos matemáticos. Esto fue realizado por
Alonzo Church en 1936 con el concepto de "calculabilidad efectiva" basada en
su cálculo lambda y por Alan Turing basándose en la máquina de Turing. Los dos
enfoques son equivalentes, en el sentido en que se pueden resolver
exactamente los mismos problemas con ambos enfoques. 8 9 Sin embargo,
estos modelos están sujetos a un tipo particular de datos como son
números, símbolos o gráficas mientras que, en general, los algoritmos
funcionan sobre una vasta cantidad de estructuras de datos.3 1 En general, la
parte común en todas las definiciones se puede resumir en las siguientes
tres propiedades siempre y cuando no consideremos algoritmos paralelos:7
Tiempo secuencial. Un algoritmo funciona en tiempo discretizado –paso a
paso–, definiendo así una secuencia de estados computacionales por
cada entrada válida (la entrada son los datos que se le suministran al
algoritmo antes de comenzar).
Estado abstracto. Cada estado computacional puede ser descrito
formalmente utilizando una estructura de primer orden y cada algoritmo es
independiente de su implementación (los algoritmos son objetos
abstractos) de manera que en un algoritmo las estructuras de primer
orden son invariantes bajo isomorfismo.
Exploración acotada. La transición de un estado al siguiente queda
completamente determinada por una descripción fija y finita; es decir,
entre cada estado y el siguiente solamente se puede tomar en cuenta una
cantidad fija y limitada de términos del estado actual.
Definimos lógica como la ciencia que expone las leyes y formas del
conocimiento científico. Se trata de una ciencia formal que no tiene contenido,
sino se dedica al estudio de las formas válidas de interferencia. Es decir, se
trata de los métodos y los principios utilizados para distinguir el razonamiento
correcto del incorrecto
Podemos ver otro ejemplo que no necesariamente tiene que ver con la
programación, pero servirá para tener una mejor idea de lo que es diagramar,
esta vez lo haremos con un diagrama de flujo.
Operadores de relación
Los operadores relacionales o de relación permiten realizar comparaciones
entre valores o expresiones de cualquier tipo. Los operadores relacionales son:
mientras que
(A - 2) < (B - 4) es falso
3 < 6 es verdadero
0 > 1 es falso
4 = 2 es falso
8 <= 5 es falso
9 >= 9 es verdadero
5 <> 5 es falso
()()
^
*, /
\
mod
+, -
y los podemos ver en la siguiente tabla:
Un diagrama de flujo es una representación gráfica de un proceso. Cada paso del proceso es
representado por un símbolo diferente que contiene una breve descripción de la etapa de proceso.
Los símbolos gráficos del flujo del proceso están unidos entre sí con flechas que indican la
dirección de flujo del proceso.
El diagrama de flujo ofrece una descripción visual de las actividades implicadas en un proceso
mostrando la relación secuencial ente ellas, facilitando la rápida comprensión de cada actividad y
su relación con las demás, el flujo de la información y los materiales, las ramas en el proceso, la
existencia de bucles repetitivos, el número de pasos del proceso, las operaciones de
interdepartamentales… Facilita también la selección de indicadores de proceso
Que es el Pseudocódigo?
Una tabla de verdad, o tabla de valores de verdad, es una tabla que muestra el valor de
verdad de una proposición compuesta, para cada combinación de verdad que se pueda
asignar.1
Fue desarrollada por Charles Sanders Peirce por los años 1880, pero el formato más popular
es el que introdujo Ludwig Wittgenstein en su Tractatus logico-philosophicus, publicado en
1921.
Qué son las estructuras de programación?
•De acuerdo con una condición, ejecutar un grupo u otro de sentencias (If-Then-Else)
•De acuerdo con el valor de una variable, ejecutar un grupo u otro de sentencias (Select-Case)
•Ejecutar un grupo de sentencias mientras se cumpla una condición (Do-While)
•Ejecutar un grupo de sentencias hasta que se cumpla una condición (Do-Until)
•Ejecutar un grupo de sentencias un número determinado de veces (For-Next)
Todas las estructuras de control tienen un único punto de entrada. Las estructuras de control
se pueden clasificar en: secuenciales, iterativas y de control avanzadas. Esta es una de las
cosas que permiten que la programación se rija por los principios de la programación
estructurada.
Otros lenguajes ofrecen estructuras diferentes, como por ejemplo los comandos guardados.
ESTRUCTURA SI MÚLTIPLE
Investigar sobre DFD y PSEInt.
DFD
Dfd Permite editar y ejecutar algoritmos representados en diagramas de flujo. Está pensado para principiantes, pero se
puede usar para construir algoritmos complejos, incluso usando recursión.
Descargar DFD.
PSeint
PSeInt es una herramienta para asistir a un estudiante en sus primeros pasos en programación. Mediante un simple e
intuitivo pseudolenguaje en español (complementado con un editor de diagramas de flujo), le permite centrar su atención en
los conceptos fundamentales de la algoritmia computacional, minimizando las dificultades propias de un lenguaje y
proporcionando un entorno de trabajo con numerosas ayudas y recursos didácticos.