Source: https://www.cs.upc.edu/~jordicf/Teaching/programming/pdf4/IP03_Loops-4slides.pdf