Skip to content

j'ai essayé en Fortran le plus ringard possible avec du goto indexé  #281

@fcalvay

Description

@fcalvay

movaicode/18.

ça se compile avec gfortran -std=legacy signe.f

signe.txt

program osigne
read(5,99)  ijour, imois

99 format(I2,1X,I2)
goto (1,2,3,4,5,6,7,8,9,10,11,12),imois
3 if((ijour.ge.21).and.(ijour.le.32)) write(6,) 'Bélier'
if(ijour.eq.32) goto 999
ijour=32
imois=imois-1
if(ijour.eq.32) goto (1,2,3,4,5,6,7,8,9,10,11,12),imois
4 if((ijour.ge.21) .and.(ijour.le.32)) write(6,
) 'Taureau'
if(ijour.eq.32) goto 999
ijour=32
imois=imois-1
if(ijour.eq.32) goto (1,2,3,4,5,6,7,8,9,10,11,12),imois
goto 999
5 if((ijour.ge.21).and.(ijour.le.32)) write(6,) 'Gémeaux'
if(ijour.eq.32) goto 999
ijour=32
imois=imois-1
if(ijour.eq.32) goto (1,2,3,4,5,6,7,8,9,10,11,12),imois
goto 999
6 if((ijour.ge.22).and.(ijour.le.32)) write(6,
) 'Cancer'
if(ijour.eq.32) goto 999
ijour=32
imois=imois-1
if(ijour.eq.32) goto (1,2,3,4,5,6,7,8,9,10,11,12),imois
goto 999
7 if((ijour.ge.23).and.(ijour.le.32)) write(6,) 'Lion'
if(ijour.eq.32) goto 999
ijour=32
imois=imois-1
if(ijour.eq.32) goto (1,2,3,4,5,6,7,8,9,10,11,12),imois
goto 999
8 if((ijour.ge.23) .and.(ijour.le.32)) write(6,
) 'Vierge'
if(ijour.eq.32) goto 999
ijour=32
imois=imois-1
if(ijour.eq.32) goto (1,2,3,4,5,6,7,8,9,10,11,12),imois
goto 999
9 if((ijour.ge.23) .and.(ijour.le.32)) write(6,) 'Balance'
if(ijour.eq.32) goto 999
ijour=32
imois=imois-1
if(ijour.eq.32) goto (1,2,3,4,5,6,7,8,9,10,11,12),imois
goto 999
10 if((ijour.ge.23).and.(ijour.le.32)) write(6,
) 'Scorpion'
if(ijour.eq.32) goto 999
ijour=32
imois=imois-1
if(ijour.eq.32) goto (1,2,3,4,5,6,7,8,9,10,11,12),imois
goto 999
11 if((ijour.ge.21).and.(ijour.le.32)) write(6,) 'Sagittaire'
if(ijour.eq.32) goto 999
ijour=32
imois=imois-1
if(ijour.eq.32) goto (1,2,3,4,5,6,7,8,9,10,11,12),imois
goto 999
12 if((ijour.ge.22).and.(ijour.le.32)) write(6,
) 'Capricorne'
if(ijour.eq.32) goto 999
ijour=32
imois=imois-1
if(ijour.eq.32) goto (1,2,3,4,5,6,7,8,9,10,11,12),imois
goto 999
1 if((ijour.ge.21).and.(ijour.le.32)) write(6,) 'Verseau'
if(ijour.eq.32) goto 999
ijour=32
imois=12
if(ijour.eq.32) goto (1,2,3,4,5,6,7,8,9,10,11,12),imois
goto 999
2 if((ijour.ge.19).and.(ijour.le.32)) write(6,
) 'Poissons'
if(ijour.eq.32) goto 999
ijour=32
imois=imois-1
if(ijour.eq.32) goto (1,2,3,4,5,6,7,8,9,10,11,12),imois

999 continue
stop
end

Metadata

Metadata

Assignees

No one assigned

    Labels

    movaicode/18Code en réponse au 18ème concours (mars 2023)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions