Sommaire: Introduction à la programmation
1 Introduction
1.1 Informatique=mécanisation de l’abstraction
1.2 Traduction
1.3 La programmation: du problème au programme
2 Les constructions de base en Java
2.1 Constantes et variables
2.2 Typage
2.3 Types élémentaires en Java
2.4 Expressions
2.4.1 Opérateurs arithmétiques
2.4.2 Opérateurs logiques et relationnels
2.4.3 Opérateurs bit à bit
2.5 L’aectation.
2.6 Mon premier programme Java
2.7 De la structuration du discours: les instructions de contrôle
2.7.1 Instructions conditionnelles
2.7.2 Instruction sitératives
3 Structuration
3.1 La classe, première approche: un regroupement de variables
3.1.1 Allocation de mémoire
3.1.2 Exemple : un embryon de programme de gestion de compte
3.2 Fonctions et procédures
3.2.1 Les fonctions approche intuitive
3.2.2 Les fonctions dénition plus formelle
3.2.3 Les procédures
3.2.4 Le cas particulier de main
3.2.5 Surcharge.
3.3 Les tableaux
4 Programmation objet
4.1 Retour sur la classe.
4.1.1 Fonctions d’accès
4.2 Les objets.
4.3 Méthodes et variables de classe
4.3.1 Retour sur la procédure main
4.3.2 Comment accéder aux variables et méthodes de classe?
4.4 Exemple d’une classe prédénie : String
4.4.1 Application : recherche plus conviviale du compte
4.5 La composition: des objets dans d’autres objets
4.6 L’héritage
4.6.1 Héritage ettypage
4.6.2 Liaison dynamique.
……
♣ Extrait du cours
Chapitre 1 Introduction
L’informatique est avant tout une science de l’abstraction il s’agit de créer le bon modèle pour un problème et d’imaginer les bonnes techniques automatisables et appropriées pour le résoudre. Toutes les autres sciences considèrent l’univers tel qu’il est. Par exemple, le travail d’un physicien est de comprendre le monde et non pas d’inventer un monde dans lequel les lois de la physique seraient plus simples et auxquelles il serait plus agréable de se conformer. À l’opposé, les informaticiens doivent créer des abstractions des problèmes du monde réel qui pourraient être représentées et manipulées dans un ordinateur.
Informatique = mécanisation de l’abstraction
Un programme est une suite d’instructions dénissant des opérations à réaliser sur des données.
Les instructions du programme sont exécutées les unes après les autres, le plus souvent dans l’ordre séquentiel dans lequel elles sont données dans le programme on dit que le ot d’exécution, ou ot de contrôle, est séquentiel. Pour écrire des programmes, on se sert d’une notation, appelée langage de programmation. Les langages de programmation les plus rudimentaires sont ceux qui collent au jeu d’instructions de l’ordinateur ; on les appelle les langages d’assemblage (cf. annexe A). Un langage d’assemblage est par dénition propre à un processeur donné (ou au mieux à une famille de processeurs) ; l’évolution de la programmation vers des projets à la fois complexes et portables a créé le besoin de langages de plus haut niveau. Ces langages permettent de gérer la complexité des problèmes traités grâce à la structuration, qu’on dénira dans un premier temps, de manière très générale, comme le regroupement d’entités élémentaires en entités plus complexes (enregistrements regroupant plusieurs données, modules ou procédures regroupant plusieurs instructions élémentaires…).
Un bon programme doit être facile à écrire, à lire, à comprendre et à modier. Il faut savoir que la mémoire humaine est limitée par le nombre plus que par la taille des structures à manipuler.
Il devient donc vite dicile pour un programmeur de maîtriser de nombreuses lignes de code, si celles-ci ne sont pas regroupées en modules ou autres structures.
Les avantages de l’utilisation d’un langage de haut niveau sont multiples :
Un programme n’est pas seulement destiné à être lu une fois ; plusieurs intervenants risquent de se pencher sur lui au cours de son existence, d’où la nécessité de la lisibilité.
L’existence de langages évolués a permis la création de logiciels par des programmeurs qui n’auraient jamais appris un langage d’assemblage. Il faut noter à ce propos la puissance et la popularité croissante des langages dits de scriptage (Visual Basic, TCL/TK…) et des générateurs de programmes de gestion.
Un programme en langage évolué peut être porté sur diérentes architectures et réutilisé au l de l’évolution du matériel.
Un module clairement spécié peut être réutilisé comme une brique de construction, dans divers contextes.
………