User Tools

Site Tools


qna:lesson:projects:how-to-use-smproject

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
qna:lesson:projects:how-to-use-smproject [2021/03/19 15:25]
xallos created
qna:lesson:projects:how-to-use-smproject [2022/04/04 16:22] (current)
xallos
Line 17: Line 17:
   - Αποσυμπιέστε το αρχείο σε κάποιον φάκελο (προσέξτε να μην υπάρχουν Ελληνικοί χαρακτήρες στο όνομά του)   - Αποσυμπιέστε το αρχείο σε κάποιον φάκελο (προσέξτε να μην υπάρχουν Ελληνικοί χαρακτήρες στο όνομά του)
   - Επιλέξτε στο CLion στο μενού: **File** > **Open...**   - Επιλέξτε στο CLion στο μενού: **File** > **Open...**
-  - Στο παράθυρο που ανοίγει διαλέξτε τον φάκελο του smProject που μόλις αποσυμπιέσατε (οι φάκελοι που είναι CLion projects έχουν ένα μικρό μαύρο σημαδάκι στο εικονίδιο - δείτε και την παρακάτω εικόνα).+  - Στο παράθυρο που ανοίγει διαλέξτε τον φάκελο του smProject που μόλις αποσυμπιέσατε (οι φάκελοι που είναι CLion projects έχουν ένα μικρό μαύρο σημαδάκι στο εικονίδιο - δείτε και το ''sample1'' στην παρακάτω εικόνα). // <wrap danger>Προσοχή!</wrap> Για διασταύρωση, ο φάκελος που θα πρέπει να ανοίξετε είναι αυτός που περιέχει το αρχείο ''main.c''//
   - Τέλος πατήστε OK   - Τέλος πατήστε OK
  
Line 31: Line 31:
  
 Η λειτουργία της κανονικής εκτέλεσης δεν διαφέρει σε τίποτα από ένα απλό CLion project (πέρα από το ότι έχετε και στη διάθεσή σας κάποιες πρόσθετες συναρτήσεις). Η λειτουργία της κανονικής εκτέλεσης δεν διαφέρει σε τίποτα από ένα απλό CLion project (πέρα από το ότι έχετε και στη διάθεσή σας κάποιες πρόσθετες συναρτήσεις).
 +
 +<WRAP important>Εάν το κουμπί play (#2 στην παραπάνω εικόνα) δεν είναι είναι ενεργό (είναι γκριζαρισμένο) τότε θα πρέπει να κάνετε δεξί κλικ στο όνομα του Project (#1 στην παρακάτω εικόνα) και κατόπιν κλικ στο Reload CMake Project (#2).
 +{{ :qna:lesson:projects:reload-cmake-project-w-nums.png?nolink |}}</WRAP>
 +
 +===== Πως γράφω τον κώδικά μου =====
 +
 +Καλό είναι - σας βοηθά σε σχέση με τον τρόπο που κάνει τους ελέγχους το σύστημα υποβολής εργασιών - να βάζετε τον κώδικα σας ανάμεσα στο αρχικό και τελικό σχόλιο του smProject και όχι έξω από αυτά, όπως φαίνεται και παρακάτω:
 +
 +<code c>// smProject - S T A R T   O F   C O D E
 +
 +... εδώ είναι καλά να βάλετε τον κώδικά σας ...
 +
 +// smProject - E N D   O F   C O D E
 +
 +... ενώ εδώ καλύτερα να το αποφύγετε - δεν απαγορεύεται πάντως,
 +    αν και το σύστημα υποβολής εργασιών διαμαρτύρεται
 +</code>
 +
 +<WRAP info>Σημειώστε ότι για το 1ο μάθημα ο κώδικας που θα γράψετε στο smProject θα πρέπει να τοποθετηθεί αποκλειστικά στα συσγκεκριμένα σημεία που υποδεικνύονται. Π.χ.
 +
 +<code c>
 +// EROTIMA 1-5 : PARASTASH x3
 +SM_TEST_RET_DBL(7,
 +    // ... ΕΔΩ γράφετε τον κώδικά σας για το 5ο ερώτημα
 +    //     της 1ης άσκησης όσον αφορά την παράσταση x3
 +)
 +</code>
 +</WRAP>
  
 ===== Εκτέλεση δοκιμών ===== ===== Εκτέλεση δοκιμών =====
Line 37: Line 65:
  
 <code>TESTING MODE! <code>TESTING MODE!
- 
  
 Test RANGE_TESTS : Test RANGE_TESTS :
   v5in1_8 FAILED : isInRange(5,1,8) returns unexpected result!   v5in1_8 FAILED : isInRange(5,1,8) returns unexpected result!
 +https://qna.c-programming.allos.gr/doku.php?id=qna:hw:lsnAA#test_X-Y-Z-L
 +Grid visualization:
 +https://qna.c-programming.allos.gr/smGrid.html#20:///wQAAEAABAAAQAAEAABAAAQAAEAABCAARhAEAA:-1:-1:///wQAAEAABAAAQAAEAABAA
 +AQAAEAABAAAQBAEAA
 +
 RANGE_TESTS FAILED! RANGE_TESTS FAILED!
 Test BOUNDARY_TESTS : Test BOUNDARY_TESTS :
   v5in1_5 FAILED : isInRange(5,1,5) returns unexpected result!   v5in1_5 FAILED : isInRange(5,1,5) returns unexpected result!
 +https://qna.c-programming.allos.gr/doku.php?id=qna:hw:lsnAA#test_X-Y-Z-L
   v5in1_5 FAILED : isInRange(1,1,5) returns unexpected result!   v5in1_5 FAILED : isInRange(1,1,5) returns unexpected result!
 +https://qna.c-programming.allos.gr/doku.php?id=qna:hw:lsnAA#test_X-Y-Z-L
 BOUNDARY_TESTS FAILED! BOUNDARY_TESTS FAILED!
 Process finished with exit code 3</code> Process finished with exit code 3</code>
  
 όπου βλέπουμε ότι η ''isInRange(5,1,8)'' δεν επιστρέφει το επιθυμητό αποτέλεσμα και ομοίως οι δύο ακόλουθες κλήσεις. όπου βλέπουμε ότι η ''isInRange(5,1,8)'' δεν επιστρέφει το επιθυμητό αποτέλεσμα και ομοίως οι δύο ακόλουθες κλήσεις.
 +
 +<WRAP important>
 +Εάν στο μήνυμα εμφανίζεται και σύνδεσμος της μορφής:
 +[[https://qna.c-programming.allos.gr/doku.php?id=qna:hw:lsnAA#test_X-Y-Z-L]]
 +τότε σε αυτόν θα υπάρχουν (κάπως) πιο αναλυτικές πληροφορίες για το σφάλμα.
 +
 +Εάν η άσκηση αφορά τη χρήση πλέγματος πιθανώς θα εμφανίζεται και ένας σύνδεσμος της μορφής
 +[[https://qna.c-programming.allos.gr/smGrid.html#20:///wQAAEAABAAAQAAEAABAAAQAAEAABCAARhAEAA:-1:-1:///wQAAEAABAAAQAAEAABAAAQAAEAABAAAQBAEAA]] που μπορεί να είναι και σε περισσότερες από μία γραμμές, οπότε θα χρειαστεί να τον αντιγράψετε ολόκληρο και να τον κάνετε copy/paste στον browser και **όχι απλά να κάνετε κλικ**. Αυτό ο σύνδεσμος σας οδηγεί σε μία σελίδα η οποία σας παρουσιάζει το πλέγμα όπως είναι και κάποιες φορές εμφανίζει και το πως θα έπρεπε να είναι. Επίσης εμφανίζει με κόκκινο πλαίσιο και το σημείο ενδιαφέροντος αν υπάρχει (πχ εάν κάτι υπολογίζεται ως προς κάποιο κελί).
 +</WRAP>
  
 Εάν όλα είναι καλά εμφανίζεται μήνυμα όπως το ακόλουθο: Εάν όλα είναι καλά εμφανίζεται μήνυμα όπως το ακόλουθο:
qna/lesson/projects/how-to-use-smproject.1616167523.txt.gz · Last modified: 2021/03/19 15:25 by xallos