Τώρα είναι Πέμ 28 Μαρ 2024 09:58 pm

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]




Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 4 Δημοσιεύσεις ] 
Συγγραφέας Μήνυμα
ΔημοσίευσηΔημοσιεύτηκε: Πέμ 20 Μάιος 2004 11:05 am 
Χωρίς σύνδεση

Εγγραφή: Πέμ 22 Απρ 2004 11:16 am
Δημοσιεύσεις: 60
Τοποθεσία: Θεσσαλονίκη
Μήπως είναι αργός ο υπολογιστής μου ???

Ας προσπάθήσουμε να το εξακριβώσουμε .......

Οι επόμενοι αλγόριθμοι αφορούν την εύρεση ΜΚΔ δύο φυσικών αριθμών..... Φυσικά το ενδιαφέρον δεν βρίσκεται εδω......! :D .... αλλα στο γεγονός των επαναλήψεων που εκτελούν. Νομίζω ότι θα συμφωνήσουμε πως ο πρωταρχικός μας σκοπός δεν είναι εξ αρχής ο βέλτιστος αλγόριθμος, αλλά απλώς ένας αλγόριθμος που λύνει σώστα το πρόβλημα μας, για κάθε όμως συνδιασμό δεδομένων, ή εν πάσει περιπτώση για κάθε συνδιασμό δεδομένων που βρίσκονται μέσα σε κάποια όρια που θέτουμε εμείς εξ αρχής.

Ο επόμενος αλγόριθμος υλοποιεί μια πρόταση για τη εύρευση ΜΚΔ δύο φυσικών αριθμών, και αποτελεί μια λύση ενός μαθητή μου, που όπως παρατηρεί κανείς εύκολα, μαλλον χαρακτηρίζεται από λίγο "περίπλοκη" σκέψη. Ηταν μεγάλη η έκπληξη μου όταν τον είδα, και ομολογώ ότι πραγματικά χάρικα πολύ, γιατι όπως κατανοείτε, αυτή η λύση δίνει "βούτυρο στο ψωμί" κάθε διδάσκοντα, για να μιλήσει για το τι σημαίνει "βέλτιστη λύση" και ρεαλιστικός χρόνος εκτελεσης ενός αλγοριθμου. Το μόνο που του πρόσθεσα ήταν ο μετρητής των ελέγχων (επαναλήψεων ακριβέστερα) που εκτελεί ο συγκεκριμένος αλγόριθμος......

Και όταν λοιπόν τον "δοκιμάσαμε" μπροστά στη γλωσσομάθεια και παρατηρήσε το μετρήσιμο πραγματικά χρόνο για τον υπολογισμό ΜΚΔ μεταξύ πχ 9856 και 8960 (υπολογίζει φυσικά σωστά το ΜΚΔ=896) παρατήρησε πως ο αλγόριθμος του εκτελεί 80.298.626 επαναλήψεις....... Δεν το σηζητούμε να δοκιμάσετε πχ 98560 και 89600 ..... αν δεν κολήσει ο Η/Υ καλίτερα δοκιμάστε να πάτε καμιά βολτίτσα....... Κλείνω παραθέτωντας τον αλγόριθμο (ελπίζοντας πως δεν έγινα κουραστικός).... και φυσικά θα ήθελα τα σχολια σας επί του θέματος......

Syntax: [ Download ] [ Hide ]
ΠΡΟΓΡΑΜΜΑ Μεγιστος_Κοινός_Διαιρέτης_1
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ:Α,Β,i,j,ΜΚΔ,ελ
  ΛΟΓΙΚΕΣ: βρεθηκε
ΑΡΧΗ
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'Δώσε 1ο θετικό ακέραιο'
    ΔΙΑΒΑΣΕ Α
  ΜΕΧΡΙΣ_ΟΤΟΥ Α>0

  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'Δώσε 2ο θετικό ακέραιο'
    ΔΙΑΒΑΣΕ Β
  ΜΕΧΡΙΣ_ΟΤΟΥ Β>0

  ελ <-- 0
  βρεθηκε <-- ψευδής

  i <-- Α
  ΟΣΟ (i>=1) ΚΑΙ (ΟΧΙ βρεθηκε) ΕΠΑΝΑΛΑΒΕ
    j <-- Β
    ΟΣΟ (j>=1) ΚΑΙ (ΟΧΙ βρεθηκε) ΕΠΑΝΑΛΑΒΕ
      ΑΝ (Α MOD i =0) ΚΑΙ (Β MOD j=0) ΚΑΙ (i=j) ΤΟΤΕ
        βρεθηκε <-- αληθής
        ΜΚΔ <-- i
      ΤΕΛΟΣ_ΑΝ
      j <-- j-1
      ελ <-- ελ+1
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    i <-- i-1
    ελ <-- ελ+1
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΡΑΨΕ 'Μεγιστος Κοινός Διαιρέτης των ',Α, ' και ',Β,' είναι το ', ΜΚΔ
  ΓΡΑΨΕ 'Πραγματοποιήθηκαν ',ελ, ' έλεγχοι'
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


!---------------------------------------------------

 


Syntax: [ Download ] [ Hide ]
ΠΡΟΓΡΑΜΜΑ Μεγιστος_Κοινός_Διαιρέτης_2
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ:Α,Β,ΜΚΔ,ελ
ΑΡΧΗ
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'Δώσε 1ο θετικό ακέραιο'
    ΔΙΑΒΑΣΕ Α
  ΜΕΧΡΙΣ_ΟΤΟΥ Α>0

  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'Δώσε 2ο θετικό ακέραιο'
    ΔΙΑΒΑΣΕ Β
  ΜΕΧΡΙΣ_ΟΤΟΥ Β>0

  ΜΚΔ <-- Α
  ΑΝ Β<Α ΤΟΤΕ
    ΜΚΔ <-- Β
  ΤΕΛΟΣ_ΑΝ

  ελ <-- 0
  ΟΣΟ ((Α MOD ΜΚΔ)<>0) Η((Β MOD ΜΚΔ)<>0) ΕΠΑΝΑΛΑΒΕ
    ΜΚΔ <-- ΜΚΔ-1
    ελ <-- ελ +1
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ 'Μεγιστος Κοινός Διαιρέτης των ',Α, ' και ',Β,' είναι το ', ΜΚΔ
  ΓΡΑΨΕ 'Πραγματοποιήθηκαν ',ελ, ' έλεγχοι'
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
 


Και φυσικά ο μεγαλιώδης αλγόριθμος του Ευκλείδη που για τους αριθμούς 9856 και 8960 (εκτελεί 3 επαναλήψεις !!!!!!!!!!!) . Αν αυτό δεν είναι εντυπωσιακό για ένα μαθητή τοτε τι είναι ????

Syntax: [ Download ] [ Hide ]
ΠΡΟΓΡΑΜΜΑ Μεγιστος_Κοινός_Διαιρέτης_Ευκλείδη
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ:Α,Β,temp,ΜΚΔ,ελ
ΑΡΧΗ
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'Δώσε 1ο θετικό ακέραιο'
    ΔΙΑΒΑΣΕ Α
  ΜΕΧΡΙΣ_ΟΤΟΥ Α>0

  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'Δώσε 2ο θετικό ακέραιο'
    ΔΙΑΒΑΣΕ Β
  ΜΕΧΡΙΣ_ΟΤΟΥ Β>0

  ΓΡΑΨΕ 'Μεγιστος Κοινός Διαιρέτης των ',Α, ' και '
  temp <-- Α
  ελ <-- 0
  ΟΣΟ temp<>0 ΕΠΑΝΑΛΑΒΕ
    temp <-- Β MOD Α
    Β <-- Α
    Α <-- temp
    ελ <-- ελ +1
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΜΚΔ <-- Β
  ΓΡΑΨΕ 'Eίναι το ', ΜΚΔ
  ΓΡΑΨΕ 'Πραγματοποιήθηκαν ',ελ, ' έλεγχοι'
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
 


Κορυφή
 Προφίλ  
Απάντηση με παράθεση  
 Θέμα δημοσίευσης: Σχόλιο στο θέμα
ΔημοσίευσηΔημοσιεύτηκε: Πέμ 26 Ιαν 2006 10:27 pm 
Χωρίς σύνδεση

Εγγραφή: Πέμ 17 Νοέμ 2005 06:46 pm
Δημοσιεύσεις: 4
Τοποθεσία: Αθήνα
Πολύ καλή εργασία . Με λίγα σχόλια στους αλγόριθμους θα μπορούσε να δοθεί στους μαθητές για μελέτη στο σπίτι και ανάπτυξη στην τάξη.


Κορυφή
 Προφίλ  
Απάντηση με παράθεση  
 Θέμα δημοσίευσης:
ΔημοσίευσηΔημοσιεύτηκε: Κυρ 12 Νοέμ 2006 10:18 pm 
Χωρίς σύνδεση

Εγγραφή: Κυρ 12 Νοέμ 2006 09:56 pm
Δημοσιεύσεις: 2
απλα για να υπαρχει,μια cpu μπορει να λυσει μια εξισωση με 10 αγνωστους (διοφαντικές) με διαδικασια επαναληψεων σε 1/10 του sec.. :lol:

_________________
yparxoun 10 eidi anthrwpwn..autoi pou katalavainoun to duadiko sustima kai autoi pou den to katalavainoun..


Κορυφή
 Προφίλ  
Απάντηση με παράθεση  
ΔημοσίευσηΔημοσιεύτηκε: Δευτ 17 Νοέμ 2008 10:06 pm 
Χωρίς σύνδεση
Διαχειριστής

Εγγραφή: Παρ 28 Φεβ 2003 06:10 pm
Δημοσιεύσεις: 84
Ακολουθεί το διάγραμμα ροής του 1ου προγράμματος, όπως το δημιούργησε η έκδοση 9.2 της ΓλωσσοΜάθειας.
Παρατίθεται για μια πρώτη γνωριμία με αυτή τη νέα δυνατότητα...


Συνημμένα:
argos_ypologistis.png
argos_ypologistis.png [ 74.24 KiB | 7511 προβολές ]
Κορυφή
 Προφίλ  
Απάντηση με παράθεση  
Τελευταίες δημοσιεύσεις:  Ταξινόμηση ανά  
Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 4 Δημοσιεύσεις ] 

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]


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

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


Δεν μπορείτε να δημοσιεύετε νέα θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να απαντάτε σε θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επεξεργάζεστε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να διαγράφετε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επισυνάπτετε αρχεία σε αυτή τη Δ. Συζήτηση

Αναζήτηση για:
Μετάβαση σε:  
Προβολές: