Le strutture di controllo

Le istruzioni di un algoritmo, che rappresenta il procedimento risolutivo di un problema, sono organizzate secondo schemi classificabili in tre costrutti fondamentali, chiamati strutture di controllo.

  • Istruzioni organizzate in sequenza.
  • Istruzioni che vengono eseguite in alternativa con altre.
  • Istruzioni che devono essere eseguite in ripetizione.

Verranno ora descritti semplici esempi di programmi in linguaggio C in cui sono utilizzate le tre strutture di base.
La sequenza si rappresenta costruendo un blocco di istruzioni, ognuna terminante con il punto e virgola, delimitato all’inizio e alla fine da una coppia di parentesi graffe aperta e chiusa { }.
Per esempio, la parte di programma C che calcola la differenza tra due numeri viene codificata in questo modo:

#include <stdio.h>
main()
{

int num1, num2, differenza;
printf(“Due numeri: “);
scanf(“%d %d”, &num1, &num2);
differenza = num1 – num2;
printf(“risultato = %d”,differenza);
}

Le istruzioni comprese tra le due parentesi graffe possono comparire all’interno di un’altra struttura di controllo (selezione o ripetizione), oppure possono essere le istruzioni che compongono la parte esecutiva del programma C.

ESEMPIO: Calcolare lo sconto del 20% sul prezzo di un articolo

Occorre acquisire in input la descrizione dell’articolo e il suo prezzo. Viene calcolato lo sconto e sottratto dal prezzo iniziale. Da ultimo si devono scrivere la descrizione dell’articolo e il nuovo prezzo scontato.

Programma C

/* CalcSconto.c : calcolo del prezzo scontato */
#include <stdio.h>
main()
{

/* input-output */
char descrizione[20];
float prezzo;
/* lavoro */
float sconto;
printf(“Descrizione e prezzo: “);
scanf(“%s %f”, descrizione, &prezzo);
sconto = (float) prezzo * 20 /100;
prezzo = prezzo – sconto;
printf(“%-20s %-10.2f \n”, descrizione, prezzo);
}
Si noti che le variabili prezzo e descrizione sono sia di input sia di output.