Solucion-Examen-Inform tica

Anuncio
Examen de Informática: Primer parcial
30-01-2007
Alumno: Solución Profesor
Grupo:
Nota. Responda a las preguntas en el espacio reservado a tal efecto.
1º) Escribir en Vbasic 6.0 el código que calcule la suma de los 100 primeros números
impares, de modo que el resultado se almacene en una variable llamada S100Impares,
que ya está definida. (1 pto)
Dim i As Integer
S100Impares = 0
For i = 0 to 99
S100Impares = S100Impares + (i*2) + 1
Next i
2º) Escribir en Vbasic 6.0 el código que realice la transformación de ángulos de
Centesimal a Radianes. Para ello supondrá que el ángulo objeto de esta transformación
se encuentra almacenado en la variable Azimut y el resultado se almacena sobre la
misma variable que NO hay que definir. (0,5 pto)
Azimut = Azimut * Atn(1) / 50
3º) Disponemos de las coordenadas (X,Y) de 3 puntos que definen un triángulo
cualquiera almacenadas en las variables X1, Y1, X2, Y2, X3, Y3 y se desea calcular la
superficie de dicho triángulo. Escriba el código en Vbasic que desarrolle el cálculo de
dicha superficie, considerando la posibilidad de que el triángulo como tal no exista (los
tres puntos estén alineados en un segmento de recta). (2,5 pto)
Dim a As Double, b As Double, c As Double
a = Sqr ( ( X2 – X1) ^2 + (Y2 – Y1)^2)
b = Sqr ( ( X3 – X2) ^2 + (Y3 – Y2)^2)
c = Sqr ( ( X3 – X1) ^2 + (Y3 – Y1)^2)
Dim sp As Double, sup As Double
sp = ( a + b + c ) / 2
If ( (sp > a ) And (sp > b) And (sp > c) ) Then
sup = Sqr ( (sp * (sp – a) * (sp – b) * (sp – c))
Else
sup = 0
End If
1
4º) Sean A, B y C tres matrices Bidimensionaes de 5*5 elementos todas ellas.
a) Identifique el tipo de tratamiento que realiza el siguiente código. (1 pto)
Dim i As Integer, j As Integer
For i = 0 To 4
For j = 0 To 4
C(i, j) = A(j,i))
Next j
Next i
TRATAMIENTO ....C = Traspuesta de A..............
b) Complete el código proporcionado para que el tratamiento de las matrices
sea C = B – A. (1 pto)
Dim i As Integer, j As Integer
For i = .0.. To ..4...
For j = ..0.. To .4...
C(i, j) = B(i,j) – A(i,j)................
Next j
Next i
c) Complete el siguiente código para que el tratamiento de las matrices
responda a la expresión C = B * A. (1 pto)
Dim i As Integer, j As Integer, k As Integer
For i = ..0.. To .4...
For j = ..0.. To .4...
C(i,j) = …0.
For k = ..0.. To .4....
C(i,j) = C(i,j) + B(i,k) * A(k,j)
Next k
Next j
Next i
5º) Si disponemos de un control de tipo TextBox llamado Text1 en un formulario y se
desea que su valor numérico de tipo real con doble precisión se almacene en la variable
DIST, escriba el código Vbasic que realice la transformación y NO genere errores en su
ejecución. (1 pto)
DIST = Val (Replace(Text1.Text, “,”,”.”))
También es válido
If Text1.Text <> “” Then DIST = Cdb(Text1.Text) Else DIST = 0
2
6º) Escribir el código de un procedimiento que permita transformar de cartesianas a
polares y viceversa, de modo que se adapte a la siguientes estructura y haga uso de una
hipotética función que calcula el Azimut y retorna el resultado en radianes. El
procedimiento operará SOLO con azimutes en radianes. (2 ptos)
Function Azimut (IncX As Double, IncY As Double) As Double
Public Sub RecPol( XX As Double, YY As Double, DD As Double, AAZ As Double,
TRANS As Boolean)
‘ TRANS = True Rectangulares a Polares; TRANS = False Polares a Rect.
If TRANS = True Then
DD = Sqr( XX^2 + YY^2)
AAZ = Azimut(XX, YY)
Else
XX = DD * Sin(AAZ)
YY = DD * Cos(AAZ)
End If
End Sub
3
Descargar