Discretas 1
Discretas 1
Discretas 1
s1, . . . , sn.
menorSucesion(S,s,n,Peque)
{ peque=S
para s=1 hasta s=n
{
If (Peque>Ss)
{ Peque=Ss
}
}regresa Peque
}
6. Escriba un algoritmo que regrese el valor ms grande y el segundo elemento
ms grande en la sucesin s1, . . . , sn. Suponga que n > 1 y que los valores
de la sucesin son diferentes.
Encuentra_GRANDE_y_segundoGRANDE(s,n,grande,segundo_grande){
if(s1<s2){ grande=s2 segundo_grande=s1
}
Else
{
grande=s1
Segundo_grande=s2
}
For i=3 to n
If(si>Segundo_grande)
If (si>grande)
segundo_grande=grande
grande = si
else
segundo_grande=si
}
7. Escriba un algoritmo que regrese el valor ms pequeo y el segundo
elemento ms pequeo en la sucesin s1, . . . , sn. Suponga que n > 1
y que los valores de la sucesin son diferentes.
Encuentra_MENOR_y_segundoMENOR(s,n,min,segundo_min){
if(s1<s2){ min=s2 segundo_min=s1
}
Else
{
min=s1
Segundo_min=s2
}
For i=3 to n
If(si>Segundo_min)
If (si>grande)
segundo_min=min
min = si
else
segundo_min=si
}
8. Escriba un algoritmo cuya salida sea el valor menor y mayor en la
sucesin s1, . . . , sn.
MAYOR_MENOR(min,max,n,s)
min=s1 max=s1
for i=2 to n{ if
(min >si)
min=si
if (max<si)
max=si
}
Return max,min
}
9. Escriba un algoritmo que regrese el ndice de la primera ocurrencia del
elemento ms grande en la sucesin s, . . . , sn. Ejemplo: Si la sucesin
es : 6.2 8.9 4.2 8.9, el algoritmo regresa el valor 2.
encontrar_grande_elemento(s,n,grande,ndice_grande){
grande=s1 ndice_grande=1
For i =2 to n
If (si>grande)
{ grande=si
indice_grande=i
}
Return ndice_grande
}
10.Escriba un algoritmo que regrese el ndice de la ltima ocurrencia del
elemento ms grande en la sucesin s1, . . . , sn. Ejemplo: Si la
sucesin es: 6.2 8.9 4.2 8.9, el algoritmo regresa el valor 4.
encuentre_elemento(s,n){
grande=s1
ndice_grande=1 for i =2
to n if (si >grande){
grande=si
indice_grande=i }
Return ndice_grande
}
11.Escriba un algoritmo que produzca la suma de la sucesin de nmeros
s1, . . . , sn.
suma_sucesion(s,n,suma)
{ suma=0;
for i =1 to n
suma=si+suma
return suma
}
12.Escriba un algoritmo que regrese el ndice del primer elemento que es
menor que su predecesor en la sucesin s1, . . . , sn. Si s est en orden
no decreciente, el algoritmo regresa el valor 0. Ejemplo: Si la sucesin
es AMY BRUNO ELIE DAN ZEKE, el algoritmo proporciona el valor 4.
encontrar_fuera_de_orden(s,n){ for i =2 to n if (si<si-1) return i
return 0
}
13.Escriba un algoritmo que regrese el ndice del primer elemento que es
menor que su predecesor en la sucesin s1, . . . , sn. Si s est en orden
no decreciente, el algoritmo regresa el valor 0. Ejemplo: Si la sucesin
es AMY BRUNO ELIE DAN ZEKE, el algoritmo proporciona el valor 2.
encontrar_fuera_de_orden2(s,n){ for i =2 to n if (s i > si-1) return i
return 0
}
14.Escriba un algoritmo que invierta la sucesin s1, . . . , sn. Ejemplo: Si
la sucesin es
AMY BRUNO ELIE, la sucesin invertida es ELIE
BRUNO AMY.
encontrar_fuera_de_orden2(s,n){
for i =2 to n if (s i > si-1)
return i
return 0
}
15.Escriba un mtodo estndar para sumar dos enteros decimales positivos,
que se ensea en primaria, como un algoritmo. suma(s,t,u,n){ c=0;
for i = 1 to n { obtenga xy sea la representacion decimal de la
suma c+si+ti
(donde la sucesin de sn,sn-1,s1 y tn,tn-1,t1 son la
representacin decimal de los dos nmeros a ser sumados)
}
16.Escriba un algoritmo que recibe como entrada la matriz A de n n y
produce la transpuesta AT.
Transpuesta_matriz(A,n)
{ for i=1 to n-1 for
j=i+1
to
n
swap(Aij,Aji)
}
17.Escriba un algoritmo que recibe como entrada la matriz de una
relacin R y prueba si R es reflexiva. transpuesta AT.
Transpuesta_matriz(A,n)
{ for i=1 to n-1 for j=i+1
to n swap(Aij,Aji) }
Simtrica(A,n){ for i= 1 to
n-1
for j = i +1
to n if(Aij=Aji)
return false
return true
}
19.Escriba un algoritmo que recibe como entrada la matriz de una
relacin R y prueba si R es transitiva. es_transitiva(A,n){
// primero hacer que B=A2
for i=1 to n
for j=1 to n{
Bij=0
for k= 1 to n
if
es_funcion(A,m,n)
{ for i=1 to m{
sum=0
for j = 1 to n
sum = sum +Aij
if (sum=1)
return false
}
Return true
}
23.Escriba un algoritmo que recibe como entrada las matrices de las
relaciones R1 y R2 y produce como salida la matriz de la composicin R1
R2.
es_funcion(A,m,n)
{ for i=1 to m{
sum=0
for j = 1 to n
sum = sum +Aij
if (sum=1)
return false
}
Return true
}
24.Escriba un algoritmo cuya entrada sea una sucesin s1, . . . , sn y un
valor x. (Suponga que todos los valores son nmeros reales.) El
algoritmo regresa verdadero si Si + Sj =x , para alguna i j, y falso
de otra manera. Ejemplo: Si la sucesin de entrada es
2, 12, 6, 14 y x = 26, el algoritmo regresa verdadero porque 12 + 14
= 26. Si la sucesin de entrada es 2, 12, 6, 14 y x = 4, el algoritmo
regresa falso porque ningn par de trminos distintos en la sucesin
suma 4.
es_funcion(A,m,n)
{ for i=1 to
m{
sum=0
for j = 1 to n
sum = sum +Aij
if (sum=1)
return false
}
Return true
}