Actividad 1 Equipo 5

137 views
102 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
137
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Actividad 1 Equipo 5

  1. 1. Presentación Colegio de Estudios Científicos y Tecnológicos del EstadoMarcos Chan Balam
  2. 2. Tabla de ContenidoMarcos Chan Balam
  3. 3. BIOS La BIOS (sigla en inglés de basic input/output system),fue inventado por Gary Kildall elcreador del sistema operativo CP/M en 1975, siendo el nombre de un archivo del sistema. Las máquinas con CP/M usualmente tenían una ROM muy simple que hacía que la unidad de diskette leyera datos desde su primera posición de memoria donde se encontraba la primera instrucción del archivo BIOS que se encargaba de configurar el sistema o programa.Funcionamiento Después de un reset o del encendido, el procesador ejecuta la instrucción que encuentra en el llamado vector de reset (16 bytes antes de la instrucción máxima direccionable en el caso de los procesadores x86), allí se encuentra la primera línea de código del BIOS: esuna instrucción de salto incondicional, que remite a una dirección más baja en la BIOS. En los PC más antiguos el procesador continuaba leyendo directamente en la memoria ROMlas instrucciones (dado que esa memoria era de la misma velocidad de la RAM), ejecutando las rutinas POST para verificar el funcionamiento del sistema y posteriormente cargando un sistema operativo (de 16 bits) en la RAM, que compartiría funcionalidades de la BIOS. De acuerdo a cada fabricante del BIOS, realizará procedimientos diferentes, pero en general se carga una copia del firmware hacia la memoria RAM, dado que estaúltima es más rápida. Desde allí se realiza la detección y la configuración de los diversosdispositivos que pueden contener un sistema operativo. Mientras se realiza el proceso debúsqueda de un SO, el programa del BIOS ofrece la opción de acceder a la RAM-CMOSMarcos Chan Balam
  4. 4. BIOS del sistema donde el usuario puede configurar varias características del sistema por ejemplo el reloj de tiempo real. La información contenida en la RAM-CMOS es utilizada durante la ejecución del BIOS para configurar dispositivos como ventiladores, buses y controladores. CaracterísticasLa Bios no está preparada para ser manejada de forma manual por completo, la mayoríade sus settings son automáticos. Entre estos podemos incluir el manejo de latencias, quesólo nos permite modificar el Cas Latency, el resto es inmodificable. En el caso del CPU y Memorias, podemos modificar sus voltajes, su multiplicador y el LDT (desde 200mhz hasta 1Ghz). Como la placa maneja también un motor integrado de gráficos, éste nos deja compartir memoria desde 16MB hasta 128MB (16MB, 32MB, 64MB y 128MB). El menú de memoria nos permite cambiar el timingmode entre Auto o manual. Alseleccionar Manual, tenemos acceso a la velocidad de memoria y el Tcl. Lo que si es raro encontrar, es que podemos setear nuestras memorias a una velocidad superior a la de nuestro procesador, ya que ésta nos permite llegar hasta 250 Mhz. TimingMode Auto o Manual MemClockindexcalue 100Mhz, 133Mhz, 166Mhz, 200Mhz, 216Mhz, (Mhz) 233Mhz, 250Mhz Cas Latency 2, 2.5, 3Marcos Chan Balam
  5. 5. BIOSSi la bios nos permite poder exigir un poco tanto a memorias como al procesador, ¿Por HammerFid Control Start up - desde 4x hasta el máximo permitido por tu procesador qué no Hammer Vid control Start up, desde 0.825v hasta 1.55vintent CPU Clock 200Mhz - 250Mhz arlo DIMM Voltaje Adjust 2.55 - 2.7v más adelante?Sin embargo, tenemos poco voltaje tanto en memorias como procesador. En resumen noes una placa overclockera y está diseñada para un uso cotidiano sin mayor esfuerzo porparte del usuario. Pero bueno nada se pierde con intentar, y lo mostraremos al final delreview. Ahora pasaremos a las pruebas por defecto en el sistema y la respuesta a altasexigencias.ActualizaciónPara una referencia de tarjeta madre el fabricante puede publicar varias revisiones delBIOS, en las cuales se solucionan problemas detectados en los primeros lotes, secodifican mejores controladores o se da soporte a nuevos procesadores. La actualizaciónde este firmware puede ser realizado con algún programa para quemar una nueva versióndirectamente desde el sistema operativo, los programas son propietarios de cadacompañía desarrolladora del firmware y por lo general pueden conseguirse en internetjunto al BIOS propiamente dicho. La actualización del BIOS es percibida como riesgosadado que una falla en el procedimiento conduce a que la tarjeta madre no arranque.Debido a ello algunos fabricantes usan sistemas como el bootblock que es una porción deBIOS que está protegida y que no es actualizable como el resto del firmware.Marcos Chan Balam
  6. 6. Sistema OperativoSISTEMA OPERATIVOUn sistema Operativo (SO) es en sí mismo un programa de computadora.Sin embargo, es un programa muy especial, quizá el más complejo eimportante en una computadora. El SO despierta a la computadora y haceque reconozca a la CPU, la memoria, el tecla do, el sistema de vídeo y lasunidades de disco.Además, proporciona la facilidad para que los usuarios se comuniquen conla computadora y sirve de plataforma a partir de la cual se corran programasde aplicación.Los sistemas operativos más conocidos son los siguientes: DOS: El famoso DOS, que quiere decir Disk OperatingSystem (sistema operativo de disco), es más conocido por los nombres de PC-DOS y MS-DOS. MS-DOS fue hecho por la compañía de software Microsoft y es en esencia el mismo SO que el PC-DOS. La razón de su continua popularidad se debe al aplastante volumen de software disponible y a la base instalada de computadoras con procesador Intel. Cuando Intel liberó el 80286, DOS se hizo tan popular y firme en el mercado que DOS y las aplicaciones DOS representaron la mayoría del mercado de software para PC. En aquel tiempo, la compatibilidad IBM, fue una necesidad para que los productos tuvieran éxito, y la "compatibilidad IBM" significaba computadoras que corrieran DOS tan bien como las computadoras IBM lo hacían. Aún con los nuevos sistemas operativos que han salido al mercado, todavía el DOS es un sólido contendiente en la guerra de los SO. Windows 3.1: Microsoft tomo una decisión, hacer un sistema operativo que tuviera una interfaz gráfica amigable para el usuario, y como resultado obtuvo Windows. Este sistema muestra íconos en la pantalla que representan diferentes archivos o programas, a los cuales se puede accesar al darles doble click con el puntero del mouse. Todas las aplicaciones elaboradas para Windows se parecen, por lo que es muy fácil aprender a usar nuevo software una vez aprendido las bases. Windows 95: En 1995, Microsoft introdujo una nueva y mejorada versión del Windows 3.1. Las mejoras de este SO incluyen soporte multitareas y arquitectura de 32 bits, permitiendo así correr mejores aplicaciónes para mejorar la eficacia del trabajo. Windows NT: Esta versión de Windows se especializa en las redes y servidores. Con este SO se puede interactuar de forma eficaz entre dos o más computadoras. OS/2: Este SO fue hecho por IBM. Tiene soporte de 32 bits y su interfaz es muy buena. El problema que presenta este sistema operativo es que no se le ha dad el apoyo que se merece en cuanto a aplicaciones se refiere. Es decir, no se han creado muchas aplicaciones que aprovechen las características de el SO, ya que la mayoría del mercado de software ha sido monopolizado por Windows. Mac OS: Las computadoras Macintosh no serían tan populares como lo son si no tuvieran el Mac OS como sistema operativo de planta. Este sistema operativo esMarcos Chan Balam
  7. 7. Sistema Operativo tan amigable para el usuario que cualquier persona puede aprender a usarlo en muy poco tiempo. Por otro lado, es muy bueno para organizar archivos y usarlos de manera eficaz. Este fue creado por Apple Computer, Inc. UNIX: El sistema operativo UNIX fue creado por los laboratorios Bell de AT&T en 1969 y es ahora usado como una de las bases para la supercarretera de la información. Unix es un SO multiusuario y multitarea, que corre en diferentes computadoras, desde supercomputadoras, Mainframes, Minicomputadoras, computadoras personales y estaciones de trabajo. Esto quiere decir que muchos usuarios puede estar usando una misma computadora por medio de terminales o usar muchas de ellas.DefiniciónUn sistema operativo (SO) es un programa o conjunto de programas que en un sistemainformático gestiona los recursos de hardware y provee servicios a los programas deaplicación, ejecutándose en modo privilegiado respecto de los restantes.FunciónUno de los propósitos del sistema operativo que gestiona el núcleo intermediario consisteen gestionar los recursos de localización y protección de acceso del hardware, hecho quealivia a los programadores de aplicaciones de tener que tratar con estos detalles. Lamayoría de aparatos electrónicos que utilizan microprocesadores para funcionar, llevanincorporado un sistema operativo (teléfonos móviles, reproductores de DVD,computadoras, radios, enrutadores, etc.). En cuyo caso, son manejados mediante unaInterfaz Gráfica de Usuario, un gestor de ventanas o un entorno de escritorio, si es uncelular, mediante una consola o control remoto si es un DVD y, mediante una línea decomandos o navegador web si es un enrutador.CaracterísticasEl sistema operativo tiene las siguientes características: 1. Conveniencia. Un Sistema Operativo hace más conveniente el uso de una computadora.Marcos Chan Balam
  8. 8. Sistema Operativo 2. Eficiencia. Un Sistema Operativo permite que los recursos de la computadora se usen de la manera más eficiente posible. 3. Habilidad para evolucionar. Un Sistema Operativo deberá construirse de manera que permita el desarrollo, prueba o introducción efectiva de nuevas funciones del sistema sin interferir con el servicio. 4. Encargado de administrar el hardware. El Sistema Operativo se encarga de manejar de una mejor manera los recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada proceso una parte del procesador para poder compartir los recursos. 5. Relacionar dispositivos (gestionar a través del kernel). El Sistema Operativo se debe encargar de comunicar a los dispositivos periféricos, cuando el usuario así lo requiera. 6. Organizar datos para acceso rápido y seguro. 7. Manejar las comunicaciones en red. El Sistema Operativo permite al usuario manejar con alta facilidad todo lo referente a la instalación y uso de las redes de computadoras. 8. Procesamiento por bytes de flujo a través del bus de datos. 9. Facilitar las entradas y salidas. Un Sistema Operativo debe hacerle fácil al usuario el acceso y manejo de los dispositivos de Entrada/Salida de la computadora. 10. Técnicas de recuperación de errores. 11. Evita que otros usuarios interfieran. El Sistema Operativo evita que los usuarios se bloqueen entre ellos, informándoles si esa aplicación está siendo ocupada por otro usuario. 12. Generación de estadísticas. 13. Permite que se puedan compartir el hardware y los datos entre los usuarios.Respaldo y ActualizaciónRespaldoLos backup o también conocidos como copia de seguridad, es un proceso en el cual elusuario guarda la información de tal manera que lo almacenara en algún dispositivo dealmacenamiento y que sea tecnológicamente disponible, como por ejemplo: CD-ROM,Blue Ray, discos virtuales o tan solo en el disco duro, esto se hace por si ocurre algunaperdida de información, se pueda recuperar fácilmente.Los backups usualmente son usados por algún desastre que ocurra en nuestro sistemaMarcos Chan Balam
  9. 9. Sistema Operativooperativo, ya sea por un virus o por un borrado de los archivos de nuestro sistema, otra delas razones para utilizar backup es que sirven para restaurar los ficheros que se hayanborrado o se hayan dañado accidentalmente y también en las empresas o negocios losbackup cumplen un rol muy importante ya que además que es muy útil es obligatorio, yaque algunas agencias de impuestos requieren esta información como un control del tipopresupuestario, estas las suelen hacer en cintas magnéticas, pero para informacióncomún tal solo se debe utilizar disquetes, CD-ROM, discos zip, USB o algún centro derespaldo por Internet.El concepto de almacenar los datos tiene que llevar una estrategia de cómo va a serorganizada, ya que debe ser ordenada deacuerdo a algún criterio, para lograr esto sepuede utilizar desde una hoja de papel registrándolo como un inventario, donde sepueden anotar la fecha de grabación, hasta una sofisticada base de datos relacional.Pero también se pueden hacer uso de software que están dedicados a hacer backups, sepueden encontrar programas dedicados a este fin pero de uso domestico ya que lossoftware de nivel para un nivel mas avanzado son un poco complicados de configurar,empecemos por Acronis True Image, este programa sirve para crear una copia exacta deldisco duro, o también solo una parte, y permite restaurar instantáneamente la maquinacon el sistema operativo, tus aplicaciones y tus datos. Además también puedes guardar tumúsica, videos, fotos, email, contactos y tareas programadas. Lo puedes descargar desdeeste enlace www.acronis.com.Otro programa que es muy bueno es el Norton Ghost 12, este programa es toda una suiteque tiene muchas herramientas entre las cuales podemos encontrar, copia de respaldoincrementables, compresión y cifrados avanzados, tiene buen tratamiento con de lospuntos de restauración. Para descargarlo tienes que ir a este enlace(http://www.symantec.com/es/mx/norton/products/overview.jsp?pcid=br&pvid=ghost12 ).Otro programa muy importante para hacer backups es el RoxioBackonTrack, este destacapor su sencillez pero Acosta de quitar algunas funciones, se pueden añadir los archivos yde la misma manera organizándolo en alguna categoría como por ejemplo por temas, yasea música, fotos, videos, etc. Para hacer el proceso de recuperación lo hace de unaforma muy simple, basta con ir al icono de restaurar archivos e indicar la ruta donde elbackup se encuentra guardado, lo puedes descargar desde aquí, www.roxio.comAhora las pérdidas de información son cosas del pasado ya que con estos programasmuy útiles es muy fácil poder hacer un backup.ActualizaciónMarcos Chan Balam
  10. 10. Sistema OperativoPuede decirse que el Sistema Operativo es un programa que permite que otrosprogramas puedan ejecutarse, ofreciéndoles todo lo que ellos necesitan para funcionarcorrectamente. Es claro entonces que es el programa más importante de todos, por lo queresulta primordial mantenerlo siempre actualizado para tener la certeza de contar siemprecon la mejor versión disponible. Todos los demás programas de tu equipo lo van aagradecer. Los fabricantes de Sistemas Operativos, como Microsoft con Windows, mantienen unapermanente estrategia de mejora de sus productos, y si llegan a descubrir alguna falla, deinmediato la corrigen.Estas mejoras están disponibles sin costo en los sitios Web de los fabricantes para quelos usuarios las descarguen fácilmente.Pasos para actualizarlo.Las actualizaciones de seguridad ayudan a proteger elequipo frente a virus, gusanos y otras amenazas amedida que se descubren. Los sistemas operativos deWindows® cuentan con la característica deactualizaciones automáticas, que se puede utilizar paradescargar las actualizaciones de seguridad másrecientes de forma automática. En este paso se indicarácómo activar Actualizaciones automáticas. También se indicará cómo actualizar el equipocon actualizaciones de software anteriores.Activa la característica Actualizaciones automáticasImportante: La característica Actualizaciones automáticas que se va a activar sólodescargará actualizaciones futuras de Microsoft. Windows Update seguirá siendonecesario para actualizarse una vez activada Actualizaciones automáticas. (Al final deeste paso se indicará la forma de hacerlo.)1 Haz clic en Inicio y, después en Panel de control.2 Haz clic en Rendimiento y mantenimiento.3 Haz clic en Sistema.4 Haz clic en Actualizaciones automáticas y, a continuación, selecciona Mantener miequipo al día.5 Selecciona una opción. Microsoft recomienda encarecidamente seleccionar laopción Descargar automáticamente las actualizaciones e instalarlas en la programación especificada y establecer una hora de actualización diaria.Elige Descargar automáticamente las actualizaciones e instalarlas en la programaciónespecificada.Importante: Puedes programar la descarga de Actualizaciones automáticas a cualquierhora del día. Recuerda que el equipo debe estar activado a la hora programada. (SeMarcos Chan Balam
  11. 11. Sistema Operativorecomienda seleccionar una hora a la que no estés utilizando el equipo para otrastareas.)6 Si eliges que se te notifiquen las Actualizaciones automáticas en el paso 5, apareceráun globo de notificación cada vez que haya disponibles nuevas descargas para instalar.Haz click en el globo de notificación para revisar e instalar las actualizaciones.A continuación, actualízate con Windows UpdateAhora que se ha activado la característica Actualizaciones automáticas se recibirán todaslas actualizaciones críticas de forma automática. Sin embargo, Actualizacionesautomáticas no descarga las actualizaciones anteriores o aquellas que no sean críticas.Puedes utilizar estas instrucciones a fin de poner el equipo al día con actualizaciones deseguridad anteriores y obtener actualizaciones futuras que no sean críticas.1 Marca esta página.2 Ve a Windows UpDate (http://windowsupdate.microsoft.com).3 Sigue las instrucciones que aparecen en el sitio de Windows UpDate para revisar yseleccionar descargas.4 Cuando hayas terminado, vuelve a esta página y ve al paso 3.Sugerencia: Algunas descargas requerirán que reinicies el equipo después de lainstalación. Asegúrate de volver a Windows UpDate después de reiniciar y comprobar siexisten actualizaciones adicionales. Puede que tengas que repetir esta acción en variasocasiones para asegurarte de que dispones de todas las descargas más recientes.Importante: Si utilizas productos deMicrosoft Office (incluidos MicrosoftWord, Microsoft Excel y MicrosoftPowerPoint), visita el sitio de OfficeUpdate a fin de instalar las versionesMarcos Chan Balam
  12. 12. Sistema Operativode seguridad más recientes para OfficeMarcos Chan Balam
  13. 13. Lenguaje de ProgramaciónLENGUAJE DE PROGRAMACIÓNTipos de Lenguaje de Programación 1. LENGUAJES DE MÁQUINAEl lenguaje máquina de una computadora consta de cadenas de números binarios (cerosy unos) y es el único que "entienden" directamente los procesadores. Todas lasinstrucciones preparadas en cualquier lenguaje de máquina tienen por lo menos dospartes. La primera es el comando u operación, que dice a la computadora cuál es lafunción que va a realizar. Todas las computadoras tienen un código de operación paracada una de sus funciones. La segunda parte de la instrucción es el operando, que indicaa la computadora dónde hallar o almacenar los datos y otras instrucciones que se van amanipular; el número de operandos de una instrucción varía en las distintascomputadoras. En una computadora de operando único, el equivalente binario de"SUMAR 0814" podría hacer que se sume el valor que se encuentra en la localidad dealmacenamiento o dirección 0814 al valor que se encuentra en la unidad aritmética lógica.En una máquina de dos operandos, la representación binaria de "SUMAR 0814 8672"podría hacer que se sume el valor que está en la localidad 8672 al valor que está en ladirección 0814. El formato de operando único es popular en las microcomputadoras máspequeñas; la estructura de dos operandos se encuentra en casi todas las demásmáquinas.Según los estándares actuales, las primeras computadoras eran poco tolerantes. Losprogramadores tenían que traducir las instrucciones de manera directa a la forma delenguaje de máquina que comprendían las computadoras. Por ejemplo, un programadorque escribiera la instrucción "SUMAR 0814" para una de las primeras máquinas IBMhubiera escrito:000100000000000000000000000010111000Además de recordar las docenas de códigosnuméricos para los comandos del conjunto deinstrucciones de la máquina, el programadortenía que conocer las posiciones donde sealmacenan los datos y las instrucciones. Lacodificación inicial muchas veces requeríameses, por lo que era costosa y era frecuenteque originara errores. Revisar las instruccionespara localizar errores era casi tan tedioso comoescribirlas por primera vez. Además, si era necesario modificar un programaposteriormente, la tarea podía llevarse meses. 2. LENGUAJES ENSAMBLADORESA principios de la década de 1950, y con el fin de facilitar la labor de los programadores,se desarrollaron códigos nemotécnicos para las operaciones y direcciones simbólicas. Lapalabra nemotécnico se refiere a una ayuda para la memorización. Uno de los primerosMarcos Chan Balam
  14. 14. Lenguaje de Programaciónpasos para mejorar el proceso de preparación de programas fue sustituir los códigos deoperaciones numéricos del lenguaje de máquina por símbolos alfabéticos, que son loscódigos nemotécnicos. Todas las computadoras actuales tienen códigos nemotécnicosaunque, naturalmente, los símbolos que se usan varían en las diferentes marcas ymodelos. La computadora sigue utilizando el lenguaje de máquina para procesar losdatos, pero los programas ensambladores traducen antes los símbolos de código deoperación especificados a sus equivalentes en lenguaje de máquina.Este procedimiento preparó avances posteriores. Si la computadora era capaz de traducirsímbolos convenientes en operaciones básicas, ¿por qué no hacer también que realizaraotras funciones rutinarias de codificación, como la asignación de direcciones dealmacenamiento a los datos? La técnica de direccionamiento simbólico permite expresaruna dirección no en términos de su localización numérica absoluta, sino en términos desímbolos convenientes para el programador.Durante las primeras etapas del direccionamiento simbólico, el programador asigna unnombre simbólico y una dirección real a un dato. Por ejemplo, el programador podríaasignar el valor total de mercancía adquirida durante un mes por un cliente de una tiendade departamentos a la dirección 0063, y darle el nombre simbólicoTOTAL. Se podría asignar el valor de la mercancía devuelta sinusar durante el mes a la dirección 2047 y dársele el nombresimbólico CRÉDITO. Así, durante el resto del programa, elprogramador se referirá a los nombres simbólicos, más que a lasdirecciones, cuando fuera preciso procesar estos datos. Porejemplo, se podría escribir la instrucción "S CRÉDITO TOTAL"para restar el valor de las mercancías devueltas del importa totalde compras para obtener el importe de la factura mensual delcliente. A continuación, el programa ensamblador traduciría lainstrucción simbólica a esta cadena de bits:Más adelante se hizo otra mejora. Se dejó a la computadora la tarea de asignar y recordarlas direcciones de las instrucciones. Lo único que tenía que hacer el programador eraindicar a la computadora la dirección de la primera instrucción, y el programaensamblador se encargaba de almacenar, de manera automática, todas las demás enforma secuencial a partir de ese punto. Así, si se agregaba más tarde otra instrucción alprograma, no era necesario modificar las direcciones de todas las instrucciones queseguían al punto de inserción (como tendría que hacerse en el caso de programasescritos en lenguaje de máquina). En vez de ello, el procesador ajustabaautomáticamente las localidades de memoria la próxima vez que se ejecutaba elprograma.En la actualidad, los programadores no asignan números de dirección reales a los datossimbólicos, simplemente especifican dónde quieren que se coloque la primera localidaddel programa, y el programa ensamblador se encarga de lo demás: asigna localidadestanto para las instrucciones como para los datos.Marcos Chan Balam
  15. 15. Lenguaje de ProgramaciónEstos programas de ensamble, o ensamblador, también permite a la computadoraconvertir las instrucciones en lenguaje ensamblador del programador en su propio códigode máquina. Un programa de instrucciones escrito en lenguaje ensamblador por unprogramador se llama programa fuente. Después de que el ensamblador convierte elprograma fuente en código de máquina a éste se le denomina programa objeto. Para losprogramadores es más fácil escribir instrucciones en un lenguaje ensamblador que encódigos de lenguajes de máquina, pero es posible que se requieran dos corridas decomputadora antes de que se puedan utilizar las instrucciones del programa fuente paraproducir las salidas deseadas.Los lenguajes ensambladores tienen ventajas sobre los lenguajes de máquina. Ahorrantiempo y requieren menos atención a detalles. Se incurren en menos errores y los que secometen son más fáciles de localizar. Además, los programas en lenguaje ensambladorson más fáciles de modificar que los programas en lenguaje de máquina. Pero existenlimitaciones. La codificación en lenguaje ensamblador es todavía un proceso lento. Unadesventaja importante de estos lenguajes es que tienen una orientación a la máquina. Esdecir, están diseñados para la marca y modelo específico de procesador que se utiliza, yes probable que, para una máquina diferente, se tengan que volver a codificar losprogramas. 3. LENGUAJES DE ALTO NIVELLos primeros programas ensambladores producían sólo una instrucción en lenguaje demáquina por cada instrucción del programa fuente. Para agilizar la codificación, sedesarrollaron programas ensambladores que podían producir una cantidad variable deinstrucciones en lenguaje de máquina por cada instrucción del programa fuente. Dicho deotra manera, una solamacroinstrucción podía producir varias líneas de código en lenguajede máquina. Por ejemplo, el programador podría escribir "LEER ARCHIVO", y el programa traductor produciría una serie detallada de instrucciones al lenguaje de máquina previamente preparadas, con lo que se copiaría un registro del archivo que estuviera leyendo el dispositivo de entrada a la memoria principal. Así, el programador no se tenía que ocupar de escribir una instrucción por cada operación de máquina realizada. El desarrollo de las técnicas nemotécnicas y las macroinstrucciones condujo, a su vez, al desarrollo de lenguajes de alto nivel que a menudo estánorientados hacia una clase determinada de problemas de proceso. Por ejemplo, se handiseñado varios lenguajes para procesar problemas científico-matemático, asimismo hanaparecido otros lenguajes que hacen hincapié en las aplicaciones de proceso de archivos.A diferencia de los programas de ensamble, los programas en lenguaje de alto nivel sepueden utilizar con diferentes marcas de computadores sin tener que hacermodificaciones considerables. Esto permite reducir sustancialmente el costo de lareprogramación cuando se adquiere equipo nuevo. Otras ventajas de los lenguajes de altonivel son:Marcos Chan Balam
  16. 16. Lenguaje de Programación Son más fáciles de aprender que los lenguajes ensambladores. Se pueden escribir más rápidamente. Permiten tener mejor documentación. Son más fáciles de mantener. Un programador que sepa escribir programas en uno de estos lenguajes no está limitado a utilizar un solo tipo de máquina. 4. LENGUAJES COMPILADOSNaturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene quetraducirse a un código que pueda utilizar la máquina. Los programas traductores quepueden realizar esta operación se llaman compiladores. Éstos, como los programasensambladores avanzados, pueden generar muchas líneas de código de máquina porcada proposición del programa fuente. Se requiere una corrida de compilación antes deprocesar los datos de un problema.Los compiladores son aquellos cuya función es traducir un programa escrito en undeterminado lenguaje a un idioma que la computadora entienda (lenguaje máquina concódigo binario).Al usar un lenguaje compilado (como lo son loslenguajes del popular Visual Studio deMicrosoft), el programa desarrollado nunca seejecuta mientras haya errores, sino hasta queluego de haber compilado el programa, ya noaparecen errores en el código. 5. LENGUAJES INTERPRETADOSSe puede también utilizar una alternativa diferente de los compiladores para traducirlenguajes de alto nivel. En vez de traducir el programa fuente y grabar en formapermanente el código objeto que se produce durante la corrida de compilación parautilizarlo en una corrida de producción futura, el programador sólo carga el programafuente en la computadora junto con los datos que se van a procesar. A continuación, unprograma intérprete, almacenado en el sistema operativo del disco, o incluido de manerapermanente dentro de la máquina, convierte cada proposición del programa fuente enlenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos. Nose graba el código objeto para utilizarlo posteriormente.La siguiente vez que se utilice una instrucción, se le debe interpretar otra vez y traducir alenguaje máquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de unciclo, cada instrucción del ciclo tendrá que volver a ser interpretado cada vez que seejecute el ciclo, lo cual hace que el programa sea más lento en tiempo de ejecución(porque se va revisando el código en tiempo de ejecución) pero más rápido en tiempo dediseño (porque no se tiene que estar compilando a cada momento el código completo). ElMarcos Chan Balam
  17. 17. Lenguaje de Programaciónintérprete elimina la necesidad de realizar una corrida de compilación después de cadamodificación del programa cuando se quiere agregar funciones o corregir errores; pero esobvio que un programa objeto compilado con antelación deberá ejecutarse con muchamayor rapidez que uno que se debe interpretar a cada paso durante una corrida deproducción. 6. LENGUAJES DE PROGRAMACIÓN DECLARATIVOSSe les conoce como lenguajes declarativos en ciencias computacionales a aquelloslenguajes de programación en los cuales se le indica a la computadora qué es lo que sedesea obtener o qué es lo que se esta buscando, por ejemplo: Obtener los nombres detodos los empleados que tengan más de 32 años. Eso se puede lograr con un lenguajedeclarativo como SQL.La programación declarativa es una forma de programación que implica la descripción deun problema dado en lugar de proveer una solución para dicho problema, dejando lainterpretación de los pasos específicos para llegar a dicha solución a un intérprete noespecificado. La programación declarativa adopta, por lo tanto, un enfoque diferente al dela programación imperativa tradicional.En otras palabras, la programación declarativa provee el "qué", pero deja el "cómo"liberado a la implementación particular delintérprete. Por lo tanto se puede ver que laprogramación declarativa tiene dos fases biendiferenciadas, la declaración y la interpretación.Es importante señalar que a pesar de hacerreferencia a intérprete, no hay que limitarse a"lenguajes interpretados" en el sentido habitual deltérmino, sino que también se puede estartrabajando con "lenguajes compilados".DefiniciónUn lenguaje de programación es un idioma artificial diseñado para expresar procesos quepueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse paracrear programas que controlen el comportamiento físico y lógico de una máquina, paraexpresar algoritmos con precisión, o como modo de comunicación humana.1 Está formadopor un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura yel significado de sus elementos y expresiones. Al proceso por el cual se escribe, seprueba, se depura, se compila y se mantiene el código fuente de un programa informáticose le llama programación.También la palabra programación se define como el proceso de creación de un programade computadora, mediante la aplicación de procedimientos lógicos, a través de lossiguientes pasos: El desarrollo lógico del programa para resolver un problema en particular.Marcos Chan Balam
  18. 18. Lenguaje de Programación Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa). Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina. Prueba y depuración del programa. Desarrollo de la documentación.Existe un error común que trata por sinónimos los términos lenguaje de programación ylenguaje informático. Los lenguajes informáticos engloban a los lenguajes deprogramación y a otros más, como por ejemplo HTML (lenguaje para el marcado depáginas web que no es propiamente un lenguaje de programación, sino un conjunto deinstrucciones que permiten diseñar el contenido de los documentos).FunciónPermite especificar de manera precisa sobre qué datos debe operar una computadora,cómo deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variadagama de circunstancias. Todo esto, a través de un lenguaje que intenta estarrelativamente próximo al lenguaje humano o natural. Una característica relevante de loslenguajes de programación es precisamente que más de un programador pueda usar unconjunto común de instrucciones que sean comprendidas entre ellos para realizar laconstrucción de un programa de forma colaborativa.Las funciones se crearon para evitar tener que repetir constantemente fragmentos decódigo. Una función podría considerarse como una variable que encierra código dentro desi. Por lo tanto cuando accedemos a dicha variable (la función) en realidad lo que estamoses diciendo al programa que ejecute un determinado código predefinido anteriormente.Todos los lenguajes de programación tienen algunos elementos de formación primitivospara la descripción de los datos y de los procesos o transformaciones aplicadas a estosdatos (tal como la suma de dos números o la selección de un elemento que forma partede una colección). Estos elementos primitivos son definidos por reglas sintácticas ysemánticas que describen su estructura y significado respectivamente.Características• Facilitan la tarea de programación, ya que disponen de formas adecuadas que permitenser leídas y escritas por personas.• Los lenguajes de programación representan en forma simbólica y en manera de un textolos códigos que podrán ser leídos por una persona.• Son independientes de las computadoras a utilizar.• Describe el conjunto de acciones consecutivas que un equipo debe ejecutar.Marcos Chan Balam
  19. 19. Lenguaje de Programación• permite mayor portabilidadPodemos distinguir un lenguajes de programación dependiendo del tipo al quepertenezca. Existen varios tipos de lenguaje de programación: 1. Imperativos 2. Funcionales 3. Lógicos 4. Orientado a objetosLos lenguajes imperativos se caracterizan por el hecho de que el significado de unprograma no es más que un conjunto de instrucciones o órdenes que le indican alcomputador 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 funcionesmatemáticas. No utiliza las asignaciones (más adelante lo veremos) ni son construccionesestructuradas.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 susiteracciones para diseñar aplicaciones y programas.En este curso trataremos con un lenguaje imperativo. A continuación vamos a conocersus elementos.Elementos de los lenguajes imperativos:– Los datos: elemento de información que puede obtener un valor dentro de un conjuntode valores.Para llevar a cabo el almacenamiento de datos dentro de la memória, se utilizan una sériede elementos o entidades: las constantes y las variables. A continuación se define cadauna de ellas:- Constantes: almacenan un dato que permanecerá intacto o constante en la memoriadurante la duración de la ejecución de un programa.- Variables: almacenan un dato el valor del cual puede variar en la memoria durante eltiempo de ejecucuión del programa.Marcos Chan Balam
  20. 20. Lenguaje de ProgramaciónMarcos Chan Balam
  21. 21. SintaxisSINTAXISCon frecuencia se resaltan los elementosde la sintaxis con colores diferentes parafacilitar su lectura. Este ejemplo está escritoen Python.A la forma visible de un lenguaje deprogramación se le conoce como sintaxis.La mayoría de los lenguajes deprogramación son puramente textuales, esdecir, utilizan secuencias de texto queincluyen palabras, números y puntuación,de manera similar a los lenguajes naturalesescritos. Por otra parte, hay algunoslenguajes de programación que son más gráficos en su naturaleza, utilizando relacionesvisuales entre símbolos para especificar un programa.La sintaxis de un lenguaje de programación describe las combinaciones posibles de lossímbolos que forman un programa sintácticamente correcto. El significado que se le da auna combinación de símbolos es manejado por su semántica (ya sea formal o como partedel código duro de la referencia de implementación). Dado que la mayoría de loslenguajes son textuales, este artículo trata de la sintaxis textual.La sintaxis de los lenguajes de programación es definida generalmente utilizando unacombinación de expresiones regulares (para la estructura léxica) y la Notación de Backus-Naur (para la estructura gramática). Este es un ejemplo de una gramática simple, tomadade Lisp:expresión ::= átomo | listaátomo ::= número | símbolonúmero ::= [+-]? [0-9]+símbolo ::= [A-Z] [a-z].*lista ::= ( expresión* )Con esta gramática se especifica lo siguiente: una expresión puede ser un átomo o una lista; un átomo puede ser un número o un símbolo; un número es una secuencia continua de uno o más dígitos decimales, precedido opcionalmente por un signo más o un signo menos; un símbolo es una letra seguida de cero o más caracteres (excluyendo espacios); y una lista es un par de paréntesis que abren y cierran, con cero o más expresiones en medio.Algunos ejemplos de secuencias bien formadas de acuerdo a esta gramática:Marcos Chan Balam
  22. 22. Sintaxis12345, (), (a b c232 (1))No todos los programas sintácticamente correctos son semánticamente correctos.Muchos programas sintácticamente correctos tienen inconsistencias con las reglas dellenguaje; y pueden (dependiendo de la especificación del lenguaje y la solidez de laimplementación) resultar en un error de traducción o ejecución. En algunos casos, talesprogramas pueden exhibir un comportamiento indefinido. Además, incluso cuando unprograma está bien definido dentro de un lenguaje, todavía puede tener un significado queno es el que la persona que lo escribió estaba tratando de construir.Usando el lenguaje natural, por ejemplo, puede no ser posible asignarle significado a unaoración gramaticalmente válida o la oración puede ser falsa: "Las ideas verdes y descoloridas duermen furiosamente" es una oración bien formada gramaticalmente pero no tiene significado comúnmente aceptado. "Juan es un soltero casado" también está bien formada gramaticalmente pero expresa un significado que no puede ser verdadero.El siguiente fragmento en el lenguaje C es sintácticamente correcto, pero ejecuta unaoperación que no está definida semánticamente (dado que p es un apuntador nulo, lasoperaciones p->real y p->im no tienen ningún significado):complex *p = NULL;complexabs_p = sqrt (p->real * p->real + p->im * p->im);Si la declaración de tipo de la primera línea fuera omitida, el programa dispararía un errorde compilación, pues la variable "p" no estaría definida. Pero el programa seríasintácticamente correcto todavía, dado que las declaraciones de tipo proveen informaciónsemántica solamente.La gramática necesaria para especificar un lenguaje de programación puede serclasificada por su posición en la Jerarquía de Chomsky. La sintaxis de la mayoría de loslenguajes de programación puede ser especificada utilizando una gramática Tipo-2, esdecir, son gramáticas libres de contexto. Algunos lenguajes, incluyendo a Perl y a Lisp,contienen construcciones que permiten la ejecución durante la fase de análisis. Loslenguajes que permiten construcciones que permiten al programador alterar elcomportamiento de un analizador hacen del análisis de la sintaxis un problema sindecisión única, y generalmente oscurecen la separación entre análisis y ejecución. Encontraste con el sistema de macros de Lisp y los bloques BEGIN de Perl, que puedentener cálculos generales, las macros de C son meros reemplazos de cadenas, y norequieren ejecución de código.Marcos Chan Balam
  23. 23. ReferenciasMarcos Chan Balam

×