3.4. Betingede strukturer

Hvis et program skal kunne handle forskelligt alt efter hvilke data det får ind, er det nødvendigt med betingede strukturer hvor det gør forskellige ting alt efter hvilken værdi dataene har. Et simpelt eksempel kan være at undersøge hvor lang tids barselsorlov en person har ret til ud fra vedkommendes CPR-nummer.

Eksempel 3-1. Barselsorlovslængde

Hvis personens CPR-nummer har et lige løbenummer, har hun ret til seks måneders barselsorlov, ellers har han kun ret til to ugers barselsorlov.

Eksemplet findes også skrevet i: Ada

Dette er et eksempel på en simpel "hvis udsagn gør noget ellers gør noget andet"-konstruktion som man vil finde i en eller anden form i ethvert imperativt programmeringssprog. I princippet er denne konstruktion sammen med muligheden for at hoppe til vilkårlige steder i programmet tilstrækkeligt til at man kan skrive et vilkårligt computerprogram. I praksis er det dog langt fra hensigtsmæssigt kun at arbejde med så primitive redskaber.

En del sprog indeholder – i en eller anden variant – en generalisering af ovenstående sand/falsk-baserede konstruktion til vilkårlige diskrete datatyper. Det kan for eksempel bruges til at undersøge hvor længe det lokale supermarked har åbent afhængigt af hvilken dag i ugen det er.

Eksempel 3-2. Supermarkedsåbningstider

I tilfælde af at ugedagen er:

Eksemplet findes også skrevet i: Ada