Traduciendo Pseucodigo de Pascal a C++

Páginas: 8 (1938 palabras) Publicado: 18 de marzo de 2013
Traduciendo Pseudocódigo a Pascal y C++
estructurado
Fundamentos de Programación
1 Introducción
El pseudocódigo pretende ser un lenguaje de programación de muy alto nivel, que permite
desarrollar ideas sin necesidad de llegar al nivel de detalle de un lenguaje real, pero siendo, a la vez,
muy sencillo realizar el paso final de traducir a cualquier lenguaje.
El algoritmo del máximo divisorcomún consiste en ir reduciendo al mayor de ambos con el
otro, hasta llegar a un punto en el que no se pueda reducir más. Supóngase el siguiente algoritmo:
ALGORITMO mcd;
VARIABLES
a, b: Entero;
INICIO
LEER( a, b );
MIENTRAS a b
SI a>b
a←a–b
SINO
b←b–a
FIN_SI
FIN_MIENTRAS
ESCRIBIR( ‘MCD=’, a );
FIN_ALGORITMO;

Podría ser codificado fácilmente en distintos lenguajes deprogramación. Por ejemplo, a
continuación se muestra el algoritmo codificado en BASH (un lenguaje de scripting para UNIX):
#!/bin/bash
echo –n ‘Introduce a: ’
read a
echo –n ‘Introduce b: ’
read b
while test ! $a -eq $b
do
if test $a -gt $b
then
a=`expr $a - $b`
else
b=`expr $b - $a`
fi
done
echo “El MCD es $a”

El mismo algoritmo escrito en C++ estructurado sería:
#include
int main()
{int a, b;
printf( "Introduce a: " );
scanf( "%d",&a );
printf( "Introduce b: " );

}

scanf( "%d",&b );
while ( a != b ){
if ( a > b )
a = a - b;
else
b = b - a;
}
printf( "El MCD es %d", a );

Por otra parte, en Pascal sería:
program mcd;
var
a, b: integer;
begin
write( 'Introduce a: ' );
readln( a );
write( 'Introduce b: ' );
readln( b );
while a b do
if a > b thena := a - b
else
b := b - a;
writeln( ‘El MCD es ’,a );
end.

En cuanto a lenguajes dinámicos, en Ruby sería:
print "Introduce a:
a = gets.to_i
print "Introduce b:
b = gets.to_i
while a != b
if a > b
a=aelse b = b –
end
print "El MCD es ",

"
"

b
a end
a, "\n"

Mientras que en Python, tendríamos:
a = input( "Introduce
b = input( "Introduce
while ( a != b ):
if ( a > b):
a=
else:
b=

a: " )
b: " )
a-b
b-a

print "MCD = ", a

Lo que se pretende demostrar con esto es que los lenguajes estructurados emplean distintas
notaciones para representar composiciones secuenciales, iterativas o de decisión. Sin embargo,
todos los lenguajes tienen los mismos elementos que presentes la notación algorítmica..
En este sentido, dada la diferencia de los lenguajes ysu carácter estricto, resulta muy
interesante emplear una notación algorítmica que va a resultar más flexible para poder construir los
algoritmos y, una vez construido el algoritmo, fijarse en los detalles del lenguaje de programación.

2 Traducción automática
Dado que el pseudocódigo no es más que un lenguage genérico, y que todo lo que se puede hacer en
pseudocódigo se puede hacer encualquier lenguaje de programación, la traducción de uno a otro
debería ser más o menos automática. En esta sección, se comentarán las construcciones más
comunes en pseudocódigo, y se mostrará su equivalente a los lenguajes Pascal y C.

2.1 Comentarios, elementos básicos, y literales.
Estos son los elementos más básicos disponibles en programación. Muchos de estos elementos
básicos,símplemente, no tienen traducción en algunos lenguajes de programación, mientras otros
requieren de más líneas de código.
Pseudocódigo

C

{ comentario }

Pascal

/* comentario */

ALGORITMO ejemplo

-

{ comentario }
PROGRAM ejemplo;

Verdadero, ó V 'o T

true

True

Falso, ó F

false

False

a←5

a = 5;

a := 5;

(a=5)

( a == 5 )

(a=5)

A continuación se muestranalgunos valores literales que pueden aparecer en un cualquier
programa.
Pseudocódigo

C

Pascal

Ejemplo en C++

“Esto es una
cadena”

“Esto es una” 'Esto es una cadena' printf( “Hola, mundo” );
“cadena”

5

5

5

x = 5;

3.14

3.14

3.14

area = radio * radio *
3.14;

'd'

'd'

'd'

char de = 'd';

2.2 Entrada y salida
Es necesario que un programa se...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Diferencia entre pascal y c
  • Diferencia entre pascal y lenguaje c
  • C vs Pascal
  • QAS 99 c digo traducido
  • Pascal y c++
  • Pseucódigo
  • Pseucodigo
  • Traduc..

OTRAS TAREAS POPULARES

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS