You are on page 1of 3

Prctica de Fundamentos de Programacin

Curso 2014-15

Dpto. de Ingeniera de Software y Sistemas Informticos


http://www.issi.uned.es/fp/
ETSI Informtica, Universidad Nacional de Educacin a Distancia

 Enunciado
Se trata de realizar un programa en C que muestre por pantalla una hoja de calendario de
cualquier ao comprendido entre 1601 y 3000. El formato de la hoja de calendario deber ajustarse
al que se indica a continuacin para el ejemplo del ao 2003:
Anno (1601.3000)? 2003
ENERO
2003
======================
LU MA MI JU VI | SA DO
======================
. . 1 2 3 | 4 5
6 7 8 9 10 | 11 12
13 14 15 16 17 | 18 19
20 21 22 23 24 | 25 26
27 28 29 30 31 | . .
31 . . . . | . .

FEBRERO
2003
======================
LU MA MI JU VI | SA DO
======================
. . . . . | 1 2
3 4 5 6 7 | 8 9
10 11 12 13 14 | 15 16
17 18 19 20 21 | 22 23
24 25 26 27 28 | . .

MARZO
2003
======================
LU MA MI JU VI | SA DO
======================
. . . . . | 1 2
3 4 5 6 7 | 8 9
10 11 12 13 14 | 15 16
17 18 19 20 21 | 22 23
24 25 26 27 28 | 29 30

ABRIL
2003
======================
LU MA MI JU VI | SA DO
======================
. 1 2 3 4 | 5 6
7 8 9 10 11 | 12 13
14 15 16 17 18 | 19 20
21 22 23 24 25 | 26 27
28 29 30 . . | . .

MAYO
2003
======================
LU MA MI JU VI | SA DO
======================
. . . 1 2 | 3 4
5 6 7 8 9 | 10 11
12 13 14 15 16 | 17 18
19 20 21 22 23 | 24 25
26 27 28 29 30 | 31 .

JUNIO
2003
======================
LU MA MI JU VI | SA DO
======================
. . . . . | . 1
2 3 4 5 6 | 7 8
9 10 11 12 13 | 14 15
16 17 18 19 20 | 21 22
23 24 25 26 27 | 28 29
30 . . . . | . .

JULIO
2003
======================
LU MA MI JU VI | SA DO
======================
. 1 2 3 4 | 5 6
7 8 9 10 11 | 12 13
14 15 16 17 18 | 19 20
21 22 23 24 25 | 26 27
28 29 30 31 . | . .

AGOSTO
2003
======================
LU MA MI JU VI | SA DO
======================
. . . . 1 | 2 3
4 5 6 7 8 | 9 10
11 12 13 14 15 | 16 17
18 19 20 21 22 | 23 24
25 26 27 28 29 | 30 31

SEPTIEMBRE
2003
======================
LU MA MI JU VI | SA DO
======================
1 2 3 4 5 | 6 7
8 9 10 11 12 | 13 14
15 16 17 18 19 | 20 21
22 23 24 25 26 | 27 28
29 30 . . . | . .

OCTUBRE
2003
======================
LU MA MI JU VI | SA DO
======================
. . 1 2 3 | 4 5
6 7 8 9 10 | 11 12
13 14 15 16 17 | 18 19
20 21 22 23 24 | 25 26
27 28 29 30 31 | . .

NOVIEMBRE
2003
======================
LU MA MI JU VI | SA DO
======================
. . . . . | 1 2
3 4 5 6 7 | 8 9
10 11 12 13 14 | 15 16
17 18 19 20 21 | 22 23
24 25 26 27 28 | 29 30

DICIEMBRE
2003
======================
LU MA MI JU VI | SA DO
======================
1 2 3 4 5 | 6 7
8 9 10 11 12 | 13 14
15 16 17 18 19 | 20 21
22 23 24 25 26 | 27 28
29 30 31 . . | . .

Figura 1: Ejemplo de ejecucin de la prctica


1

Pistas

Se aconseja reutilizar el cdigo de las prcticas anteriores, organizando la solucin segn el


diagrama de estructura representado en la Figura 2, que contendra los siguientes mdulos:
Principal: este mdulo constituye el programa principal que, utilizando al mdulo CalendarioAnual,
resuelve el enunciado de esta cuarta prctica de fundamentos de programacin.
CalendarioAnual: este mdulo define un tipo abstracto de datos capaz de generar y almacenar
en una variable de tipo abstracto Pantalla la hoja de calendario de cualquier ao comprendido
entre 1601 y 3000.
CalendarioMensual: este mdulo define un tipo abstracto de datos capaz de generar y
almacenar en una variable de tipo abstracto Pantalla la hoja de calendario de cualquier
mes y ao comprendido entre 1601 y 3000.
Pantalla: este mdulo define un tipo abstracto de datos capaz de almacenar e imprimir
una pantalla de caracteres mediante una matriz que contendr como mximo 80 lneas 80
columnas.
CalendarioAnual y CalendarioMensual no imprimen directamente los calendarios por pantalla
usando el procedimiento printf, si no que, a medida que generan los calendarios, se van guardando
en el tipo abstracto Pantalla para su posterior impresin.

Figura 2: Posible estructura modular para resolver la prctica

You might also like