Pascal conçoit la Pascaline: cette machine mécanique peut effectuer des additions et des soustractions de deux nombres. Il crée cette machine pour faciliter la tâche de son père qui devait remettre en ordre les recettes fiscales de la province de Normandie.
carte perforée pour les métiers à tisser: système de stockage utilisé jusqu’à la seconde partie du XX°
Alan Turing conceptualise la machine universelle qui permet de définir les bases de l'informatique.
Alonzo Church développe le lambda-calcul qui permet de définir les fonctions calculables. Plus tard il montrera que son concept est équivalent à la machine de Turing.
Von Neumann participe au projet EDVAC. La programmation est procédurale (impérative).
Bande magnétique : utilisée pour la première fois dans l’UNIVAC ; 365m pour 50 octet par centimètre.
IBM crée le premier disque dur: la taille d'une machine à laver pour quelques Mo.
Alan Kay développe un langage qui implémente le paradigme objet (Flex puis Samlltalk).
Edgar Codd développe le modèle relationnel. Ce modèle théorique permet de manipuler de grandes quantités de données.
Disquette IBM : support amovible de 1,4Mo
Donald Chamberlin développe le langage SQL pour manipuler et éditer des données stockées dans la base de données relationnelle. Ce langage est normalisé au milieu des années 80.
La science informatique devient une discipline au lycée: la spécialité NSI (Numérique et Science Informatique) fait partie des choix pour les élèves de première et terminale.
se_presenter: qui renvoie une chaîne de caractère présentant la personne.
Créer au moins deux instances de Personne
Exercice 2 *
Définir la classe Rectangle avec les attributs longueur et largeur. Ces attributs seront initialisés par deux arguments passés au moment de l’instanciation.
Ajouter les méthodes:
perimetre: renvoie le périmètre du rectangle (nombre flottant),
aire: renvoie l’aire du rectangle (nombre flottant),
est_carre: renvoie True si le rectangle est un carré.
Écrire un programme qui:
crée un rectangle de dimensions 5.3 et 2.8,
affiche l’aire et le périmètre du rectangle,
vérifie si c’est un carré.
Exercice 3 *
Créer une classe Menu qui permettra de calculer le prix de l’addition dans un restaurant. Il devra posséder les attributs entree, plat, accompagnement, dessert initialisés à None.
Créer les méthodes prendre_entree, prendre_plat, prendre_accompagnement, prendre_dessert qui auront toutes un paramètre de type str.
Créer la méthode calculer_note qui additionne les prix des mets s’ils ont été choisis:
entrée: 8€
plat: 10€
accompagnement: 3€
dessert: 8€
La méthode renverra la somme à payer.
Instancier un Menu et prendre les plats:
plat: steak
accompagnement: frites
dessert: glace
Exercice 4 **
Écrire la classe Livre qui possède les attributs ci-après. Ces attributs seront initialisés par trois paramètres passés au moment de l’instanciation.
Livre
titre (str)
auteur (str)
prix (float)
Créer les mutateurs et accesseurs de ces 3 attributs.
Ajouter la méthode afficher qui renvoie une description du livre sous forme de la chaîne de caractères:
Le livre titre a été écrit par auteur; il coûte prix €.
Créer des instances de la classe Livre:
premier livre:
Le guide du voyageur galactique
Douglas Adams
6.42
deuxième livre:
Germinal
Émile Zola
7.50
Créer la classe Bibliotheque qui stocke des livres dans un tableau. Créer un accesseur pour cet attribut.
Proposer la signature de sa méthode ajouter_livre et la construire.
Construire la méthode afficher_livres qui crée une chaîne de caractères de l’ensemble des livres de la bibliothèque.
Créer une instance de Bibliothèque et ajouter les livres.
Afficher le premier livre de la bibliothèque.
Afficher tout le contenu de la bibliothèque.
Exercice 5 **
Chaque combattant de Fortnite est extrêmement personnalisable. C’est une des caractéristiques qui fait le succès du jeu. Dans cet exercice, on considère qu’il est possible de choisir les éléments:
tenue,
parachute,
trainee.
De plus, chaque personnage possède un niveau d’énergie et un bouclier, tous les deux initialisés à 100. Enfin, il possède un sac à dos qui peut contenir trois éléments maximum.
Un combattant peut ramasser un élément et le mettre dans son sac à dos, si ce dernier n’est pas plein. On représentera les éléments ramassés par des chaînes de caractères (“Gun”, “shield”,…). Quand un objet est ramassé, un message devra être affiché (qu’il soit ajouté ou non au sac).
Il peut également subir une attaque d’une certaine valeur (entière). Le bouclier subit l’attaque en premier puis c’est le niveau d’énergie qui baisse si le bouclier atteint zéro.
Modéliser un combattant de Fortnite.
Implémenter en Python, le modèle créé.
Exercice 6 **
On définit une classe Date pour représenter une date avec trois nombres entiers pour attributs : jour, mois, annee.
Écrire son constructeur.
Écrire la méthode afficher qui renvoie une chaîne de la forme 8 mai 1945.
Écrire la méthode est_avant qui prend une Date pour paramètre et renvoie True si la date en cours est plus ancienne que celle passée en paramètre.