• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 17, 2025, 00:14:50 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.
June 17, 2025, 00:14:50 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Ισραήλ - Ιράν: Πόλεμος στ...
by Yamal
[June 16, 2025, 23:46:31 pm]

[Οργάνωση Υπολογιστών] Γε...
by RAFI
[June 16, 2025, 22:46:54 pm]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[June 16, 2025, 19:49:00 pm]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[June 16, 2025, 16:56:56 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by Λαμπτήρας
[June 16, 2025, 15:55:08 pm]

[Αρχές Οικονομίας] Να επι...
by _Trob
[June 16, 2025, 13:28:21 pm]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[June 16, 2025, 12:13:45 pm]

Αποτελέσματα Εξεταστικής ...
by Nikos_313
[June 16, 2025, 12:01:53 pm]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by George_RT
[June 16, 2025, 10:22:18 am]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[June 16, 2025, 01:56:37 am]

Αντικατάστασης πυκνωτή σε...
by nmpampal
[June 15, 2025, 16:25:56 pm]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]

[Λογισμός ΙΙ] Απορίες σε...
by el mariachi
[June 14, 2025, 20:47:07 pm]

ΠΡΟΣΟΧΗ στο ανέβασμα θεμά...
by tzortzis
[June 14, 2025, 16:54:08 pm]

Ρυθμίσεις Θεμάτων της Ανώ...
by el mariachi
[June 14, 2025, 11:56:45 am]

Πότε θα βγει το μάθημα; -...
by Nikos_313
[June 14, 2025, 10:00:55 am]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[June 14, 2025, 09:58:14 am]

Αλέξης Τσίπρας, η επιστρο...
by Yamal
[June 14, 2025, 04:42:23 am]

Έναρξη Δηλώσεων Συμμετοχή...
by IEEE SB
[June 14, 2025, 00:10:19 am]
Στατιστικά
Members
Total Members: 9960
Latest: valco08
Stats
Total Posts: 1426678
Total Topics: 31711
Online Today: 164
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 48
Guests: 105
Total: 153
andripappa
Yamal
fpapat
thaliatsk
georgepana9
chaniotism
Spyridon01101
Thanasis_pap
Stathiss
georgy
ValKar
Maximos7
Elenit
nikos.a
Deviate
maestros
Liamos
DarkMagiK06
Zoe06
boulionis
Η ΤΡΑΠΟΥΛΑ ΤΟΥ ΠΑΠΠΟΥ ΜΟΥ
apal
Το παγώνι
Summand
theofr
dinoschalv
mprova
kostas1507
chrisg
lasef
Saint_GR
Pakapis5
AlexKyr
Athinaaz
sassi
kpap17
George15
nikd
george14
parvanitid
ArchieHadCells
mavropan
evax
kouf
alex_samaras_
dimitrisblioumis
Εμφάνιση

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

Νέα!
  Όταν ανεβάζουμε φωτογραφίες στις Ανακοινώσεις και Έκτακτα νέα, βάζουμε τη μεγαλύτερη πλευρά 400 (width=400 ή height=400 ). π.χ. [img height=400 (κλείνει η αγκύλη) 
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 2ο Εξάμηνο > Αντικειμενοστραφής Προγραμματισμός (Moderators: chatzikys, tzortzis) > [Προγραμματιστικές Τεχνικές] Task 2 - Κυριακή 23/10 11:55 μμ
0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 3 ... 6 Go Down Print
Author Topic: [Προγραμματιστικές Τεχνικές] Task 2 - Κυριακή 23/10 11:55 μμ  (Read 11958 times)
Apostolof
WebSlave
Αbsolute ΤΗΜΜΥ.gr
***
Gender: Male
Posts: 2660


Κεραυνοί, φωτιές, ece


View Profile WWW
[Προγραμματιστικές Τεχνικές] Task 2 - Κυριακή 23/10 11:55 μμ
« on: October 14, 2016, 14:44:31 pm »

Ανέβηκε η δεύτερη εργασία του μαθήματος εδώ. Happy programming

Κατάθεση εργασίας για βαθμολογία

  • Κατεβάζετε τα 2 συνοδευτικά αρχεία της Άσκησης, με τον κώδικα (ps2.scm) και τα τεστ (tester2.scm).
  • Συμπληρώνετε τα τμήματα του κώδικα που λείπουν στο πρώτο.
  • Συμπληρώνετε επιπλέον τεστ στο δεύτερο --παρόμοιο αρχείο θα εκτελεστεί στον server για να βαθμολογηθείτε.
  • Ανεβάστε το πρώτο αρχείο με τις δικές αλλαγές στο CMS.
  • Επαναλάβετε τα βήματα 2-4 μέχρι η βαθμολογία να σας είναι ικανοποιητική, ή παρέλθει ο χρόνος παράδοσης, ή βρείτε να κάνετε κάτι καλύτερο με το χρόνο σας.


Alexander Calder

Η Wikipedia περιγράφει ένα mobile ως εξής:

Quote
Ένα mobile είναι μία κατασκευή που εκμεταλλεύεται τις αρχές της ισορροπίας. Αποτελείται από έναν αριθμό ράβδων (bar), από τις οποίες κρέμονται γλυπτά (sculpture) ή άλλες ράβδοι. Τα αντικείμενα ισορροπούν μεταξύ τους, με αποτέλεσμα οι ράβδοι να παραμένουν σχεδόν οριζόντιοι και όλο το σύστημα να ισορροπεί. Κάθε ράβδος κρέμμεται από ένα μόνο νήμα (string), δίνοντάς της με αυτό τον τρόπο τη δυνατότητα να περιστρέφεται γύρω από αυτό το νήμα.


Three Disks in the Air mobile του Alexander Calder (1967)

Θα χρησιμοποιήσουμε την εξής αυστηρή περιγραφή. Ένα mobile μπορεί να είναι:

  • είτε γλυπτό
  • είτε ράβδος που κρατάει δύο mobile.

Στην πρώτη περίπτωση, αναπαριστά ένα ατομικό γλυπτό και χαρακτηρίζεται από έναν αριθμό που το βάρος του σε kg. Στην δεύτερη περίπτωση, αναπαριστά τα δύο mobile και το βάρος της ράβδου.

Θεωρώντας δεδομένες τις συναρτήσεις:

  • (make-mobile left weight right), η οποία δημιουργεί μία ράβδο με βάρος weight και αριστερά και δεξιά κλαδιά left και right αντίστοιχα,
  • (left-mobile m), η οποία επιστρέφει το αριστερό μέρος του mobile m,
  • (right-mobile m), η οποία επιστρέφει το δεξί μέρος του mobile m,
  • (is-sculpture? m), η οποία επιστρέφει #t (True) αν είναι γλυπτό, αλλιώς #f (False) και
  • (get-weight m), η οποία επιστρέφει το βάρος ενός mobile,

Παραδείγματα χρήσης
  • (is-sculpture? (make-mobile 2)) επιστρέφει #t
  • (is-sculpture? (make-mobile 1 2 3)) επιστρέφει #f
  • (get-weight (make-mobile 2)) επιστρέφει 2
Code:
    (get-weight (right-mobile (make-mobile 1 
                                           4
                                           (make-mobile 5
                                                        6
                                                        7))))
   επιστρέφει 6

Υλοποιήστε τις παρακάτω συναρτήσεις:

   1. (define (weights# m) '<YOUR-CODE-HERE>), η οποία παίρνει σαν όρισμα ένα mobile m και απαριθμεί τα βάρη του.
   2. (define (total-weight m) '<YOUR-CODE-HERE>), η οποία παίρνει σαν όρισμα ένα mobile m και υπολογίζει το συνολικό του βάρος. Στο βάρος ενός mobile συμπεριλαμβάνεται το βάρος των γλυπτών και το βάρος των ράβδων.
   3. (define (depth m) '<YOUR-CODE-HERE>), η οποία παίρνει σαν όρισμα ένα mobile m και προσδιορίζει τον μέγιστο αριθμό νημάτων για φτάσουμε σ' ένα οποιοδήποτε γλυπτό του.
   4. (define (balanced? m) '<YOUR-CODE-HERE>), η οποία παίρνει σαν όρισμα ένα mobile m και προσδιορίζει αν είναι ισορροπημένο. Ένα mobile είναι ισορροπημένο αν το βάρος του mobile στο ένα άκρο είναι ίσο με το βάρος του mobile στο άλλο και κάθε mobile είναι επίσης ισορροπημένο.


Παράδειγμα τριών διαφορετικών mobile - επεξήγηση ορισμών


Edit: Αλλαγή του url της δεύτερης εικόνας, γιατί απαιτούσε είσοδο στο elearning για να εμφανιστεί

edit2: Η σχετική συζήτηση στο elearning ΕΔΩ!
« Last Edit: October 25, 2016, 15:11:11 pm by Apostolof » Logged

All these moments will be lost in time, like tears in rain.
In the meanwhile, life goal.
MrRobot
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 3467



View Profile
Re: [Προγραμματιστικές Τεχνικές] Task 2 - Κυριακή 23/10 11:55 μμ
« Reply #1 on: October 15, 2016, 16:35:23 pm »

Ρώτησα τον Φλώρο και μου είπε ότι οι υποβολές της δεύτερης εργασίας θα ανοίξουν αμέσως μετά τη λήξη των υποβολών της πρώτης.
Logged
potirikolonato
Καταξιωμένος/Καταξιωμένη
***
Posts: 278



View Profile
Re: [Προγραμματιστικές Τεχνικές] Task 2 - Κυριακή 23/10 11:55 μμ
« Reply #2 on: October 16, 2016, 23:33:34 pm »

Στην δοθείσα συνάρτηση (make-mobile left weight right)  τι χρησιμότητα έχουν τα  left, right ;;
Δεν καταλαβαίνω την λειτουργία της συνάρτησης.
Logged
MrRobot
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 3467



View Profile
Re: [Προγραμματιστικές Τεχνικές] Task 2 - Κυριακή 23/10 11:55 μμ
« Reply #3 on: October 17, 2016, 00:37:58 am »

Quote from: Assassin on October 16, 2016, 23:33:34 pm
Στην δοθείσα συνάρτηση (make-mobile left weight right)  τι χρησιμότητα έχουν τα  left, right ;;
Δεν καταλαβαίνω την λειτουργία της συνάρτησης.

Αν δεις στις κλείσεις της make-mobile τα left και right είναι αναδρομικές κλήσεις της ίδια συνάρτησης. Επομένως όταν την καλείς με τρία ορίσματα ουσιαστικά της λες να φτιάξει μια μπάρα με βάρος weight και δύο mobiles αριστερά και δεξιά της.
Logged
fcdimitr
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 101



View Profile
Re: [Προγραμματιστικές Τεχνικές] Task 2 - Κυριακή 23/10 11:55 μμ
« Reply #4 on: October 17, 2016, 18:15:38 pm »

Κάθε συζήτηση για τις εργασίες καλό θα ήταν να μεταφερθεί εδώ

https://elearning.auth.gr/mod/forum/view.php?id=295789

που απαντούν και οι διδάσκοντες.
Logged
sg31a
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 1186



View Profile
Re: [Προγραμματιστικές Τεχνικές] Task 2 - Κυριακή 23/10 11:55 μμ
« Reply #5 on: October 17, 2016, 19:12:48 pm »

ξερεις κανεις που πηγαινει στα μαθηματα ποια pdf θα διαβασουμε για τη 2η εργασια??? ρωταω για εμας του μεγαλυτερους
Logged
tniton
Ανερχόμενος/Ανερχόμενη
**
Posts: 86



View Profile
Re: [Προγραμματιστικές Τεχνικές] Task 2 - Κυριακή 23/10 11:55 μμ
« Reply #6 on: October 17, 2016, 19:15:55 pm »

Ουτε εγω πολυκαταλαβα την make-mobile, πχ τα left και right αν ειναι σταθεροι αριθμοι και οχι νεες make-mobile τοτε σημαινει οτι εχουμε ραβδο με γλυπτα αριστερα της και δεξια της με βαρη τις τιμες left και right;
Logged
MrRobot
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 3467



View Profile
Re: [Προγραμματιστικές Τεχνικές] Task 2 - Κυριακή 23/10 11:55 μμ
« Reply #7 on: October 17, 2016, 20:13:55 pm »

Quote from: tniton on October 17, 2016, 19:15:55 pm
Ουτε εγω πολυκαταλαβα την make-mobile, πχ τα left και right αν ειναι σταθεροι αριθμοι και οχι νεες make-mobile τοτε σημαινει οτι εχουμε ραβδο με γλυπτα αριστερα της και δεξια της με βαρη τις τιμες left και right;

Από αυτό που βλέπω στα παραδείγματα γλυπτό μπορείς να δημιουργήσεις μόνο με τη κλήση της make-mobile με ένα όρισμα. Βέβαια η make-mobile δεν σου χρειάζεται στην λύση της άσκησης, αφού το mobile θα στο παρέχει πάντα ο grader και εσύ καλείσαι να υπολογίσεις ορισμένα στοιχεία του.
Logged
tniton
Ανερχόμενος/Ανερχόμενη
**
Posts: 86



View Profile
Re: [Προγραμματιστικές Τεχνικές] Task 2 - Κυριακή 23/10 11:55 μμ
« Reply #8 on: October 17, 2016, 22:39:28 pm »

Εισαι σιγουρος οτι δε χρειαζεται καθολου; ουτε σαν ορισμα αλλης συναρτησης ; ευχαριστω παντως  Smiley
Logged
MrRobot
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 3467



View Profile
Re: [Προγραμματιστικές Τεχνικές] Task 2 - Κυριακή 23/10 11:55 μμ
« Reply #9 on: October 17, 2016, 22:44:43 pm »

Quote from: tniton on October 17, 2016, 22:39:28 pm
Εισαι σιγουρος οτι δε χρειαζεται καθολου; ουτε σαν ορισμα αλλης συναρτησης ; ευχαριστω παντως  Smiley

Κοίτα δεν θέλω να σε κατευθύνω για το πως θα λύσεις την άσκηση. Πιθανώς να υπάρχει λύση που να τη χρησιμοποιεί και να είναι σωστή, οπότε αν έχεις σκεφτεί κάτι τέτοιο συνέχισε το!!
Logged
00128419
Καταξιωμένος/Καταξιωμένη
***
Posts: 107


View Profile
Re: [Προγραμματιστικές Τεχνικές] Task 2 - Κυριακή 23/10 11:55 μμ
« Reply #10 on: October 17, 2016, 23:55:38 pm »

Την make-mobile στη δίνει για να φτιάξεις δίκο σου mobile αν θες να κάνεις παραπάνω ελέγχους στην tester. Εγώ για παράδειγμα έφτιαξα ένα που είχε το ίδιο συνολικό βάρος και στα δυο άκρα αλλά δεν ήταν balanced για να ελέγξω αν δουλεύει σωστά η τελευταία συνάρτηση.
Logged
thaptali
Νεούλης/Νεούλα
*
Gender: Male
Posts: 36



View Profile
Re: [Προγραμματιστικές Τεχνικές] Task 2 - Κυριακή 23/10 11:55 μμ
« Reply #11 on: October 18, 2016, 00:23:49 am »

Στο αρχείο που ανεβάζουμε θα έχουμε μόνο τις συναρτήσεις γραμμένες και τίποτα άλλο; Γιατί μου συμβαίνει πάλι το ίδιο..Σωστά αποτελέσματα, αλλά 0/10 όταν το ανεβάζω.
« Last Edit: October 18, 2016, 00:26:09 am by thaptali » Logged

ta kalytera den irthan akoma... (Ougo moustakia)
MrRobot
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 3467



View Profile
Re: [Προγραμματιστικές Τεχνικές] Task 2 - Κυριακή 23/10 11:55 μμ
« Reply #12 on: October 18, 2016, 00:51:11 am »

Quote from: thaptali on October 18, 2016, 00:23:49 am
Στο αρχείο που ανεβάζουμε θα έχουμε μόνο τις συναρτήσεις γραμμένες και τίποτα άλλο; Γιατί μου συμβαίνει πάλι το ίδιο..Σωστά αποτελέσματα, αλλά 0/10 όταν το ανεβάζω.

Είχα ακριβώς το ίδιο πρόβλημα. Πρέπει να ανεβάσεις το ps2 ακριβώς όπως το κατέβασες, να μη σβήσεις τίποτα που υπήρχε πριν, με αλλαγμένες τις 4 συναρτήσεις. Δηλαδή τα αρχικά παραδείγματα και τα τεστ που έχει στο τέλος πρέπει να υπάρχουν και να είναι τα ίδια με αυτά που υπήρχαν αρχικά στο αρχείο.
« Last Edit: October 18, 2016, 22:51:38 pm by MrRobot » Logged
Talaipa
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 276



View Profile
Re: [Προγραμματιστικές Τεχνικές] Task 2 - Κυριακή 23/10 11:55 μμ
« Reply #13 on: October 18, 2016, 13:56:17 pm »

(define (weights# m), η δίεση τι συμβολίζει;
Logged
MrRobot
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 3467



View Profile
Re: [Προγραμματιστικές Τεχνικές] Task 2 - Κυριακή 23/10 11:55 μμ
« Reply #14 on: October 18, 2016, 15:18:29 pm »

Quote from: nikolis on October 18, 2016, 13:56:17 pm
(define (weights# m), η δίεση τι συμβολίζει;

Τίποτα, το όνομα της συνάρτησης είναι weights# και λογικά εννοεί ότι η συνάρτηση υπολογίζει τον αριθμό (#) των βαρών.
Logged
Pages: [1] 2 3 ... 6 Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...