Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Exámenes Programación, Exámenes de Álgebra Lineal

Asignatura: Álgebra lineal y geometría, Profesor: Jose Luis Bernier, Carrera: Física, Universidad: UGR

Tipo: Exámenes

2013/2014

Subido el 11/08/2014

ptorres1
ptorres1 🇪🇸

4.1

(71)

7 documentos

1 / 6

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
1. Realice una función en C++ que reciba un número entero y rellene un vector con aquellos números
primos que lo dividen (factores primos). El fin del vector se indicará copiando un 1 en la posición
siguiente a la del último factor primo encontrado (el “1” no es un número primo).
1.5 puntos
2. Dos números enteros son primos relativos si no tienen factores primos comunes (por ejemplo, 15 y 8
son primos relativos, mientras que 12 y 8 no lo son). Realice una función en C++ que reciba un par
de números enteros e indique si éstos son primos relativos.
2 puntos
3. El teorema de Pascal indica que los números combinatorios cumplen la siguiente relación:
siendo
Realice una función recursiva para calcular los números combinatorios.
1.5 puntos
4. Realice una función en C++ que lea pares de números almacenados en un fichero de texto (dos
números en cada fila) y calcule la suma de los números combinatorios correspondientes a aquellos
pares que sean primos relativos entre sí. La función recibirá como parámetro el nombre del fichero.
1.5 puntos
5. Se tiene una clase llamada cFecha que contiene los atributos públicos dia, mes y anio (enteros).
Defina la clase e implemente los siguientes métodos públicos:
- FormateaFecha(): devolver un string en el formato dd-mm-aa (por ejemplo, “7-2-13”).
- DespliegaFecha(): devolver un string en el formato dd de NombreMes de aaaa (por ejemplo:
“7 de Febrero de 2013”).
- Sobrecarga del operador ++: incrementar en 1 día la fecha, calculando los valores correctos del
dia, mes y anio resultantes. Asuma que no hay años bisiestos.
Nota: asuma que existe una función llamada inttostr () para convertir un número entero en un
string. Sintaxis: cad = inttostr(num)
2 puntos
6. Se tiene una clase denominada cAlumno con los siguientes atributos públicos:
- nombre: cadena de caracteres
- apellido1, apellido2: cadena de caracteres
- NIF: cadena de caracteres
- fecha de nacimiento: cFecha
- calificación: real
Realice una función en C++ que ordene crecientemente según la fecha de nacimiento un vector de
objetos cAlumno.
1.5 puntos
Examen
Programación
7 de Febrero de 2013
CALIFICACIÓN:
Nombre: DNI o pasaporte:
(
n
k
)
=1si k =0o n=k
(
n
k
)
=
(
n1
k1
)
+
(
n1
k
)
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Exámenes Programación y más Exámenes en PDF de Álgebra Lineal solo en Docsity!

1. Realice una función en C++ que reciba un número entero y rellene un vector con aquellos números

primos que lo dividen (factores primos). El fin del vector se indicará copiando un 1 en la posición

siguiente a la del último factor primo encontrado (el “1” no es un número primo).

1.5 puntos

2. Dos números enteros son primos relativos si no tienen factores primos comunes (por ejemplo, 15 y 8

son primos relativos, mientras que 12 y 8 no lo son). Realice una función en C++ que reciba un par

de números enteros e indique si éstos son primos relativos.

2 puntos

3. El teorema de Pascal indica que los números combinatorios cumplen la siguiente relación:

siendo

Realice una función recursiva para calcular los números combinatorios.

1.5 puntos

4. Realice una función en C++ que lea pares de números almacenados en un fichero de texto (dos

números en cada fila) y calcule la suma de los números combinatorios correspondientes a aquellos

pares que sean primos relativos entre sí. La función recibirá como parámetro el nombre del fichero.

1.5 puntos

5. Se tiene una clase llamada cFecha que contiene los atributos públicos dia, mes y anio (enteros).

Defina la clase e implemente los siguientes métodos públicos:

  • FormateaFecha(): devolver un string en el formato dd-mm-aa (por ejemplo, “7-2-13”).
  • DespliegaFecha(): devolver un string en el formato dd de NombreMes de aaaa (por ejemplo:

“7 de Febrero de 2013”).

  • Sobrecarga del operador ++: incrementar en 1 día la fecha, calculando los valores correctos del

dia, mes y anio resultantes. Asuma que no hay años bisiestos.

Nota: asuma que existe una función llamada inttostr () para convertir un número entero en un

string. Sintaxis: cad = inttostr(num)

2 puntos

6. Se tiene una clase denominada cAlumno con los siguientes atributos públicos:

  • nombre: cadena de caracteres
  • apellido1, apellido2: cadena de caracteres
  • NIF: cadena de caracteres
  • fecha de nacimiento: cFecha
  • calificación: real

Realice una función en C++ que ordene crecientemente según la fecha de nacimiento un vector de

objetos cAlumno.

1.5 puntos

Programación

7 de Febrero de 2013

CALIFICACIÓN:

Nombre: DNI o pasaporte:

n

k )

= 1 si k = 0 o n = k

n

k )

=

n − 1

k − 1 )

n − 1

k )

//Ejercicio 1 void FactoresPrimos(int num, int fprimos[]) { int i,j; bool estacontado; //Para controlar no añadir factores repetidos estacontado=false; i=0; //indica la posición donde copiar los primos j=2; //Recorre los valores enteros susceptibles de dividir al número while(num>1) { if(num%j==0) { if(estacontado==false) //Si no se ha añadido aún, se copia en el vector { fprimos[i]=j; i++; estacontado=true; //Para evitar copiarlo de nuevo si repite } num=num/j; } else { j++; //Se prueba con el siguiente número estacontado=false; //Este j aún no se ha copiado al vector } } fprimos[i]=1; //Pongo un 1 al final return; } //Ejercicio 2 bool PrimosRelativos(int n1, int n2) { int primosn1[MAX], primosn2[MAX]; int i,j; bool sonprimosrelativos; FactoresPrimos(n1,primosn1); //Calculo los factopres primos de n FactoresPrimos(n2,primosn2); //y los de n sonprimosrelativos=true; //Inicialmente asumo que lo son i=0; while((primosn1[i]!=1) && (sonprimosrelativos==true)) { j=0; //Busco si elementos del primer vector aparecen en el segundo while((primosn2[j]!=1) && (sonprimosrelativos==true)) { if(primosn1[i]==primosn2[j]) sonprimosrelativos=false; else j++; } i++; } return sonprimosrelativos; Programación

7 de Febrero de 2013

CALIFICACIÓN:

//Ejercicio 5 class cFecha { public: int dia, mes, anio; string FormateaFecha(void); string DespliegaFecha(void); void operator ++(int); } ; string cFecha::FormateaFecha(void) { string cad, aux; aux=inttostr(anio); aux.erase(0,2); cad=inttostr(dia) + "-" + inttostr(mes) + "-" + aux; return cad; } string cFecha::DespliegaFecha(void) { string cad; cad=inttostr(dia) + " de "; if(mes==1) cad=cad+"Enero"; else if(mes==2) cad=cad+"Febrero"; else if(mes==3) cad=cad+"Marzo"; else if(mes==4) cad=cad+"Abril"; else if(mes==5) cad=cad+"Mayo"; else if(mes==6) cad=cad+"Junio"; else if(mes==7) cad=cad+"Julio"; else if(mes==8) cad=cad+"Agosto"; else if(mes==9) cad=cad+"Septiembre"; else if(mes==10) cad=cad+"Octubre"; else if(mes==11) cad=cad+"Noviembre"; else cad=cad+"Diciembre"; cad=cad+" de " + inttostr(anio); return cad; Programación

7 de Febrero de 2013

CALIFICACIÓN:

void cFecha::operator ++ (int) { //Distingo los meses de 31 días, los de 30 y febrero //Meses de 31 días if((mes==1)||(mes==3)||(mes==5)||(mes==7)||(mes==8)||(mes==10)||(mes==12)) { if(dia<31) dia=dia+1; else { dia=1; if(mes!=12) mes=mes+1; else //si sumo 1 al 31 de diciembre cambio de año { mes=1; anio=anio+1; } } } //Meses de 30 días else if((mes==4)||(mes==6)||(mes==9)||(mes==11)) { if(dia<30) dia=dia+1; else { dia=1; mes=mes+1; } } //Febrero else if(mes==2) { if(dia<28) dia=dia+1; else { dia=1; mes=3; } } return; Programación

7 de Febrero de 2013

CALIFICACIÓN: