domingo, 21 de noviembre de 2010

Lenguajes Imperativos (Reporte #7)

FORTRAN
Fortran es un lenguaje de programación muy potente además de ser el primer lenguaje científico. Su desarrollo due en los últimos años de la década de los 50. Fortran es un lenguaje compilado, es decir, que los programas creados en el, deberán ser traducidos a lenguaje máquina mediate la compilación.
La extensión de los progamas de Fortran en Unix tradicionalmente es .f.

El programa que realice en Fortran es sencillo y lo llame edad.f, lo que realiza este programa es que de acuerdo al año de nacimiento del usuario y el año actual (información que introducirá el usuario), se imprimirá la edad del usuario y también se imprimirá si es un niño, adolescente, joven o adulto.

Código
INTEGER NAC, ACT, EDAD

WRITE(*,*) 'Ingresa el año de tu nacimiento:'
READ(*,*)NAC
WRITE(*,*) 'Ingresa el año actual:'
READ(*,*)ACT
EDAD = ACT - NAC
IF(EDAD.GE.6)THEN
IF(EDAD.LE.12)THEN
WRITE(*,*) 'Eres un niño de edad: ', EDAD
END IF
END IF
IF(EDAD.GT.12)THEN
IF(EDAD.LT.18)THEN
WRITE(*,*) 'Eres un adolescente de edad: ', EDAD
END IF
END IF
IF(EDAD.GE.18)THEN
IF(EDAD.LT.25)THEN
WRITE(*,*) 'Eres un joven de edad: ', EDAD
END IF
END IF
IF(EDAD.GE.25)THEN
IF(EDAD.LT.60)THEN
WRITE(*,*) 'Eres un adulto de edad: ', EDAD
END IF
END IF
END
Bueno, hay algo muy importante que mecionar, y esto es que al realizar un programa en Fortran se tendrán que pasar espacios, antes de comenzar a escribir el código, es decir se tabulará cada línea. Si no se realiza esto, entonces el programa no se podrá compilar, ya que esto me sucedía a mi hasta que pase espacios y asi el programa pudo ser compilado.

Bueno, comencé declarando las varibles como enteras mediante INTEGER.
Después pido al usuario que introduzca su año de nacimiento y el año actual y después con esos datos se obtiene la edad del usuario y de acuerdo a la edad se entra en las diferentes condiciones para imprimir si es un niño, adolescente, joven o adulto.

Write(*,*), se utiliza para imprimir y Read(*,*) para leer un dato que el usuario introduzca.
Como vemos utilice varios IF, cuya sintaxis es: IF(condición)THEN ... END IF

En la condición de cada IF utilice varios operadores matemáticos, es decir, utilice: .GE. .LE. .GT. y .LT. Estos operadores quieren decir lo siguiente:
.GE. : mayor o igual que
.LE. : menor o igual que
.GT. : mayor que
.LT. : menor que

También hay otro operador para la condición igual que, el cual es .EQ.
El programa termina con END

Para compilar este programa, tecleamos en la terminal (si tenemos instalado Fortran):
gfortran edad.f
Y después de ser compilado lo ejecutaremos escribiendo en la terminal:
./a.out
Aquí les coloco las imagenes de la ejecución de cada condición.


Si es un niño

Si es un adolescente
Si es un joven

Si es un adultoC
El lenguaje de programación C fue creado en el año 1972. Es una evolución del lenguaje anterior B. Fue creado por Dennis M. Ritchie. La extensión de los programas en C es .c

Bueno, el programa que realice en C, al cual llame cadmay.c determina si una cadena introducia por un usuario es igual, mayor o menor a la segunda cadena que el usuario deberá introducir.

Código
#include<stdio.h>
#include<string.h>

int LongCadena1, LongCadena2;
char Cadena1[50];
char Cadena2[50];

int main(int argc, char *argv[]){
printf("Introduce la primera cadena: ");
gets(Cadena1);
printf("Introduce la segunda cadena: ");
gets(Cadena2);

LongCadena1 = strlen(Cadena1);
LongCadena2 = strlen(Cadena2);

if(LongCadena1 == LongCadena2){
printf("La cadena %s es de la misma longitud que la cadena %s \n", Cadena1, Cadena2 );
}
else if(LongCadena1 > LongCadena2){
printf("La longitud de la cadena %s es mayor que la de la cadena %s \n", Cadena1, Cadena2);
}
else{
printf("La longitud de la cadena %s es menor que la de la cadena %s \n", Cadena1, Cadena2);
}


}

Para las cadenas que fueran introducidas por el usuario, utilice arreglos. Utilice la función gets para que las cadenas fuesen leídas. Primero se pide al usuario que introduzca la cadena 1 y la cadena 2, después mediante la función strlen se mide la longitud de cada cadena, luego estas 2 longitudes son comparadas mediante if-else. Dependiendo de como sea la longitud de las cadenas, será lo que se imrpimirá, es decir si son iguales, si la primera es mayor a la segunda o viceversa.
Para compilar este programa escribimos en la terminal:
gcc cadmay.c
Y para ejecutarlo, escribimos:
./a.out
Y aquí les muestro las imagenes de la ejecuión de este programa, de cada condición.

Si las cadenas son iguales
Si la cadena1 es mayor a la cadena2
Si la cadena1 es menor a la cadena2

PASCAL
El lenguaje de programación Pascal, es un lenguaje que fue desarrollado en los años de 1968 y 1969, peor fue hasta el año de 1970, que fue publicado. Fue creado por el profesor Niklaus Wirth. Pascal es un lenguaje imperativo que facilita la utilización de la programación estructurada, además los tipos de las variables que se utilizarán en los programas realizados en este lenguaje, deberań ser declarados antes de ser utilizadas (las variables).
La extensión de los programas es .pas ó .p

El programa que realice en Pascal lo llame convmet.pas y lo que hace es convertir metros a diferentes unidades con el uso de un tipo switch en C.
Convierte metros a pulgadas, a kilometros, a pies y a centímetros.

Código
program convmet;
var metros, km, pulg, pies, cm : real;
var op : char ;
begin
writeln(' ==================');
writeln(' Conversiones');
writeln(' ==================');
writeln('A cual opcion deseas convertir los metros 1)Pulgadas, 2)Kilometros, 3)Pies, 4)Centimetros ');
readln(op);
Case op of
'1' : begin
writeln('*Metros a Pulgadas*');
writeln('Ingresa los metros a convertir: ');
readln(metros);
pulg := metros * 39.3700787;
writeln('Convertidos a pulgadas son: ', pulg)
end;
'2' : begin
writeln('*Metros a Kilometros*');
writeln('Ingresa los metros a convertir: ');
readln(metros);
km := metros * 0.001;
writeln('Convertidos a kilometros son: ', km);
end;
'3' : begin
writeln('*Metros a Pies*');
writeln('Ingresa los metros a convertir: ');
readln(metros);
pies := metros * 3.2808399;
writeln('Convertidos a pies son: ', pies);
end;
'4' : begin
writeln('*Metros a Centimetros*');
writeln('Ingresa los metros a convertir: ');
readln(metros);
cm := metros *100;
writeln('Convertidos a centimetros son: ', cm);
end;
end;


end.

Como vemos declare las variables con su tipo de dato. Dichas variables de declaran así:
var nombrevariable : tipodedato;

El programa comienza con begin y termina con end.. Primero se pide al usuario la opción que quiere elegir. Para esto utilice writeln. Pero para imprimir se utiliza write y si se desea imprimir una línea después de lo que haya impreso, entonces se utiliza writenl. Después con read(op) se lee el número de la opción que el usuario introdujo, y mediante Case op of, se entra a la opción que el usuario ingreso., Cada caso se comienza con begin y termina con end; Dentro de cada caso coloque la operación a realizar, es decir, las conversiones de unidades. La sintaxis para dichas operaciones y también para las asignaciones es resta:=num1-num2.

Para compilar este programa escribimos en la terminal (si tenemos instalado Pascal):
fpc convmet.pas
Y para ejecutarlo lo siguiente:
./convmet
Aquí les muestro las imagenes de cada opción.


Metros a pulgadas

Metros a kilometros

Metros a pies

Metros a centímetrosBASIC
BASIC es un lenguaje de programación cuyo acrónimo es Beginners All-purpose Symbolic Instruction Code, que en español significa: código de instrucciones simbólicas de propósito general para principiantes.
Este lenguaje fue inventado en el año de 1964 por Jhon George Kemeny y Thomas Eugene Kurtz. Fue desarrollado originalmente como una herramienta de enseñanza.
Laextensión de los programas en BASIC es .bas

Bueno el programa que realice en BASIC es secillo y lo llame volumen.bas, ya que determina el volumen de 3 figuras geométricas (esfera, cubo y cilindro). De acuerdo a la opción que el usuario eliga, será el volumen que se obtendrá.

Código

DIM vol AS SINGLE
DIM op AS INTEGER
DIM r AS SINGLE
DIM l AS SINGLE
DIM h AS SINGLE

INPUT "Ingrese el numero de opcion 1)Esfera, 2)Cubo, 3)Cilindro: ", op

IF op = 1 THEN
INPUT "Ingresa el radio de la esfera: ", r
vol = 4/3 * 3.141592 * r * r * r
PRINT "El volumen de la esfera es: ", vol
END IF

IF op = 2 THEN
INPUT "Ingresa el lado del cubo: ", l
vol = l*l*l
PRINT "El volumen del cubo es: ", vol
END IF

IF op = 3 THEN
INPUT "Ingresa el radio del cilindro: ", r
INPUT "Ingresa la altura del cilindro: ", h
vol = 3.141592 * r * r * h
PRINT "El volumen del cilindro es: ", vol
END IF

END
Primero declare las variables que utilice, dichas variables se declaran así: DIM variable AS TIPO
Después mediante INPUT le pido al usuario que elija la opción. INPUT imprime y lee un dato al mismo tiempo.
Y luego, de acuerdo a la opción que el usuario eligiera, se entra a las condiciones, es por eso que utilice IF. La sintaxis del IF es:
IF condición THEN
...
END IF

Dentro de cada IF pedi al usuario los datos necesarios para obtener el volumen de la figura que eligió, y dentro del mismo IF, coloque la operación a realizar.

El programa termina con END, mas no es obligatorio escribir esto al termino de un programa.
END es solo para que el programa se note mas claro.

Bien, ahora para compilar este programa escribimos en la terminal (si tenemos instalado BASIC):
fbc volumen.bas
Y para ejecutarlo:
./volumen
Ahora, aquí les coloco las imagenes de las diferentes opciones.

Esfera
Cubo

Cilindro
Bueno estos son los programas que realice como reporte, gracias por su atención.

Referencias
FORTRAN
C

1 comentario:

Publicar un comentario