Spiga

‘ Cursos ’ category archive

Tipos de datos predefinidos de Ada

Febrero 15, 08 by Itimag

Ada, el lenguaje de programación que vamos a usar para llevar a cabo este curso, contempla 4 tipos de datos predefinidos. A continuación los enumeramos:
-Integer: Lo utilizamos para trabajar con algún dato numérico entero. Recordemos que un entero es aquel que pertenece al conjunto formado por números no fraccionarios y que puede ser positivo o negativo. Ejemplo: [-127...128].
Para acceder al primer o último valor del rango de enteros que hagamos definido (o el predefinido en ada), podemos usar lo siguiente:
- Integer’first= valor más grande negativo que puedo usar. Corresponde al -127 del ejemplo.
- Integer’last= el valor más grande positivo que puedo usar. Corresponde al 128 del ejemplo.

- Float: Hace referencia a los reales: puede ser tanto un número entero como un fraccionario. Lo usaremos principalmente cuando en nuestro programa se produzcan operaciones que conlleven a un número fraccionario.

- Character: para el uso de caracteres (ASCII). Al igual que en los enteros, podemos usar character’first o character’last para acceder al primer o último valor de un conjunto.

- boolean: para usarlo en variables que únicamente pueden tener los dos valores siguientes: verdadero (True) o falso (False).

Como programar correctamente

Febrero 13, 08 by Itimag

Ahora que conocemos los conceptos básicos de la programación y las características del lenguaje que vamos a utilizar, es momento de utilizar la lógica para darse cuenta de que pasos se deben seguir para llevar a cabo la programación de un proyecto, ya sea para una pequeña o gran empresa.

Programar un proyecto de gran embergadura no es una tarea fácil. Por esto, es de fundamental importancia seguir estos pasos para evitar errores de los cuales luego nos podamos arrepentir y que nos puede costar la reprogramación de todo el programa con su consecuente pérdida de tiempo adicional, sea cual sea el lenguaje de programación que vayamos a utilizar.

Lo primero que debemos hacer es entender de arriba a abajo que es lo que debe hacer el programa. Nunca empieces a programar sin tener, como mínimo, una idea o visión global del problema. No es mala idea coger un papel y hacer un listado de todas las tareas que debe realizar y en caso de que surjan dudas, preguntarla antes de empezar a desarrollar.

Una vez hemos entendido el problema, debemos hacer un análisis integro de este. Debemos coger un papel y representar en él la forma más óptima que se nos ocurra para resolver cada una de las tareas detectadas en el paso anterior. Podemos hacernos esquemas de la estructura de datos que vamos a utilizar, etc.

Ahora que seguro que tenemos bien claro que es lo que va a hacer nuestro programa, vamos a expresar el método de resolución formalmente en forma de pseudocódigo, con el lenguaje propiamente dicho o con organigramas (poco utilizado en la actualidad).

Yo os recomiendo hacer el pseudocódigo del programa. Esto es representar la programación del programa de una forma familiar a nuestro lenguaje de conversación. Por ejemplo: supongamos un programa que debe sumar dos números y decir si el resultado es positivo o negativo. Su representación en pseudocódigo sería la siguiente:

Programa Numeros es
Inicio
Visualizar_mensaje_introducir_numeros;
Obtener_numeros;
Sumar_numeros;
Si resultado es mayor que 0 entonces
Visualizar_mensaje_positivo;
si no
Visualizar_mensaje_negativo;
Fin si;
Fin programa;

Puedes encontrar más información sobre pseudocódigos en la wikipedia.

Una vez realizado nuestro pseudocódigo para cada una de las tareas del programa, solo nos falta escribirlo utilizando el lenguaje de programación elegido para nuestra aplicación, compilarlo y finalmente testearlo en búsqueda de errores para poder localizarlos y repararlos.

Compilar es un proceso que traduce un lenguaje de alto nivel (lenguaje más próximo al del habla humana) en un lenguaje máquina apropiado para cada arquitectura de computador.

Poco a poco irás entendiendo este proceso a medida que empecemos a realizar programas. Yo recomiendo, que mires los programas que publicaré y luego los intentes hacer por tu cuenta. Esta es sin duda alguna la mejor forma de aprender a programar.

No dudes en pedir cualquier duda. Un cordial saludo.

Lenguajes de programación: características

Febrero 12, 08 by Itimag

Podemos distinguir un lenguajes de programación dependiendo del tipo al que pertenezca. Existen varios tipos de lenguaje de programación:

  1. Imperativos
  2. Funcionales
  3. Lógicos
  4. Orientado a objetos

Los lenguajes imperativos se caracterizan por el hecho de que el significado de un programa no es más que un conjunto de instrucciones o órdenes que le indican al computador cómo debe realizar una tarea. Un ejemplo de este tipo de ódenes pueden ser: “dame esto”, “suma esto”, etc.

Los lenguajes funcionales estan constituidos únicamente por definiciones de funciones matemáticas. No utiliza las asignaciones (más adelante lo veremos) ni son construcciones estructuradas.

Los lenguajes lógicos se caracterizan por el uso de la lógica de predicados.

Por último, los lenguajes orientados a objetos, se caracteriza por el uso de objetos y sus iteracciones para diseñar aplicaciones y programas.

En este curso trataremos con un lenguaje imperativo. A continuación vamos a conocer sus elementos.

Elementos de los lenguajes imperativos:

- Los datos: elemento de información que puede obtener un valor dentro de un conjunto de valores.

Para llevar a cabo el almacenamiento de datos dentro de la memória, se utilizan una série de elementos o entidades: las constantes y las variables. A continuación se define cada una de ellas:

- Constantes: almacenan un dato que permanecerá intacto o constante en la memoria durante la duración de la ejecución de un programa.

- Variables: almacenan un dato el valor del cual puede variar en la memoria durante el tiempo de ejecucuión del programa.

Conceptos básicos de programación

Diciembre 24, 07 by Itimag

Antes de empezar a programar, todo informático debe conocer antes de ello un conjunto básico de definiciones o conceptos.

1. ¿Qué significado tiene la palabra informática?

La informática es la disciplina que estudia el tratamiento automático de la información. Proviene de las palabras información y automática. Este tratamiento se hace posible gracias a lo que conocemos como computador.

2. ¿Qué es un computador?

Es una máquina capaz de procesar la información de manera automática. Deben conocerse los datos inicíales y las fórmulas que se deben aplicar para así poder procesar la información. Se dice que un computador es capaz de ejecutar procesos de información, entendiendo estos como el hecho de que unos datos de entrada del computador son transformados para devolver unos resultados.

Por lo tanto, un computador disminuye los errores de cálculo y el tiempo de resolución de ciertos problemas que contienen muchos datos y operaciones complejas.

Un computador esta compuesto por Hardware y Software.

3. Hardware vs Software:

Creo que esta definición ya la conocéis de sobra pero no está mal ponerla aquí. El software hace referencia a todos los programas para el tratamiento de la información que se puede utilizar en un computador mientras que el hardware hace referencia a cada uno de los componentes que forma el computador (placa madre, tarjeta gráfica, memoria ram, disco duro, etc.).

4. ¿Qué es un programa?

Como programadores, hablaremos de programa como un conjunto de instrucciones o sentencias. También podemos definir un programa como la expresión de un algoritmo hecha en lenguaje de programación.

5. Definición de Acción:

Dentro de un entorno definido por un conjunto de objetos, una acción es un suceso de duración finita que posibilita pasar el entorno del estado actual a otro estado perfectamente definido.
5. Definición de algoritmo:

Definimos como algoritmo la expresión formal de un método de cálculo o de resolución. Por ejemplo: Supongamos el ejemplo de la multiplicación. Todos sabemos que 3×3 es equivalente a sumar 3 veces el número 3, es decir, 3×3= 3+3+3. Pues bien, cualquier método de este tipo se conoce como algoritmo.

Algoritmo y programa son lo mismo. La única diferencia reside en que el algoritmo está escrito en forma formal.

El conjunto de operaciones que realiza el algoritmo permite pasar del estado inicial del entorno al estado final de éste. Cada una de esas operaciones o bien es una acción o bien un algoritmo descrito previamente.

6. ¿Qué es un lenguaje de programación?

Definimos lenguaje de programación como aquello que nos permite codificar los programas. Debemos saber distinguir los 3 siguientes tipos de lenguajes de programación:

  1. Lenguaje máquina: Permite construir programas con lenguaje binario. Es el lenguaje que entienden los circuitos de nuestro computador. Cada procesador tiene su propio lenguaje máquina.
  2. Lenguaje ensamblador: es un lenguaje cercano al de la máquina. Próximamente igual os enseño a programar en ensamblador.
  3. Lenguaje de alto nivel: es un conjunto de instrucciones y sus reglas utilización y combinación. Entre ellos están Ada, Pascal, php, etc.

El computador solo sabe interpretar el lenguaje máquina. Esto significa que deberemos transformar los lenguajes ensamblador o de alto nivel al máquina para poder procesarlo.

Este proceso se lleva a cabo mediante el linkado, la compilación y el ensamblado.

Además, podemos agrupar los lenguajes de alto nivel en 2 tipos:

  1. Imperativos
  2. Funcionales

En este curso no entraremos dentro de los lenguajes funcionales. La característica principal de los lenguajes imperativos es que el significado de un programa es un conjunto de instrucciones o órdenes. Por ejemplo: “Haz esta suma”, “Multiplica esto”, etc.

7. Definición de Acción primitiva:

Definimos acción primitiva como aquella que puede ser ejecutada directamente por el computador.

8. ¿Qué es la abstracción?

La abstracción es describir la resolución de un problema complejo no en términos de acciones primitivas sino en términos de acciones compuestas.

Es decir, cuando se nos presenta un problema complejo, debemos abstraer el problema, es decir, descomponer este problema complejo en problemas más pequeños de forma que la resolución de un problema complejo se divida en múltiples problemas más sencillos que, unidos, dan la solución al problema.

La forma en cómo se combinan las acciones simples para formar acciones compuestas se denomina esquema de acción compuesta.

Sin duda alguna, esta es la definición que considero más importante ya que la finalidad de este curso no es aprender a usar un lenguaje de programación sino a aprender a resolver problemas.

No dudes en preguntar cualquier duda. Intentaré responder lo antes posible.