Différences entre versions de « Algorithme A »

De Didaquest
Aller à la navigationAller à la recherche
 
(10 versions intermédiaires par le même utilisateur non affichées)
Ligne 85 : Ligne 85 :
 
Image:IMG2.png |Ecriture d'un algorithme
 
Image:IMG2.png |Ecriture d'un algorithme
 
Image:IMG3.png |Algorithme
 
Image:IMG3.png |Algorithme
Image:Image_algo2.jpg |Diagramme
 
  
 
</gallery><!-- ************** Fin modification images***************************-->
 
</gallery><!-- ************** Fin modification images***************************-->
Ligne 119 : Ligne 118 :
 
<!----------------- Commencez les modifications des Mots Clés --------------------->
 
<!----------------- Commencez les modifications des Mots Clés --------------------->
  
|Mot-Clé-1= Programme
+
|Mot-Clé-1= Programmation
|Mot-Clé-2= Compilation
+
|Mot-Clé-2= Langage de programmation
|Mot-Clé-3= AL KHAWARIZIMI
+
|Mot-Clé-3= Mathématiques
|Mot-Clé-4= Langage de programmation
+
|Mot-Clé-4= Logique
|Mot-Clé-5=Informatique
+
|Mot-Clé-5= Logique booléenne
|Mot-Clé-6=
+
|Mot-Clé-6= Inclusion
|Mot-Clé-7=
+
|Mot-Clé-7= Exclusion
|Mot-Clé-8=
 
|Mot-Clé-9=
 
|Mot-Clé-10=
 
  
 
}}<!-- ********************* FIN Fiche Didactique Mots-clés *******************-->
 
}}<!-- ********************* FIN Fiche Didactique Mots-clés *******************-->
<!-- ****************** Commencez les modifications ***********************  -->
 
 
{{@}} [[Un algorithme]] est composé d'instructions et d'opérations réalisées, dans un ordre précis, sur des données afin de produire un résultat, et souvent résoudre un problème plus ou moins complexe.
 
{{@}} Un algorithme sert a assurer la planification de ressources et la cryptographie, il peut s'appliquer à des données analogiques comme dans le cas du traitement d'image.
 
<!-- ************************* Fin ***************************************** -->
 
  
 
= {{Widget:Exemples-applications-utilisations-Fiche}} =
 
= {{Widget:Exemples-applications-utilisations-Fiche}} =
Ligne 147 : Ligne 138 :
 
<!-- ****************** Commercez les modifications ***********************  -->
 
<!-- ****************** Commercez les modifications ***********************  -->
  
*Un opérateur booléen permet de lier plusieurs propositions d'une [[requête]] par un « ET », un « OU » ou un « SAUF ».
+
En ce qui concerne le début de cet [[algorithme]], il n’y a aucune difficulté. C’est de la saisie des [[variables]]:<br>
<!-- ****************** Commercez les modifications ***********************  -->
+
::::::::<b><i>Variables J, M, A, JMax : Entier <br>
<!-- Modes disponibles: traditional ou nolines ou packed ou packed-hover ou packed-overlay ou slideshow  -->
+
::::::::Variables VJ, VM, B: Booléen <br>
<gallery mode="packed-hover"> <!-- Vous pouvez remplacer et adapter le mode  -->
+
::::::::Début<br>
<!-- Remplacer et adapter image, format et Titre -->
+
::::::::Ecrire "Entrez le numéro du jour"<br>
 +
::::::::Lire J<br>
 +
::::::::Ecrire "Entrez le numéro du mois"<br>
 +
::::::::Lire M<br>
 +
::::::::Ecrire "Entrez l'année"<br>
 +
::::::::Lire A</b></i><br>
 +
C'est évidemment ensuite que les ennuis commencent… La première manière d'aborder la chose consiste à se dire que fondamentalement, la structure [[logique]] de ce problème est très simple. Si nous créons deux variables [[booléennes]] VJ et VM, représentant respectivement la validité du jour et du mois entrés, la fin de l'algorithme sera d'une simplicité biblique (l’année est valide par définition, si on évacue le débat byzantin concernant l’existence de l’année zéro) :
 +
::::::::<b><i>Si VJ et VM alors
 +
:::::::::::Ecrire "La date est valide"
 +
::::::::Sinon
 +
:::::::::::Ecrire "La date n'est pas valide"
 +
::::::::FinSi</b></i><br>
 +
Toute la difficulté consiste à affecter correctement les variables VJ et VM, selon les valeurs des variables J, M et A. Dans l'absolu, VJ et VM, on peut sérier la difficulté en créant deux variables supplémentaires :<br>
 +
 
 +
B      : variable booléenne qui indique s'il s'agit d'une année bissextile<br>
 +
JMax : variable numérique qui indiquera le dernier jour valable pour le mois entré.
 +
 
 +
On commence par initialiser nos variables booléennes, puis on traite les années, puis les mois, puis les jours:<br>
 +
::::::::<b><i>B ← A mod 400 =0 ou (non(A mod 100=0) et A mod 4=0)
 +
::::::::Jmax ← 0
 +
::::::::VM ← M >= 1 et M =< 12
 +
::::::::Si VM Alors
 +
:::::::::::Si M = 2 et B Alors
 +
:::::::::::::JMax ← 29
 +
:::::::::::SinonSi M = 2 Alors
 +
:::::::::::::JMax ← 28
 +
:::::::::::SinonSi M = 4 ou M = 6 ou M = 9 ou M = 11 Alors
 +
:::::::::::::JMax ← 30
 +
:::::::::::Sinon
 +
:::::::::::::JMax ← 31
 +
:::::::::::FinSi
 +
:::::::::::VJ ← J >= 1 et J =< Jmax
 +
::::::::FinSi
 +
 
 +
 
  
Image:MM algo1.png |Modélisation algorithme
 
  
  
</gallery><!-- ************** Fin modification images***************************-->
 
Par exemple, si l'utilisateur saisit la valeur 1 pour x, l'algorithme va afficher le nombre: 6.
 
  
*...............................................................................
 
................................................................................
 
................................................................................
 
................................................................................
 
 
}}<!--************** Fin Fiche Didactique Explicitations ******************* -->
 
}}<!--************** Fin Fiche Didactique Explicitations ******************* -->
  
Ligne 177 : Ligne 195 :
 
* Confusion entre [[Entier - Réel]]
 
* Confusion entre [[Entier - Réel]]
 
* Confusion entre [[Div - Mod]]
 
* Confusion entre [[Div - Mod]]
* Erreur fréquente: ....................
+
* Erreur fréquente: Mettre une affectation à la place d'une condition dans les structures de contrôle conditionnelles
  
 
}}<!-- ************** Fin Fiche Didactique Conceptions ********************* -->
 
}}<!-- ************** Fin Fiche Didactique Conceptions ********************* -->
Ligne 265 : Ligne 283 :
 
<!-- ****************** Commercez les modifications ************-->
 
<!-- ****************** Commercez les modifications ************-->
  
:* https://interstices.info/quest-ce-quun-algorithme/
+
https://fr.wikiversity.org/wiki/Algorithmique/<br>
:* ..................
+
https://fr.khanacademy.org/computing/computer-programming/programming/variables/a/review-variables<br>
:* ..................
+
https://interstices.info/quest-ce-quun-algorithme/  
 +
 
 +
 
  
 
}}<!-- ************ Fin Liens Education ********************** -->
 
}}<!-- ************ Fin Liens Education ********************** -->
Ligne 280 : Ligne 300 :
 
<!-- Complétez les pointillés et Supprimez les lignes non utilisées  ----->
 
<!-- Complétez les pointillés et Supprimez les lignes non utilisées  ----->
 
<!-- ****************** Commercez les modifications *********************-->
 
<!-- ****************** Commercez les modifications *********************-->
 +
https://fr.wikiversity.org/wiki/Algorithmique/Variables<br>
 +
https://www.cours-gratuit.com/cours-algorithme/cours-algorithmique-en-ppt<br>
 +
https://www.examanet.net/universite-de-tunis-el-manar/fseg-tunis/132-exercices-corriges-en-algorithmique-instructions-conditionnelles-et-alternatives<br>
 +
http://cours.pise.info/algo/logique.htm#Ap4.6
 +
 +
  
* ..................                                             
 
* ..................
 
* ..................                                               
 
* ..................                                               
 
  
 
}}<!-- ************* Fin Fiche Didactique Bibliographie *************** -->
 
}}<!-- ************* Fin Fiche Didactique Bibliographie *************** -->
  
 
{{Widget:Fiche-Conceptuelle-Bas}}
 
{{Widget:Fiche-Conceptuelle-Bas}}

Version actuelle datée du 8 juin 2022 à 20:53


Autres Fiches Conceptuelles
Posez une Question


(+)

Target Icon.pngVotre Publicité sur le Réseau Target Icon.png

Puce-didaquest.png Traduction


More-didaquest.png Traductions


Puce-didaquest.png Définition

Domaine, Discipline, Thématique


More-didaquest.png Justification


Définition écrite



Blue-circle-target.pngMême si les algorithmes sont souvent considérés comme étant du ressort exclusif des mathématiques et de l'informatique, leur champ d'application est en réalité beaucoup plus vaste. Le mot « algorithme » vient du nom du grand mathématicien persan Al Khwarizmi (vers l’an 820), qui introduisit en Occident la numération décimale (rapportée d’Inde) et enseigna les règles élémentaires des calculs s’y rapportant. La notion d’algorithme est donc historiquement liée aux manipulations numériques, mais elle s’est progressivement développée pour porter sur des objets de plus en plus complexes:

  • Des textes,
  • Des images,
  • Des formules logiques,
  • Des objets physiques, etc.

More-didaquest.png Algorithme A - Historique (+)


Définition graphique


Ing-connaissance.png Carte conceptuelle : Algorithmique






Puce-didaquest.png Concepts ou notions associés


More-didaquest.png Algorithme A - Glossaire / (+)



Puce-didaquest.png Exemples, applications, utilisations

En ce qui concerne le début de cet algorithme, il n’y a aucune difficulté. C’est de la saisie des variables:

Variables J, M, A, JMax : Entier
Variables VJ, VM, B: Booléen
Début
Ecrire "Entrez le numéro du jour"
Lire J
Ecrire "Entrez le numéro du mois"
Lire M
Ecrire "Entrez l'année"
Lire A

C'est évidemment ensuite que les ennuis commencent… La première manière d'aborder la chose consiste à se dire que fondamentalement, la structure logique de ce problème est très simple. Si nous créons deux variables booléennes VJ et VM, représentant respectivement la validité du jour et du mois entrés, la fin de l'algorithme sera d'une simplicité biblique (l’année est valide par définition, si on évacue le débat byzantin concernant l’existence de l’année zéro) :

Si VJ et VM alors
Ecrire "La date est valide"
Sinon
Ecrire "La date n'est pas valide"
FinSi

Toute la difficulté consiste à affecter correctement les variables VJ et VM, selon les valeurs des variables J, M et A. Dans l'absolu, VJ et VM, on peut sérier la difficulté en créant deux variables supplémentaires :

B : variable booléenne qui indique s'il s'agit d'une année bissextile
JMax : variable numérique qui indiquera le dernier jour valable pour le mois entré.

On commence par initialiser nos variables booléennes, puis on traite les années, puis les mois, puis les jours:

B ← A mod 400 =0 ou (non(A mod 100=0) et A mod 4=0)
Jmax ← 0
VM ← M >= 1 et M =< 12
Si VM Alors
Si M = 2 et B Alors
JMax ← 29
SinonSi M = 2 Alors
JMax ← 28
SinonSi M = 4 ou M = 6 ou M = 9 ou M = 11 Alors
JMax ← 30
Sinon
JMax ← 31
FinSi
VJ ← J >= 1 et J =< Jmax
FinSi

(+)


Puce-didaquest.png Erreurs ou confusions éventuelles



Puce-didaquest.png Questions possibles



Puce-didaquest.png Liaisons enseignements et programmes

Idées ou Réflexions liées à son enseignement



Aides et astuces



Education: Autres liens, sites ou portails




Puce-didaquest.png Bibliographie