Amphithéâtre Guillaume Budé, Site Marcelin Berthelot
En libre accès, dans la limite des places disponibles
-

Résumé

Après une introduction à l'ensemble du cours et du séminaire, le premier cours a retracé l'apparition des structures de contrôle dans les premiers langages de programmation (1945-1965) : les langages d'assemblage, où le contrôle s'exprime par des sauts inconditionnels ou conditionnels ; le langage Fortran (1957), qui combine les sauts « goto » et les boucles comptées « do » ; le langage Algol (1960), qui introduit les structures de contrôle essentielles que sont la séquence, la conditionnelle, la boucle comptée et la boucle « while », tout en conservant le « goto » pour le contrôle non structuré. Nous avons ensuite retracé la polémique autour de la programmation structurée qui a agité la communauté informatique de 1965 à 1975, superficiellement pour savoir s'il fallait éviter les « goto » dans les programmes, et plus profondément pour savoir si les programmes doivent être vus comme de simples organigrammes ou comme des textes construits et structurés. Enfin, nous avons introduit le critère de Kosaraju pour comparer formellement l'expressivité de diverses structures de contrôle, et montré que le contrôle structuré a exactement la même expressivité que les graphes de flux de contrôle réductibles, à condition que les structures de contrôle incluent les sorties de boucles à plusieurs niveaux.