Introduccion

Imagen de cyfuss

Maquinas y programas

  • Maquina: Dispositivo o instrumento físico capaz de realizar un trabajo u operación
  • Maquina virtual: Dispositivos que, aunque no existan físicamente, pueden concebirse y describirse con precisión y predecir su comportamiento

Maquinas programables

El concepto de maquina lleva asociado el de un proceso de funcionamiento en el que las diferentes operaciones se realizan de forma sucesiva o simultánea

Desde el punto de vista del funcionamiento, las clasificamos:

  • Maquinas no automáticas o control manual: Operador externo
  • Maquinas automáticas: Actúan por si solas, aunque respondan a estímulos externos
  • Maquinas automáticas fijas: A unos determinados estímulos responderá siempre de la misma manera
  • Maquinas automáticas programables: Su comportamiento no siempre es el mismo

Concepto de computo:
Un computo es una operación de tratamiento de información. En informática identificamos el concepto de computo con el de tratamiento de la información

Concepto de computador:
Un computador se define como una maquina programable para tratamiento de la información

Un programa de computador es una descripción de un computo. Ademas es también una descripción del comportamiento de una maquina y podemos considerarlo como una maquina virtual

Un computador posee elementos fijos (maquina base -> Hardware) y modificables (programas -> software) La estructura general de un computador se puede representar

Memoria
Procesador
Datos de entrada Entrada / Salida Resultados de salida

Programación e ingeniería de software:
Para realizar un determinado tratamiento de información con ayuda de un computador habrá sido necesario:

  • Construir el computador (Hardware) [Fabricantes de Hard]
  • Idear y desarrollar el programa (Software) [Fabricantes de soft]
  • Ejecutar dicho programa en el computador [Usuario]

Programación
El desarrollo de programas complejos exige un equipo mas o menos numeroso de personas que trabajan de manera organizada. Las técnicas para desarrollo constituye la ingeniería de software

Programación e ingeniería del software no son disciplinas independientes si no complementarias

El desarrollo de software en gran escala consiste en descomponer el trabajo total en programación en partes independientes para ser desarrollada por miembros individuales.

Objetivos de la programación
Las técnicas de programación han de establecerse con el objetivo de ser una base adecuada para la ingeniería del software

Los objetivos particulares de la programación:

  • Corrección: Debe realizar el tratamiento esperado y no producir resultados erróneos Antes de desarrollar un programa debe especificarse con toda claridad el funcionamiento esperado
  • Claridad: Todos los programas ha de ser modificados después de haber sido desarrollado, por eso es fundamental que todas las descripciones sean claras.
  • Eficiencia: Un programa es eficiente cuando aprovecha mejor los recursos disponibles y su empleo es mas económico

Si tenemos que ordenar los distintos objetivos, primero la corrección, segundo la claridad y tercero la eficiencia

Lenguajes de programación

Cada modelo de computador podrá utilizar una forma particular de codificación de programas que no tiene por que coincidir con la de otros modelos

Código de maquina ó Lenguaje de maquina: la forma de codificar de una maquina en particular

Un programa codificado en el lenguajes de un modelo de maquina, no podrá ser ejecutado en otro distinto. Para que funcione en diferentes maquinas tenemos que preparar versiones particulares para cada maquina, lo que multiplica el costo del desarrollo

El código maquina es muy difícil de leer por personas, esta compuesto por código numérico sin sentido

Los lenguajes de programación sirven para representar programas en forma texto para que pueda ser leído por una persona con facilidad, ademas, son formas de representación independiente de la maquina que lo vaya a usar

Compiladores e interpretes
Procesadores de lenguajes: Realizan el tratamiento de la información en forma de texto que representa el programa en el lenguaje de programación simbólico

Un compilador es un programa que traduce programas de un lenguaje de programación simbólico a código maquina

Programa fuente o lenguaje fuente; A la representación del programa en lenguaje simbólico

Programa objeto o lenguaje objeto: A la representación del programa en código maquina

Interprete es un programa que analiza la descripción simbólica del programa fuente y realiza las operaciones oportunas

El proceso mediante interprete es mas sencillo, que mediante compilador, ya que no hay que realizar dos fases. Su principal inconveniente es que su ejecución es mas lenta.

Modelos abstractos de computo
El modelo abstracto recoge los elementos básicos y formas de combinación en forma abstracta, prescindiendo de la notación concreta usada en cada lenguaje de programación para representarlo.

Hay diversos modelos:

  • Programación funcional
  • Programación lógica
  • Programación imperativa (mas extendida)
  • Modelo de flujo de datos
  • Programación orientada a objetos....

Modelo funcional: Se basa en el empleo de funciones
Modelo de flujo de datos: Cada operador esta conectado mediante un cuadrado con entradas y salidas
Modelo de programación lógica: Un programa consiste en plantear de manera formal un problema a base de declarar una serie de elementos conocidos.
Modelo imperativo: Responde a la arquitectura Von Neumann. Aparece como una lista de ordenes o instrucciones.



Posteado en

Enviar un comentario nuevo

Smileys
:);):(:D}:):P:O:?8):jawdrop::sick:
El contenido de este campo se mantiene como privado y no se muestra públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.
  • Textual smileys will be replaced with graphical ones.

Más información sobre opciones de formato

Captcha
Esta pregunta es para probar que el que escribe el comentario es un humano
3 + 4 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.