jueves, 4 de noviembre de 2010

Reporte #6


Lenguajes Imperativos

Los lenguajes imperativos, en contraposicion a la programacion declarativa es un paradigama de programacion, y son un conjunto de instrucciones que le indican al computador como realizar una tarea. También es importante saber que la implementación de hardware de la mayoria de los computadores, es imperativa, ya que estan diseñadas para ejecutar código máquina.

Características:
  • Permite y depende de efectos colaterales.
  • Uso de variables globales.
  • Dificulta la depuracion y paralelización.
  • Implementa el paradigma de las Maquinas Turing.


Formula Translating System por sus siglas en ingles, es un lenguaje de programación de alto nivel de propósito general, procedimental e imperativo, que está especialmente adaptado al calculo numérico y a la computación científica. Es usado para aplicaciones científicas y de ingeniería.

Características:
  • El lenguaje fue diseñado para que los programas fueran escritos en tarjetas perforadas.
  • Tiene una sintaxis considerada arcaica o antigua para programadores que aprenden lenguajes más modernos.
  • Es difícil codificar la instrucción "for".
  • Errores en la escritura de sólo un carácter pueden llevar a errores durante el tiempo de ejecución en vez de compilación.
  • Posee comandos mucho más breves para efectuar operaciones matemáticas.
  • Es de los mejores lenguajes para realizar tareas de computación numérica de alto rendimiento.


Programa:

    1. PROGRAM POLAR_CARTES
    2. REAL X, Y, RHO, THETA
    3. READ (*,*) RHO, THETA
    4. CALL POLARES (X, Y, RHO, THETA)
    5. PRINT *, X, Y
    6. END

    7. SUBROUTINE POLARES (X, Y, RHO, THETA)
    8. REAL X, Y, RHO, THETA
    9. X = RHO * COS (THETA)
    10. Y = RHO * SIN (THETA)
    11. END


Descripción:
  • 1 En esta linea se le asigna el nombre del programa.
  • 2 Se hacen saber las variables de tipo reales.
  • 3 En esta linea la función "read" leerá los parámetros que se le asignen a al argumento, es decir a lo que esta dentro del paréntesis.
  • 4 en esta linea la instrucción "call" sirve para llamar a otra instrucción que se define en lineas más abajo del programa.
  • 7 en esta linea se define una subrutina "subrutine" la cual puede ser llamada tantas veces como se desee en el programa con la instrucción previa "call" más el nombre de dicha subrutina.
  • 8 esta linea forma parte de la subrrutina abierta en la linea anterior y asigna las variables de tipo real de la subrutina.
  • 9 en esta linea se asigna una función para calcular el valor de la variable "X".
  • 10 esta linea también asigna una funcion para calcular el valor de la variable "Y".
  • 11 se cierra la subrutina.
  • 5 en esta linea se imprimen o se ven en pantalla, los valores calculados por las funciones de las funciones de la subrutina, mediante la instruccion "print".
  • 6 fin del programa.
____________________________________________



COmmon Business -Oriented Language, por sus siglas en ingles; fue creado con el objetivo de crear un lenguaje de programación universal que pudiera ser usado en cualquier ordenador, ya que en los años 60's existían numerosos modelos de ordenadores incompatibles entre sí. También se busco que estuviera orientado principalmente a los negocios, es decir, a lo que llamamos como informática de gestión.

Características:
  • Es un lenguaje el cual fue dotado con una excelente capacidad de auto documentación.
  • Su sintaxis fue creada para evitar el uso de símbolos o caracteres, para facilitar la creación de programas.
  • Permite la reserva de memoria dinámica y la programación estructurada.
  • Posteriormente se siguieron implementando mejoras al lenguaje, por ejemplo se le añadió la orientación a objetos.
  • Existen varios compiladores que permiten emplear este lenguaje como scripting y de servicio web.
Programa:

  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. SALUDOS.
  3. *
  4. ENVIROMENT DIVISION.
  5. *
  6. DATA DIVISION.
  7. WORKING-STORAGE SECTION.
  8. *
  9. PROCEDURE DIVISION.
  10. INICIO.
  11. DISPLAY ‘Hola Mundo- ‘.
  12. STOP RUN.
Descripción:
  • 2 y 3 son las lineas para asignar el nombre al programa,por lo tanto las instrucciones "IDENTIFICATION DIVISION" y "PROGRAM-ID" son obligatorios.
  • 4, 6 y 9 son asteriscos ( * ) y sirven para poner comentarios en el programa, es decir no saldrán impresos en pantalla.
  • 5 y 7 la instrucción "ENVIROMENT DIVISION" y "DATA DIVISION" permiten definir el tipo de ordenador para el que fue escrito el programa, asi como los dispositivos perifericos necesarios para soportar los ficheros utilizados en el programa.
  • 8 la instrucción "WORKING-STORAGE SECTION" sirve para asignar a una constante figurativa o predefinida su valor a un campo.
  • 11 con la palabra "INICIO" se comienza un bloque.
  • 12 la instrucción "DISPLAY" sirve para imprimir en pantalla lo que se encuentre entrecomillas.
  • 13 y por ultimo la instruccion "END RUN" finaliza el programa.


____________________________________________



Pascal es un lenguaje de programación desarrollado por el profesor suizo Niklaus Wirth publicado en los años 70's. Su objetivo era crear un lenguaje que facilitara el aprendizaje de programación a sus alumnos, utilizando la programación estructurada y estructuración de datos. Pero con el tiempo su utilización se convirtió en una herramienta para la creación de aplicaciones de todo tipo y no se quedo estancado en un simple lenguaje académico. El nombre de Pascal fue escogido en honor al matemático Blaise Pascal.


Características:
  • El código esta dividido en porciones llamadas funciones o procedimientos.
  • Por lo tanto usa una programación estructurada en la manera de crear sus códigos.
  • Es necesario declarar el tipo de dato de las variables previamente para poder usarlas.
  • es un lenguaje imperativo.

Programa:

1. PROGRAM PARES_E_IMPARES;
2. USES CRT;
3.
4. VAR num:INTEGER;
5. BEGIN
6. ClrScr;
7. WRITE ('Introduzca un numero entero: '); READLN (num);
8. IF num = 0 THEN
9. WRITE ('El numero introducido no es par ni impar, es 0')
10. ELSE IF ((num mod 2 = 0)) THEN
11. WRITE ('El numero introducido es par')
12. ELSE
13. WRITE ('El numero introducido es impar')
14. END.
15. PROGRAM EJER34;
16. USES CRT;
17. VAR num:INTEGER;
18. BEGIN
19. ClrScr;
20. WRITE('Introduzca un numero: ');
21. READLN(num);
22. IF (num mod 2 = 0) THEN
23. WRITE('NUMERO PAR')
24. ELSE
25. WRITE('NUMERO IMPAR');
26. END.


Descripción:

  • 1 en esta línea se le asigna el nombre al programa.
  • 2 la instrucción “USES” es una llamada a una librería del lenguaje, y “CRT” es una librería en especifico del lenguaje.
  • 4 se especifican las variables mediante la instrucción “VAR” y se especifica que es una variable de tipo entera por la instrucción “INTEGER”.
  • 5 la instrucción “BEGIN” abre un bloque dentro del programa.
  • 6 la instrucción “ClrSrc” sirve para limpiar la pantalla.
  • 7 mediante la instrucción “WRITE” se imprime en pantalla lo escrito (‘dentro del paréntesis y de las comillas ’) y mediante la instrucción “READLN” asigna lo escrito a una variable dentro del paréntesis.
  • 8 la instrucción “IF” indica que es una estructura condicional y nos condiciona que si el número escrito es igual “THEN” (Entonces) hará lo siguiente:
  • 9 después de la condición si se cumple imprimirá el texto indicado, es decir, que el número no es impar ni par.
  • 10 de otro modo “ELSE IF” si el modulo del número es igual a cero “THEN” (entonces):
  • 11 si cumple con la condición imprimirá que el número es par.
  • 12 la instrucción “ELSE” indica que si no se cumplen las condiciones anteriores entonces hará:
  • 13 imprimir que es impar, al no haberse cumplido las condiciones anteriores.
  • 14 finaliza el programa.
  • 15 – 26 es la aplicación del programa al ejecutarse.


____________________________________________



C es un lenguaje orientado a la implementación de de sistemas operativos. Es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones. Uno de los objetivos de diseño del lenguaje C es que sólo sean necesarias pocas instrucciones en lenguaje maquina para traducir cada elemento del lenguaje, sin que haga falta un soporte intenso en tiempo de ejecución. C se desarrolló originalmente en conjunto con el sistema operativo Unix, por programadores para programadores. Sin embargo, ha alcanzado una popularidad enorme, y se ha usado en contextos muy alejados de la programación de sistemas, para la que se diseñó originalmente.

Características:
  • Interacción con diversas plataformas de computación.
  • Es muy flexible, permitiendo programar en múltiples estilos.
  • Acceso a memoria de bajo nivel por medio del uso de punteros.
  • Punteros a funciones y variables estáticas, que permite el encapsulado y el polimorfismo.
  • Permite que datos relacionados entre si se combinen y se manipulen como un todo, es decir, todo en una única variable.
  • Soporta la programación orientada a objetos (OO).
  • Permite anidar funciones.
Programa:
  1. #include (stdio.h)
  2. #include (conio.h)
  3. int main()
  4. {
  5. int n, i, p=0, s=1, f;
  6. printf("Hasta que numero deseas ver la serie de Fibonacci: ");
  7. scanf("%d", &n);
  8. printf("%d \n%d", p, s);
  9. for(i=3;i<=n;i++)
  10. {
  11. f=p+s;
  12. p=s;
  13. s=f;
  14. printf("\n%d", f);
  15. }
  16. getche();
  17. }
Descripción:
  • 1 y 2 van al principio del código, y son las librerías de las cuales el lenguaje toma las funciones necesarias para leer y correr el programa. *En estas lineas substituí los paréntesis ( ) por los signos de mayor y menor <>, por que no aparecen las librerías en la publicación*
  • 3 en esta linea se introduce el principio de la función principal "main ( )"
  • 4 y 10 son llaves de apertura de bloques.
  • 5 se especifican las variables de tipo entero "int".
  • 6 mediante la instrucción "printf" se imprimirá en pantalla lo que contenga ("dentro del paréntesis y las comillas").
  • 7 la instrucción "scanf" asignara a una variable al valor que se le de a lo puesto anteriormente, el "%d" indica que la variable asignada debe ser de tipo entero, y el símbolo "&" es el que asigna la variable a algún carácter.
  • 8 imprimirá los valores previamente asignados de las variables "p" y "s", es decir, 0 y 1 respectivamente.
  • 9 se inicia un ciclo de iteracción "for" donde se especifica que la variable entera "i " tiene el valor de 3 o que comenzar el ciclo con el valor de 3, que el ciclo existirá mientras que la variable "i " sea menor o igual a "n" (valor que se nos pregunto anteriormente) y que la variable "i " incrementara en 1 cada ciclo.
  • 11 se asigna una ecuación para darle el valor a una variable llamada "f".
  • 12 y 13 después de haberse efectuado la operación anterior los valores de las variables "p" y "s" cambiaran por el nuevo valor asignado.
  • 13 imprimirá el valor obtenido de la variable "f ".
  • 14 y 16 son llaves de cierre de bloques.
  • 15 mediante la instrucción "getche()" permite visualizar el resultado en pantalla.
____________________________________________


Referencias:

11 comentarios:

  1. hola!!

    creo que tu reporte esta a medias... no se si te falte por subir o si ya este completo ..

    pero en fin lo que hiciste en fortran me parecio muy bueno el que utilizaras calculo de funciones .. y en pascal me parece un buen ejemplo y facil de aplicar ..

    =)

    ResponderEliminar
  2. :)
    hola como estas

    tu reporte esta muy completo, me parecio muy bien que expliques paso por paso osea linea por linea de tus programas, y esta bien que pongas referencias por que muchos no lo hacen, y pues me parece que tu reporte te quedo muy bien
    nos vemos
    suerte!

    ResponderEliminar
  3. Tu reporte se ve muy completo, y la informacion que pusiste acerca de los lenguajes esta muy bien.

    ResponderEliminar
  4. ke onda riky, muy bien tu reporte es muy buena la info que pones y ademas las referencias de cada uno, hubieras puesto las ejecuciones de cada uno

    ResponderEliminar
  5. explicas excelentemente tus programas ya que vas diciendo paso por paso que quiere decir cada linea

    ResponderEliminar
  6. Me agrada tu reporte, pues explicas todo, pero pienso que debiste de haber subido las imagenes de los programas ya corriendo como prueba, pero la verdad yo se que si le batallaste pues el otro dia me resolviste unas dudas en persona

    ResponderEliminar
  7. bien por los programas aunque seria mejor el reporte que incluyeras las pantallas de ejecucion

    ResponderEliminar
  8. Tu reporte esta muy completo con la explicacion que realizas, ademas de que estan muy bien las refecencias que agregaste. Seria bueno agregar las pantallas del programa corrido xD pero esta muy bien todo(:

    ResponderEliminar
  9. Esta muy bien tu reporte pero lo pudiste haber completado con alguna imagen del codigo ya corrido, bueno pero estan muy bien explicados

    ResponderEliminar
  10. Muy bien. Está muy bien que expliques con detalle cada uno de los programas; aquí nada más faltó incluir alguna pantalla de ejecución, para ver si compilaban los códigos.

    Calificación: 4.5/5

    ResponderEliminar
  11. Buen reporte esta muy bien detallado todo, que mejor que una buena explicacion pero faltaron las pantallas de ejecucion para ver mejor los programas

    ResponderEliminar