domingo, 21 de agosto de 2016

Práctica 1 - INF 121

Primera práctica en grupo de pseudo-código con programación secuencial
(Tarea en aula del 15/8/16 - INF 121 - Lic Menfy Morales)

Trabajo realizado por:
  • Adriana Lavadenz Maceda
  • Jhaneth Paco Ríos
  • Rubén Velásquez Mamani

Para verlo en PDF hacer click AQUÍ!!!!


1.- Dada una cadena, mostrar la palabra de mayor longitud
Inicio
            String cad, p1, p2;
int l, l1, l2, i, i1, i2;
i ← 0;
l1 ←0;
p1 ←””;
read(cad);
l ←cad.length();
cad ←cad+” ”;
while(i<l) {
i1 ←I;
while (cad[i] ! ←  “ “)  { i++;}
p2 ←cad.substring(i1, i-i1-1);
l2 ←p2.length();
if(l2>l1) then {   l1 ←l2;
                               p1 ←p2;}
i++;}
                print(p1);
Fin




2. Dada una cadena, contar las vocales que más se repiten.
Inicio
print(“ingrese una oración: ”);
String or;
read (or);           
Int a10, e10, i10, o10, u10;
voc[6][6];
Int may10, may20, c0, c10, y;
yor.length();
for(j0; j<y; j++)
                   {String lor.substring(j, j+1);
                   Switch(l)
                               {
                               Case “a”:
                               voc[1][1]a1++;
                               voc[1][2]97;
                               break;
                               case”e”:
                               voc[2][1]e1++;
                               voc[2][2]101;
                               break;
                               case”i”:
                               voc[3][1]i++;
                               voc[3][2]105;
                               break;
                               case “o”:
                               voc[4][1]0++;
                               voc[4][2]111;
                               break;
                               case “u”:
voc[5][1] ← u1++;
voc[5][2] ←  ← 117;
break;
default:
break;
}
                   }
for(i ← 0; i<5; i++)
       {If(voc[i][1] > may1)
            then  {may1 ← voc[i][1];
c ← i;     }
            else   {If(voc[i][1]>may2)
                            then { may2 ← voc[i][1];
                                      c1 ← i;  } } }
Print(“las vocales que se repitan más son:\n”+(char)voc[c][2]+”con la total:”+may1+”vocales\n”+(char)voc[c1][2]+”con un total de:”+may2+”vocales”);
Fin


3. Dada una cadena, buscar la palabra x.

Inicio
print(“ingresa una oración y una palabra buscar dentro de una oración”);
String  or, x1, x;
String p ← ””;
read(or);
read(x1);
Int y ← or.length();
for(i ← 0; i<y; i++)
{
x ← or.substring(i;i+1);
p ← p+x
if(x.equals(“ ”))  
            then {If(p.equals(x1))                              
                          then {Print(“la palabra buscada es :”+p);  }
                                }
}
Fin





4. Dada una cadena, eliminar la palabra x.
Inicio
                Print (“ingrese una oración y la palabra que desea eliminar”);
String or, x1;
String p ← ” ”;
String p2 ← ” “;
read(or);
read(x1);
or ← or+” ”;
x1 ← x1 ← ” “;
for(i ← 0;i<or.length;i++)
{
String x ← or.Subtring(i;i+1);
p ← p+x;
If(x.equals(“ “))  then{Print(p);
          If(p.equals(x1)) then {  P ← ” ”; }
          else{     P2 ← p2+p;}
P ← ” ”;}
}
Print(“la  nueva oración es :”+p2);
Fin




5. Dada una cadena, insertar la palabra x en la posición y.
Inicio
print (“ingrese una oración ,la palabra que desea cambiar ya la nueva palabra”);
String or, p1, p2, x;
read (or);
read (p1);
read(p2);
String p ← ” “;
nor ← ” “;
or ← or+” “;
p1 ← p1+” “;
p2 ← p2+” “;
for(i ← 0;i<or.length();i++)
{
x ← or.substring(i.i+1);
p ← p+x;
if(x.equals(“ “))
        then {If(p.equals(p1)
               then  {P ← p2;
                         nor ← nor+p;
                         p ← ””; }
               Else       {nor ← nor+p;
               p ← ””;}
                }
}             
print(“la oración será: ”+nor);
Fin



6.- Dada una cadena, invertir la palabra x.
Inicio
                String a, b, x, a1, b1;
int I, l, lx, ia, ix;
i ← 0;
read(a);
read(x);

l ←a.length();
lx ←x.length();
a ←a+” ”;
ia ←I;
a1 ←””;
for(ix ←0; ix<lx; ix++)
                b1 ← b1+x[lx-ix-1];
while(a1 ! ←  x){
ia ←i;
while (a[i] ! ←  “ “)   { i++;}
a1 ←a.substring(ia, i-ia-1);
i++;}
                b ←a.substring(0,ia) + b1 + a.substring(ia+lx);
                print(b);
Fin




7. Dada una matriz a(n, m), insertar elementos pares por delante impares por atrás.
Inicio
mat [10][10];
read(n);
Int a ← 1, b ← 0, c ← n, d ← n+1;
Print(“ingrese los valores de la matriz”);
for(j ← 0; j<n; j++)
{
read(nr);
If(nr%2 ← 0)
      Then {b++;
                 if(b ← 4) then {a++;
                                          b ← 1;}
                 mat[a][b] ← nr;  }
      else  {d--;
                if(d ← 0) then    {c--;
         d ← n;}
mat[c][d] ← nr; } } }
for(i ← 1;i<n+1;i++)
{
for(j ← 1;j<n+1;j++)
{  print(mat[i][j]+” ”); }
print(“\n”);        }
Fin




8. Dada una matriz a(n, m), generar la triangular superior con múltiplos de x.
Inicio
mat[20][20];
Int k ← 0,j1 ← 1;
print(“ingrese el tamaño de la matriz”);
read(n);
read(x);
Int j ← 1;
for(i ← 1;i<n+1;i++)
{
for(j ← j1;j<n+1;j++)
{k++;
mat[i][j] ← k*x;              }
J1++;     }
for(i ← 1;i<n+1;i++)
{
for(l ← 1;l<n+1;l++)
{             
print(mat[i][l]+” ”);  }
print(“\n”); }
Fin




10. Dada una matriz a(n, m), generar la matriz caracol con números primos.

Inicio
int n, fi, co, ifi, ico, pri, i, afi, aco;
                int a[100][100];
                read(n);
                n ←n-1;
pri ←2;
fi ← n;
co ←n;
ifi ←0;
ico ←0;
afi ←1;
aco ←0;
for(i ←0; i<= n/2; i++)
{
While(ico<co)
     { a[ico][ifi] ←pri;
        pri ←primo(pri);
        ico++; }
While(ifi<fi)
     { a[ico][ifi] ←pri;
        pri ←primo(pri);
        ifi++; }
While(ico>aco)
     { a[ico][ifi] ←pri;
        pri ←primo(pri);
        ico--; }
While(ifi>afi)
     { a[ico][ifi] ←pri;
        pri ←primo(pri); 
        fi--;  }
                               afi++; aco++; fi- -; co--; }
for(k ← 0; k<=n; k++)
{  for(j ← 0; j<=n; j++)
        { print(mat[j][k]+” ”); }
    print(“\n”);  }

Fin

Function primo (int pri) {
         Int d, sw;
         sw ←0;
        while (sw==0)
                   {d ←2;
                      pri++;
                      while(pri/2>=d && sw==0)
                               {if (pri%d==0)   then{sw ← 1;}
                                                            Else{d++;}   }
                      If (sw==1) then {sw ← 0;}
                      Else  {sw ← 1;}  }
           Return(pri);  }
11. Dado un arreglo a(n, m, k), mostrar el elemento mayor de la matriz en profundidad x.

Inicio
mat[5][10][10];
print (“ingrese el tamaño de la matriz de profundidad”);
read(n,p);
print (“ingrese los valores de la matriz”);
for(i ← 1;i<p+1;i++)
       {for(j ← 1;j<n+1;j++)
               {for(k ← 1;k<n+1;k++)
                       {read(mat[i][j][k]); }
        }
}
print(“ingrese la profundidad donde encontrar la mayor”);
read(p1);
Int may  ← 0;
for(j ← 1;j<p+1;j++)
       {for(k ← 1;k<n+1;k++)
              {If(mat[p1][j][k]>may)  then 
       {may ← mat[p1][j][k];  
}
}
print(“El  número mayor en la profundidad:”+p1+”es”+may);

Fin


Para verlo en PDF hacer click AQUÍ!!!!

No hay comentarios:

Publicar un comentario