Approcci rigidi e flessibili nella programmazione