Está en la página 1de 3

INTRODUCCIÓN A LA PROGRAMACIÓN 1.

CURSO 2005/2006
PRIMER CONTROL – I.T.I.G. 1/12/2005. SOLUCIONES

TEORÍA

cons MAX : …
tipos Tt : tabla [2,MAX]
proc examen ( ent nro : entero; sal t : Tt, n:entero
var
base, exp: entero
principio
n:=0
base:=2
exp:=0
mientras nro >1
si nro % base = 0:
exp := exp+1
nro := nro / base
| otras:
si exp > 0 :
guardar (base, exp, t, n)
otras :
nula
fsi
base := base+1
exp := 0
fsi
fmientras
guardar (base, exp, t, n)
fin
proc guardar (ent b, e : entero; ent/sal t : Tt, n : entero)
prin
n := n + 1
t[1,n] := base
t[2,n] := exp
fin
INTRODUCCIÓN A LA PROGRAMACIÓN 1. CURSO 2005/2006
PRIMER CONTROL – I.T.I.G. 1/12/2005. SOLUCIONES

PRÁCTICAS

Cuestión 1 (1 punto)

y vale 11

Cuestión 2 (1,5 puntos)

Salida: a=10 b= 9 c=0 *p1=10 *p2=9 *p3=0

Cuestión 3 (1 punto)

a) correcto
b) tr[2] incorrecto
c) &5.1 incorrecto

Cuestión 4 (1,5 puntos)

1. typedef int Ts[9][9];


Ts s;

2. contador = 0;
for (j=0; j<9; j++)
if (s[i-1][j] % 3 == 0)
contador++;

3. void f (Ts, int, int);

Cuestión 5 (1 punto)

i=2828;
while(i>=0){
printf(“%d”,i);
i=i-28;
}

Cuestión 6 (1,5 puntos)

a!=b && b!=c && a!=c &&( (a+b)>c || (a+c)>b || (b+c)>a )

Cuestión 7 (2,5 puntos)

for (j=0;j<4;j++) //media de la columna desde la diagonal secundaria


{
suma=0.0;
for(i=3;i>=3-j;i--)
suma=suma+m[i][j];
printf("la media de la columna %d es: %f\n",j, suma/(j+1));
}

for (i=0;i<4;i++) // media de la fila desde la diagonal principal


{
suma=0.0;
for(j=i;j<4;j++)
suma=suma+m[i][j];
printf("la media de la fila %d es: %f\n",i, suma/(4-i));
}

También podría gustarte