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 |
|
|
|
|