You are on page 1of 8

DISEO DE ALGORITMOS Y SU CODIFICACIN EN LENGUAJE C: Ejercicios adicionales a resolver

en Pseudocdigo y en Lenguaje C

EJERCICIOS ADICIONALES A RESOLVER EN PSEUDOCDIGO


Realice la prueba de escritorio o corrida a mano de los siguientes algoritmos:
Pseudocdigo1
principal()
inicio
enteror,c,vec[5]={1,2,3},mat[3][2],m1[3][3]={1,2,3,4,5,6,7}
desde(r0,r<3,rr+1)
desde(c1,c>=0,cc1)
inicio
mat[r][c]vec[r]+vec[c]+m1[r][c]
imprimirmat[r][c]
fin
desde(r0,r<2,rr+1)
inicio
c1
mientras(c<3)
inicio
si(r=c)imprimirm1[r+1][cr]
sinoimprimirm1[r][c]
cc+1
fin
fin
fin

Pseudocdigo2
enterofunc1()
ningunofunc2()
enterok5,w10
principal()
inicio
enteroa
desde(a1,a<5,aa+2)
imprimirvalor1:,func1()
func2()
fin
enterofunc1()
inicio
k=k+3
si(k<=w)regresar(k+w)
sinoregresa(wk)
fin
ningunofunc2()
inicio
enteroc[10]{2,9,3,2,14,5,12,10},i7,m1
mientras(i>=1)
inicio
mm*c[i]
1

DISEO DE ALGORRITMOS Y SU CODIFICACIN EN LENGUUAJE C: Ejerrcicios adicionales a resolver


en Pseudoocdigo y een Lenguaje C

im
mprimirm:,m
im
mprimirvalor3:,c[i+1]+i
i
i2
fin
fin

EJER
RCICIOS ADICION
A
NALES A RESOLV
VER EN L
LENGUA
AJE C
PART
TE I. Elab
bore la co
odificacin
n en lenguaje C dee los siguientes pro
ogramas
1,2
(reallizando el clculo e impresin
n respectiiva) :
1. Inttroducirdosn
nmeroseim
mprimirelmaayordeellos conunifsim
mple(noutilizzarelse).
2. Lee
er una fecha vlida con
n un nmero
o entero possitivo de 6 ciifras (ddmmaaa). Separar los valores
correspondienttesada,messyao.
3. Lee
er10nmero
osenteroseiimprimirelporcentajedeenmerospo
ositivosynegativos.
4. Lee
er dos nme
eros enteros (el primer nmero
n
tend r que ser m
mayor que el segundo) yy calcular la
divvisionmedian
nterestassuccesivas.
5. Le
eerunarreglo
ounidimensionaldetamaaoN(mxim
mo20).Buscaarelelementtomayorein
nsertarloen
laposicinP(1PN).
6. Eje
ercicio3y11delforconaarreglos.
7. Lee
erdoshorariosdiferentess,incluyendo
olosminutos ylossegund
dos(3:22:17)..Calculeladiiferenciaen
ho
oras,minutosysegundos.
8. Imprimirlosn
merosprimo
osentre2yN
N,utilizandollacribadeErratstenes.
9. Lee
erlaalturandeuntringuloeimprim
mirelsiguientetringulod
deasteriscos.

10. Lee
erlaalturandeuntringuloeimprim
mirelsiguientetringulod
deasteriscos.

11. Lee
erelanchon
ndeuntringguloeimprim
mirelsiguienttetringulod
deasteriscos.


1
2

Http://w
www.ciens.ucv.ve/intro_computacion/docs/praccticas.doc
http://w
wwwdi.ujaen.es//~mcdiaz/docenccia/ejercicios/wiki/index.php?titlle=Categor%C33%ADa:Enunciaado

DISEO DE ALGORRITMOS Y SU CODIFICACIN EN LENGUUAJE C: Ejerrcicios adicionales a resolver


en Pseudoocdigo y een Lenguaje C

12. Lee
erlaalturandeuntringuloeimprim
mirelsiguientetringulod
deasteriscos.

13. Lee
erelanchodelromboeim
mprimirelsigguientetringgulodeasterriscos.

14. Lee
er un nmero entero e imprimir si es abundan
nte (si es meenor que la suma de su
us divisores
differentesdel).Porejemp
plo,elnmero
o24esabund
danteyaquee:24<36=1
1+2+3+4+6+8+12
15. Lee
erunamatrizzcuadrada(m
mximo10X1
10),sumarlo
oselementosssituadospo
orencimade ladiagonal
priincipal.
16. Lee
er los elementos de una matrizcuadrradadeenteeros(mximo
o10X10)yobtenerun veectorconla
sum
madelosele
ementosdelaasdiagonalessinversas:
5 16 117 35
5 10 7
6 9

33

11 44

1 21 2
3

88

DISEO DE ALGORRITMOS Y SU CODIFICACIN EN LENGUUAJE C: Ejerrcicios adicionales a resolver


en Pseudoocdigo y een Lenguaje C

17. Lee
erunnmeroneimprim
mirsudescom
mposicinen
nenteroscuyyassumasseaaigualadich
honmero.
Eje
emplo:4=1+1
1+1+1=2+1+1=3+1=2+2
18. Lee
erunacadenadecaracterresycortarlaaenpalabras escribiendocadapalabraaenunalneaa.
19. Lee
erunda(dd//mm/aa)eim
mprimirqued
daserma
ana.Porejem
mplo31/12/1
10imprimir:01/01/11
20. Calcularlasumadelosdgittosdeunnm
mero.Ejempl o:N=1347,im
mprimir1+3++4+7=15.
21. Lee
eruncarcte
erylaaltura..Imprimirla letraVde laalturaintrroducida.Porejemplo:Siielcarcter
fue
e+ylaaltu
ura=4:
+
+

+
+

+ +

erloselemen
ntosdeunam
matrizmXn(mximo10X
X10)yposteriormentegirardichamatriz90,ya
22. Lee
sea
a a la izquierrda o a la de
erecha (para ello utilice u
un men). Reealizar cuatro
o giros conseecutivos, de
forrmaquesep
puedacomprrobarquese vuelveala posicininiccial.Imprimirrlasdiferentesmatrices
girradas.Poreje
emplosisegiraaladerech
ha(afavordeelamanecillasdelreloj):

23.
24.
25.
26.

Sim
mulareljuego
odelgato.
Sim
mulareljuego
odelaserpie
ente.
Sim
mulareljuego
odelahorcad
do.
Imprimir una espiral
e
con el
e operador + (se imprrimir en cmara lenta y girar a faavor de las
ma
anecillas),dejjandounesp
paciointerme
edioencadavvuelta.Nouttiliceprogram
macinmodu
ular.
4

DISEO DE ALGORRITMOS Y SU CODIFICACIN EN LENGUUAJE C: Ejerrcicios adicionales a resolver


en Pseudoocdigo y een Lenguaje C

PART
TE II. Rea
alice la prrueba de escritorio
e
o corrida
a a mano de los siguientes
programas:
PROGRAMA1
main())
{
intta=5,b=15,cc=21;
prrintf("%d\n",,a(b%4*c>2
2)3);
sw
witch(a(b%4
4*c>2)3)
{
case1:if((c>19)
{
b=c/3;a=c%2;
}
elsea=c+2;
+12;
case3:if((b<18)a=a+
else
{{
b=a%4;c=b
b+5;
a=b*3;b
}
break;
default:a=
=c*2;c=c/3;b=b%2;
}
prrintf("%d,%d
d,%d,%d",a*2,b,a+4,c);ggetch();retuurn0;
}
5

DISEO DE ALGORITMOS Y SU CODIFICACIN EN LENGUAJE C: Ejercicios adicionales a resolver


en Pseudocdigo y en Lenguaje C

PROGRAMA2
main()
{
intm1[3][4]={1,2,3,4,5,6,7,8,9,10,11,12},i,j,m2[3][4];
for(i=0;i<=2;i++)
{
for(j=0;j<=3;j++)
printf("%3d",m1[i][j]);
printf("\n");
}
printf("\n");
for(i=2;i>=0;i)
{
for(j=3;j>=0;j)
{
m2[i][j]=m1[i][j];
printf("%3d",m2[i][j]);
}
printf("\n");
}
getch();return0;
}

PROGRAMA3
main()
{
intv[3]={0},M[3][3]={1,2,3,4,5,6,7,8,9},i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)

v[j]+=M[i][j];
for(i=0;i<3;i++)
printf("%d",v[i]);
getch();
return0;
}

DISEO DE ALGORITMOS Y SU CODIFICACIN EN LENGUAJE C: Ejercicios adicionales a resolver


en Pseudocdigo y en Lenguaje C

PROGRAMA4
intz=4;
voidf1()
{
z=z+3;
}

intf2()
{
intw=10;
if(z%2==0)w=w+z;
elsew=(z+10)/3;
returnw;
}

charf3()
{
charm;
m='a'+z;
returnm;
}

main()
{
inta;
z=z+2;
f1();
printf("%d\n",z);
a=f2()/2;printf("%d\n",a);
printf("%c",f3());
getch();
return0;
}

DISEO DE ALGORITMOS Y SU CODIFICACIN EN LENGUAJE C: Ejercicios adicionales a resolver


en Pseudocdigo y en Lenguaje C

PROGRAMA5
intz=4;
voidf1(intx,inty)
{
z=z+x/y;
}
intf2(intx)
{
intw=10;
if(x%2==0)w=w+z;
elsew=(z+10)/3;
returnw;
}
charf3(intx)
{
charm;
m='a'+z+x;
returnm;
}
main()
{
inta,b=15,c=6;
z=z+2;
f1(b,c);
printf("%d\n",z);
a=f2(c)/2;
printf("%d\n",a);
printf("%c",f3(c));
getch();
return0;
}