lunes, 12 de septiembre de 2011

Investigación tema --- 2.1 Análisis de Problemas.

*****Análisis de Problemas

El propósito del análisis de un problema es ayudar al programador para llegar a una cierta comprensión de la naturaleza del problema. El problema debe estar bien definido si se desea llegar a una solución satisfactoria.

Para poder definir con precisión el problema se requiere que las especificaciones de entrada, proceso y salida sean descritas con detalles.


   * Entrada, son todos los datos que hay que ingresar para la resolución del problema.

   * Proceso, son los diferentes procedimientos en los cuales usare los datos proporcionados por el usuario en el paso anterior para resolver el problema.

   * Salida, la resolución del problema.


Una buena definición del problema, junto con una descripción detallada de las especificaciones de entrada y salida, son los requisitos más importantes para llegar a una solución eficaz.


El análisis del problema exige una lectura previa del problema a fin de obtener una idea general de lo que se solicita, la segunda lectura deberá servir para responder a las preguntas:


      * ¿Qué información debe proporcionar la resolución del problema?

      * ¿Qué datos se necesitan para resolver el problema?



La respuesta a la primera pregunta indicara los resultados deseados o las salidas del problema. La respuesta a la segunda pregunta indicara que datos proporcionan o las entradas del problema.

domingo, 11 de septiembre de 2011

Exposición tema --- 2.1 Análisis de Problemas.

*Análisis del problema 

Cuando un usuario plantea en un programa un problema que resuelve mediante su ordenador, por lo general ese usuario tendrá conocimientos más o menos amplios sobre el dominio del problema, pero no es habitual que tenga conocimientos de informática. 

El informático que va a resolver un determinado problema puede ser un experto programador, pero en principio no tiene por qué conocer el dominio del problema. 

Al abordar un problema que se quiere resolver mediante un ordenador, el programador necesita de la experiencia del experto del dominio para entender el problema.


La función del análisis

La parte esencial de la planeación y diseño la constituye el análisis de los sistemas hipotéticos desde el punto de vista de los objetivos de las preposiciones y de las condiciones limitativas. 


Herramientas

· Seleccionar la herramienta correcta para un análisis dado. 

· Reconocer el momento en que se deba retroceder para adquirir mayores facilidades. 

· Consultar con los expertos y estar en capacidad de entenderse en el mismo lenguaje. 

· Conocer los límites de utilización de determinada herramienta.

sábado, 10 de septiembre de 2011

Investigación temas --- 1.9 Ejecutables y 1.10 Consola de Línea de Comandos

----->Ejecutables

Un ejecutable o archivo ejecutable, es un archivo binario cuyo contenido se interpreta por la computadora como un programa. Generalmente, contiene instrucciones en código máquina de un procesador enconcreto, pero también puede contener bytecode que requiera un intérprete para ejecutarlo.

Además suele contener llamadas a funciones específicas de un sistema operativo (llamadas al sistema). En sí, estos archivos son ejecutados y controlados por el sistema operativo y, generalmente necesitan de otros archivos para funcionar (aunque no es necesario).

Dependiendo del tipo de que se traten las instrucciones, hablaremos de ejecutables portables (se pueden ejecutar en varias plataformas) y no portables (destinado a una plataforma concreta).

Por ejemplo, un ejecutable Java es portable ya que utiliza un bytecode no asociado a un procesador en concreto.

Como nota adicional podemos decir que los archivos ejecutables son el principal medio de transmisión de virus y malwares para nuestra computadora.



----->Consola de Línea de Comandos

Command Line Interface en inglés. Muy en específico, es un tipo de interfaz para manipular un programa o sistema operativo con instrucciones escritas.

Cada instrucción es escrita en una línea de texto y suelen ejecutarse al presionar ENTER. También se suele permitir archivos scripts para la ejecución automática de varias líneas de comandos que cumplen alguna función.

Si bien se siguen usando en algunos ámbitos, este tipo de interfaz ha evolucionado hacia las Graphic User Interface, que son interfaces gráficas para el usuario.

La interfaz CLI es usada principalmente por los programadores en diversos sistemas y para diferentes funciones. Los sistemas operativos de la familia DOS son ejemplos de uso de interfaz CLI.

viernes, 9 de septiembre de 2011

Exposición temas --- 1.9 Ejecutables y 1.10 Consola de Línea de Comandos

>>>Ejecutables

Un ejecutable es tradicionalmente un archivo binario cuyo contenido se interpreta por el ordenador como un programa. Dependiendo el tipo de que se traten las instrucciones hablaremos de ejecutables portables y no portables.
Un programa ejecutable no tiene por qué necesariamente contener código de maquina sino que puede tener instrucciones a interpretar por otro programa. En la mayoría de los sistemas modernos un ejecutable contiene mucha información que no es del programa en sí.


>>>Consola de línea de comando

Es un método que permite a las personas dar instrucciones a algún programa informático por medio de texto simple. Pueden emplearse interactivamente, escribiendo instrucciones en alguna especie de entrada de texto, o pueden utilizarse de una forma mucho más automatizada, leyendo comandos desde un archivo scripts.

 Las CLI (Comand Line Interface), existen para diversos programas y sistemas operativos, para diversos hardware y con diferente funcionalidad, son usados por programadores y administradores de sistema como herramienta primaria de trabajo, especialmente en sistemas operativos basados en unix.

jueves, 8 de septiembre de 2011

Investigación temas --- 1.7 Editores de texto y 1.8 Compiladores e Intérpretes

****Editores de Texto

Un editor de texto es un programa que permite crear y modificar archivos digitales compuestos únicamente por texto sin formato, conocidos comúnmente como archivos de texto o texto plano. El programa lee el archivo e interpreta los bytes leídos según el código de caracteres que usa el editor. Hoy en día es comúnmente de 7- ó 8-bits en ASCII o UTF-8, rara vez EBCDIC. 

Los editores de texto son una parte fundamental, ya que permiten al programador introducir el código de sus aplicaciones y modificarlo a placer, con suma facilidad. Encontramos software especializado en un lenguaje de programación u otros que ofrecen la posibilidad de poder interactuar con varios lenguajes de programación al mismo tiempo. La mayoría de editores de texto especializados para programación disponen de funciones como sintaxis coloreada, soporte para las opciones Buscar y Reemplazar, autocompletado de código, adición de marcas en líneas de código, creación de macros, etc. 

Los editores de texto son incluidos en el sistema operativo o en algún paquete de software instalado y se usan cuando se deben crear o modificar archivos de texto como archivos de configuración, scripts o el código fuente de algún programa. El archivo creado por un editor de texto incluye por convención en DOS y Microsoft Windows la extensión ".txt", aunque pueda ser cambiada a cualquier otra con posterioridad.


****Compiladores

La compilación consiste en coger los ficheros fuente que conforman un programa y, línea por línea, traducir cada instrucción de alto nivel por varias instrucciones en código máquina que realicen lo que la instrucción de alto nivel expresa. 

Si se repite esa traducción para todas las líneas del código fuente, obtendremos un conjunto de instrucciones máquina. Grabando esas instrucciones máquina en un fichero que contiene una estructura interna que un determinado sistema operativo es capaz de entender, obtenemos un fichero binario ejecutable, o simplemente, "un ejecutable". 

El encargado de realizar esta traducción es un tipo de programa llamado compilador. En su funcionamiento más básico, un compilador acepta uno o más ficheros fuente y si no contienen errores sintácticos produce un fichero binario ejecutable, que un sistema operativo será capaz de cargar en memoria principal y pedir a la CPU que lo ejecute. 


****Intérpretes

El proceso de interpretación es bastante diferente al de compilación, pero su resultado debería ser similar: la ejecución de un programa. El encargado de hacer esto es un programa llamado intérprete. A diferencia del compilador, el intérprete no produce una traducción a código máquina. El intérprete intenta realizar "al vuelo" lo que se expresa en los ficheros fuente. 

El intérprete contiene en su interior miles de porciones de código máquina, que combinándolas adecuadamente pueden realizar las mismas tareas que expresa una orden escrita en el lenguaje de alto nivel. Cuando un programa es interpretado, el proceso que se sigue es el siguiente: el intérprete obtiene una instrucción del fichero fuente y la realiza inmediatamente. 

Para ello, ejecuta en secuencia varias de esas porciones de código máquina que comentábamos antes, y que residen en el interior del intérprete. Cuando la CPU termina la ejecución de esa secuencia, el resultado es que la CPU habrá hecho lo que la línea de código fuente expresaba. Repitiendo esta secuencia para todas las líneas, el intérprete realiza lo que los ficheros fuente expresan... es decir, ejecuta el programa.

martes, 6 de septiembre de 2011

Exposición temas --- 1.7 Editores de texto y 1.8 Compiladores e Intérpretes

Editor de texto

Son programas que permiten crear y modificar archivos digitales compuestos por texto sin formato. También son conocidos como texto plano.

Los códigos de caracteres más utilizados son:

*Marcar región
*Búsqueda y reemplazar
*Copiar, cortar y pegar
*Formatear
*Deshacer
*Importar
*Filtros
*Acceso remoto


Procesadores de texto

Es una aplicación que permite la realización, modificación, almacenamiento e impresión de cualquier tipo de escrito de manera flexible y rápida.

Pueden ser guardados en forma de archivos llamados documentos, así como impresos a través de diferentes medios. También incorporan correcciones de ortografía y gramática, así como diccionarios multilenguaje y de sinónimos que facilitan en gran medida la labor de redacción.


Compilador

Es un programa que permite traducir el código fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior. De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a cómo piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora.

Partes de un compilador:

*Análisis
*Síntesis
*Front-End
*Back-En


Interprete

Es un programa informático capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel.

Los interpretes se diferencian de los compiladores en que mientras estos traducen un programa desde su descripción en un lenguaje de programación al código de máquina del sistema, los interpretes solo realizan la traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de ducha traducción.

Algunos de los lenguajes interpretados son:


*Perl
*PHP
*Java script
*ASP
*Python
*Ruby

domingo, 4 de septiembre de 2011

Investigación temas --- 1.4 Programa, 1.5 Programación y 1.6 Paradigmas de Programación.

==>Programa.

Un programa informático es una serie de comandos ejecutados por el equipo. Dicho equipo únicamente es capaz de procesar todos aquellos elementos que se caracterizan por ser binarios, es decir, que pertenecen a una serie de 0 y 1, en este caso; siempre se necesitará un lenguaje de programación para que pueda ser leído fácilmente, y es importante tener en cuenta el hecho de que este mismo lenguaje se traduce automáticamente para que la maquina pueda leerlo. 

El programa informático está fuertemente vinculado al lenguaje de programación que se elija, considerando que son muchos los tipos que existen en la actualidad, y debemos decir que el compilador que traduce el lenguaje hacia la maquina debe coincidir siempre con aquel que fue elegido para la programación, lo que dignifica que cada lenguaje de programación posee su propio compilador. 

En general, un programa informático es un archivo de texto que contiene líneas de programa las cuales son denominadas código de fuente; el mismo debe compilarse solo una vez. El compilador transforma el código de fuente en un archivo común, esto quiere decir que traduce ese archivo fuente a un lenguaje informático. Luego de esto el compilador utiliza un editor de vínculos el cual permite insertar todos los elementos adicionales a los cuales hace referencia el programa informático dentro del archivo final, pero debemos decir que los mismos no se almacenan en la fuente. Por último se crea un archivo que se caracteriza por ser ejecutable ya que el mismo posee todos aquellos elementos fundamentales para que el programa funcione de manera independiente.


==>Programación.

Es el proceso por el cual un programador escribe, en un lenguaje de programación, el código fuente de un software. Este código le indicará al programa informático qué tiene que hacer y cómo realizarlo. 

El programador se encarga de escribir, probar, depurar y mantener el código fuente. En este sentido, los modelos de desarrollo de software se enmarcan en una disciplina de la informática conocida como ingeniería de software. 

La programación se realiza mediante el uso de algoritmos, que son secuencias finitas, ordenadas y no ambiguas de instrucciones que deben seguirse para resolver un problema. Una vez que el programa informático ya se encuentra escrito, es necesario compilar el código para que pueda ser ejecutado por la computadora. 


==>Paradigma de Programación.

Un paradigma es un determinado marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos e intervenimos sobre él. Abarca desde el conjunto de conocimientos científicos que imperan en una época determinada hasta las formas de pensar y de sentir de la gente en un determinado lugar y momento histórico. Los paradigmas de programación nos indican las diversas formas que, a lo largo de la evolución de los lenguajes, han sido aceptadas como estilos para programar y para resolver los problemas por medio de una computadora. 

Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno que otro, sino que cada uno tiene ventajas y desventajas. Dependiendo de la situación un paradigma resulta más apropiado que otro. 

Atendiendo al paradigma de programación, se pueden clasificar los lenguajes en:

* El paradigma imperativo o por procedimientos es considerado el más común y está representado, por ejemplo, por el C o por BASIC.

* El paradigma funcional está representado por la familia de lenguajes LISP (en particular Scheme), ML o Haskell.

* El paradigma lógico, un ejemplo es PROLOG.

* El paradigma orientado a objetos. Un lenguaje completamente orientado a objetos es Smalltalk.