entrainement informatique 2019 pseudo code
Préparation au concours
Fiche métier et concours
Fiche métier et concours
entrainement informatique 2019 pseudo code
Bonjour à vous,
J'ai passé le concours cette année. Malheureusement, non admissible. J'ai loupé l'épreuve d'informatique (un point dans le sujet m'a posée problème et j'y ai passé trop de temps à essayer de le résoudre), en dessous de 10.
Du coup, je souhaiterais vous soumettre ma proposition sur le sujet de 2019 (pseudo code) afin d'avoir des avis et pouvoir m'améliorer (syntaxe).
--------------------------------------------------------------------------------------
Variables
score_final / Score final de la partie (comprend le score du joueur plus les points obtenus à partir du classement) /INT
FONCTION renseignerResultatpartie idjoueur
DEBUT
# ajouter ou modifier le score d’un joueur
LIRE idjoueur, idpartie
SELECT score,points FROM RenseignerPartie where idjoueur=idjoueur and idpartie=idpartie
FAIRE score_final=score+points
LIRE score_final
#calculer le score de l’ensemble des joueurs d’une partie afin de déterminer un classement
//On considère que tous les scores finaux de chaque joueur est connu grâce à aux lignes précédentes sont stockés dans un tableau
Lire idpartie
SELECT score FROM RenseignerPartie ORDER BY DESC WHERE idpartie=idpartie
#calcul du nombre de points
TANT QUE ?? (lire 1 à 1 les scores, et associer à chaque score le point)
FAIRE score_final = score+points
LIRE score_final
FIN
--------------------------------------------------------------------------------------
Je travaille depuis quelques temps sur ce concours (un an environ), autodidacte (reconversion).
Ce site m'a bien aidée pour me préparer (cadrage général) mais des interrogations demeurent (je ne trouve pas toujours les énoncés très clairs en informatique surtout les deux derniers en date ) et sans un regard extérieur sur mon travail je ne pourrais pas progresser.
J'ai une question également : Peut-on mettre du sql dans du pseudo -code ? Peut-on rajouter des variables comme score_final, un tableau intermédiaire en le justifiant ?
En vous remerciant par avance,
Bonne soirée à vous,
J'ai passé le concours cette année. Malheureusement, non admissible. J'ai loupé l'épreuve d'informatique (un point dans le sujet m'a posée problème et j'y ai passé trop de temps à essayer de le résoudre), en dessous de 10.
Du coup, je souhaiterais vous soumettre ma proposition sur le sujet de 2019 (pseudo code) afin d'avoir des avis et pouvoir m'améliorer (syntaxe).
--------------------------------------------------------------------------------------
Variables
score_final / Score final de la partie (comprend le score du joueur plus les points obtenus à partir du classement) /INT
FONCTION renseignerResultatpartie idjoueur
DEBUT
# ajouter ou modifier le score d’un joueur
LIRE idjoueur, idpartie
SELECT score,points FROM RenseignerPartie where idjoueur=idjoueur and idpartie=idpartie
FAIRE score_final=score+points
LIRE score_final
#calculer le score de l’ensemble des joueurs d’une partie afin de déterminer un classement
//On considère que tous les scores finaux de chaque joueur est connu grâce à aux lignes précédentes sont stockés dans un tableau
Lire idpartie
SELECT score FROM RenseignerPartie ORDER BY DESC WHERE idpartie=idpartie
#calcul du nombre de points
TANT QUE ?? (lire 1 à 1 les scores, et associer à chaque score le point)
FAIRE score_final = score+points
LIRE score_final
FIN
--------------------------------------------------------------------------------------
Je travaille depuis quelques temps sur ce concours (un an environ), autodidacte (reconversion).
Ce site m'a bien aidée pour me préparer (cadrage général) mais des interrogations demeurent (je ne trouve pas toujours les énoncés très clairs en informatique surtout les deux derniers en date ) et sans un regard extérieur sur mon travail je ne pourrais pas progresser.
J'ai une question également : Peut-on mettre du sql dans du pseudo -code ? Peut-on rajouter des variables comme score_final, un tableau intermédiaire en le justifiant ?
En vous remerciant par avance,
Bonne soirée à vous,
Re: entrainement informatique 2019 pseudo code
Je ne suis pas vraiment un expert et j'ai fait ça un petit peu au "feeling" mais étant admissible je peux te dire ce que j'ai fait pour la partie pseudo-code
Personnellement je suis allé au plus simple et ai suivi " simplement " par étape ce qui devait être fait en Français, comme une recette de cuisine, j'ai vraiment fait simple et ai mis pas mal de commentaires expliquant mon raisonnement
( ensuite la tu mélanges Français et Anglais, pas sûr que ce soit une super bonne idée )
Après je pense que des personnes ici seront bien plus qualifié que moi pour t’aiguiller
Bon courage pour la suite
Personnellement je suis allé au plus simple et ai suivi " simplement " par étape ce qui devait être fait en Français, comme une recette de cuisine, j'ai vraiment fait simple et ai mis pas mal de commentaires expliquant mon raisonnement
( ensuite la tu mélanges Français et Anglais, pas sûr que ce soit une super bonne idée )
Après je pense que des personnes ici seront bien plus qualifié que moi pour t’aiguiller
Bon courage pour la suite
Re: entrainement informatique 2019 pseudo code
Salut,
Je réponds dans le désordre, parce que tes questions finales conditionnent mes remarques sur ta proposition de réponse
Tes "SELECT" => poubelle
Rien n'interdit de rajouter des variables au milieu (d'autant plus qu'on ne s'en prive pas quand on pond un programme)
Toutefois, comme on est dans un cadre théorique et uniquement sur papier, on se doute que tu as fait un brouillon et que tu es en capacité de refaire plusieurs passes avant d'écrire au propre.
Dans le cadre de l'exercice ou du concours, on appréciera mieux de voir toutes les variables au début
Il y a 2 choses :
Pour rappel :
La règle de calcul des points est donnée juste avant la description de la table ResultatPartie
Ma conclusion : je pense que tu as interprété trop rapidement la question pour entrer dans le (pseudo-)code
Tu dois prendre le temps de bien comprendre l'énoncé (si nécessaire, faire des aller-retours entre la question et les éléments de l'énoncé qui s'y rapportent)
Je réponds dans le désordre, parce que tes questions finales conditionnent mes remarques sur ta proposition de réponse
Dans un pseudo-code, il ne doit RIEN figurer qui ressemble à du code, ce qui signifie syntaxe liée à AUCUN langage, qu'il s'agisse de programmation (php, java, cobol, etc) ou de requêtage (sql, dli, etc)
Tes "SELECT" => poubelle
Rien n'interdit de rajouter des variables au milieu (d'autant plus qu'on ne s'en prive pas quand on pond un programme)
Toutefois, comme on est dans un cadre théorique et uniquement sur papier, on se doute que tu as fait un brouillon et que tu es en capacité de refaire plusieurs passes avant d'écrire au propre.
Dans le cadre de l'exercice ou du concours, on appréciera mieux de voir toutes les variables au début
Je ne reviens pas sur le "select"alphaone a écrit : ↑09 juin 2020 20:36 Variables
score_final / Score final de la partie (comprend le score du joueur plus les points obtenus à partir du classement) /INT
FONCTION renseignerResultatpartie idjoueur
DEBUT
# ajouter ou modifier le score d’un joueur
LIRE idjoueur, idpartie
SELECT score,points FROM RenseignerPartie where idjoueur=idjoueur and idpartie=idpartie
FAIRE score_final=score+points
LIRE score_final
Il y a 2 choses :
- ton pseudo-code n'est pas cohérent avec le commentaire : tu ne fais que cumuler les scores ("ajouter"), mais tu ne modifies pas
- le plus important : tu fais une confusion entre le score (dixit l'énoncé : "obtenu par le joueur lors de la partie") et le nombre de points (toujours dixit l'énoncé : "obtenus par le joueur en fonction de son classement dans la partie associée").
Pour une partie donnée, un joueur donné réalise un certain score, ce qui lui octroie des points. Tu ne peux pas cumuler deux nombres qui n'ont pas la même fonction !
Attention à ce que ta réponse corresponde à ce qui est demandé !alphaone a écrit : ↑09 juin 2020 20:36 #calculer le score de l’ensemble des joueurs d’une partie afin de déterminer un classement
//On considère que tous les scores finaux de chaque joueur est connu grâce à aux lignes précédentes sont stockés dans un tableau
Lire idpartie
SELECT score FROM RenseignerPartie ORDER BY DESC WHERE idpartie=idpartie
#calcul du nombre de points
TANT QUE ?? (lire 1 à 1 les scores, et associer à chaque score le point)
FAIRE score_final = score+points
LIRE score_final
FIN
Pour rappel :
Il doit donc y avoir un contrôle pour répondre à la question "est-ce qu'il reste des scores à saisir après '# ajouter ou modifier le score d’un joueur' ?" entre le bloc de pseudo-code "# ajouter ou modifier le score d’un joueur" et "#calculer le score de l’ensemble des joueurs d’une partie"Cette fonction doit également calculer le nombre de points obtenus par les joueurs afin de pouvoir établir un classement lorsque tous les scores sont renseignés. Le calcul du nombre de points devra donc être déclenché lors de la saisie du dernier score de la partie.
La règle de calcul des points est donnée juste avant la description de la table ResultatPartie
On s'attend donc à voir :Chaque joueur fait gagner à son équipe un certain nombre de points en fonction du classement défini lorsque tous les joueurs d’une partie ont terminé celle-ci :
- 20 points pour la première place,
- 19 points pour la seconde place,
- 1 point pour la dernière place lorsque 20 équipes jouent. Dans le cas de figure ne comprenant que 10 équipes en lice, le dernier de la partie aura 11 points
- un contrôle pour savoir combien d'équipes ont joué
- un tri des joueurs par ordre de score
- une boucle parcourant cette liste triée pour attribution des points
Ma conclusion : je pense que tu as interprété trop rapidement la question pour entrer dans le (pseudo-)code
Tu dois prendre le temps de bien comprendre l'énoncé (si nécessaire, faire des aller-retours entre la question et les éléments de l'énoncé qui s'y rapportent)
-
- Modérateur
- Messages : 256
- Inscription : 19 avr. 2013 20:39
Re: entrainement informatique 2019 pseudo code
Je n'ai pas étudié le problème, ni lu l'ensemble de la réponse d'Eugne qui, j'en suis sûr, est très pertinante. Je ne répondrai donc as sur le fond.
Je rejoins juste la première remarque d'Eugne. En pseudo-code tu ne dois pas avoir de code. L'idée est d'écrire, en français, les étapes de la résolution de ton problème. L'idée, c'est qu'un non informaticien puisse comprendre ton raisonnement. De la même manière, ton raisonnement doit pouvoir être "traduit" dans n'importe quel langage informatique par un informaticien. Par exemple, si un jour tu bosses en MOA et que tu écris un cas d'utilisation à destinations de développeurs, tu ne sauras pas forcément à l'avance quel langage sera utilisé et même si c'était le cas, tu ne le connaitras pas forcément. Donc il est important de fournir un pseudo-code neutre de toute syntaxe liée à un langage spécifique.
Par exemple parfois j'en ai vu écrire comme en objet du genre : objet.attribut -> affectation.
A moins d'avoir appris un langage avec ce type de synthaxe très spécifique, la personne qui te lira ne comprendra pas la signification des "." et "->". C'est totalement indigeste.
De la même manière, évite l'anglais dans le pseudo-code.
Concrètement, pour du SQL, tu peux très bien essayer de franciser le langage.
Par exemple pour ton : SELECT score,points FROM RenseignerPartie where idjoueur=idjoueur and idpartie=idpartie
Tu pourrais changer par :
SELECTIONNER attribut1
DANS tableA
OU idjoueur = xxx ET idpartie = yyy
Tu peux même remplacer "=" par du français là aussi "est égal à" ou" correspond à".
Le pseudo-code n'est pas un langage normalisé. Tu n'es donc pas obligé d'avoir une traduction strictement littérale et utiliser les mêmes contraintes. Tu peux même faire des phrases si cela t'inspire. Certains le font. L'important c'est que toutes les étapes de ton raisonnement soient claires.
En utilisant le même exemple cela donnerait : "Récupérer les attributs du champs 'attribut1' dans la table 'tableA' ou l'attribut 'idJoueur' corresponsant à l'attribut 'xxx'."
Là il est évident que tu pourrais le traduire en SQL, mais tu pourrais aussi l'utiliser avec un autre langage ou même avec un autre type de base de donnée (fichiers, NoSQL...).
Je rejoins juste la première remarque d'Eugne. En pseudo-code tu ne dois pas avoir de code. L'idée est d'écrire, en français, les étapes de la résolution de ton problème. L'idée, c'est qu'un non informaticien puisse comprendre ton raisonnement. De la même manière, ton raisonnement doit pouvoir être "traduit" dans n'importe quel langage informatique par un informaticien. Par exemple, si un jour tu bosses en MOA et que tu écris un cas d'utilisation à destinations de développeurs, tu ne sauras pas forcément à l'avance quel langage sera utilisé et même si c'était le cas, tu ne le connaitras pas forcément. Donc il est important de fournir un pseudo-code neutre de toute syntaxe liée à un langage spécifique.
Par exemple parfois j'en ai vu écrire comme en objet du genre : objet.attribut -> affectation.
A moins d'avoir appris un langage avec ce type de synthaxe très spécifique, la personne qui te lira ne comprendra pas la signification des "." et "->". C'est totalement indigeste.
De la même manière, évite l'anglais dans le pseudo-code.
Concrètement, pour du SQL, tu peux très bien essayer de franciser le langage.
Par exemple pour ton : SELECT score,points FROM RenseignerPartie where idjoueur=idjoueur and idpartie=idpartie
Tu pourrais changer par :
SELECTIONNER attribut1
DANS tableA
OU idjoueur = xxx ET idpartie = yyy
Tu peux même remplacer "=" par du français là aussi "est égal à" ou" correspond à".
Le pseudo-code n'est pas un langage normalisé. Tu n'es donc pas obligé d'avoir une traduction strictement littérale et utiliser les mêmes contraintes. Tu peux même faire des phrases si cela t'inspire. Certains le font. L'important c'est que toutes les étapes de ton raisonnement soient claires.
En utilisant le même exemple cela donnerait : "Récupérer les attributs du champs 'attribut1' dans la table 'tableA' ou l'attribut 'idJoueur' corresponsant à l'attribut 'xxx'."
Là il est évident que tu pourrais le traduire en SQL, mais tu pourrais aussi l'utiliser avec un autre langage ou même avec un autre type de base de donnée (fichiers, NoSQL...).
Re: entrainement informatique 2019 pseudo code
Merci pour vos réponses.
J'en prends note. Je vais mettre en pratique tout cela.
Bien à vous,
J'en prends note. Je vais mettre en pratique tout cela.
Bien à vous,
Re: entrainement informatique 2019 pseudo code
Je serais intéressé par un 2e jet de réponse 

Re: entrainement informatique 2019 pseudo code
Bonjour à tous,
Pour le pseudo code , peut-on écrire la syntaxe suivante ? :
VARIABLES
prenom : chaine de caractère
nom : chaine de caractere
DEBUT
prenom <-- "jean"
nom <-- "pierre"
AFFICHER "mon nom est" ,nom, "mon prenom est" ,prenom
FIN
ou encore :
SI....ALORS
DEBUT SI
.....
FIN SI
SINON
DEBUT SINON
....
FIN SINON
etc.
Merci d'avance pour vos retours.
Pour le pseudo code , peut-on écrire la syntaxe suivante ? :
VARIABLES
prenom : chaine de caractère
nom : chaine de caractere
DEBUT
prenom <-- "jean"
nom <-- "pierre"
AFFICHER "mon nom est" ,nom, "mon prenom est" ,prenom
FIN
ou encore :
SI....ALORS
DEBUT SI
.....
FIN SI
SINON
DEBUT SINON
....
FIN SINON
etc.
Merci d'avance pour vos retours.
Re: entrainement informatique 2019 pseudo code
Les 2 sont valables 

Re: entrainement informatique 2019 pseudo code
ok merci eugne
Préparation au concours
Fiche métier et concours
Fiche métier et concours