OpoTests/Public/md/gemini/007.visual-studio.refuerzo.md
2026-02-28 09:34:33 +01:00

2.6 KiB

EXAME TEMA 1: FUNDAMENTOS DE .NET (Sintaxe, Variables e Estruturas)

Pregunta 1: Sintaxe e Lóxica (Mezclado)

Analiza o seguinte fragmento de pseudocódigo/lóxica e dime se hai algún erro ou como o optimizarías:

"Necesito comprobar unha variable 'idade'. Se é menor de 18, imprimir 'Menor'; se é exactamente 18, imprimir 'Xusto'; e se é maior de 18, imprimir 'Adulto'."

  • ¿Que estrutura de control usarías para que fose o máis eficiente posible (If...Then...Else ou Select Case)? Xustifica a túa resposta.

Resposta

No caso de .Net usaríase o Select Case ou Switch. No caso de F#, a opción ven sendo un match e no caso de C++ non existe esta opción polo que nun nivel óptimo acádase o if else if else.

Public Function idade_rango(ByVal idade as Integer) As String 
    Select Case Idade
        Case Is < 18:
            Return "Menor de idade."
        Case 18:
            Return "Ten 18 anos."
    End Select
    Return "Maior de Idade."
End Function
public string idade_rango(int idade){
    switch(idade){
        case int _ when idade < 18:
            return "Menor de idade.";
        case 18:
            return "Ten 18 anos.";
    }
    return "Maior de Idade."
}
let idade_rango idade:int = match idade with 
    | < 18 -> "Menor de idade."
    | 18 -> "Ten 18 anos."
    | _ -> "Maior de Idade."
string idade_rango(int idade){
    switch(idade){
        case < idade:
            return "Menor de idade.";
        case idade:
            return "Ten 18 anos.";
    }
    return "Maior de Idade";
}

Pregunta 2: Tipos de Datos Específicos (Castellano)

¿Qué diferencia existe entre el tipo de datos Decimal, Double y Single? Si estuvieras desarrollando una aplicación para la gestión económica de la Xunta (contabilidad), ¿cuál de los tres elegirías para manejar importes monetarios y por qué?

Respuesta

  • Decimal: o decimal Es un valor numérico de punto flotante con capacidad a poder desplazar la compa variando la proporción de la mantisa cara su parte entera o decimal. Posee una precisión de 128 bits (16 bytes).
  • Double o double: Es un valor numérico de punto flotante con una precisión de 64 bits (8 bytes).
  • Single o float: Es un valor numérico de punto flotante con una precisión de 32 bits (4 bytes).

Para valores monetarios, siempre Decimal por su capacidad de precisión a 128 Bit, además de poder trabajar con un desplazamiento de la coma sobre su Parseo.

public decimal coger_cantidad(string cantidad){
    return decimal.Parse(cantidad.Replace(",", "."));
}