ΨΕΥΔΟΓΛΩΣΣΑ Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Ξεκίνησε από Stavros, 03 Σεπ 2007, 03:50:50 ΜΜ

« προηγούμενο - επόμενο »

gpapargi

#45
Kurt Godel

Ένα μαθηματικό ή φυσικό με μεταπτυχιακά ή διδακτορικό στην πληροφορική τον θεωρώ πληροφορικό. Άλλωστε λόγω του ότι η πληροφορική είναι νέα επιστήμη οι καθηγητές των τμημάτων πληροφορικής ανήκουν σε αυτή την κατηγορία.

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

Όταν μιλάω για διδασκαλία ΑΕΠΠ εννοώ σχολεία. Στα φροντιστήρια και στα ιδιαίτερα ο καθένας κρίνεται από τα αποτελέσματά του. Στο δημόσιο σχολείο όμως πρέπει να υπάρχουν ενιαίοι κανόνες μια που όποιος διοριστεί στην Ελλάδα είναι ακλόνητος.

Πιστεύω ακράδαντα ότι όσοι διόρισαν αυτούς που παραπάνω αναφέρω ως «αλεξιπτωτιστές» δε λειτούργησαν  με βάση κάποια ηθική. Απλά εξυπηρέτησαν συντεχνιακά συμφέροντα.

Να το γιατί:

Κράτησαν έξω τους πληροφορικούς με το επιχείρημα ότι δεν έχουν πάρει παιδαγωγικά μαθήματα. Την ίδια στιγμή διόρισαν άλλες ειδικότητες επειδή η σχολή τους έχει παιδαγωγικά μαθήματα. Το ωραίο είναι σε κάποιες σχολές τα παιδαγωγικά μαθήματα δεν ήταν υποχρεωτικά. Έτσι κάποιος πληροφορικός δεν θεωρήθηκε παιδαγωγικά επαρκής επειδή δεν είχε η σχολή του παιδαγωγικά μαθήματα. Την ίδια στιγμή κάποιος φυσικός θεωρήθηκε παιδαγωγικά επαρκής επειδή η σχολή του είχε παιδαγωγικά μαθήματα κι ας μην τα παρακολουθήσει ποτέ ο ίδιος.

Πέρα από αυτό, το πιο σημαντικό είναι κανείς δεν ασχολήθηκε με την «πληροφορική» επάρκεια των διοριζόμενων. Κανείς δεν αναρωτήθηκε αν έχουν γνώσεις πληροφορικής όλοι αυτοί για να διδάξουν στη Γ λυκείου. Η παιδαγωγική επάρκεια τους άγχωσε.

Εγώ αυτά τα λέω σκάνδαλα.

Την ίδια στιγμή ένας πληροφορικός και ένα φυσικός (μόνο με το πτυχίο τους) γνωρίζουν πολύ καλύτερα μαθηματικά από την πληροφορική που γνωρίζει ένας σκέτος μαθηματικός (μόνο με το πτυχίο του) ειδικά όταν αυτός είναι στα 50 (σαν μερικούς που διορίστηκαν). Ας δει κάποιος τον οδηγό σπουδών ενός φυσικού και ενός πληροφορικού για να δει αυτά που λέω. Παρόλα αυτά ο φυσικός και πληροφορικός είναι αδιανόητο να διδάξει μαθηματικά. Αντίθετα θεωρούμε εντελώς φυσιολογικό το να διδάσκει κάποιος 50ρης σκέτος μαθηματικός πληροφορική.

Τονίζω στα παραπάνω ότι μιλάμε για μέσες συμπεριφορές. Πολλοί έχουν αναφέρει ότι ξέρουν θεολόγους με σεμινάρια που είναι καλύτεροι από πληροφορικούς με πτυχίο. Δεν το αμφισβητώ. Αλλά τα μεμονωμένα παραδείγματα δεν προσφέρονται για ασφαλείς γενικεύσεις.

Θεωρώ λοιπόν ότι όσοι έκαναν τους παραπάνω διορισμούς έκριναν με 2 μέτρα και 2 σταθμά.

Το πώς γεννήθηκε το τμήμα πληροφορικής του πανεπιστημίου Αθηνών, εγώ προσωπικά το ξέρω καλά γιατί ήμουν στην πρώτη χρονιά που μπήκε με εξετάσεις. Θυμάμαι την αντιπάθεια του Ρεσβάνη για το Φιλοκύπρου και τον Καρούμπαλο καθώς κα τις καταλήψεις στα κτίρια ΤΥΠΑ. Ήταν μια κίνηση που έπρεπε να γίνει και που κάποια στιγμή θα γινόταν. Σκέψου ότι σήμερα έχουν φυτρώσει παντού πανεπιστημιακά τμήματα, ΤΕΙ και ΙΕΚ πληροφορικής. Δεν μπορούσε το Καποδιστριακό να μείνει πίσω.

Αλλά κανείς δεν αμφισβητεί την προέλευση και τη σχέση της πληροφορικής με τα μαθηματικά και τη φυσική. Προφανώς από μαθηματικούς και πληροφορικούς γεννήθηκε. Ενώ πολλά σύγχρονα μεγάλα ονόματα προέρχονται από εκεί.
http://en.wikipedia.org/wiki/Donald_Knuth
http://en.wikipedia.org/wiki/Dijkstra

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

Το μόνο το οποίο λέω είναι ότι πριν από λίγα χρόνια, χρησιμοποιήθηκαν 2 μέτρα και 2 σταθμά, καταπάτησαν τα ηθικά δικαιώματα των πληροφορικών και εξυπηρέτησαν συνειδητά  τα συμφέροντα άλλων ειδικοτήτων λόγω του ότι είχαν μεγαλύτερη ισχύ.

Για το Dawkins σαφώς και τον ξέρω πολύ καλά. Πριν από λίγο καιρό τελείωσα τον τυφλό ωρολογοποιό που πραγματεύεται την εξέλιξη. Αυτή τη στιγμή είμαι στη μέση του εγωιστικού γονιδίου. Η «Περί Θεού αυταπάτη» είναι στο ράφι μου και περιμένει τη σειρά της. Μετά μάλλον έχει σειρά το Godel incompleteness theorems του  Raymond Smullyan. Για την ώρα έχω μείνει στα βιβλία γρίφων του τελευταίου λόγω της εκτενούς ενασχόλησης μου με το άθλημα. Ειλικρινά το λέω, νομίζω πως δε διαφωνούμε σε τίποτα.

gpapargi

Παναγιώτη (Τσιωτάκη) το γνωρίζω πολύ καλά το κείμενο που έστειλες. Είναι κάποιο κλασσικό urban legent (μύθος) και κυκλοφορεί εδώ και καιρό.
Είναι μετάφραση του παρακάτω:
http://www.snopes.com/religion/einstein.asp

Θα μπορούσα να απαντήσω σε αυτά που λέει ο υποτιθέμενος φοιτητής αλλά θα πάμε αλλού. Στη μετάφραση πάντως βγάζει μάτι αυτό το «458 βαθμοί κάτω από το μηδέν» που προφανώς δεν υπάρχει αφού στο -273 είναι το απόλυτο μηδέν. Προφανώς το αρχικό κείμενο θα μίλαγε σε Φαρενάιτ.

Ο Einstein πίστευε στο Θεό του Σπινόζα που δεν έχει καμία σχέση με τον δικό μας ιουδαιοχριστιανικό Θεό. Για τον Σπινόζα Θεός ήταν η φύση δηλαδή το σύνολο των φυσικών νόμων. Πχ αν πηδήξω από το κτίριο η βαρύτητα θα με κάνει να πέσω και αυτό είναι κάτι πάνω από τον άνθρωπο. Το σύνολο αυτών των φυσικών νόμων θεωρούσε Θεό ο Σπινόζα υπό την έννοια ότι είναι πάνω από τον άνθρωπο.

Δεν πίστευε δηλαδή σε κάποιο Θεό με βούληση που ασχολείται με τον άνθρωπο. Του έδινε ιδιότητες διαφορετικές από αυτές που του δίνουν οι θρησκείες. Πολλοί χαρακτήριζαν άθεο το Σπινόζα αλλά ο ίδιος δε θεωρούσε τον εαυτό του άθεο. Ουσιαστικά όμως οι ιδιότητες που έδινε στο θεό του ήταν σαφώς πιο κοντά στην αθεΐα παρά σε κάποια θρησκεία. Μόνο η λέξη «Θεός» ήταν η ίδια. Επί της ουσίας διαφωνούσε.

Δυστυχώς εγώ διδάχθηκα θρησκευτικά από την πρώτη δημοτικού μέχρι τη Γ λυκείου (12 χρόνια). Βιολογία διδάχθηκα μόνο στη Γ γυμνασίου. Πρόσφατα διάβασα τον τυφλό ωρολογοποιό του Dawkins. Ήταν η πρώτη φορά που μόλις τελείωσα κάποιο βιβλίο ένιωσα στεναχωρημένος. Πως μπορούν και μας κρύβουν τέτοια πράγματα στο σχολείο;

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

Η επιστήμη δεν είναι ένα σύνολο απόψεων. Είναι μια μέθοδος αναζήτησης της αλήθειας. Σύμφωνα με την επιστημονική μέθοδο για να δεχτείς κάποια άποψη χρειάζεσαι ακλόνητα στοιχεία. Για τα μαθηματικά αυτό το ρόλο τον έχουν οι αποδείξεις. Για τη φυσική αυτό το ρόλο τον έχουν εκτός από τις μαθηματικές αποδείξεις και τα πειράματα. Θεωρία που διαφωνεί με το πείραμα αναθεωρείται. Καμία θεωρία δεν είναι ασφαλής από το πείραμα. Όλα είναι υπό συνεχή αναθεώρηση. Αυτή είναι η ικανότητα αυτοδιόρθωσης που έχει η επιστήμη και είναι το πιο ισχυρό της όπλο.

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

Ο φυσικός στο σχολείο προσπαθεί να εξηγήσει στην επιστημονική μέθοδο στο μαθητή δηλαδή να στηρίζει σε ακλόνητα στοιχεία τις απόψεις του. Τα θρησκευτικά έρχονται λοιπόν και μιλάνε για «αλήθειες» πέρα από κάθε αμφισβήτηση. Υποχρεώνει τον κόσμο να δεχτεί  «θαύματα» που παραβιάζουν τη λογική και τους φυσικούς νόμους. Δεν δίνει κανένα στοιχείο για αυτό. Αντίθετα θεωρεί αμαρτία και βλάσφημη σκέψη κάθε υγιή αμφιβολία που μπορεί να έχει κάποιος. Με απλά λόγια γκρεμίζει αυτό που προσπαθούν να χτίσουν οι θετικές επιστήμες… την αναζήτηση τεκμηρίων για τις απόψεις μας.

Άσε και το άλλο. Αν υπάρχει Θεός, τότε υπάρχει και διάβολος. Τότε υπάρχουν και επικλήσεις στο διάβολο δηλαδή μαύρη μαγεία. Τότε υπάρχουν και μάγοι. Τότε υπάρχουν και άνθρωποι με «άλλες» μεταφυσικές δυνάμεις. Τότε υπάρχουν και αστρολόγοι, μέντιουμ και κεφαντζούδες. Από την ίδια πόρτα που περνάει η θρησκεία, περνάνε και οι αστρολόγοι και οι διάφοροι γραφικοί τύποι που εμφανίζει ο Χαρδαβέλλας στην εκπομπή του κάθε σαββατόβραδο.

Πως μπορώ λοιπόν να απαιτώ από το μαθητή να ζητάει στοιχεία από τους αστρολόγους και τους διάφορους τσαρλατάνους και την ίδια στιγμή να δέχεται χωρίς κανένα στοιχείο ένα κάρο μεταφυσικά πράγματα όπως απαιτεί το ασόβαρο μάθημα των θρησκευτικών; Δεν είναι ίδια μέτρα και σταθμά αυτό!

ʼσε μου σε κάθε χώρα διδάσκονται και διαφορετικά πράγματα στα θρησκευτικά. Όλοι οι μαθητές της γης κάνουν την ίδια φυσική. Στα θρησκευτικά μόνο διδάσκεται ως απόλυτη αλήθεια κάτι που στις υπόλοιπες χώρες θεωρείται παραμυθάκι (γύρω στο 3.5% του πληθυσμού της γης είμαστε χριστιανοί ορθόδοξοι).

Τα παιδιά στο σχολείο θα πρέπει να διδάσκονται βιολογία και εξέλιξη. Τα παιδιά στο σχολείο θα πρέπει να διδάσκονται κάτι από ερασιτεχνική αστρονομία και να βλέπουν από τηλεσκόπιο (έχετε δει ποτέ τους δακτυλίους του Κρόνου από τηλεσκόπιο ερασιτέχνη;)
Αλλά κυρίως τα παιδιά θα πρέπει να διδάσκονται τρόπο σκέψης, την επιστημονική μέθοδο και τον ορθολογισμό/σκεπτικισμό.

Δε νομίζω όμως πως το υπουργείο παιδείας ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ θα επιτρέψει ποτέ κάτι τέτοιο για προφανείς λόγους.   

evry


  Αυτό δεν είναι επιχείρημα, γιατί τότε δεν υπήρχαν τμήματα πληροφορικής. Για δες όμως τώρα όλους τους νέους καθηγητές πληροφορικής. Αυτοί από ποια τμήματα είναι? Κανένας από αυτούς δεν προέρχεται από τμήμα μαθηματικών ή τμήμα φυσικής. Είναι όλοι οι μηχανικοί υπολογιστών ή πληροφορικοί.
   Επίσης κάτι άλλο σχετικά με το ποιος μπορεί να διδάξει τι. Σίγουρα κάποιοι μαθηματικοί μπορούν να διδάξουν πολύ καλά το μάθημα της ΑΕΠΠ, ενώ κάποιοι με πτυχίο πληροφορικής δεν ξέρουν που πάνε τα τέσσερα. Με το ίδιο σκεπτικό όμως μπορώ να σου βρω και εγώ άτομα με απολυτήριο ΤΕΕ ή Λυκείου που ξέρουν πολύ καλά προγραμματισμό και μπορούν να διδάξουν και αυτοί το μάθημα της ΑΕΠΠ. Ποια είναι όμως η ειδοποιός διαφορά μεταξύ τους? Κάθε ένας που έχει σπουδάσει μια επιστήμη έχει σφαιρική γνώση για αυτή. Ένας μαθηματικός με διδακτορικό στην Πολυπλοκότητα και τους Αλγορίθμους ίσως να μπορεί να διδάξει μέχρι κάποιο σημείο το μάθημα της ΑΕΠΠ, έχει όμως τη σφαιρική γνώση που πρέπει να έχει ένας καθηγητής πληροφορικής? Έχει καθίσει να υλοποιήσει έναν compiler? (όχι όπως ο άλκης φυσικά :-) αλλά χρησιμοποιώντας κάποιο εργαλείο έτσι για να πάρει μια γεύση), έχει ασχοληθεί με παραλληλία και κατανεμημένα συστήματα? με αρχιτεκτονική υπολογιστών? με βάσεις δεδομένων? με τεχνητή νοημοσύνη? με εξόρυξη γνώσης? με δίκτυα και τηλεποικοινωνίες? με μηχανές αναζήτησης? με επεξεργασία σήματος και εικόνας? Με γλώσσες προγραμματισμού? C, C++, Prolog, Lisp, ώστε να έχει μια πλήρη εικόνα του τι συμβαίνει?
   Σίγουρα όχι, για αυτό και όλοι αυτοί οι καθηγητές που προανέφερες δεν έχουν σφαιρική γνώση αλλά μόνο εξειδικευμένη γνώση για ένα αντικείμενο. Το ότι ένας μαθηματικός μπορεί να έχει τις γνώσεις για να διδάξει πληροφορική στο Γυμνάσιο ή στο Λύκειο δε σημαίνει ότι μπορεί να πάρει τη θέση κάποιου με βασικές σπουδές πληροφορικής, γιατί με το σκεπτικό αυτό και ένας πληροφορικός μπορεί να διδάξει μαθηματικά σε όλες τις βαθμίδες του Λυκείου, έχει τις γνώσεις. Δε γνωρίζει όμως την επιστήμη των μαθηματικών σφαιρικά.
   
    Δεν το εξετάζω από την πλευρά των επαγγελματικών δικαιωμάτων, άλλωστε εμείς οι πληροφορικοί είμαστε οι μοναδικοί που έχουμε μηδέν επαγγελματικά δικαιώματα. Δε μπορείς όμως να εξισώνεις τα 10-12 μαθήματα ενός μεταπτυχιακού με τα 40 του προπτυχιακού.
    Αν πάμε με το σκεπτικό ότι ένας μαθηματικός μπορεί να διδάξει πληροφορική τότε και άλλες ειδικότητες θα μπορούν να διδάξουν μαθήματα άλλων ειδικοτήτων και θα ανοίξει το κουτί της πανδώρας, όλοι θα διδάσκουν όλα.

   
Παράθεση από: Kurt Godel στις 01 Νοε 2007, 01:43:36 ΠΜ

Ερώτηση: Γνωρίζει κανείς από ποιά τμήματα προήλθαν τα πρώτα μέλη ΔΕΠ του τμήματος Πληροφορικής του Καποδιστριακού ;

Aπάντηση : http://www.di.uoa.gr/gr/info.php

Φιλικά,
Kurt Godel


What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Kurt Godel

Καλό μήνα ! (έστω και με μια μέρα καθυστέρηση)

Απαντώ σε γενικές γραμμές λόγω έλλειψης χρόνου:

α) Συμφωνώ στο ότι η πληροφορική δεν είναι μόνο προγραμματισμός (Τουλάχιστον έτσι φαντάζομαι, δεν γνωρίζω ακριβώς τι είναι πληροφορική και τι όχι). Προφανώς και ένας Μαθηματικός δεν είναι πληροφορικός. Δεν μιλάω όμως γενικά για πληροφορική, αλλά για την ΑΕΠΠ.

β) Ασφαλώς και δεν βρίσκω σωστό να διορίζονται άλλοι κλάδοι ως Πληροφορικοί στα σχολία (ακόμα και Μαθηματικοί με διδακτορικό στην Πληροφορική). Όταν μιλάμε για επαγγέλματα μπαίνει στο τραπέζι το θέμα της επιβίωσης και της ποιότητας ζωής των ανθρώπων. Εδώ δεν γίνονται εκπτώσεις. Δεν μου αρέσει να παίρνω το ψωμί άλλων, όπως δεν μου αρέσει να παίρνουν το δικό μου.
Στη ζούγκλα της παραπαιδείας όμως θα πάρω το ιδιαίτερο από τον Πληροφορικό με την ίδια άνεση που εκείνος πήρε το δικό μου.

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

δ) Το ότι η Πληροφορική του ΕΚΠΑ ιδρύθηκε απο καθηγητές της τότε ΦΜΣ δεν το ανέφερα ώς απόδειξη του ότι θα πρέπει να μας πληρώνετε προστασία, αλλά ως ένδειξη του ότι αν ένας ΦΜΣίτης πραγματικά θέλει μπορεί να μάθει προγραμματισμό.

Συγγνώμη για το τηλεγραφικό μήνυμα, καλό ΣΚ.

Φιλικά,
Kurt Godel

"Δεν υπάρχει βασιλικός δρόμος προς τη Γεωμετρία"  - Ευκλείδης

Stavros

Λοιπόν αποφάσισα τελικά να ανεβάσω κάποιες λύσεις. Κάποιες από αυτές τις λύσεις μπορεί να είναι λάθος αφού τις είχα διορθώσει αλλά δεν είμαι σίγουρος αν αυτά ήταν τα τελικά αρχεία.
Να κατασκευαστεί αλγόριθμος ή πρόγραμμα το οποίο θα κάνει τα ακόλουθα:

i.   Θα διαβάζει τα ονόματα 30 μαθητών και θα τα αποθηκεύει σε κατάλληλο μονοδιάστατο πίνακα.
                              (Μονάδες 1)
ii.   Θα διαβάζει τις απαντήσεις όλων των μαθητών σε 20 ερωτήσεις Σωστού-Λάθους και θα τις καταχωρεί σε κατάλληλο δισδιάστατο πίνακα.                   (Μονάδες 2)

iii.   Θα διαβάζει έναν πίνακα Γ ο οποίος περιέχει τις σωστές απαντήσεις των ερωτήσεων.
                              (Μονάδες 1)
iv.   Με την βοήθεια του πίνακα Γ θα κατασκευάζει έναν μονοδιάστατο πίνακα Δ ο οποίος θα περιέχει τον βαθμό κάθε μαθητή αν γνωρίζουμε ότι κάθε Σωστή απάντηση παίρνει 5 μόρια και κάθε Λάθος αφαιρεί από τον μαθητή 2 μόρια.
                              (Μονάδες 6)
v.   Να υπολογίζει τον μέσο όρο της τάξης και να εμφανίζει το όνομα του μαθητή του οποίου ο βαθμός είναι πιο κοντά στο μέσο όρο της τάξης
                              (Μονάδες 6)
                           
vi.   Να εμφανίζει μήνυμα για το αν υπάρχει ή όχι μαθητής ή μαθητές που να έπιασε το άριστα (100) καθώς και το όνομά  ή τα ονόματά τους.


ΠΡΟΓΡΑΜΜΑ ΣΩΣΤΟ_ΛΑΘΟΣ 
ΜΕΤΑΒΛΗΤΕΣ 
  ΑΚΕΡΑΙΕΣ: Ι, Κ, ΒΑΘΜΟΣ[30], ΑΘΡΟΙΣΜΑ, Λ, πρόχειρο_β 
  ΠΡΑΓΜΑΤΙΚΕΣ: Μ_Ο, ΔΙΑΦΟΡΑ[30], πρόχειρο 
  ΧΑΡΑΚΤΗΡΕΣ: ΟΝΟΜΑ[30], ΑΠΑΝΤΗΣΗ[30, 20], ΣΩΣΤΗ_ΑΠΑΝΤΗΣΗ[20], ΠΡΟΧΕΙΡΟ_Ο 
  ΛΟΓΙΚΕΣ: βρέθηκε 
ΑΡΧΗ 
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 30 ΜΕ_ΒΗΜΑ 1 
    ΓΡΑΨΕ 'Δώσε το όνομα του ', Ι, 'ου μαθητή' 
    ΔΙΑΒΑΣΕ ΟΝΟΜΑ[Ι] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 30 ΜΕ_ΒΗΜΑ 1 
    ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 20 ΜΕ_ΒΗΜΑ 1 
      ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ 
        ΓΡΑΨΕ 'Δώσε την απάντηση του ', Ι, 'ου μαθητή στην ', Κ, 'η ερώτηση' 
        ΔΙΑΒΑΣΕ ΑΠΑΝΤΗΣΗ[Ι, Κ] 
      ΜΕΧΡΙΣ_ΟΤΟΥ ΑΠΑΝΤΗΣΗ[Ι, Κ] = 'Σωστό' Η ΑΠΑΝΤΗΣΗ[Ι, Κ] = 'Λάθος' 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 20 ΜΕ_ΒΗΜΑ 1 
    ΓΡΑΨΕ 'Δώσε την απάντηση της', Κ, 'ης ερώτησης' 
    ΔΙΑΒΑΣΕ ΣΩΣΤΗ_ΑΠΑΝΤΗΣΗ[Κ] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 30 ΜΕ_ΒΗΜΑ 1 
    ΒΑΘΜΟΣ[Ι] <- 0 
    ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 20 ΜΕ_ΒΗΜΑ 1 
      ΑΝ ΑΠΑΝΤΗΣΗ[Ι, Κ] = ΣΩΣΤΗ_ΑΠΑΝΤΗΣΗ[Κ] ΤΟΤΕ 
        ΒΑΘΜΟΣ[Ι] <- ΒΑΘΜΟΣ[Ι] + 5 
      ΑΛΛΙΩΣ 
        ΒΑΘΜΟΣ[Ι] <- ΒΑΘΜΟΣ[Ι] - 2 
      ΤΕΛΟΣ_ΑΝ 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 30 ΜΕ_ΒΗΜΑ 1 
    ΓΡΑΨΕ 'Ο μαθητής ', Ι, ' παίρνει ', ΒΑΘΜΟΣ[Ι] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΑΘΡΟΙΣΜΑ <- 0 
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 30 ΜΕ_ΒΗΜΑ 1 
    ΑΘΡΟΙΣΜΑ <- ΑΘΡΟΙΣΜΑ + ΒΑΘΜΟΣ[Ι] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  Μ_Ο <- ΑΘΡΟΙΣΜΑ/30 
  ΓΡΑΨΕ 'Το μέσο όρο της τάξης είναι: ', Μ_Ο 
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 30 ΜΕ_ΒΗΜΑ 1 
    ΔΙΑΦΟΡΑ[Ι] <- ΒΑΘΜΟΣ[Ι] - Μ_Ο 
    ΑΝ ΔΙΑΦΟΡΑ[Ι] < 0 ΤΟΤΕ 
      ΔΙΑΦΟΡΑ[Ι] <- ΔΙΑΦΟΡΑ[Ι]*(-1) 
    ΤΕΛΟΣ_ΑΝ 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΓΙΑ Ι ΑΠΟ 30 ΜΕΧΡΙ 2 ΜΕ_ΒΗΜΑ -1 
    ΑΝ ΔΙΑΦΟΡΑ[Ι] <= ΔΙΑΦΟΡΑ[Ι - 1] ΤΟΤΕ 
      πρόχειρο <- ΔΙΑΦΟΡΑ[Ι] 
      ΔΙΑΦΟΡΑ[Ι] <- ΔΙΑΦΟΡΑ[Ι - 1] 
      ΔΙΑΦΟΡΑ[Ι - 1] <- πρόχειρο 
      
      ΠΡΟΧΕΙΡΟ_Ο <- ΟΝΟΜΑ[Ι] 
      ΟΝΟΜΑ[Ι] <- ΟΝΟΜΑ[Ι - 1] 
      ΟΝΟΜΑ[Ι - 1] <- ΠΡΟΧΕΙΡΟ_Ο 
      
      πρόχειρο_β <- ΒΑΘΜΟΣ[Ι] 
      ΒΑΘΜΟΣ[Ι] <- ΒΑΘΜΟΣ[Ι - 1] 
      ΒΑΘΜΟΣ[Ι - 1] <- πρόχειρο_β 
    ΤΕΛΟΣ_ΑΝ 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  Λ <- 0 
  βρέθηκε <- ΨΕΥΔΗΣ 
  ΟΣΟ Ι <= 30 ΚΑΙ βρέθηκε = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ 
    ΑΝ ΔΙΑΦΟΡΑ[Ι] <> ΔΙΑΦΟΡΑ[Ι + 1] ΤΟΤΕ 
      Λ <- Λ + 1 
      βρέθηκε <- ΑΛΗΘΗΣ 
    ΤΕΛΟΣ_ΑΝ 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΓΡΑΨΕ 'Ο/Οι μαθητές που είναι πιο κοντά από όλους στον μέσο όρο είναι ο/οι εξής' 
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Λ ΜΕ_ΒΗΜΑ 1 
    ΓΡΑΨΕ ΟΝΟΜΑ[Ι], 'με βαθμό: ', ΒΑΘΜΟΣ[Ι] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΓΡΑΨΕ 'Μιας και ο μέσος όρος όπως είπαμε είναι: ', Μ_Ο 
  Λ <- 0 
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 30 ΜΕ_ΒΗΜΑ 1 
    ΑΝ ΒΑΘΜΟΣ[Ι] = 100 ΤΟΤΕ 
      Λ <- Λ + 1 
    ΤΕΛΟΣ_ΑΝ 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΑΝ Λ = 0 ΤΟΤΕ 
    ΓΡΑΨΕ 'Δεν υπάρχουν μαθητές που να έχουν βαθμολογία 100' 
  ΑΛΛΙΩΣ 
    ΓΡΑΨΕ 'υπάρχουν μαθητές που έχουν βαθμολογία 100 και ο αριθμός τους είναι: ', Λ 
    ΑΝ Λ = 1 ΤΟΤΕ 
      ΓΡΑΨΕ 'Το όνομά του/της είναι ' 
    ΑΛΛΙΩΣ 
      ΓΡΑΨΕ 'Τα ονόματά τους είναι ' 
    ΤΕΛΟΣ_ΑΝ 
    ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 30 ΜΕ_ΒΗΜΑ 1 
      ΑΝ ΒΑΘΜΟΣ[Ι] = 100 ΤΟΤΕ 
        ΓΡΑΨΕ ΟΝΟΜΑ[Ι] 
      ΤΕΛΟΣ_ΑΝ 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΤΕΛΟΣ_ΑΝ 
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


Άλλο: Η αρμόδια επιτροπή του Υπουργείου Υγείας διενεργεί έρευνα σε 20 ορνιθοτροφεία της ευρύτερης περιοχής της Αττικής τα οποία έχουν 300 πουλερικά το καθένα.
Δίνεται μονοδιάστατος πίνακας Ο[20]στον οποίο είναι καταχωρισμένα τα ονόματα των ορνιθοτροφείων
Επίσης δίνεται δισδιάστατος πίνακας Υ[20,300] στον οποίο είναι καταχωρισμένη η κατάσταση υγείας των πουλερικών. Αν το πουλερικό πάσχει από τη νόσο τότε στον πίνακα  η τιμή είναι Αληθής,. σε διαφορετική περίπτωση η τιμή είναι ψευδής.

Να γίνει αλγόριθμος ο οποίος, δεδομένων των παραπάνω πινάκων:

α) Θα υπολογίζει και θα εμφανίζει το όνομα κάθε ορνιθοτροφείου και το αντίστοιχο ποσοστό των άρρωστων πουλερικών
(Μονάδες 8)

β) Στη συνέχεια, αν το ποσοστό των άρρωστων πουλερικών είναι 0 να εμφανίζει μήνυμα 'Δεν υπάρχει κρούσμα της νόσου'. Αν το ποσοστό είναι κάτω από 30 % και όχι 0 % τότε να εμφανίζεται μήνυμα 'πρέπει να κληθεί ανώτερο κλιμάκιο υγείας'. Σε περίπτωση που το ποσοστό είναι πάνω από 50 % τότε το μήνυμα που θα εμφανίζεται είναι 'Το ορνιθοτροφείο πρέπει να κλείσει άμεσα'.
(Μονάδες 6)

γ)Να εμφανίζει τα ονόματα των 5 ορνιθοτροφείων με τα υψηλότερα ποσοστά άρρωστων πουλερικών.

ΠΡΟΓΡΑΜΜΑ ΕΥ
ΜΕΤΑΒΛΗΤΕΣ
  ΧΑΡΑΚΤΗΡΕΣ: Ο[3], προχειρο_Ο , Υ[3,5]
  ΑΚΕΡΑΙΕΣ: Ι, Π[3], Κ
  ΠΡΑΓΜΑΤΙΚΕΣ: Τ[3], πρόχειρο
  ΛΟΓΙΚΕΣ: ΠΡ[3,5]
ΑΡΧΗ
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 3 ΜΕ_ΒΗΜΑ 1
    ΓΡΑΨΕ 'Δώσε το όνομα του ' ,Ι,'ου ορνιθοτροφείου'
    ΔΙΑΒΑΣΕ Ο[Ι]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ


  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 3 ΜΕ_ΒΗΜΑ 1
    Π[Ι] <- 0
    ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 5 ΜΕ_ΒΗΜΑ 1
      ΓΡΑΨΕ 'Πείτε αν πάσχει το ',Κ,'ο πουλερικό από το ',Ι,'ο ορνιθοτροφείο'
      ΔΙΑΒΑΣΕ Υ[Ι, Κ]
      ΑΝ Υ[Ι,Κ]='ναι' ΤΟΤΕ
        ΠΡ[Ι,Κ] <- ΑΛΗΘΗΣ
        Π[Ι] <- Π[Ι]+1
      ΑΛΛΙΩΣ
        ΠΡ[Ι,Κ] <- ΑΛΗΘΗΣ
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 3
    Τ[Ι] <- (Π[Ι]*100)/5
    ΓΡΑΨΕ 'ΤΟ ', Ο[Ι],' έχει ποσοστό άρρωστων πουλερικών:', Τ[Ι]
    ΑΝ Τ[Ι]= 0 ΤΟΤΕ
      ΓΡΑΨΕ 'Δεν υπάρχει κρούσμα νόσου'
    ΑΛΛΙΩΣ_ΑΝ Τ[Ι] < 30 ΤΟΤΕ
      ΓΡΑΨΕ 'πρέπει να κλειθεί ανώτερο κλιμάκειο υγείας'
    ΑΛΛΙΩΣ_ΑΝ Τ[Ι] > 50 ΤΟΤΕ
      ΓΡΑΨΕ 'Το ορνιθοτροφείο πρέπει να κλείσει άμεσα'
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ Ι ΑΠΟ 3 ΜΕΧΡΙ 2 ΜΕ_ΒΗΜΑ -1
    ΑΝ Τ[Ι] > Τ[Ι-1] ΤΟΤΕ
      πρόχειρο <- Τ[Ι]
      Τ[Ι] <- Τ[Ι-1]
      Τ[Ι-1] <- πρόχειρο

      προχειρο_Ο <- Ο[Ι]
      Ο[Ι] <- Ο[Ι-1]
      Ο[Ι-1] <- προχειρο_Ο
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ 'Τα 5 μεγαλύτερα κρούσματα άρρωστων πουλερικών εμφανίζονται στα εξής ορνιθοτροφεία'
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 2 ΜΕ_ΒΗΜΑ 1
    ΓΡΑΨΕ Ο[Ι]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


Σε ένα δισκοπωλείο έχει εγκατασταθεί ένα πρόγραμμα το οποίο εκτελεί τις εξής λειτουργίες :

a.   Καταγράφει τους 100 τίτλους των CD’s  που βρίσκονται σε προσφορά για μία εβδομάδα, καθώς και τις αρχικές τους τιμές. Το ποσοστό της έκπτωσης είναι 50%.      

b.   Ζητάει από τον πελάτη να δηλώσει τους τίτλους των CD’s  που θέλει να αγοράσει. Ο πελάτης μπορεί να δηλώσει μέχρι και 3 τίτλους.      
         
c.   Ενημερώνει τον πελάτη για το πόσοι τίτλοι από αυτούς που δήλωσε ανήκουν στους τίτλους που βρίσκονται σε προσφορά. Επίσης τον ενημερώνει για το ποιοι είναι αυτοί οι τίτλοι και ποια η τιμή τους με την  έκπτωση, στην περίπτωση που υπάρχουν.       

Να γράψετε τον αλγόριθμο που υλοποιεί την παραπάνω λειτουργία  .   


ΠΡΟΓΡΑΜΜΑ ΨΔ
ΜΕΤΑΒΛΗΤΕΣ 
  ΑΚΕΡΑΙΕΣ: Ι, ΕΠΙΛΟΓΗ, Κ, Π, θέση[3] 
  ΠΡΑΓΜΑΤΙΚΕΣ: ΑΡΧΙΚΗ_ΤΙΜΗ[5], ΠΟΣΟΣΤΟ_ΕΚ 
  ΧΑΡΑΚΤΗΡΕΣ: ΟΝΟΜΑ[5], ΟΝΟΜΑ_CD_Π[3] 
ΑΡΧΗ 
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 5 ΜΕ_ΒΗΜΑ 1 
    ΓΡΑΨΕ 'Δώσε το όνομα από το ', Ι, 'ο CD που είναι σε προσφορά' 
    ΔΙΑΒΑΣΕ ΟΝΟΜΑ[Ι] 
    ΓΡΑΨΕ 'Δώσε την αρχική τιμή του CD' 
    ΔΙΑΒΑΣΕ ΑΡΧΙΚΗ_ΤΙΜΗ[Ι] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΠΟΣΟΣΤΟ_ΕΚ <- (50/100) 
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ 
    ΓΡΑΨΕ 'Πόσα CD θέλετε να αγοράσετε >=1 και <=3' 
    ΔΙΑΒΑΣΕ ΕΠΙΛΟΓΗ 
  ΜΕΧΡΙΣ_ΟΤΟΥ ΕΠΙΛΟΓΗ = 1 Η ΕΠΙΛΟΓΗ = 2 Η ΕΠΙΛΟΓΗ = 3 
  ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ ΕΠΙΛΟΓΗ ΜΕ_ΒΗΜΑ 1 
    ΓΡΑΨΕ 'Ποιο είναι το όνομα του CD που θέλετε να αγοράσετε' 
    ΔΙΑΒΑΣΕ ΟΝΟΜΑ_CD_Π[Κ] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  Ι <- 1 
  Π <- 0 
  ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ ΕΠΙΛΟΓΗ ΜΕ_ΒΗΜΑ 1 
    ΟΣΟ Ι <= 5 ΕΠΑΝΑΛΑΒΕ 
      ΑΝ ΟΝΟΜΑ_CD_Π[Κ] = ΟΝΟΜΑ[Ι] ΤΟΤΕ 
        θέση[Κ] <- Ι 
        Π <- Π + 1 
        Ι <- Ι + 1 
      ΑΛΛΙΩΣ 
        Ι <- Ι + 1 
      ΤΕΛΟΣ_ΑΝ 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΓΡΑΨΕ 'Από τους τίτλους που διαλέξατε υπάρχουν ', Π, ' σε προσφορά' 
  ΓΡΑΨΕ 'Οι τίτλοι που διαλέξατε που έχουν προσφορά είναι οι εξής:' 
  ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ Π ΜΕ_ΒΗΜΑ 1 
    ΓΡΑΨΕ 'ΟΝΟΜΑ:', ΟΝΟΜΑ[θέση[Κ]] 
    ΓΡΑΨΕ 'ΑΡΧΙΚΗ_ΤΙΜΗ:', ΑΡΧΙΚΗ_ΤΙΜΗ[θέση[Κ]] 
    ΓΡΑΨΕ 'ΤΕΛΙΚΗ_ΤΙΜΗ:', ΑΡΧΙΚΗ_ΤΙΜΗ[θέση[Κ]] - (ΑΡΧΙΚΗ_ΤΙΜΗ[θέση[Κ]]*ΠΟΣΟΣΤΟ_ΕΚ) 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


Τα αποτελέσματα των αγώνων του Eurobasket (νίκη ή ήττα) καθώς και η διαφορά πόντων για τον όμιλο που ήταν και η Εθνική μας περιέχονται στους παρακάτω πίνακες:
   Τα ονόματα των ομάδων σε μονοδιάστατο πίνακα ΟΝ[6]
   Τον χαρακτηρισμό κάθε αγώνα (″Ν″ ή ″Η″) σε δισδιάστατο πίνακα Α[6,6]
   Τη διαφορά πόντων κάθε αγώνα σε δισδιάστατο πίνακα Π[6,6]
Να γραφεί πρόγραμμα που διαβάζει τα δεδομένα στους παραπάνω πίνακες και εκτυπώνει τη τελική βαθμολογία του ομίλου (ονόματα και βαθμούς) ξεκινώντας από τον καλύτερο
Σημείωση: Σε περίπτωση ισοβαθμίας προηγείται η ομάδα που έχει την καλύτερη διαφορά πόντων από τις ισόβαθμες. Αν έχουν την ίδια διαφορά πόντων, τότε η κατάταξη γίνεται ονομαστικά.
Για παράδειγμα οι πίνακες θα έχουν τη μορφή
ΠΙΝΑΚΑΣ Α   Γερμανία   Ελλάδα   Σερβία   Ιταλία   Ρωσία   Γαλλία
Γερμανία                  
Ελλάδα   Ν               
Σερβία   Η   Η            
Ιταλία   Ν   Ν   Η         
Ρωσία   Η   Η   Η   Ν      
Γαλλία   Ν   Ν   Ν   Ν   Η   

ΠΙΝΑΚΑΣ Π   Γερμανία   Ελλάδα   Σερβία   Ιταλία   Ρωσία   Γαλλία
Γερμανία                  
Ελλάδα   5               
Σερβία   6   7            
Ιταλία   3   4   8         
Ρωσία   8   6   9   9      
Γαλλία   1   8   2   2   7   

ΠΙΝΑΚΑΣ ΟΝ   Γερμανία   Ελλάδα   Σερβία   Ιταλία   Ρωσία   Γαλλία

Κάθε κελί αντιστοιχεί σε έναν αγώνα μεταξύ της ομάδας που αντιστοιχεί στη γραμμή και της ομάδας που αντιστοιχεί στη στήλη.
Το αποτέλεσμα ″Ν″ ή ″Η″ σημαίνει ότι η ομάδα που αντιστοιχεί στη γραμμή νίκησε ή αντίστοιχα έχασε από την ομάδα που αντιστοιχεί στη στήλη. Ο αριθμός δείχνει τη διαφορά πόντων. Π.χ. η Ελλάδα νίκησε τη Γερμανία με 5 πόντους διαφορά ενώ η Σερβία ηττήθηκε από την Ελλάδα με 7 πόντους διαφορά.
Τα στοιχεία της κύριας διαγωνίου δεν περιέχουν καμία πληροφορία αφού καμία ομάδα δεν παίζει με τον εαυτό της.
Ο πίνακας περιέχει στοιχεία μόνο κάτω από τη διαγώνιό του, είναι δηλαδή τετραγωνικός.
Για κάθε αγώνα η νικήτρια ομάδα παίρνει 2 βαθμούς και η ηττημένη 1 βαθμό.

