Gérer le forum:  Aide  •  Rechercher  •  Liste des Membres  •  Groupes d'utilisateurs   •  S'enregistrer  •  Profil  •  Se connecter pour vérifier ses messages privés  •  Connexion 
 [ALGO] petite précision de syntaxe svp Voir le sujet suivant
Voir le sujet précédent
Poster un nouveau sujetRépondre au sujet
Auteur Message
tipitipi
Résident du forum
Résident du forum


BTS IG - Option réseau Diplômé
Sexe: Sexe:Masculin
Messages: 394
Localisation: 92

MessagePosté le: Dim 07 Jan 2007 - 19:42 Répondre en citantRevenir en haut

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 Wink
T.

_________________
un chat qui bloggue ? http://tiger.lechat.over-blog.com
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer l'e-mailVisiter le site web du posteur

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
Modérateur



Sexe: Sexe:Féminin
Messages: 1163
Localisation: Ici, là, pas loin ...

MessagePosté le: Dim 07 Jan 2007 - 22:13 Répondre en citantRevenir en haut

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.

_________________
Image
Image
Voir le profil de l'utilisateurEnvoyer un message privé
tipitipi
Résident du forum
Résident du forum


BTS IG - Option réseau Diplômé
Sexe: Sexe:Masculin
Messages: 394
Localisation: 92

MessagePosté le: Dim 07 Jan 2007 - 23:46 Répondre en citantRevenir en haut

c'est une très judicieuse remarque que je vais m'empresser de ne pas oublier ! Merci pour le conseil Smile
T.

_________________
un chat qui bloggue ? http://tiger.lechat.over-blog.com
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer l'e-mailVisiter le site web du posteur
dununfolette
Modérateur
Modérateur


Licence Professionnelle
Sexe: Sexe:Féminin
Messages: 2497
Localisation: chambéry (73)

MessagePosté le: Lun 08 Jan 2007 - 09:14 Répondre en citantRevenir en haut

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 Smile 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 Razz )

_________________
Doudou BTS IG ARLE eu et LP Réseaux Sans Fil et Sécurité validée ! Boulot, boulot, boulot...
Pensez à valider votre profil !

Image
Voir le profil de l'utilisateurEnvoyer un message privé
Genzo
Modérateur
Modérateur


Post-BTS
Sexe: Sexe:Masculin
Messages: 1706
Localisation: Sartrouville (78)

MessagePosté le: Lun 08 Jan 2007 - 14:08 Répondre en citantRevenir en haut

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 Wink
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteurMSN Messenger
keldrill
Résident du forum
Résident du forum




Messages: 284

MessagePosté le: Lun 08 Jan 2007 - 14:26 Répondre en citantRevenir en haut

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
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteur
Genzo
Modérateur
Modérateur


Post-BTS
Sexe: Sexe:Masculin
Messages: 1706
Localisation: Sartrouville (78)

MessagePosté le: Lun 08 Jan 2007 - 14:31 Répondre en citantRevenir en haut

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 Wink
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteurMSN Messenger
Yamaneko
Accro à Web-IG
Accro à Web-IG


Ecole d'Ingénieurs
Sexe: Sexe:Masculin
Messages: 182
Localisation: Sais pas

MessagePosté le: Mar 09 Jan 2007 - 02:55 Répondre en citantRevenir en haut

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
Voir le profil de l'utilisateurEnvoyer un message privéMSN Messenger
dununfolette
Modérateur
Modérateur


Licence Professionnelle
Sexe: Sexe:Féminin
Messages: 2497
Localisation: chambéry (73)

MessagePosté le: Mar 09 Jan 2007 - 09:21 Répondre en citantRevenir en haut

Embarassed j'ai jamais vu "renvoyer" en cours... c'est la même chose que retourner ? Embarassed
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 !

Image
Voir le profil de l'utilisateurEnvoyer un message privé
Yamaneko
Accro à Web-IG
Accro à Web-IG


Ecole d'Ingénieurs
Sexe: Sexe:Masculin
Messages: 182
Localisation: Sais pas

MessagePosté le: Mar 16 Jan 2007 - 22:34 Répondre en citantRevenir en haut

dununfolette a écrit:
Embarassed j'ai jamais vu "renvoyer" en cours... c'est la même chose que retourner ? Embarassed
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
Voir le profil de l'utilisateurEnvoyer un message privéMSN Messenger
dununfolette
Modérateur
Modérateur


Licence Professionnelle
Sexe: Sexe:Féminin
Messages: 2497
Localisation: chambéry (73)

MessagePosté le: Mer 17 Jan 2007 - 11:22 Répondre en citantRevenir en haut

Olala !
Je sens qu'il va falloir que je me mette à un langage de programmation histoire d'apprendre un peu quelque chose Embarassed

_________________
Doudou BTS IG ARLE eu et LP Réseaux Sans Fil et Sécurité validée ! Boulot, boulot, boulot...
Pensez à valider votre profil !

Image
Voir le profil de l'utilisateurEnvoyer un message privé
AyreoN
Forumeur occasionnel
Forumeur occasionnel


BTS IG - Option développeur 2ème année
Sexe: Sexe:Masculin
Messages: 39
Localisation: Yvelines

MessagePosté le: Mer 17 Jan 2007 - 18:10 Répondre en citantRevenir en haut

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.
Voir le profil de l'utilisateurEnvoyer un message privéMSN Messenger
Yamaneko
Accro à Web-IG
Accro à Web-IG


Ecole d'Ingénieurs
Sexe: Sexe:Masculin
Messages: 182
Localisation: Sais pas

MessagePosté le: Jeu 18 Jan 2007 - 00:25 Répondre en citantRevenir en haut

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
Voir le profil de l'utilisateurEnvoyer un message privéMSN Messenger
pef
Forumeur fréquent
Forumeur fréquent


BTS IG - Option développeur 2ème année
Sexe: Sexe:Masculin
Messages: 78

MessagePosté le: Jeu 18 Jan 2007 - 09:50 Répondre en citantRevenir en haut

Le plus simple reste quand même de retourner 0 pour faux, 1 pour vrai,applicable dans n'importe quel langage.
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteur
Mingain
Accro à Web-IG
Accro à Web-IG



Sexe: Sexe:Masculin
Messages: 185
Localisation: Nîmes

MessagePosté le: Jeu 18 Jan 2007 - 22:22 Répondre en citantRevenir en haut

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
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer l'e-mailAdresse AIMMSN Messenger
Zonag
Modérateur
Modérateur


BTS IG - Option réseau Diplômé
Sexe: Sexe:Masculin
Messages: 1298
Localisation: Toulouse

MessagePosté le: Jeu 18 Jan 2007 - 22:26 Répondre en citantRevenir en haut

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 Smile

_________________
Zonag
Voir le profil de l'utilisateurEnvoyer un message privé
tipitipi
Résident du forum
Résident du forum


BTS IG - Option réseau Diplômé
Sexe: Sexe:Masculin
Messages: 394
Localisation: 92

MessagePosté le: Sam 20 Jan 2007 - 09:54 Répondre en citantRevenir en haut

dununfolette a écrit:
Embarassed j'ai jamais vu "renvoyer" en cours... c'est la même chose que retourner ? Embarassed
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
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer l'e-mailVisiter le site web du posteur
Genzo
Modérateur
Modérateur


Post-BTS
Sexe: Sexe:Masculin
Messages: 1706
Localisation: Sartrouville (78)

MessagePosté le: Sam 20 Jan 2007 - 14:48 Répondre en citantRevenir en haut

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 Wink
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteurMSN Messenger
tipitipi
Résident du forum
Résident du forum


BTS IG - Option réseau Diplômé
Sexe: Sexe:Masculin
Messages: 394
Localisation: 92

MessagePosté le: Sam 20 Jan 2007 - 21:11 Répondre en citantRevenir en haut

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
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer l'e-mailVisiter le site web du posteur
Genzo
Modérateur
Modérateur


Post-BTS
Sexe: Sexe:Masculin
Messages: 1706
Localisation: Sartrouville (78)

MessagePosté le: Sam 20 Jan 2007 - 21:24 Répondre en citantRevenir en haut

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 Wink
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteurMSN Messenger
Montrer les messages depuis:      
Poster un nouveau sujetRépondre au sujet
 Sauter vers:   



Voir le sujet suivant
Voir le sujet précédent
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum