Voici des brèves de cours qui résument très sommairement les points importants abordés en cours et proposent le cas échéant des exemples vus en cours mais non extraits des transparents (un peu de variété ne fait pas de mal).

Nos bonnes résolutions pour cette session: Nous ferons le maximum pour que cette page soit mise à jour avant chaque cours afin que vous puissiez vous y présenter avec les exemples que nous étudierons. D'avance mille excuses pour les fois où nous n'y parviendrons pas.

Prenez note que les brèves de cours pourront être mises à jour après le cours concerné afin qu'elles correspondent parfaitement à ce que nous avons vraiment vu dans ce cours.


  • [jeudi 15 décembre 2005] (3 heures) [algo2] La récursivité:
    Compléments:


  • [jeudi 1 décembre 2005] (1 heure) [oop3] [tableaux]
    • tableaux d'objets (attention: les objets ne sont pas crées)
      •  Application à la somme de n rationnels tirés aléatoirement
      • Arguments de la ligne de commande
    • tableaux à plusieurs dimensions
    • avez-vous compris la notion de tableau et de référence ?
      Regardons pour cela un exercice du final de la session Hiver 2000.
    • recherche d'un rationnel dans un tableau de rationnels
    • idem, mais dans un tableau trié (méthode compareTo)
    • s'il nous reste du temps (peu probable), recherche dichotomique


  • [mardi 29 novembre 2005] (2 heures) [oop1] [oop3]
    • Rappels rapides (état, interface, reference, static)
    • Approfondissement de la notion de référence
      •  égalité de 2 objets
      • passage d'un objet en paramètre d'une fonction (la référence est passée par valeur)
      • objet en type de retour d'une fonction (cas de la fonction add de la classe Rationnel)
      •  exemple
    • this = référence sur l'objet appelant
    •  Mise en application: classe Rationnel

    Compléments:


  • [mardi 1 novembre 2005] (2 heures) [oop1] Conception d'une classe en conciliant deux points de vues: celui du programmeur de la classe et celui de l'utilisateur.
    • canevas d'une classe
    • protection des membres d'une classe par le modificateur d'accès private
    • usage de l'opérateur new, notion de constructeur
    •  distinction des variables d'instances (ou d'objet) et des variables de classe
    • un membre (variable ou méthode) static est un membre qui peut exister indépendamment de l'existence d'un objet de la classe.
    • différence entre déclaration et création d'un objet: notion de référence sur un objet

    Compléments: Voici le code vers lequel nous avons convergé à la fin du cours:



  • [jeudi 13 octobre 2005] (1 heure) [tableaux] (acétates 6 à 16)
    • boucles et tableaux
    • passage d'un tableau en paramètre: approximation
    •  argmin,min, argmax, max
    • algorithmes de recherche d'un élément dans un tableau

  • [mardi 11 octobre 2005] (2 heures) [art2] (acétates 1 à 28) [tableaux] (acétates 1 à 5)
    • Surdéfinition de méthodes en Java
    • Apprendre à découper un problème en méthodes: cohésion et couplage
    • Les tableaux à une dimension de types primitifs
      • déclaration
      • création
      • indexation
      • un tableau connaît sa longueur

  • [jeudi 6 octobre 2005] (1 heure) [fonctions1] [fonctions2]
    Les fonctions (suite et fin)
    • Approfondissement de ce que nous avons vu mardi:
      • variable locale,
      • passage de paramètre par valeur
    • Subtilités (méfiez vous des codes sémantiquement équivalents)
    •  Parenthèse: gloire++ à votre compilateur (détection de variables non initialisées)
    • Variable locale versus variable de classe
    • Surdéfinition d'une fonction
    • Sensibilisation à javadoc (pour un groupe seulement)

    Compléments:
  • [mardi 4 octobre 2005] (2 heures) [fonctions1] [fonctions2]
    Les fonctions
    • Buts, contrôle du flux d'instruction
    • Syntaxe d'une déclaration de fonction (fonction = type de retour, nom, paramètres et corps). Notion de signature d'une fonction. Curiosité: les grammaire BNF.
    • Syntaxe d'un appel de fonction
    • Exemple illustrant la factorisation d'un code (code à l'acétate 26 de fonctions2)
    • À propos de return
    •  Principe du passage des paramètres

    Compléments:
    • Une grammaire BNF de Java agréable à lire

  • [jeudi 29 septembre 2005] (1 heure) [boucles] [boucles2]
    Les boucles ++
    • exemple 4: Inverser un nombre. Résistez à la simplicité.
    • exemple 5: Un nombre est-t-il premier ? Résistez au break.
    • Les boucles imbriquées
      • Afficher un triangle de motifs
      •  Afficher une diagonale de symboles
      • Tout sur le X

    Compléments:
    • Comparez les deux versions vues en cours de l'inversion d'un entier Inverse.java, ou faites-moi confiance et observez les temps d'execution des deux versions.

  • [mardi 26 septembre 2005] (2 heures) [boucles] [boucles2]
    Les boucles:
    • exemple 1: vérification de la validité d'une saisie (introduction à la classe Keyboard)
    • exemple 2: un mot est-t-il palindrome (être attentif aux conditions d'arrêt, sensibilisation à l'API) ?
    • exemple 3: compter les voyelles dans une chaîne (usage typique du for)
    •  équivalence (?) du for et du while. Règles de bienséance.

    Compléments:

  • [jeudi 1er septembre 2005] (1 heure) [intro]

    Bonne rentrée à toutes et tous. Notre premier cours commence avec quelques généralités:

    • Tour d'horizon du cours IFT1010, conseils d'usage, achat d'un livre, etc.