| Auteur | 
Message | 
tipitipi 
Résident du forum 
 
  
 
     Sexe:   
Messages: 394 
Localisation: 92 
 
 | 
 Posté le:
Dim 07 Jan 2007 - 19:42 | 
   | 
 
 
 
Bonsoir,
 
 
soit l'écriture d'une fonction telle que :
 
 
Fonction nomdemafonction (n : entier) : entier
 
début
 
si n<3 alors résultat := 1
 
sinon résultat :=0
 
fin si
 
renvoyer résultat
 
fin
 
 
A-t-on le droit de simplifier l'écriture de la façon suivante ?
 
 
Fonction nomdemafonction (n : entier) : entier
 
début
 
si n<3 alors renvoyer 1
 
sinon renvoyer 0
 
fin si
 
fin
 
 
 
Merci pour votre oui ou votre non  
 
T. | 
 
 _________________ un chat qui bloggue ? http://tiger.lechat.over-blog.com | 
 
 
 | 
     | 
 | 
 N'oubliez pas de vous inscrire à la communauté pour participer. Si vous êtes déjà membre, connectez-vous pour faire disparaître ce bandeau publicitaire. | 
Yipyip 
Modérateur 
 
  
 
  Sexe:   
Messages: 1163 
Localisation: Ici, là, pas loin ... 
 
 | 
 Posté le:
Dim 07 Jan 2007 - 22:13 | 
   | 
 
 
 
Je pense plutôt que la deuxième solution te rapportera moins de points que la premiere en partiel ou examen (bien qu'il exprime exactement la même chose).
 
 
Tu sera presque autant noté sur la syntaxe utilisée comme on te l'a montré en cours que sur la démarche algorithmique. | 
 
 _________________
  
 
  | 
 
 
 | 
   | 
 | 
 
tipitipi 
Résident du forum 
 
  
 
     Sexe:   
Messages: 394 
Localisation: 92 
 
 | 
 Posté le:
Dim 07 Jan 2007 - 23:46 | 
   | 
 
 
 
c'est une très judicieuse remarque que je vais m'empresser de ne pas oublier ! Merci pour le conseil    
 
T. | 
 
 _________________ un chat qui bloggue ? http://tiger.lechat.over-blog.com | 
 
 
 | 
     | 
 | 
 
dununfolette 
Modérateur 
 
  
 
   Sexe:   
Messages: 2497 
Localisation: chambéry (73) 
 
 | 
 Posté le:
Lun 08 Jan 2007 - 09:14 | 
   | 
 
 
 
Pas en ARLE... en ARLE on nous demande un algo qui tourne... pas un algo optimisé :win:
 
M'enfin c'est vrai que je choisirai de préférence le second, plus soft   et je pense que les profs préfèrent lire quelque chose un tant soit peu optimisé (surtout parce que c'est plus lisible et plus court   ) | 
 
 _________________ Doudou BTS IG ARLE eu et LP Réseaux Sans Fil et Sécurité validée ! Boulot, boulot, boulot...
 
Pensez à valider votre profil !
 
  | 
 
 
 | 
   | 
 | 
 
Genzo 
Modérateur 
 
  
 
   Sexe:   
Messages: 1706 
Localisation: Sartrouville (78) 
 
 | 
 Posté le:
Lun 08 Jan 2007 - 14:08 | 
   | 
 
 
 
Allez on peut encore fait plus simple, et là c'est le pactole de points
 
 
| Code: | 
 
FONCTION nomdemafonction (n : ENTIER) : BOOLEEN
 
DEBUT
 
   RENVOYER n < 3
 
FIN | 
 
 
 
 
Etant donné qu'en booléen 1:VRAI/0:FAUX
 
 
Pour info, la deuxième solution est considérée comme fausse, car cet algo n'est pas compilable sous certains langages. | 
 
 _________________ N'oubliez pas de mettre un avis sur votre lycée/centre de formation !!! Pensez aux futurs BTSiens. Merci   | 
 
 
 | 
     | 
 | 
 
keldrill 
Résident du forum 
 
  
 
 
  
Messages: 284 
 
 
 | 
 Posté le:
Lun 08 Jan 2007 - 14:26 | 
   | 
 
 
 
Un algo n'est de toute manière pas compilable... Ce qu'il faut garder à l'esprit c'est, comme le dit Yipyip, comment montrer au maximum au correcteur qu'on a bien compris ce qu'on écrit.
 
 
L'algo est une représentation généraliste qui doit permettre d'adapter ce qui est décrit à n'importe quel langage. Il est donc préférable d'éviter d'utiliser les raccourcis et commodités offerts par certains langages. | 
 
 _________________ Read The Life Manual
 
http://indriya.org - http://circle-rock.net | 
 
 
 | 
    | 
 | 
 
Genzo 
Modérateur 
 
  
 
   Sexe:   
Messages: 1706 
Localisation: Sartrouville (78) 
 
 | 
 Posté le:
Lun 08 Jan 2007 - 14:31 | 
   | 
 
 
 
| keldrill a écrit: | 
 
Un algo n'est de toute manière pas compilable... Ce qu'il faut garder à l'esprit c'est, comme le dit Yipyip, comment montrer au maximum au correcteur qu'on a bien compris ce qu'on écrit.
 
 
L'algo est une représentation généraliste qui doit permettre d'adapter ce qui est décrit à n'importe quel langage. Il est donc préférable d'éviter d'utiliser les raccourcis et commodités offerts par certains langages. | 
 
 
 
Je suis bien d'accord.
 
Mais si tu parles d'adaptabilité, tu parles obligatoirement derrière de compileurs.
 
Certains compileurs acceptent le RETOURNE en plein milieu d'une fonction. Donc si on part d'une manière générale, le deuxième algo est faux.
 
 
Mon algo passe avec tous les compilateurs, et montre complètement qu'on a une logique, qui est cherchée dans cette matière.
 
 
Conclusion : pourquoi dans cet algo mettre une condition SI alors que le retoure de sa condition uniquement fait office de ALORS et SINON ? | 
 
 _________________ N'oubliez pas de mettre un avis sur votre lycée/centre de formation !!! Pensez aux futurs BTSiens. Merci   | 
 
 
 | 
     | 
 | 
 
Yamaneko 
Accro à Web-IG 
 
  
 
   Sexe:   
Messages: 182 
Localisation: Sais pas 
 
 | 
 Posté le:
Mar 09 Jan 2007 - 02:55 | 
   | 
 
 
 
| Genzo a écrit: | 
 
| keldrill a écrit: | 
 
Un algo n'est de toute manière pas compilable... Ce qu'il faut garder à l'esprit c'est, comme le dit Yipyip, comment montrer au maximum au correcteur qu'on a bien compris ce qu'on écrit.
 
 
L'algo est une représentation généraliste qui doit permettre d'adapter ce qui est décrit à n'importe quel langage. Il est donc préférable d'éviter d'utiliser les raccourcis et commodités offerts par certains langages. | 
 
 
 
Je suis bien d'accord.
 
Mais si tu parles d'adaptabilité, tu parles obligatoirement derrière de compileurs.
 
Certains compileurs acceptent le RETOURNE en plein milieu d'une fonction. Donc si on part d'une manière générale, le deuxième algo est faux.
 
 
Mon algo passe avec tous les compilateurs, et montre complètement qu'on a une logique, qui est cherchée dans cette matière.
 
 
Conclusion : pourquoi dans cet algo mettre une condition SI alors que le retoure de sa condition uniquement fait office de ALORS et SINON ? | 
 
 
 
 
au pire tu peux faire l'équivalent d'un break mais bon à voir... | 
 
 _________________ Quoc-Tien (Yamaneko)
 
EPITA Promo 2010
 
Theoricien du Rien
 
Ma devise ? Mettre la lourde...Huuun | 
 
 
 | 
    | 
 | 
 
dununfolette 
Modérateur 
 
  
 
   Sexe:   
Messages: 2497 
Localisation: chambéry (73) 
 
 | 
 Posté le:
Mar 09 Jan 2007 - 09:21 | 
   | 
 
 
 
  j'ai jamais vu "renvoyer" en cours... c'est la même chose que retourner ?   
 
Si oui, chez nous on met toujours le "retourne" en fin de fonction lorsque toutes les autres écritures sont faites... | 
 
 _________________ Doudou BTS IG ARLE eu et LP Réseaux Sans Fil et Sécurité validée ! Boulot, boulot, boulot...
 
Pensez à valider votre profil !
 
  | 
 
 
 | 
   | 
 | 
 
Yamaneko 
Accro à Web-IG 
 
  
 
   Sexe:   
Messages: 182 
Localisation: Sais pas 
 
 | 
 Posté le:
Mar 16 Jan 2007 - 22:34 | 
   | 
 
 
 
| dununfolette a écrit: | 
 
  j'ai jamais vu "renvoyer" en cours... c'est la même chose que retourner ?   
 
Si oui, chez nous on met toujours le "retourne" en fin de fonction lorsque toutes les autres écritures sont faites... | 
 
 
 
 
oui et tu peux aussi utiliser le retourne pour forcer la sortie d'une boucle ^^ | 
 
 _________________ Quoc-Tien (Yamaneko)
 
EPITA Promo 2010
 
Theoricien du Rien
 
Ma devise ? Mettre la lourde...Huuun | 
 
 
 | 
    | 
 | 
 
dununfolette 
Modérateur 
 
  
 
   Sexe:   
Messages: 2497 
Localisation: chambéry (73) 
 
 | 
 Posté le:
Mer 17 Jan 2007 - 11:22 | 
   | 
 
 
 
Olala !
 
Je sens qu'il va falloir que je me mette à un langage de programmation histoire d'apprendre un peu quelque chose   | 
 
 _________________ Doudou BTS IG ARLE eu et LP Réseaux Sans Fil et Sécurité validée ! Boulot, boulot, boulot...
 
Pensez à valider votre profil !
 
  | 
 
 
 | 
   | 
 | 
 
AyreoN 
Forumeur occasionnel 
 
  
 
     Sexe:   
Messages: 39 
Localisation: Yvelines 
 
 | 
 Posté le:
Mer 17 Jan 2007 - 18:10 | 
   | 
 
 
 
| Genzo a écrit: | 
 
Allez on peut encore fait plus simple, et là c'est le pactole de points
 
 
| Code: | 
 
FONCTION nomdemafonction (n : ENTIER) : BOOLEEN
 
DEBUT
 
   RENVOYER n < 3
 
FIN | 
 
 
 
 
Etant donné qu'en booléen 1:VRAI/0:FAUX
 
 
Pour info, la deuxième solution est considérée comme fausse, car cet algo n'est pas compilable sous certains langages. | 
 
 
 
 
Pardonnez mon ignorance mais je pensais que le type BOOLEEN n'existe pas a proprement parlé en C, si ? | 
 
 _________________ 2ème Année BTS IG option DEV
 
XOR, J'adore. | 
 
 
 | 
    | 
 | 
 
Yamaneko 
Accro à Web-IG 
 
  
 
   Sexe:   
Messages: 182 
Localisation: Sais pas 
 
 | 
 Posté le:
Jeu 18 Jan 2007 - 00:25 | 
   | 
 
 
 
non en C le booléen n'existe pas mais tu peux le "créer" via une énumération ou te contenter du 0/1 en sortie ^^ | 
 
 _________________ Quoc-Tien (Yamaneko)
 
EPITA Promo 2010
 
Theoricien du Rien
 
Ma devise ? Mettre la lourde...Huuun | 
 
 
 | 
    | 
 | 
 
pef 
Forumeur fréquent 
 
 
 
     Sexe:   
Messages: 78 
 
 
 | 
 Posté le:
Jeu 18 Jan 2007 - 09:50 | 
   | 
 
 
 
Le plus simple reste quand même de retourner 0 pour faux, 1 pour vrai,applicable dans n'importe quel langage. | 
 
 | 
 
 
 | 
    | 
 | 
 
Mingain 
Accro à Web-IG 
 
 
 
  Sexe:   
Messages: 185 
Localisation: Nîmes 
 
 | 
 Posté le:
Jeu 18 Jan 2007 - 22:22 | 
   | 
 
 
 
En C++, il existe un type bool qui pèse 8 bits et qui prends la valeur True ou False.
 
 
Je vois pas pourquoi il existe pas en C ? | 
 
 _________________ www.en-camargue.fr : Tourisme et photos en camargue
 
www.vauclare.fr : Creation de site Web sur mesure dans le gard | 
 
 
 | 
      | 
 | 
 
Zonag 
Modérateur 
 
  
 
     Sexe:   
Messages: 1298 
Localisation: Toulouse 
 
 | 
 Posté le:
Jeu 18 Jan 2007 - 22:26 | 
   | 
 
 
 
Moué enfin la le thead parlait d'algo pas de langage appliqué ... Tu peux tres bien mettre du booleen en algo et l'integrer comme tu le veux dans n'importe quel langage   | 
 
 _________________ Zonag | 
 
 
 | 
   | 
 | 
 
tipitipi 
Résident du forum 
 
  
 
     Sexe:   
Messages: 394 
Localisation: 92 
 
 | 
 Posté le:
Sam 20 Jan 2007 - 09:54 | 
   | 
 
 
 
| dununfolette a écrit: | 
 
  j'ai jamais vu "renvoyer" en cours... c'est la même chose que retourner ?   
 
Si oui, chez nous on met toujours le "retourne" en fin de fonction lorsque toutes les autres écritures sont faites... | 
 
 
 
Au CNED, le prof écrit ses corrections sans même utiliser "renvoyer". Il se contente d'utiliser ce qu'il appelle une pseudo-variable (dont il réserve les secrets aux étudiants de DEV), ce qui donne, pour reprendre l'exemple du début, quelque chose comme ça :
 
 
| Code: | 
 
Fonction nomdemafonction (n : entier) : entier
 
var
 
x : entier
 
début 
 
si n<3 alors x := 1 
 
sinon x :=0 
 
fin si 
 
résultat := x
 
fin
 
 | 
 
 
 
Est-ce que ça vous paraît valable ? | 
 
 _________________ un chat qui bloggue ? http://tiger.lechat.over-blog.com | 
 
 
 | 
     | 
 | 
 
Genzo 
Modérateur 
 
  
 
   Sexe:   
Messages: 1706 
Localisation: Sartrouville (78) 
 
 | 
 Posté le:
Sam 20 Jan 2007 - 14:48 | 
   | 
 
 
 
| tipitipi a écrit: | 
 
| Code: | 
 
Fonction nomdemafonction (n : entier) : entier
 
var
 
x : entier
 
début 
 
si n<3 alors x := 1 
 
sinon x :=0 
 
fin si 
 
résultat := x
 
fin
 
 | 
 
 
 
Est-ce que ça vous paraît valable ? | 
 
 
 
Cet algo est fortement typé du Delphi, langage dit comme le plus proche de l'algo. Il est d'ailleurs souvent utilisé pour le passage l'algo à la programmation pour les débutants débutants.
 
 
On utilise en Delphi le := pour donner une valeur à une variable ou instancier un objet. Et Result (du français Résultat), permet le renvoi de variable ou "objet" de la fonction. | 
 
 _________________ N'oubliez pas de mettre un avis sur votre lycée/centre de formation !!! Pensez aux futurs BTSiens. Merci   | 
 
 
 | 
     | 
 | 
 
tipitipi 
Résident du forum 
 
  
 
     Sexe:   
Messages: 394 
Localisation: 92 
 
 | 
 Posté le:
Sam 20 Jan 2007 - 21:11 | 
   | 
 
 
 
| Genzo a écrit: | 
 
| Cet algo est fortement typé du Delphi, langage dit comme le plus proche de l'algo. Il est d'ailleurs souvent utilisé pour le passage l'algo à la programmation pour les débutants débutants. | 
 
 
 
Débutant, c'est tout moi, ça ! je ne connais aucun langage !
 
| Citation: | 
 
| On utilise en Delphi le := pour donner une valeur à une variable ou instancier un objet. Et Result (du français Résultat), permet le renvoi de variable ou "objet" de la fonction. | 
 
 
 
OK. Je pensais que le prof notait := pour remplacer la p'tite flèche parce que c'est plus rapide à dactylographier ! Perso, je préfère la p'tite flèche, et je pense que c'est plus "algorithmiquement correct", non ?
 
Sinon, le "renvoyer" ou "retourner" est-il indispensable ? Et du coup, a-t-on besoin d'une pseudo-variable "résultat" ou bien ça fait double emploi ? | 
 
 _________________ un chat qui bloggue ? http://tiger.lechat.over-blog.com | 
 
 
 | 
     | 
 | 
 
Genzo 
Modérateur 
 
  
 
   Sexe:   
Messages: 1706 
Localisation: Sartrouville (78) 
 
 | 
 Posté le:
Sam 20 Jan 2007 - 21:24 | 
   | 
 
 
 
Une fonction implique tout le temps un renvoi.
 
Les deux méthodes que je connais pour renvoyer c'est :
 
 
- utilisation d'un verbe symbolisant le retour (Retourne, Retourner, Renvoyer ...)
 
 
- utilisation du nom de la fonction. exemple :
 
 
| Code: | 
 
FONCTION EstUnHomme ( individu : CHAINE ) : CHAINE
 
DEBUT
 
 
    EstUnHomme <- individu
 
 
FIN | 
 
 
 
 
PS pour les petits malins qui postent inutilement : je suis conscient que ma fonction ne sert à rien. | 
 
 _________________ N'oubliez pas de mettre un avis sur votre lycée/centre de formation !!! Pensez aux futurs BTSiens. Merci   | 
 
 
 | 
     | 
 | 
 
| 
 |