Σελίδα 8 από 17

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

Δημοσιεύτηκε: Πέμ, 09 Ιούλ 2009 1:49 am
από akis
apoa έγραψε:Είμαι μεγαλύτερο έτος και προσπαθώ να τελειώνω με αυτό το μάθημά ,μπορεί κάποιος να μου λύσει κάποιες απορίες:
1) πως γίνετε το διάγραμμα ροης για υποπρόγραμμα;
2) οι πράξεις που έχουν αριστερό μέρος πραγματικό αριθμό και δεξιό ακέραιο επιτρέπονται;
Π.Χ αν γράψω Α= 1+ Κ, οπού K=2 , θα μου δώσει 3.0? Ή αν κανω L= 5/2 θα μου βγάλει 2 και θα κόψει το 0.5?
3) για να κανω ένα πραγματικό ακέραιο αρκεί μόνο να γράψω Π.χ L=P; Και το αντίθετο ;
ευχάριστο σάς παρακαλώ κάποιος να βοηθήσει
Το Α=1+Κ ειναι σωστο...
Το L=5/2 θα σου δωσει L=2 τελικα...
Το L=P και το αντιστροφο εξυπηρετουν αυτο που θες και επιτρεπονται... Συνηθως οταν εχεις τη μεταβλητη Χ για να την κανεις ακεραια την γραφεις ΙΧ οχι οτι ειναι υποχρεωτικο...
Λαθος ειναι να εχεις ακεραιες και πραγματικες εκφρασεις στο δεξι μελος δλδ Ι=(Α*Β)**χ+2 (το 2 επρεπε να ειναι 2.0)...
Εξαλλου τα λεει κι ο Γιαννοπουλος (αντε παλι διαφημιση) στο κεφαλαιο 9 (9.4,9.5,9.6) και στις ασκησεις του ιδιου κεφαλαιου...

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

Δημοσιεύτηκε: Πέμ, 09 Ιούλ 2009 12:21 pm
από morisson
akis έγραψε:

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

     PROGRAM POLLOI
      DIMENSION KP(100),LP(100)
      COMMON K,L,M,KP,LP,I
      READ (*,*) M
      CALL JONNY
      DO 100 J = 1,I
      WRITE (*,*) KP(J),LP(J)
  100 CONTINUE
      WRITE (*,*) I
      STOP
      END
      
      SUBROUTINE JONNY
      DIMENSION KP(100),LP(100)
      COMMON K,L,M,KP,LP,I
      I = 0
      DO 100 K = 1,M
      DO 100 L = 1,M
      IF (M**2.NE.(K**2+L**2)) GO TO 100
      I = I+1
      KP(I) = K
      LP(I) = L
      KP(I+1) = -K
      LP(I+1) = -L
      KP(I+2) = K
      LP(I+2) = -L
      KP(I+3) = -K
      LP(I+3) = L
      I = I+3
  100 CONTINUE
      KP(I+1) = 0
      LP(I+1) = M
      KP(I+2) = 0
      LP(I+2) = -M
      KP(I+3) = M
      LP(I+3) = 0
      KP(I+4) = -M
      LP(I+4) = 0
      I = I+4
      RETURN
      END
Το προηγουμενο προγραμμα ειναι (φεβρουαριος 2004 θεμα 2) επαναδημοσιευμενο γιατι υπηρχε ενα λαθακι...
>παρεμπιπτόντως νομίζω ακόμη ένας καλός τρόπος είναι να θέσεις L=SQRT(M**2-K**2) να τρέξεις μία φορά με DO απο 1 εως Μ(για το K) και η συνθήκη που θα εξετάζεις για να πάρεις τους αριθμούς σου ειναι INT(L)=L.

Μήπως κάποιος μπορεί να μου πεί τι πρόβλημα έχει το πρόγραμματα του Γιαννόπουλου(στο βιβλίο) για το γινόμενο πινάκων?Θυμάμαι κάτι διόρθωνε αλλά δεν τον έχω σημειώσει :roll:(σελ 132)

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

