viernes, 19 de noviembre de 2010

Lenguajes Imperativos

Pascal

Pascal es un lenguaje ordinario de alto nivel que es ampliamente usado como un programa para empezar o para aprender. Actualmente Pascal es preferido por sobre otros lenguajes, y puede ser util para resolver problemas tecnicos. No es necesario aprender otro lenguaje más fácil para empezar a aprender Pascal, o algún otro de este tipo. Es un lenguaje de programación muy facil y te ayuda a entender los básicos del mundo de la programación. Ademas te ayuda enormemente para empezar a aprender el lenguaje de programación C.

- EJEMPLO -
Program lesson3_Program1;

Uses Crt; 

Var PD, Dname, Cmodel : String;
    CostPD, TCostPD, Distance : Real; 
  

Begin
 textbackground(white); 
 ClrScr; 
 TextColor(blue); 
 TCostPD := 0; 
 Writeln('This program prompts you to '+
        +'input the cost per litre of');
 Writeln('the petrol/diesel you spend in and '+
          +'the average distance you travel');
 Writeln('with your car every week. Then, '+
          +'the computer calculates the total cost');
 Writeln('you spend in fuel every week.');
 Readkey; {program move on as soon as a key is pressed}
 ClrScr;
 GotoXy(28,3); 
 Write('Diesel or Petrol? Type p or d: ');
 PD := Readkey; 
 GotoXy(30,4);
 Write('Name Of Driver: ');
 Readln(Dname);
 GotoXy(30,5);
 Write('Car Model: ');
 Readln(Cmodel);
 GotoXy(29,6);
 Write('Cost of Diesel/Petrol: (£) ');
 Readln(CostPD);
 GotoXy(8,7);
 Writeln('Average distance you travel with '+
          +'your car every week: (kilometres) ');
 Readln(Distance);
 ClrScr;
 GotoXy(28,3);
 Writeln('Name of Driver:',Dname);
 GotoXy(31,4); Delay(500);
 Writeln('Car Model:',Cmodel);
 GotoXy(32,5); Delay(500);
 Writeln('Diesel/Petrol:',PD);
 GotoXy(8,6); Delay(500);
 Writeln('Average distance covered '+
        +'every week: ',Distance:1:2,'Km');
 GotoXy(25,7); Delay(500);
 Writeln('Cost of ',PD,' per litre: £',CostPD:1:2,'/litre');
 Writeln; Delay(500);
 Writeln;
 TCostPD := Distance * CostPD;
 GotoXy(21,10);
 Writeln('Total cost of ',PD,' per week:£',TCostPD:1:2);
 TCostPD := 0;
 GotoXy(21,12);
 Writeln('Total cost of ',PD,' per week:'+
        +'£',(Distance * CostPD):1:2);
 GotoXy(18,14);
 Writeln('Total cost of ',PD,' per week:£',Distance * CostPD);
 readln;
End. 


__________________________________

Aunque no parezca, el programa no es puro copy-paste.

 Los programas en pascal generalmente se inician con la palabra reservada program, pero se puede omitir. Toda sentencia debe terminar con   (;) - aunque hay unas excepciones (begin, por ejemplo).

Uses es la palabra reservada para declarar las librerías. En este caso se usa la librería Crt donde se incluyen el textbackground, Textcolor, Clrscr, Gotoxy, Readkey, Delay, y en otros casos Halt. Más abajo explico cada uno en su respectiva linea)


 Var  Se declaran las variables del programa, separadas por comas. Despues de las variables van dos puntos (:) y en seguida se declara el tipo de dato. (String, Real, char, etc.)

 Begin Cada función principal comienza así.
 Textbackground - Podemos cambiar color de fondo.
 TextColor Cambiar el color de letra (En estos dos ultimos casos, se puede usar tanto el color, como un numero que represente ese color).
 ClrScr Se limpia la pantalla. (Similar a lo usado en C)
 TCostPD: Se asigna el valor de cero a esta variable. La asignacion se hace por medio de :=

Writeln equivale a Printf. Una variante es Write que la unica diferencia es que Writeln brinca una linea para escribir. Aqui los caracteres a escribir se encierran entre comas invertidas (´) Cuando se va a hacer uso de una variable almacenada, se cierran las comas invertidas, se pone una coma (,) y se escribe el nombre de la variable que se usará. En caso de que se seguirá escribiendo mas texto para imprimir en la pantalla, lo separas con otra coma, y comienzas de nuevo con comas invertidas.

GotoXy Similar a C. Envia el texto que escribas en seguida, a la esa posicion en X e Y.

Readkey Si se pone solo, sirve para detener el programa hasta presionar enter. Se le puede asignar una variable.

Al finalizar todas las sentencias, se escribe Readln; (con su respectivo punto y coma). El cual equivale a detener la pantalla.

Todo programa finaliza con End.



Este programa calcula el costo total que gastas en combustible cada semana.
Comienza preguntandote si usas Diesel o Petroleo. Ahi se usa el Readkey para clickear D o P, segun el caso.
Te pide ingresar tu nombre, modelo de auto, costo del diesel o petroleo y la distancia promedio que viajas cada semana.

[  Sinceramente no entendi eso de: CostPD:1:2, etc.(porque de hecho va cambiando, no es lo mismo en cada que lo vuelven a escribir).] 

Al final te imprime Tu nombre, el modelo de tu auto, si usaste diesel o petroleo, la distancia promedio que recorres cada semana, el costo por litro; El costo total de diesel/petroleo por semana - y te lo vuelve a imprimir en notacion cientifica -.


Ahi se ve solo la primer parte del programa. Estaba largo! En mi programa cambie a español lo que se imprime en pantalla. Aquí está el resultado de lo que hice:



FORTRAN

Del inglés: FORmula TRANsalting. Lenguaje de alto nivel de propósito general, procedimental e imperativo. Adaptado principalmente al calculo numerico y a la camputacion cientifica.

- EJEMPLO -

      write (*,*) 'Escribe primera calificacion'
      read  (*,*) c1
      write (*,*) 'Escribe segunda calificacion:'
      read  (*,*) c2

      prom = (c1+c2)/2
      write (*,*) 'Tu promedio es: ',prom
      
      stop
      end

Muy simple el fortran, no hay tanta sintaxis que seguir. No se necesitan puntos y comas al finalizar las sentencias. el programa siempre lleva el end al final. El stop no es necesario.





Aquí está el programa corrido


1 comentario: