next up previous


Informática I

Convocatoria de Setembro. 2001

Exame práctico



Consideremos unha placa cuadrada, que modelaremos como unha matriz (10x10) de temperaturas (números reais). O elemento Aij da matriz representa a temperatura (en ^oC) no punto de coordenadas (i, j) na placa. No seu estado inicial, a temperatura da placa é a seguinte:


Table: Estado inicial da matriz de temperaturas.
T 0 0 0 0 0 0 0 0 0
0 T 0 0 0 0 0 0 0 0
0 0 T 0 0 0 0 0 0 0
0 0 0 T 0 0 0 0 0 0
0 0 0 0 T 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0


Isto é: a temperatura é T (un valor en ^oC que debe ser introducido polo usuario) nos 5 elementos esquerdos da diagonal, e 0 ^oC nos restantes elementos. Tódolos valores en negrita (estos 5 elementos esquerdos da diagonal e os da fila inferior) son constantes en todo momento.

O programa debe simular a evolución térmica da placa. Para esto, utilizarase a matriz anterior e, partindo deste estado inicial, calcularanse os seus elementos nunha sucesión de iteracións. En cada iteración, o elemento (i, j) novo é o promedio dos elementos que o rodean e del mesmo. A excepción son os elementos constantes (en negrita na tabla [*]). O programa debe mostrar a matriz despois de cada iteración, esperar pola pulsación dunha tecla e pasar á seguinte iteración. O proceso iterativo debe ser detido cando ningún elemento varía en mais de $ \epsilon$ = 0.01 (chegouse ó equilibrio térmico). Neste punto, o programa deberá almacenar a matriz resultante no ficheiro ``matriz.dat''.



NOTA: Valorarase o deseño modular (uso de funcións ou subrutinas).

ADVERTENCIA: Incluir como comentario, nas primeiras liñas do programa, o voso nome completo e o grupo (A ou B)


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