You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cours-MDS/b1-algo/c3-1-ALGORITHMIQUE-correcti...

4.1 KiB

Corrigé test blanc du 4/1/2022

https://forms.gle/pYx83zfr1dz8dajk7

test 9h30 -> 11h (1h30)

L'ensemble des méthodes et des propriétés d'un objet s'appelle :

une interface

Quelle est le nom de la méthode que l'on utilise pour initialiser un objet à partir de valeurs ?

quelques réponses faites et leur validité ou non ...

  • initialisateur : dans l'idée pourquoi pas mais pas le bon terme
  • new Object() ou Object.create() : c'est des instructions dans un langage
  • encapsulation : le premier concept objet le fait d'avoir des méthodes privées ou public ou protégées
  • Une Variable : pas un concept spécifiquement objet
  • Constructeur : c'est bien le nom de la méthode, bonne réponse
  • l'instanciation : c'est effectivement le concept sous jacent mais pas la méthode
  • héritage : deuxième concept objet le fait de pouvoir hériter les propriétés et les méthodes d'un objet parent, exemple cercle étend forme.
  • Javascript : c'est un langage de programmation pas un concept objet.

Ecrire un algorithme qui demande un nombre à lutilisateur, et linforme ensuite si ce nombre est positif ou négatif. Le cas du zéro étant gênant, votre algorithme doit afficher que la valeur est nulle.

variable nombre en entier;

Afficher "Nombre ?";
Lire nombre;

Si nombre > 0 alors 
   Afficher "Le nombre est positif";
Sinon si nombre < 0 alors
  Afficher "le nombre est négatif";
Sinon
  Affciher "le nombe est 0";
Fin si

Un magasin de reprographie facture 0,10€ les dix premières photocopies, 0,09€ les vingt suivantes et 0,08€ au-delà. Ecrivez un algorithme qui demande à lutilisateur le nombre de photocopies effectuées et qui affiche la facture correspondante.

Solution 1 en partant du haut vers le bas:

variable prix en décimal;
variable nombre en entier;

Afficher "Nombre ?";
Lire nombre;

Si nombre > 30 Alors 
  prix = (nombre-30 * 0.08) + 20*0.09 + 10*0.1
Sinon si nombre > 10
  prix = (nombre-10 * 0.09) + 10*0.1
Sinon   
  prix = nombre * 0.1
Fin si 

Afficher "Le prix total est: " ~ prix

Solution 2 en patant du bas vers le haut :

Variables n, p en Numérique
Début
    Ecrire "Nombre de photocopies : "
    Lire n
    Si n <= 10 Alors
        p ← n * 0,1
    SinonSi n <= 30 Alors
        p ← 10 * 0,1 + (n  10) * 0,09
    Sinon
        p ← 10 * 0,1 + 20 * 0,09 + (n  30) * 0,08
    FinSi
    Ecrire "Le prix total est: ", p
Fin

Solution 3 en comptant copie par copie :

variable prix en décimal;
variable nombre en entier;

Afficher "Nombre ?";
Lire nombre;

pour i =0, i<nombre, i ++
   si i < 10 
     prix = prix + 0.10;
  sinon si i < 30 
     prix = prix + 0.09;
 sinon 
    prix = prix + 0.08;
fin pour 
Afficher "Le prix total est: " ~ prix

Au vu de ce pseudo code :

var a, b entier;
ca = 2;
a = a+1;
b = -3;
a = a*b;

Quelles sont les phrases vraies parmies celles-ci

  • - est un opérateur
  • sur la dernière ligne a et b sont des opérandes
  • à la fin du pseudo code a et b sont négatifs (respectivement ils valent -9 et -3)

La première est fausse : + n'est pas un opérande mais un opérateur

Ecrire le pseudo code définissant un objet abstrait jouet, avec un prix, un poids, un stock. Un jouet a deux fonctions, une pour ajouter du stock, un pour le diminuer.

objet abstrait jouet  
    var protégée prix, poids : décimal;
    var protégée stock : entier;

    methode constructeur(prix,poids,stock)
        ceci->prix = prix;
        ceci->poids = poids;
        ceci->stock = stock;
    fin methode

    methode ajouter(nombre=1)
       ceci->stock = ceci->stock + nombre;
    fin methode

    methode diminuer(nombre=1)
       ceci->stock = ceci->stock - nombre;
    fin methode
fin objet

Ecrie le pseudo code définissant un nounours comme un jouet avec une couleur et une matière

objet nounours étend jouet
    var couleur, matière chaînes;
    methode constructeur(prix,poids,stock,couleur,matière)
        parent->constructeur(prix,poids,stock);
        ceci->couleur = couleur;
        ceci->matière = matière;
    fin methode;
fin objet