Re: Εργαστηριακη ασκηση 9

Διδάσκοντες: Α. Καράκος, Αν. Καθηγητής

Εργαστηριακη ασκηση 9

Δημοσίευσηαπό lamgramm » 07 Σεπ 2008, 18:15

Παιδια μηπως εχει καποιος τη λυση της εργαστηριακης ασκησης 9 που βρισκεται στον pericles με τον τιτλο επαναληπτικες ασκησεις??
Άβαταρ μέλους
lamgramm
Full Member
 
Δημοσιεύσεις: 113
Εγγραφή: 10 Ιουν 2008, 15:44

Re: Εργαστηριακη ασκηση 9

Δημοσίευσηαπό megatron » 07 Σεπ 2008, 23:01

lamgramm έγραψε:Παιδια μηπως εχει καποιος τη λυση της εργαστηριακης ασκησης 9 που βρισκεται στον pericles με τον τιτλο επαναληπτικες ασκησεις??

Ναι παιδιά, κάποιος αν έχει την άσκηση 9 από τον περικλη, χρειαζόμαστε βοήθεια...Ίσως κάποιος από τους πρωτοετείς...pleaseeee!!! ???
Άβαταρ μέλους
megatron
Hero Member
 
Δημοσιεύσεις: 979
Εγγραφή: 08 Απρ 2008, 17:46
Φοιτητής ΗΜΜΥ: Όχι

Re: Εργαστηριακη ασκηση 9

Δημοσίευσηαπό patirgerasimos » 08 Σεπ 2008, 09:50

μηπως εννοει τη περιπτωση ο ενας κυκλος να ειναι μεσα στον αλλο ???
Άβαταρ μέλους
patirgerasimos
Hero Member
 
Δημοσιεύσεις: 1158
Εγγραφή: 09 Απρ 2008, 20:02
Τοποθεσία: Μονή Εσφιγμένου

Re: Εργαστηριακη ασκηση 9

Δημοσίευσηαπό megatron » 08 Σεπ 2008, 09:53

Stokos έγραψε:Τι εννοεί εφάπτονται εσωτερικά και εξωτερικά? Απ'όσο ξέρω 2 κύκλοι ή θα εφάπτονται ή όχι...
(Για να εφάπτονται πρέπει η απόσταση των κέντρων τους να είναι ίσο με το άθροισμα των ακτίνων τους).


Φίλε μου asteriane, είναι επίσης δυνατό να εφάπτονται και εσωτερικά, όταν ο ένας κύκλος είναι μικρότερος από τον άλλο, και η απόσταση των κέντρων τους τότε θα είναι η διαφορά των ακτίνων τους.Αν R η ακτίνα του "μεγάλου" κύκλου και r η ακτίνα του "μικρού" κύκλου, τότε η αποσταση d θα είναι R-r...Δηλαδή ο ένας μέσα στον άλλο, όπως αναφέρει ο patirgerasimos... ;)
Άβαταρ μέλους
megatron
Hero Member
 
Δημοσιεύσεις: 979
Εγγραφή: 08 Απρ 2008, 17:46
Φοιτητής ΗΜΜΥ: Όχι

Re: Εργαστηριακη ασκηση 9

Δημοσίευσηαπό asterianos » 08 Σεπ 2008, 10:28

μια ερωτηση. Ποτε μιλησα εγω?
Ηλεκτρο...λόγοι ενός Ηλεκτρολόγου
Άβαταρ μέλους
asterianos
Full Member
 
Δημοσιεύσεις: 112
Εγγραφή: 04 Απρ 2008, 11:30

Re: Εργαστηριακη ασκηση 9

Δημοσίευσηαπό megatron » 08 Σεπ 2008, 10:42

Sorry φίλε asteriane,έκανα λάθος...Για το προηγούμενο quote του συνάδελφου Stokou μιλούσα.... :P
Άβαταρ μέλους
megatron
Hero Member
 
Δημοσιεύσεις: 979
Εγγραφή: 08 Απρ 2008, 17:46
Φοιτητής ΗΜΜΥ: Όχι

Re: Εργαστηριακη ασκηση 9

Δημοσίευσηαπό Stokos » 08 Σεπ 2008, 11:40

Μια πρόχειρη λύση:

Κώδικας: Επιλογή όλων
   Program Askisi9
      integer N
      write(*,*) "Dwse to N"
      read(*,*) N
      call CreateFiles(N)
      call ReadFiles(N)
   end
   



   Subroutine CreateFiles(N)
      open(10, File = 'Data1.txt', Status = 'NEW', Form = 'FORMATTED',
     &       Access = 'Sequential')
      open(20, File = 'Data2.txt', Status = 'NEW', Form = 'FORMATTED',
     &       Access = 'Sequential')
      
      do i=1,N
         write(10,11) 25*rand(), 25*rand(), 10*rand()
         write(20,11) 25*rand(), 25*rand(), 10*rand()
11         format(3F10.3)
      end do
      
      close(10)
      close(20)
      
      return
   end Subroutine CreateFiles




   Subroutine ReadFiles(N)
      dimension A(N,6)
      real x,y,z

         open(10, File = 'Data1.txt', Status = 'OLD',
     &           Form = 'FORMATTED', Access = 'Sequential')
         open(20, File = 'Data2.txt', Status = 'OLD',
     &           Form = 'FORMATTED', Access = 'Sequential')
         
      do i=1,N
         read(10,12) A(i,1), A(i,2), A(i,3)
         read(20,12) A(i,4), A(i,5), A(i,6)
12         format(3F10.3)
      end do
      
      
!      Elegxos gia to ean oi kykloi efaptonte
      do i=1,N
!         Apostash Kentrwn
         x = (A(i,1)-A(i,4))**2 + (A(i,2)-A(i,5))**2
         x = sqrt(x)
!         A8roisma Aktinwn
         y = A(i,3) + A(i,6)
!         Diafora Aktinwn (Apolyth timh)
         z = Abs(A(i,3) - A(i,6))

         if(x.eq.y) then
            write(*,13) A(i,1),A(i,2),A(i,3),A(i,4),A(i,5),A(i,6)
         end if
         if(x.eq.z) then
            write(*,14) A(i,1),A(i,2),A(i,3),A(i,4),A(i,5),A(i,6)
         end if

13         format("O kyklos me kentro (",F10.3,",",F10.3,")
     &         kai aktina ",F10.3," efaptetai eκswterika me to
     &         kyklo me kentro(",F10.3,",",F10.3,")
     &         kai aktina ",F10.3)
14         format("O kyklos me kentro (",F10.3,",",F10.3,")
     &         kai aktina ",F10.3," efaptetai eswterika me to
     &         kyklo me kentro(",F10.3,",",F10.3,")
     &         kai aktina ",F10.3)
      end do

      close(10)
      close(20)
      
      return
   end Subroutine ReadFiles

!   TO DO:
!      * Data2.txt prepei na einai Binary format ( format(B10.3) )
!      * O upologismos tou ean oi kykloi efaptonte h oxi na mpei se 3h Subroutine
!      * O pinakas A na eisagetai me thn entolh COMMON sth nea subroutine


Σημειώσεις:
* Το Data2.txt πρέπει να είναι στο δυαδικό σύστημα, οπότε κατά την εγγραφή πρέπει να χρησιμοποιηθεί το format(B10.3) όμως κατά την ανάγνωση του αρχείου (με format επίσης B10.3) μου χτυπούσε error γιατί δε μπορούσε να κάνει cast τον δυαδικό αριθμό σε δεκαδικό. Θα το ψάξω και θα σας πω... προς το παρόν και τα 2 files είναι σε real format.

* Το σωστό θα ήταν να μεταφέρετε τo κομμάτι της 2ης subroutine από το σχόλιο "Elegxos gia to ean oi kykloi efaptonte" σε μια τρίτη subroutine και να μεταφέρεται τον πίνακα Α με την εντολή Common. Εγώ τα έγραψα μαζεμένα λόγω έλλειψης χρόνου.

* Προφανώς η πιθανότητα 2 κύκλοι να εφάπτονται με random real αριθμούς (3 δεκαδικών ψηφίων μάλιστα!) είναι πάρα πάρα πολύ μικρή επομένως το πρόγραμμα σπάνια δίνει ότι κάποιοι κύκλοι εφάπτονται, εκτός για αστρονομικά N (για τα οποία το πιθανότερο είναι να σας βγάλει overflow  :P )

* Κάθε φορά πριν εκτελέσετε το πρόγραμμα διαγράψτε τα αρχεία data1.txt και data2.txt γιατί θα σας βγάλει error στο createfiles.
Τελευταία επεξεργασία από Stokos και 08 Σεπ 2008, 11:49, έχει επεξεργασθεί 1 φορά/ες συνολικά
Stokos
 

Re: Εργαστηριακη ασκηση 9

Δημοσίευσηαπό megatron » 08 Σεπ 2008, 14:42

Οκ φίλε Stokos, ευχαριστούμε για την λύση που παράθεσες,(η οποία ήταν αρκετά εμπεριστατωμένη...).Για οτιδήποτε άλλο, μπορεί να σε ξαναχρειαστούμε... :)
Άβαταρ μέλους
megatron
Hero Member
 
Δημοσιεύσεις: 979
Εγγραφή: 08 Απρ 2008, 17:46
Φοιτητής ΗΜΜΥ: Όχι

Re: Εργαστηριακη ασκηση 9

Δημοσίευσηαπό mpak4 » 08 Σεπ 2008, 15:45

ορίστε ρε lamgram που κλαιγόσουν κιόλας οτι δεν σου μιλάνε! :P :P
Εικόνα
Άβαταρ μέλους
mpak4
Jr. Member
 
Δημοσιεύσεις: 69
Εγγραφή: 07 Απρ 2008, 18:35
Τοποθεσία: xanthi

Re: Εργαστηριακη ασκηση 9

Δημοσίευσηαπό lamgramm » 08 Σεπ 2008, 17:02

thanks stokos εισαι ολα τα λεφτα!!!!!!!!

Εσυ παλι mpak4 μου φαινεται δεν εχεις τι να κανεις και γραφεις post στα χαμενα!!
Άβαταρ μέλους
lamgramm
Full Member
 
Δημοσιεύσεις: 113
Εγγραφή: 10 Ιουν 2008, 15:44

Re: Εργαστηριακη ασκηση 9

Δημοσίευσηαπό mpak4 » 08 Σεπ 2008, 19:02

εσυ lamgram εχεις τι να κάνεις? προσεχε στη fortran να πας να δώσεις μην το ξεχάσεις!!
Εικόνα
Άβαταρ μέλους
mpak4
Jr. Member
 
Δημοσιεύσεις: 69
Εγγραφή: 07 Απρ 2008, 18:35
Τοποθεσία: xanthi

Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση : Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης