Bonjour à tous,
j'ai besoin de traduire deux algorithmes (pas très longs) du langage fortran en Pascal.
P.S. les algorithmes sont dans le fichier joint (.doc)
merci encore
Bonjour à tous,
j'ai besoin de traduire deux algorithmes (pas très longs) du langage fortran en Pascal.
P.S. les algorithmes sont dans le fichier joint (.doc)
merci encore
Bonsoir
voilà le premier des 4 algorithmes :
Je souhaiterai faire une conversion de cet algorithme, du langage fortran au langage Pascal afin de pouvoir l'utiliser dans mon application par la suite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 SUBROUTINE MNBRAK(AX, BX, CX, FA, FB, FC, FUNC) PARAMETER (GOLD=1.618034, GLIMIT=100., TINY=1.E-20) FA=FUNC(AX) FB=FUNC(BX) IF(FB.GT.FA)THEN DUM=AX AX=BX BX=DUM DUM=FB FB=FA FA=DUM ENDIF CX=BX+GOLD*(BX-AX) FC=FUNC(CX) 1 IF (FB.GE.FC) THEN R=(BX-AX)*(FB-FC) Q=(BX-CX)*(FB-FA) U=BX-((BX-CX)*Q-(BX-AX)*R)/(2.*SIGN(MAX(ABS(Q-R),TINY),Q-R) ULIM=BX+GLIMIT*(CX-BX) IF((BX-U)*(U-CX).GT.0.)THEN FU=FUNC(U) IF(FU.LT.FC)THEN AX=BX FA=FB BX=U FB=FU RETURN ELSE IF(FU.GT.FB)THEN CX=U FC=FU RETURN ENDIF U=CX+GOLD*(CX-BX) FU=FUNC(U) ELSE IF((CX-U)*(U-ULIM).GT.0.)THEN FU=FUNC(U) IF(FU.LT.FC°THEN BX=CX CX=U U=CX+GOLD*(CX-BX) FB=FC FC=FU FU=FUNC(U) ENDIF ELSE IF((U-ULIM)*(ULIM-CX).GE.0.)THEN U=ULIM FU=FUNC(U) ELSE U=CX+GOLD*(CX-BX) FU=FUNC(U) ENDIF AX=BX BX=CX CX=U FA=FB FB=FC FC=FU GO TO 1 ENDIF RETURN END
mais je ne comprends pas tout, par exemple "GT" c'est "Greater then", en delphi ça donne ">"
j'aimerai convertir ce programme en entier de fortran en pascal, c'est pas très difficile, par exemple le "=" du fortran se transformera en ":=" en pascal, mais il y a des symboles que je ne connais pas, tel que "GE", "SIGN"... etc.
comprenez-vous?
Kio,
N'importe quelle doc Fortran listant les mots clés te permettra de faire la traduction toi-même, ça ne devrait pas être difficile à trouver.
.GE. = Greater or Equal.
![]()
Ouaip !
Je peux même te dire que le '1' en première colonne est une étiquette, que les lignes de commentaire commencent par 'c', que le code doit être écrit à partir de la colonne 5 jusqu'à la colonne 80, &c.
Mais ne compte pas sur moi pour te faire ton exo.
Bon courage.
Règles du forum
Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
Mes tutoriels et sources Pascal
Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]
Partager