lunes, 6 de octubre de 2008

lenjuages de programacion ventajas y desventajas

Lenguaje de Programación:
Es un conjunto de palabras, símbolos y reglas sintácticas mediante los cuales puede indicarse a la computadora los pasos a seguir para resolver un problema. Los lenguajes de programación pueden clasificarse por diversos criterios, siendo el más común su nivel de semejanza con el lenguaje natural, y su capacidad de manejo de niveles internos de la máquina.
Los principales tipos de lenguajes utilizados son tres:
Lenguaje máquina
Lenguaje de bajo nivel (ensamblador)
Lenguaje de lato nivel
Lenguaje Máquina
Son aquéllos que están escritos en lenguajes directamente inteligibles por la máquina (computadora), ya que sus instrucciones son cadenas binarias (cadenas o series de caracteres de dígitos 0 y 1) que especifican una operación y las posiciones (dirección) de memoria implicadas en la operación se denominan instrucciones de máquina o código máquina. El código máquina es el conocido código binario. Las instrucciones en lenguaje máquina dependen del hardware de la computadora y, por tanto, diferirán de una computadora a otra.
Ventajas del Lenguaje Máquina
Posibilidad de cargar (transferir un programa a la memoria) sin necesidad de traducción posterior, lo que supone una velocidad de ejecución superior a cualquier otro lenguaje de programación.
Desventajas del Lenguaje Máquina
Dificultad y lentitud en la codificación
Poca fiabilidad
Gran dificultad para verificar t poner a punto los programas
Los programas solo son ejecutables en el mismo procesador (CPU)
En la actualidad, las desventajas superan a las ventajas, lo que hace prácticamente no recomendables a los lenguajes máquinas.
Lenguajes de Bajo Nivel Son más fáciles de utilizar que los lenguajes máquina, pero al igual que ellos, dependen de la máquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador. Las instrucciones en lenguaje ensamblador son instrucciones conocidas como nemotécnicos. Por ejemplo, nemotécnicos típicos de operaciones aritméticas son : en inglés : ADD, SUB, DIV, etc. ; en español : SUM, RES, DIV, etc.
Ventajas del lenguaje ensamblador frente al lenguaje máquina
Mayor facilidad de codificación y, en general, su velocidad de cálculo.

Desventajas del lenguaje ensamblador
Dependencia total de la máquina lo que impide la transportabilidad de los programas (posibilidad de ejecutar un programa en diferentes máquinas. El lenguaje ensamblador del PC es distinto del lenguaje ensamblador del Apple Machintosh.
La formación de los programadores es más compleja que la correspondiente a los programadores de alto nivel, ya que exige no solo las técnicas de programación, sino también el conocimiento del interior de la máquina
Ventajas de los lenguajes de alto nivel
El tiempo de formación de los programadores es relativamente corto comparado con otros lenguajes.
La escritura de programas se basa en reglas sintácticas similares a los lenguajes humanos. Nombres de las instrucciones tales como READ, WRITE, PRINT, OPEN, etc.
Las modificaciones y puestas a punto de los programas son más fáciles
Reducción del coste de los programas
Transportabilidad.

Desventajas de los lenguajes de alto nivel
Incremento del tiempo de puesta a punto al necesitarse diferentes traducciones del programa fuente para conseguir el programa definitivo
No se aprovechan los recursos internos de la máquina que se explotan mucho mejor en lenguajes máquina y ensambladores
Aumento de la ocupación de memoria
El tiempo de ejecución de los programas es mucho mayor
Programación estructurada:
Ventajas:
- El programa se puede segmentar los varios partes
- Se puede detectar (si se hizo bien los segmentos) rápidamente los errores
- A partir de esquemas sencillos se puede construir un sistema amplio y complejo pero amigable
Desventajas
- Si se hacen mal los esquemas no se podrán detectar los errores
- Tener un buen conocimiento de lo que se quiere hacer en el diagrama de flujo

Algunos lenguajes de programación [
editar]
ABAP
ABC
ActionScript
Ada
Afnix
ALGOL
AmigaE
APL
ASP
ASP.NET
AWK
B
BASIC
Batch
BCPL
Befunge
Boo
C
C++
C#
Caml
Clipper
CLIPS
CLU
COBOL
CORAL
D
Delphi
DIV
Dylan
Eiffel
Erlang
Ensamblador
Extended ML
Euphoria
Fénix
FISH
Flow-Matic
Forth
FORTRAN
FP
Gambas
GML
GRAFCET
Haskell
H4XX0R
Icon
Inform
INTERCAL
ISWIM
J
Java
JavaScript
Joy
KWC
Ladder
Letra
Lexico
Lingo
Lisp
Logo
Lua
MAGIC
Mainsail
Mac Army
Mesa
Miranda
ML
Modula
Modula-2
Modula-3
Natural
NetREXX
Oberon
Object REXX
Objective-C
ObjectPAL
Ocaml
Occam
Oz
Pascal
Parlog
Perl
PHP
PL/1
Plankalkül
PostScript
PowerBuilder
Prolog
Python
R
Rapid
REXX
RPN
RPG
Ruby
Sail
Sappler
Sather
Scheme
Scriptol
Seed7
Self
Sh
Simula
Smalltalk
Snobol
SPARK
Squeak
SR
Standard ML
TI-Basic
TCL
VBA
Velneo
Visual Basic
Visual Basic .NET
Visual C++
Visual DialogScript
Visual Foxpro
XBase++
Yurix
ZPL
etc.

programa

Concepto de programa
Un programa de computadora es un conjunto de instrucciones que producirán la ejecución de una determinada tarea.
En esencia, un programa es un medio para llegar a un fin.
El fin será normalmente definido como la información necesaria para solucionar un problema.
En conclusión programa es el proceso para solucionar un problema.

El desarrollo de un programa requiere las siguientes fases:
Definición y análisis del problema
Diseño de algoritmo
Diagrama de flujo
Diagrama N – S
Pseudo código.
Codificación del programa.
Depuración y verificación del programa.
Documentación.
Mantenimiento.


Partes constitutivas de un programa
Programa
O algoritmo
El programador debe establecer el conjunto de especificaciones que debe contener el programa:
Entrada salida y algoritmos de resolución que incluirán las técnicas para obtener las salidas a partir de las entradas.
Se debe establecer de donde provienen las entradas al programa es decir los dispositivos de entrada teclado, disco.
La entrada de datos =operación de lectura de datos o acción de leer.
Las salidas de datos se deben presentar en dispositivos de salida como impresora, monitor o disco.
Operación de salida de datos = escritura o acción de escribir

algoritmos

Algoritmo
En
matemáticas, ciencias de la computación, y disciplinas relacionadas, un algoritmo (del latín, dixit algorithmus y éste a su vez del matemático persa al-Jwarizmi) es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema. Dado un estado inicial y una entrada, a través de pasos sucesivos y bien definidos se llega a un estado final, obteniendo una solución. Los algoritmos son objeto de estudio de la algoritmia, y su definición queda formalizada por el modelo computacional de la Máquina de Turing.
Su importancia radica en mostrar la manera de llevar a cabo procesos y resolver mecánicamente
problemas matemáticos o de otro tipo. Al igual que las funciones matemáticas, los algoritmos reciben una entrada y la transforman en una salida, comportándose como una caja negra. Sin embargo, no toda caja negra que convierta una entrada en una salida se puede considerar un algoritmo: para que un algoritmo pueda ser considerado como tal, debe ser una secuencia ordenada, finita y definida (formalización de su comportamiento) de instrucciones. De este modo se puede seguir y predecir el comportamiento del algoritmo para cualquier entrada posible (salvo algoritmos probabilistas, que tiene usualmente una salida distinta), a partir del seguimiento de esa secuencia de instrucciones, que como es ordenada y definida, no da lugar a ambigüedades y puede seguirse su traza.
Características de los algoritmos
El científico de computación
Donald Knuth ofreció una lista de cinco propiedades, que son ampliamente aceptadas como requisitos para un algoritmo:
Carácter finito. "Un algoritmo siempre debe terminar después de un número finito de pasos".
Precisión. "Cada paso de un algoritmo debe estar precisamente definido; las operaciones a llevar a cabo deben ser especificadas de manera rigurosa y no ambigua para cada caso".
Entrada. "Un algoritmo tiene cero o más entradas: cantidades que le son dadas antes de que el algoritmo comience, o dinámicamente mientras el algoritmo corre. Estas entradas son tomadas de conjuntos específicos de objetos".
Salida. "Un algoritmo tiene una o más salidas: cantidades que tienen una relación específica con las entradas".
Eficacia. "También se espera que un algoritmo sea eficaz, en el sentido de que todas las operaciones a realizar en un algoritmo deben ser suficientemente básicas como para que en principio puedan ser hechas de manera exacta y en un tiempo finito por un hombre usando lápiz y papel".
Knuth admite que, aunque su descripción pueda ser intuitivamente clara, carece de rigor formal, puesto que no está exactamente claro qué significa "precisamente definido", "de manera rigurosa y no ambigua", o "suficientemente básicas", y así sucesivamente.
A partir del carácter finito y de la salida se deduce que ante una misma situación inicial (o valores de entrada) un algoritmo debe proporcionar siempre el mismo resultado (o salida), con excepción de los
algoritmos probabilistas.

concepto de computadora


Computadora


Una computadora (del latín computare -calcular-), también denominada ordenador o computador, es una máquina electrónica que recibe y procesa datos para convertirlos en información útil. Una computadora es una colección de circuitos integrados y otros componentes relacionados que puede ejecutar con exactitud, sorprendente con rapidez, y de acuerdo a lo indicado por un usuario o automáticamente por otro programa, una múltiple variedad de secuencias o rutinas de instrucciones que son ordenadas, organizadas y sistematizadas en función a una amplia gama de aplicaciones prácticas y precisamente determinadas, proceso al cual se le ha denominado con el nombre de programación y al que lo realiza se le llama programador. La computadora, además de la rutina o programa informático, necesita de datos específicos (a estos datos, en conjunto, se les conoce como "Input" en inglés) que deben ser suministrados, y que son requeridos al momento de la ejecución, para proporcionar el producto final del procesamiento de datos, que recibe el nombre de "output". La información puede ser entonces utilizada, reinterpretada, copiada, transferida, o retransmitida a otra(s) persona(s), computadora(s) o componente(s) electrónico(s) local o remotamente usando diferentes sistemas de telecomunicación, pudiendo ser grabada, salvada o almacenada en algún tipo de dispositivo o unidad de almacenamiento
La característica principal que la distingue de otros dispositivos similares, como una calculadora no programable, es que puede realizar tareas muy diversas cargando distintos programas en la memoria para que el microprocesador los ejecute.
Aunque las tecnologías empleadas en las computadoras digitales han cambiado mucho desde que aparecieron los primeros modelos en los años 40, la mayoría todavía utiliza la arquitectura Eckert-Mauchly, publicada a principios de los años 1940 por John von Neumann pero que fue creada por John Presper Eckert y John William Mauchly.
La arquitectura Eckert-Mauchly describe una computadora con 4 secciones principales: la
unidad lógica y aritmética (ALU por sus siglas del inglés: Arithmetic Logic Unit), la unidad de control, la memoria, y los dispositivos de entrada y salida (E/S). Estas partes están interconectadas por un conjunto de cables denominados buses:
La
memoria es una secuencia de celdas de almacenamiento numeradas, donde cada una es un bit o unidad de información. La instrucción es la información necesaria para realizar lo que se desea con el computador. Las «celdas» contienen datos que se necesitan para llevar a cabo las instrucciones, con el computador. El número de celdas varían mucho de computador a computador, y las tecnologías empleadas para la memoria han cambiado bastante; van desde los relés electromecánicos, tubos llenos de mercurio en los que se formaban los pulsos acústicos, matrices de imanes permanentes, transistores individuales a circuitos integrados con millones de celdas en un solo chip. En general, la memoria puede ser reescrita varios millones de veces (memoria RAM); se parece más a una pizarra que a una lápida (memoria ROM) que sólo puede ser escrita una vez.
El procesador (también llamado Unidad central de procesamiento o
CPU) consta de:
Los dispositivos E/S sirven a la computadora para obtener información del mundo exterior y/o comunicar los resultados generados por el computador al exterior. Hay una gama muy extensa de dispositivos E/S como
teclados, monitores, unidades de disco flexible o cámaras web.
Funcionamiento
Las instrucciones que se ejecutan en un computador, no son las ricas instrucciones del ser humano. Una computadora sólo se diseña con un número limitado de instrucciones bien definidas. Los tipos de instrucciones típicas realizadas por la mayoría de las computadoras son como estos ejemplos:
Copia los contenidos de la posición de memoria 123
Coloca la copia en la posición 456
Añade los contenidos de la posición 666 a la 042
Coloca el resultado en la posición 013
Si los contenidos de la posición 999 son 0
Tu próxima instrucción está en la posición 345.
Las instrucciones dentro del computador se representan mediante números. Por ejemplo, el código para copiar puede ser 001. El conjunto de instrucciones que puede realizar un computador se conoce como
lenguaje de máquina o código máquina. En la práctica, no se escriben las instrucciones para los ordenadores directamente en lenguaje de máquina, sino que se usa un lenguaje de programación de alto nivel que se traduce después al lenguaje de la máquina automáticamente, a través de programas especiales de traducción (intérpretes y compiladores). Algunos lenguajes de programación representan de manera muy directa el lenguaje de máquina, como el lenguaje ensamblador (lenguajes de bajo nivel) y, por otra parte, los lenguajes como Java, se basan en principios abstractos muy alejados de los que hace la máquina en concreto (lenguajes de alto nivel).
Por lo tanto, el funcionamiento de un computador es en principio bastante sencillo. El computador trae las instrucciones y los datos de la memoria. Se ejecutan las instrucciones, se almacenan los datos y se va a por la siguiente instrucción. Este procedimiento se repite continuamente, hasta que se apaga la computadora. Los
programas de ordenador son simplemente largas listas de instrucciones que debe ejecutar el computador, a veces con tablas de datos. Muchos programas de computador contienen millones de instrucciones que se ejecutan a gran velocidad; un computador personal moderno (en el año 2003) puede ejecutar de 2000 a 3000 millones de instrucciones por segundo. Las capacidades extraordinarias que tienen los computadores no se deben a su habilidad para ejecutar instrucciones complejas. Los computadores ejecutan millones de instrucciones simples diseñadas por programadores. Hay programadores que desarrollan grupos de instrucciones para hacer tareas comunes (por ejemplo, dibujar un punto en la pantalla) y luego ponen dichos grupos de instrucciones a disposición de otros programadores para que estos elaboren funciones o tareas más complejas.
Periféricos y dispositivos auxiliares
Monitor
El monitor o pantalla de computadora, es un dispositivo de salida que, mediante una interfaz, muestra los resultados del procesamiento de una computadora. Hay diferentes tipos de monitores, los clásicos de tubo de rayos catódicos (o CRT) y los de pantalla plana, los de pantalla de cristal líquido (o LCD). Actualmente se usan más estas últimas, ya que mejoran el rendimiento de la computadora y a la hora de trabajar con ellos se daña menos la salud del usuario.[cita requerida]

Teclado
Un teclado de computadora es un periférico, físico o virtual (por ejemplo teclados en pantalla o teclados láser), utilizado para la introducción de órdenes y datos en una computadora. Tiene su origen en los teletipos y las máquinas de escribir eléctricas, que se utilizaron como los teclados de los primeros ordenadores y dispositivos de almacenamiento (grabadoras de cinta de papel y tarjetas perforadas). Aunque físicamente hay una miríada de formas, se suelen clasificar principalmente por la distribución de teclado de su zona alfanumérica, pues salvo casos muy especiales es común a todos los dispositivos y fabricantes (incluso para teclados árabes y japoneses).
Ratón
El ratón (del inglés, pronunciado [ˈmaʊs]) es un periférico de computadora de uso manual, generalmente fabricado en plástico, utilizado como entrada o control de datos. Se utiliza con una de las dos manos del usuario y detecta su movimiento relativo en dos dimensiones por la superficie horizontal en la que se apoya, reflejándose habitualmente a través de un puntero o flecha en el monitor. Anteriormente, la información del desplazamiento era transmitida gracias al movimiento de una bola debajo del ratón, la cual accionaba dos rodillos que correspondían a los ejes X e Y. Hoy, el puntero reacciona a los movimientos debido a un rayo de luz que se refleja entre el ratón y la superficie en la que se encuentra. Cabe aclarar que un ratón óptico apoyado en un espejo por ejemplo es inutilizable, ya que la luz láser no desempeña su función correcta. La superficie a apoyar el ratón debe ser opaca, una superficie que no genere un reflejo.

Impresora

Una impresora es un periférico de computadora que permite producir una copia permanente de textos o gráficos de documentos almacenados en formato electrónico, imprimiendo en papel de lustre los datos en medios físicos, normalmente en papel o transparencias, utilizando cartuchos de tinta o tecnología láser. Muchas impresoras son usadas como periféricos, y están permanentemente unidas a la computadora por un cable. Otras impresoras, llamadas impresoras de red, tienen un interfaz de red interno (típicamente wireless o Ethernet), y que puede servir como un dispositivo para imprimir en papel algún documento para cualquier usuario de la red. También hay impresoras multifuncionales que aparte de sus funciones de impresora funcionan como fotocopiadora y escáner.
Escáner
En informática, un escáner (del idioma inglés: scanner) es un periférico que se utiliza para convertir, mediante el uso de la luz, imágenes o cualquier otro impreso a formato digital.

Disco duro
El disco duro es un sistema de grabación magnética digital, es donde en la mayoría de los casos reside el Sistema operativo de la computadora. En los discos duros se almacenan los datos del usuario. En él encontramos dentro de la carcasa una serie de platos metálicos apilados girando a gran velocidad. Sobre estos platos se sitúan los cabezales encargados de leer o escribir los impulsos magnéticos.
Altavoces
Los altavoces se utilizan para escuchar los sonidos emitidos por el computador, tales como música, sonidos de errores, conferencias, etc.
Tipos de computadores
Computador analógico
Supercomputadora
Computadora central
Minicomputadora
Microcomputadora
Computadora de escritorio
Computador personal
Computadora doméstica
Multiseat
Computadora portátil de escritorio
Computadora portátil
Tablet PC
Subportátil
PC Ultra Móvil
PDA
Smartphone
Cliente ligero
Sistema empotrado
Componentes principales
Tarjeta madre
CPU o microprocesador
BIOS
Memoria RAM, memoria ROM
Bus
Entrada/salida
Periféricos
Teclado
Ratón, touchpad, lápiz óptico, pantalla táctil, Tableta digitalizadora
Monitor
Impresora
Tarjeta de sonido
Tarjeta de video
Disco duro, diskette, CD-ROM, DVD