Tema 7

 

 

 


Tenemos definidos los siguientes tipos:
  typedef char Cadena[256]; 
  typedef struct {     
Cadena nombre;    
int edad;     
float peso;
} Persona;


typedef Persona ListaPersona[100];
El prototipo de una función tal que dada una cadena de caracteres s y un array ListaPersona devuelva la posición del array en la que se encuentra la persona cuyo nombre sea s (Hay más de una respuesta correcta):

void funcion(ListaPersona, int, Cadena, int *);

void funcion(ListaPersona , int, Cadena *, int *);

void funcion(ListaPersona *, int, Cadena, int);

int funcion(ListaPersona, int, Cadena *);

int funcion(ListaPersona, int, Cadena);




Tenemos definidos los siguientes tipos:
  typedef char Cadena[256]; 
  typedef struct {     
Cadena nombre;    
int edad;     
float peso;
} Persona;


typedef Persona ListaPersona[100];
y las variables
  int n;
Persona per;
ListaPersona lis;
El prototipo de una función tal que dado un entero n y un array ListaPersona devuelva otro array con las personas con edad mayor que n podría ser (Hay más de una respuesta correcta):

int funcion(ListaPersona, int, int, ListaPersona *, int *);

void funcion(ListaPersona, int, ListaPersona, int *);

int funcion(ListaPersona, int, int, ListaPersona);

void funcion(ListaPersona , int, ListaPersona);

void funcion(ListaPersona, int, int, ListaPersona, int *);




Tenemos definidos los siguientes tipos:
  typedef char Cadena[256]; 
  typedef struct {     
Cadena nombre;    
int edad;     
float peso;
} Persona;


typedef Persona ListaPersona[100];
Si una función debe cambiar el nombre de una Persona, entonces en su cabecera se pone un argumento Persona *p. Por tanto, en el código de la función se debe escribir la sentencia:

p->nombre=s;

strcpy((*p).nombre,s);

p.nombre=s;

strcpy((p->nombre,s);

strcpy(p.nombre,s);




Tenemos definidos los siguientes tipos:
  typedef char Cadena[256]; 
  typedef struct {     
Cadena nombre;    
int edad;     
float peso;
} Persona;


typedef Persona ListaPersona[100];
y las variables
  int n;
Persona per;
ListaPersona lis;
La condición lógica que devuelve cierto si las dos primeras posiciones de lis tienen el mismo nombre podría ser:

strcmp(lis[0]->nombre,lis[1]->nombre)!=0

strcmp(lis[0]->nombre,lis[1]->nombre)==0

strcmp(lis[0].nombre,lis[1].nombre)!=0

strcmp(lis[0].nombre,lis[1].nombre)==0

strcmp(lis[0].nombre,lis[1].nombre)>0




Tenemos definidos los siguientes tipos:
  typedef char Cadena[256]; 
  typedef struct {     
Cadena nombre;    
int edad;     
float peso;
} Persona;
En el cuerpo de una función se quieren leer los campos de un struct de tipo Persona. Por tanto, se debe pasar como argumento de entrada/salida un tipo Persona. Para ello en la cabecera se define Persona *p. Entonces, para leer la edad se escribiría (Puede haber más de una respuesta correcta):

scanf(“%d”,*p.edad));

scanf(“%d”,&((*p).edad));

scanf(“%d”,&(p->edad));

scanf(“%d”,&(p.edad));

scanf(“%d”,&p.edad);




Tenemos definidos los siguientes tipos:
  typedef char Cadena[256]; 
  typedef struct {     
Cadena nombre;    
int edad;     
float peso;
} Persona;


typedef Persona ListaPersona[100];
y las variables
  int n;
Persona per;
ListaPersona lis;
Para escribir en pantalla la inicial (primer carácter) del nombre de la persona que ocupa la primera posición de lis pondremos:

printf(“%c”,lis[0].Cadena[0]);

printf(“%s”,lis[0].nombre[0]);

printf(“%c”,lis[0].nombre);

printf(“%c”,lis[0].nombre[0]);

printf(“%c”,lis[0]->nombre[0]);




Tenemos definidos los siguientes tipos:
  typedef char Cadena[256]; 
  typedef struct {     
Cadena nombre;    
int edad;     
float peso;
} Persona;


typedef Persona ListaPersona[100];
¿Cuáles son prototipos válidos de una función para que devuelva la persona de mayor edad de una ListaPersona?

void funcion(Persona, ListaPersona, int);

void funcion(Persona *, ListaPersona *, int);

Persona funcion(ListaPersona, int);

void funcion(Persona *, ListaPersona, int);

void funcion(Persona *, ListaPersona);




Tenemos definidos los siguientes tipos:
  typedef char Cadena[256]; 
  typedef struct {     
Cadena nombre;    
int edad;     
float peso;
} Persona;


typedef Persona ListaPersona[100];
y las variables
  int n;
Persona per;
ListaPersona lis;
¿Cuáles de las siguientes invocaciones son válidas para una función que devuelva la Persona de mayor edad de lis?

per=funcion(lis,n);

funcion(&per,lis,n);

*per=funcion(lis,n);

funcion(per,lis,n);

funcion(*per,lis,n);




Tenemos definidos los siguientes tipos:
  typedef char Cadena[256]; 
  typedef struct { 
        Cadena nombre;  
        int edad; 
        float peso; } Persona; 
  typedef Persona ListaPersona[100]; 
Queremos que una función devuelva un tipo Persona con la persona de mayor edad de lis. Para ello, definimos la cabecera de la función

void PersonaMayorEdad(ListaPersona lis, int nump, Persona *p)
Entonces ¿Cuál de las siguientes sentencias estaría en el cuerpo de la función?

*p=lis;

*p=lis[i];

lis[i]=p;

p=lis;

p=lis[i];




Tenemos definidos los siguientes tipos:
  typedef char Cadena[256]; 
  typedef struct {     
Cadena nombre;    
int edad;     
float peso;
} Persona;


typedef Persona ListaPersona[100];
El prototipo de una función que incremente la edad de una persona en un número determinado de años y cambia su peso, aumentándolo en una cantidad es:

int funcion(Persona, float);

void funcion(Persona *, int *, float *);

void funcion(Persona *, int, float);

float funcion(Persona, int);

void funcion(Persona, int, float);




Tenemos definidos los siguientes tipos:
  typedef char Cadena[256]; 
  typedef struct {     
Cadena nombre;    
int edad;     
float peso;
} Persona;


typedef Persona ListaPersona[100];
y las variables
  int n;
Persona per;
ListaPersona lis;
Para incrementar en uno la edad del tercer elemento de lis en uno se debe poner:

*lis[2].edad++;

lis.edad++;

lis[2].edad++;

lis[2]->edad++;

lis.edad[2]++;




Tenemos definidos los siguientes tipos:
  typedef char Cadena[256]; 
  typedef struct {     
Cadena nombre;    
int edad;     
float peso;
} Persona;


typedef Persona ListaPersona[100];
El prototipo de una función que incremente el peso de todas las personas de un array de Persona en una cantidad determinada puede ser:

void funcion(ListaPersona , int, float *);

void funcion(ListaPersona, int, float);

void funcion(ListaPersona *, int, float *);

void funcion(ListaPersona &, int, float);

void funcion(ListaPersona *, int, float);




Tenemos definidos los siguientes tipos:
  typedef char Cadena[256]; 
  typedef struct {     
Cadena nombre;    
int edad;     
float peso;
} Persona;


typedef Persona ListaPersona[100];
Si una función debe incrementar la edad de una Persona en uno, entonces en su cabecera se pone un argumento Persona *p. Por tanto, en el código de la función se debe escribir la sentencia (hay más de una correcta):

p.edad++;

p->edad++;

(*p).edad++;

*p->edad++;

(&p).edad++;




Tenemos definidos los siguientes tipos:
  typedef char Cadena[256]; 
  typedef struct {     
Cadena nombre;    
int edad;     
float peso;
} Persona;


typedef Persona ListaPersona[100];
y las variables
  int n;
Persona per;
ListaPersona lis;
La invocación de una función que devuelva la persona de mayor peso de un array ListaPersona es (Podría haber más de una respuesta correcta):

funcion(lis, n, &per);

funcion(lis,n,*per);

funcion(lis,&n,&per);

per=funcion(lis,20);

funcion(lis,n,per) ;




Para definir un tipo struct denominado Persona para los guardar los datos nombre, edad y peso de una persona, escribiríamos:

 typedef   {
     nombre;
     ;
     peso;
} ;




Tenemos definidos los siguientes tipos:
  typedef char Cadena[256]; 
  typedef struct {     
Cadena nombre;    
int edad;     
float peso;
} Persona;
Queremos implementar una función que incremente en uno la edad de una persona. Entonces su código es

 void incrementaEdad( p){
      ;
}




Tenemos definidos los siguientes tipos:
  typedef char Cadena[256]; 
  typedef struct {     
Cadena nombre;    
int edad;     
float peso;
} Persona;


typedef Persona ListaPersona[100];
La función que aumenta el peso de todas las personas de un array ListaPersona en una cantidad dada es:

 void aumentoPeso( lis, int n,  ){

     for(i=0;i<n;i++){
          =+aumento;
     }
}




Tenemos definidos los siguientes tipos:
   typedef char Cadena[256]; 
   typedef struct {     
Cadena nombre;    
int edad;     
float peso;
} Persona;


typedef Persona ListaPersona[100];
Entonces una función tal que dado una ListaPersona devuelve la persona de mayor edad es:
   personaMayorEdad(const  lis, int n){        
Persona mayor;  
int maxedad;     
int i;       

=lis[0];
=lis[0].;
for(i=0;i<n;i++){
if (>){
mayor=;

 maxedad=;
}
}
return mayor;
}




T7.19 -  Tenemos definidos los siguientes tipos:
typedef char Cadena[256]; 
typedef struct {     
Cadena nombre;    
int edad;     
float peso;
} Persona;


typedef Persona ListaPersona[100];
 La función tal que dado una ListaPersona y un número entero m devuelve el número de personas cuya edad es mayor de m es:

 cuentaMayor(const  lis, int n,   m){
     int cont;

for(i=0;i<n;i++){
if ( > ){
;
}
}
;
}




T7.20 -  Tenemos definidos los siguientes tipos:
typedef char Cadena[256]; 
typedef struct {     
Cadena nombre;    
int edad;     
float peso;
} Persona;


typedef Persona ListaPersona[100];

La función tal que dado una ListaPersona y una edad mínima m, devuelve otra ListaPersona con las personas de edad mayor que m es:

 filtraEdad(const  lis, int n, int m,  lisfil){
    int i, numfil;
 
    for(i=0;i<n;i++){
        if (>m){
             =;
             ;
        }
   }
   return ;
        





Puntuacion Total

Aciertos

Aciertos Parciales

No hay comentarios:

Publicar un comentario