Universidad de Costa Rica
|
|
PROGRAM Armstrong;
{ RESULTADO
Determina cuantos números son de Armstrong, desde 1 hasta N.
- Un número es de Armstrong si la suma de los dígitos que lo
componen elevados al cubo es igual al número.
- Por ejemplo 153 es un número de Armstrong porque
3 3 3
153 = 1 + 5 + 3 = 1^3 + 5^3 + 3^3 }
CONST n = 3000;
VAR
numero, suma,
digito, temp : INTEGER;
begin
WriteLn('Numeros encontrados (1 .. 3000)');
WriteLn(' que son de Armstrong:');
WriteLn;
for numero:=1 to n do begin
suma:=0;
temp:=numero;
WHILE temp <> 0 DO BEGIN { suma de digitos }
digito:= temp MOD 10; { al cubo }
suma:= suma+(digito*digito*digito);
temp:= temp DIV 10
END;
IF suma = numero then
WriteLn(numero,' Suma de su digitos al cubo ', suma);
end;{ FOR }
ReadLn;
END. { Armstrong }
Armstrong.pas
Traduzca al lenguaje C++ el programa Armstrong.pas
que aparece en la
Figura 1. Para realizar esta tarea,
obtenga primero el programa GSAR.exe
de Internet.
Este programa sirve para sustituir una hilera por otra en
archivos. A diferencia de otros programas que realizan esta misma
tarea, GSAR.exe
puede trabajar con archivos que no
contienen exclusivamente texto.
:: PAS-C.bat ==> Convierte código Pascal a C [SUPER-BURDO]
:: USA el programa GSAR.exe para remplazar hileras:
:: ftp://ftp.simtel.net/pub/simtelnet/msdos/txtutl/gsar110.zip
gsar -oi "-s{" "-r/*" %1
gsar -oi "-s}" "-r*/" %1
gsar -oi -sBEGIN -r{ %1
gsar -oi -sEND -r} %1
gsar -oi -s}; -r} %1
gsar -oi -sTYPE -rclass %1
gsar -oi -sOBJECT -rclass %1
gsar -oi -sWHILE -rwhile %1
gsar -oi "-sIF " "-rif (" %1
gsar -oi "-s THEN" "-r) " %1
gsar -oi -sELSE -relse %1
gsar -oi -sNIL -rNULL %1
gsar -oi -sINTEGER -rint %1
gsar -oi -sPOINTER -rvoid %1
gsar -oi "-s = " "-r == " %1
gsar -oi -s::= -r= %1
gsar -oi -sREPEAT "-rdo {" %1
gsar -oi "-sUNTIL " "-r} while NOT (" %1
gsar -oi -sOR "-r||" %1
gsar -oi "-sF||" "-rfor (" %1
gsar -oi "-s DO" "-r ;.;.)" %1
gsar -oi -s^. "-r->" %1
gsar -oi "-s<>" -r!= %1
gsar -oi -sEXIT -rreturn %1
gsar -oi -sAND -r&& %1
gsar -oi -sDIV "-r/" %1
:: PAS-C.bat ==> Fin de archivo
PAS-C.bat
Luego de imprimir la documentación de su programa, y
entregarla en clase, envíe su trabajo a los
asistentes del curso por correo electrónico. Para
esto, haga un archivo empacado
.zip
cuyo nombre sea su número de carnet. Incluya en ese archivo
lo siguiente:
Debe darle formato adecuado a su programa C++. Recuerde que lo usual en C++ es indentar cada construcción sintáctica cuatro espacios cada construcción sintáctica. Si lo desea, para escribir su programa puede usar como referencia estas convenciones Pascal:
http://www.di-mare.com/adolfo/p/convpas.htm
Después de la fecha de entrega del programa, puede usted instalar en su cuenta personal su solución (no instale antes su solución en Internet, pues en ese caso sería usted culpable de facilitar la copia de su trabajo, y en consecuencia se haría acreedor a la sanción respectiva).
Las cuentas de computador en la
ECCI se asignan de acuerdo
al número de carnet. Por ejemplo, si su carnet es el
número 95-28-09, para entregar su tarea usted debe crear el
archivo
952809.zip
para enviarlo por correo electrónico a los
asistentes del curso.
Luego haga en su cuenta personal un subdirectorio llamado
public_html
, que es bajo el que se instalan todas sus
páginas Internet. Por ejemplo, si su solución
está en el archivo
HTML
llamado
"OLP/t3sol952809.htm
", entonces usted debe instalar esa
página en el archivo
public_html/OLP/t3sol952809.htm
de su cuenta. Luego, para acceder esa página Internet, debe
entrar a este sitio:
http://anubis.ecci.ucr.ac.cr/~e952809/OLP/t3sol952809.htm
Como todas las cuentas de estudiante son la letra "e" seguida del
número de carnet, para el estudiante de carnet "952809" la
cuenta es
"e952809
".
Para indicarle al servidor Internet a cuál cuenta entrar se
usa el caracter "~" (Alt-126), seguido del nombre de
la cuenta:
"~e952809
".
|
Adolfo Di Mare <adolfo@di-mare.com>.
|