Προς το περιεχόμενο

epeigousa erwthsh please!!!


olga

Προτεινόμενες αναρτήσεις

Δημοσ.

Pws ginetai enas anadromikos algorithmos me onoma DYNAMH me th morfh pseudokwdika, gia thn ypswsh akeraiou arithmou sw akeraia thetikh dynamh me bash auton ton typo

a b = a (B) DIV (2) * a (b+1) DIV (2)

 

YG: OTI DEN EINAI bold EINAI EKTHETHS

 

 

THANKS A LOT

Δημοσ.

Έτσι όπως το γράφεις δεν ζητάς να σου πούμε κάτι συγκεκριμένο, αλλά μπορώ να σου πω ότι είναι αναδρομικός ο αλγόριθμος επειδή...:

 

a^(b)DIV(2)*a^(b+1)DIV(2)=

a^(b)DIV(2)*a^(b)DIV(2)*a^(1)DIV(2)=

a^(B)*a^(1)DIV(2)=

a^(B)*a^(T)=

a^(B)+(T)

 

Οπότε πράγματι έχεις έναν αναδρομικό αλγόριθμο του οποίου η έξοδος εξαρτάται από την επόμενη τιμή... τέτοιου ελιδους αλγόριθμοι χρησιμοποιούνται στα DSP για φιλτράρισμα δειγμάτων...

Μετά από αυτό τι ακριβώς θέλεις...? Να πραγματοποιείς το αλγόριθμο...? Τότε απλά χρησιμοποιείς έναν BUFFER από τον οποίο παίρνεις την τιμή του α^(Τ) και υπολογίζεις την έξοδο σου με καθυστέρηση σταθεράς χρόνου (Τ)... οπότε το σύστημα σου δεν είναι real time (επειδή είναι αναδρομικό ούτως ή άλλως) αλλά με delay... όπως και να έχει χρειάζεσαι τον buffer που θα κάνει τον υπολογισμό και η έξοδος σου θα είναι πάντα πίσω κατά (Τ)...

Αυτό μπορείς να το κάνεις με διάφορες γλώσσες προγραμματισμού... εξαρτάται τι χρησιμοποιείς εσύ...

Δημοσ.

Αν και αυτό μοιάζει με εργασία στη Γ Λυκείου, μία λύση ίσως θα ήταν η εξής:

 

 

ΣΥΝΑΡΤΗΣΗ ΔΥΝΑΜΗ(a,B):INTEGER;

ΔΙΕΠΑΦΗ

ΕΙΣΟΔΟΣ

a,b: INTEGER;

ΑΡΧΗ

EΑΝ b=0 TOTE ΔΥΝΑΜΗ:=1

EAN b=1 TOTE ΔΥΝΑΜΗ:=a

ΑΛΛΙΩΣ ΔΥΝΑΜΗ:=ΔΥΝΑΜΗ(a,b div 2) * ΔΥΝΑΜΗ(a,(b+1) div 2);

ΤΕΛΟΣ-ΣΥΝΑΡΤΗΣΗΣ

Δημοσ.

eyharistw gia thn amesh antapokrish sas, alla auto pou thelw einai na graftei me thn morfh pseudokwdika sta ellinika

ΑΡΧΗ

. ..ΕΝΤΟΛΕΣ

ΤΕΛΟΣ

 

DEN KSERW AN KATALABATE...,peripou opws h apanthsh tou sta

 

EYXARISTW...

Δημοσ.

an katalava kala theleis na sou poume ton algorithmo?

vasika se enan algorithmo xrisimopioume kai kapoia sxedia, analoga ti theloume na knoume an einai ena loop, mia entoli ena apotelesma h telos pantos to kathena mpenei sto dikotou sxedio! kati tetoio theleis? giati i lisi pou sou edose o sta pistevo oti einai edaxei an de zitas kati tetoio!

Δημοσ.

Μία απλή ΑΝΑΔΡΟΜΙΚΗ συνάρτηση είναι η επόμενη ΔΥΝΑΜΗ(a,B), όπου υποθέτουμε ότι υψώνουμε το a στην b (τα a,b είναι ακέραιοι και το b θετικός).

 

ΣΥΝΑΡΤΗΣΗ ΔΥΝΑΜΗ(a,B):INTEGER;

ΔΙΕΠΑΦΗ

ΕΙΣΟΔΟΣ

a,b: INTEGER;

ΑΡΧΗ

EΑΝ b=0 TOTE ΔΥΝΑΜΗ:=1

EAN b=1 TOTE ΔΥΝΑΜΗ:=a

ΑΛΛΙΩΣ ΔΥΝΑΜΗ:=a * ΔΥΝΑΜΗ(a,b-1);

ΤΕΛΟΣ-ΣΥΝΑΡΤΗΣΗΣ

 

Η συνάρτηση αυτή εκτελεί b-1 πολλαπλασιασμούς για να βρει το αποτέλεσμα της ύψωσης ab. Δηλαδή αν θέλαμε να υψώσουμε το 2^12 με βάση τον παραπάνω αλγόριθμο πρέπει να εκτελεστούν 11 πολλαπλασιασμοί.

Ωστόσο, μπορούμε να υψώσουμε σε δύναμη με έναν εναλλακτικό αλγόριθμο. Για παράδειγμα, παρατηρούμε ότι αν υψώσουμε το a στο τετράγωνο με έναν πολλαπλασιασμό (δηλαδή, a*a = a2), τότε το a4 μπορεί να προκύψει με έναν επιπλέον πολλαπλασιασμό (δηλαδή, a2* a2) αντί για άλλους δύο (π.χ. a2*a* a).

τοτε ισχύει ο παραπάνω τύπος που σας έγραψα

Δημοσ.

Μιάς και το θέτεις έτσι, μία πιθανή λύση θα ήταν η εξής:

 

>
ΣΥΝΑΡΤΗΣΗ ΔΥΝΑΜΗ(a,b):INTEGER; 
ΔΙΕΠΑΦΗ 
ΕΙΣΟΔΟΣ 
  a,b: INTEGER; 
ΑΡΧΗ 
  EΑΝ b=0 TOTE ΔΥΝΑΜΗ:=1 
  EAN b=1 TOTE ΔΥΝΑΜΗ:=a 
  ΑΛΛΙΩΣ
     ΕΑΝ (b είναι άρτιος) ΤΟΤΕ
        ΔΥΝΑΜΗ:=ΔΥΝΑΜΗ(a,b div 2) ^2 ;
     ΑΛΛΙΩΣ
        ΔΥΝΑΜΗ:=(ΔΥΝΑΜΗ(a,b div 2) ^2)*a;
ΤΕΛΟΣ-ΣΥΝΑΡΤΗΣΗΣ

 

Με την έκφραση ^2 εννοείται ύψωση στο τετράγωνο.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...