Lenguajes imperativos Los lenguajes fundamentados en secuencias de enunciados con mecanismos de selección e iteración Los más comúnmente utilizados FORTRAN lenguaje popular para el cómputo científico se usa en cómputo de alto rendimiento y paralelo varias versiones (77, 90 - todavía en uso) paquete gfortran, entre otras opciones en mayúscula sin palabras reservadas http://www.stanford.edu/class/me200c/tutorial_77/ http://math.asu.edu/files/support/docs/unix/prof77.pdf ¿Ejemplo? Chequen nuestro ejemplo clásico en http://www.scriptol.com/programming/fibonacci.php ALGOL Algorithmic Language También varias versiones (60, 68) El espacio blanco no importa Ni en nombres de variables En vez de paréntesis, cierra con palabras clave begin y end separan un bloque (para ciclos) Una condición if se cierra con fi Sobrecarga de operadores Soporte para el paralelismo Buen tutorial en PDF por A. Tanenbaum http://www.algol68.org/ y http://sourceforge.net/projects/algol68/files/ ¿Ejemplo? COBOL manipulación de archivos y tablas muy utilizado en software de negocios paquete open-cobol en ubuntu Pues, chequen aquí y comparen: http://rosettacode.org/wiki/Main_Page http://www.csis.ul.ie/cobol/ http://groups.engin.umd.umich.edu/CIS/course.des/cis400/cobol/cobol.html IF SequentialRead READ SupplierFile NEXT RECORD AT END SET EndOfFile TO TRUE END-READ PERFORM UNTIL EndOfFile PERFORM DisplayRecord READ SupplierFile NEXT RECORD AT END SET EndOfFile TO TRUE END-READ END-PERFORM END-IF Código de http://www.csis.ul.ie/cobol/examples/Relative/ReadRel.htm COBOL manipulación de archivos y tablas muy utilizado en software de negocios paquete open-cobol en ubuntu http://www.csis.ul.ie/cobol/ http://groups.engin.umd.umich.edu/CIS/course.des/cis400/cobol/cobol.html ¡Hasta para la web! IF SequentialRead READ SupplierFile NEXT RECORD AT END SET EndOfFile TO TRUE END-READ PERFORM UNTIL EndOfFile PERFORM DisplayRecord READ SupplierFile NEXT RECORD AT END SET EndOfFile TO TRUE END-READ END-PERFORM END-IF Código de http://www.csis.ul.ie/cobol/examples/Relative/ReadRel.htm Pascal relativamente simple usado en educación como “introducción” a lenguajes como C y Java muchas opciones para imprimir en terminal colores y “ventanas” punteros paquete fpc en ubuntu http://www.learn-programming.za.net/ Ejemplos disponibles en los sitios web ya mencionados Basic #include <stdio.h> C int main(int argc, void* args) { CAPÍTULO 7. PROGRAMACIÓN int i, prev = 0, curr = 1, temp; 135 printf("Hello, world!\nF(1-10): 0 "); for (i = 0; i < 10; i++) { Beginner's All-purpose Symbolic Instruction Code Seguidor del lenguaje temp =compiladores. curr; B De hecho, gccutilizado no es un compilador, pero un conjunto de Desde su página igual que Pascal, por sólo muchos como “un curr = prev + curr; Muchas versiones; estándarizado por el ANSI primer escalón” a la programación http://gcc.gnu.org/ uno puede descargar otras herramientas útiles también. En la página prev =gcc temp; Compilador (multiplataforma) atención especial a mensajes de error claros http://www.thefreecountry.com/compilers/cpp.shtml hay lista larga de comprintf("%d ", una curr); En OS X, instalen XCode muchas versiones } piladores gratuitos para C y C++. El uso de librerías adicionales es común en los programas http://www.fact-index.com/b/ba/basic_programming_language.html printf("\nBye!\n"); Librerías enscritos en C para o C++. Un ejemplo de tales librerías es BOOST [5]. return 0; mucho software diferentes plataformas http://www.gnu.org/s/libc/manual/html_node/index.html } http://www.acm.uiuc.edu/webmonkeys/book/c_guide/ en Ubuntu, prueben Gambas IDE Para fines de demostración, incluyemos un programa muy pequeña que no hace nada muy impresionante: para intentar a compilar, ejecutar y modificar el programa, se supone que lo tengan Ejemplos disponibles en los sitios web ya mencionados Al compilar, por defecto el ejecutable creado guardado en un archivo cprog.c: -o se puede dirigirlo directamente bajo otro n #include <stdio.h> int main(int argc, void* args) { int i, prev = 0, curr = 1, temp; printf("Hello, world!\nF(1-10): 0 "); for (i = 0; i < 10; i++) { temp = curr; curr = prev + curr; prev = temp; printf("%d ", curr); } printf("\nBye!\n"); return 0; } > gcc cprog.c > ./a.out Hello, world! F(1-10): 0 1 2 3 5 8 13 21 34 55 89 Bye! > gcc -o fibo cprog.c > ./fibo Hello, world! F(1-10): 0 1 2 3 5 8 13 21 34 55 89 Bye! > de C++pero están Al compilar, por defecto el ejecutable creado reside Los en elprogramas archivo a.out, concompuestas la opción por cl Gramáticas Reporte Comúnmente expresados en el formato Backus-Naur Herramientas como Lex y Yacc las usan como entrada Definiciones disponibles en línea en sus formatos de entrada Para mejor entender las diferencias entre lenguajes, pueden comparar sus gramáticas http://www.devincook.com/GOLDParser/grammars/ cuatro programas de su elección cada uno en un lenguaje imperativo distinto en el blog, como siempre