> For the complete documentation index, see [llms.txt](https://educacion.gitbook.io/programacion/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://educacion.gitbook.io/programacion/ud1-introduccion-a-programacion/introducion-a-programacion/representacion-de-algorimtos/pseudocodigo/pseint/solucions-exercicios-condicionais.md).

# Solucions exercicios condicionais

1. Escribe un programa que lle pida ao usuario un número por pantalla e que devolva as mensaxes "O número é par" ou "O número é impar" en función de se o número é par ou non

```
Proceso NumeroParOuImpar
    Definir num Como Entero;
	
    Escribir "Introduce un número enteiro: ";
    Leer num;
	
    Si num % 2 == 0 Entonces
        Escribir "O número é par";
    SiNo
        Escribir "O número é impar";
    FinSi
FinProceso
```

2. Escribe un programa que lle pida ao usuario un numero e que devolva se é múltiplo ou non de 10.

```
Proceso NumeroParOuImpar
    Definir num Como Entero;
	
    Escribir "Introduce un número enteiro: ";
    Leer num;
	
    Si num % 10 == 0 Entonces
        Escribir "O número é múltiplo de 10";
    SiNo
        Escribir "O número non é múltiplo de 10";
    FinSi
FinProceso
```

3. Escribe un programa que lle pida ao usuario por pantalla dous números , A e B, e as mensaxes "O numero A é maior que o número B", "O numero B é maior que o numero A" ou "Os números son iguais" en función da relación entre os números.

```
Proceso CompararNumeros
    Definir A, B Como Entero;
	
    Escribir "Introduce o número A:"; 
    Leer A; 
	
    Escribir "Introduce o número B:"; 
    Leer B; 
	
    Si A > B Entonces
        Escribir "O número A é maior que o número B";
    SiNo
        Si B > A Entonces
            Escribir "O número B é maior que o número A";
        SiNo
            Escribir "Os números son iguais";
        FinSi;
    FinSi;
FinProceso

```

4. Escribe un programa que pida un número por pantalla e indique si o numero introducido é positivo, cero ou negativo

```
Proceso ClasificarNumero
    Definir num Como Entero;
	
    Escribir "Introduce un número:"; 
    Leer num; 
	
    Si num > 0 Entonces
        Escribir "O número é positivo";
    SiNo
        Si num = 0 Entonces
            Escribir "O número é cero";
        SiNo
            Escribir "O número é negativo";
        FinSi;
    FinSi;
FinProceso
```

5. Escribe un programa que pida por pantalla a data de nacemento e un prezo. O programa debe de calcular o prezo final de venta ao usuario en función da súa idade:
   1. Os menores de 18 anos teñen un 20% de desconto
   2. Os menores de 30 anos teñen un 10% de desconto
   3. As persoas de 30 ou maiores no teñen ningún desconto

```
Proceso PrezoFinalPorIdade
    Definir anoNacemento, anoActual, idade Como Entero;
    Definir prezo, prezoFinal Como Real;
	
    Escribir "Introduce o teu ano de nacemento:"; 
    Leer anoNacemento; 
	
    Escribir "Introduce o ano actual:"; 
    Leer anoActual; 
	
    Escribir "Introduce o prezo do produto:"; 
    Leer prezo; 
	
    idade <- anoActual - anoNacemento; 
	
    Si idade < 18 Entonces
        prezoFinal <- prezo * 0.80; 
        Escribir "Tes ", idade, " anos. Aplicaselle un desconto do 20%. Prezo final: ", prezoFinal; 
    SiNo
        Si idade < 30 Entonces
            prezoFinal <- prezo * 0.90; 
            Escribir "Tes ", idade, " anos. Aplicaselle un desconto do 10%. Prezo final: ", prezoFinal; 
        SiNo
            prezoFinal <- prezo; 
            Escribir "Tes ", idade, " anos. Non tes desconto. Prezo final: ", prezoFinal; 
        FinSi;
    FinSi;
FinProceso
```

6. Escribe un programa calcule a nota de un estúdiante en función do seguinte:
   1. Os alumnos en modalidade extraordinaria, unicamente realizarán unha proba escrita, e a súa nota final será a de esta proba.
   2. Os alumnos en modalidade ordinaria, entregaran unha practica e realizarán una proba escrita. A nota final destes alumnos calcularase como nota = 0.3\*practica + 0.7\*exame

O programa debe de pedir unicamente os datos necesarios en cada caso

```
Proceso NotaFinalEstudant
    Definir modalidade Como Caracter;
    Definir practica, exame, notaFinal Como Real;
    Escribir "Introduce a modalidade do estudante: Ordinaria [O] / Extraordinaria [E]:"; 
    Leer modalidade; 
    Si modalidade <> 'E' Y modalidade <> 'O' Entonces
		Escribir "A modalidade introducida non é válida.";
	SiNo 
		Escribir "Introduce a nota do exame: ";
		Leer exame;
		Si modalidade = 'E' Entonces
			notaFinal <- exame; 
			Escribir "A nota final do estudante é: ", notaFinal; 
		SiNo Si modalidade = 'O' Entonces
				Escribir "Introduce a nota da práctica:"; 
				Leer practica; 
				notaFinal <- 0.3 * practica + 0.7 * exame; 
			FinSi;
		FinSi;
		ESCRIBIR "A nota final é:", notaFinal;
	FinSi;
FinProceso
```

7. Escribe un programa que reciba un número entre 0 y 999 y devolva o número de cifras que que ten.

```
Proceso NumeroDeCifras
    Definir num, cifras Como Entero;
    Escribir "Introduce un número entre 0 e 999:"; 
    Leer num; 
    Si num >= 0 Y num <= 9 Entonces
        cifras <- 1; 
    SiNo
        Si num >= 10 Y num <= 99 Entonces
            cifras <- 2; 
        SiNo
            Si num >= 100 Y num <= 999 Entonces
                cifras <- 3; 
            SiNo
                cifras <- 0; 
            FinSi;
        FinSi;
    FinSi;
	
    Si cifras > 0 Entonces
        Escribir "O número ten ", cifras, " cifras."; 
    SiNo
        Escribir "Erro: o número está fóra do rango permitido (0-999)."; 
    FinSi;
FinProceso
```

8. Escribe un programa que reciba un ano é determine si é ou non bisesto. Un ano é bisesto si cumple alguna das duas seguintes propiedades:
   1. É divisible entre 4 pero non entre 100
   2. É divisible entre 400

```
Proceso AnoBisesto
    Definir ano Como Entero;
	
    Escribir "Introduce un ano:"; 
    Leer ano; 
	
    Si (ano % 4 = 0 Y ano % 100 <> 0) O (ano % 400 = 0) Entonces
        Escribir "O ano ", ano, " é bisesto"; 
    SiNo
        Escribir "O ano ", ano, " non é bisesto"; 
    FinSi;
FinProceso
```

9. Escribe un programa que reciba unha nota como valor enteiro, e devolva a súa calificación:

<table><thead><tr><th valign="top">Nota</th><th valign="top">Calificación</th></tr></thead><tbody><tr><td valign="top">9 -10</td><td valign="top">“Sobresaínte”</td></tr><tr><td valign="top">7- 8</td><td valign="top">“Notable”</td></tr><tr><td valign="top">5 - 6</td><td valign="top">“Aprobado”</td></tr><tr><td valign="top">0 - 4</td><td valign="top">“Suspenso”</td></tr></tbody></table>

```
Proceso CalificacionNota
    Definir nota Como Entero;
	
    Escribir "Introduce a nota (0-10):"; 
    Leer nota; 
	
    Si nota < 0 O nota > 10 Entonces
        Escribir "Erro: a nota debe estar entre 0 e 10"; 
    SiNo
        Si nota < 5 Entonces
            Escribir "Suspenso"; 
        SiNo
            Si nota < 7 Entonces
                Escribir "Aprobado"; 
            SiNo
                Si nota < 9 Entonces
                    Escribir "Notable"; 
                SiNo
                    Escribir "Sobresaínte"; 
                FinSi;
            FinSi;
        FinSi;
    FinSi;
FinProceso
```

10. Escribe un programa que simule un caixeiro automatico, que parte cun saldo de 1000 euros. O caixeiro vai propoñer o seguinte menú de opcions:
    1. Ingresar diñeiro: Solicita unha cantidade a ingresar, incrementa o saldo, e mostra o saldo total
    2. Retirar diñeiro: Solicita unha cantidad a retirira, decrementa o saldo, e mostra o saldo total. A conta poderá ficar cun saldo negativo
    3. Sair: Finaliza a interacción con programa

```
Proceso CaixeiroAutomatico
    Definir saldo, opcion, cantidade Como Real;

    saldo <- 1000;

        Escribir "---------------------------";
        Escribir "    CAIXEIRO AUTOMÁTICO    ";
        Escribir "---------------------------";
        Escribir "Saldo actual: ", saldo;
        Escribir "1. Ingresar diñeiro";
        Escribir "2. Retirar diñeiro";
        Escribir "3. Saír";
        Escribir "---------------------------";
        Escribir "Elixe unha opción:";
        Leer opcion;

        Si opcion = 1 Entonces
            Escribir "Introduce a cantidade a ingresar:";
            Leer cantidade;
            saldo <- saldo + cantidade;
            Escribir "Ingresaches ", cantidade, " €. Saldo total: ", saldo;
        SiNo
            Si opcion = 2 Entonces
                Escribir "Introduce a cantidade a retirar:";
                Leer cantidade;
                saldo <- saldo - cantidade;
                Escribir "Retiraches ", cantidade, " €. Saldo total: ", saldo;
            SiNo
                Si opcion = 3 Entonces
                    Escribir "Saíndo do caixeiro...";
                SiNo
                    Escribir "Opción non válida, volve a intentar.";
                FinSi;
            FinSi;
        FinSi;
FinProceso
```

11. Escribe o programa do exercicio 9 empregando unha sentencia Según

```
Proceso CalificacionNotaSegun
    Definir nota Como Entero;
	
    Escribir "Introduce a nota (0-10):"; 
    Leer nota; 
	
    Segun nota Hacer
        0,1,2,3,4:
            Escribir "Suspenso"; 
        5,6:
            Escribir "Aprobado"; 
        7,8:
            Escribir "Notable"; 
        9,10:
            Escribir "Sobresaínte"; 
        De Otro Modo:
            Escribir "Erro: a nota debe estar entre 0 e 10"; 
    FinSegun;
FinProceso
```

12. Escribe o programa do exercicio 10 empregando unha sentencia Según

```
Proceso CaixeiroAutomatico
    Definir saldo, opcion, cantidade Como Real;

    saldo <- 1000; 
        Escribir "---------------------------"; 
        Escribir "    CAIXEIRO AUTOMÁTICO    "; 
        Escribir "---------------------------"; 
        Escribir "Saldo actual: ", saldo; 
        Escribir "1. Ingresar diñeiro"; 
        Escribir "2. Retirar diñeiro"; 
        Escribir "3. Saír"; 
        Escribir "---------------------------"; 
        Escribir "Elixe unha opción:"; 
        Leer opcion; 

        Segun opcion Hacer
            1:
                Escribir "Introduce a cantidade a ingresar:"; 
                Leer cantidade; 
                saldo <- saldo + cantidade; 
                Escribir "Ingresaches ", cantidade, " €. Saldo total: ", saldo; 
            2:
                Escribir "Introduce a cantidade a retirar:"; 
                Leer cantidade; 
                saldo <- saldo - cantidade; 
                Escribir "Retiraches ", cantidade, " €. Saldo total: ", saldo; 
            3:
                Escribir "Saíndo do caixeiro..."; 
            De Otro Modo:
                Escribir "Opción non válida, volve a intentar."; 
        FinSegun;

FinProceso
```

13. Escribe un programa que reciba un número do 1 o 7 e mostre por pantalla un texto indicando o día da semana ao que equivale, sendo o día 1 o Luns.

```
Proceso DiaSemana
    Definir dia Como Entero;

    Escribir "Introduce un número do 1 ao 7:"; 
    Leer dia; 

    Segun dia Hacer
        1:
            Escribir "Luns";
        2:
            Escribir "Martes";
        3:
            Escribir "Mércores";
        4:
            Escribir "Xoves";
        5:
            Escribir "Venres";
        6:
            Escribir "Sábado";
        7:
            Escribir "Domingo";
        De Otro Modo:
            Escribir "Número incorrecto. Debe estar entre 1 e 7.";
    FinSegun;
FinProceso
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://educacion.gitbook.io/programacion/ud1-introduccion-a-programacion/introducion-a-programacion/representacion-de-algorimtos/pseudocodigo/pseint/solucions-exercicios-condicionais.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
