Les estructures de control són fonamentals en qualsevol llenguatge de programació, ja que permeten controlar el flux d'execució del codi. En Ruby, les estructures de control inclouen condicions, bucles i altres mecanismes per gestionar el comportament del programa.

Continguts

Condicionals

if, elsif, else

La instrucció if s'utilitza per executar codi basat en una condició booleana.

x = 10

if x > 5
  puts "x és més gran que 5"
elsif x == 5
  puts "x és igual a 5"
else
  puts "x és menor que 5"
end

unless

La instrucció unless és l'oposat de if. Executa el codi només si la condició és falsa.

x = 10

unless x > 15
  puts "x no és més gran que 15"
end

Operador Ternari

L'operador ternari és una forma concisa d'escriure una condició if-else.

x = 10
message = x > 5 ? "x és més gran que 5" : "x no és més gran que 5"
puts message

Estructures de Selecció

case

La instrucció case és útil per comparar una variable amb múltiples valors.

nota = 'A'

case nota
when 'A'
  puts "Excel·lent!"
when 'B'
  puts "Bé fet!"
when 'C'
  puts "Pots millorar."
else
  puts "Necessites treballar més."
end

Bucles

while

El bucle while executa el codi mentre la condició sigui certa.

i = 0

while i < 5
  puts "i és #{i}"
  i += 1
end

until

El bucle until és l'oposat de while. Executa el codi mentre la condició sigui falsa.

i = 0

until i == 5
  puts "i és #{i}"
  i += 1
end

for

El bucle for s'utilitza per iterar sobre una col·lecció.

for i in 0..4
  puts "i és #{i}"
end

Iteradors

each

L'iterador each és una manera comuna de recórrer col·leccions en Ruby.

[1, 2, 3, 4, 5].each do |num|
  puts "El número és #{num}"
end

times

L'iterador times executa un bloc de codi un nombre específic de vegades.

5.times do |i|
  puts "Iteració #{i}"
end

Exercicis Pràctics

Exercici 1: Condicionals

Escriu un programa que demani a l'usuari un número i imprimeixi si és positiu, negatiu o zero.

puts "Introdueix un número:"
num = gets.to_i

if num > 0
  puts "El número és positiu."
elsif num < 0
  puts "El número és negatiu."
else
  puts "El número és zero."
end

Exercici 2: Bucles

Escriu un programa que imprimeixi els números del 1 al 10 utilitzant un bucle while.

i = 1

while i <= 10
  puts i
  i += 1
end

Exercici 3: Iteradors

Escriu un programa que recorri un array de noms i imprimeixi cada nom en majúscules.

noms = ["Anna", "Bernat", "Carla"]

noms.each do |nom|
  puts nom.upcase
end

Resum

En aquesta secció, hem après sobre les estructures de control en Ruby, incloent condicionals (if, unless, operador ternari), estructures de selecció (case), bucles (while, until, for) i iteradors (each, times). Aquestes eines són essencials per controlar el flux del teu programa i prendre decisions basades en condicions. Practica amb els exercicis proporcionats per reforçar els conceptes apresos.

© Copyright 2024. Tots els drets reservats