Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
krcko Forumaš nagrađen za životno djelo
Pridružen/a: 07. 10. 2002. (15:57:59) Postovi: (18B3)16
|
Postano: 23:55 ned, 8. 12. 2002 Naslov: FORTRAN rulz |
|
|
Evo zasto ne treba pretjerivati s GOTO naredbom...
[code:1] PROGRAM aritmeticki_IF
C Program ilustrira primjenu aritmeticke IF naredbe i koliko
C program moze biti nerazumljiv ako se ona upotrebljava.
C Pokusajte otkriti sto program radi bez da ga pokrenete !
10 PRINT 487
READ *, N
PRINT *, 'N = ',N
IF (N) 10,10,30
30 I1=2
97 I2=0
60 J=MOD(N,I1)
IF (J) 40,50,40
50 I2=I2+1
N=N/I1
GOTO 60
40 IF (I2-1) 70,80,90
70 I1=I1+2
IF (I1-4) 120,135,120
135 I1=3
3 PRINT 65
READ *, I3
IF (I3) 3,130,10
130 STOP
80 PRINT 855, I1
GOTO 70
90 PRINT 930, I1,I2
GOTO 70
487 FORMAT (8H NUMBER?/)
65 FORMAT (20H CONTINUE? (1=Y,0=N)/)
855 FORMAT (I5)
930 FORMAT (I5,3H **,I5)
[/code:1]
Evo zasto ne treba pretjerivati s GOTO naredbom...
Kod: | PROGRAM aritmeticki_IF
C Program ilustrira primjenu aritmeticke IF naredbe i koliko
C program moze biti nerazumljiv ako se ona upotrebljava.
C Pokusajte otkriti sto program radi bez da ga pokrenete !
10 PRINT 487
READ *, N
PRINT *, 'N = ',N
IF (N) 10,10,30
30 I1=2
97 I2=0
60 J=MOD(N,I1)
IF (J) 40,50,40
50 I2=I2+1
N=N/I1
GOTO 60
40 IF (I2-1) 70,80,90
70 I1=I1+2
IF (I1-4) 120,135,120
135 I1=3
3 PRINT 65
READ *, I3
IF (I3) 3,130,10
130 STOP
80 PRINT 855, I1
GOTO 70
90 PRINT 930, I1,I2
GOTO 70
487 FORMAT (8H NUMBER?/)
65 FORMAT (20H CONTINUE? (1=Y,0=N)/)
855 FORMAT (I5)
930 FORMAT (I5,3H **,I5)
|
_________________ Vedran Krcadinac
Ljudi su razliciti, a nula je paran broj.
|
|
[Vrh] |
|
C'Tebo Moderator
Pridružen/a: 03. 11. 2002. (18:40:48) Postovi: (26A)16
Lokacija: Zagreb
|
Postano: 2:08 pon, 9. 12. 2002 Naslov: |
|
|
A što dođe if(N) 10, 10, 30
Ja sam brijo da (po uzoru na C) ako je n<>(!=)0 onda pokrene 10 red, pa opet 10 red, pa 30 red, ali ima kasnije da hoće pokrenut 120. red, a tog nema.
A pogledo sam u knjizi koju imam, i tamo se nikaj takvoga ne spominje, dakle, kaj točno to radi?
A što dođe if(N) 10, 10, 30
Ja sam brijo da (po uzoru na C) ako je n<>(!=)0 onda pokrene 10 red, pa opet 10 red, pa 30 red, ali ima kasnije da hoće pokrenut 120. red, a tog nema.
A pogledo sam u knjizi koju imam, i tamo se nikaj takvoga ne spominje, dakle, kaj točno to radi?
_________________ Click me !
_______________________
Bad panda!
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
Postano: 2:22 pon, 9. 12. 2002 Naslov: |
|
|
[quote="C'Tebo"]A �to dođe if(N) 10, 10, 30
Ja sam brijo da (po uzoru na C) ako je n<>(!=)0 onda pokrene 10 red, pa opet 10 red, pa 30 red, ali ima kasnije da hoće pokrenut 120. red, a tog nema.
A pogledo sam u knjizi koju imam, i tamo se nikaj takvoga ne spominje, dakle, kaj točno to radi?[/quote]
Zaboravio si Krcko-signal... :)
Ako se sjecam dobro Fortrana od prije 5-6 godina, IF (A) x,y,z znaci:
IF (A < 0) GOTO x ELSE
IF (A == 0) GOTO y ELSE GOTO z;
Nemojte me razapeti na kriz ako sam promasio. Davno sam ja to ucio (i polagao). :)
A GOTO x kada x ne postoji.... cini mi se da to prekida izvrsavanje programa...
Inace, trebao bi biti FORTRAN compiler na studentu, pa mozes probati. Ipak, mislim da je ovako zabavnije. ;)
C'Tebo (napisa): | A �to dođe if(N) 10, 10, 30
Ja sam brijo da (po uzoru na C) ako je n<>(!=)0 onda pokrene 10 red, pa opet 10 red, pa 30 red, ali ima kasnije da hoće pokrenut 120. red, a tog nema.
A pogledo sam u knjizi koju imam, i tamo se nikaj takvoga ne spominje, dakle, kaj točno to radi? |
Zaboravio si Krcko-signal...
Ako se sjecam dobro Fortrana od prije 5-6 godina, IF (A) x,y,z znaci:
IF (A < 0) GOTO x ELSE
IF (A == 0) GOTO y ELSE GOTO z;
Nemojte me razapeti na kriz ako sam promasio. Davno sam ja to ucio (i polagao).
A GOTO x kada x ne postoji.... cini mi se da to prekida izvrsavanje programa...
Inace, trebao bi biti FORTRAN compiler na studentu, pa mozes probati. Ipak, mislim da je ovako zabavnije.
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
|
|
[Vrh] |
|
C'Tebo Moderator
Pridružen/a: 03. 11. 2002. (18:40:48) Postovi: (26A)16
Lokacija: Zagreb
|
Postano: 2:34 pon, 9. 12. 2002 Naslov: |
|
|
Ma imam ja fortran doma, ali bih htjel ga ovak prokljuvit :)
Ma imam ja fortran doma, ali bih htjel ga ovak prokljuvit
_________________ Click me !
_______________________
Bad panda!
|
|
[Vrh] |
|
C'Tebo Moderator
Pridružen/a: 03. 11. 2002. (18:40:48) Postovi: (26A)16
Lokacija: Zagreb
|
Postano: 4:54 pon, 9. 12. 2002 Naslov: |
|
|
Ovak sam ja to shvatil
Upišemo broj, ako on u rastavu na proste faktore ima n dvojki (dakle 2^n) onda ispiše n, 2.
Ako pak ima samo jednu dvojku (dakle 2^1) onda ispiše 1
Ako nema nijednu dvojku, onda samo pita hoćemo li da se program nastavi ---> I3
I3>0 nastavljamo
I3<0 pita me ponovo (ne kontam zakaj, i tu bi mogo prekinut program, al ajde)
I3=0 prekida program.
Zbunjuju me redovi:
[code:1]70 I1=I1+2
IF (I1-4) 120,135,120
135 I1=3
[/code:1]
Jer mi se čine potpuno nepotrebni :?:
Ovak sam ja to shvatil
Upišemo broj, ako on u rastavu na proste faktore ima n dvojki (dakle 2^n) onda ispiše n, 2.
Ako pak ima samo jednu dvojku (dakle 2^1) onda ispiše 1
Ako nema nijednu dvojku, onda samo pita hoćemo li da se program nastavi → I3
I3>0 nastavljamo
I3<0 pita me ponovo (ne kontam zakaj, i tu bi mogo prekinut program, al ajde)
I3=0 prekida program.
Zbunjuju me redovi:
Kod: | 70 I1=I1+2
IF (I1-4) 120,135,120
135 I1=3
|
Jer mi se čine potpuno nepotrebni
_________________ Click me !
_______________________
Bad panda!
|
|
[Vrh] |
|
C'Tebo Moderator
Pridružen/a: 03. 11. 2002. (18:40:48) Postovi: (26A)16
Lokacija: Zagreb
|
Postano: 0:03 uto, 10. 12. 2002 Naslov: |
|
|
Pa dobro hoćete mi reć jel ovo dobro ili nije?
Umirem od znatiželje :)
Pa dobro hoćete mi reć jel ovo dobro ili nije?
Umirem od znatiželje
_________________ Click me !
_______________________
Bad panda!
|
|
[Vrh] |
|
krcko Forumaš nagrađen za životno djelo
Pridružen/a: 07. 10. 2002. (15:57:59) Postovi: (18B3)16
|
|
[Vrh] |
|
C'Tebo Moderator
Pridružen/a: 03. 11. 2002. (18:40:48) Postovi: (26A)16
Lokacija: Zagreb
|
Postano: 0:22 uto, 10. 12. 2002 Naslov: |
|
|
A znači ni ti ne znash.
Joooooj, milo moje.....
Aj bash da vidim :)
A znači ni ti ne znash.
Joooooj, milo moje.....
Aj bash da vidim
_________________ Click me !
_______________________
Bad panda!
|
|
[Vrh] |
|
|