concepto de algoritmo
computadora
compilador
interprete
dispositivos de almacenamiento
hardware
software
lenguaje maquina
lenguaje ensamblador
lenguaje de programacion
lenguaje c
elementos de diagrama de flujo
seudocodigo
variables y constantes
diagrama n-s
martes, 10 de febrero de 2009
viernes, 6 de febrero de 2009
algoritmo hecho en clase
realizar un algoritmo que lea la edad en meses de una persona y determine si puede votar o no puede votar (imprime puede votar o no puede votar)
1.-inicio
2.-leer n
3.-calcular años=n*12
4.-si años<216 hacer paso 5 si no paso 7
5.-imprimir si puede votar
6.-saltar paso 7
7.-imprimir no puede votar
8.-fin
1.-inicio
2.-leer n
3.-calcular años=n*12
4.-si años<216 hacer paso 5 si no paso 7
5.-imprimir si puede votar
6.-saltar paso 7
7.-imprimir no puede votar
8.-fin
jueves, 5 de febrero de 2009
Métodos Formales de verificaciones de programas.
Aserciones7
Una parte importante de uan verificación formal es la documentación de un programa atraves de asertos o afirmaciones – sentencias logicas ciertas hacerca del programa que se declaran verdaderas-. Un aserto se escribe como un comentario y describe lo que se supone sea verdadero sobre las variables del programa en ese punto.
Precondiciones y poscondiciones
Las precondiciones y poscondiciones son afirmaciones sencillas sobre condiciones al principio y al final de los modulos.
Reglas para prueba de programas
Un medio util para probar que un programa p hace lo que realmente ha de hacer es proporcional aserciones que expresen las condiciones antes y después de que p sea ejecutado. En realidad las aserciones son como sentencias o declaraciones que pueden ser o bien verdaderas o bien falsas.
Invariantes de bucles
Una invariante de bucle es una condicion que es verdadera antes y después de la ejecución de un bucle. Las invariantes de bucle se utilizan para demostrar la conexión (exactitud) de algoritmos iterativos. Utilizando invariantes se pueden detectar errores antes de comenzar la codificacion y por esa razon reducir tiempo de depuración y prueba.
Aserciones7
Una parte importante de uan verificación formal es la documentación de un programa atraves de asertos o afirmaciones – sentencias logicas ciertas hacerca del programa que se declaran verdaderas-. Un aserto se escribe como un comentario y describe lo que se supone sea verdadero sobre las variables del programa en ese punto.
Precondiciones y poscondiciones
Las precondiciones y poscondiciones son afirmaciones sencillas sobre condiciones al principio y al final de los modulos.
Reglas para prueba de programas
Un medio util para probar que un programa p hace lo que realmente ha de hacer es proporcional aserciones que expresen las condiciones antes y después de que p sea ejecutado. En realidad las aserciones son como sentencias o declaraciones que pueden ser o bien verdaderas o bien falsas.
Invariantes de bucles
Una invariante de bucle es una condicion que es verdadera antes y después de la ejecución de un bucle. Las invariantes de bucle se utilizan para demostrar la conexión (exactitud) de algoritmos iterativos. Utilizando invariantes se pueden detectar errores antes de comenzar la codificacion y por esa razon reducir tiempo de depuración y prueba.
miércoles, 4 de febrero de 2009
Diagrama de Nassi-Schneiderman
El diagrama n-s de Nassi-Schneiderman -tambien conocido como diagrama de chapìn- es como un diagrama de flujo en el que se omiten las flechas de unión y las cajas son contiguas. Las acciones sucesivas se describen en cajas sucesivas y, como el los diagramas de flujo, se pueden escribir diferentes acciones en una caja.
Un algoritmo se representa con un rectángulo en el que cada banda es una acción a realizar:
El diagrama n-s de Nassi-Schneiderman -tambien conocido como diagrama de chapìn- es como un diagrama de flujo en el que se omiten las flechas de unión y las cajas son contiguas. Las acciones sucesivas se describen en cajas sucesivas y, como el los diagramas de flujo, se pueden escribir diferentes acciones en una caja.
Un algoritmo se representa con un rectángulo en el que cada banda es una acción a realizar:
Pseudocódigo
Pseudocodigos: se pueden definir como un lenguaje de especificaciones de algoritmos.
El pseudocodigo que resuelve el problema 2.1 es:
Previsiones de depreciciacion
Introducir coste
Vida útil
Valor final de rescate (recuperacion)
Imprimir cabeceras
Establecer el valor inicial del año
Calcular depreciación
Mientras valor año=< vida útil hacer
Calcular depreciación acumulada
Calcular valor actual
Imprimir una línea en la tabla
Incrementar el valor del año
Fin mientras
Las palabras reservadas básicas editan representadas en negritas
Pseudocodigos: se pueden definir como un lenguaje de especificaciones de algoritmos.
El pseudocodigo que resuelve el problema 2.1 es:
Previsiones de depreciciacion
Introducir coste
Vida útil
Valor final de rescate (recuperacion)
Imprimir cabeceras
Establecer el valor inicial del año
Calcular depreciación
Mientras valor año=< vida útil hacer
Calcular depreciación acumulada
Calcular valor actual
Imprimir una línea en la tabla
Incrementar el valor del año
Fin mientras
Las palabras reservadas básicas editan representadas en negritas
Representación Grafica de Algoritmos
Para presentar un algoritmo se debe utilizar algún método que permita independizar dicho algoritmo del lenguaje de programación elegido ello permitirá que un algoritmo pueda ser codificado indistintamente a cualquier lenguaje.
Los métodos usuales para presentar un algoritmo son:
1.- diagrama de flujo
2.- diagrama n-s (nasi-schneaiderman)
3.- lenguaje de especificación de algoritmo: pseudocodigo,
4.- lenguaje español, ingles….
5.- formulas.
Para presentar un algoritmo se debe utilizar algún método que permita independizar dicho algoritmo del lenguaje de programación elegido ello permitirá que un algoritmo pueda ser codificado indistintamente a cualquier lenguaje.
Los métodos usuales para presentar un algoritmo son:
1.- diagrama de flujo
2.- diagrama n-s (nasi-schneaiderman)
3.- lenguaje de especificación de algoritmo: pseudocodigo,
4.- lenguaje español, ingles….
5.- formulas.
Suscribirse a:
Entradas (Atom)