miércoles, 21 de septiembre de 2011

REPRESENTACIÓN GRÁFICA DE ALGORÍTMOS (INVESTIGACIÓN))

Descripción en Pseudocódigo
Pseudo = falso. El pseudo código no es realmente un código sino una imitación y una versión abreviada de instrucciones reales para las computadoras. Es una técnica para diseño de programas que permite definir las estructuras de datos, las operaciones que se aplicarán a los datos y la lógica que tendrá el programa de computadora para solucionar un determinado problema. Utiliza un pseudolenguaje muy parecido a nuestro idioma, pero que respeta las directrices y los elementos de los lenguajes de programación. Se concibió para superar las dos principales desventajas de los flujogramas: lento de crear y difícil de modificar sin un nuevo redibujo.



Diagramas N-S
Son una herramienta que favorece la programación estructurada y reúne características gráficas propias de diagramas de flujo y lingüísticas propias de pseudocódigos. Constan de una serie de cajas contiguas que se leerán siempre de arriba-abajo.

Diagramas de Flujo
Son la representación gráfica de la solución algorítmica de un problema. Para diseñarlos se utilizan determinados símbolos o figuras que representan una acción dentro del procedimiento. Utilizan unos símbolos normalizados, con los pasos del algoritmo escritos en el símbolo adecuado y los símbolos unidos con flechas, denominadas líneas de flujo, que indican el orden en que los pasos deben ser ejecutados.

Para su elaboración se siguen ciertas reglas:
  • Se escribe de arriba hacia abajo y de izquierda a derecha
  • Siempre se usan flechas verticales u horizontales, jamás curvas
  • Evitar cruce de flujos
  • En cada paso expresar una acción concreta
 Secuencia de flujo normal en una solución de problema
  • Tiene un inicio
  • Una lectura o entrada de datos
  • El proceso de datos
  • Una salida de información
  • Un final
Simbología para diseñar flujogramas.

Ventajas de usar flujogramas
  • Rápida comprensión de las relaciones 
  • Análisis efectivo de las diferentes secciones del programa
    Pueden usarse como modelos de trabajo en el diseño de nuevos programas o sistemas.
  • Comunicación con el usuario
  • Documentación adecuada de los programas
  • Codificación eficaz de los programas
  • Depuración y pruebas ordenadas de programas
Desventajas de flujogramas
  • Diagramas complejos y detallados suelen ser laboriosos en su planteamiento y diseño.
  • Acciones a seguir tras la salida de un símbolo de decisión, pueden ser difíciles de seguir si existen diferentes caminos. 
  • No existen normas fijas para la elaboración de los diagramas de flujo que permitan incluir todos los detalles que el usuario desee introducir.

REPRESENTACIÓN GRÁFICA DE ALGORÍTMOS (CLASE)

Descripción en Pseudocódigo
Pseudo = falso. El pseudo código no es realmente un código sino una imitación y una versión abreviada de instrucciones reales para las computadoras. Es una técnica para diseño de programas que permite definir las estructuras de datos, las operaciones que se aplicarán a los datos y la lógica que tendrá el programa de computadora para solucionar un determinado problema. Utiliza un pseudolenguaje muy parecido a nuestro idioma, pero que respeta las directrices y los elementos de los lenguajes de programación. Se concibió para superar las dos principales desventajas de los flujogramas: lento de crear y difícil de modificar sin un nuevo redibujo.

Diagramas N-S
Son una herramienta que favorece la programación estructurada y reúne características gráficas propias de diagramas de flujo y lingüísticas propias de pseudocódigos. Constan de una serie de cajas contiguas que se leerán siempre de arriba-abajo.

Diagramas de Flujo
Son la representación gráfica de la solución algorítmica de un problema. Para diseñarlos se utilizan determinados símbolos o figuras que representan una acción dentro del procedimiento. Utilizan unos símbolos normalizados, con los pasos del algoritmo escritos en el símbolo adecuado y los símbolos unidos con flechas, denominadas líneas de flujo, que indican el orden en que los pasos deben ser ejecutados.

