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


Matemáticas 01 2017, Exámenes de Matemáticas

Asignatura: Informàtica, Profesor: ricardo ferris, Carrera: Matemàtiques, Universidad: UV

Tipo: Exámenes

2016/2017

Subido el 31/12/2016

carlbleda
carlbleda 🇪🇸

4

(6)

37 documentos

1 / 8

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
GRAU EN MATEMÀTIQUES Dijous 19 de gener de 2017 INFORMÀTICA
CURS 16-17 Examen Final
Cognoms:
Apellidos:
Nom:
Nombre:
1
1.-
1 punt
Avalua pas a pas la següent expressió i esbrina el tipus i valor del resultat:
Evalúa paso a paso la siguiente expresión y averigua el tipo y valor del resultado:
int (1 < 1 + 2 / 3 && 0.25 == 1.0 / 2 * 2) + int (3 / 2 * 2.0 / 4) / 2 * 2
--|-- ---|--- --|--
int (1 < 1 + 0 && 0.25 == 0.5 * 2) + int ( 1 * 2.0 / 4) / 2 * 2
---|--- ----|---- ----|----
int (1 < 1 && 0.25 == 1.0 ) + int ( 2.0 / 4) / 2 * 2
----|--- --------|------- -----|----
int ( false && false ) + int ( 0.5 ) / 2 * 2
-------------|------------ + ----------|----------
int ( false ) + 0 / 2 * 2
---------------------|-------------------- -------|-------
0 + 0 * 2
------|-----
0 + 0
------------------------|-----------------------
0
Valor: 0
Tipo: int
pf3
pf4
pf5
pf8

Vista previa parcial del texto

¡Descarga Matemáticas 01 2017 y más Exámenes en PDF de Matemáticas solo en Docsity!

GRAU EN MATEMÀTIQUES Dijous 19 de gener de 2017 INFORMÀTICA CURS 16-17 Examen Final Cognoms: Apellidos:

Nom: Nombre:

1.- 1 punt

Avalua pas a pas la següent expressió i esbrina el tipus i valor del resultat:

Evalúa paso a paso la siguiente expresión y averigua el tipo y valor del resultado:

int (1 < 1 + 2 / 3 && 0.25 == 1.0 / 2 * 2) + int (3 / 2 * 2.0 / 4) / 2 * 2

int (1 < 1 + 0 && 0.25 == 0.5 * 2) + int ( 1 * 2.0 / 4) / 2 * 2

int (1 < 1 && 0.25 == 1.0 ) + int ( 2.0 / 4) / 2 * 2

int ( false && false ) + int ( 0.5 ) / 2 * 2

int ( false ) + 0 / 2 * 2

Valor: 0

Tipo: int

GRADO EN MATEMÁTICAS Jueves 19 de enero de 2017 INFORMÁTICA CURSO 16-17 Examen Final

2.- 0,8 punts (0'5+0'3)

A partir del següent programa que crea dos fitxers / Dado el siguiente programa que crea dos ficheros

#include #include #include using namespace std; bool EscribeFicheros (string, string); void MuestraFichero (string); int main (void) { if (EscribeFicheros ("fichero1.dat", "fichero2.dat")) MuestraFichero ("fichero2.dat"); else cout << "Imposible crear fichero para escritura"; return 0; }

bool EscribeFicheros (string nom1, string nom2) { ofstream f1, f2; bool ok; int i; f1.open (nom1.c_str (), ios::binary); f2.open (nom2.c_str () ); if (!f1 || !f2) ok = false; else { ok = true; for (i = int ('1'); i < int ('5'); i++) { // El entero asociado a '1' es 49 f1.write ( (char *)(&i), sizeof (i) ); f2 << i << endl; } f1.close (); f2.close (); } return ok; }

void MuestraFichero (string nom) { ifstream f; int x; f.open (nom.c_str (), ios::binary); if (!f) cout << "Imposible abrir fichero.\n"; else { while (f >> x) cout << x << "*"; f.close (); } return; }

Quants bytes ocuparan els

fitxers, si sabem que els enters

ocupen 4 bytes, els caràcters 1

byte, els reals 8 bytes, els

doubles 16 bytes i que els reals

tenen sempre cinc decimals?

¿Cuántos bytes ocuparán los

ficheros, si sabemos que los

enteros ocupan 4 bytes, los

caracteres 1 byte, los reales 8

bytes, los double 16 bytes y que

los reales tienen siempre cinco

decimales?

f1: 4 * sizeof (int)

4 * 4 = 16_bytes

f2: 43sizeof(char)

_12 bytes_________

Què es mostrarà per pantalla?

¿Qué se mostrará por pantalla?

GRADO EN MATEMÁTICAS Jueves 19 de enero de 2017 INFORMÁTICA CURSO 16-17 Examen Final

6.- 1,4 puntos (1,1 + 0,3)

Realitza la traça i indica que es mostra per pantalla: / Realiza la traza e indica que se muestra por pantalla:

#include using namespace std;

int Examen (int &, int &);

int main(void) { int a, b;

(1) a = 1; (2) b = 0; (3) b = Examen (b, a) + a; cout << a << '-' << b << endl; (4) a = b - a; (5) a = Examen (a, b) + b; cout << a << '-' << b << endl;

return 0; }

int Examen (int & b, int & a) { if (b == 0) { (6) b = b + 1; (7) a = a - 2; } else { (8) b = a - b; (9) a = 3; } cout << a << '+' << b << endl;

return a + 1; }

a b

(2) 1 0 a 1 /a b 1 /b

(7) 1 -1^1 -1^1 ->^ cout^ ->^ -1+

(3) -1^ 0-1 =^ -1^ <-^ -1+1^ =^0 -|^ ->^ cout^ ->^ -1--

(4) 0 -1^ a 2 /b b 2 /a

(5) 0 -1^ -1^0

(6) 2 1 -1^ -1^1

(7) 2 1 -3^ -3^1 ->^ cout^ ->^ -3+

(5) -2-3=^ -5^ -3^ <-^ -3+1^ =^ -2^ -|^ ->^ cout^ ->^ -5--

GRAU EN MATEMÀTIQUES Dijous 19 de gener de 2017 INFORMÀTICA CURS 16-17 Examen Final Cognoms: Apellidos:

Nom: Nombre:

7.- 2 punts

Realitza una funció a la qual li passarem una matriu que contingui valors sencers i un valor llindar sencer i

binarizará la matriu rebuda, és a dir posarà a zero tots els valors de la matriu que estiguin per sota del valor llindar i

a un la resta.

Realiza una función a la que le pasaremos una matriz que contenga valores enteros y un valor umbral entero y

binarice la matriz recibida, es decir pondrá a cero todos los valores de la matriz que estén por debajo del valor

umbral y a uno el resto.

Exemple: / Ejemplo:

Si li passem la matriu / Si pasamos la matriz:

| -1 3 2 | | 3 4 -2 |

I el valor llindar 3 / Y el valor umbral 3

Obtenim la matriu: / Obtenemos la matriz:

| 0 1 0 | | 1 1 0 |

const int FIL = 10; const int COL = 10;

typedef float Matriz[fil][col];

void Binarizar (Matriz, int filas, int columnas, int);

void Binarizar (Matriz mat, int filas, int columnas, int umbral) { int i, j;

for (i = 0; i < filas; i++) for (j = 0; j < columnas; j++) if (mat[i][j] < umbral) mat[i][j] = 0; else mat[i][j] = 1;

return; }

GRAU EN MATEMÀTIQUES Dijous 19 de gener de 2017 INFORMÀTICA CURS 16-17 Examen Final Cognoms: Apellidos:

Nom: Nombre:

8.- 2 punts

Donada la següent declaració de tipus que guarda la informació de les pistes d'una estació d'esquí, realitza una funció a la què li passem la informació i un color de pista i emmagatzeme en un fitxer de text anomenat 'pistas.dat' el nom i longitud de totes les pistes de l'estació que siguen d'eixe color. Dada la siguiente declaración de tipo que guarda la información de las pistas de una estación d'esquí, realiza una función a que le pasamos la información y un color de pista y guarde en un fichero de texto llamado 'pistas.dat' el nombre y longitud de todas las pistas de la estación que sean de ese color.

const MAX = 100;

struct Pista { string nom; unsigned short longitud; char color; };

typedef Pista VPistas[MAX]

struct Pistas { VPistas info; int num; }

El prototip de la funció serà el següent, on num és el nombre de pistes que realment té l'estació. El prototipo de la función será el siguiente, donde num es el número de pistas que realmente tiene la estación.

bool Escribir (Pistas, char color);

bool Escribir (Pistas pist, char color) { ofstream f; int i; bool ok;

f.open ("pistas.dat");

if (!f) ok = false; else { ok = true; for (i = 0; i < pist.num; i++) if (pist.info[i].color == color) f << pist.info[i].nom << " " << pist.info[i].longitud << endl;

f.close (); }

return ok; }

GRADO EN MATEMÁTICAS Jueves 19 de enero de 2017 INFORMÁTICA CURSO 16-17 Examen Final