Fundamentos

Tutorial Fundamentos: Operadores

PseInt - Opera con suma, resta, multiplicación, división y módulo. Aprende la precedencia de operadores con ejemplos claros.

Aprende Fundamentos GRATIS y certifícate

Operadores aritméticos

Los operadores aritméticos en PseInt permiten realizar operaciones matemáticas básicas entre variables y valores numéricos. Estos operadores son esenciales para procesar y manipular datos numéricos en nuestros algoritmos.

Los principales operadores aritméticos que podemos utilizar son:

  • Suma (+): Añade dos valores. Ejemplo: a + b.
  • Resta (-): Sustrae un valor de otro. Ejemplo: a - b.
  • Multiplicación (*): Multiplica dos valores. Ejemplo: a * b.
  • División (/): Divide un valor entre otro. Ejemplo: a / b.
  • Módulo (%): Obtiene el resto de una división entera. Ejemplo: a % b.
  • Potencia (^): Eleva un número a la potencia de otro. Ejemplo: a ^ b.

A continuación, un ejemplo en PseInt que muestra el uso de estos operadores:

Algoritmo OperadoresAritmeticos
    Definir a, b Como Real
    Definir suma, resta, producto, cociente, resto, potencia Como Real
    
    Escribir "Ingrese el primer número:"
    Leer a
    Escribir "Ingrese el segundo número:"
    Leer b
    
    suma <- a + b
    resta <- a - b
    producto <- a * b
    cociente <- a / b
    resto <- a % b
    potencia <- a ^ b
    
    Escribir "La suma de los números es: ", suma
    Escribir "La resta de los números es: ", resta
    Escribir "El producto de los números es: ", producto
    Escribir "El cociente de los números es: ", cociente
    Escribir "El resto de la división es: ", resto
    Escribir "El resultado de elevar ", a, " a la ", b, " es: ", potencia
FinAlgoritmo

En Python, el código equivalente sería:

a = float(input("Ingrese el primer número: "))
b = float(input("Ingrese el segundo número: "))

suma = a + b
resta = a - b
producto = a * b
cociente = a / b
resto = a % b
potencia = a ** b

print("La suma de los números es:", suma)
print("La resta de los números es:", resta)
print("El producto de los números es:", producto)
print("El cociente de los números es:", cociente)
print("El resto de la división es:", resto)
print("El resultado de elevar", a, "a la", b, "es:", potencia)

Es importante recordar que la prioridad de operadores determina el orden en que se evalúan las expresiones aritméticas. En PseInt, la precedencia de operadores es la siguiente:

  1. Paréntesis ()
  2. Potencia ^
  3. Multiplicación *, División / y Módulo %
  4. Suma + y Resta -

Así, una expresión como a + b * c primero multiplicará b * c y luego sumará a. Para alterar este orden, se pueden utilizar paréntesis:

resultado <- (a + b) * c

En Python:

resultado = (a + b) * c

El operador módulo (%) es especialmente útil para determinar si un número es par o impar. Por ejemplo:

En PseInt:

Algoritmo DeterminarParidad
    Definir numero Como Entero
    Escribir "Ingrese un número entero:"
    Leer numero
    
    Si numero % 2 = 0 Entonces
        Escribir "El número es par."
    Sino
        Escribir "El número es impar."
    FinSi
FinAlgoritmo

En Python:

numero = int(input("Ingrese un número entero: "))

if numero % 2 == 0:
    print("El número es par.")
else:
    print("El número es impar.")

La potenciación (^) en PseInt se utiliza para elevar un número a una potencia específica. Sin embargo, en Python se utiliza el operador ** para la potenciación.

Por ejemplo, calcular el cuadrado y el cubo de un número:

En PseInt:

cuadrado <- numero ^ 2
cubo <- numero ^ 3

En Python:

cuadrado = numero ** 2
cubo = numero ** 3

La comprensión y el manejo adecuado de los operadores aritméticos son fundamentales para desarrollar algoritmos efectivos y solucionar problemas que involucren cálculos matemáticos en PseInt y en lenguajes como Python.

Operadores relacionales

Los operadores relacionales en PseInt permiten comparar valores para determinar la relación existente entre ellos. Estas comparaciones son fundamentales para construir condiciones en estructuras de control como si, mientras o repetir, y permiten que el programa tome decisiones basadas en dichas relaciones.

Los principales operadores relacionales en PseInt son:

  • Igual a (=): Comprueba si dos valores son iguales. Ejemplo: a = b.
  • Distinto de (<>): Verifica si dos valores son diferentes. Ejemplo: a <> b.
  • Menor que (<): Determina si un valor es menor que otro. Ejemplo: a < b.
  • Mayor que (>): Comprueba si un valor es mayor que otro. Ejemplo: a > b.
  • Menor o igual que (<=): Verifica si un valor es menor o igual a otro. Ejemplo: a <= b.
  • Mayor o igual que (>=): Determina si un valor es mayor o igual a otro. Ejemplo: a >= b.

Estos operadores devuelven un valor booleano: verdadero si la comparación es cierta y falso si no lo es.

A continuación, un ejemplo en PseInt que ilustra el uso de operadores relacionales:

Algoritmo ComparacionNumeros
    Definir num1, num2 Como Entero
    Escribir "Ingrese el primer número:"
    Leer num1
    Escribir "Ingrese el segundo número:"
    Leer num2

    Si num1 = num2 Entonces
        Escribir "Los números son iguales."
    Sino
        Si num1 > num2 Entonces
            Escribir num1, " es mayor que ", num2
        Sino
            Escribir num1, " es menor que ", num2
        FinSi
    FinSi
FinAlgoritmo

En este ejemplo, se comparan dos números introducidos por el usuario y se utiliza el operador relacional = para verificar si son iguales. Si no lo son, se utilizan los operadores > y < para determinar cuál es mayor.

El código equivalente en Python sería:

num1 = int(input("Ingrese el primer número: "))
num2 = int(input("Ingrese el segundo número: "))

if num1 == num2:
    print("Los números son iguales.")
else:
    if num1 > num2:
        print(f"{num1} es mayor que {num2}")
    else:
        print(f"{num1} es menor que {num2}")

Es importante notar que en Python el operador de igualdad es ==, mientras que en PseInt es =. Asimismo, el operador de desigualdad en Python es !=, a diferencia de <> en PseInt.

Otro uso común de los operadores relacionales es verificar si un valor cumple cierta condición. Por ejemplo, determinar si un número es positivo, negativo o cero:

En PseInt:

Algoritmo DeterminarSigno
    Definir numero Como Entero
    Escribir "Ingrese un número:"
    Leer numero

    Si numero > 0 Entonces
        Escribir "El número es positivo."
    Sino
        Si numero < 0 Entonces
            Escribir "El número es negativo."
        Sino
            Escribir "El número es cero."
        FinSi
    FinSi
FinAlgoritmo

En Python:

numero = int(input("Ingrese un número: "))

if numero > 0:
    print("El número es positivo.")
elif numero < 0:
    print("El número es negativo.")
else:
    print("El número es cero.")

Los operadores relacionales también se pueden utilizar para comparar cadenas de caracteres. En PseInt, es posible verificar si dos cadenas son iguales o diferentes:

Algoritmo CompararCadenas
    Definir cadena1, cadena2 Como Cadena
    Escribir "Ingrese la primera cadena:"
    Leer cadena1
    Escribir "Ingrese la segunda cadena:"
    Leer cadena2

    Si cadena1 = cadena2 Entonces
        Escribir "Las cadenas son idénticas."
    Sino
        Escribir "Las cadenas son distintas."
    FinSi
FinAlgoritmo

Y en Python:

cadena1 = input("Ingrese la primera cadena: ")
cadena2 = input("Ingrese la segunda cadena: ")

if cadena1 == cadena2:
    print("Las cadenas son idénticas.")
else:
    print("Las cadenas son distintas.")

