miércoles, 8 de octubre de 2008

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 123. El tipo de dato determina la naturaleza del conjunto de valores que puede tomar una variable.
Datos Numéricos:
Nos permiten representar valores escalares de forma numérica, y 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) y comúnmente representan el resultado de una comparación entre otros datos (numéricos o alfanuméricos).
Datos Alfanuméricos o String:
Es una secuencia de caracteres ( letras y/o números) 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: “2008” “Universidad Politécnica Victoria”

Metodología para la creación de Algoritmos

  • 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 tenga claridad de el problema y conozcas lo que se deseas que realice la computadora para la resolución; mientras esto no se conozca del todo no es recomendable continuar. Tomate el tiempo necesario para realizar esta actividad.

  • Análisis del problema.

Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:

Los datos de entrada.

Cual 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 práctica es el que nos pongamos en el lugar de la computadora y analicemos qué es lo que necesitamos que nos proporcionen y en qué secuencia u orden para producir los resultados que necesitamos.

  • 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. (Muy importante!)

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 (escritura) y prueba.

La escritura es la operación de escribir la solución del problema de acuerdo a una lógica , en una serie de instrucciones detalladas, en un código reconocible. Cuando hacemos la codificación es poner las mismas instrucciones pero en un lenguaje entendible para la computadora (sintaxis). Posteriormente debemos probarlo, hacer lo que se conoce como "corrida manual". Esto no es mas que seguir exactamente las instrucciones tal y como las escribimos, y ver si tenemos las salidas deseadas. 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 puede ser extenso. En la medida de que se haga bien la escritura, las pruebas saldrán con los resultados deseados y no tendremos más problemas de los que estamos resolviendo. Los errores lógicos (derivados de no escibir las instrucciones bajo una lógica) son los más difíciles de resolver, y son los que mayormente contribuyen a desistir de que resolvamos el problema.

martes, 7 de octubre de 2008

Variables

Variables

Una variable es una locación en la memoria principal que almacena un valor que puede cambiar en el transcurso de la ejecución del programa. Cuando un programa necesita almacenar un dato, necesita una variable. Toda variable tiene un nombre, un tipo de dato y un valor. Antes de poder utilizar una variable es necesario declararla especificando su nombre y su tipo de dato. Para declarar declarar variables usaremos los siguientes formatos:

Declaración de una variable:
tipo nombre
Ejemplo:
ENTERO Nota
Declaración de varias variables con el mismo tipo de dato:
tipo nombre1, nombre2, nombre3.
Ejemplo:
ENTERO nota1,nota2,nota3...

Literales

Se denominan literales a todos aquellos valores que figuran en el codigo y pueden ser:

Literales ENTEROS: 3, 2000, 21, etc.
Literales REALES: 3.1416, 9.81, etc.
Literales de CARACTER: 'a', 'x', ';', '<', '+', etc. Lieterales de CADENA: "Nombre", "Algoritmos", etc. Literales LOGICOS: verdadero, falso


Ejemplo

Hacer un algoritmo que sume dos numeros

1) Crear tres variables ENTEROS Numero1,Numero2,Resultado.
2) Leer la primera variable (Numero1)
3) Leer la segunda variable (Numero2)
4) Asignar a la variable Resultado la suma de Numero1+Numero2.
5) Imprimo la variable Resultado
6) Fin

Si lo hago en pseudocódigo...

Proceso Suma
0<-Numero1
0<-Numero2
0<-Resultado
Escribir 'Dame el primer numero'
Leer Numero1
Escribir 'Dame el segundo numero'
Leer Numero2
Resultado<-Numero1+Numero2
Escribir 'El resultado es',Resultado;
FinProceso

Instrucciones algorítmicas básicas

Algunas de las instrucciones algorítmicas básicas son:
Entrada
Consiste en obtener un dato de un dispositivo de entrada, como el teclado, y almacenarlo en una variable. En general, la acción de ingresar un dato a una variable se expresa en el pseudocódigo mediante la palabra LEER, de la siguiente forma:
LEER variable
Por ejemplo, la instrucción:
LEER estatura
Solicita el ingreso de un valor, desde algún dispositivo de entrada (como el teclado), para la variable estatura.
Salida
Consiste en mostrar el valor de una variable en un dispositivo de salida, como la pantalla. En general, la acción de mostrar el valor de una variable se expresa en el pseudocódigo mediante la palabra IMPRIMIR o ESCRIBIR (Para el caso del PSEINT) de la siguiente forma:
IMPRIMIR variable o ESCRIBIR variable
Por ejemplo, la instrucción:
IMPRIMIR (ESCRIBIR) importeCompra
Muestra, en algún dispositivo de salida (como la pantalla), el valor de la variable importeCompra.
Asignación
Consiste en asignar a una variable el valor de una expresión. La expresión puede ser una simple variable, un simple literal o una combinación de variables, literales y operadores. La asignación se expresa en el pseudocódigo de la siguiente forma:
variable = expresión
Donde variable y el valor de expresión deben tener el mismo tipo de dato.Cuando se asigna un valor ENTERO a una variable REAL, entonces el valor ENTERO se convertirá en REAL antes de almacenarse. Así, al asignar el valor ENTERO 25 a una variable REAL, se almacenará 25.0.
Ejemplo
Algoritmo para expresar en centímetros y pulgadas una cantidad dada en metros.
Nota: lo que se encuentra despues de cada // son comentarios
INICIO
// Declara las variables M, C y P
REAL M, C, P
// Solicita el ingreso de la cantidad en metros
LEER M
// Calcula la cantidad en centímetros y lo asigna a la variable C
C = M*100
// Calcula la cantidad en pulgadas y lo asigna a la variable P
P = C/2.54
// Muestra los valores de las variables C y P
IMPRIMIR C, P
FIN

Introduccion

El término algoritmo proviene del matemático Muhammad ibn Musa al-Khwarizmi, que vivió aproximadamente entre los años 780 y 850 d.C. en la actual nación Iraní. El describió la realización de operaciones elementales en el sistema de numeración decimal. De al-Khwarizmi se obtuvo la derivación algoritmo.
Las computadoras solo entiende el llamado código máquina (1 y 0) o lenguje binario. Los lenguajes de programación de alto nivel permiten dar órdenes a la computadora con un lenguaje parecido al nuestro (Visual Basic, Pascal, LOGO, C, etc). El inconveniente, si lo pudiéramos llamar así, es de que los lenguajes de alto nivel necesitan un compilador o interprete para traducirlo al código máquina.Los lenguajes más cercanos al idioma de la computadora, llamados de bajo nivel, son muy complicados (casi como el código máquina) y poco usados.
Los lenguajes de programación, cuentan con un juego de instrucciones o comandos. Una instrucción no es más que una orden que nosotros le damos a la máquina.
Y es que, al fin y al cabo, un PROGRAMA no es más que una secuencia de instrucciones (escritas en algún lenguaje de programación) pensado para RESOLVER algún tipo de PROBLEMA. Si no sabemos resolver este problema, no podremos escribir el programa.
A cada persona se le puede ocurrir una manera de resolverlo, y todas ser correctas. Este METODO con el que se resuelve el problema, es lo que se llama ALGORITMO.
El algoritmo tiene que cumplir con las siguientes características:
  1. Preciso, indicará el orden de cada paso.
  2. Definido, el mismo resultado se obtendrá al ejecutar el algoritmo “n” ocasiones.
  3. Finito, deberá terminar en algún momento.

Un algoritmo es una secuencia de PASOS a seguir para resolver un problema.

Bienvenidos!

Este blog nace como una herramienta para apoyo en la materia de Algoritmos y Programación del Depto. de Ingeniería Mecatrónica en la Universidad Politécnica Victoria.
Este espacio es de lo usuarios, así que cualquier comentario que ayude a mejorarla es bienvenido.
La mecánica de este espacio es el de ser interactivo, es decir, si hay dudas, preguntas o comentarios, así como aportaciones son bienvenidas. Cualquier aportación es válida, siempre que sea expresada con respeto hacia los demás.
Así que adelante, y que les sea de utilidad.

Bienvenidos!