EQUIVALENCIAS BÁSICAS ENTRE PASCAL Y C

A continuación se presentan algunas equivalencias básicas entre estos 2 lenguajes de programación :

Operadores en lenguaje C:

Operador

Descripción

%

Módulo

=

Asignación

= =

Comp. de igualdad

!=

Com. de desigualdad

<=

Comp. menor o igual

>=

Comp. mayor o igual

&&

AND lógico

||

OR lógica

!

Negación lógica

++ Post-incremento a++
Pre-incremento ++a
-- Post-decremento a--
Pre-decremento --a

Operadores en Turbo Pascal:

Operador

Descripción

MOD

Módulo

:=

Asignación

=

Comp. de igualdad

<>

Com. de desigualdad

<=

Comp. menor o igual

>=

Comp. mayor o igual

AND

AND lógico

OR

OR lógica

NOT

Negación lógica

+ Post-incremento

a:=a+1

- Post-decremento

a:=a-1

 

Tipos de datos en Turbo Pascal:

DATOS DE TIPO ENTERO  

Tipo

Rango

Byte 0..255
Shortint -128..127
Integer -32768..32767
Word 0..65535
Longint -2147483648..2147483647
DATOS DE TIPO REAL  

Tipo

Rango

Real 2.9*10E-39..1.7*10E38
Single 1.5*10E-45..3.4*10E38
Double 5.0*10E-324..1.7*10E308
Extended 1.9*10E-4951..1.1*10E4932
Comp -2E+63+1..2E+63-1
DATOS DE TIPO CARACTER Y CADENAS  

Tipo

Rango

String Hasta 255 caracteres
Char Un único caracter
DATOS DE TIPO LOGICO  

Tipo

Rango

Boolean Almacena verdadero o falso

 

Tipos de datos en Turbo C

DATOS DE TIPO ENTERO  

Tipo

Rango

Short int -128..127
Int -32768..32767
Unsigned int 0..65535
Long gint -2147483648..2147483647
DATOS DE TIPO REAL  

Tipo

Rango

Float 3.4*10E-38..3.4*10E38
Double 1.7*10E-308..1.7*10E308
DATOS DE TIPO CARACTER Y CADENAS  

Tipo

Rango

Char Hasta 255 caracteres
DATOS DE TIPO LOGICO  

Tipo

Rango

No dispone de este tipo de dato  

 

Comentarios en Turbo Pascal

{ Esta es una forma de colocar comentarios}

(* Esta es otra forma de colocar comentarios*)

 

Comentarios en Turbo C

//Este es una forma de colocar comentarios

/*Esta es otra forma de colocar comentarios*/

 

Inicio y fin de bloque en Turbo Pascal

Begin {Este es el inicio}

{Bloque de código}

End; {Este es el fin}

 

Inicio y fin de bloque en Turbo C

{ //Este es el inicio

/*Bloque de código*/

}//Este es el fin

 

Vectores y matrices en Turbo Pascal

Todos los vectores y matrices en Turbo Pascal comienzan en índice "1";por ejemplo:

Vector : array [1..10] of integer;

Matriz : array [1..10,1..10] of integer;

 

Vectores y matrices en Turbo C

Todos los vectores y matrices en Turbo Pascal comienzan en índice "0";por ejemplo:

Int Vector[10];

Int Matriz[10][10];

 

Estructuras en Turbo Pascal

En la sección de declaración de tipos

Type

Tipo_fecha = record

Dia : integer;

Mes: integer;

Anyo:integer;

End;

Después en la sección de declaración de variables :

Var

Fecha : tipo_fecha;

Para acceder a un componente de la estructura

Fecha.mes:=5;

Fecha.anyo:=1999;

 

Estructuras en Turbo C

typedef struct {

int dia;

int mes;

int anyo;

} tipo_fecha;

 

A partir de este momento se pueden declarar variables:

tipo_fecha hoy, ayer, manana;

La forma de acceder a los campos de una estructura es igual para las dos formas de declarar variables compuestas, e igual que en PASCAL:

hoy.dia=5;

hoy.anyo=1999;

 Condiciones

En "C" no existe el tipo de datos BOOLEAN. En "C" se dice que una expresión es cierta si el resultado de evaluarla es cualquier cosa distinta de cero, y falsa si es cero. Hay que tener mucho cuidado con esto, por dos motivos:

No podemos preguntar si algo es cierto comparandolo con "1". Pues 2 y 3 ... también es CIERTO.

Estructuras de control

Bucle for en Turbo Pascal

En Turbo Pascal se incrementa o decrementa de 1 en 1.

 

Forma incremental

For variable_inicio:= valor inicio to tope do

Begin

{Bloque de instrucciones}

End;

Ejemplo:

For i:=1 to 20 do

Begin

Gotoxy(1,i);

Write(i);

End;

 

Forma decremental

For variable_inicio:= valor inicio downto tope do

Begin

{Bloque de instrucciones}

End;

For i:=20 downto 1 do

Begin

Gotoxy(1,i);

Write(i);

End;

 

Bucle for en Turbo C

En Turbo C se incrementa o decrementa en cualquier valor.

for ( inicializacion ; codicion ; incremento )

instrucciones

Por ejemplo:

For(i=1;i<=20; i++)

{ Gotoxy(1,i);//En este ejemplo se incrementa de 1 en 1

printf("%d",i);

 

}

For(i=1;i<=20; i+=3)

{ Gotoxy(1,i);//En este ejemplo se incrementa de 3 en 3

printf("%d",i);

}

El siguiente ejemplo es similar al Downto de Turbo Pascal

For(i=20;i>=1; i--)

{ Gotoxy(1,i);//En este ejemplo se decrementa de 1 en 1

printf("%d",i);

}

 

Bucle While - do en Turbo Pascal

Este evalúa primero la condición y después ejecuta el bloque de instrucciones

inicialización

While ( condición) do

Begin

{Bloque de instrucciones}

End;

Ejemplo:

i:=0;

While (i<=100) do

Begin

I:=i+1; {Aquí se incrementa de 1 en 1}

Writeln(i);

End;

i:=0;

While (i<=100) do

Begin

I:=i+3; {Aquí se incrementa de 3 en 3}

Writeln(i);

End;

 

Bucle While - do en Turbo C

Esta estructura funciona de manera similar a Turbo Pascal:

Inicialización;

while (condicion)

{

instrucciones;

}

Ejemplo:

i=0;

While (i<=100)

{

i++;//Aquí se incrementa de 1 en 1

printf("%d",i);

}

i=0;

While (i<=100)

{

i+=3;//Aquí se incrementa de 3 en 3

printf("%d",i);

}

 

Bucle Repeat – Until en Turbo Pascal

Este tipo de bucle, ejecuta el bloque de código y después evalúa, no lleva ni begin ni end:

Inicialización

Repeat

{bloque de instrucciones}

until condicion;

Ejemplo:

Modo incremental

I:=0;

Repeat

I:=i+1; {Se incrementa de 1 en 1}

Writeln(i);{Imprime el resultado de la operación}

Until i>=100;

Modo decremental

I:=100;

Repeat

I:=i-1;{Se decrementa de 1 en 1}

Writeln(i);{Se imprime el resultado de la operación}

Until i>=0;

Bucle do - while de Turbo C

Este es el equivalente del Repeat – Until de Turbo Pascal, aunque a diferencia de este la terminación del bucle se produce cuando la condición es falsa (en el repeat - until se termina cuando se cumple la condición)

do

{

//Bloque de instrucciones

while (condición)

Ejemplo :

Modo incremental

i=0;

do

{ i++;//Aquí se incrementa de 1 en 1

printf("%d",i);

} while(i>=100);

Modo decremental

i=100;

do

{ i--;//Aquí se decrementa de 1 en 1

printf("%d",i);

}while(i<=100);

 

Sentencia Condicionales

Sentencia IF – THEN – ELSE de Turbo Pascal

If (Condición) then

Begin

{En caso de que sea verdadero}

{Bloque de instrucciones}

end {No lleva punto y coma}

Else

Begin

{En caso de que sea falso}

{Bloque de instrucciones}

end;

 

Ejemplo:

A:=10;

B:=20;

if (A>B) then

begin

writeln(‘A es mayor que B’);

readln;

end

else

begin

writeln(‘B es mayor que A’);

readln;

end;

 

Sentencia if– else de Turbo C

If (Evaluación)

{ //En caso de que sea verdadero

//Bloque de instrucciones

}

else

{//En caso de que sea falso

//Bloque de instrucciones

}

Ejemplo:

A=10;

B=20;

If(A>B)

{printf("A es mayor que B");

getch();

}

else

{printf("B es mayor que A");

getch();

}

 

Sentencias de evaluación múltiple

Sentencia CASE de Turbo Pascal

Case (expresión a evaluar) of

Evaluación1: begin

{Bloque de instrucciones}

End;

Evaluación2: begin

{Bloque de instrucciones}

End;

Evaluación3: begin

{Bloque de instrucciones}

End;

.

.

.

EvaluaciónN: begin

{Bloque de instrucciones}

End;

End; {Final del case}

 

Ejemplo:

A:=3;

Case (A) of

4:begin

writeln(‘Cuatro’);

readln;

end;

3: begin

writeln(‘Tres’);

readln;

end;

2: begin

writeln(‘Dos’);

readln;

end;

1: begin

writeln(‘Uno’);

readln;

end;

end; {Final del case}

 

Sentencia Switch de Turbo Pascal

Su sintaxis es:

switch (variable)

{

case const1: sentencias1;

case const2: sentencias2;

case const3,const4: sentencias3;

}

El funcionamiento es el siguiente: se compara el valor de variable con cada una de las constantes que aparecen después de la palabra reservada case. Cuando se encuentra una igual, se ejecutan las sentencias que siguen a los dos puntos (:) y todas las demás sentencias hasta llegar al final de la sentencia switch. Por ejemplo:

x=3;

switch (x) {

case 4: print("cuatro");

case 3: print("tres");

case 2: print("dos");

case 1: print("uno");

}

El resultado de la ejecución es: "tres dos uno". Si queremos que sólo se ejecute la entrada asociada al número correspondiente, tendremos que utilizar la sentencia break:

x=3;

switch (x) {

case 4: print("cuatro"); break;

case 3: print("tres"); break;

case 2: print("dos"); break;

case 1: print("uno");

}

Aquí se incluye una práctica herramienta que traduce programas hechos en Turbo Pascal a Turbo C, al final al código hay que hacerle algunos ajustes, pero no cabe duda de la potencia de esta.

La forma de manejo es muy sencilla, solo debes digitar el nombre de la herramienta y el archivo de Turbo Pascal que quieras traducir a Turbo C; por ejemplo si deseas traducir el archivo trigonom.pas a Turbo C, se digitará lo siguiente : pas2c trigonom.pas

Como resultado de la operación se produce el archivo trigonom.c.

Descargar el conversor de Turbo Pascal a Turbo C

Indice Presiona aquí para regresar al índice