<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Courses Q&amp;A - Recent questions in pl1</title>
<link>https://courses.softlab.ntua.gr/q2a/questions/pl1</link>
<description>Powered by Question2Answer</description>
<item>
<title>Πρόβλημα με το τελευταίο testcase στη Round (Java)</title>
<link>https://courses.softlab.ntua.gr/q2a/812/%CF%80%CF%81%CF%8C%CE%B2%CE%BB%CE%B7%CE%BC%CE%B1-%CE%BC%CE%B5-%CF%84%CE%BF-%CF%84%CE%B5%CE%BB%CE%B5%CF%85%CF%84%CE%B1%CE%AF%CE%BF-testcase-%CF%83%CF%84%CE%B7-round-java</link>
<description>&lt;p&gt;Καλησπέρα, θα ήθελα να ρωτήσω εάν υπάρχει κάποιο θέμα με το τελευταίο testcase στον grader στην άσκηση Round σε java, καθώς δεν περνάει ακόμα και με Elapsed Time: ~ 0 secs.&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/812/%CF%80%CF%81%CF%8C%CE%B2%CE%BB%CE%B7%CE%BC%CE%B1-%CE%BC%CE%B5-%CF%84%CE%BF-%CF%84%CE%B5%CE%BB%CE%B5%CF%85%CF%84%CE%B1%CE%AF%CE%BF-testcase-%CF%83%CF%84%CE%B7-round-java</guid>
<pubDate>Mon, 26 Jul 2021 15:06:56 +0000</pubDate>
</item>
<item>
<title>Ο grader μου βγάζει περίεργα errors στην QSsort.java</title>
<link>https://courses.softlab.ntua.gr/q2a/810/%CE%BF-grader-%CE%BC%CE%BF%CF%85-%CE%B2%CE%B3%CE%AC%CE%B6%CE%B5%CE%B9-%CF%80%CE%B5%CF%81%CE%AF%CE%B5%CF%81%CE%B3%CE%B1-errors-%CF%83%CF%84%CE%B7%CE%BD-qssort-java</link>
<description>&lt;p&gt;Έχω ανεβάσει σε &lt;strong&gt;.zip&lt;/strong&gt; την άσκηση &lt;strong&gt;QSsort&lt;/strong&gt; σε &lt;strong&gt;java&lt;/strong&gt; η οποία περιέχει προφανώς την QSsort.java, την ZQueue.java, ZMethods.java κλπ (όλα όμως εκτός της QSsort αρχίζουν από Z ώστε να είναι λεξικογραφικά μεγαλύτερα)&lt;br&gt;
Ο grader όμως  μου δείχνει ότι &lt;strong&gt;δεν περνάει κανένα test case&lt;/strong&gt; αφού βγάζει τα εξής &lt;strong&gt;errors&lt;/strong&gt; :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Σε μερικά test cases βγάζει &quot;  &lt;strong&gt;Program exceeded time limit (ran for 2 seconds)&lt;/strong&gt; &quot; ενώ φαίνεται &quot; &lt;strong&gt;Elapsed Time: ~ 0 secs&lt;/strong&gt; &quot;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Στα άλλα test cases μου βγάζει &lt;br&gt;
&quot; &lt;strong&gt;File: AbstractGrader.cpp line: 92 ==&amp;gt; Program failed :&lt;br&gt;
  Exception : java.lang.ClassNotFoundException: QSsort&lt;/strong&gt; &quot; &lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Είναι δικό μου λάθος ή είναι λάθος του grader?&lt;br&gt;
Aν ειναι δικο μου πως θα μπορούσα να το λύσω?&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/810/%CE%BF-grader-%CE%BC%CE%BF%CF%85-%CE%B2%CE%B3%CE%AC%CE%B6%CE%B5%CE%B9-%CF%80%CE%B5%CF%81%CE%AF%CE%B5%CF%81%CE%B3%CE%B1-errors-%CF%83%CF%84%CE%B7%CE%BD-qssort-java</guid>
<pubDate>Thu, 15 Jul 2021 11:41:52 +0000</pubDate>
</item>
<item>
<title>Αλγόριθμος της round</title>
<link>https://courses.softlab.ntua.gr/q2a/807/%CE%B1%CE%BB%CE%B3%CF%8C%CF%81%CE%B9%CE%B8%CE%BC%CE%BF%CF%82-%CF%84%CE%B7%CF%82-round</link>
<description>&lt;p&gt;Στην άσκηση round, η λύση που για κάθε πιθανή πόλη-προορισμό dest,&lt;br&gt;
παίρνει τις αποστάσεις των οχημάτων, source_i:&lt;br&gt;
dest - source_i, αν dest &amp;gt;= source_i, και&lt;br&gt;
N + dest - source_i, αν dest &amp;lt; source_i,&lt;br&gt;
και ελέγχει βάσει των αποστάσεων αυτών, αν υπάρχει 'νόμιμη' ακολουθία&lt;br&gt;
κινήσεων, φαίνεται πως περνάει όλα τα φανερά test cases στον grader.&lt;br&gt;
Ωστόσο, η λύση αυτή περιορίζει τα οχήματα να παίρνουν πάντα την&lt;br&gt;
συντομότερη δεξιότροφη διαδρομή (μήκους &amp;lt;= N - 1) και δεν τα αφήνει&lt;br&gt;
να εκτελούν κύκλους.&lt;br&gt;
Δεν έχω βρει κάποιο λόγο η λύση του προβλήματος να βρίσκεται πάντα&lt;br&gt;
εντός των περιορισμών αυτών και να μην έχουμε 'νόμιμη' ακολουθία&lt;br&gt;
ελαχίστου μήκους αφού επιτρέψουμε σε κάποια οχήματα να κάνουν κύκλους.&lt;br&gt;
Είναι κάτι που ισχύει πάντα αυτό ή τα test cases αφορούν μόνο αυτήν την&lt;br&gt;
περίπτωση για κάποιο λογο;&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/807/%CE%B1%CE%BB%CE%B3%CF%8C%CF%81%CE%B9%CE%B8%CE%BC%CE%BF%CF%82-%CF%84%CE%B7%CF%82-round</guid>
<pubDate>Fri, 09 Jul 2021 19:24:33 +0000</pubDate>
</item>
<item>
<title>Χρονικά όρια στο round για την Prolog</title>
<link>https://courses.softlab.ntua.gr/q2a/802/%CF%87%CF%81%CE%BF%CE%BD%CE%B9%CE%BA%CE%AC-%CF%8C%CF%81%CE%B9%CE%B1-%CF%83%CF%84%CE%BF-round-%CE%B3%CE%B9%CE%B1-%CF%84%CE%B7%CE%BD-prolog</link>
<description>&lt;p&gt;Χαίρετε, &lt;/p&gt;
&lt;p&gt;Παρατηρώ ότι σε όλα τα test cases για το &lt;strong&gt;round&lt;/strong&gt; σε Prolog έχει δοθεί ο ίδιος χρόνος 10 sec, αλλά στο προτελευταίο η είσοδος είναι της τάξης των ~100 στοιχείων και στο τελευταίο είναι της τάξης των ~10000 στοιχείων. Είναι σκόπιμο αυτό, ή θα αλλάξουν τα χρονικά όρια; Ευχαριστώ.&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/802/%CF%87%CF%81%CE%BF%CE%BD%CE%B9%CE%BA%CE%AC-%CF%8C%CF%81%CE%B9%CE%B1-%CF%83%CF%84%CE%BF-round-%CE%B3%CE%B9%CE%B1-%CF%84%CE%B7%CE%BD-prolog</guid>
<pubDate>Mon, 05 Jul 2021 12:05:39 +0000</pubDate>
</item>
<item>
<title>Παράταση</title>
<link>https://courses.softlab.ntua.gr/q2a/801/%CF%80%CE%B1%CF%81%CE%AC%CF%84%CE%B1%CF%83%CE%B7</link>
<description>&lt;p&gt;Αν γίνεται να δώσετε μία παράταση για την Java μέχρι τέλη Ιουλίου θα βοηθούσε πολύ.Ευχαριστούμε.&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/801/%CF%80%CE%B1%CF%81%CE%AC%CF%84%CE%B1%CF%83%CE%B7</guid>
<pubDate>Sun, 04 Jul 2021 21:26:31 +0000</pubDate>
</item>
<item>
<title>Τρόπος υποβολής των αρχείων Java</title>
<link>https://courses.softlab.ntua.gr/q2a/799/%CF%84%CF%81%CF%8C%CF%80%CE%BF%CF%82-%CF%85%CF%80%CE%BF%CE%B2%CE%BF%CE%BB%CE%AE%CF%82-%CF%84%CF%89%CE%BD-%CE%B1%CF%81%CF%87%CE%B5%CE%AF%CF%89%CE%BD-java</link>
<description>&lt;p&gt;Ποιος είναι ο σωστός τρόπος να υποβάλλουμε τα αρχεία μας για τα προβλήματα σε Java; Ενώ στο eclipse λειτουργούν όλα δίχως να εμφανίζεται κανένα σφάλμα, δε συμβαίνει το ίδιο με τον grader. Δοκίμασα να βάλω σε zip όλα τα &lt;code&gt;.java&lt;/code&gt; αρχεία. Αποτέλεσμα: Βγάζει &lt;code&gt;NoSuchMethodException&lt;/code&gt; για τον κατασκευαστή, στο πρώτο σημείο που δημιουργώ αντικείμενο από κλάση που έφτιαξα εγώ (ενώ το αντίστοιχο &lt;code&gt;.java&lt;/code&gt; βρίσκεται μέσα στο zip). Επισημαίνω ότι στο eclipse δεν έχω δημιουργήσει κανένα πακέτο μόνος μου, υπάρχει μόνο το &lt;code&gt;(default package)&lt;/code&gt; (που περιέχει όλα τα &lt;code&gt;.java&lt;/code&gt; αρχεία).&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/799/%CF%84%CF%81%CF%8C%CF%80%CE%BF%CF%82-%CF%85%CF%80%CE%BF%CE%B2%CE%BF%CE%BB%CE%AE%CF%82-%CF%84%CF%89%CE%BD-%CE%B1%CF%81%CF%87%CE%B5%CE%AF%CF%89%CE%BD-java</guid>
<pubDate>Fri, 02 Jul 2021 09:58:53 +0000</pubDate>
</item>
<item>
<title>Αλλαγή ομάδας - χρήση του ίδιου κώδικα για μετάφραση</title>
<link>https://courses.softlab.ntua.gr/q2a/795/%CE%B1%CE%BB%CE%BB%CE%B1%CE%B3%CE%AE-%CE%BF%CE%BC%CE%AC%CE%B4%CE%B1%CF%82-%CF%87%CF%81%CE%AE%CF%83%CE%B7-%CF%84%CE%BF%CF%85-%CE%AF%CE%B4%CE%B9%CE%BF%CF%85-%CE%BA%CF%8E%CE%B4%CE%B9%CE%BA%CE%B1-%CE%B3%CE%B9%CE%B1-%CE%BC%CE%B5%CF%84%CE%AC%CF%86%CF%81%CE%B1%CF%83%CE%B7</link>
<description>&lt;p&gt;Μπορώ να αλλάξω ομάδα και να χρησιμοποιήσουμε τόσο εγώ όσο και ο παλιός συνεργάτης μου τον ίδιο κώδικα Python για μετάφραση σε Java;&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/795/%CE%B1%CE%BB%CE%BB%CE%B1%CE%B3%CE%AE-%CE%BF%CE%BC%CE%AC%CE%B4%CE%B1%CF%82-%CF%87%CF%81%CE%AE%CF%83%CE%B7-%CF%84%CE%BF%CF%85-%CE%AF%CE%B4%CE%B9%CE%BF%CF%85-%CE%BA%CF%8E%CE%B4%CE%B9%CE%BA%CE%B1-%CE%B3%CE%B9%CE%B1-%CE%BC%CE%B5%CF%84%CE%AC%CF%86%CF%81%CE%B1%CF%83%CE%B7</guid>
<pubDate>Mon, 28 Jun 2021 18:39:47 +0000</pubDate>
</item>
<item>
<title>grader issue</title>
<link>https://courses.softlab.ntua.gr/q2a/790/grader-issue</link>
<description>&lt;p&gt;Καλησπέρα τρέχω locally το round στην java με την εντολή time (στο μεγάλο test case)&lt;/p&gt;
&lt;p&gt;time java Round r3.txt &lt;br&gt;
49051713 2487&lt;/p&gt;
&lt;p&gt;real	0m0,774s&lt;br&gt;
user	0m0,885s&lt;br&gt;
sys	0m0,136s&lt;/p&gt;
&lt;p&gt;που είναι πιο γρήγορο από 1 δευτερόλεπτο. Ωστόσο στον grader μου πετάει &lt;br&gt;
Grader Response:&lt;br&gt;
File: AbstractGrader.cpp line: 120 ==&amp;gt; Program exceededtime limit (ran for 2 seconds)&lt;/p&gt;
&lt;p&gt;Δοκίμασα να το ανεβάσω άλλες 2 φορές αλλά πάλι το ίδιο πρόβλημα!&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/790/grader-issue</guid>
<pubDate>Sat, 26 Jun 2021 17:15:37 +0000</pubDate>
</item>
<item>
<title>Πολυπλοκότητα του nth0 στην Prolog</title>
<link>https://courses.softlab.ntua.gr/q2a/770/%CF%80%CE%BF%CE%BB%CF%85%CF%80%CE%BB%CE%BF%CE%BA%CF%8C%CF%84%CE%B7%CF%84%CE%B1-%CF%84%CE%BF%CF%85-nth0-%CF%83%CF%84%CE%B7%CE%BD-prolog</link>
<description>&lt;p&gt;Είναι κάποιο κατηγόρημα της Prolog εκ των &lt;code&gt;nth0&lt;/code&gt; ή &lt;code&gt;nth0_det&lt;/code&gt; χρονικής πολυπλοκότητας O(1);  Δε διευκρινίζεται αυτό κάπου στα man pages. Αν δεν είναι, υπάρχει κάτι αντίστοιχο για την προσπέλαση συγκεκριμένου στοιχείου σε μία λίστα με μικρή πολυπλοκότητα;&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/770/%CF%80%CE%BF%CE%BB%CF%85%CF%80%CE%BB%CE%BF%CE%BA%CF%8C%CF%84%CE%B7%CF%84%CE%B1-%CF%84%CE%BF%CF%85-nth0-%CF%83%CF%84%CE%B7%CE%BD-prolog</guid>
<pubDate>Thu, 03 Jun 2021 14:03:59 +0000</pubDate>
</item>
<item>
<title>Ταξινόμηση με ουρά και στοίβα Python - Elapsed Time</title>
<link>https://courses.softlab.ntua.gr/q2a/764/%CF%84%CE%B1%CE%BE%CE%B9%CE%BD%CF%8C%CE%BC%CE%B7%CF%83%CE%B7-%CE%BC%CE%B5-%CE%BF%CF%85%CF%81%CE%AC-%CE%BA%CE%B1%CE%B9-%CF%83%CF%84%CE%BF%CE%AF%CE%B2%CE%B1-python-elapsed-time</link>
<description>&lt;p&gt;Στο Testcase: QS25 έχουμε Elapsed Time: ~ 113.698 secs. Είναι αρκετά καλός αυτός ο χρόνος για να περάσουμε τα κρυφά testcases ή πρέπει να βελτιώσουμε περαιτέρω την ταχύτητα του προγράμματός μας;&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/764/%CF%84%CE%B1%CE%BE%CE%B9%CE%BD%CF%8C%CE%BC%CE%B7%CF%83%CE%B7-%CE%BC%CE%B5-%CE%BF%CF%85%CF%81%CE%AC-%CE%BA%CE%B1%CE%B9-%CF%83%CF%84%CE%BF%CE%AF%CE%B2%CE%B1-python-elapsed-time</guid>
<pubDate>Sat, 29 May 2021 18:35:41 +0000</pubDate>
</item>
<item>
<title>Άσκηση 2-Βρόχοι σε τηλεπαιχνίδια : DeprecationWarning: elementwise comparison failed;</title>
<link>https://courses.softlab.ntua.gr/q2a/763/%CF%84%CE%B7%CE%BB%CE%B5%CF%80%CE%B1%CE%B9%CF%87%CE%BD%CE%AF%CE%B4%CE%B9%CE%B1-deprecationwarning-elementwise-comparison</link>
<description>&lt;p&gt;Όταν τρέχω την loop_rooms στο terminal για το maze17 βγάζει το παρακάτω μήνυμα:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;DeprecationWarning: elementwise comparison failed; this will raise an error in the future.
if visited[i][j+1] == False:
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Έτρεξα τον ίδιο κώδικα στο jupyter και δεν πέταξε κανένα warning και το αποτέλεσμα βγήκε σωστό.&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/763/%CF%84%CE%B7%CE%BB%CE%B5%CF%80%CE%B1%CE%B9%CF%87%CE%BD%CE%AF%CE%B4%CE%B9%CE%B1-deprecationwarning-elementwise-comparison</guid>
<pubDate>Sat, 29 May 2021 15:25:57 +0000</pubDate>
</item>
<item>
<title>Out of Space στο τελευταίο test case της πρώτης άσκησης σε Prolog</title>
<link>https://courses.softlab.ntua.gr/q2a/762/out-space-%CF%83%CF%84%CE%BF-%CF%84%CE%B5%CE%BB%CE%B5%CF%85%CF%84%CE%B1%CE%AF%CE%BF-test-case-%CF%84%CE%B7%CF%82-%CF%80%CF%81%CF%8E%CF%84%CE%B7%CF%82-%CE%AC%CF%83%CE%BA%CE%B7%CF%83%CE%B7%CF%82-prolog</link>
<description>&lt;p&gt;Ενώ το πρόγραμμά μου τρέχει αρκετά καλά στον υπολογιστή, στον grader το τελευταίο test case μου βγάζει Out of Space. Θεωρητικά το πρόγραμμά μου δημιουργεί δυο λίστες μεγέθους n και τις διατρέχει, οπότε νομίζω ότι δεν θα έπρεπε να έχει πρόβλημα με την μνήμη. Μήπως ξέρετε τι θα μπορούσε να πηγαίνει λαθος;&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/762/out-space-%CF%83%CF%84%CE%BF-%CF%84%CE%B5%CE%BB%CE%B5%CF%85%CF%84%CE%B1%CE%AF%CE%BF-test-case-%CF%84%CE%B7%CF%82-%CF%80%CF%81%CF%8E%CF%84%CE%B7%CF%82-%CE%AC%CF%83%CE%BA%CE%B7%CF%83%CE%B7%CF%82-prolog</guid>
<pubDate>Wed, 26 May 2021 19:25:37 +0000</pubDate>
</item>
<item>
<title>Τεράστιο memory usage στην qssort, python</title>
<link>https://courses.softlab.ntua.gr/q2a/761/%CF%84%CE%B5%CF%81%CE%AC%CF%83%CF%84%CE%B9%CE%BF-memory-usage-%CF%83%CF%84%CE%B7%CE%BD-qssort-python</link>
<description>&lt;p&gt;Ενώ το πρόγραμμα μου βγάζει σωστά και γρήγορα αποτελέσματα στα πρώτα test cases, στα δύο τελευταία υπάρχει πρόβλημα με το memory usage. Πιο συγκεκριμένα, στο τελευταίο, όταν το τρέχω στον υπολογιστή μου, ακόμα και μετά από χρήση 28gb ram (και αρκετή ώρα) δεν βγάζει αποτέλεσμα. Το προτελευταίο case, που επίσης έχει πρόβλημα στον grader, βγάζει (σωστό) αποτέλεσμα στα 9gb στον υπολογιστή μου.&lt;/p&gt;
&lt;p&gt;Από όσο έχω δει υπάρχουν και άλλοι φοιτητές με το ίδιο πρόβλημα.&lt;/p&gt;
&lt;p&gt;Δεν ξέρω αν μπορώ να συζητήσω τον αλγόριθμο μου, αλλά έχετε κάποιο hint για το τι μπορούμε να κάνουμε;&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/761/%CF%84%CE%B5%CF%81%CE%AC%CF%83%CF%84%CE%B9%CE%BF-memory-usage-%CF%83%CF%84%CE%B7%CE%BD-qssort-python</guid>
<pubDate>Wed, 26 May 2021 12:46:28 +0000</pubDate>
</item>
<item>
<title>Ερώτηση για την 3η άσκηση σε Prolog (writeln(Answer))</title>
<link>https://courses.softlab.ntua.gr/q2a/760/%CE%B5%CF%81%CF%8E%CF%84%CE%B7%CF%83%CE%B7-%CE%B3%CE%B9%CE%B1-%CF%84%CE%B7%CE%BD-3%CE%B7-%CE%AC%CF%83%CE%BA%CE%B7%CF%83%CE%B7-%CF%83%CE%B5-prolog-writeln-answer</link>
<description>&lt;p&gt;Σχετικά με την υλοποίηση της 3ης άσκησης σε Prolog, μας δημιουργείται ένα πρόβλημα, όταν πάμε να εκτυπώσουμε το αποτέλεσμα με την συνάρτηση writeln(Answer). Πιο συγκεκριμένα, χωρίς την χρήση αυτής της συνάρτησης, εκτυπώνεται κανονικά η σωστή απάντηση, ενώ με την χρήση της, μας εκτυπώνονται άπειρα αποτελέσματα. &lt;br&gt;
Πως μπορεί να διορθωθεί το παρόν πρόβλημα; &lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/760/%CE%B5%CF%81%CF%8E%CF%84%CE%B7%CF%83%CE%B7-%CE%B3%CE%B9%CE%B1-%CF%84%CE%B7%CE%BD-3%CE%B7-%CE%AC%CF%83%CE%BA%CE%B7%CF%83%CE%B7-%CF%83%CE%B5-prolog-writeln-answer</guid>
<pubDate>Tue, 25 May 2021 08:50:12 +0000</pubDate>
</item>
<item>
<title>Διαδικαστική ερώτηση</title>
<link>https://courses.softlab.ntua.gr/q2a/759/%CE%B4%CE%B9%CE%B1%CE%B4%CE%B9%CE%BA%CE%B1%CF%83%CF%84%CE%B9%CE%BA%CE%AE-%CE%B5%CF%81%CF%8E%CF%84%CE%B7%CF%83%CE%B7</link>
<description>&lt;p&gt;Καλησπέρα σας,&lt;/p&gt;
&lt;p&gt;Θα ήθελα να ρωτήσω εάν οι βαθμοί των ασκήσεων διατηρούνται στην επαναληπτική εξέταση του Σεπτέμβρη.&lt;/p&gt;
&lt;p&gt;Ευχαριστώ πολύ.&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/759/%CE%B4%CE%B9%CE%B1%CE%B4%CE%B9%CE%BA%CE%B1%CF%83%CF%84%CE%B9%CE%BA%CE%AE-%CE%B5%CF%81%CF%8E%CF%84%CE%B7%CF%83%CE%B7</guid>
<pubDate>Mon, 24 May 2021 22:34:06 +0000</pubDate>
</item>
<item>
<title>Παράταση</title>
<link>https://courses.softlab.ntua.gr/q2a/757/%CF%80%CE%B1%CF%81%CE%AC%CF%84%CE%B1%CF%83%CE%B7</link>
<description>&lt;p&gt;Παρακαλούμε να δώσετε μερικές ημέρες παράταση για να λύσουμε όλες τις ασκήσεις Prolog.&lt;br&gt;
Ευχαριστούμε.&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/757/%CF%80%CE%B1%CF%81%CE%AC%CF%84%CE%B1%CF%83%CE%B7</guid>
<pubDate>Sun, 23 May 2021 13:39:59 +0000</pubDate>
</item>
<item>
<title>Διευκρήνηση για το δεύτερο πρόβλημα της 2ης Σειράς Ασκήσεων</title>
<link>https://courses.softlab.ntua.gr/q2a/753/%CE%B4%CE%B9%CE%B5%CF%85%CE%BA%CF%81%CE%AE%CE%BD%CE%B7%CF%83%CE%B7-%CE%B3%CE%B9%CE%B1-%CF%84%CE%BF-%CE%B4%CE%B5%CF%8D%CF%84%CE%B5%CF%81%CE%BF-%CF%80%CF%81%CF%8C%CE%B2%CE%BB%CE%B7%CE%BC%CE%B1-%CF%84%CE%B7%CF%82-2%CE%B7%CF%82-%CF%83%CE%B5%CE%B9%CF%81%CE%AC%CF%82-%CE%B1%CF%83%CE%BA%CE%AE%CF%83%CE%B5%CF%89%CE%BD</link>
<description>&lt;p&gt;Στην εκφώνηση αναφέρεται &quot; Το πρόγραμμά σας θα πρέπει να έχει την ίδια συμπεριφορά με τα προγράμματα σε C/C++ που παραδώσατε για την πρώτη σειρά ασκήσεων. &quot; Εννοείτε απλά να εκτελεί την ίδια λειτουργία ή να υλοποιηθεί με τον ίδιο αλγόριθμο. Το αναφέρω καθώς στην πρώτη άσκηση η C++ λύση έγινε χρονικά πρώτη με έναν πιο εξαντλιτικό αλγόριθμο. Όταν, όμως, λύσαμε με την συνεργάτη μου την ML σκεφτήκαμε κατι πολύ πιο αποδοτικό και απλό, όσον αφορά την υλοποίηση. Πάραυτα, είμαστε τελικά υποχρεωμένοι να το κάνουμε με ακριβώς τον ίδιο αλγόριθμο?&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/753/%CE%B4%CE%B9%CE%B5%CF%85%CE%BA%CF%81%CE%AE%CE%BD%CE%B7%CF%83%CE%B7-%CE%B3%CE%B9%CE%B1-%CF%84%CE%BF-%CE%B4%CE%B5%CF%8D%CF%84%CE%B5%CF%81%CE%BF-%CF%80%CF%81%CF%8C%CE%B2%CE%BB%CE%B7%CE%BC%CE%B1-%CF%84%CE%B7%CF%82-2%CE%B7%CF%82-%CF%83%CE%B5%CE%B9%CF%81%CE%AC%CF%82-%CE%B1%CF%83%CE%BA%CE%AE%CF%83%CE%B5%CF%89%CE%BD</guid>
<pubDate>Wed, 19 May 2021 10:15:50 +0000</pubDate>
</item>
<item>
<title>Αλγόριθμος προβλήματος qssort</title>
<link>https://courses.softlab.ntua.gr/q2a/742/%CE%B1%CE%BB%CE%B3%CF%8C%CF%81%CE%B9%CE%B8%CE%BC%CE%BF%CF%82-%CF%80%CF%81%CE%BF%CE%B2%CE%BB%CE%AE%CE%BC%CE%B1%CF%84%CE%BF%CF%82-qssort</link>
<description>&lt;p&gt;Έχω γράψει σε Python δύο αλγορίθμους αναζήτησης για το πρόβλημα qssort:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ο πρώτος είναι εντελώς εξαντλητικός (δηλ. τερματίζει όταν ελέγξει ότι η ουρά ταξινομήθηκε), αλλά τρέχει με απαγορευτική ταχύτητα για $Ν &amp;gt; 10$.&lt;/li&gt;
&lt;li&gt;Ο δεύτερος εφαρμόζει μια πιο έξυπνη συνθήκη τερματισμού, ελέγχοντας αν η ουρά και η στοίβα ικανοποιούν μια (εύκολη) ιδιότητα, η οποία&lt;br&gt;
οδηγεί σε λύση με επαναλαμβανόμενες κινήσεις 'S'. Αυτός ο αλγόριθμος&lt;br&gt;
τρέχει με καλή ταχύτητα ακόμα και για $Ν = 30$, ωστόσο πρόσεξα (αφού&lt;br&gt;
τον έγραψα) ότι μάλλον δεν είναι πάντα ορθός, καθώς π.χ. ελέγχει&lt;br&gt;
πρώτα την περίπτωση &lt;code&gt;QQQQSSSS&lt;/code&gt; και μετά την &lt;code&gt;QQSSQS&lt;/code&gt;, το οποίο είναι&lt;br&gt;
λάθος αφού η δεύτερη έχει μικρότερο μήκος.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Η ερώτησή μου είναι πόσο &quot;εξαντλητικός&quot; επιτρέπεται να είναι ο αλγόριθμός μας; Να ψάξω κάτι πιο κοντά στον δεύτερο (που να είναι όμως ορθό - και μάλλον όχι τόσο προφανές) ή να στραφώ πιο πολύ στην απλή λογική του πρώτου, παρόλο που φαίνεται να έχει πολύ κακή ταχύτητα; Οποιαδήποτε βοήθεια θα ήταν χρήσιμη, για να μπορέσω να συνεχίσω και σε Prolog.&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/742/%CE%B1%CE%BB%CE%B3%CF%8C%CF%81%CE%B9%CE%B8%CE%BC%CE%BF%CF%82-%CF%80%CF%81%CE%BF%CE%B2%CE%BB%CE%AE%CE%BC%CE%B1%CF%84%CE%BF%CF%82-qssort</guid>
<pubDate>Wed, 05 May 2021 14:38:06 +0000</pubDate>
</item>
<item>
<title>Μελέτη του Scott</title>
<link>https://courses.softlab.ntua.gr/q2a/733/%CE%BC%CE%B5%CE%BB%CE%AD%CF%84%CE%B7-%CF%84%CE%BF%CF%85-scott</link>
<description>&lt;p&gt;Σε περίπτωση που κάποιος θέλει να ασχοληθεί με το βιβλίο του Scott, θα ήταν καλή προσέγγιση να ξεκινήσει να το διαβάζει από την αρχή και να το προχωράει σιγά-σιγά ή είναι περισσότερο reference?&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/733/%CE%BC%CE%B5%CE%BB%CE%AD%CF%84%CE%B7-%CF%84%CE%BF%CF%85-scott</guid>
<pubDate>Sat, 24 Apr 2021 17:22:19 +0000</pubDate>
</item>
<item>
<title>Πρόβλημα με τα αποτελέσματα στην άσκηση 1</title>
<link>https://courses.softlab.ntua.gr/q2a/724/%CF%80%CF%81%CF%8C%CE%B2%CE%BB%CE%B7%CE%BC%CE%B1-%CE%BC%CE%B5-%CF%84%CE%B1-%CE%B1%CF%80%CE%BF%CF%84%CE%B5%CE%BB%CE%AD%CF%83%CE%BC%CE%B1%CF%84%CE%B1-%CF%83%CF%84%CE%B7%CE%BD-%CE%AC%CF%83%CE%BA%CE%B7%CF%83%CE%B7-1</link>
<description>&lt;p&gt;Μήπως υπάρχει λαθος στα αποτελεσματα που ζητούνται στην πρωτη ασκηση; Κανονικα το μεγαλυτερο δυνατο &quot;καλο&quot; διαστημα ειναι μηκους 11.&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/724/%CF%80%CF%81%CF%8C%CE%B2%CE%BB%CE%B7%CE%BC%CE%B1-%CE%BC%CE%B5-%CF%84%CE%B1-%CE%B1%CF%80%CE%BF%CF%84%CE%B5%CE%BB%CE%AD%CF%83%CE%BC%CE%B1%CF%84%CE%B1-%CF%83%CF%84%CE%B7%CE%BD-%CE%AC%CF%83%CE%BA%CE%B7%CF%83%CE%B7-1</guid>
<pubDate>Fri, 23 Apr 2021 08:28:19 +0000</pubDate>
</item>
<item>
<title>Extra test cases</title>
<link>https://courses.softlab.ntua.gr/q2a/722/extra-test-cases</link>
<description>&lt;p&gt;Ο αλγόριθμος μας για την ασκηση 1  λειτουργεί για τα πρώτα test cases αλλα στα μεγαλα test cases στο τέλος βγάζει λάθος αποτέλεσμα. Θα μπορούσατε να μας στείλετε extra test cases μικρού μεγεθους για να μπορέσουμε να καταλάβουμε τι κάνουμε λάθος;  &lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/722/extra-test-cases</guid>
<pubDate>Wed, 21 Apr 2021 07:47:06 +0000</pubDate>
</item>
<item>
<title>Εάν έχουμε αποτύχει μόνο ένα test case, παίρνουμε βαθμούς;</title>
<link>https://courses.softlab.ntua.gr/q2a/720/%CE%B5%CE%AC%CE%BD-%CE%AD%CF%87%CE%BF%CF%85%CE%BC%CE%B5-%CE%B1%CF%80%CE%BF%CF%84%CF%8D%CF%87%CE%B5%CE%B9-%CE%BC%CF%8C%CE%BD%CE%BF-%CE%AD%CE%BD%CE%B1-test-case-%CF%80%CE%B1%CE%AF%CF%81%CE%BD%CE%BF%CF%85%CE%BC%CE%B5-%CE%B2%CE%B1%CE%B8%CE%BC%CE%BF%CF%8D%CF%82</link>
<description>&lt;p&gt;Στην υποβολή μου σε στην άσκηση με τα ΜΕΘ, ενώ το πρόγραμμα μου περνάει τα πρώτα test cases, είναι κάπως αργό για να περάσει το τελευταίο test case. Η υποβολή θεωρείται &quot;failed&quot;.&lt;/p&gt;
&lt;p&gt;Αυτή η υποβολή θα βαθμολογηθεί με 0; Πρέπει να έχω πιάσει όλα τα cases;&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/720/%CE%B5%CE%AC%CE%BD-%CE%AD%CF%87%CE%BF%CF%85%CE%BC%CE%B5-%CE%B1%CF%80%CE%BF%CF%84%CF%8D%CF%87%CE%B5%CE%B9-%CE%BC%CF%8C%CE%BD%CE%BF-%CE%AD%CE%BD%CE%B1-test-case-%CF%80%CE%B1%CE%AF%CF%81%CE%BD%CE%BF%CF%85%CE%BC%CE%B5-%CE%B2%CE%B1%CE%B8%CE%BC%CE%BF%CF%8D%CF%82</guid>
<pubDate>Tue, 20 Apr 2021 18:40:27 +0000</pubDate>
</item>
<item>
<title>Χρήση έτοιμης συνάρτησης από το διαδίκτυο</title>
<link>https://courses.softlab.ntua.gr/q2a/706/%CF%87%CF%81%CE%AE%CF%83%CE%B7-%CE%AD%CF%84%CE%BF%CE%B9%CE%BC%CE%B7%CF%82-%CF%83%CF%85%CE%BD%CE%AC%CF%81%CF%84%CE%B7%CF%83%CE%B7%CF%82-%CE%B1%CF%80%CF%8C-%CF%84%CE%BF-%CE%B4%CE%B9%CE%B1%CE%B4%CE%AF%CE%BA%CF%84%CF%85%CE%BF</link>
<description>&lt;p&gt;Σε ποιο βαθμό επιτρέπεται να πάρουμε έτοιμες συναρτήσεις από το διαδίκτυο (φυσικά δηλώνοντάς το στον κώδικα); Για παράδειγμα τι συμβαίνει αν μία έτοιμη συνάρτηση αποτελεί πολύ μεγάλο κομμάτι της λύσης, σε βαθμό που μία μικρή προεργασία είναι το μόνο που χρειάζεται για την λύση της άσκησης;  Θα ήταν επιτρεπτό να την χρησιμοποιήσουμε, ή θα πρέπει να ξαναγράψουμε τον κώδικα με &quot;δικό μας τρόπο&quot;;&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/706/%CF%87%CF%81%CE%AE%CF%83%CE%B7-%CE%AD%CF%84%CE%BF%CE%B9%CE%BC%CE%B7%CF%82-%CF%83%CF%85%CE%BD%CE%AC%CF%81%CF%84%CE%B7%CF%83%CE%B7%CF%82-%CE%B1%CF%80%CF%8C-%CF%84%CE%BF-%CE%B4%CE%B9%CE%B1%CE%B4%CE%AF%CE%BA%CF%84%CF%85%CE%BF</guid>
<pubDate>Mon, 19 Apr 2021 13:01:38 +0000</pubDate>
</item>
<item>
<title>Τι σημαίνει successful υποβολή στον plgrader</title>
<link>https://courses.softlab.ntua.gr/q2a/705/%CF%84%CE%B9-%CF%83%CE%B7%CE%BC%CE%B1%CE%AF%CE%BD%CE%B5%CE%B9-successful-%CF%85%CF%80%CE%BF%CE%B2%CE%BF%CE%BB%CE%AE-%CF%83%CF%84%CE%BF%CE%BD-plgrader</link>
<description>&lt;p&gt;Ακούστηκε ότι ο grader τρέχει κι άλλα test cases στα προγράμματα που υποβάλλουμε, πέραν από αυτά που μας εμφανίζει.  Θέλω να ρωτήσω εάν μία επιτυχής υποβολή σημαίνει ότι έχουμε περάσει και αυτά τα κρυφά cases.&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/705/%CF%84%CE%B9-%CF%83%CE%B7%CE%BC%CE%B1%CE%AF%CE%BD%CE%B5%CE%B9-successful-%CF%85%CF%80%CE%BF%CE%B2%CE%BF%CE%BB%CE%AE-%CF%83%CF%84%CE%BF%CE%BD-plgrader</guid>
<pubDate>Mon, 19 Apr 2021 11:21:50 +0000</pubDate>
</item>
<item>
<title>Παράταση</title>
<link>https://courses.softlab.ntua.gr/q2a/703/%CF%80%CE%B1%CF%81%CE%AC%CF%84%CE%B1%CF%83%CE%B7</link>
<description>&lt;p&gt;Παρακαλούμε να δώσετε μερικές ημέρες παράταση, κυρίως για να υποβάλουμε επιτυχώς τους κώδικες της ML. Ευχαριστούμε. &lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/703/%CF%80%CE%B1%CF%81%CE%AC%CF%84%CE%B1%CF%83%CE%B7</guid>
<pubDate>Sun, 18 Apr 2021 23:40:08 +0000</pubDate>
</item>
<item>
<title>Μήνυμα Grader: &quot;Error: Compiler bug: Contract: UsageMap on 633&quot;</title>
<link>https://courses.softlab.ntua.gr/q2a/695/%CE%BC%CE%AE%CE%BD%CF%85%CE%BC%CE%B1-grader-error-compiler-bug-contract-usagemap-on-633</link>
<description>&lt;p&gt;'Εχω υποβάλλει την 1η ασκηση σε sml nj v110.79 . Στο output ολων των testcases&lt;br&gt;
μου βγάζει το εξής μήνυμα:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;**Error: Compiler bug: Contract: UsageMap on 633
****** pass1 ********
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Το έψαξα στο διαδίκτυο αλλά δεν κατάφερα να βρω κάτι. Ξέρετε μήπως τι σημαίνει;&lt;br&gt;
Το πρόγραμμα τρέχει σωστά στον υπολογιστή μου.&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/695/%CE%BC%CE%AE%CE%BD%CF%85%CE%BC%CE%B1-grader-error-compiler-bug-contract-usagemap-on-633</guid>
<pubDate>Sun, 18 Apr 2021 15:45:30 +0000</pubDate>
</item>
<item>
<title>Wrong Output στα Testcases 7 και 14 σε ΜΕΘ C++</title>
<link>https://courses.softlab.ntua.gr/q2a/694/wrong-output-%CF%83%CF%84%CE%B1-testcases-7-%CE%BA%CE%B1%CE%B9-14-%CF%83%CE%B5-%CE%BC%CE%B5%CE%B8-c</link>
<description>&lt;p&gt;Ενω τα πρωτα 3 testcases περνανε κανονικα με επιτυχια, τα 2 τελευταια εχουν wrong output.. Συμβαινει και σε καποιον αλλο ;&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/694/wrong-output-%CF%83%CF%84%CE%B1-testcases-7-%CE%BA%CE%B1%CE%B9-14-%CF%83%CE%B5-%CE%BC%CE%B5%CE%B8-c</guid>
<pubDate>Sun, 18 Apr 2021 13:36:04 +0000</pubDate>
</item>
<item>
<title>Άσκηση 1 | ΜΕΘ υπό διαρκή πίεση | Ερώτηση περί χρόνου εκτέλεσης της ML</title>
<link>https://courses.softlab.ntua.gr/q2a/686/%CE%AC%CF%83%CE%BA%CE%B7%CF%83%CE%B7-%CE%BC%CE%B5%CE%B8-%CF%85%CF%80%CF%8C-%CE%B4%CE%B9%CE%B1%CF%81%CE%BA%CE%AE-%CF%80%CE%AF%CE%B5%CF%83%CE%B7-%CE%B5%CF%81%CF%8E%CF%84%CE%B7%CF%83%CE%B7-%CF%80%CE%B5%CF%81%CE%AF-%CF%87%CF%81%CF%8C%CE%BD%CE%BF%CF%85-%CE%B5%CE%BA%CF%84%CE%AD%CE%BB%CE%B5%CF%83%CE%B7%CF%82-%CF%84%CE%B7%CF%82</link>
<description>&lt;p&gt;Θέλω να ρωτήσω κάτι σχετικά με την πρώτη άσκηση. Το testcase longest.in14 στην ML δεν γίνεται δεκτό λόγω υπέρβασης χρονικού ορίου στον grader. Στον υπολογιστή μου ενδεικτικά όταν τρέχω την λύση μας στην ML με είσοδο το testcase longest.in14 χρειάζεται 6.7 sec. Η λύση μας, αν δεν κάνουμε λάθος, είναι γραμμικής πολυπλοκότητας και δεν χρησιμοποιούμε πουθενά τον τελεστή &lt;code&gt;@&lt;/code&gt; μεταξύ λιστών, μονάχα τον &lt;code&gt;::&lt;/code&gt;. Επίσης δεν χρησιμοποιήσαμε &lt;code&gt;Array&lt;/code&gt; αλλά λίστες.&lt;/p&gt;
&lt;p&gt;Πρόσφατα είχατε πει σε διάλεξη ότι τα χρονικά όρια για την ML θα αλλάξουν, μετά από ερώτηση κάποιου συμφοιτητή μου. Η ερώτηση μου είναι αν ο χρόνος εκτέλεσης των 6.7 sec είναι αποδεκτός για αυτό το testcase. Επίσης για την βελτίωση του χρόνου να δοκιμάσουμε να χρησιμοποιήσουμε arrays αντί για λίστες;&lt;/p&gt;
&lt;p&gt;Ερώτημα προς τους συμφοιτητές μου:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt; Έχει καταφέρει κανείς να περάσει το longest.in14 στον grader;&lt;/p&gt;
&lt;/blockquote&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/686/%CE%AC%CF%83%CE%BA%CE%B7%CF%83%CE%B7-%CE%BC%CE%B5%CE%B8-%CF%85%CF%80%CF%8C-%CE%B4%CE%B9%CE%B1%CF%81%CE%BA%CE%AE-%CF%80%CE%AF%CE%B5%CF%83%CE%B7-%CE%B5%CF%81%CF%8E%CF%84%CE%B7%CF%83%CE%B7-%CF%80%CE%B5%CF%81%CE%AF-%CF%87%CF%81%CF%8C%CE%BD%CE%BF%CF%85-%CE%B5%CE%BA%CF%84%CE%AD%CE%BB%CE%B5%CF%83%CE%B7%CF%82-%CF%84%CE%B7%CF%82</guid>
<pubDate>Sat, 17 Apr 2021 10:59:50 +0000</pubDate>
</item>
<item>
<title>No output produced σε πρόγραμμα ocaml</title>
<link>https://courses.softlab.ntua.gr/q2a/685/no-output-produced-%CF%83%CE%B5-%CF%80%CF%81%CF%8C%CE%B3%CF%81%CE%B1%CE%BC%CE%BC%CE%B1-ocaml</link>
<description>&lt;p&gt;Έχω μία συνάρτηση (OCaml) που μοιάζει με την εξής:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;let longest filename = 
  let m, n, d = 11, 3, [42; -10; 8; 1; 11; -6; -12; 16; -15; -11; 13]
  in
    print_endline (string_of_int 5)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;(με τη διαφορά ότι τα m,n,d τα διαβάζει από το αρχείο με path filename και αντί για 5 καλεί μια συνάρτηση που υπολογίζει την απάντηση)&lt;/p&gt;
&lt;p&gt;Όταν το τρέχω locally στο toplevel, δουλεύει όπως αναμένεται, δηλαδή τυπώνει την απάντηση στο stdout και επιστρέφει &lt;code&gt;- : unit = ()&lt;/code&gt; αλλά ο grader μου λέει &lt;code&gt;Failed to read program output (0 bytes).&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Δοκίμασα να αλλάξω το &lt;code&gt;print_endline&lt;/code&gt; σε &lt;code&gt;Printf.printf&lt;/code&gt; και δεν άλλαξε κάτι. Είχε κανείς άλλος το ίδιο πρόβλημα; &lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/685/no-output-produced-%CF%83%CE%B5-%CF%80%CF%81%CF%8C%CE%B3%CF%81%CE%B1%CE%BC%CE%BC%CE%B1-ocaml</guid>
<pubDate>Sat, 17 Apr 2021 10:37:07 +0000</pubDate>
</item>
<item>
<title>Local μεταβλητές σε pattern matching, διαφορά case και if</title>
<link>https://courses.softlab.ntua.gr/q2a/669/local-%CE%BC%CE%B5%CF%84%CE%B1%CE%B2%CE%BB%CE%B7%CF%84%CE%AD%CF%82-%CF%83%CE%B5-pattern-matching-%CE%B4%CE%B9%CE%B1%CF%86%CE%BF%CF%81%CE%AC-case-%CE%BA%CE%B1%CE%B9-if</link>
<description>&lt;p&gt;Καλησπέρα, θα ήθελα να γνωρίζω πώς μπορώ να κάνω pattern matching με μια local μεταβλητή (ή &quot;εξωτερικότερα&quot; ορισμένη), αν γίνεται. Μάλλον μπορώ να πετύχω αυτό που θέλω προσθέτοντας μια ακόμα παράμετρο, αλλά σε συναρτήσεις που έχουν ήδη πολλές χάνεται λίγο η μπάλα και φαίνεται άσχημο. &lt;/p&gt;
&lt;p&gt;Τα δύο πρώτα snippets δεν δουλεύουν, συγκεκριμένα βγάζουν redundancy error (άρα η ML θεωρεί το 'Μ' ως μια τυχαία μεταβλητή και δεν την κάνει bind με το 5). Στο μάθημα είχαμε πει ότι το if () then () else() είναι ουσιαστικά ένα case. Εδώ όμως φαίνεται να μην αληθεύει αυτό, γιατί το τελευταίο snippet γίνεται compile και δουλεύει κανονικά.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;   (* doesn't work:
    local
      val M = 5
    in
      fun isit5 M = true
        | isit5 _ = false
    end
    *)
    
    (* doesn't work:
    local
      val M = 5
    in
      fun isit5 n =
          case n of
              M =&amp;gt; true
              | _ =&amp;gt; false
    end
    *)
    
    (*works*)
    local
      val M = 5
    in
      fun isit5 n =
          if(n = M) then true else false
    end
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/669/local-%CE%BC%CE%B5%CF%84%CE%B1%CE%B2%CE%BB%CE%B7%CF%84%CE%AD%CF%82-%CF%83%CE%B5-pattern-matching-%CE%B4%CE%B9%CE%B1%CF%86%CE%BF%CF%81%CE%AC-case-%CE%BA%CE%B1%CE%B9-if</guid>
<pubDate>Wed, 14 Apr 2021 13:39:05 +0000</pubDate>
</item>
<item>
<title>Υπερβολική κατανάλωση μνήμης κατά το γέμισμα δομής δεδομένων στην ML</title>
<link>https://courses.softlab.ntua.gr/q2a/666/%CF%85%CF%80%CE%B5%CF%81%CE%B2%CE%BF%CE%BB%CE%B9%CE%BA%CE%AE-%CE%BA%CE%B1%CF%84%CE%B1%CE%BD%CE%AC%CE%BB%CF%89%CF%83%CE%B7-%CE%BC%CE%BD%CE%AE%CE%BC%CE%B7%CF%82-%CE%B3%CE%AD%CE%BC%CE%B9%CF%83%CE%BC%CE%B1-%CE%B4%CE%BF%CE%BC%CE%AE%CF%82-%CE%B4%CE%B5%CE%B4%CE%BF%CE%BC%CE%AD%CE%BD%CF%89%CE%BD-%CF%83%CF%84%CE%B7%CE%BD</link>
<description>&lt;p&gt;Για την επίλυση της 2ης άσκησης χρησιμοποιώ μία μεταβλητή δομή δεδομένων (δηλαδή που επιτρέπει την αλλαγή των στοιχείων της αφού ορισθεί) από τη βιβλιοθήκη της ML. Για να την αρχικοποιήσω όπως επιθυμώ καλώ μια συνάρτηση που θέτει ένα ένα κάθε στοιχείο της: θέτει ένα στοιχείο και, μέσω αναδρομής, γεμίζει ύστερα και τα υπόλοιπα στοιχεία της δομής. Η συνάρτηση παίρνει σαν παράμετρο τη δομή και κάποια άλλα πράγματα (μια λίστα και ακεραίους). Επίσης, καλείται σε ένα σημείο με μερικά nested &lt;code&gt;let val ... in ... end&lt;/code&gt;. Το πρόγραμμα σε αυτό το σημείο χρειάζεται συνολικά 263184 KB μνήμης με είσοδο το τελευταίο ορατό test case του plgrader. Tι μπορεί να πηγαίνει στραβά?&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/666/%CF%85%CF%80%CE%B5%CF%81%CE%B2%CE%BF%CE%BB%CE%B9%CE%BA%CE%AE-%CE%BA%CE%B1%CF%84%CE%B1%CE%BD%CE%AC%CE%BB%CF%89%CF%83%CE%B7-%CE%BC%CE%BD%CE%AE%CE%BC%CE%B7%CF%82-%CE%B3%CE%AD%CE%BC%CE%B9%CF%83%CE%BC%CE%B1-%CE%B4%CE%BF%CE%BC%CE%AE%CF%82-%CE%B4%CE%B5%CE%B4%CE%BF%CE%BC%CE%AD%CE%BD%CF%89%CE%BD-%CF%83%CF%84%CE%B7%CE%BD</guid>
<pubDate>Tue, 13 Apr 2021 12:25:06 +0000</pubDate>
</item>
<item>
<title>Συνάρτηση ως όρισμα εισόδου σε άλλη συνάρτηση και υπερφόρτωση τελεστή στην ML</title>
<link>https://courses.softlab.ntua.gr/q2a/640/%CF%83%CF%85%CE%BD%CE%AC%CF%81%CF%84%CE%B7%CF%83%CE%B7-%CF%8C%CF%81%CE%B9%CF%83%CE%BC%CE%B1-%CE%B5%CE%B9%CF%83%CF%8C%CE%B4%CE%BF%CF%85-%CF%83%CF%85%CE%BD%CE%AC%CF%81%CF%84%CE%B7%CF%83%CE%B7-%CF%85%CF%80%CE%B5%CF%81%CF%86%CF%8C%CF%81%CF%84%CF%89%CF%83%CE%B7-%CF%84%CE%B5%CE%BB%CE%B5%CF%83%CF%84%CE%AE-%CF%83%CF%84%CE%B7%CE%BD</link>
<description>&lt;p&gt;Θα ήθελα να ορίσω μια δίκη μου εκδοχή για τον τελεστή &amp;lt;, την οποία να περνάω ως όρισμα σε μια συνάρτηση. Μπορεί να γίνει αυτό και αν ναι, πώς;&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/640/%CF%83%CF%85%CE%BD%CE%AC%CF%81%CF%84%CE%B7%CF%83%CE%B7-%CF%8C%CF%81%CE%B9%CF%83%CE%BC%CE%B1-%CE%B5%CE%B9%CF%83%CF%8C%CE%B4%CE%BF%CF%85-%CF%83%CF%85%CE%BD%CE%AC%CF%81%CF%84%CE%B7%CF%83%CE%B7-%CF%85%CF%80%CE%B5%CF%81%CF%86%CF%8C%CF%81%CF%84%CF%89%CF%83%CE%B7-%CF%84%CE%B5%CE%BB%CE%B5%CF%83%CF%84%CE%AE-%CF%83%CF%84%CE%B7%CE%BD</guid>
<pubDate>Sat, 10 Apr 2021 00:25:57 +0000</pubDate>
</item>
<item>
<title>Η συνάρτηση List.last για τη λίστα στην ML</title>
<link>https://courses.softlab.ntua.gr/q2a/608/%CE%B7-%CF%83%CF%85%CE%BD%CE%AC%CF%81%CF%84%CE%B7%CF%83%CE%B7-list-last-%CE%B3%CE%B9%CE%B1-%CF%84%CE%B7-%CE%BB%CE%AF%CF%83%CF%84%CE%B1-%CF%83%CF%84%CE%B7%CE%BD-ml</link>
<description>&lt;p&gt;Στο μάθημα (αν θυμάμαι καλά) είχαμε αναφέρει ότι στην ML δεν είναι εφικτό να πάρεις κατ' ευθείαν το τελευταίο στοιχείο μιας λίστας, σε αντίθεση με το πρώτο (&lt;code&gt;hd x&lt;/code&gt;). &lt;a rel=&quot;nofollow&quot; href=&quot;https://smlfamily.github.io/Basis/list.html#section:0&quot;&gt;Εδώ&lt;/a&gt; βρήκα ότι υπάρχει η συνάρτηση &lt;code&gt;val last : 'a list -&amp;gt; 'a&lt;/code&gt; (&lt;code&gt;List.last&lt;/code&gt;), που δίνει πράγματι το τελευταίο στοιχείο. Δυστυχώς, ο ιστότοπος δεν αναφέρει κάτι για την πολυπλοκότητά της. Η ερώτηση μου, λοιπόν, είναι εάν έχει καλή πολυπλοκότητα η &lt;code&gt;List.last&lt;/code&gt;, δηλαδή $Ο(1)$ κι όχι $Ο(n)$ (=κάθε φορά που την καλώ να διατρέχει όλη τη λίστα μέχρι να φτάσει στο τέλος).&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/608/%CE%B7-%CF%83%CF%85%CE%BD%CE%AC%CF%81%CF%84%CE%B7%CF%83%CE%B7-list-last-%CE%B3%CE%B9%CE%B1-%CF%84%CE%B7-%CE%BB%CE%AF%CF%83%CF%84%CE%B1-%CF%83%CF%84%CE%B7%CE%BD-ml</guid>
<pubDate>Tue, 23 Mar 2021 13:07:01 +0000</pubDate>
</item>
<item>
<title>Κλήση παραμέτρων στην SML &amp; Πολυπλοκότητα</title>
<link>https://courses.softlab.ntua.gr/q2a/587/%CE%BA%CE%BB%CE%AE%CF%83%CE%B7-%CF%80%CE%B1%CF%81%CE%B1%CE%BC%CE%AD%CF%84%CF%81%CF%89%CE%BD-%CF%83%CF%84%CE%B7%CE%BD-sml-%26-%CF%80%CE%BF%CE%BB%CF%85%CF%80%CE%BB%CE%BF%CE%BA%CF%8C%CF%84%CE%B7%CF%84%CE%B1</link>
<description>&lt;p&gt;Θα ήθελα να ρωτήσω με αφορμή την βελτιωμένη εκδοχή της &lt;code&gt;reverse&lt;/code&gt; που είδαμε στη τελευταία διάλεξη:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;fun reverse xs =
  let
    fun rev (nil, z) = z
      | rev (y::ys, z) = rev (ys, y::z)
  in
    rev (xs, nil)
  end
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Οι παράμετροι πως γίνονται called από τις συναρτήσεις;&lt;br&gt;
Ρωτάω διότι αν γινόντουσαν called by value, πρακτικά δεν θα είχαμε αντιγραφή $n$ συνολικά στοιχείων (εντός των δυο λιστών στο tuple) σε κάθε αναδρομική κλήση της &lt;code&gt;rev&lt;/code&gt;, άρα και πάλι πολυπλοκότητα τάξης $O(n^2)$; &lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/587/%CE%BA%CE%BB%CE%AE%CF%83%CE%B7-%CF%80%CE%B1%CF%81%CE%B1%CE%BC%CE%AD%CF%84%CF%81%CF%89%CE%BD-%CF%83%CF%84%CE%B7%CE%BD-sml-%26-%CF%80%CE%BF%CE%BB%CF%85%CF%80%CE%BB%CE%BF%CE%BA%CF%8C%CF%84%CE%B7%CF%84%CE%B1</guid>
<pubDate>Wed, 17 Mar 2021 09:15:13 +0000</pubDate>
</item>
<item>
<title>Εφαρμογή συνάρτησης που ορίζεται μέσα σε let</title>
<link>https://courses.softlab.ntua.gr/q2a/544/%CE%B5%CF%86%CE%B1%CF%81%CE%BC%CE%BF%CE%B3%CE%AE-%CF%83%CF%85%CE%BD%CE%AC%CF%81%CF%84%CE%B7%CF%83%CE%B7%CF%82-%CF%80%CE%BF%CF%85-%CE%BF%CF%81%CE%AF%CE%B6%CE%B5%CF%84%CE%B1%CE%B9-%CE%BC%CE%AD%CF%83%CE%B1-%CF%83%CE%B5-let</link>
<description>&lt;p&gt;Στη διαφάνεια 29 του lecture 4 υπάρχει ο παρακάτω κώδικας:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://courses.softlab.ntua.gr/q2a/?qa=blob&amp;amp;qa_blobid=16274475894053175575&quot; alt=&quot;Κώδικας από διαφάνεια&quot;&gt;&lt;/p&gt;
&lt;p&gt;Δεν καταλαβαίνω πώς η συνάρτηση εφαρμόζεται στη λίστα &lt;code&gt;[1,2,3,4]&lt;/code&gt; στην τελευταία γραμμή.  Επειδη δε βαλαμε &lt;code&gt;;&lt;/code&gt; μετα το &lt;code&gt;end&lt;/code&gt;;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Edit: Ξανάγραψα την ερώτηση και παραθέτω παρακάτω την αρχική της μορφή.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Τίτλος: lecture 4 slide 29 γιατι εφαρμοζει τη συναρτηση στη λιστα που γραφουμε απο κατω?&lt;/p&gt;
&lt;p&gt;Οριζουμε μια συναρτηση απο πανω και μετα το end απλως γραφουμε μια λιστα, πως ξερει αυτος οτι θελουμε η συναρτηση να εφαρμοστει στη λιστα αυτη? Επειδη δε βαλαμε ; μετα το end?&lt;/p&gt;
</description>
<category>pl1</category>
<guid isPermaLink="true">https://courses.softlab.ntua.gr/q2a/544/%CE%B5%CF%86%CE%B1%CF%81%CE%BC%CE%BF%CE%B3%CE%AE-%CF%83%CF%85%CE%BD%CE%AC%CF%81%CF%84%CE%B7%CF%83%CE%B7%CF%82-%CF%80%CE%BF%CF%85-%CE%BF%CF%81%CE%AF%CE%B6%CE%B5%CF%84%CE%B1%CE%B9-%CE%BC%CE%AD%CF%83%CE%B1-%CF%83%CE%B5-let</guid>
<pubDate>Sat, 06 Mar 2021 10:29:58 +0000</pubDate>
</item>
</channel>
</rss>