PROGRAMACION CAROL DAYANNA SOCHA CANCHON DOCENTE: FRANCISCO PINZON IE SAN JOSEMARIA ESCRIVA DE BALAGUER CHIA-CUNDINAMARCA TECNOLOGIA E INFORMATICA 2014 1003 INTRODUCCION En este trabajo se tratara el tema del lenguaje de computadores todos lo que tiene que ver como estos dispositivos se comunicas con sus diferentes clasificaciones con sus diferentes rangos de intensificación o códigos que se utilizan. En este tema también vienes incluido las definiciones básicas, como también que programas tienes o manejan este lenguaje ya mencionado. OBJETIVO GENERAL *Afianzar y dar a entender el conocimiento teórico por el cual los estudiantes entenderán el proceso para la creación de un juego. Puntos 1. 2. 3. 4. 5. 6. 7. 8. 9. Definir los siguientes términos: Proceso, actividad, programar. Definir que es programación de computadores. Lenguaje binario y lenguaje asembler. Como se clasifican los lenguajes de programación. Que son los lenguaje de alto, medio y bajo nivel. Dar tres ejemplos de cada uno de ellos. Hacer un cuadro comparativo que permita observar ventajas y desventajas del lenguaje alto medio y bajo nivel. Que son las palabras reservadas en programación. Que son los lenguajes de la 5 generación. Buscar 5 programas que permitan la creación de juegos. SOLUCION 1. Definir los siguientes términos: Proceso: Un proceso es un conjunto de actividades mutuamente relacionadas o Que, al interactuar, transforman elementos de entrada y los convierten en resultados, Es la consecución de determinados actos, acciones, sucesos o hechos que deben necesariamente sucederse para completar un fin específico. Todos estos pasos o instancias que componen un proceso deben ser organizados, coordinados y realizados de manera sistemática, de a uno por vez (secuencia alternativa) o pueden incluso superponerse las instancias (secuencia simultánea). Proceso es un término que, si bien podemos definir como lo hemos hecho de manera precisa, refiere a diferentes fines según sobre qué estemos hablando Actividad: Es el conjunto de acciones que se llevan a cabo para cumplir las metas de un programa o subprograma de operación, que consiste en la ejecución de ciertos procesos o tareas (mediante la utilización de los recursos humanos, materiales, técnicos, y financieros asignados a la actividad con un costo determinado), y que queda a cargo de una entidad administrativa de nivel intermedio o bajo. Es una categoría programática cuya producción es intermedia, y por tanto, es condición de uno o varios productos terminales. La actividad es la acción presupuestaria de mínimo nivel e indivisible a los propósitos de la asignación formal de recursos. Conjunto de operaciones o tareas que son ejecutadas por una persona o unidad administrativa como parte de una función asignada. Programar: es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. El código fuente es escrito en un lenguaje de programación. El propósito de la programación es crear programas que exhiban un comportamiento deseado. 2. ¿Qué es programación de computadoras? La programación de computadoras es el arte de hacer que una computadora haga lo que nosotros queramos. En el nivel más simple consiste en ingresar en la computadora una secuencia de órdenes para lograr un cierto objetivo. En el entorno de MS DOS los usuarios solían crear archivos de texto con comandos denominados "archivos por lotes" (.BAT). Estos simplemente ejecutaban la secuencia de órdenes en lotes, de allí su nombre. Bajo Windows es posible producir estos archivos, aunque en la práctica no es lo más común. Por ejemplo, podrías producir un documento (como este tutorial) compuesto por varios archivos separados. Tu procesador de texto puede crear backups de cada uno de estos archivos cuando guardas una nueve versión de los documentos. Al final del día, querés colocar la versión actual del documento, es decir los últimos archivos, en una carpeta de respaldo. Finalmente, para poner un poco de orden, borras las versiones previas. Un sencillo archivo BAT para hacer esto sería: COPY *.HTM BACKUP DEL *.BAK 3. ¿Qué es el lenguaje binario y asembler? La manera en que las computadoras "hablan entre sí" es conocida por muy pocas personas. Por eso es que ahora vamos a presentar un poquito acerca de lo que es el código ASCII, que es "el idioma de las computadoras". ASCII son las siglas en inglés de "American Standard Code For Information Interchange", que en español sería algo como Código Americano Estandarizado para el Intercambio de Información. 4. ¿Cómo se clasifican los lenguajes de programación? Los lenguajes de programación se pueden clasificar de acuerdo con diversos criterios. El criterio más simple que se puede considerar hace referencia a la proximidad del lenguaje con la máquina o con el lenguaje natural. De acuerdo con este criterio, existen tres niveles: • Lenguajes de bajo nivel: Lenguajes máquina. • Lenguajes de nivel medio: Lenguajes ensambladores y macroensambladores. • Lenguajes de alto nivel: El resto de los lenguajes, a los que ya hemos hecho referencia. Dado que los lenguajes de programación, en cierto modo, han tenido un desarrollo paralelo a la evolución de los ordenadores, se pueden clasificar atendiendo a su desarrollo histórico. Esta clasificación distingue cinco generaciones de lenguajes: • Primera generación: Lenguajes máquina.• Segunda generación: Ayudas a la programación, como los ensambladores. • Tercera generación: Lenguajes de alto nivel imperativos, que siguen vigentes en la actualidad, como Pascal, Modula• 2, Fortran, Cobol, C y Ada. • Cuarta generación: Lenguajes o entornos de programación orientados básicamente a aplicaciones de gestión y bases de datos, como SQL, Natural, etc. 5. ¿Que son lenguajes de programación de alto, medio y bajo nivel? NIVEL ALTO NIVEL MEDIO -Otra limitación de los lenguajes de alto nivel es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. - En los primeros lenguajes de alto nivel la limitación era que se orientaban a un área específica y sus instrucciones requerían de una sintaxis predefinida. NIVEL BAJO -Son precisos para ciertas aplicaciones como la creación de sistemas operativos - Una de las características más peculiares del lenguaje de programación C; es el uso de "apuntadores", los cuales son muy útiles en la implementación de algoritmos como Listas ligadas Mayor adaptación al equipo. -Posibilidad de obtener la máxima velocidad con mínimo uso de memoria. Mayor dificultad en la programación y en la comprensión de los programas. Con ejemplos Clasificaciones de los lenguajes de alto nivel La siguiente clasificación: Aplicaciones científicas: En las que predominan las operaciones numéricas o matriciales propias de algoritmos matemáticos. Lenguajes adecuados para estas aplicaciones son Fortran y Pascal. Aplicaciones de procesamiento de datos: Donde son frecuentes las operaciones de creación, mantenimiento y consulta sobre ficheros y bases de datos. Dentro de este campo estarían aplicaciones de gestión empresarial, como programas de nóminas, contabilidad, facturación, control de inventario, etc. Lenguajes aptos para este tipo de aplicaciones son Cobol y SQL. Aplicaciones de tratamiento de textos: Asociadas al manejo de textos en lenguaje natural. Lenguajes adecuados para ello son el Snobol y el C. Aplicaciones en inteligencia artificial: Realización de programas que emulan el comportamiento inteligente: algoritmos de juegos, programas de comprensión del lenguaje natural, visión artificial, robótica y sistemas expertos. Los lenguajes que se suelen utilizar en estos casos son el Lisp y el Prolog. Aplicaciones de programación de sistemas: Programación de módulos de sistemas operativos, compiladores, ensambladores, intérpretes y, en general, aquellos de interfaz entre el hardware y los usuarios. Tradicionalmente se utilizaba el lenguaje ensamblador, pero en la actualidad se muestran muy adecuados los lenguajes Ada, C y Modula• 2. Otra forma de clasificar los lenguajes de alto nivel tiene en cuenta el estilo de programación que fomentan, es decir, la filosofía de construcción de programas: Lenguajes imperativos o procedurales. Estos lenguajes se fundamentan en el uso de variables para almacenar valores y el uso de instrucciones que indican las operaciones a realizar sobre los datos. La mayoría de los lenguajes de alto nivel son de este tipo. Lenguajes declarativos. En este caso, el proceso por el cual se ejecuta el programa no aparece de forma explícita. Los programas se construyen mediante la definición de funciones o expresiones lógicas que indican las relaciones entre determinadas estructuras de datos (lenguajes de programación lógica como Prolog). Lenguajes orientados a objetos. El diseño de los programas se centra más en los datos y su estructura. Los programas consisten en descripciones de unidades denominadas objetos que encapsulan los datos y las operaciones que actúan sobre ellos. Uno de los lenguajes más usados en esta filosofía es el C++. Lenguajes orientados al problema. Este tipo de lenguajes están diseñados para problemas específicos, principalmente de gestión. Los programas están formados por sentencias que indican qué se quiere hacer. Generalmente, suelen ser generadores de aplicaciones que permiten cierta automatización de la tarea de desarrollo de software de gestión. • Quinta generación: Lenguajes orientados a aplicaciones en Inteligencia Artificial, como Lisp y Prologo. Lenguajes de Programación de Medio Nivel La clasificación de lenguajes de programación, mediante un nivel de abstracción medio, es bastante discutible. Personalmente sostengo sólo por dos niveles de abstracción: bajo nivel y alto nivel. Sin perjuicio de ello, se plasmarán aquí, aquellos argumentos sostenidos, por quienes aceptan este tercer nivel de clasificación. Quienes sostienen la clasificación de lenguajes de programación medio, argumentan que éstos, son aquellos lenguajes que se encuentran, justamente, entre los de bajo nivel y los de alto nivel, ya que poseen características que permiten interactuar directamente con el sistema. Un ejemplo de ello, sería el lenguaje C, el cual puede trabajar (entre otras características) con direcciones de memoria. Sin embargo, dicho acceso, no es efectuado de forma directa (a través de lenguaje máquina o ensamblador), sino que requiere ser “traducido” previamente por su compilador. Por dicha razón, es que asumo a C como lenguaje de alto nivel y descarto la clasificación de lenguajes de medio nivel.Suele colocarse como ejemplo de lenguaje de programación de medio nivel, anterior a C, a BCPL [4], diseñado para escribir Sistemas Operativos y Compiladores. Lenguajes de Programación de Bajo Nivel Los lenguajes de bajo nivel, son aquellos que dependen intrínsecamente del ordenador. Aquellos programas informáticos, programados con lenguajes de bajo nivel, al ser exclusivamente dependientes del hardware, no pueden migrarse, ya que están justamente diseñados, para un hardware específico. Existen dos tipos de lenguajes de bajo nivel: el lenguaje máquina y el lenguaje ensamblador. El lenguaje de máquina (también denominado lenguaje de primera generación) es el sistema de códigos directamente interpretable por un circuito micro programable, como el microprocesador de una computadora o el micro controlador de un autómata. Este lenguaje está compuesto por un conjunto de instrucciones que determinan acciones a ser tomadas por la máquina. Un programa consiste en una cadena de estas instrucciones de lenguaje de máquina (más los datos). Estas instrucciones son normalmente ejecutadas en secuencia, con eventuales cambios de flujo causados por el propio programa o eventos externos. El lenguaje de máquina es específico de cada máquina o arquitectura de la máquina, aunque el conjunto de instrucciones disponibles pueda ser similar entre ellas. Función en 32-bits en código de maquina x86, para calcular el enésimo número dela serie de Fibonacci. Un lenguaje ensamblador, o assembler (assembly lenguaje) es un lenguaje de programación de bajo nivel para los ordenadores, microprocesadores, micro controladores, y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura dada de CPU y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. Esta representación es usualmente definida por el fabricante de hardware, y está basada en los mnemónicos que simbolizan los pasos de procesamiento (las instrucciones), los registros del procesador, las posiciones de memoria, y otras características del lenguaje. Un lenguaje ensamblador es por lo tanto, específico a cierta arquitectura de computador física (o virtual). Esto está en contraste con la mayoría de los lenguajes de programación de alto nivel, que, idealmente son portables. Este lenguaje, también es conocido como lenguaje de segunda generación. 6. ¿Cuáles son las ventajas y desventajas de los lenguajes de programación? Ventajas: sido pensado para ser altamente transportable. importantes, como funciones matemáticas y de manejo de archivos, proporcionadas por bibliotecas. estilos. Uno de los más empleados es el estructurado "no llevado al extremo" (permitiendo ciertas licencias de ruptura).lenguaje de preprocesado, el preprocesador de C, para tareas como definir macros e incluir múltiples archivos de código fuente. do de palabras clave. valor. El paso por referencia se consigue pasando explícitamente a las funciones las direcciones de memoria de dichos parámetros. estáticas, que permiten una forma rudimentaria de encapsulado y polimorfismo Desventajas: Al igual que otros lenguajes tiene sus inconvenientes como: efecto bibliotecas como la "libgc" desarrollada por Sun Microsystems, o el Recolector de basura de Boehm. implementación original de C++ fue un preprocesador que traducía código fuente de C++ a C. aunque GCC tiene esta característica como extensión. sobrecarga de operadores y sólo dispone de un soporte rudimentario para la programación genérica. computadores. manejo de cadenas de caracteres, con lo que este trabajo queda para la librería de rutinas, con la consiguiente pérdida de transportabilidad. 7. ¿Que son las palabras reservadas en programación? En los lenguajes informáticos, una palabra reservada es una palabra que tiene un significado gramatical especial para ese lenguaje y no puede ser utilizada como un identificador de objetos en códigos del mismo, como ser variables. Por ejemplo, en SQL, un usuario no puede ser llamado "group", porque la palabra group es usada para indicar que un identificador se refiere a un grupo, no a un usuario. Al tratarse de una palabra clave su uso queda restringido.8. ¿Qué es la sintaxis de un lenguaje de programación ? La sintaxis de un lenguaje de programación es el conjunto de reglas que debemos seguir para que el compilador sea capaz de reconocer nuestro programa como un programa C valido. 8. ¿Qué son los lenguajes de la quinta generación? Es una clasificación para los lenguajes de programación que incluye aquellos que emplean la programación con restricciones para resolver problemas, en lugar de emplear algoritmos escritos por el programador. La mayoría de los lenguajes basados en restricciones, los lenguajes de programación lógica y los declarativos, son lenguajes de quinta generación. 9. Buscar 5 programas de creación de juegos - Facilita la programación de videojuegos, con impresionantes gráficas y sonidos. - Programación en BASIC para Windows con soporte OpenGL (2D y 3D) - Engine 3D gratuito usado en la creación de ToonTown por - Juego de estrategia (RTS) en 3D completamente personalizable y gratuito. - Sistema para la creación de juegos multijugador en línea (MMO games). En estado Beta. - Creador de escenas 3D para uso en internet (juegos, educación, machinima). (Alpha)