Sunteți pe pagina 1din 3

Practica - Computo de divisores

24 de junio de 2015

1.

Instrucciones

1.1.

Objetivo

Crear un programa en lenguaje C que dados un n


umero entero positivo n,
calcule todos los divisores de este D = {d Z+ | d|n}.

1.2.

Especificaciones

1.2.1.

Entrada del programa

1. La entrada al programa se especifica como argumento de lnea de comando


[2].
2. La entrada al programa consta de:
a) Un n
umero n Z+ que se especifica mediante la bandera -n.
Por ejemplo, si el archivo ejecutable se llama practica, el n
umero entero
positivo n es 2015, entonces la ejecucion sera:
$ ./practica -n 2015

1.2.2.

Salida del programa

1. La salida del programa se dirige a la salida estandar (stdout).


2. Los divisores se deben especificar como una lista de n
umero ordenada
ascendentemente separados exclusivamente por comas (,).
d1 < d2 < < dk
Dicha lista de factores debe terminar con un salto lnea, en otras palabras,
s
olo la lista de n
umeros debe aparecer en esa lnea.
1

1.2.3.

Compilaci
on

1. El programa NO debe tener mensajes de alerta de compilacion (warnings) [4].


El compilador gcc tiene la opcion -Wall, esta muestra todos los mensajes
de alerta que el codigo al ser compilado genera. De modo que la lnea de
compilaci
on sera similar a:
gcc -Wall -o practica practica.c

2. El c
odigo debe ser compatible con el estandar c991 . Para garantizar esto
debe agregarse la bandera de compilacion -std=c99 [1]. De modo que la
lnea de compilacion sera similar a:
gcc -std=c99 -Wall -o practica practica.c

1.2.4.

Entrega

1. Crear un archivo en formato ZIP con el nombre practica.zip que contenga solamente los archivos:
a) El archivo fuente de C, nombrado practica.c y
b) el archivo de cabeceras de C (si existese), nombrado practica.h.
$ zip practica . zip practica . c practica . h
adding : p r a c t i c a . c
adding : p r a c t i c a . h
$ ls practica .
practica . c
practica .h
practica . zip
2. Cifrar el archivo practica.zip con la clave p
ublica 0x37f0407d [3], dando
como resultado un archivo nombrado practica.zip.gpg o bien practica.zip.asc.
$ gpg e s r 0 x 3 7 f 0 4 0 7 d p r a c t i c a . z i p
$ l s l s practica . zip
practica . zip
p r a c t i c a . z i p . gpg
1 Evite el uso de bibliotecas y funciones que no son estandar, ejemplo de ellos est
a: conio.h,
graphicx.h, etc.

1.2.5.

Ejemplos

Algunos ejemplos de ejecuci


on del programa:
$ ./practica -n 30
1,2,3,5,6,10,15,30
$ ./practica -n 99
1,3,9,11,33,99
$ ./practica -n 127
1,127
$ ./practica -n 1
1
$
1.2.6.

Penalizaciones

1. El incumplimiento de alguna de las especificaciones anteriores puede ser


causal de nulidad de la pr
actica.
2. El plagio parcial o total de la entrega de esta practica sera causal de
nulidad de la pr
actica.

Referencias
[1] C99 - Wikipedia, the free encyclopedia, 2015. http://en.wikipedia.org/
wiki/C99, visitado el 3 de marzo de 2015.
[2] Command-line interface - Wikipedia, the free encyclopedia. Pagina web,
2015. http://en.wikipedia.org/wiki/Command-line_interface, visitado el 3 de marzo de 2015.
[3] GPG Public key 0xF24D7F7A37F0407D.
Pagina web,
http://http-keys.gnupg.net/pks/lookup?op=vindex&search=
0xF24D7F7A37F0407D, visitado el 11 de junio de 2015.

2015.

[4] Warning Options - Using the GNU Compiler Collection (GCC). Pagina
web, 2015. https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.
html, visitado el 3 de marzo de 2015.

S-ar putea să vă placă și