Source: https://stt4230.rbind.io/programmation/struct_controle_r_2021.pdf