Δημοσιεύτηκε: Πέμ, 09 Ιούλ 2009 12:28 pm
από airetikos
ξέρει κανένας ποιός διορθώνει και ποιός βάζει θέματα ? και πόση ώρα συνήθως δίνουν

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

Δημοσιεύτηκε: Πέμ, 09 Ιούλ 2009 12:56 pm
από akis
morisson έγραψε:Μήπως κάποιος μπορεί να μου πεί τι πρόβλημα έχει το πρόγραμματα του Γιαννόπουλου(στο βιβλίο) για το γινόμενο πινάκων?Θυμάμαι κάτι διόρθωνε αλλά δεν τον έχω σημειώσει :roll:(σελ 132)
Στη σελιδα 98 που αναφερει το γινομενο πινακων πρωτη φορα ειναι οκ...
Στη σελιδα 132 ειναι εντελως λαθος και το σωστο ειναι:
DO 10 I=1,15
DO 10 J=1,16
F(I,J)=0
DO 10 K=1,25
10 F(I,J)=F(I,J)+D(I,J)*E(I,J)

Kαλοφαγωτο!!!

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

Δημοσιεύτηκε: Πέμ, 09 Ιούλ 2009 1:34 pm
από shaman
παιδια τα προγραμματα που λυνει ο Γιαννοπουλος στο mycourses εχουν λαθη ή ειναι ιδεα μου?

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

Δημοσιεύτηκε: Πέμ, 09 Ιούλ 2009 1:36 pm
από akis
Παιζει να εχουν λαθη αν σκεφτεις οτι και το βιβλιο του ειναι γεματο απο δαυτα...

Ρε παιδια το STOP στο διαγραμμα ροης σε τι σχημα το βαζουμε;

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

Δημοσιεύτηκε: Πέμ, 09 Ιούλ 2009 2:27 pm
από gandalf
Σε έλλειψη δεν το βάζουμε? (εγω θα στα λεω ρε αλητη? :lol: )

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

Δημοσιεύτηκε: Πέμ, 09 Ιούλ 2009 2:30 pm
από akis
Ναι τωρα που το λες και το παρατηρω σε ελλειψη το βαζουμε...
Βεβαια σε ολες τις σημειωσεις μου το εβαζα σε ορθογωνιο γι αυτο μπερδευτηκα... :mrgreen:

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

Δημοσιεύτηκε: Πέμ, 09 Ιούλ 2009 2:30 pm
από intelx86
Τίποτα. Παραλείπεται. Απλά σε μία έλλειψη ένα αρχή και τέλος και κυκλάκια με νούμερα για τα ενδιάμεσα στάδια. Πχ. όταν θες να αλλάξεις σελίδα ή να προσθέσεις κάτι στο ενδιάμεσο που το θυμήθηκες μετά, βάζεις ένα κυκλάκι με αύξων αριθμό 1 και στην άλλη σελίδα πάλι το κυκλάκι με το 1 μέσα για να συνεχίσει η ροή του προγράμματος. Όταν θες να βάλεις ένα διάγραμμα ροής εμβόλιμο, γιατί είχες ξεχάσει κάτι, τότε ένα κυκλάκι με τον αριθμό 1 και αμέσως μετά ένα με τον αριθμό 2. Έτσι παραπέμπεις στο νέο κώδικα οποίος όμως τελειώνει υποχρεωτικά με το 2 για να επιστρέψεις στο κύριο πρόγραμμα.

Παραθέτω ένα διάγραμμα ροής για να καταλάβετε πόσο ελεύθερη είναι η σύνταξή του.
Σημείωση: οι εντολές εισόδου/εξόδου κανονικά έχουν πλάγιο παραλληλόγραμμο.
Figure14.1.png

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

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