Πρόγραμμα όρασης. Στη συνέχεια θα περιγράψουμε πώς δουλεύει το ρομπότ.

Σχετικά έγγραφα
Η αφετηρία είναι η συσκευή στην οποία η μπάλα βρίσκεται αρχικά. Έχει μόνο μία έξοδο. Ο σειριακός αριθμός της είναι.

Highway Tolls. Λεπτομέρειες υλοποίησης. highway

ÁÎÉÁ ÅÊÐÁÉÄÅÕÔÉÊÏÓ ÏÌÉËÏÓ

Master Mind εφαρμογή στη γλώσσα προγραμματισμού C

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

International Olympiad in Informatics th July 2014 Taipei, Taiwan Day-2 tasks

ΣΤΗΛΗ Β ΑΠΟΤΕΛΕΣΜΑ 1. float(10) α pow(2,3) β abs(-10) γ int(5.6) δ. 10 ε. 5.6 Μονάδες 8 ΣΤΗΛΗ Α ΣΥΝΑΡΤΗΣΗ

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙΔΕΣ

ΘΕΜΑΤΑ ΤΕΛΙΚΗΣ ΦΑΣΗΣ

lab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙ ΕΣ

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

i 1 Όσο i <> 100 επανάλαβε i i + 2 Γράψε A[i] Τέλος_επανάληψης

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)

ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ

Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας

Επαναληπτική δοκιμασία στην Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Απρίλης 2015

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσμία: 17/1/14, 22:00

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ) 2012 ÈÅÌÅËÉÏ ΕΚΦΩΝΗΣΕΙΣ

Ινστιτούτο Επαγγελµατική Κατάρτιση Κορυδαλλού "ΤΕΧΝΙΚΟΣ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ" (Ερωτήσεις Πιστοποίησης στην γλώσσα προγραµµατισµού C)


lab14grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ

turnin Lab2.hs

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β

ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 05/03/2012

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε.

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 18/12/12, 22:00

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ (ΝΕΟ ΣΥΣΤΗΜΑ) 27 ΜΑΪΟΥ 2016 ΕΚΦΩΝΗΣΕΙΣ ÊÁËÁÌÁÔÁ

ΕΠΛ 034: Εισαγωγή στον Προγραμματισμό για ΗΜΥ

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΘΕΜΑ Α

Γραφικά υπολογιστών Εργαστήριο 4 Εισαγωγή στις λίστες

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

Δομημένος Προγραμματισμός (ΤΛ1006)

Διαδικασιακός Προγραμματισμός

ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΨΗΦΙΑΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ. Κεφάλαιο 3

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 13/1/13, 22:00

A2. Να γράψετε για κάθε περίπτωση τον αριθμό της πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ 2016 Α.Ε.Π.Π. Γ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ. Θέματα και Απαντήσεις

Ανάπτυξη Εφαρμογών. (Μονάδες 8) Α2. α. να αναφέρετε ονομαστικά τα κριτήρια που πρέπει απαραίτητα να ικανοποιεί ένας αλγόριθμος.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Συναρτήσεις. Εισαγωγή

Δομές Δεδομένων. Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα

Το Παιχνίδι της Αφαίρεσης

Τι είναι υποπρόγραμμα; Τμήμα προγράμματος το οποίο επιτελεί ένα αυτόνομο υπολογιστικό έργο (γράφεται χωριστά από το υπόλοιπο πρόγραμμα)

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙΔΕΣ

Μεθόδων Επίλυσης Προβλημάτων

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ

ΑΣΚΗΣΗ 6: ΔΕΙΚΤΕΣ. Σκοπός της Άσκησης. 1. Εισαγωγικά στοιχεία για τους Δείκτες

γραπτή εξέταση στo μάθημα ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ' ΛΥΚΕΙΟΥ

Προγραμματισμός Η/Υ (ΤΛ2007 )

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 7/1/2014, 22:00

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

Μεταβλητές τύπου χαρακτήρα

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2013 ÅÐÉËÏÃÇ

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2013 ΕΚΦΩΝΗΣΕΙΣ

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΣΠΟΥΔΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Προγραμματισμός Η/Υ (ΤΛ2007 )

μεταβλητής Χ Χ ΑΛΗΘΗΣ Χ Χ 7 > 4 Χ ΨΕΥ ΗΣ Μονάδες 10

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Εξετάσεις Προσομοίωσης 24/04/2019

5.2 ΑΡΙΘΜΗΤΙΚΗ ΠΡΟΟΔΟΣ

Γ7.2 Συμβολοσειρές (Strings) Γ Λυκείου Κατεύθυνσης

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

20 7ω ΘΕΜΑ Α ,5x γδ ωx. 5 2 (όπου x, y, ω, γ, δ, μ, z μεταβλητές)

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ (ΚΕΦΑΛΑΙΟ 1-2β)

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ 2012

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

Α. Θα καλεί υποπρόγραμμα INPUT που θα διαβάζει τις τιμές του πίνακα MAP.

ΘΕΜΑΤΑ ΤΕΛΙΚΗΣ ΦΑΣΗΣ

ΠΡΟΣΟΜΟΙΩΣΗ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ Γʹ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΕΠΠ ΤΡΙΤΗ 18 ΑΠΡΙΛΙΟΥ 2017 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΠΤΑ (7)

ΑΣΚΗΣΗ 5: ΠΙΝΑΚΕΣ. Σχήµα 1: H έννοια των πινάκων

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα. Η δομή Επιλογής στη PASCAL. H δομή Επανάληψης στη PASCAL. Η εντολή επανάληψης for

Παίρνοντας Αποφάσεις 1

Σημειωματάριο Δευτέρας 9 Οκτ. 2017

ΘΕΜΑ 1ο. Μονάδες 10. Β. ίνεται το παρακάτω τμήμα αλγορίθμου: Όσο Ι < 10 επανάλαβε Εμφάνισε Ι Ι Ι + 3 Τέλος_επανάληψης ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

ΘΕΜΑ 1ο. Μονάδες 10. Β. ίνεται το παρακάτω τμήμα αλγορίθμου: Όσο Ι < 10 επανάλαβε Εμφάνισε Ι Ι Ι + 3 Τέλος_επανάληψης ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 4 ο Πράξεις με bits. Δρ.


ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

ΚΕΦΑΛΑΙΑ 3 & 9 (ΠΙΝΑΚΕΣ)

Transcript:

Πρόγραμμα όρασης Υλοποιείτε ένα πρόγραμμα όρασης για ένα ρομπότ. Κάθε φορά που η κάμερα του ρομπότ βγάζει μία φωτογραφία, αυτή αποθηκεύεται στη μνήμη του ρομπότ ως μία ασπρόμαυρη εικόνα. Κάθε εικόνα είναι ένα πλέγμα από pixels, στο οποίο οι γραμμές είναι αριθμημένες από έως και οι στήλες από έως. Υπάρχουν ακριβώς δύο μαύρα pixels σε κάθε εικόνα, όλα τα υπόλοιπα pixels είναι άσπρα. Το ρομπότ επεξεργάζεται κάθε εικόνα με ένα πρόγραμμα αποτελούμενο από απλές εντολές. Δίνονται οι τιμές, και ένας θετικός ακέραιος. Ο στόχος σας είναι να γράψετε μία συνάρτηση που να παράγει ένα πρόγραμμα όρασης για το ρόμποτ, το οποίο για κάθε εικόνα να αποφασίζει αν η απόσταση ανάμεσα στα δύο μαύρα pixels είναι ακριβώς. Η απόσταση ανάμεσα σε ένα pixel στη γραμμή και στήλη και ένα pixel στη γραμμή και στήλη ορίζεται ως, όπου με συμβολίζεται η απόλυτη τιμή του, που ισούται με αν και με αν. Στη συνέχεια θα περιγράψουμε πώς δουλεύει το ρομπότ. Η μνήμη του ρομπότ είναι ένας επαρκώς μεγάλος πίνακας από θέσεις μνήμης, στον οποίο η αρίθμηση των θέσεων ξεκινάει από το. Σε κάθε θέση μνήμης μπορεί να αποθηκευτεί είτε η τιμή είτε η τιμή και η τιμή που θα αποθηκευτεί δεν μπορεί να αλλάξει. Η εικόνα αποθηκεύεται γραμμή-γραμμή στις θέσεις μνήμης από έως. Η πρώτη γραμμή αποθηκεύεται στις θέσεις μνήμης έως και η τελευταία στις θέσεις μνήμης έως. Συγκεκριμένα, αν το pixel στη γραμμή και στήλη είναι μαύρο, η τιμή της θέσης μνήμης είναι, διαφορετικά είναι. Το πρόγραμμα του ρομπότ είναι μία ακολουθία από εντολές, αριθμημένες με διαδοχικούς ακεραίους αριθμούς ξεκινώντας από το. Όταν το πρόγραμμα τρέχει, οι εντολές εκτελούνται μία-μία. Κάθε εντολή διαβάζει τις τιμές μίας ή περισσότερων θέσεων μνήμης (ονομάζουμε αυτές τις τιμές εισόδους της εντολής) και παράγει μία ακριβώς τιμή ίση με ή (ονομάζουμε αυτήν την τιμή έξοδο της εντολής). Η έξοδος της εντολής αποθηκεύεται στη θέση μνήμης. Οι είσοδοι της εντολής μπορούν να είναι θέσεις μνήμης στις οποίες είναι αποθηκευμένα είτε τα pixels της εικόνας είτε οι εξόδοι των προηγούμενων εντολών, δηλαδή όλες οι θέσεις μνήμης από έως. Υπάρχουν τέσσερα είδη εντολών: NOT : έχει ακριβώς μία είσοδο. Η έξοδος είναι η έξοδος είναι. αν η είσοδος είναι, διαφορετικά Vision (1 of 5)

AND : έχει μία ή περισσότερες εισόδους. Η έξοδος είναι αν και μόνο αν όλες οι είσοδοι είναι. OR : έχει μία ή περισσότερες εισόδους. Η έξοδος είναι αν και μόνο αν τουλάχιστον μία από τις εισόδους είναι. XOR : έχει μία ή περισσότερες εισόδους. Η έξοδος είναι αν και μόνο αν περιττό πλήθος των εισόδων είναι. Η έξοδος της τελευταίας εντολής του προγράμματος πρέπει να είναι ανάμεσα στα δύο μαύρα pixels είναι ακριβώς, διαφορετικά. αν η απόσταση Λεπτομέρειες υλοποίησης Πρέπει να υλοποιήσετε την ακόλουθη συνάρτηση: void construct_network(int H, int W, int K) : διαστάσεις της κάθε εικόνας που παίρνει η κάμερα του ρομπότ : ένας θετικός ακέραιος Η συνάρτηση πρέπει να παράγει ένα πρόγραμμα όρασης για το ρομπότ. Για κάθε εικόνα που παίρνει η κάμερα του ρομπότ, αυτό το πρόγραμμα όρασης πρέπει να αποφασίζει αν η απόσταση ανάμεσα στα δύο μαύρα pixels της εικόνας είναι ακριβώς. Η συνάρτηση σας πρέπει να καλεί μία ή περισσότερες από τις παρακάτω συναρτήσεις για να προσθέτει εντολές στο τέλος του προγράμματος όρασης του ρομπότ (το οποίο αρχικά είναι κενό): int add_not(int N) int add_and(int[] Ns) int add_or(int[] Ns) int add_xor(int[] Ns) Πρόσθεσε μία εντολή NOT, AND, OR ή XOR στο τέλος του προγράμματος όρασης, αντίστοιχα. (για την add_not ): ο αριθμός της θέσης μνήμης από την οποία η εντολή NOT διαβάζει την είσοδό της (για τις add_and, add_or, add_xor ): ένας πίνακας που περιέχει τους αριθμούς των θέσεων μνήμης από τις οποίες η εντολή AND, OR ή XOR διαβάζει τις εισόδους της Κάθε συνάρτηση επιστρέφει τον αριθμό της θέσης μνήμης όπου αποθηκεύεται η έξοδος της εντολής. Διαδοχικές κλήσεις αυτών των συναρτήσεων θα επιστρέφουν διαδοχικούς ακεραίους ξεκινώντας από το. Το πρόγραμμα του ρομπότ μπορεί να αποτελείται το πολύ από εντολές. Οι Vision (2 of 5)

εντολές μπορούν να διαβάζουν το πολύ τιμές συνολικά. Με άλλα λόγια, το συνολικό μέγεθος των πινάκων όλων των κλήσεων στις add_and, add_or και add_xor συν το πλήθος των κλήσεων στην add_not δεν πρέπει να ξεπερνάει το. Αφού προσθέσετε την τελευταία σας εντολή, η συνάρτηση construct_network πρέπει να επιστρέφει (return). Το πρόγραμμα του ρομπότ θα αξιολογηθεί με ένα πλήθος εικόνων. Η λύση σας περνάει ένα συγκεκριμένο test case, αν ισχύει το εξής: για κάθε μία από τις εικόνες η έξοδος της τελευταίας εντολής είναι αν και μόνο αν η απόσταση μεταξύ των δύο μαύρων pixels της εικόνας είναι ίση με. Η βαθμολόγηση της λύσης μπορεί να έχει ως αποτέλεσμα κάποιο από τα παρακάτω μηνύματα σφάλματος στα αγγλικά: Instruction with no inputs : δόθηκε κενός πίνακας ως είσοδος σε κάποια από τις add_and, add_or ή add_xor. Invalid index : δόθηκε λανθασμένος (πιθανώς αρνητικός) αριθμός θέσης μνήμης ως είσοδος σε κάποια από τις add_and, add_or, add_xor ή add_not. Too many instructions : η συνάρτησή σας προσπάθησε να προσθέσει περισσότερες από εντολές. Too many inputs : οι εντολές του προγράμματος του ρομπότ διαβάζουν συνολικά περισσότερες από τιμές. Παράδειγμα Έστω,,. Υπάρχουν μόνο δύο δυνατές εικόνες στις οποίες η απόσταση μεταξύ των μαύρων pixels είναι. 0 1 2 3 4 5 0 1 2 3 4 5 Περίπτωση 1: τα μαύρα pixels είναι τα Περίπτωση 2: τα μαύρα pixels είναι τα και και Μία δυνατή λύση είναι να κατασκευαστεί ένα πρόγραμμα για το ρομπότ κάνοντας τις παρακάτω κλήσεις: 1. add_and([0, 5]), προσθέτει μία εντολή με έξοδο αν και μόνο αν βρισκόμαστε στην πρώτη περίπτωση. Η έξοδος αποθηκεύεται στη θέση. 2. add_and([2, 3]), προσθέτει μία εντολή με έξοδο αν και μόνο αν βρισκόμαστε στη δεύτερη περίπτωση. Η έξοδος αποθηκεύεται στη θέση. 3. add_or([6, 7]), προσθέτει μία εντολή με έξοδο αν και μόνο αν βρισκόμαστε σε οποιαδήποτε από αυτές τις δύο περιπτώσεις. Vision (3 of 5)

Περιορισμοί Υποπροβλήματα 1. (10 βαθμοί) 2. (11 βαθμοί) 3. (11 βαθμοί) 4. (15 βαθμοί) 5. (12 βαθμοί) 6. (8 βαθμοί) Το pixel στη γραμμή και τη στήλη είναι μαύρο σε κάθε εικόνα. 7. (14 βαθμοί) 8. (19 βαθμοί) Κανένας επιπλέον περιορισμός. Υποδειγματικός βαθμολογητής Ο υποδειγματικός βαθμολογητής διαβάζει την είσοδο ως εξής: τελευταία γραμμή: Κάθε γραμμή εκτός από την πρώτη και την τελευταία αναπαριστούν μία εικόνα με δύο μαύρα pixels. Θα συμβολίζουμε την εικόνα που βρίσκεται στη γραμμή ως εικόνα. Το ένα μαύρο pixel θα βρίσκεται στη γραμμή και τη στήλη και το δεύτερο μαύρο pixel θα βρίσκεται στη γραμμή και τη στήλη. Ο υποδειγματικός βαθμολογητής πρώτα κάνει την κλήση construct_network(h, W, K). Αν η construct_network παραβιάζει κάποιους από τους περιορισμούς που αναφέρονται στην εκφώνηση του προβλήματος, τότε ο υποδειγματικός βαθμολογητής τυπώνει ένα από τα μηνύματα σφάλματος που αναφέρονται στο τέλος των λεπτομερειών υλοποίησης και τερματίζει. Διαφορετικά, ο υποδειγματικός βαθμολογητής παράγει δύο αποτελέσματα. Πρώτον, τυπώνει την έξοδο του προγράμματος του ρομπότ ως εξής: γραμμή : η έξοδος ( ή ) της τελευταίας εντολής του προγράμματος του ρομπότ για την εικόνα. Δεύτερον, γράφει ένα αρχείο log.txt στο τρέχον directory που θα περιέχει τα εξής: Vision (4 of 5)

Η ακολουθία αριθμών ( ή ) στη γραμμή θα περιγράφει τις τιμές που είναι αποθηκευμένες στις θέσεις μνήμης του ρομπότ μετά την εκτέλεση του προγράμματος, αν η είσοδος είναι η εικόνα. Ειδικότερα, το θα είναι η τιμή της θέσης. Προσέξτε ότι η τιμή του (το μήκος της ακολουθίας αριθμών) θα είναι ίση με συν το πλήθος των εντολών του προγράμματος του ρομπότ. Vision (5 of 5)