Introduction à la programmation ICS 3M: M.Legros
Historique des langages… Les ordinateurs sont des machines supérieurement intelligents qui sont incapables de penser par elles- mêmes. Les ordinateurs sont des machines supérieurement intelligents qui sont incapables de penser par elles- mêmes. Ils nécessitent un humain qui leur indique la tâche à accomplir. Ils nécessitent un humain qui leur indique la tâche à accomplir.
…Historique des langages Les humains utilisent plusieurs langages (anglais, français, espagnol, russe), les ordinateurs font de même. Les humains utilisent plusieurs langages (anglais, français, espagnol, russe), les ordinateurs font de même. Visual Basic, C++, Java, C, COBOL Visual Basic, C++, Java, C, COBOL
Évolution des langages Langages machine Langages machine Langages assembleur Langages assembleur Langages de haut niveau Langages de haut niveau Langages de haut niveau orientés procédures Langages de haut niveau orientés procédures Langages de haut niveau orientés objets Langages de haut niveau orientés objets
Langages machine… À lintérieur de lordinateur, toutes les données sont sous formes de commutateurs électroniques qui ne possèdent que deux positions. (OFF-ON ou 0-1) À lintérieur de lordinateur, toutes les données sont sous formes de commutateurs électroniques qui ne possèdent que deux positions. (OFF-ON ou 0-1) Les programmeurs devaient donc quutilisés seuls des 0 et des 1, cause de long temps de programmation et derreurs. Les programmeurs devaient donc quutilisés seuls des 0 et des 1, cause de long temps de programmation et derreurs.
…Langages machine
Langage assembleur… Utilise des mnémotechniques pour remplacer les séquences de 1 et 0 Utilise des mnémotechniques pour remplacer les séquences de 1 et 0 Mov = déplacerMov = déplacer Mul = multiplierMul = multiplier Add = additionnerAdd = additionner Un logiciel, appelé assembleur, traduit ensuite le code en séquences de 1 et de 0 pour que lordinateur puisse le comprendre Un logiciel, appelé assembleur, traduit ensuite le code en séquences de 1 et de 0 pour que lordinateur puisse le comprendre
…Langage assembleur Main proc paie mov ax, dseg mov ax, 0b00h add ax, dx mov a1, b1 mul b1, ax mov bl, 04h
Langages de haut niveau… Autorisent lécriture de programmes à laide dinstructions plus proches du langage courant (en anglais) Autorisent lécriture de programmes à laide dinstructions plus proches du langage courant (en anglais) Exigent un compilateur ou un interpréteur pour traduire le langage en 0 et 1 pour que lordinateur puisse comprendre Exigent un compilateur ou un interpréteur pour traduire le langage en 0 et 1 pour que lordinateur puisse comprendre
…Langages de haut niveau Interpréteur: traduit le langage de haut niveau en code machine (0-1) ligne après ligne et lexécute au même moment Interpréteur: traduit le langage de haut niveau en code machine (0-1) ligne après ligne et lexécute au même moment Compilateur: traduit la totalité dun programme en code machine avant de lexécuter. Compilateur: traduit la totalité dun programme en code machine avant de lexécuter.
Langages de haut niveau orientés procédure… Le programme se focalise sur la façon daccomplir une tâche. Le programme se focalise sur la façon daccomplir une tâche. Le programmeur donnes les instructions du début à la fin. Le programmeur donnes les instructions du début à la fin. Le programmeur détermine et contrôle lordre dexécution. Le programmeur détermine et contrôle lordre dexécution. La syntaxe est beaucoup plus simple. La syntaxe est beaucoup plus simple. Ex: COBOL, BASIC, Pascal, C Ex: COBOL, BASIC, Pascal, C
…Langages de haut niveau orientés procédure Input « Entrez votre nom » ; nom$ Input « Entrez le nombre dheures » ; heures Input « Entrez le taux horaire » ; taux paieBrute = heures * taux taxeFed =.0655 * paieBrute retAssSoc =.0075 * paieBrute paieNette = paieBrute – taxeFed – retAssSoc – taxeProv Print nom$, paieNette end
Larrivée de Windows GUI: graphic user interface avec laquelle lutilisateur peut interagir GUI: graphic user interface avec laquelle lutilisateur peut interagir Facile à utiliser, mais exige dix fois plus de travail pour le programmeur. Facile à utiliser, mais exige dix fois plus de travail pour le programmeur. Créé en ligne de texte (boutons, barres de navigation, ordre imprévu des tâches) Créé en ligne de texte (boutons, barres de navigation, ordre imprévu des tâches)
Langages de haut niveau orientés objets (OOP)… Le programme focalise sur les objets présents dans linterface de lutilisateur (boutons, barres) et les événements (clicks). Le programme focalise sur les objets présents dans linterface de lutilisateur (boutons, barres) et les événements (clicks). Lutilisation du même objet dans plusieurs programmes. Lutilisation du même objet dans plusieurs programmes. Ex: dépôt de chèque dans plusieurs logiciels, ou plusieurs endroits
…Langages de haut niveau orientés objets (OOP) Visual Basic.NET, Visual C++, Java sont tous langages OOP pilotés par des événements. Visual Basic.NET, Visual C++, Java sont tous langages OOP pilotés par des événements. Quelques clicks seulement pour préparer linterface Quelques clicks seulement pour préparer linterface Le programmeur concentre sur coder lévénement Le programmeur concentre sur coder lévénement