Page 4 sur 7

Publié : mer. 01/août/2007 15:28
par Crystal Noir
Bah tu peux te rattraper en prenant l'opion MindStorm :D Comme ca option lego spécialité MindStorm hop tu allies les deux :D


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

Publié : mer. 01/août/2007 15:31
par cederavic
Personnelement je pense qu'il vaut mieu etre un minimum compétent dans plusieur domaines et etre polyvalent plutot qu'etre a fond sur un sujet et etre à la ramasse quand on parle d'autre chose.
Disons que toucher un peut à tout en prog c'est comme la culture générale.
Je suis pas spécialisé dans un domaine, le code du dessus c'est seulement des connaissance d'un peut partout, mais assemblé ça donne quelquechose :)
Bref, il n'est jamais trop tard ;)

Publié : mer. 01/août/2007 16:07
par Kwai chang caine
Merci de tes encouragements.

Le probleme, c'est que ce n'est pas qu'en programmation que j'ai pratiqué l'eclectisme à outrance. :cry:
En fait quand je parle de domaines, ce n'est pas qu'en informatique (Malheureusement), mais dans d'autres activités qui n'ont rien à voir les unes avec les autres.

Et la je peux te dire que j'ai tendance à me mélanger les pingoinces.
Mais c'est pas grave, je rame, je rame, j'ai bientot attaqué la falaise, heureusement que y'a des personnes comprehensives comme vous tous, sans quoi ..... :cry:

Publié : mer. 01/août/2007 19:08
par Ollivier
@Kcc

Regarde! Je reprends ma fonction de l'espace-temps

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 

Je change le tout dernier chiffre de la dernière ligne ASM (le 2 devient 1) et je mets un nouveau le nom

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 

PS:
* NextNullString() ne convient pas au tableau de moins de 1 pointeur déjà alloué

Publié : mer. 01/août/2007 19:40
par Polux
brossden 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 ? :lol:
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ée :D
Lorsque je bosse au sein d'une équipe ( ou bossait plutôt ), bien souvent certains devs etaient débarqués en cours de route ( pour x ou y raison ), et le(s) remplacant(s) devaient bien plonger dans le code ( d'ou effectivement une charte de programmation obligatoire pour uniformiser le tout, qui bannit les gosub bien entendu :D )
Pour les 80 ans tu es dur là.... :D

Publié : mer. 01/août/2007 21:27
par Backup
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 ).
sous entendrai tu que la programmation a commencé avec le C ? 8O

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... :D
C'est mon boulot tu sais, je brasse plutôt beaucoup toute la journée :D
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'il

1- j'ai une memoire fabuleuse :D
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 !! :D

le Basic est bien plus vieux que le C puisqu'il date de 1964 (comme moi :lol: )

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 ! :D

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à.... :D

j'avais pas lu ça :lol:

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 !! :D

amitié.... :D

Publié : mer. 01/août/2007 21:37
par Ollivier
@dobro @brossden @pollux @flype

Je regardais vos posts. Quelle sacrée embrouille ce sujet!

Pour ma part, cette histoire de gosub procedure fonction machin etc...

1) Macro is the most
Je rêve d'un idéal, un éditeur avec macro encore plus poussé que ce que j'ai actuellement (je ne sais pas si c'est pareil sous jaPBe). C'est bien actuellement, mais un peu lég.

2) Procedure, Fonction : Il y a une différence. Une fonction, c'est qqch en fonction de qqch. Une procedure ben c'est un bout de code aux paramètres confortablement traités. Et Fred a tranché: pas de prise de tête, en Pure, on a des procections, ou alors des fonctidures. Je ne sais pas, on peut en débattre longtemps encore!

3) Les gosub. Du latin : Gobrosubus, un aïeul romain de Dobro.
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!

Personnellement, je pense que c'est un peu comme ça (je peux me tromper on verra):

Gosub, Return = Vitesse d'exécution 2/3
Mémoire 2/3
Amélioration du sous-programme: ça dépend comment on s'organise: ça peut aller du 3/3 au 0/3

Procedure = VExec 1/3
Mémoire 1/3 (la pile, c'est un massacre par ex)
Amélioration 3/3 : On a le plein contrôle des noms de variables (Static, protected, Shared)

Macro = VExec 3/3
Mémoire 3/3
Amélioration: Cf Gosub/Return

Chacun y trouve son compte mais je conteste quand même un peu l'idée que des gosub/return retardent une équipe. Car une équipe c'est avant tout une organisation consensuelle. On peu transcrire cette 'fausse' idée sur la linguistique : est-ce que, dans un domaine précis, une équipe anglaise réussit mieux qu'une équipe allemande parce que l'une parlerait l'anglais et l'autre allemande? J'en doute. Pourtant l'anglais se lit et s'écrit plus vite que l'allemand. Alors que la grammaire allemande a une régularité qui surpasse l'amas d'exceptions gramaticales anglaises.

Publié : mer. 01/août/2007 21:45
par Polux
Dobro a écrit :
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 ).
sous entendrai tu que la programmation a commencé avec le C ? 8O

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... :D
C'est mon boulot tu sais, je brasse plutôt beaucoup toute la journée :D
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'il

1- j'ai une memoire fabuleuse :D
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 !! :D

le Basic est bien plus vieux que le C puisqu'il date de 1964 (comme moi :lol: )

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 ! :D

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à.... :D

j'avais pas lu ça :lol:

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 !! :D

amitié.... :D

Je ne suis pas si jeune que ça... j'ai commencé avec un zx81, puis l'assembleur Z80 sur amstrad cpc, puis l'amiga, ect... ( j'ai même fait pire, j'ai même eu un Excelvision EXCEL 100 encore plus vieux... )

je n'ai absolument pas dit que tout a commencé avec le C ( fo arrêter de tout déformer ), je dis juste qu'en C une fonction n'est pas une procédure!
En algo, une fonction renvoie un résultat, une procédure non!
n'importe quelle recherche google sur des sites de programmation générale te le confirmera ( 'tape dans google, différence entre fonction et procédure... )

lis ça par exemple:http://perso.orange.fr/arsene.perez-mas ... ofonct.htm

a part çà, je m'en fiche un peu en fait... :D

Publié : mer. 01/août/2007 21:45
par Backup
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!
?? 8O

Publié : mer. 01/août/2007 21:49
par Backup
Polux 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... :D
ben justement ton lien ecris ceci
Il y a deux manières très différente de procéder : les macroinstructions ou macros et les procédures ou fonctions.
il dit que justement procedure ou fonction c'est pareil !! :D
il y a 2 manieres
1 macroinstructions ou autrement appelé macros
2 procedure ou autrement appelé fonction



mais bon c'est pas grave, juste un problème de légère incompréhension
rien de bien grave :D

par curiosité parle en autour de toi dans ta boite, tu vas peut être être surpris :wink:

Publié : mer. 01/août/2007 21:52
par Polux
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...

Publié : mer. 01/août/2007 21:54
par Ollivier
@dobro

Je me trompe?

Publié : mer. 01/août/2007 21:56
par Backup
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 :D )

[/legere mauvaise fois]


:lol: :lol:

Publié : mer. 01/août/2007 21:57
par Polux
Dobro 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!
?? 8O
o fait, j'ai jamais dit qu'il etait nul pour former une équipe hein :) d'ailleurs j'ai jamais dit que dobro etait nul, loin, très loin de là ;)
je parlais en général, et malheureusement professionnellement ça se passe souvent comme ça ( le monde du travail est bien souvent à l'opposé de ce que l'on aimerait qu'il soit :( )...
Bon sinon, pour les gosub, no soucy, j'en ai moi même utilisé un paquet :)
il m'arrive même encore souvent d'utiliser des goto :oops: :D

Publié : mer. 01/août/2007 21:58
par Polux
Dobro 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 :D )

[/legere mauvaise fois]


:lol: :lol:
il font une petite erreur d'incompréhension, rien de grave :lol: :lol: