• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
July 02, 2025, 02:24:27 am

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
July 02, 2025, 02:24:27 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Τα παράσιτα ανάμεσά μας
by PolarBear
[Today at 00:17:41]

Ποιητής του Μήνα - Παράσι...
by Nikos_313
[July 01, 2025, 23:57:12 pm]

[Τεχνολογία Ηλεκτροτεχνικ...
by Nikos_313
[July 01, 2025, 21:34:50 pm]

Μάθημα επιλογής από άλλο ...
by tzortzis
[July 01, 2025, 19:37:31 pm]

[Δίκτυα Ι ΝΠΣ] Γενικές απ...
by Saint_GR
[July 01, 2025, 18:38:40 pm]

[Διανεμημένη Παραγωγή] Γε...
by Mr Watson
[July 01, 2025, 16:48:29 pm]

Αστείες Φωτογραφίες!
by Katarameno
[July 01, 2025, 13:23:14 pm]

Αποτελέσματα Εξεταστικής ...
by Mr Watson
[July 01, 2025, 12:04:46 pm]

Μέλος του μήνα - Ιούνιος ...
by Mr Watson
[July 01, 2025, 03:00:23 am]

Η άχρηστη πληροφορία της ...
by Giopan
[June 30, 2025, 22:54:29 pm]

Πότε θα βγει το μάθημα; -...
by chatzikys
[June 30, 2025, 20:28:04 pm]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[June 30, 2025, 11:27:40 am]

[Ηλεκτρικά Κυκλώματα Ι] Γ...
by nmpampal
[June 30, 2025, 02:07:32 am]

[Η/Μ Πεδίο ΙΙ] Ανάλυση πα...
by Juror8
[June 29, 2025, 13:27:54 pm]

[Ηλεκτρολογικά Υλικά] Απο...
by nmpampal
[June 28, 2025, 17:39:03 pm]

[Αξιοπιστία Συστημάτων] Ν...
by Agios Gewrgios Printezis
[June 28, 2025, 11:30:11 am]

[Αρχές Οικονομίας] Να επι...
by george14
[June 27, 2025, 17:39:27 pm]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[June 27, 2025, 17:31:52 pm]

Σύνθεση νέων Πρυτανικών Α...
by Katarameno
[June 27, 2025, 16:07:02 pm]

Νέα Δημοκρατία (and Co. I...
by Katarameno
[June 27, 2025, 15:40:14 pm]
Στατιστικά
Members
Total Members: 9971
Latest: Ganastop
Stats
Total Posts: 1427169
Total Topics: 31723
Online Today: 176
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 28
Guests: 70
Total: 98
mavropan
Randomuser762
Mari0s
mamalakis
mkakale
MASV
Sickboy
petralexiou
Neymar jr
sterlouk
akmilios
mimaki
Jimlam
tony123
Captain
kouf
Nekt
okanpala
georgy
elischat
theofr
ant2946
DimKaratzas
dr.giorgos
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads
με προσοχή στα ονόματα των αρχείων!
  Show Posts
Pages: 1 ... 8 9 [10]
136  Μαθήματα Βασικού Κύκλου / Δομημένος Προγραμματισμός / Re: [Δομημένος Προγραμματισμός] Άσκηση 5 (Hμ/νία λήξης: 10/4/2016) on: March 31, 2016, 22:45:16 pm
Quote from: Apostolof on March 31, 2016, 18:22:31 pm
Πολύ καλός Assassin. Σωστότατος και open source Smiley
Βέβαια καλό θα είναι αν έχεις έτοιμο πρόγραμμα που λειτουργεί και όχι απορίες να το ποστάρεις μετά τη λήξη της διορίας.

Τώρα στα του προγραμματισμού, εγώ θα το έγραφα όπως λέει ο Egkelados για οικονομία χώρου. Εδώ δεν υπάρχει καμία διαφορά. Αλλά όταν υπάρχουν πολλές επαναλήψεις ή αναδρομικές συναρτήσεις μπορεί οι προσωρινές μεταβλητές αυτές να δημιουργήσουν πρόβλημα.

Σχετικά με το χρόνο εκτέλεσης μπορούμε να δούμε τα αποτελέσματα αυτού:
Code:
#include <stdio.h>
#include <time.h>
#define REP 1000000

double kybos1(float);
double ginomeno1(float,float,float);
double kybos2(float);
double ginomeno2(float,float,float);

int main() {
clock_t begin1, end1,begin2, end2;
double time_spent1,time_spent2;
float x,y,z;
double fu;
int i;
begin1 = clock();
for(i=0;i<REP;i++){
    x=y=z=i;
    printf("To αποτελεσμα της f(x) είναι : %f\n",kybos1(x)+ginomeno1(x,y,z) );
}
end1 = clock();
time_spent1 = (double)(end1 - begin1) / CLOCKS_PER_SEC;
begin2 = clock();
for(i=0;i<REP;i++){
    x=y=z=i;
    fu=kybos2(x)+ginomeno2(x,y,z);
    printf("To αποτελεσμα της f(x) είναι : %f\n",fu );
}
end2 = clock();
time_spent2 = (double)(end2 - begin2) / CLOCKS_PER_SEC;
printf("Time 1 = %lf\nTime 2 = %lf",time_spent1,time_spent2);
return 0;
}
double kybos1(float x){
return x*x*x;
}
double ginomeno1(float x, float y, float z){
return x*y*z;
}
double kybos2(float x){
double t;
t=x*x*x;
return t;
}
double ginomeno2(float x, float y, float z){
double t;
t=x*y*z;
return t;
}

Εγώ το έτρεξα μέχρι τις 1000000 επαναλήψεις και έβγαλε:
Code:
Time 1 = 165.24
Time 2 = 164.69

Δηλαδή η γραφή του Assassin είναι γρηγορότερη! Αυτό υποθέτω ότι συμβαίνει γιατί ο compiler που χρησιμοποίησα (mingw) κάνει καλύτερο optimization στη μορφή που το έχει γράψει ο Assassin από ότι στην άλλη. Ο ίδιος κώδικας όταν χρησιμοποίησα gnu gcc έδωσε:
Code:
Time 1 = 160.23
Time 2 = 160.26
Αν κάποιος ξέρει περισσότερα ας συμπληρώσει.

Συμφωνώ με Apostolof, το απλό return x*x*x φαίνεται πιο ευανάγνωστο, ενώ η άλλη λύση μπορεί να αυξήσει τις απαιτήσεις σε χώρο και μνήμη, αν και πάλι είναι αμελητέες.

Έκανα κι εγώ κάποια benchmarks με το GCC και τον κώδικα του Apostolof, αφού αφαίρεσα τις printf που είναι αρκετά βαριές (https://gist.github.com/kongr45gpen/269d32cafc307b6bce44d9ffd0856ed0). Με full optimization, οι δύο τρόποι δεν είχαν διαφορά (άλλοτε έβγαινε το 1 γρηγορότερο, άλλοτε το 2), ενώ με καθόλου optimization, οι συναρτήσεις χωρίς έξτρα μεταβλητή είναι ελάχιστα πιο γρήγορες από τις άλλες:

Code:
gcc -03

Time 1 = 0.282369
Time 2 = 0.282341

Code:
gcc -00

Time 1 = 2.374460
Time 2 = 2.612350

EDIT: gcc -O4 → gcc -O3
137  Πίνακας Ανακοινώσεων / Ληγμένες Αγγελίες / Re: Ζητούνται βιβλία 2ου εξαμήνου για ανταλλαγή on: March 27, 2016, 22:09:46 pm
Μάλλον θέλει ο Εύδοξος νέες εκδόσεις. Ο Vlassis έχει του 2011, ενώ ο Egkelados ζητά του 2014 και 2015.
138  Αίθουσα Υποδοχής / Πληροφορίες για τους πρωτοετείς / Re: Αριθμός ΑΕΜ?? on: March 09, 2016, 22:31:29 pm
Αν έχεις δημιουργήσει λογαριασμό, μπορείς να το δεις και στο https://sis.auth.gr/
139  Μαθήματα Βασικού Κύκλου / Λογισμός Ι / Re: [Λογισμός Ι] Απορίες σε ασκήσεις 2015/2016 on: October 30, 2015, 16:43:07 pm
Η εξίσωση δεν πρέπει να βγάζει αποτέλεσμα συνάρτηση που να εκφράζεται με γνωστές συναρτήσεις.

Αφού δε ζητείται η ακριβής λύση για κάθε t, σκοπός της άσκησης είναι να χρησιμοποιήσεις αριθμητική μέθοδο για να βρεις την απάντηση, όπως πρότεινε ο vasilis94.
Η μέθοδος που προτείνει ο Κεχαγιάς για την αριθμητική επίλυση είναι αυτή του Euler, όπως μπορείς να διαβάσεις στο README της σπιτεργασίας.

Πρέπει λοιπόν να υλοποιήσεις τη μέθοδο του Euler όπως φαίνεται στο http://tutorial.math.lamar.edu/Classes/DE/EulersMethod.aspx, χρησιμοποιώντας τη Matlab, το δωρεάν Sage ή οποιοδήποτε άλλο εργαλείο/γλώσσα προγραμματισμού θες.
Pages: 1 ... 8 9 [10]
Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...