

Pour ceux qui connaissent pas : MindStorm ce sont des logos programmables via PC

Code : Tout sélectionner
Procedure.L LastString(*Index) ;(Ollivier spéciale dédicace à Kcc)
! xor eax, eax ; eax = 0
! mov edi, dword [p.p_Index] ; edi = pointeur index
! mov ebx, edi ; ebx = pointeur index
! mov ecx, 0xFFFFFFFF ; ecx = 4Go
! cld ; cld = recherche de bas en haut
! REPNE SCASD ; >>> Une seule instruction ASM pour For: If PeekL() = 0: ExitFor: EndIf: Next
! mov eax, edi ; eax = adresse trouvée
! sub eax, ebx ; eax = adresse trouvé - adresse tableau
! shr eax, 2 ; eax / 4
! sub eax, 2 ; eax - 2
ProcedureReturn
EndProcedure
Code : Tout sélectionner
Procedure.L NextNullString(*Index) ;(Ollivier spéciale dédicace à Kcc)
! xor eax, eax ; eax = 0
! mov edi, dword [p.p_Index] ; edi = pointeur index
! mov ebx, edi ; ebx = pointeur index
! mov ecx, 0xFFFFFFFF ; ecx = 4Go
! cld ; cld = recherche de bas en haut
! REPNE SCASD ; >>> Une seule instruction ASM pour For: If PeekL() = 0: ExitFor: EndIf: Next
! mov eax, edi ; eax = adresse trouvée
! sub eax, ebx ; eax = adresse trouvé - adresse tableau
! shr eax, 2 ; eax / 4
! sub eax, 1 ; eax - 1
ProcedureReturn
EndProcedure
comme je l'ai dit, en pure il n'y a pas de distinction. mais en programmation c'est différent ( voir en C par exemple ). C'est mon boulot tu sais, je brasse plutôt beaucoup toute la journéebrossden a écrit :@ Polux
Je suis désolé de dire cela mais je pense que tu es à coté de la plaque !
Tu fais une grosse brasse entre les procedures, les fonctions, les branchement conditionnel ou non !
Les procedures sont des fonctions et "Lycée de Versailles" avec ou sans retour. Ce sont deux terminologies pour la même chose. L'une est issue du français l'autre de l'anglais.
Les branchements eux sont tout à fait autre chose, les Gosub peuvent effectivement être utilisés par de programmateurs débutant ou de mauvais dévelpppeur comme des fonctions ou procedures, mais il étaient utilisés les anciens languages qui ne pocedaient pas de fonction. Pour ce qui est des Goto, leurs véritables raison d'être est un saut ou un branchement pour sauter tout une partie de code. Par exemple si des conditions de départ ne sont pas réalisées aller directement au processus de fin de programme sans se taper une condition depuis le début du programme.
exemple
If SaisieMotDePasse() <> "MDP"
Goto Fin
Endif
Reste du programme
..........
..........
..........
Fin:
End
au lieux de :
If SaisieMotDePasse() = "MDP"
Reste du programme
..........
..........
..........
Endif
End
Pour ce qui est du travail en équipe, il existe en général une charte que tout un chacun se doit de respecter... et je vois mal qui d'autre que le chef de projet aller relire les lignes pissées par ses développeurs ! lors se faire jeter par le reste de l'équipe ???????????
Et si certains utilisent des gosub ils doivent avoir 80 ans non ?
sous entendrai tu que la programmation a commencé avec le C ?Polux a écrit : comme je l'ai dit, en pure il n'y a pas de distinction. mais en programmation c'est différent ( voir en C par exemple ).
respect pour ça , mais tu me semble jeune, et manquer de connaissance historique , pour ma part, je ne travaille pas dans l'informatique, mais j'ai 2 gros avantage sur toi , me semble t'ilC'est mon boulot tu sais, je brasse plutôt beaucoup toute la journée![]()
En informatique, une procédure est une fonction qui ne renvoie pas de résultat.
On peut cependant remarquer que sous cette définition les procédures sont rares dans un langage comme le C ou avoir une valeur de retour est la norme. On qualifie ainsi de procédure des fonctions comme printf() (affichage) ou scanf() (analyse de flux) qui ont pour valeur de retour un nombre mesurant la réussite ou non de l'exécution de ladite "fonction".
Pour les 80 ans tu es dur là....
Dobro a écrit :sous entendrai tu que la programmation a commencé avec le C ?Polux a écrit : comme je l'ai dit, en pure il n'y a pas de distinction. mais en programmation c'est différent ( voir en C par exemple ).![]()
je suis d'accord avec je sais plus qui (Pardon), qui dit que les mot "fonction" et procedure c'est pareil
d'ailleurs je vais te chercher la preuve...
respect pour ça , mais tu me semble jeune, et manquer de connaissance historique , pour ma part, je ne travaille pas dans l'informatique, mais j'ai 2 gros avantage sur toi , me semble t'ilC'est mon boulot tu sais, je brasse plutôt beaucoup toute la journée![]()
1- j'ai une memoire fabuleuse
2- j'ai commencer la micro-informatique a une epoque
ou rien n'existait !!
meme si le langage C date de 1972
je peux t'affirmer que dans la micro informatique (du moins en france)
il a ete adopté que a l'apparition de MAC 512
et de l'atari 520, vers 1984 seulement !!
le Basic etait LA reference , a tel point que meme dans les salles de cinema, la boite "PIGIER" faisait de la pub pour que les gens apprenne
le Basic en cours du soir !!
le Basic est bien plus vieux que le C puisqu'il date de 1964 (comme moi)
et en Basic une Fonction est exactement ce que fait une Procedure
dans n'importe quel langage !!
en LOGO par exemple une procedure ce dit "POUR" ou "TO" en anglais
et a bien pour role d'executer une tache en recevant,renvoyant un ou des parametres !
exeption fait du GFA basic le mot procedure etait meme carrement un sous-programme
au meme titre que "label:----------return"
avec un appel gosub ou "@"
il n'y a rien de bordelique a utiliser les sous-programme
d'ailleurs je te rappel qu'en assembleur c'est exactement ce qui se passe !
CALL---RETURN
le tout est de mettre les sous prg dans une zone reservé a cela !
pour enfoncer le clou , je me refere a Wiki pedia
ici : http://fr.wikipedia.org/wiki/Proc%C3%A9 ... matique%29
qui dit :
En informatique, une procédure est une fonction qui ne renvoie pas de résultat.
On peut cependant remarquer que sous cette définition les procédures sont rares dans un langage comme le C ou avoir une valeur de retour est la norme. On qualifie ainsi de procédure des fonctions comme printf() (affichage) ou scanf() (analyse de flux) qui ont pour valeur de retour un nombre mesurant la réussite ou non de l'exécution de ladite "fonction".Pour les 80 ans tu es dur là....
j'avais pas lu ça
voila , je ne suis peut etre pas un professionnel de l'informatique
mais comme je suis un vieux con, j'etais la lorsque tout a commencé en france !!
ZX81 oblige !!
amitié....
??Ollivier a écrit : Ne critiquez pas la chair de la chair de notre humble Dobro, svp!
Les Goto, Gosub et Return font partie intégrante de notre programmeur. N'allons pas dire qu'il est nul pour former une équipe parce qu'il a ça dans le sang!!! C'est scandaleux!
ben justement ton lien ecris ceciPolux a écrit : lis ça par exemple:http://perso.orange.fr/arsene.perez-mas ... ofonct.htm
a part çà, je m'en fiche un peu en fait...
il dit que justement procedure ou fonction c'est pareil !!Il y a deux manières très différente de procéder : les macroinstructions ou macros et les procédures ou fonctions.
Polux a écrit :puis lis la suite:
"Dans cette page, nous ne nous occuperons que des procédures ET des fonctions. Une différence existe entre les deux concepts, elle se précisera plus tard."
et un peu plus bas en commentaire dans le code:
"
// La différence entre une fonction et une procédure
// est qu'une procédure ne retourne pas de valeur.
"
tu sais dans ma boite, on bosse avec ça tous les jours...
o fait, j'ai jamais dit qu'il etait nul pour former une équipe heinDobro a écrit :désolé, je ne comprends pas ce que tu as voulu dire la :
??Ollivier a écrit : Ne critiquez pas la chair de la chair de notre humble Dobro, svp!
Les Goto, Gosub et Return font partie intégrante de notre programmeur. N'allons pas dire qu'il est nul pour former une équipe parce qu'il a ça dans le sang!!! C'est scandaleux!
il font une petite erreur d'incompréhension, rien de graveDobro a écrit :Polux a écrit :puis lis la suite:
"Dans cette page, nous ne nous occuperons que des procédures ET des fonctions. Une différence existe entre les deux concepts, elle se précisera plus tard."
et un peu plus bas en commentaire dans le code:
"
// La différence entre une fonction et une procédure
// est qu'une procédure ne retourne pas de valeur.
"
tu sais dans ma boite, on bosse avec ça tous les jours...
[legere mauvaise fois]
dans wikipedia ils disent bien que depuis les procedures comme les fonctions retourne une valeur
d'ailleurs le "printf()" est une fonction C qui retourne une valeur
(reussi ou pas reussi)
[/legere mauvaise fois]
![]()