Al comparar cadenas, es fundamental tener en cuenta que la comparación es sensible a mayúsculas y minúsculas. Por ejemplo, "Hola" y "hola" se consideran distintas. Si se desea realizar una comparación sin diferenciar mayúsculas, se pueden convertir las cadenas a minúsculas antes de compararlas:

En PseInt:

Si Minusculas(cadena1) = Minusculas(cadena2) Entonces
    Escribir "Las cadenas son idénticas (ignorando mayúsculas)."
Sino
    Escribir "Las cadenas son distintas."
FinSi

En Python:

if cadena1.lower() == cadena2.lower():
    print("Las cadenas son idénticas (ignorando mayúsculas).")
else:
    print("Las cadenas son distintas.")

Los operadores relacionales son especialmente útiles en la validación de datos. Por ejemplo, para verificar si un número ingresado está dentro de un cierto rango:

En PseInt:

Algoritmo ValidarEdad
    Definir edad Como Entero
    Escribir "Ingrese su edad:"
    Leer edad

    Si edad >= 18 Entonces
        Escribir "Eres mayor de edad."
    Sino
        Escribir "Eres menor de edad."
    FinSi
FinAlgoritmo

En Python:

edad = int(input("Ingrese su edad: "))

if edad >= 18:
    print("Eres mayor de edad.")
else:
    print("Eres menor de edad.")

En este caso, utilizamos el operador relacional para determinar si la edad es mayor o igual a 18.

Además de comparar valores numéricos y cadenas, los operadores relacionales también se emplean en estructuras de control iterativas. Por ejemplo, en un bucle que se ejecuta mientras una condición se cumple:

En PseInt:

Algoritmo ContadorRegresivo
    Definir contador Como Entero
    contador <- 10

    Mientras contador > 0 Hacer
        Escribir "Contador: ", contador
        contador <- contador - 1
    FinMientras

    Escribir "¡Despegue!"
FinAlgoritmo

En Python:

contador = 10

while contador > 0:
    print(f"Contador: {contador}")
    contador -= 1

print("¡Despegue!")

En este ejemplo, el operador relacional > se utiliza en la condición del bucle Mientras (o while en Python) para determinar cuándo se debe detener la iteración.

Es esencial comprender el funcionamiento de los operadores relacionales para poder implementar lógica condicional en nuestros programas. Al combinarlos con operadores lógicos, es posible crear condiciones más complejas y desarrollar algoritmos robustos y funcionales.

Operadores lógicos

Los operadores lógicos en PseInt permiten combinar y manipular expresiones booleanas para construir condiciones más complejas en nuestros algoritmos. Estos operadores son esenciales para el control del flujo de ejecución, especialmente en estructuras condicionales y bucles.

Los principales operadores lógicos disponibles en PseInt son:

  • No (No): operador de negación, invierte el valor lógico de una expresión.
  • Y (Y): operador conjunción, devuelve verdadero si ambas expresiones son verdaderas.
  • O (O): operador disyunción, devuelve verdadero si al menos una de las expresiones es verdadera.

A continuación, se detalla el funcionamiento de cada operador con ejemplos prácticos:

Operador No (Negación):

El operador No invierte el valor de una expresión lógica. Si la expresión es verdadera, No la convierte en falso, y viceversa.

Ejemplo en PseInt:

Algoritmo Negacion
    Definir esta_lloviendo Como Logico
    esta_lloviendo <- Verdadero
    
    Si No esta_lloviendo Entonces
        Escribir "Puedes salir sin paraguas."
    Sino
        Escribir "Necesitas un paraguas."
    FinSi
FinAlgoritmo

Ejemplo equivalente en Python:

esta_lloviendo = True

if not esta_lloviendo:
    print("Puedes salir sin paraguas.")
else:
    print("Necesitas un paraguas.")

En este ejemplo, No se utiliza para verificar cuando no está lloviendo y, por lo tanto, se puede salir sin paraguas.

Operador Y (Conjunción):

El operador Y devuelve verdadero solo si ambas expresiones son verdaderas. Es útil cuando se necesitan cumplir múltiples condiciones simultáneamente.

Ejemplo en PseInt:

Algoritmo Conjuncion
    Definir edad Como Entero
    Definir tiene_licencia Como Logico
    Escribir "Ingrese su edad:"
    Leer edad
    Escribir "¿Tiene licencia de conducir? (Verdadero/Falso):"
    Leer tiene_licencia
    
    Si edad >= 18 Y tiene_licencia Entonces
        Escribir "Puede conducir un vehículo."
    Sino
        Escribir "No puede conducir un vehículo."
    FinSi
FinAlgoritmo

Ejemplo equivalente en Python:

edad = int(input("Ingrese su edad: "))
tiene_licencia = input("¿Tiene licencia de conducir? (True/False): ") == "True"

if edad >= 18 and tiene_licencia:
    print("Puede conducir un vehículo.")
else:
    print("No puede conducir un vehículo.")

Aquí, se verifica que el usuario sea mayor o igual a 18 años y que tenga licencia para permitirle conducir.

Operador O (Disyunción):

El operador O devuelve verdadero si al menos una de las expresiones es verdadera. Es útil cuando solo es necesario que se cumpla una de varias condiciones.

Ejemplo en PseInt:

Algoritmo Disyuncion
    Definir tiene_pasaporte, tiene_dni Como Logico
    Escribir "¿Tiene pasaporte? (Verdadero/Falso):"
    Leer tiene_pasaporte
    Escribir "¿Tiene DNI? (Verdadero/Falso):"
    Leer tiene_dni
    
    Si tiene_pasaporte O tiene_dni Entonces
        Escribir "Puede viajar al extranjero."
    Sino
        Escribir "No puede viajar al extranjero."
    FinSi
FinAlgoritmo

Ejemplo equivalente en Python:

tiene_pasaporte = input("¿Tiene pasaporte? (True/False): ") == "True"
tiene_dni = input("¿Tiene DNI? (True/False): ") == "True"

if tiene_pasaporte or tiene_dni:
    print("Puede viajar al extranjero.")
else:
    print("No puede viajar al extranjero.")

En este caso, se permite viajar al extranjero si el usuario tiene pasaporte o tiene DNI.

Combinación de operadores lógicos:

Es posible combinar varios operadores lógicos para construir condiciones más elaboradas. Al hacerlo, es importante utilizar paréntesis para definir el orden de evaluación y evitar ambigüedades.

Ejemplo en PseInt:

Algoritmo CombinacionOperadores
    Definir temperatura Como Real
    Definir esta_lloviendo Como Logico
    Escribir "Ingrese la temperatura actual:"
    Leer temperatura
    Escribir "¿Está lloviendo? (Verdadero/Falso):"
    Leer esta_lloviendo
    
    Si (temperatura > 20 O temperatura < 30) Y No esta_lloviendo Entonces
        Escribir "El clima es agradable para un paseo."
    Sino
        Escribir "No es un buen momento para un paseo."
    FinSi
FinAlgoritmo

Ejemplo equivalente en Python:

temperatura = float(input("Ingrese la temperatura actual: "))
esta_lloviendo = input("¿Está lloviendo? (True/False): ") == "True"

if (temperatura > 20 or temperatura < 30) and not esta_lloviendo:
    print("El clima es agradable para un paseo.")
else:
    print("No es un buen momento para un paseo.")

Este ejemplo determina si el clima es adecuado para un paseo, considerando la temperatura y si no está lloviendo.

Precedencia de operadores lógicos:

En PseInt, la precedencia de los operadores lógicos es:

  1. No
  2. Y
  3. O

Sin embargo, es una buena práctica usar paréntesis para asegurarse de que las expresiones se evalúan en el orden deseado y mejorar la legibilidad del código.

Uso en bucles y estructuras condicionales:

Los operadores lógicos son fundamentales en bucles y condiciones complejas.

Ejemplo en PseInt:

Algoritmo AccesoSistema
    Definir usuario, contraseña Como Cadena
    Definir intentos Como Entero
    intentos <- 0
    
    Repetir
        Escribir "Ingrese su nombre de usuario:"
        Leer usuario
        Escribir "Ingrese su contraseña:"
        Leer contraseña
        intentos <- intentos + 1
    Hasta Que (usuario = "admin" Y contraseña = "1234") O intentos = 3
    
    Si usuario = "admin" Y contraseña = "1234" Entonces
        Escribir "¡Acceso concedido!"
    Sino
        Escribir "Demasiados intentos fallidos. Acceso denegado."
    FinSi
FinAlgoritmo

Ejemplo equivalente en Python:

usuario = ""
contraseña = ""
intentos = 0

while (usuario != "admin" or contraseña != "1234") and intentos < 3:
    usuario = input("Ingrese su nombre de usuario: ")
    contraseña = input("Ingrese su contraseña: ")
    intentos += 1

if usuario == "admin" and contraseña == "1234":
    print("¡Acceso concedido!")
else:
    print("Demasiados intentos fallidos. Acceso denegado.")

Este programa permite al usuario intentar ingresar sus credenciales hasta tres veces, combinando operadores lógicos para verificar las condiciones de salida del bucle y la posterior validación.

Negación de condiciones complejas:

A veces es necesario negar una condición completa. En estos casos, se utiliza el operador No junto con paréntesis.

Ejemplo en PseInt:

Algoritmo NegacionCompleja
    Definir edad Como Entero
    Definir es_estudiante Como Logico
    Escribir "Ingrese su edad:"
    Leer edad
    Escribir "¿Es estudiante? (Verdadero/Falso):"
    Leer es_estudiante
    
    Si No (edad >= 18 Y es_estudiante) Entonces
        Escribir "No cumple los requisitos."
    Sino
        Escribir "Cumple los requisitos."
    FinSi
FinAlgoritmo

Ejemplo equivalente en Python:

edad = int(input("Ingrese su edad: "))
es_estudiante = input("¿Es estudiante? (True/False): ") == "True"

if not (edad >= 18 and es_estudiante):
    print("No cumple los requisitos.")
else:
    print("Cumple los requisitos.")

En este ejemplo, se utiliza No para invertir el resultado de una condición compuesta.

Operadores lógicos en JavaScript:

Aunque este curso se focaliza en PseInt y Python, es útil saber que en JavaScript los operadores lógicos son similares:

  • ! para negación.
  • && para conjunción.
  • || para disyunción.

Ejemplo en JavaScript:

let edad = parseInt(prompt("Ingrese su edad: "));
let esEstudiante = confirm("¿Es estudiante?");

if (!(edad >= 18 && esEstudiante)) {
    console.log("No cumple los requisitos.");
} else {
    console.log("Cumple los requisitos.");
}

Conocer las similitudes entre distintos lenguajes permite transferir conocimientos y adaptarse más fácilmente a diferentes entornos de programación.

Importancia de los operadores lógicos:

Los operadores lógicos son fundamentales para:

  • Construir condiciones complejas que evalúan múltiples criterios.
  • Controlar el flujo de ejecución en algoritmos.
  • Mejorar la claridad y legibilidad del código al expresar lógicamente las decisiones del programa.

Es esencial practicarlos y comprender su funcionamiento para desarrollar algoritmos eficientes y robustos en PseInt y otros lenguajes de programación.

Para seguir leyendo hazte Plus

¿Ya eres Plus? Accede a la app

Plan mensual

19.00 € /mes

Precio normal mensual: 19 €
47 % DE DESCUENTO

Plan anual

10.00 € /mes

Ahorras 108 € al año
Precio normal anual: 120 €
Aprende Fundamentos GRATIS online

Todas las lecciones de Fundamentos

Accede a todas las lecciones de Fundamentos y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.

Accede GRATIS a Fundamentos y certifícate

En esta lección

Objetivos de aprendizaje de esta lección

  • Comprender los operadores aritméticos en PseInt.
  • Implementar cálculos básicos: suma, resta, multiplicación, división.
  • Utilizar el operador módulo para identificar pares e impares.
  • Aplicar la potenciación con ejemplos prácticos.
  • Describir la precedencia de operadores para evaluar expresiones correctamente.
  • Usar PseInt y Python para comparar y analizar resultados.