Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3331 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Lien entre algorithme et language C

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Lien entre algorithme et language C

n°1954764
supalex06
ΛІεχ
Posté le 04-01-2010 à 12:30:09  profilanswer
 

Bonjour,
 
J'aimerais savoir quel est le lien entre l'algorithme et le langage C.
 
Désolé si la question est mal posée mais c'est un peu le foutoir dans ma tête.


---------------
☼ [Feed Back] Supalex06 ☼  http://forum.hardware.fr/hfr/Achat [...] 7029_1.htm
mood
Publicité
Posté le 04-01-2010 à 12:30:09  profilanswer
 

n°1954765
Elmoricq
Modérateur
Posté le 04-01-2010 à 12:33:54  profilanswer
 

Un algorithme est un moyen de parvenir à un résultat.
 
Un langage peut coder des algorithmes.

n°1954766
supalex06
ΛІεχ
Posté le 04-01-2010 à 12:36:31  profilanswer
 

Dan mon école d'info on m'apprends l'algorithme mais je ne vois pas trop pourquoi ?!
 
Existe t'il plusieurs façon d'écrire un algorithmique ou uniquement de cette façon (c'est un exemple) :
 

Programme  « majeur »
 Age : entier
Debut
 afficher « saisir age »
 saisir Age
 Si (Age < 18) alors
  afficher « MINEUR »
 Sinon
  afficher « MAJEUR »
 Fsi
Fin

Message cité 1 fois
Message édité par supalex06 le 04-01-2010 à 12:36:56

---------------
☼ [Feed Back] Supalex06 ☼  http://forum.hardware.fr/hfr/Achat [...] 7029_1.htm
n°1954777
ChtiGariX
Retraité
Posté le 04-01-2010 à 13:32:10  profilanswer
 

supalex06 a écrit :

Dan mon école d'info on m'apprends l'algorithme mais je ne vois pas trop pourquoi ?!
 
Existe t'il plusieurs façon d'écrire un algorithmique ou uniquement de cette façon (c'est un exemple) :
 

Programme  « majeur »
 Age : entier
Debut
 afficher « saisir age »
 saisir Age
 Si (Age < 18) alors
  afficher « MINEUR »
 Sinon
  afficher « MAJEUR »
 Fsi
Fin



En général un langage algorithmique est enseigné pour apprendre aux élèves à écrire des algos permettant de résoudre des problèmes, sans que ça soit "pollué" par les spécificités du langage utilisé pour l'apprentissage de la programmation -> que les élèves ne se mettent pas à "penser" en C ou autre.
 
Le mieux aurait pu être de demander aux profs :o


---------------
Retraité de discussions
n°1954784
supalex06
ΛІεχ
Posté le 04-01-2010 à 13:49:16  profilanswer
 

mais en fait je ne comprends pas plusieurs choses :

 

- dans l'echelle des niveaux (de bas à haut niveaux) est ce que l'algorithme est au meme niveau que le C ou en dessous ?

 

- Pourquoi écrit-on en français ? ce n'est pas internationale ?


Message édité par supalex06 le 04-01-2010 à 13:58:48

---------------
☼ [Feed Back] Supalex06 ☼  http://forum.hardware.fr/hfr/Achat [...] 7029_1.htm
n°1954787
Elmoricq
Modérateur
Posté le 04-01-2010 à 13:56:23  profilanswer
 

Il n'y a pas de niveau pour les algorithmes, et ce n'est pas un langage. On l'écrit comme on veut, l'essentiel est de faire passer l'idée de ce qu'on veut coder.
 
Par exemple, l'algorithme des Tours de Hanoï.

n°1954788
supalex06
ΛІεχ
Posté le 04-01-2010 à 14:02:39  profilanswer
 

en fait on peut "coder" un peu comme on veut, l'important c'est la compréhension ?
 
mais je me souvenais d'algorithmes avec des losanges et une série de flèches qui montent et qui descendent, ça n'a rien à voir ?
 
http://static.intellego.fr/uploads/1/0/1024/media/Sans-titre-1.jpg


Message édité par supalex06 le 04-01-2010 à 14:04:31

---------------
☼ [Feed Back] Supalex06 ☼  http://forum.hardware.fr/hfr/Achat [...] 7029_1.htm
n°1954791
MagicBuzz
Posté le 04-01-2010 à 14:05:26  profilanswer
 

L'algo, c'est la description de la procédure à effectuer pour parvenir au résultat. Comme le dit Elmoricq, il n'y a pas de langage spécifique, pas de problème de syntaxe ni de langue : le but de l'algo, c'est que ta grand-mère soit capable de comprendre ce que tu fais.
Ensuite, tu peux "traduire" l'algo en C ou tout autre langage (implémenter est plus adapté). L'algo, c'est juste l'étape "papier/crayon" qu'on fait avant de se mettre derrière son PC, histoire d'avoir les idées claires au moment où on se met à coder.

 

-- Edit : Ton graphique, c'est un moyen visuel de matérialiser un algorithme. Dans mon IUT, on appelait ça un "arbre de programmation". Dans la méthode MERISE, ça peut être normalisé sous forme d'un MCT, même si c'est pas le but premier du MCT. Ca reste au même niveau que l'algo en effet, une étape permettant d'aborder avec les idées claires l'étape de développement.


Message édité par MagicBuzz le 04-01-2010 à 14:08:44
n°1954795
supalex06
ΛІεχ
Posté le 04-01-2010 à 14:18:42  profilanswer
 

Donc on peut représenter un algo de façon graphique et textuel c'est bien ça?
 
Qu'est ce que tu appelles un MCT ?


---------------
☼ [Feed Back] Supalex06 ☼  http://forum.hardware.fr/hfr/Achat [...] 7029_1.htm
n°1954808
MagicBuzz
Posté le 04-01-2010 à 14:31:44  profilanswer
 

MCT => Modèle Conceptuel des Traitements. Normalement, c'est pas fait pour faire de l'algorithmique aussi détaillée. C'est plutôt pour dire "bon, quand la secrétaire reçois un document par la poste, elle le scanne, le copie dans la GED, puis envoie un mail au responsable du service concerné". En gros, c'est tout ce qui inter-agit avec le programme qu'on met dans un MCT. Mais la méthode est tout à fait applicable à un algorithme. Ensuite, non, un algorithme sous forme de graphique est bien moins détaillé qu'un algo "écrit". En effet, on masque l'utilisation des variables, les types de boucle sont très simplifiées (pas de notion de "tant que mon test est vrai", ou "x fois de suite", etc.) et beaucoup de notions passent à la trappe (afficher, saisir, etc.) ou ne ressortent pas suffisamment.
 
Dans tous les cas, une fois dans la vie active, un algo n'est pas un livrable. On échange parfois par mail des bouts d'algo quand on veut se mettre d'accord sur une marche à suivre, ça peut éventuellement apparaître succinctement dans un cahier des charges techniques, mais ça reste marginal. Un algo, c'est avant tout pour que ton prof sâche si t'es nul en C ou si t'as rien compris au problème.

mood
Publicité
Posté le 04-01-2010 à 14:31:44  profilanswer
 

n°1954813
supalex06
ΛІεχ
Posté le 04-01-2010 à 14:34:03  profilanswer
 

Ah ok

 

Donc je m'en doutais un peu mais un algo n'est pas du tout compilable ?


Message édité par supalex06 le 04-01-2010 à 14:34:11

---------------
☼ [Feed Back] Supalex06 ☼  http://forum.hardware.fr/hfr/Achat [...] 7029_1.htm
n°1954820
MagicBuzz
Posté le 04-01-2010 à 14:37:58  profilanswer
 

Du tout. C'est purement du français, pour que toi tu expliques sans notion technique ce que tu va faire pour résoudre le problème.
 
Y'a pas de niveau de détail d'un algo non plus. Si on te demande de trier des lignes dans un tableau, tu va détailler l'algo de tri. Mais si on te demande de comparer deux listes d'éléments, tu noteras juste que tu tries les listes avant de comparer, sans détailler comment tu fais ça.

n°1954821
supalex06
ΛІεχ
Posté le 04-01-2010 à 14:40:14  profilanswer
 

MagicBuzz a écrit :

Y'a pas de niveau de détail d'un algo non plus. Si on te demande de trier des lignes dans un tableau, tu va détailler l'algo de tri. Mais si on te demande de comparer deux listes d'éléments, tu noteras juste que tu tries les listes avant de comparer, sans détailler comment tu fais ça.


J'ai pas trop compris ...  :sweat:


---------------
☼ [Feed Back] Supalex06 ☼  http://forum.hardware.fr/hfr/Achat [...] 7029_1.htm
n°1954831
Elmoricq
Modérateur
Posté le 04-01-2010 à 14:48:57  profilanswer
 

supalex06 a écrit :


J'ai pas trop compris ...  :sweat:

 

Un algo qui "compare" deux fichiers A et B (de manière ultra simpliste, c'est juste pour l'exemple) :

 

Trier les valeurs des fichiers A et B
Tant qu'il y a des valeurs à parcourir dans A et dans B
   Si la ligne courante de A est égale à celle de B, alors
      écrire à l'écran la ligne courante
      Passer à la valeur suivante de A et de B
   Sinon si valeur de A est < à celle de B, alors
      passer à la valeur suivante de A
   Sinon
      passer à la valeur suivante de B
   Fin Si  
Fin Tant que.

 

Comme tu le vois, on ne détaille pas le tri. C'est nécessaire à l'algo, mais on s'en moque pour le cas étudié, donc on n'en met pas plus.


Message édité par Elmoricq le 04-01-2010 à 14:52:27
n°1954879
supalex06
ΛІεχ
Posté le 04-01-2010 à 15:48:01  profilanswer
 

Ok d'accord


---------------
☼ [Feed Back] Supalex06 ☼  http://forum.hardware.fr/hfr/Achat [...] 7029_1.htm
n°1954929
Profil sup​primé
Posté le 04-01-2010 à 17:19:44  answer
 

Salut,
 
Moi je dirais, qu'un algo est une recette de cuisine.
En fonction de ce que tu veux manger, tu préparera les chose de différente manière avec différent ustensile et divers ingrédients.
 
A part ça, il me semble, qu'un algo de Prologue n'aurais pas la même figure qu'un algo en C.
Me trompe-je ?

n°1954934
theshockwa​ve
I work at a firm named Koslow
Posté le 04-01-2010 à 17:26:32  profilanswer
 


 
que ce soit pour du prolog ou du C, un algo est un algo. Que prolog te fasse prendre le problème différemment ne change rien au fait que l'algo décrit un processus à suivre pour le résoudre


---------------
last.fm
n°1954935
supalex06
ΛІεχ
Posté le 04-01-2010 à 17:27:06  profilanswer
 

 

Qu'est ce que ça veut dire un algo en C ?

 

Je croyais que l'algo était diffèrent du C... que ça précédait la conception de n'importe quel langage, je me trompe ?

Message cité 2 fois
Message édité par supalex06 le 04-01-2010 à 17:28:04

---------------
☼ [Feed Back] Supalex06 ☼  http://forum.hardware.fr/hfr/Achat [...] 7029_1.htm
n°1954936
theshockwa​ve
I work at a firm named Koslow
Posté le 04-01-2010 à 17:31:03  profilanswer
 

supalex06 a écrit :


 
Qu'est ce que ça veut dire un algo en C ?
 
Je croyais que l'algo était diffèrent du C... que ça précédait la conception de n'importe quel langage, je me trompe ?


 
la plupart des problèmes que l'on résoud peuvent être traités de plusieurs manières. Ces manières vont être exprimées sous forme algorithmique pour être implémentées dans un langage donné. Suivant ton langage et tes contraintes, l'existant auquel tu t'ajoutes, tu vas sélectionner plus ou moins intuitivement l'un de ces algorithmes.


---------------
last.fm
n°1954937
Profil sup​primé
Posté le 04-01-2010 à 17:34:48  answer
 

supalex06 a écrit :


 
Qu'est ce que ça veut dire un algo en C ?
 
Je croyais que l'algo était diffèrent du C... que ça précédait la conception de n'importe quel langage, je me trompe ?


 
Oui, je pensais que tu avais accepté la distinction entre "pseudo-code" ici pour "algo" et implémentation.
 
Je voulais dire qu'un pseudo-code écrit en vu d'une programmation avec C ou Ada ou pascal ne sera pas le forcément le même pour un autre langage d'implémentation.
 
Même si pseudo-code se doit d'être le plus abstrait possible il dépend quand même du langage d'implémentation pour obtenir la même cible.

n°1954948
Joel F
Real men use unique_ptr
Posté le 04-01-2010 à 18:20:50  profilanswer
 

stop la branlette hein.
 
Algorithme: http://fr.wikipedia.org/wiki/Algorithmique


Un algorithme est un processus systématique de résolution, par le calcul, d'un problème permettant de présenter les étapes vers le résultat à une autre personne physique (un autre humain) ou virtuelle (un calculateur). En d'autres termes, un algorithme est un énoncé d’une suite finie et non-ambiguë d’opérations permettant de donner la réponse à un problème.


 
Pseudo-code : http://fr.wikipedia.org/wiki/Pseudo-code


En programmation, le pseudo-code est une façon de décrire un algorithme sans référence à un langage de programmation en particulier.


 
Y a pas ambiguité

n°1954952
Profil sup​primé
Posté le 04-01-2010 à 18:35:07  answer
 

Joel F a écrit :

stop la branlette hein.
 
Algorithme: http://fr.wikipedia.org/wiki/Algorithmique

Citation :


Un algorithme est un processus systématique de résolution, par le calcul, d'un problème permettant de présenter les étapes vers le résultat à une autre personne physique (un autre humain) ou virtuelle (un calculateur). En d'autres termes, un algorithme est un énoncé d’une suite finie et non-ambiguë d’opérations permettant de donner la réponse à un problème.


 
Pseudo-code : http://fr.wikipedia.org/wiki/Pseudo-code

Citation :


En programmation, le pseudo-code est une façon de décrire un algorithme sans référence à un langage de programmation en particulier.


Y a pas ambiguité


 
Faut comprendre quoi là ?
 
 :D  


Message édité par Profil supprimé le 04-01-2010 à 18:35:42
n°1954953
Elmoricq
Modérateur
Posté le 04-01-2010 à 18:37:10  profilanswer
 

Ce qui est écrit.

n°1954954
Profil sup​primé
Posté le 04-01-2010 à 18:38:21  answer
 

Elmoricq a écrit :

Ce qui est écrit.


Ben c'est caca.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Lien entre algorithme et language C

 

Sujets relatifs
[FLV]Insérer un lien à la fin d'une introC ou C++ ?
débutant algorithme simple[C] probleme sprintf et pointeur :S
C# - FileCopymettre en lien des services web avec un site web
[Resolu][C++] Question Architecture avec interface multipleTriangle en C
[C#] (RESOLU) GetSchemaTable trop de champs !récupérer un lien de la bbd et le mettre sur un titre récupéré
Plus de sujets relatifs à : Lien entre algorithme et language C


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR