Σελίδα 9 από 17

Re: Προγραμματισμός Η/Υ (2008-09)

Δημοσιεύτηκε: Πέμ, 09 Ιούλ 2009 3:55 pm
από akrovolistos
Το READ(5,*) A(I) θα διαβάσει ένα στοιχείο μόνο (με ότι τιμή έχει το Ι).
Για να διαβάσεις όλο τον πίνακα πρέπει να διαβάσεις επαναληπτικά.

Re: Προγραμματισμός Η/Υ (2008-09)

Δημοσιεύτηκε: Πέμ, 09 Ιούλ 2009 3:58 pm
από morisson
gandalf έγραψε:Βλέπω σε κάποιες ασκήσεις ότι για να διαβάσει το πρόγραμμα τα στοιχεία ενός πίνακα, δεν αρκεί να γράψουμε ας πούμε Read(5,*) A(I), αλλά πρέπει να το βάλουμε μέσα σε βρόχο DO ώστε να διαβαστούν όλα τα στοιχεία του πίνακα. Δηλάδή DO 100 I=1,100 και μετά READ(5,*) A(I). Χρειάζεται αυτό ή γίνεται και με σκέτο READ χωρίς βρόχο?


χρειάζεται,γιατί ουσιαστικά με την εντολή READ διαβάζει ένα δεδομένο.Και το βάζει μέσα σε βρόχο για να συμπληρώσει τον πινακα.Ουσιαστικά κάνει 100 διαβάσματα... :D

Re: Προγραμματισμός Η/Υ (2008-09)

Δημοσιεύτηκε: Πέμ, 09 Ιούλ 2009 4:13 pm
από gandalf
Δίνεται µονοδιάστατο µητρώο ITEST µε Ν θετικά στοιχεία όπου Ν<=2000. Γράψτε ένα πρόγραµµα µε το αντίστοιχο διάγραµµα ροής το οποίο για κάθε στοιχείο του ITEST θα δηµιουργεί και θα εκτυπώνει τον διψήφιο που έχει για ψηφίο δεκάδων το ψηφίο των εκατοντάδων του στοιχειού του ITEST και ψηφίο µονάδων το ψηφίο επίσης των µονάδων του στοιχείου του ITEST.
(άσκηση από παλιό θέμα)

(thanx για το προηγούμενο)

Re: Προγραμματισμός Η/Υ (2008-09)

Δημοσιεύτηκε: Πέμ, 09 Ιούλ 2009 4:37 pm
από akrovolistos
gandalf έγραψε:Δίνεται µονοδιάστατο µητρώο ITEST µε Ν θετικά στοιχεία όπου Ν<=2000. Γράψτε ένα πρόγραµµα µε το αντίστοιχο διάγραµµα ροής το οποίο για κάθε στοιχείο του ITEST θα δηµιουργεί και θα εκτυπώνει τον διψήφιο που έχει για ψηφίο δεκάδων το ψηφίο των εκατοντάδων του στοιχειού του ITEST και ψηφίο µονάδων το ψηφίο επίσης των µονάδων του στοιχείου του ITEST.
(άσκηση από παλιό θέμα)
Χμ, το πλήθος των στοιχείων είναι < 2000 (Ν) ή το κάθε στοιχείο είναι < 2000 (ITEST(I)<2000, I=1...N). Διότι αν δεν έχουμε πληροφορία για το τι αριθμούς έχει το μητρώο (δηλαδή αν μπορεί να είναι 4/5/6 ψήφιοι τότε κάπου κολλάμε).

Re: Προγραμματισμός Η/Υ (2008-09)

Δημοσιεύτηκε: Πέμ, 09 Ιούλ 2009 4:46 pm
από morisson
έστω οτι ο αριθμός που διαβάζεις ήταν ο Ν(Ι)=25976

θέτεις Ν(Ι)=Χ(για να γινει πραγματικος)

διαιρεις δια 100.0 γίνεται 259,76

παιρνεις το ακεραιο μερος του INT(X)

δηλαδη εχεις παρει το 259

διαιρεις τον Χ δια 1000,0

γινεται 25,976

παιρνεις ακεραιο μεροσ οπως πριν(25)


το πολλαπλασιαζεις με το 100 γινεται 250

αφαιρεις το 250 απο το 259

ΒΡΗΚΕΣ ΤΙΣ ΕΚΑΤΟΝΤΑΔΕΣ

συνοπτικά NEKAT=INT(X/100)-100*INT(X/1000.0)

για δεκαδες ΝDEKAD=N(I)-10*INT(X/10.0)


(Το εκανα λίγο βιαστικά,αν εχω λαθος πειτε το! :D )

Re: Προγραμματισμός Η/Υ (2008-09)

Δημοσιεύτηκε: Πέμ, 09 Ιούλ 2009 4:53 pm
από akis
Προσεξε λιγο τα ονοματα των μεταβλητων σου ρε morisson... NEKATODADES... -5 θα σου βαλει ο Γιαννοπουλος αν το δει αυτο :lol:

Re: Προγραμματισμός Η/Υ (2008-09)

Δημοσιεύτηκε: Πέμ, 09 Ιούλ 2009 4:54 pm
από gandalf

Κώδικας: Επιλογή όλων

      PROGRAM ARITHM
      DIMENSION ITEST(2000)
10    READ(5,1000) N
1000  FORMAT(I3)
      IF(N.GT.2000.OR.N.LT.1) GO TO 10
      DO 100 I=1,N
      READ(5,1500) ITEST(I)
1500  FORMAT(I8)
100   CONTINUE
      DO 200 I=1,N
      K=(ITEST(I)/100)-(ITEST(I)/1000)*100
      L=(ITEST(I))-(ITEST/10)*10
      M=10*K+L
      WRITE(6,*) M
200   CONTINUE
      STOP
      END
κάπως έτσι εγώ το έγραψα...

Re: Προγραμματισμός Η/Υ (2008-09)

Δημοσιεύτηκε: Πέμ, 09 Ιούλ 2009 5:00 pm
από akis
Το πρωτο FORMAT γιατι το βαζεις Ι3 και οχι Ι4 αφου ειναι μεχρι 2000...
Κι αν καταλαβα καλα το GO TO 10 πηγαινει στο STOP στο τελος, ετσι δεν ειναι;

Re: Προγραμματισμός Η/Υ (2008-09)

Δημοσιεύτηκε: Πέμ, 09 Ιούλ 2009 5:04 pm
από morisson
στην μεταβλητή κ βγάζεις τις δεκάδες ενώ σου ζητά εκατοντάδες.Ετσι δεν είναι?

Re: Προγραμματισμός Η/Υ (2008-09)

Δημοσιεύτηκε: Πέμ, 09 Ιούλ 2009 5:09 pm
από gandalf
στην μεταβλητή κ βγάζεις τις δεκάδες ενώ σου ζητά εκατοντάδες.Ετσι δεν είναι?
Ναι τωρα το ειδα και το διόρθωσα.
Άκη το Go to 10 παει παλι στο READ για να ξαναδιαβάσει άλλη τιμη το Ν αν υπάρχει. το Format I4 πρέπει να ειναι...


πάρτε άλλη μία:

Στα πλαίσια ενός ερευνητικού προγράµµατοςµετρήθηκαν σε500 άτοµα(άντρες και γυναίκες) το ύψος και το βάρος. Τα αποτελέσµατα γράφονται σε αρχείο(κάρτες), µια γραµµή για κάθε άτοµοµε την εξήςµορφή: ITYP(I),H(I),W(I) µεFORMAT(I5,F10.0,F10.0) όπου ΙΤΥΡ(Ι) είναι7 για άντρες και8 για γυναίκες και Η(Ι),W(I) το ύψος σε εκατοστά και το βάρος σε κιλά αντίστοιχα. Να συνταχθεί πρόγραµµα που να διαβάζει το αρχείο και να βρίσκει (και εκτυπώνει) τα ακόλουθα:
• τον αριθµό των γυναικών NWOM και των ανδρών NMAN
• τοµέσο βάρος όλων των ατόµων AVW
• τοµέσο ύψος όλων των ατόµων AVH
• τοµέσο βάρος των γυναικών (AVWOM)
• τοµέσο βάρος των ανδρών (AVMAN)
• πόσες γυναίκες LWOM έχουν βάρος πάνω από τοµέσο βάρος
• πόσοι άντρες LMAN έχουν ύψος κάτω από τοµέσο ύψος.