Está en la página 1de 2

INTRODUCCIÓN A LA PROGRAMACIÓN 1.

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

TEORÍA

cons
MAX : ...

proc tabla_primos ( ent a: entero; sal n:entero, t:tabla[MAX] de entero)


var
i,c : entero
principio
t[1] := 1
i := 2
c:= 1
n := 1
mientras i <= a
si primo( i ) :
c:= c +1
si (primo( c ) :
n:= n +1
t[n]:= i
|otras :
nula
fsi
|otras :
nula
fsi
i:= i +1
fmientras
fin

func primo (n : entero) dev (es : logico)


var ra,re, i : entero
prin
i := 2
raiz_cuadrada (n, ra, re)
es := cierto
mientras i <= ra y es
si n%i = 0 :
es := falso
│otras:
i := i + 1
fsi
fmientras
fin
INTRODUCCIÓN A LA PROGRAMACIÓN 1. CURSO 2005/2006
PRIMER CONTROL – I.T.I.S. 1/12/2005. SOLUCIONES

PRÁCTICAS

Cuestión 1 (1 punto)

y vale 1

Cuestión 2 (1,5 puntos)

Salida: a=3 b=5 c=8 a=8 b=5 c=8

Cuestión 3 (1 punto)

a) correcto
b) tr[2][3] incorrecto
c) correcto

Cuestión 4 (1,5 puntos)

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


Ts s;

2. maximo = s[0][8];
for (i=1; i<9; i++)
if (s[i][8-i] > maximo)
maximo = s[i][8-i];

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

Cuestión 5 (1 punto)

6 -1 7

Cuestión 6 (1,5 puntos)

(a*a + b*b == c*c) || (a*a + c*c == b*b) || (b*b + c*c == a*a)

Cuestión 7 (2,5 puntos)


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

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


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

También podría gustarte