Practica de Matematicas Discretas

3
Pr´ actica - C´omputo 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 l´ ınea 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 ejecuci´ on ser´ ıa: $ ./practica -n 2015 1.2.2. Salida del programa 1. La salida del programa se dirige a la salida est´ andar (stdout). 2. Los divisores se deben especificar como una lista de n´ umero ordenada ascendentemente separados exclusivamente por comas (,). d 1 <d 2 < ··· <d k Dicha lista de factores debe terminar con un salto l´ ınea, en otras palabras, olo la lista de n´ umeros debe aparecer en esa l´ ınea. 1

description

Practica de Matematicas Discretas en ESCOM IPN

Transcript of Practica de Matematicas Discretas

Page 1: Practica de Matematicas Discretas

Practica - Computo de divisores

24 de junio de 2015

1. Instrucciones

1.1. Objetivo

Crear un programa en lenguaje C que dados un numero 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 lınea de comando[2].

2. La entrada al programa consta de:

a) Un numero n ∈ Z+ que se especifica mediante la bandera -n.

Por ejemplo, si el archivo ejecutable se llama practica, el numero enteropositivo n es 2015, entonces la ejecucion serıa:

$ ./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 numero ordenadaascendentemente separados exclusivamente por comas (,).

d1 < d2 < · · · < dk

Dicha lista de factores debe terminar con un salto lınea, en otras palabras,solo la lista de numeros debe aparecer en esa lınea.

1

Page 2: Practica de Matematicas Discretas

1.2.3. Compilacion

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

El compilador gcc tiene la opcion -Wall, esta muestra todos los mensajesde alerta que el codigo al ser compilado genera. De modo que la lınea decompilacion serıa similar a:

gcc -Wall -o practica practica.c

2. El codigo debe ser compatible con el estandar c991. Para garantizar estodebe agregarse la bandera de compilacion -std=c99 [1]. De modo que lalınea de compilacion serıa 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 con-tenga 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.

$ z ip p r a c t i c a . z ip p r a c t i c a . c p r a c t i c a . hadding : p r a c t i c a . cadding : p r a c t i c a . h

$ l s p r a c t i c a .∗p r a c t i c a . c p r a c t i c a . h p r a c t i c a . z ip

2. Cifrar el archivo practica.zip con la clave publica 0x37f0407d [3], dandocomo resultado un archivo nombrado practica.zip.gpg o bien practica.zip.asc.

$ gpg −e s r 0 x37f0407d p r a c t i c a . z ip$ l s − l s p r a c t i c a . z ip ∗p r a c t i c a . z ip p r a c t i c a . z ip . gpg

1Evite el uso de bibliotecas y funciones que no son estandar, ejemplo de ellos esta: conio.h,graphicx.h, etc.

2

Page 3: Practica de Matematicas Discretas

1.2.5. Ejemplos

Algunos ejemplos de ejecucion 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 sercausal de nulidad de la practica.

2. El plagio parcial o total de la entrega de esta practica sera causal denulidad de la practica.

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, visita-do el 3 de marzo de 2015.

[3] GPG Public key 0xF24D7F7A37F0407D. Pagina web’, 2015.http://http-keys.gnupg.net/pks/lookup?op=vindex&search=

0xF24D7F7A37F0407D, visitado el 11 de junio de 2015.

[4] Warning Options - Using the GNU Compiler Collection (GCC). Paginaweb’, 2015. https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.

html, visitado el 3 de marzo de 2015.

3