examen informatica

4
Escuela Politécnica Superior de Algeciras Departamento de Lenguajes y Sistemas Informáticos GITI FUNDAMENTOS DE INFORMÁTICA 13 de septiembre de 2011 Examen final DNI: Titulación: Nombre y apellidos: TEST/CUESTIONARIO DE CONOCIMIENTOS (10%) Cada pregunta bien contestada vale 1 punto. No contestada 0 cero puntos y mal -0.25 puntos. 1. Define qué es un ordenador de von Neumann y describe sus elementos principales. 2. Explica brevemente los conceptos de legibilidad, nivel de un lenguaje y compatibilidad. 3. Explica el proceso de creación y ejecución de un programa. 4. Explica las diferencias fundamentales entre programación estructurada y programación modular. 5. Explica brevemente cómo se obtiene el valor en base b de un número expresado en decimal de un número expresado. Poner algún ejemplo.

description

algoritmico

Transcript of examen informatica

Page 1: examen informatica

Escuela Politécnica Superior de Algeciras

Departamento de Lenguajes y Sistemas

Informáticos

GITI

FUNDAMENTOS DE

INFORMÁTICA

13 de septiembre de 2011 Examen final

DNI: Titulación:

Nombre y apellidos:

TEST/CUESTIONARIO DE CONOCIMIENTOS (10%)

Cada pregunta bien contestada vale 1 punto. No contestada 0 cero puntos y mal -0.25 puntos.

1. Define qué es un ordenador de von Neumann y describe sus elementos principales.

2. Explica brevemente los conceptos de legibilidad, nivel de un lenguaje y compatibilidad.

3. Explica el proceso de creación y ejecución de un programa.

4. Explica las diferencias fundamentales entre programación estructurada y programación modular.

5. Explica brevemente cómo se obtiene el valor en base b de un número expresado en decimal de un número expresado.

Poner algún ejemplo.

Page 2: examen informatica

6. Indica qué afirmación es correcta para una RAM:

__ los datos se almacenan en cualquier fila

__ cada fila es una palabra

__ para leer/grabar un dato es necesario proporcionar una dirección

__ todas son correctas

7. Indica qué afirmación es incorrecta

__ todos los microprocesadores tienen las mismas instrucciones

__ las instrucciones se traducen a binario

__ las instrucciones se cargan en memoria

__ ninguna es incorrecta

8. Indica qué afirmación es correcta

__ los programas se cargan en el segmento de datos

__ el segmento de código lo escoge el programador

__ el sistema operativo selecciona el segmento de datos

__ ninguna es correcta

9. Indica qué afirmación es incorrecta

__ las instrucciones se decodifican en la unidad de control

__ el registro de instrucciones contiene la dirección de la instrucción que se está ejecutando

__ el contador de programa contiene la dirección de la siguiente instrucción a ejecutar

__ no hay ninguna incorrecta

10. Indica qué afirmación es correcta

__ 00011 es un código válido recibido con paridad impar

__ 000111 es un código válido emitido con paridad par

__ todos los códigos emitidos en paridad par deben tener un número par de unos

__ ninguna es correcta

Page 3: examen informatica

Escuela Politécnica Superior de Algeciras Departamento de Lenguajes y Sistemas

Informáticos

GITI

FUNDAMENTOS DE

INFORMÁTICA

13 de septiembre de 2011 Examen final

DNI: Titulación:

Nombre y apellidos:

PROGRAMACIÓN EN LENGUAJE JAVA (5%)

1) Escribe un subprograma que intercambie el contenido de dos variables de tipo entero.

2) Traduce a Java el siguiente algoritmo. definiendo N 100

Acción Principal

Var

vPri, vMul: tabla [N] de entero

n, i, x, mul, vLon: entero

Fvar

Hacer

leer(n)

Mientras n < 1

i:=0

x:=2

Mientras x<=n

Si NO n%x<>0

vPri[i]:=x

vMul[i]:=0

Hacer

vMul[i]:=vMul[i]+1

n:=n/x

Mientras n%x=0

i:=i+1

Fsi

x:=x+1

Fmientras

vLon:=i

Para i:=0 hasta vLon-1

escribir(vPri[i], vMul[i])

Fpara

Facción

3) Sentencia selectiva múltiple. Ejemplo.

4) Operadores para cadenas: concatenación y comparación. Ejemplos.

5) Conversiones explícitas. Ejemplos.

Utiliza esta plantilla para lo que consideres conveniente:

import java.util.*;

import java.io.*;

public class Plantilla {

static final int N = 3;

public static void main(String[] args) {

...

Scanner teclado = new Scanner(System.in);

teclado.useLocale(Locale.US);

...

}

public static Boolean leerSistema(...) {

...

Scanner fEnt=null;

...

try {

fEnt = new Scanner(new BufferedReader(new FileReader(nomfich)));

fEnt.useLocale(Locale.US);

...

} catch (Exception e) {

...

} finally {

if (fEnt != null)

fEnt.close();

...

}

}

public static Boolean escribirResultados(...) {

...

PrintWriter fSal=null;

...

try {

fSal = new PrintWriter(new BufferedWriter(new FileWriter(nomfich)));

...

} catch (Exception e) {

...

} finally {

if (fSal != null)

fSal.close();

...

}

}

...

}

Page 4: examen informatica

Escuela Politécnica Superior de Algeciras

Departamento de Lenguajes y Sistemas Informáticos

GITI

FUNDAMENTOS DE

INFORMÁTICA

13 de septiembre de 2011 Examen final

PROGRAMACIÓN EN LENGUAJE ALGORÍTMICO (75%)

PROBLEMA 1

Diseñar subprogramas para:

1) Dado un vector (V) de números enteros no relleno completamente, en el que se encuentran huecos etiquetados a cero, los elimine creando un nuevo vector W, determinando la lista de casillas en la que se encuentran los huecos.

2) Dado otro vector P inserte sus elementos en los huecos de V creando un nuevo vector Q.

Ejemplo:

V 2 3 4 0 0 1 2 0 0 0 0 9 8 0 0 1 2 3 0

W 2 3 4 1 2 9 8 1 2 3

P 7 6 4 4

Q 2 3 4 7 6 1 2 4 4 0 0 9 8 0 0 1 2 3 0

PROBLEMA 2

Informalmente, un grafo es un conjunto de objetos llamados vértices o nodos unidos por enlaces llamados aristas o arcos,

que permiten representar relaciones binarias entre elementos de un conjunto.

La matriz de adyacencia es una matriz cuadrada que se utiliza como una forma de representar relaciones binarias.

La matriz de adyacencia para el grafo dirigido de la figura

viene dada por:

Realizar un programa que a partir de una matriz de adyacencia determine si existe algún ciclo (sucesión de aristas adyacentes

donde no se recorre dos veces la misma arista y se regresa al punto inicial).

Nota. Realizar un programa completo (acción principal + subprogramas) utilizando el diseño descendente y las

estructuras de datos adecuadas.