next up previous


Informática. Exame de Teoría.
Febreiro, 2006


Nome:


1 2 3 4 5   6 7 8 9 10 T
                       

PRIMEIRO PARCIAL:

  1. (2 PUNTOS) Escribi-las sentencias en Fortran necesarias para chamar a unha función f pasándolle como argumento o nome doutra función g.

  2. (2 PUNTOS) Escribi-las sentencias en Fortran que permitan: a) abrir un arquivo xa existente (debe producir un erro se o arquivo non existe); b) Ler liñas dende este arquivo, ata atopa-lo final do arquivo. Cada liña debe conter un enteiro de 4 cifras, un real con 3 decimais, un real en forma exponencial con 4 decimais e unha cadea de caracteres.

  3. (3 PUNTOS) Escribi-lo diagrama de fluxo dun algoritmo que lea por teclado un vector $ \bf x$ = (x1,..., xn) e calcule o vector transformado $ \bf y$ = (y1,..., yn), donde yk ( k = 1,..., n) está dado por:

    yk = $\displaystyle \left\{\vphantom{ \begin{array}{ll}
\displaystyle \sum_{i = 1}^k ...
...\
\displaystyle \sum_{i = k}^n x_i & \textrm{$k$\ impar}
\end{array} }\right.$$\displaystyle \begin{array}{ll}
\displaystyle \sum_{i = 1}^k x_i & \textrm{$k$\ par} \\
\displaystyle \sum_{i = k}^n x_i & \textrm{$k$\ impar}
\end{array}$

  4. (1 PUNTO) Escribir unha estrutura de control en Fortran que avalíe o valor dunha variábel enteira e imprima por pantalla grande se o seu valor é meirande ca 100, mediano se está entre 10 e 100, e pequeno se o seu valor é inferior a 10. Non usar sentencias anidadas.

  5. (2 PUNTOS) Escribir unha subrutina en Fortran que, a partir dunha matriz real cadrada de orde n e dous valores enteiros 1 $ \leq$ i, j $ \leq$ n, proporcione como resultado a suma dos elementos da fila i e da columna j da matriz. Indica-lo tipo dos argumentos da subrutina.

    SEGUNDO PARCIAL:

  6. (2 PUNTOS) Explica qué fan as seguintes sentencias en pseudocódigo. Qué algoritmo implementa este pseudocódigo?
    algoritmo xxx
    dende i = 1 ata n - 1
      aux = x(i)
      k = i
      dende j = i + 1 ata n
        se x(j) < aux
          aux = x(j)
          k = j
        fin_se
      fin_dende
      x(k) = x(i)
      x(i) = aux
    fin_dende
    fin
    

  7. (2 PUNTOS) Escribi-los comandos de Matlab necesarios para representar gráficamente no intervalo x, y $ \in$ [- 5, 5] a función:

    f (x, y) = exp$\displaystyle \left[\vphantom{ \frac {- (x^2 + y^2)} {4} }\right.$$\displaystyle {\frac{{- (x^2 + y^2)}}{{4}}}$$\displaystyle \left.\vphantom{ \frac {- (x^2 + y^2)} {4} }\right]$ (1)

  8. (1 PUNTO) Dada unha matriz $ \bf A$ cadrada de orde 5, escribi-los comandos de Matlab que: a) selecciona a submatriz de $ \bf A$ coas filas 2-3 e as columnas 1-3. b) Amplia-la matriz engadíndolle unha fila ao comezo da matriz.

  9. (2 PUNTO) Escribe unha función en Fortran 90 que reciba como argumentos un punteiro p ao primeiro nodo dunha lista enlazada de enteiros e un enteiro x. A función debe busca-lo enteiro x na lista, e retornar un punteiro ao nodo no que se atopa dito enteiro, ou un punteiro nulo se non o atopa.

  10. (3 PUNTO) Supoñamos que queremos borra-lo nodo apuntado por q na seguinte lista dobremente enlazada:

    \includegraphics[width=10cm]{figura.eps}

    Escribi-las sentencias (en pseudocódigo) necesarias para borra-lo nodo e axusta-los punteiros dos elementos da lista para que quede correctamente. NOTA: non temos que busca-lo nodo a borrar: supoñemos que o punteiro q xa apunta ao nodo que queremos borrar.


next up previous
© 2006, Dr. Manuel Fernández Delgado, Universidade de Santiago de Compostela, Departamento de Electrónica e Computación