En aquest tema, explorarem els diferents tipus d'operadors disponibles en Ruby. Els operadors són símbols especials que es fan servir per realitzar operacions sobre variables i valors. Ruby ofereix una àmplia gamma d'operadors que es poden classificar en diverses categories:

  1. Operadors aritmètics
  2. Operadors de comparació
  3. Operadors lògics
  4. Operadors d'assignació
  5. Operadors de rang
  6. Operadors de concatenació

  1. Operadors aritmètics

Els operadors aritmètics s'utilitzen per realitzar operacions matemàtiques bàsiques com la suma, resta, multiplicació, divisió, etc.

Operador Descripció Exemple Resultat
+ Suma 5 + 3 8
- Resta 5 - 3 2
* Multiplicació 5 * 3 15
/ Divisió 6 / 3 2
% Mòdul 5 % 3 2
** Exponenciació 2 ** 3 8

Exemple pràctic

a = 10
b = 3

puts "Suma: #{a + b}"          # Suma: 13
puts "Resta: #{a - b}"         # Resta: 7
puts "Multiplicació: #{a * b}" # Multiplicació: 30
puts "Divisió: #{a / b}"       # Divisió: 3
puts "Mòdul: #{a % b}"         # Mòdul: 1
puts "Exponenciació: #{a ** b}"# Exponenciació: 1000

  1. Operadors de comparació

Els operadors de comparació s'utilitzen per comparar dos valors. El resultat d'una operació de comparació és un valor booleà (true o false).

Operador Descripció Exemple Resultat
== Igual a 5 == 3 false
!= Diferent de 5 != 3 true
> Major que 5 > 3 true
< Menor que 5 < 3 false
>= Major o igual que 5 >= 3 true
<= Menor o igual que 5 <= 3 false

Exemple pràctic

a = 10
b = 3

puts "Igual a: #{a == b}"      # Igual a: false
puts "Diferent de: #{a != b}"  # Diferent de: true
puts "Major que: #{a > b}"     # Major que: true
puts "Menor que: #{a < b}"     # Menor que: false
puts "Major o igual que: #{a >= b}" # Major o igual que: true
puts "Menor o igual que: #{a <= b}" # Menor o igual que: false

  1. Operadors lògics

Els operadors lògics s'utilitzen per combinar expressions booleanes.

Operador Descripció Exemple Resultat
&& I lògic true && false false
` ` O lògic
! No lògic !true false

Exemple pràctic

a = true
b = false

puts "I lògic: #{a && b}"      # I lògic: false
puts "O lògic: #{a || b}"      # O lògic: true
puts "No lògic: #{!a}"         # No lògic: false

  1. Operadors d'assignació

Els operadors d'assignació s'utilitzen per assignar valors a les variables.

Operador Descripció Exemple Equivalent a
= Assignació a = 5 a = 5
+= Assignació i suma a += 5 a = a + 5
-= Assignació i resta a -= 5 a = a - 5
*= Assignació i multiplicació a *= 5 a = a * 5
/= Assignació i divisió a /= 5 a = a / 5
%= Assignació i mòdul a %= 5 a = a % 5
**= Assignació i exponenciació a **= 5 a = a ** 5

Exemple pràctic

a = 10

a += 5
puts "Assignació i suma: #{a}" # Assignació i suma: 15

a -= 3
puts "Assignació i resta: #{a}" # Assignació i resta: 12

a *= 2
puts "Assignació i multiplicació: #{a}" # Assignació i multiplicació: 24

a /= 4
puts "Assignació i divisió: #{a}" # Assignació i divisió: 6

a %= 5
puts "Assignació i mòdul: #{a}" # Assignació i mòdul: 1

a **= 3
puts "Assignació i exponenciació: #{a}" # Assignació i exponenciació: 1

  1. Operadors de rang

Els operadors de rang s'utilitzen per crear seqüències de valors.

Operador Descripció Exemple Resultat
.. Inclou el final (1..5).to_a [1, 2, 3, 4, 5]
... Exclou el final (1...5).to_a [1, 2, 3, 4]

Exemple pràctic

inclou_final = (1..5).to_a
exclou_final = (1...5).to_a

puts "Inclou el final: #{inclou_final}" # Inclou el final: [1, 2, 3, 4, 5]
puts "Exclou el final: #{exclou_final}" # Exclou el final: [1, 2, 3, 4]

  1. Operadors de concatenació

Els operadors de concatenació s'utilitzen per unir cadenes de text.

Operador Descripció Exemple Resultat
+ Concatenació "Hola" + " Món" "Hola Món"
<< Concatenació destructiva a = "Hola"; a << " Món" "Hola Món"

Exemple pràctic

cadena1 = "Hola"
cadena2 = " Món"

concatenacio = cadena1 + cadena2
puts "Concatenació: #{concatenacio}" # Concatenació: Hola Món

cadena1 << " Món"
puts "Concatenació destructiva: #{cadena1}" # Concatenació destructiva: Hola Món

Exercicis pràctics

  1. Escriu un programa que calculi la suma, resta, multiplicació, divisió i mòdul de dos nombres introduïts per l'usuari.
  2. Escriu un programa que compari dos nombres introduïts per l'usuari i mostri si són iguals, diferents, si un és major que l'altre, etc.
  3. Escriu un programa que utilitzi operadors lògics per combinar diverses condicions i mostri el resultat.
  4. Escriu un programa que utilitzi operadors d'assignació per modificar el valor d'una variable inicialitzada amb un nombre introduït per l'usuari.
  5. Escriu un programa que generi una seqüència de nombres utilitzant operadors de rang i la mostri per pantalla.
  6. Escriu un programa que uneixi dues cadenes de text introduïdes per l'usuari utilitzant operadors de concatenació.

Solucions

  1. Càlcul aritmètic
puts "Introdueix el primer nombre:"
num1 = gets.chomp.to_i
puts "Introdueix el segon nombre:"
num2 = gets.chomp.to_i

puts "Suma: #{num1 + num2}"
puts "Resta: #{num1 - num2}"
puts "Multiplicació: #{num1 * num2}"
puts "Divisió: #{num1 / num2}"
puts "Mòdul: #{num1 % num2}"
  1. Comparació de nombres
puts "Introdueix el primer nombre:"
num1 = gets.chomp.to_i
puts "Introdueix el segon nombre:"
num2 = gets.chomp.to_i

puts "Igual a: #{num1 == num2}"
puts "Diferent de: #{num1 != num2}"
puts "Major que: #{num1 > num2}"
puts "Menor que: #{num1 < num2}"
puts "Major o igual que: #{num1 >= num2}"
puts "Menor o igual que: #{num1 <= num2}"
  1. Operadors lògics
puts "Introdueix el primer valor booleà (true/false):"
bool1 = gets.chomp == 'true'
puts "Introdueix el segon valor booleà (true/false):"
bool2 = gets.chomp == 'true'

puts "I lògic: #{bool1 && bool2}"
puts "O lògic: #{bool1 || bool2}"
puts "No lògic del primer valor: #{!bool1}"
  1. Operadors d'assignació
puts "Introdueix un nombre:"
num = gets.chomp.to_i

num += 5
puts "Assignació i suma: #{num}"

num -= 3
puts "Assignació i resta: #{num}"

num *= 2
puts "Assignació i multiplicació: #{num}"

num /= 4
puts "Assignació i divisió: #{num}"

num %= 5
puts "Assignació i mòdul: #{num}"

num **= 3
puts "Assignació i exponenciació: #{num}"
  1. Operadors de rang
puts "Introdueix el valor inicial del rang:"
inici = gets.chomp.to_i
puts "Introdueix el valor final del rang:"
final = gets.chomp.to_i

rang_inclou = (inici..final).to_a
rang_exclou = (inici...final).to_a

puts "Rang que inclou el final: #{rang_inclou}"
puts "Rang que exclou el final: #{rang_exclou}"
  1. Operadors de concatenació
puts "Introdueix la primera cadena de text:"
cadena1 = gets.chomp
puts "Introdueix la segona cadena de text:"
cadena2 = gets.chomp

concatenacio = cadena1 + cadena2
puts "Concatenació: #{concatenacio}"

cadena1 << cadena2
puts "Concatenació destructiva: #{cadena1}"

Conclusió

En aquesta secció, hem après sobre els diferents tipus d'operadors en Ruby i com utilitzar-los per realitzar diverses operacions. Hem vist exemples pràctics i hem practicat amb exercicis per reforçar els conceptes apresos. Ara estàs preparat per avançar al següent tema, on explorarem les estructures de control en Ruby.

© Copyright 2024. Tots els drets reservats