Para su elaboración se siguen ciertas reglas:   
Se escribe de arriba hacia abajo y de izquierda a derecha  
Siempre se usan flechas verticales u horizontales, jamás curvas  
Evitar cruce de flujos En cada paso expresar una accion concreta


Conclusión
podemos decir que los pseudocódigos ayudan a las estructuras de datos,  y la lógica que tendrá el programa de computadora para solucionar un determinado problema, ayudado del lenguaje de programacion, y diagramas de flujo.

domingo, 11 de septiembre de 2011

ANÁLISIS DEL PROBLEMA (INVESTIGACIÓN)

ANÁLISIS DEL PROBLEMA
Cuando un usuario plantea a un programador un problema que resolver 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. Por ejemplo, un contable que necesita un programa para llevar la contabilidad de una empresa será un experto en contabilidad (dominio del problema), pero no tiene por qué ser experto en programación.

Por ello, 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. Al final, si se quiere llegar a una solución satisfactoria es necesario que:
  • El problema esté bien definido con el máximo detalle. 
  • Las especificaciones de las entradas y salidas del problema.
  • ¿Qué datos son necesarios para resolver el problema? 
  • ¿Qué información debe proporcionar la resolución del 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
  • Reconocer el momento en que se debe retroceder para adquirir mayores facilidades.
  • Consultar con los expertos y estar en capacidad de entenderse con el mismo lenguaje.
  • Conocer los límites de utilización de determinada herramienta
  • Diagramas de flujo  

sábado, 10 de septiembre de 2011

ANÁLISIS DEL PROBLEMA (CLASE)


ANÁLISIS DEL PROBLEMA
Cuando un usuario plantea un programador, un problema que resuelve mediante su ordenador, por lo general ese usuario tendrá conocimientos de informática. Al abordar un problema que se quiere resolver mediante un ordenador, el programador necesita de experiencia del experto del dominio para entender el problema. El análisis de problema  tiene las siguientes especificaciones
  • Entrada
  • Proceso
  • Salida 
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.
CONCLUSIÓN
El análisis del problema no es más que la estrategia para la resolución de un problema en este caso informático pero conociendo previamente el tema con el que se está tratando, acompañado de pasos: entrada, proceso y salida, con la ayuda de herramientas para la facilitación del dicho análisis.

viernes, 9 de septiembre de 2011

EJECUTABLES Y CONSOLA DE LÍNEA DE COMANDOS (INVESTIGACIÓN)

EJECUTABLE
En informática, un ejecutable o archivo ejecutable, es tradicionalmente un archivo binario cuyo contenido se interpreta por el ordenador como un programa. Existen 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. Unos sistemas operativos se basan en la extensión de archivo (como la terminación .exe) y otros lo hacen leyendo los metadatos (como los bits de permiso de ejecución en Unix). En la mayoría de los sistemas modernos, un archivo ejecutable contiene mucha información que no es parte del programa en sí: recursos como textos e imágenes, requisitos del entorno de ejecución, información simbólica y de depuración, u otra información que ayude al sistema operativo a ejecutar el programa.

LINEA DE COMANDOS
Interfaz de Línea de Comandos (CLI), por su acrónimo en inglés de Command Line Interface (CLI), es un método que permite a las personas dar instrucciones a algún programa informático por medio de una línea de texto simple. Las CLI pueden emplearse interactivamente, escribiendo instrucciones en alguna especie de entrada de texto, o pueden utilizarse de una forma mucho más automatizada (batch), leyendo comandos desde un archivo de scripts. Existen, para diversos programas y sistemas operativos, para diversos hardware, y con diferente funcionalidad.
Las CLI son usadas por muchos programadores y administradores de sistemas como herramienta primaria de trabajo, especialmente en sistemas operativos basados en Unix; en entornos científicos y de ingeniería, y un subconjunto más pequeño de usuarios domésticos avanzados. En dispositivos portables y PDAs (como el iPhone), las CLI no se utilizan, debido a lo complejo que resulta ingresar datos de texto, o por la ausencia total de teclados.


FUNCIONAMIENTO
En su forma más simple, una CLI consiste en un espacio donde se pueden escribir comandos (por lo usual señalizando con un prompt). El usuario teclea una orden y la ejecuta al pasar a la línea siguiente, utilizando la tecla Intro/Enter.
Al finalizar y enviar la orden con Intro, un modulo Interpretador de Órdenes analiza la secuencia de caractéres recibida y, si la sintaxis de la orden es correcta, ejecuta la orden dentro del contexto del programa o del sistema operativo donde se encuentra. Esta forma de trabajo es secuencial, y equivale a un tipo de programación paso a paso. Utilizado para diagnóstico y labores administrativas.

IMPLEMENTACIONES DE CLI    
Casi cualquier programa puede diseñarse para ofrecer al usuario alguna clase de intérprete de comandos. Por ejemplo, los juegos de PC en primera persona tienen un intérprete de comandos incorporado, conocido comúnmente como consola Las implementaciones de lenguajes interpretados suelen ofrecer también un ambiente de trabajo basado en CLI. En estos ambientes se crea una instancia de la maquina virtual  con la que el usuario puede interactuar. 

EJEMPLOS DE INTERACCIÓN POR CLI 
  • NewShell
  • Bash
  • TACL
  • Matlab
  • Quake
  • CMD

jueves, 8 de septiembre de 2011

EJECUTABLES Y CONSOLA DE LÍNEA DE COMANDOS (CLASE)


EJECUTABLE

Es tradicionalmente un archivo binario cuyo contenido se interpreta por el ordenador como un programa. Existen ejecutables portables  y no portables . Unos sistemas operativos se basan en la extensión de archivo (como la terminación .exe) y otros lo hacen leyendo los metadatos (como los bits de permiso de ejecución en Unix). Un programa ejecutable no tiene por qué necesariamente contener código de máquina, sino que puede tener instrucciones a interpretar por otro programa. Este tipo de ejecutables son conocidos con el nombre de scripts.


LINEA DE COMANDOS
Es un método que permite a las personas dar instrucciones a algún programa informático por medio de una línea de texto simple. Las CLI pueden emplearse interactivamente, escribiendo instrucciones en alguna especie de entrada de texto, o pueden utilizarse de una forma mucho más automatizada (batch), leyendo comandos desde un archivo de scripts.


FUNCIONAMIENTO:
En su forma más simple, una CLI consiste en un espacio donde se pueden escribir comandos (por lo usual señalizando con un prompt). El usuario teclea una orden y la ejecuta al pasar a la línea siguiente, utilizando la tecla Intro/Enter.


IMPLEMENTACIONES DE CLI:
Casi cualquier programa puede diseñarse para ofrecer al usuario alguna clase de intérprete de comandos. Por ejemplo, los juegos de PC en primera persona tienen un intérprete de comandos incorporado, conocido comúnmente como consola (no confundir con Videoconsola), utilizado para diagnóstico y labores administrativas. Quake, Unreal Tournament, Ragnarok Online o Battlefield son algunos ejemplos. A veces la consola es el único medio para reparar problemas.


CONCLUSIÓN:

En pocas palabras un ejecutable es un archivo binario de 0 y 1 que se interpreta mediante un programa, la interfaz de linea de comando tiene la función de dar instrucciones a programas por medio de una linea de texto simple, y es utilizado en entornos de la ciencia e ingeniería, programadores.

miércoles, 7 de septiembre de 2011

EDITORES DE TEXTO, INTERPRETE Y COMPILADOR (INVESTIGACIÓN)


PROCESADOR DE TEXTO
Un procesador de texto es una aplicación informática destinada a la creación o modificación de documentos escritos por medio de una computadora. Representa una alternativa moderna a la antigua máquina de escribir, siendo mucho más potente y versátil que ésta.



FUNCIONES
Los procesadores de textos nos brindan una amplia gama de funcionalidades, ya sean tipografías, idiomáticas u organizativas, con algunas variantes según el programa de que se disponga. Como regla general, todos pueden trabajar con distintos tipos y tamaños de letra, formato de párrafo y efectos artísticos; además de brindar la posibilidad de intercalar o superponer imágenes u otros objetos gráficos dentro del texto.

EJEMPLOS DE PROCESADORES DE TEXTO
Wordpad
Ms Word
Oppen office

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.

  
FUNCIONES TÍPICAS DE UN EDITOR DE TEXTO

Marcar región
Es la función que marca, visualmente o no, una parte del texto para ser elaborada con otras funciones. La región puede contener varias líneas del texto (región horizontal) o bien varias columnas adyacentes del texto (región vertical).

Búsqueda y reemplazo
El proceso de búsqueda de una palabra o una cadena de caracteres, en un texto plano y su reemplazo por otra. Existen diferentes métodos: global, por región, reemplazo automático, reemplazo con confirmación, búsqueda de texto o búsqueda de una Expresión regular

Copiar, cortar y pegar
Sirve para copiar, trasladar o borrar una región marcada.

Formatear
Los editores de texto permiten automatizar las únicas funciones de formateo que utilizan: quebrar la línea, intentar formatear comentarios o formatear listas.

Deshacer y rehacer
Consiste en que el programa editor va almacenando cada una de las operaciones hechas por el usuario hasta un número configurable. Si el usuario se arrepiente de algún cambio, por muy anterior que sea, el editor le permite revertir todos los cambios hechos hasta el número configurado. Rehacer es por consiguiente, revertir algo revertido.

Importar
Agregar o insertar el contenido de un archivo en el archivo que se está editando. Algunos editores permiten insertar la salida o respuesta a un programa cualquiera ejecutado en la Línea de comando al archivo que se está editando.

Filtros
Algunos editores de texto permiten hacer pasar las líneas del texto o de una región por algún programa para modificarlas u ordenarlas. Por ejemplo, para ordenar alfabéticamente una lista de nombres o sacar un promedio de una lista de números.

Acceso remoto
Un editor para trabajar en la administración de una red de computadoras debe ofrecer la funcionalidad de editar archivos en máquinas remotas, ya sea por medio de ftp, ssh o algún otro Protocolo de red. Emacs lo puede hacer mediante el Plugin tramp (ampliamente configurable con ssh, ftp, scp, sftp, etc.), Ultraedit, del ambiente Windows, lo hace mediante ftp.

EJEMPLOS DE EDITORES DE TEXTOS
  •  Block de notas
  • Emacs
  • Vi
INTERPRETE
intérprete o interpretador es un programa informático capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intérpretes 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 maquina del sistema, los intérpretes sólo realizan la traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción. Los programas interpretados suelen ser más lentos que los compilados debido a la necesidad de traducir el programa mientras se ejecuta, pero a cambio son más flexibles como entornos de programación y depuración, y permiten ofrecer al programa interpretado un entorno no dependiente de la máquina donde se ejecuta el intérprete, sino del propio.


COMPILADOR
Un 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 (típicamente lenguaje de maquina). 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: Se trata de la comprobación de la corrección del programa fuente, e incluye las fases correspondientes al Análisis Lexico (que consiste en la descomposición del programa fuente en componentes léxicos), Análisis Sintático agrupación de los componentes léxicos en frases gramaticales ) y Análisis Semántico (comprobación de la validez semántica de las sentencias aceptadas en la fase de Análisis Sintáctico).
  • Síntesis:  Su objetivo es la generación de la salida expresada en el lenguaje objeto y suele estar formado por una o varias combinaciones de fases de Generación de Código (normalmente se trata de código intermedio o de código objeto) y de Optimización de Código (en las que se busca obtener un código lo más eficiente posible).
  • Front-end: es la parte que analiza el código fuente, comprueba su validez, genera el árbol de derivación y rellena los valores de la tabla de símbolos. Esta parte suele ser independiente de la plataforma o sistema para el cual se vaya a compilar, y está compuesta por las fases comprendidas entre el Análisis Léxico y la Generación de Código Intermedio.
  • Back-end: es la parte que genera el código máquina, específico de una plataforma, a partir de los resultados de la fase de análisis, realizada por el Front End.