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

Προβληματάκι με τη Γλωσσομάθεια ... Γίνεται ?


george_o/c

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

Δημοσ.

Γεια σας παιδιά ... Αν και αρκετό καιρό στο forum, και επειδή ασχολούμαι πολύ με το overclocking, δεν έχω ξαναγράψει σε αυτό το section ...

 

Είμαι πολύ αρχάριος στον προγραμματισμό (βασικά 3η Λυκείου πάω, και γνωρίζω μόνο όλα τα βασικά ... ;))

 

Η ερώτησή μου λοιπόν είναι η εξής ...

Ας υποθέσουμε ότι έχουμε ένα αριθμό π.χ. το 4,54289657148

Και τον πολλαπλασιάζουμε με το 32 * 10^6

Γίνεται με κάποιον τρόπο να βρούμε πόσο χρόνο θα κάνει ο υπολογιστής να βγάλει το αποτέλεσμα ... ?

Και ακόμα κάτι ... Γίνεται να χωριστεί ο χρόνος υπολογισμού σε 10 loops ας πούμε ? :fear:

 

Σας ευχαριστώ προκαταβολικά για το χρόνο σας :-)

 

Υ.Γ. Εκτός από Γλωσσομάθεια, έχω δουλέψει και alkisg (πολύ καλή btw ;)) [σαν αρχάριος που είμαι και εγώ :P], αν αυτό βοηθήσει κάπου ...

Δημοσ.

Εννοείς να βρεις τον χρόνο που θα κάνει χωρίς να τρέξεις το πρόγραμμα, ή να το τρέξεις και να δεις πόσο χρόνο θα κάνει ... ;

 

Αν εννοείς το δεύτερο γενικά ναι γίνεται, αλλά δεν ξέρω αν γίνεται με την γλωσσομάθεια (μάλλον όχι..)

 

Επίσης μια τέτοια απλή πράξη δεν έχει νόημα να την χωρίσεις σε loops. Πιο πολύ χρόνο θα καταναλώσει το loop παρά η ίδια η πράξη.

Δημοσ.

Δεν ξερω αν αυτο βοηθαει στην ερωτηση σου....

 

Αλλα αυτο που ρωτας ειναι θεμα της"πολλυπλοκοτητας"....

 

Ετσι ονομάζεται η επιστημη που μελεταει ποιο προγραμμα ειναι ποιο γρηγορο απο το αλλο...

Δημοσ.

Θα σας δώσω π.χ. ένα παράδειγμα ... το Super Pi ;)

Μπορεί να μετρήσει 1M / 2M / 4M / 8M pi ... και πάει λέγοντας ... Η διαδικασία χωρίζεται σε 19 loops ...

Μπορεί να πραγματοποιθεί κάτι παρόμοιο στη γλωσσομάθεια ? Αν και με λίγο searching που έκανα, νομίζω πως όχι δεν είναι εφικτό ;)

Δημοσ.

Με τη Γλωσσομάθεια δε νομίζω να μπορείς να χρησιμοποιήσεις κάτι που να παίζει το ρόλο του timer. Το μόνο πόυ ήρθε στο μυαλό μου εμένα είναι με την εντολή ΕΚΤΕΛΕΣΕ 'διαδρομή αρχείου' ( και ΠΑΡΑΛΛΗΛΗ_ΕΚΤΕΛΕΣΗ) να το συνδυαζες με ένα άλλο εκτελέσιμο πρόγραμμα γραμμένο σε άλλη γλώσσα πχ.Visual Basic η οποία θα χρησιμοποιεί timer. Αλλά και πάλι δεν είμαι καν σίγουρη αν πρόκειται για εφικτή λύση ή απλά για βλακεία που σκέφτηκα..

Δημοσ.

Ίσως πω βλακεία, μιας και σε κάτι τέτοιο καθαρή απάντηση μπορεί να δώσει κυρίως κάποιος καθαρός computer science / engineering αλλά θα το επιχειρήσω!

 

α) Αν θέλεις να βρεις τον χρόνο εκτέλεσης από πριν (a-priori) τότε μια διαισθητική απάντηση είναι πως αυτό εξαρτάται από την αρχιτεκτονική του υπολογιστή που τρέχει το πρόγραμμα και κυρίως το instruction-set του επεξεργαστή. Η υπόθεση εργασίας μου συνεχίζει ως εξής και λέει πως αρχικά πρέπει να βρεις ποιες πράξεις μπορεί να κάνει η CPU σε ένα μόνο instruction cycle (πχ μπορεί να είναι μόνο register operations, πρόσθεση των τιμών δύο register, ή ακόμα και πολλαπλασιασμός). Κάποιες αρχιτεκτονικές υποστηρίζουν πολυπλοκότερα instructions (πχ πολλαπλασιασμό αριθμών σταθερής/κινητής υποδιαστολής (οκ τώρα μπορεί να λέω και π1π3$)) τα οποία όμως εσωτερικά στην CPU αναλύονται σε πεπερασμένο αριθμό single instructions. Αν αναλογιστείς τώρα την προτεραιότητα των πράξεων (πρόσθεση - πολ/μος - δυνάμεις) της ανάθεσης που κάνεις και καθορίσεις για κάθε πράξη τον αριθμό των single instructions, τότε αθροίζεις τα single instructions που χρειάζονται για την πράξη που καθορίζεις και πολλαπλασιάζεις με τον χρόνο του single instruction ο οποίος είναι σταθερός και ανάλογος με την ταχύτητα λειτουργίας της CPU.

 

β) Αν θέλεις να βρεις τον χρόνο εκτέλεσης εκ των υστέρων (a-posteriori) τότε απλά πάρε τον χρόνο συστήματος πριν την πράξη και μετά και αφαίρεσε (αν και νομίζω πως δεν θέλεις να κάνεις κάτι τέτοιο).

 

Με μεγάλη πιθανότητα (Pr -> 1) μιας και δεν έχω δουλέψει την Γλωσσομάθεια (:)) σε κάποιο τέτοιο περιβάλλον μάθησης απλών εννοιών δεν μπορείς να κάνεις κάτι τέτοιο.

 

-Επειδή πάει καιρός απο τότε που έκανα το μάθημα Αρχιτεκτονική υπολογιστών όποιος έχει καλύτερη άποψη ας με διορθώσει ελεύθερα!

Δημοσ.

απάντηση με ερώτηση

 

μπορεί ένας ποδηλάτης με ποδήλατο 18 ταχυτήτων (και χωρίς βοήθεια απο τους κινέζους - δηλαδή μόνο με την φυσική του δύναμη)

να αναπτύξει ταχύτητα τέτοια ώστε να ξεφύγει απο την έλξη της γής ;

.

  • 3 εβδομάδες αργότερα...
Δημοσ.
απάντηση με ερώτηση

 

μπορεί ένας ποδηλάτης με ποδήλατο 18 ταχυτήτων (και χωρίς βοήθεια απο τους κινέζους - δηλαδή μόνο με την φυσική του δύναμη)

να αναπτύξει ταχύτητα τέτοια ώστε να ξεφύγει απο την έλξη της γής ;

.

 

hehe :-D

 

Σας ευχαριστώ για τις απαντήσεις σας, είναι ολοφάνερο ότι κάτι τέτοιο δεν γίνεται με γλωσσομάθεια ;)

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

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

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