M3 - Programació estructurada / Exercicis UF2: Recursivitat bàsics

De wikiserver
Dreceres ràpides: navegació, cerca

Indicar quina serà la sortida dels procediments següents:

1a)

void p1( int a ) {
   if (a>0) {
      System.out.print(a+” “);
      p1(a-1);
   }
   else {
      system.out.print(“final”)
   }
}

1b)

void p1( int a ) {
   if (a>0) {
     System.out.print(a+” “);
     p1(a-1);
   }
   else {
     System.out.print(“final”)
   }
   System.out.print(a+” “);
   System.out.print(”final de veritat “);
}

Quina seria la sortida si executéssim p1(6)?


2a)

void p2( int a , int b) {
   if (a%b!=0) {
      System.out.print(a+” “);
      p2(a+1,b);
   }
   else {
      System.out.print(“final”);
   }
}

2b)

void p2( int a , int b) {
   if (a%b!=0) {
      System.out.print(a+” “);
      p2(a+1,b);
   }
   System.out.print(“final”);
}

Quina seria la sortida si executéssim p2(10,8)?

3)

void p3(int a, int b ){
   if (a > 0){
      p3(a-1,b+a);
   }
   else
   {
      System.out.print(b+” “);
   }
}

Quina seria la sortida si executéssim p3(5,3)?

Quina seria la sortida si eliminéssim el else ( fent sempre el print ) i des del programa principal féssim:

for (int i=1;i<=5;i++){
   System.out.print (“p3 (“+ i+”):”);
   p3 (i,0);
}

4a)

void p4 ( int a) {
   if (a> 0) {
      p4(a-1);
      System.out.print(a+” “);
   }
   else {
      System.out.print(”fi? “);
   }
}

4b)

void p4 ( int a) {
   if (a> 0) {
      p4(a-1);
      System.out.print(a+” “);
   }
   System.out.print(”fi? “);
}

Quina seria la sortida si executéssim p4(5)?

5) void p5( int a ) {

  if (a>0 {
     System.out.print(a+” “);
     a=a-1;
     p5(a);
  }
  System.out.print(a+” “);

}

Quina seria la sortida si executéssim p5(5)?

6) void p6(int a ){

  System.out.print(a+” “);
  for ( int i =a; i>0;i--){
     p6(i-1);
  }

}

Quina seria la sortida si executéssim p6(4)?