Παρατηρήσεις: Πρώτον δεν ήξερα για διαγώνιους και το έκανα κάπως περίεργα. Αλήθεια θα ήθελα κάποιος να μου πει πως ασ` πούμε δηλώνουμε μία διαγώνιο του πίνακα σε έναν άλλο μονοδιάστατο πίνακα
Δεύτερον υπάρχει ένα λάθος που είδα, ότι δηλαδή προς το τέλος ψάχνει μόνο για να βρει αν υπάρχει ισοβαθμία στην αρχή και όχι σε όλον τον πίνακα(κι αυτό γιατί έτσι νόμιζα στην αρχή αλλά μετά δεν ήθελα να το αλλάξω)
ΠΡΟΓΡΑΜΜΑ ΕΥΡΩΜΠΑΣΚΕΤ 
ΜΕΤΑΒΛΗΤΕΣ 
  ΑΚΕΡΑΙΕΣ: Ι, Κ, Π[6, 6], ΠΑ[6], πρόχειρο, Χ, ΑΘΡ[6], Ψ 
  ΧΑΡΑΚΤΗΡΕΣ: Ον[6], Α[6, 6], πρ_ο 
  ΛΟΓΙΚΕΣ: βρέθηκε 
ΑΡΧΗ 
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 6 ΜΕ_ΒΗΜΑ 1 
    ΓΡΑΨΕ 'Δώσε το όνομα της ', Ι, 'ης ομάδας' 
    ΔΙΑΒΑΣΕ Ον[Ι] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 6 
    ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 6 
      ΑΝ Ι <> Κ ΚΑΙ Ι + 1 <> Κ ΚΑΙ Ι + 2 <> Κ ΚΑΙ Ι + 3 <> Κ ΚΑΙ Ι + 4 <> Κ ΚΑΙ Ι + 5 <> Κ ΤΟΤΕ 
        ΓΡΑΨΕ 'Δώσε το αποτέλεσμα του παιχνιδιού ', Ον[Ι], ' εναντίον της ομάδας ', Ον[Κ] 
        ΔΙΑΒΑΣΕ Α[Ι, Κ] 
      ΑΛΛΙΩΣ 
        Α[Ι, Κ] <- '-' 
      ΤΕΛΟΣ_ΑΝ 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 6 
    ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 6 
      ΑΝ Ι <> Κ ΚΑΙ Ι + 1 <> Κ ΚΑΙ Ι + 2 <> Κ ΚΑΙ Ι + 3 <> Κ ΚΑΙ Ι + 4 <> Κ ΚΑΙ Ι + 5 <> Κ ΤΟΤΕ 
        ΓΡΑΨΕ 'Δώσε την διαφορά στο παιχνίδι ', Ον[Ι], ' εναντίων ', Ον[Κ] 
        ΔΙΑΒΑΣΕ Π[Ι, Κ] 
      ΑΛΛΙΩΣ 
        Π[Ι, Κ] <- 0 
      ΤΕΛΟΣ_ΑΝ 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 6 
    ΠΑ[Ι] <- 0 
    ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 6 
      ΑΝ Α[Ι, Κ] = 'Ν' ΤΟΤΕ 
        ΠΑ[Ι] <- ΠΑ[Ι] + 2 
      ΑΛΛΙΩΣ 
        ΠΑ[Ι] <- ΠΑ[Ι] + 1 
      ΤΕΛΟΣ_ΑΝ 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΓΙΑ Κ ΑΠΟ 2 ΜΕΧΡΙ 6 
    ΓΙΑ Ι ΑΠΟ 6 ΜΕΧΡΙ Κ ΜΕ_ΒΗΜΑ -1 
      ΑΝ ΠΑ[Ι] > ΠΑ[Ι - 1] ΤΟΤΕ 
        πρόχειρο <- ΠΑ[Ι] 
        ΠΑ[Ι] <- ΠΑ[Ι - 1] 
        ΠΑ[Ι - 1] <- πρόχειρο 
        
        πρ_ο <- Ον[Ι] 
        Ον[Ι] <- Ον[Ι - 1] 
        Ον[Ι - 1] <- πρ_ο 
      ΤΕΛΟΣ_ΑΝ 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  Χ <- 1 
  βρέθηκε <- ΨΕΥΔΗΣ 
  Ι <- 1 
  ΟΣΟ Ι <= 5 ΚΑΙ βρέθηκε = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ 
    ΑΝ ΠΑ[Ι] = ΠΑ[Ι + 1] ΤΟΤΕ 
      Χ <- Χ + 1 
      βρέθηκε <- ΑΛΗΘΗΣ 
    ΤΕΛΟΣ_ΑΝ 
    Ι <- Ι + 1 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΑΝ Χ = 1 ΤΟΤΕ 
    ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 6 
      ΓΡΑΨΕ Ι, 'ος: ', Ον[Ι], ' με ', ΠΑ[Ι], ' βαθμούς' 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΑΛΛΙΩΣ 
    ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 6 
      ΑΘΡ[Ι] <- 0 
      ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 6 
        ΑΘΡ[Ι] <- ΑΘΡ[Ι] + Π[Ι, Κ] 
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
    ΓΙΑ Κ ΑΠΟ 2 ΜΕΧΡΙ Χ 
      ΓΙΑ Ι ΑΠΟ Χ ΜΕΧΡΙ 2 ΜΕ_ΒΗΜΑ-1 
        ΑΝ ΠΑ[Ι] > ΠΑ[Ι - 1] ΤΟΤΕ 
          πρόχειρο <- ΠΑ[Ι] 
          ΠΑ[Ι] <- ΠΑ[Ι - 1] 
          ΠΑ[Ι - 1] <- πρόχειρο 
          
          πρ_ο <- Ον[Ι] 
          Ον[Ι] <- Ον[Ι - 1] 
          Ον[Ι - 1] <- πρ_ο 
        ΤΕΛΟΣ_ΑΝ 
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
    Ψ <- 1 
    βρέθηκε <- ΨΕΥΔΗΣ 
    Ι <- 1 
    ΟΣΟ Ι <= Χ ΚΑΙ βρέθηκε = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ 
      ΑΝ ΠΑ[Ι] = ΠΑ[Ι + 1] ΤΟΤΕ 
        Ψ <- Ψ + 1 
        βρέθηκε <- ΑΛΗΘΗΣ 
      ΑΛΛΙΩΣ 
        Ι <- Ι + 1 
      ΤΕΛΟΣ_ΑΝ 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
    ΑΝ Ψ = 1 ΤΟΤΕ 
      ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 6 
        ΓΡΑΨΕ Ι, 'ος: ', Ον[Ι], ' με ', ΠΑ[Ι], ' βαθμούς' 
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
    ΑΛΛΙΩΣ 
      ΓΙΑ Κ ΑΠΟ 2 ΜΕΧΡΙ Ψ 
        ΓΙΑ Ι ΑΠΟ Ψ ΜΕΧΡΙ 2 ΜΕ_ΒΗΜΑ-1 
          ΑΝ Ον[Ι] > Ον[Ι - 1] ΤΟΤΕ 
            πρόχειρο <- ΠΑ[Ι] 
            ΠΑ[Ι] <- ΠΑ[Ι - 1] 
            ΠΑ[Ι - 1] <- πρόχειρο 
            
            πρ_ο <- Ον[Ι] 
            Ον[Ι] <- Ον[Ι - 1] 
            Ον[Ι - 1] <- πρ_ο 
          ΤΕΛΟΣ_ΑΝ 
        ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
      ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 6 
        ΓΡΑΨΕ Ι, 'ος: ', Ον[Ι], ' με ', ΠΑ[Ι], ' βαθμούς' 
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
    ΤΕΛΟΣ_ΑΝ 
  ΤΕΛΟΣ_ΑΝ 
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


Και το τελευταίο  ::)
Έχασα την εκφώνηση αλλά νομίζω είναι ένα πρόσφατο πρόγραμμα που ανέβασε κάποιος:

ΠΡΟΓΡΑΜΜΑ ΤΟΞΟΒΟΛΙΑ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Ι, Κ
  ΧΑΡΑΚΤΗΡΕΣ: ΟΝΟΜΑ[10], προχ_ο
  ΠΡΑΓΜΑΤΙΚΕΣ: ΒΑΘΜΟΛΟΓΙΑ[10,5], ΜΕΓ[10], ΕΛΑΧ[10], προχ, ΣΥΝΟΛΟ[10]
ΑΡΧΗ
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10 ΜΕ_ΒΗΜΑ 1
    ΓΡΑΨΕ 'Δώσε το όνομα του ', Ι,'ου διαγωνιζόμενου'
    ΔΙΑΒΑΣΕ ΟΝΟΜΑ[Ι]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10
    ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 5
      ΓΡΑΨΕ 'Δώσε τη βαθμολογία του ', Ι,'ου διαγωνιζόμενου στην ', Κ,'η βολή'
      ΔΙΑΒΑΣΕ ΒΑΘΜΟΛΟΓΙΑ[Ι,Κ]
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ 10
    ΓΙΑ Κ ΑΠΟ 5 ΜΕΧΡΙ 2 ΜΕ_ΒΗΜΑ -1
      ΑΝ ΒΑΘΜΟΛΟΓΙΑ[Ι,Κ] > ΒΑΘΜΟΛΟΓΙΑ[Ι,Κ-1] ΤΟΤΕ
        προχ <- ΒΑΘΜΟΛΟΓΙΑ[Ι,Κ]
        ΒΑΘΜΟΛΟΓΙΑ[Ι,Κ] <- ΒΑΘΜΟΛΟΓΙΑ[Ι,Κ-1]
        ΒΑΘΜΟΛΟΓΙΑ[Ι,Κ-1] <- προχ

        προχ_ο <- ΟΝΟΜΑ[Κ]
        ΟΝΟΜΑ[Κ] <- ΟΝΟΜΑ[Κ-1]
        ΟΝΟΜΑ[Κ-1] <- προχ_ο
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
     ΜΕΓ[Ι] <- ΒΑΘΜΟΛΟΓΙΑ[Ι,1]
    ΕΛΑΧ[Ι] <- ΒΑΘΜΟΛΟΓΙΑ[Ι,5]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 ! Δεν το είχα σκεφτεί
  ΜΕΓ[1] <- ΒΑΘΜΟΛΟΓΙΑ[1,1]
  ΕΛΑΧ[1] <- ΒΑΘΜΟΛΟΓΙΑ[1,5]
 ! --------------------------
  ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 10
    ΣΥΝΟΛΟ[Κ] <- 0
    ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 5
      ΑΝ ΒΑΘΜΟΛΟΓΙΑ[Κ,Ι]=ΜΕΓ[Κ] Η ΒΑΘΜΟΛΟΓΙΑ[Κ,Ι]=ΕΛΑΧ[Κ] ΤΟΤΕ
        ΣΥΝΟΛΟ[Κ] <- ΣΥΝΟΛΟ[Κ]+0
      ΑΛΛΙΩΣ
        ΣΥΝΟΛΟ[Κ] <- ΣΥΝΟΛΟ[Κ]+ΒΑΘΜΟΛΟΓΙΑ[Κ,Ι]
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ Κ ΑΠΟ 2 ΜΕΧΡΙ 10
    ΓΙΑ Ι ΑΠΟ 10 ΜΕΧΡΙ Κ ΜΕ_ΒΗΜΑ -1
      ΑΝ ΣΥΝΟΛΟ[Ι] >= ΣΥΝΟΛΟ[Ι-1] ΤΟΤΕ
        προχ <- ΣΥΝΟΛΟ[Ι]
        ΣΥΝΟΛΟ[Ι] <- ΣΥΝΟΛΟ[Ι-1]
        ΣΥΝΟΛΟ[Ι-1] <- προχ

        προχ_ο <- ΟΝΟΜΑ[Ι]
        ΟΝΟΜΑ[Ι] <- ΟΝΟΜΑ[Ι-1]
        ΟΝΟΜΑ[Ι-1] <- προχ_ο
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ Κ ΑΠΟ 9 ΜΕΧΡΙ 1 ΜΕ_ΒΗΜΑ -1
    ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Κ
      ΑΝ ΣΥΝΟΛΟ[Ι]=ΣΥΝΟΛΟ[Ι+1] ΤΟΤΕ
        ΑΝ ΟΝΟΜΑ[Ι] >= ΟΝΟΜΑ[Ι+1] ΤΟΤΕ
          προχ_ο <- ΟΝΟΜΑ[Ι]
          ΟΝΟΜΑ[Ι] <- ΟΝΟΜΑ[Ι+1]
          ΟΝΟΜΑ[Ι+1] <- προχ_ο

          προχ <- ΣΥΝΟΛΟ[Ι]
          ΣΥΝΟΛΟ[Ι] <- ΣΥΝΟΛΟ[Ι+1]
          ΣΥΝΟΛΟ[Ι+1] <- προχ
        ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10
    ΓΡΑΨΕ 'Το όνομα: ',ΟΝΟΜΑ[Ι], ' έχει ', ΣΥΝΟΛΟ[Ι],' βαθμούς'
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


Τέλος θέλω να σας δείξω ένα που μου φαίνεται περίεργο:

Σε έναν μονοδιάστατο πίνακα Α είναι καταχωρημένοι 100 ακέραιοι αριθμοί και σε έναν δεύτερο πίνακα Β είναι καταχωρημένοι 200 ακέραιοι αριθμοί. Να γίνει αλγόριθμος ο οποίος:
A.   Θα υπολογίζει και θα εμφανίζει το πλήθος των διαφορετικών αριθμών που υπάρχουν σε κάθε πίνακα ξεχωριστά
B.   Θα εμφανίζει το πλήθος των διαφορετικών αριθμών που εμφανίζονται μόνο στον έναν από τους δυο πίνακες, δηλαδή αυτούς που εμφανίζονται μόνο στον Α ή μόνο στον Β.
Να θεωρήσετε τους πίνακες Α, Β δεδομένους. Να μη γίνει εισαγωγή των στοιχείων τους.

Καλά, ακριβώς το ίδιο δε ζητάει στα δύο ερωτήματα;;;;; πως λύνεται;;;;
Stavros
3ετής φοιτητής πληροφορικής


Το νέο φοιτητικό site
www.universitas.gr
www.csforces.gr/forums
All about computers!!!
Join us!!!!

gpapargi

Σταύρο δεν σε έχουμε ξεχάσει, απλά έχουμε μπλέξει με τα 2 διαγωνίσματα (επανάληψης και επαναληπτικό στα κεφάλαια 1-2) που δημοσιοποιούνται από μέρα σε μέρα. Μόλις ξεμπερδέψουμε με αυτά θα σου δώσουμε απάντηση.

Ωστόσο να μπορεί κάποιος και έχει χρόνο, ας απαντήσει στο παιδί (έστω και σε κάποιες από τις ερωτήσεις).

joyjohnnickname

Σταύρο, το πρώτο ερώτημα ζητάει να βρείς πόσοι διαφορετικοί αριθμοί υπάρχουν στον Α και πόσοι στον Β. Στο δεύτερο ερώτημα ζητάει πόσοι είναι οι διαφορετικοί αριθμοι στον Α, τους οποίους δεν έχει ο Β. Μέχρι στιγμής έχω λύσει μόνο το πρώτο, τώρα θα πάω στο 2ο. Μας το έβαλε η καθηγήτρια για το σπίτι. (Ξέρω ότι το forum είναι μόνο για καθηγητές αλλα δεν μπορούσα να αντισταθώ :P)

Αν έχει γίνει λάθος στον παρακάτω κώδικα συγχωρέστε με... Νομίζω πάντως πως λειτουργεί. Είναι μόνο το πρώτο ερώτημα

Αλγόριθμος θέμα_3ο
//δεδομένα Α, Β// !πίνακες Α[100], Β[200] με καταχωρημένους ακέραιους               
Για ι από 2 μέχρι 100 !ταξινόμηση στον πίνακα Α
   Για ξ από 100 μέχρι ι με_βήμα -1
      Αν Α[ξ]<Α[ξ-1] τότε
         Τ←Α[ξ]
         Α[ξ]←Α[ξ-1]
         Α[ξ-1]←Τ
      Τέλος_αν
   Τέλος_επανάληψης
Τέλος_επανάληψης
Για ι από 2 μέχρι 200 !ταξινόμηση στον πίνακα Β
   Για ξ από 200 μέχρι ι με_βήμα -1
      Αν Β[ξ]<β[ξ-1] τότε
                        Τ←Β[ξ]
         Β[ξ]←Β[ξ-1]
         Β[ξ-1]←Τ
      Τέλος_αν
   Τέλος_επανάληψης
Τέλος_επανάληψης
πλΑ←0
Για ι από 2 μέχρι 100 !εύρεση πλήθους διαφορετικών αριθμών στον Α
   Αν Α[ι-1]<>Α[ι] τότε
      ΠλΑ←πλΑ+1
   Τέλος_αν
Τέλος_επανάληψης
πλΒ←0
Για ι από 2 μέχρι 200 !εύρεση πλήθους διαφορετικών αριθμών στον Β
   Αν Β[ι-1]<>Β[ι] τότε
      ΠλΒ←πλΒ+1
   Τέλος_αν
Τέλος_επανάληψης
Σ.Παπαλουκάς (Μηχανικός Η/Υ και Πληροφορικής): "Βασικά, με τα μωρά,
πριν φτάσουν τα 2 τους χρόνια, δεν μπορείς να κάνεις και πολλά,
γιατί δεν είναι interactive..." (!)


evry

  Νομίζω ότι πρέπει να αρχικοποίησεις τα πλΑ, πλΒ σε 1 και όχι 0. Για σκέψου έναν πίνακα με 3 μόνο αριθμούς που είναι και οι 3 διαφορετικοί μεταξύ τους. Πόσες φορές θα αυξηθούν οι μετρητές?
  Κατά τα άλλα η γενική ιδέα της λύσης είναι φυσικά σωστή.

  Τι θα έλεγες όμως για μια λύση χωρίς ταξινόμηση και χωρίς τη χρήση βοηθητικού πίνακα; Αν έχεις χρόνο κοίταξέ το, έχει ενδιαφέρον.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

toufeki

Μια ακόμα πρόκληση - πρόσκληση για τους αγαπητούς μαθητές μας στο ίδιο μήκος κύματος με τον Ευριπίδη.

Δείτε το συνημμένο.


Σημ: Ο χρόνος λήγει αύριο το βράδυ.

toufeki

Ασχολήθηκε κάποιος μαθητής με το παραπάνω θέμα;

Τέλος πάντων, ας πάμε ένα βήμα παρακάτω.

Έχω 2 συνημμένα.

Το 1 περιέχει κάποιες οδηγίες - προβληματισμούς - θέματα εξάσκησης.  (diff_nums2.pdf)
και το 2 περιέχει μια δική μου λύση. (diff_nums_solve.exe)

Το 2 είναι όμως κλειδωμένο αρχείο με 7z. Για να το ανοίξετε χρειάζεστε την εφαρμογή συμπίεσης αρχείων 7z - η οποία είναι ελεύθερο λογισμικό - βεβαίως  >:D και τον κωδικό.

Τον κωδικό για το ξεκλείδωμα του αρχείου pdf όμως, θα σας τον ανακοινώσω μεθαύριο. :)

Vangelis

Βρίσκεςι ένα αριθμόπου δεν περιέχει ο πίνακας π.χ -999999.
Αρχίζει απο το πρώτο στοιχείου του τον σαρώνεις  και όπου βρείς ένα ίδιο βάζεις στη θέση του το -999999.
Συνεχίζεις με το δεύτερο, το τρίτο κ.λπ (με όσα είναι διάφορα απο το -999999)
Τελικά μετράς πόσοι δαφορετικοί αριθμοί μείνανε στον πίνακα (και τους εμφανίζεις)
Το μόνο μειονέκτημα που βλέπω στην παραπάνω λύση είναι η πιθανότητα να  υπάρχει ο αριθμός -999999 στον πίνακα οπότε θα χάσεις αυτόν τον αριθμό.  Αλλά τι θα "κόβαμε¨γαι την παραπάνω λύση;
(φυσικά υπάρχει η λύση πρώτα να βρίσκεις  έναν αριθμό που δεν υπάρχει στον πίνακα και μετά να συνεχίσεις με τον παραπάνω αλγόριθμο) 

toufeki

Βαγγέλη κάνε υπομονή μέχρι μεθαύριο. >:D


toufeki

Επειδή είναι πολύ πιθανό να μην έχω αύριο πρόσβαση στον Η/Υ και για να είμαι συνεπής με τα παιδιά που τυχόν ασχολήθηκαν σας δίνω τον κωδικό για το ξεκλείδωμα του αρχείου diff_nums_solve (pdf): 1234

joyjohnnickname

Παράθεση από: evry στις 28 Φεβ 2010, 07:52:34 ΜΜ
  Νομίζω ότι πρέπει να αρχικοποίησεις τα πλΑ, πλΒ σε 1 και όχι 0. Για σκέψου έναν πίνακα με 3 μόνο αριθμούς που είναι και οι 3 διαφορετικοί μεταξύ τους. Πόσες φορές θα αυξηθούν οι μετρητές?
  Κατά τα άλλα η γενική ιδέα της λύσης είναι φυσικά σωστή.

  Τι θα έλεγες όμως για μια λύση χωρίς ταξινόμηση και χωρίς τη χρήση βοηθητικού πίνακα; Αν έχεις χρόνο κοίταξέ το, έχει ενδιαφέρον.
Ευχαριστώ για την υπόδειξη!!! :) Θα κοιταξω να κανω αυτο που μου είπατε, θα δημοσιεύσω επίσης ολόκληρη την λύση αργότερα (τώρα είμαι στο σχολείο... :P ), με πλΑ και πλΒ αρχικοποιημένα σε 1...  ;D
Σ.Παπαλουκάς (Μηχανικός Η/Υ και Πληροφορικής): "Βασικά, με τα μωρά,
πριν φτάσουν τα 2 τους χρόνια, δεν μπορείς να κάνεις και πολλά,
γιατί δεν είναι interactive..." (!)


joyjohnnickname

Evry μόλις έιδα γιατί είχα αρχικοποιήσει τα πλΑ και πλΒ με το 0... Δημοσιεύω την λύση μου ολόκληρη παρακάτω... Αν βρείτε λάθος παρακαλώ αναφέρετε το για να το διορθώσω  :)
Αλγόριθμος θέμα_3ο
//δεδομένα Α, Β// !πίνακες Α[100], Β[200] με καταχωρημένους ακέραιους                
Για ι από 2 μέχρι 100 !ταξινόμηση στον πίνακα Α
	Για ξ από 100 μέχρι ι με_βήμα -1
		Αν Α[ξ]<Α[ξ-1] τότε
			Τ<-Α[ξ]
			Α[ξ]<-Α[ξ-1]
			Α[ξ-1]<-Τ
		Τέλος_αν
	Τέλος_επανάληψης
Τέλος_επανάληψης
Για ι από 2 μέχρι 200 !ταξινόμηση στον πίνακα Β
	Για ξ από 200 μέχρι ι με_βήμα -1
		Αν Β[ξ]<β[ξ-1] τότε
         Τ<-Β[ξ]
			Β[ξ]<-Β[ξ-1]
			Β[ξ-1]<-Τ
		Τέλος_αν
	Τέλος_επανάληψης
Τέλος_επανάληψης
πλΑ<-0
Για ι από 2 μέχρι 100 !εύρεση πλήθους διαφορετικών αριθμών στον Α
	Αν Α[ι-1]<>Α[ι] τότε
		ΠλΑ<-πλΑ+1
		ΔιαφΑ[πλΑ]<-Α[ι-1] !Καταχώρηση σε πίνακα με κελιά όσα και οι 
!Διαφορετικοί ακέραιοι
	Τέλος_αν 
Τέλος_επανάληψης  !Σύμφωνα με την παραπάνω επανάληψη, αν δεν βρεθεί !κανένας διαφορετικός αριθμός, δηλαδή αν όλα τα κελιά έχουν τον ίδιο αριθμό,
!τότε το πλήθος είναι 0, αλλά αν βρεθούν δύο διαφορετικοί αριθμοί, η
!επανάληψη πιάνει το πλήθος 1 και αφήνει τον τελευταίο αριθμό έξω, οπότε:
Αν πλ>0 τότε
πλΑ<-πλΑ+1
ΔιαφΑ[πλΑ]<-Α[100]
Τέλος_αν
Γράψε 'Το σύνολο των διαφορετικών αριθμών στον Α είναι: ', πλΑ 
!Ομοίως για τον Β
πλΒ<-0
Για ι από 2 μέχρι 200 
	Αν Β[ι-1]<>Β[ι] τότε
		ΠλΒ<-πλΒ+1
		ΔιαφΒ[πλΒ]<-Β[ι-1]
	Τέλος_αν 
Τέλος_επανάληψης
Αν πλΒ>0 τότε
πλΒ<-πλΒ+1
ΔιαφΒ[πλΒ]<-Β[200]
Τέλος_αν
Γράψε 'Το σύνολο των διαφορετικών αριθμών στον Β είναι: ', πλΒ
!Με καταχωρημένους τους διαφορετικούς αριθμούς των δύο πινάκων σε 2
!άλλους πίνακες, αρκεί να κάνω αναζήτηση στον έναν εμφανίζοντας τα στοιχεία
!τα οποία η αναζήτηση δεν βρίσκει στον άλλον
Αν πλΒ<>0 και πλΑ<>0 τότε
	Πλ<-0
	Για ι από 1 μέχρι πλΒ
		Ε<-0
		Για ξ από 1 μέχρι πλΑ
			Αν ΔιαφΑ[ξ]=ΔιαφΒ[ι] τότε
				Ε<-1
			Τέλος_αν
		Τέλος_επανάληψης
		Αν Ε=0 τότε
			Πλ<-πλ+1
		Τέλος_αν
	Τέλος_επανάληψης
Γράψε 'Το σύνολο των διαφορετικών αριθμών που εμφανίζονται στον
& πίνακα Β αλλά όχι στον Α είναι: ', πλ 
Αλλιώς
	Γράψε 'Ένας από τους πίνακες δεν περιέχει διαφορετικούς αριθμούς'
Τέλος_αν
Τέλος_θέμα_3ο

Έπειτα θα προσπαθήσω χωρίς ταξινόμιση όπως μου είπατε...  ;)
Σ.Παπαλουκάς (Μηχανικός Η/Υ και Πληροφορικής): "Βασικά, με τα μωρά,
πριν φτάσουν τα 2 τους χρόνια, δεν μπορείς να κάνεις και πολλά,
γιατί δεν είναι interactive..." (!)