Οι γεωμετρικές πρόοδοι στην οργάνωση αθλητικών αγώνων:Ανάπτυξη εφαρμογής στη γλώσσα προγραμματισμού C. Σχολείο:Π.Σ.Π.Θ. Μαθητές: Τσαπκίνης Χρήστος Ευάγγελος.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΣYMBOΛIKOΣ ΥΠΟΛΟΓΙΣΜΟΣ. ΣYMBOΛIKOΣ ΥΠΟΛΟΓΙΣΜΟΣ - Παράδειγμα %polynomial (Expression, Variable) polynomial (X, X). polynomial (Term, X) :- number (Term).
Advertisements

ΜΑΘ-3122/106 Γλώσσα Προγραμματισμού
Αντικειμενοστρεφής Προγραμματισμός, Αντώνιος Συμβώνης, Πανεπιστήμιο Ιωαννίνων, Slide 1 Week 13: Review Εβδομάδα 13: Ανασκόπηση.
Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο1 Διαίρει και Βασίλευε γνωστότερη Η γνωστότερη μέθοδος σχεδιασμού αλγορίθμων: Διαιρούμε.
Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο1 Ωμή Βία Είναι μία άμεση προσέγγιση που βασίζεται στην εκφώνηση του προβλήματος και τους ορισμούς.
Φροντίς Παιδείας Πόροι – Ποιότητα - Καινοτομίες. Γιώργος Ψαχαρόπουλος Outline Ποιοι είναι οι πόροι; Πως μετράται η ποιότητα; Καινοτομίες.
Διαφάνειες παρουσίασης Πίνακες (συνέχεια) Αριθμητικοί υπολογισμοί Αναδρομή.
Αυτό το παιχνίδι είναι σχεδόν ίδιο με το προηγούμενο. Διαφορές Οι κυνηγοί δεν γνωρίζουν τη θέση του φυγάδα (αόρατος φυγάδας). Ο φυγάδας γνωρίζει τις θέσεις.
V ERILOG 1. Τα απολύτως απαραίτητα. Verilog - Λυμπέρης Σπύρος2 Verilog - Γιατί; Σχεδίαση επικεντρωμένη στην αρχιτεκτονική Διαδικασία σύνθεσης Εύκολη συντήρηση.
EXTEND5 LT 2 o Εργαστήριο Οργάνωση Παραγωγής I. Τι έχουμε δει! Discrete Event Generators Generator Queues Queue, FIFO.
Σχεδίαση hardware και προγραμματισμός βασικές (αλλά σύγχρονες) μεθοδολογίες Βασίλης Παλιουράς.
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ. ΥΠΟΛΟΓΙΣΤΗΣ Μηχανή που μπορεί να φέρει σε πέρας πνευματικές εργασίες ρουτίνας με μεγάλη ταχύτητα.
ΜΑΘ3122/106 – Γλώσσα προγραμματισμούΞενοφών Ζαμπούλης ΜΑΘ3122/106 Γλώσσα προγραμματισμού Συναρτήσεις.
EXTEND5 LT 3-4 o Εργαστήριο Οργάνωση Παραγωγής I.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις.
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Κεφάλαιο 3: Το υλικό των Υπολογιστών
ΗΥ150 – Προγραμματισμός Ξενοφών Ζαμπούλης 1 getchar() /* char_count.c A program to count characters of input. */ main() { int c ; int count = 0; while.
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
1 Μηχανογραφημένη Λογιστική Ι Μεθοδολογία ανάπτυξης ενός Λ.Π.Σ Χύτης Ευάγγελος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Διάλεξη 3 η (2014– 15) Θεωρητικά Μοντέλα Ανάπτυξης Καινοτομίας Δρ. Αλέξανδρος Αποστολάκης
Τμήμα Β2 του Γυμνάσιου της Νέας Περάμου Καβάλας. Με λένε Μαρίνα Είμαι ο Kevin Με λένε Σοφιέ Με λένε Σαλ Είμαι ο Στέφανος Με λένε Μυρτώ Είμαι η Κατερίνα.
ΔΠΘ-ΤΜΗΜΑ ΜΠΔ: ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ 1 Εισαγωγή στη γλώσσα Προγραμματισμού C ΠΙΝΑΚΕΣ (arrays)
Εισαγωγή στη βελτιστοποίηση (Μέρος 1) Daniel Kirschen.
N. ΝΙΚΗΤΑΚΟΣ καθηγητής Παν. Αιγαίου Δ.Παπαχρήστος μέλος ΕΔΙΠ ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΠΑΝΕΠΙΣΤΗΜΙΟ Α ΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών.
Εισαγωγή στους Η/Υ Ενότητα 5: Ο ηλεκτρονικός υπολογιστής
3ος Πανελλήνιος διαγωνισμός Scratch Game
ΣΗΜΑΤΑ και ΣΥΣΤΗΜΑΤΑ Κεφάλαιο 4ο Διδάσκων: Καθηγητής Ανδρέας Μαράς Οκτώβρης ###Linear State Space Models###
Οι Δημόσιες Σχέσεις ως Διαδικασία
ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΟΙ ΛΟΓΙΚΟΙ ΕΛΕΓΚΤΕΣ (PLCs).
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ (Α.Ε.Π.Π.)
Στατιστικές Υποθέσεις
Ενότητα 1 : Εισαγωγή στην επιστήμη των υπολογιστών Δρ. Γκόγκος Χρήστος
Δημιουργία-Επιμέλεια: Φιλιππούσης Γεώργιος
Συστήματα CAD Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών
Παιδαγωγικό Τμήμα Νηπιαγωγών
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Διαχείριση Κινδύνου Ενότητα 2: Κύκλος Ζωής Έργου.
Συγγράμματα Γκιμπερίτης Βαγγέλης
Εφαρμογές Υπολογιστών
Ψηφιακή Σχεδίαση εργαστήριο
Αντικειμενοστραφής Προγραμματισμός ΙΙ
Το Marketing Β΄.
Άσκηση 4-8B Γεώργιος Μυλωνάς 6328.
  Οδηγίες για τους Επιμορφούμενους
ΑΡΧΑΙΟ ΘΕΑΤΡΟ ΜΥΤΙΛΗΝΗΣ Ένα λαμπρό παρελθόν με αβέβαιο μέλλον
Σχεδίαση Λογισμικού Διδάσκων: Κων/νος Κώτης (BSc, PhD)
Ιςλαμιςτικη τρομοκρατια
«Από τη MicroWorlds Pro στην Python»
2o Εργαστήριο Οργάνωση Παραγωγής I
Ψηφιακή Σχεδίαση εργαστήριο
Το Πρόβλημα Φωτεινοί σηματοδότες.
ΟΛΟΚΛΗΡΩΜΕΝΑ ΚΥΚΛΩΜΑΤΑ ΜΝΗΜΗΣ
Εργασία 5 Μάθημα 795.Πρακτική Άσκηση, ΔΔΜ (α)
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
ΘΕΟΔΩΡΟΣ ΜΑΡΙΟΛΗΣ* & ΜΑΡΙΑ ΠΑΝΤΖΑΡΤΖΙΔΟΥ**
Γλώσσα Προγραμματισμού V PHP
Τεχνολογία Αισθητήρων & Μηχατρονική
Ι. Ιστορία της Πληροφορικής – Κυβερνητικής
...things we need to know Σύναψη είναι η λειτουργική σύνδεση μεταξύ των νευρώνων -συναπτικό κενό (synaptic cleft), Οι νευρώνες μεταδίδουν σήματα, λαμβάνουν.
מכטרוניקה אלקטרוניקה ספרתית סתיו תשס"ה 2004/2005
ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005
T O U M A Z I S Διον. Τουμαζής & Συνεργάτες
Διαχείριση προβλημάτων στη σχολική τάξη.
Βάσεις Δεδομένων 18/1/2019 Ενότητα Γ6.3β (Δημιουργία και Αποθήκευση Βάσης Δεδομένων και Πίνακα. Καθορισμός Πεδίων του Πίνακα, Τύπων Δεδομένων και Ιδιότητες.
A simple production function # Inputs # Outputs
Ελληνική Ομοσπονδία Backgammon
ΕΝΟΤΗΤΑ 9 ΡΕΛΕ.
Fleet Management.
ΕΝΟΤΗΤΑ 7: ΑΙΣΘΗΤΗΡΕΣ ΥΠΕΡΥΘΡΩΝ
Μεταγράφημα παρουσίασης:

Οι γεωμετρικές πρόοδοι στην οργάνωση αθλητικών αγώνων:Ανάπτυξη εφαρμογής στη γλώσσα προγραμματισμού C. Σχολείο:Π.Σ.Π.Θ. Μαθητές: Τσαπκίνης Χρήστος Ευάγγελος Αλβανός Χρήστος Παπάρας Δημήτρης Εκπαιδευτικοί: Γεωργία Αλεξούδα Νίκος Γουναρόπουλος

Αφορμή - Ενθάρρυνση - Ενδιαφέρον Αφορμή για αυτή την εργασία ήταν ένας γρίφος (puzzle) που ο καθηγητής Μαθηματικών μας ο κ. Γουναρόπουλος μας παρέδωσε και αφορούσε έναν αγώνα squash. Η έμφυτη περιέργειά μας και το ενδιαφέρον του θέματος σε συνδυασμό με την ενθάρυνση των καθηγητών μας (κ. Γουναρόπουλος και κα. Αλεξούδα) , βοήθησαν στο να κατανοήσουμε τις βασικές αρχές των Μαθηματικών που υπάρχουν στο πρόβλημα και στη συνέχεια να αποφασίσουμε να υλοποιήσουμε την εφαρμογή στον Η/Υ. Η εφαρμογή αυτή δημιουργήθηκε στην επαγγελματική γλώσσα προγραμματισμού C. Με τυχαίο, άρα αντικειμενικό τρόπο, ο Η/Υ οργανώνει αποτελεσματικά τους αγώνες και σε ελάχιστα δευτερόλεπτα εκτυπώνει πλήρες πρόγραμμα από την προκριματική φάση μέχρι και τον τελκό. Το μόνο που απαιτείται είναι ο αριθμός των συμμετοχών !

ΤΟ ΠΡΟΒΛΗΜΑ Ν άτομα (ή ομάδες) δηλώνουν συμμετοχή σε κάποιους αθλητικούς αγώνες. Ο κανονισμός λέει ότι πρέπει να γίνονται αγώνες νοκ-άουτ μέχρι να βγεί ο τελικός νικητής. Επίσης, οι αγώνες πρέπει να επιλέγονται εντελώς τυχαία. Είναι φανερό ότι, αν ο αριθμός των συμμετοχών Ν είναι δύναμη του 2, τότε η οργάνωση είναι πολύ απλή, αφού κάθε φορά θα μένουν οι μισοί. (Γ. Πρόοδος με λόγο 0,5) Αν όμως αυτό δεν συμβαίνει ; Πώς θα οργανωθούν σωστά οι αγώνες ;

ΕΙΣΑΓΩΓΗ ΣΤΗ ΜΑΘΗΜΑΤΙΚΗ ΛΥΣΗ Θα ασχοληθούμε με αριθμούς που ΔΕΝ ανήκουν στην γεωμετρική πρόοδο ( ακολουθία με δυνάμεις του 2 ), διότι αν ανήκει στην γεωμετρική πρόοδο δεν θα κάνουμε καμία τροποποίηση γιατί κάθε φορά θα μένουν το ½. Byes: ονομάζεται ο αριθμός των παιχτών, που δεν θα παίξουν προκριματικούς , δηλαδή θα περάσουν στον επόμενο γύρο χωρίς να παίξουν. Σκοπός μας είναι ότι μετά τους προκριματικούς ο αριθμός των παιχτών, που απέμειναν να είναι δύναμη του 2. Πως όμως θα βρούμε πόσοι θα πάνε bye; Πως θα οργανώσουμε το τουρνουά;

ΜΑΘΗΜΑΤΙΚΗ ΛΥΣΗ   Για κάθε αριθμό (Ν) που ΔΕΝ είναι δύναμη του 2 ισχύει ότι: , όπου i φυσικός αριθμος. Ας ονομάσουμε Χ τα byes, τότε αυτοί που παίζουν προκριματικά είναικαι αυτοί που παιρνάνε στον επόμενο γύρο είναι. Συνεπώς το άθροισμα, το οποίο δηλώνει τους παίχτες του επόμενου γύρου,πρέπει να ισούται με την προηγούμενη δύναμη (). Άρα, και τέλος

Παράδειγμα με 27 συμμετοχές Συνοπτικός Πίνακας Input / Output Αριθμός παικτών (Ν) 27 Αριθμός παικτών που βγαίνουν εκτός (Byes) 5 Αριθμός προκριματικών αγώνων 11 Αριθμός παικτών στους προκριματικούς αγώνες 22 Συνολικοί γύροι

Παράδειγμα με 27 συμμετοχές 1ος Γύρος (Προκριματικός) Αγώνες Π1 Π2 Εκτός Αγώνας 1ος 16 3 13 Αγώνας 2ος 1 21 Αγώνας 3ος 11 27 14 Αγώνας 4ος 2 17 Αγώνας 5ος 20 4 18 Αγώνας 6ος 12 7 Αγώνας 7ος 19 15 24 Αγώνας 8ος 26 23 Αγώνας 9ος 9 6 25 Αγώνας 10ος 5 10 Αγώνας 11ος 22 8 2ος Γύρος Αγώνες Π1 Π2 Αγώνας 1ος Ν1-1 Ν1-3 Αγώνας 2ος Ν1-4 14 Αγώνας 3ος Ν1-5 25 Αγώνας 4ος Ν1-10 13 Αγώνας 5ος Ν1-8 Ν1-7 Αγώνας 6ος Ν1-9 24 Αγώνας 7ος Ν1-11 Ν1-6 Αγώνας 8ος 18 Ν1-2 3ος Γύρος Αγώνες Π1 Π2 Αγώνας 1ος Ν2-1 Ν2-5 Αγώνας 2ος Ν2-4 Ν2-7 Αγώνας 3ος Ν2-2 Ν2-6 Αγώνας 4ος Ν2-8 Ν2-3 4ος Γύρος (Ημιτελικός) Αγώνες Π1 Π2 Αγώνας 1ος Ν3-4 Ν3-1 Αγώνας 2ος Ν3-2 Ν3-3 ΤΕΛΙΚΟΣ ΑΓΩΝΑΣ Αγώνες Π1 Π2 Αγώνας 1ος Ν4-2 Ν4-1 Δημήτρη , να βάλεις σε όλους τους γύρους τους νικητές των προηγούμενων γύρων, όχι τους κωδικούς τους. Όπως σου τα έχω στείλει. Να κάνεις ακόμη 1-2 παραδείγματα π.χ. για Ν=40 (το έχεις) και ακόμη ένα. Στα κουτάκια θα φαίνεται π.χ. Ν1-3 Ν1-10 δηλ. νικητής 1ου γύρου αγώνα 3 με νικητή 1ου γύρου αγώνα 10. Νικητής Ν5-1

Παράδειγμα με 40 συμμετοχές Συνοπτικός Πίνακας Input / Output Αριθμός παικτών (Ν) 40 Αριθμός παικτών που βγαίνουν εκτός (Byes) 24 Αριθμός προκριματικών αγώνων 8 Αριθμός παικτών στους προκριματικούς αγώνες 16 Συνολικοί γύροι 6

Παράδειγμα με 40 συμμετοχές 1ος Γύρος (Προκριματικός) Αγώνες Π1 Π2 Εκτός Αγώνας 1ος 12 29 1 14 30 Αγώνας 2ος 31 11 3 15 33 Αγώνας 3ος 25 9 4 16 34 Αγώνας 4ος 26 13 6 18 35 Αγώνας 5ος 23 37 7 20 36 Αγώνας 6ος 28 5 8 22 38 Αγώνας 7ος 2 21 10 24 39 Αγώνας 8ος 19 32 27 40 2ος Γύρος Αγώνες Π1 Π2 Αγώνας 1ος Ν1-1 22 Αγώνας 2ος 34 Ν1-4 Αγώνας 3ος 39 18 Αγώνας 4ος Ν1-2 10 Αγώνας 5ος 8 Ν1-8 Αγώνας 6ος 14 3 Αγώνας 7ος Ν1-6 6 Αγώνας 8ος 4 35 Αγώνας 9ος 33 Ν1-3 Αγώνας 10ος 16 38 Αγώνας 12ος Ν1-7 36 Αγώνας 13ος 27 12 Αγώνας 14ος 15 Ν1-5 Αγώνας 15ος 7 24 Αγώνας 16ος 30 20 3ος Γύρος Αγώνες Π1 Π2 Αγώνας 1ος Ν2-5 Ν2-1 Αγώνας 2ος Ν2-14 Ν2-6 Αγώνας 3ος Ν2-7 Ν2-8 Αγώνας 4ος Ν2-2 Ν2-9 Αγώνας 5ος Ν2-15 Ν2-11 Αγώνας 6ος Ν2-10 Ν2-3 Αγώνας 7ος Ν2-12 Ν2-16 Αγώνας 8ος Ν2-4 Ν2-13 Δημήτρη , να βάλεις σε όλους τους γύρους τους νικητές των προηγούμενων γύρων, όχι τους κωδικούς τους. Όπως σου τα έχω στείλει. Να κάνεις ακόμη 1-2 παραδείγματα π.χ. για Ν=40 (το έχεις) και ακόμη ένα. Στα κουτάκια θα φαίνεται π.χ. Ν1-3 Ν1-10 δηλ. νικητής 1ου γύρου αγώνα 3 με νικητή 1ου γύρου αγώνα 10.

Παράδειγμα με 40 συμμετοχές 4ος Γύρος Αγώνες Π1 Π2 Αγώνας 1ος Ν3-1 Ν3-7 Αγώνας 2ος Ν3-4 Ν3-5 Αγώνας 3ος Ν3-3 Ν3-6 Αγώνας 4ος Ν3-8 Ν3-2 5ος Γύρος (Ημιτελικός) Αγώνες Π1 Π2 Αγώνας 1ος Ν4-4 Ν4-2 Αγώνας 2ος Ν4-1 Ν4-3 ΤΕΛΙΚΟΣ ΑΓΩΝΑΣ Αγώνες Π1 Π2 Αγώνας 1ος Ν5-2 Ν5-1 Νικητής Ν6-1 Δημήτρη , να βάλεις σε όλους τους γύρους τους νικητές των προηγούμενων γύρων, όχι τους κωδικούς τους. Όπως σου τα έχω στείλει. Να κάνεις ακόμη 1-2 παραδείγματα π.χ. για Ν=40 (το έχεις) και ακόμη ένα. Στα κουτάκια θα φαίνεται π.χ. Ν1-3 Ν1-10 δηλ. νικητής 1ου γύρου αγώνα 3 με νικητή 1ου γύρου αγώνα 10.

Προγραμματιστικό Μέρος Χρησιποποιήθηκαν 2 πίνακες που ενναλάσονταν μεταξύ των γύρων. Χρήσιμοποιήθηκαν επίσης οι εντολές rand και srand, για να εξασφαλίσουν τυχαιότητα, αλλά και πως οι ψευδοτυχαίοι δεν επαναλαμβάνονταν, καθώς η εντολή srand ορίζει πως οι τυχαίες τιμές που παράγονται, είναι διαφορετικές σε κάθε εκτέλεση. H επιλογή των παικτών του κάθε γύρου γίνεται τυχαία, και ο ίδιος παίκτης δεν επαναλαμβάνεται 2 φορές.

Ο Αλγόριθμος Βήματα : 1. Ελέγχω εάν ο αριθμός των συμμετεχόντων είναι δύναμη του 2. Είναι 2. Βάζω σε τυχαία ζευγάρια τους παίκτες. 3. Επιλέγω νικητές, τους προσθέτω στον επόμενο πίνακα. 4. Επαναλαμβάνω βήματα 2 & 3, μέχρι να υπάρχει 1 μόνο νικητής.

Ο Αλγόριθμος Βήματα : 1. Ελέγχω εάν ο αριθμός των συμμετεχόντων είναι δύναμη του 2. Δεν είναι 2. Βρίσκω τους περισσευόμενους. (byes) 3. Βάζω σε τυχαία ζευγάρια τους υπόλοιπους παίκτες. 4. Επιλέγω νικητές, τους προσθέτω στον επόμενο πίνακα. 5. Προσθέτω τους byes στον επόμενο πίνακα. 6. Βάζω σε τυχαία ζευγάρια τους παίκτες. 7. Επιλέγω νικήτες, τους προσθέτω στον επόμενο πίνακα. 8. Επαναλαμβάνω βήματα 6 & 7, μέχρι να υπάρχει 1 μόνο νικητής.

Τυχαία Αναδιάταξη των Παικτών Ο Αλγόριθμος Τυχαία Αναδιάταξη των Παικτών 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 15 8 4 12 10 14 9 11 1 6 3 7 13 5 Ν ≠ 2ν Byes = 1

Τμήμα Πηγαίου Κώδικα : Εύρεση των byes, τυχαία αναδιάταξη, επιλογή νικητών.

Στιγμιότυπο Εκτέλεσης: Τυχαία Αναδιάταξη.

Συμπεράσματα Τα Μαθηματικά , σε συνδυασμό με την Πληροφορική, μας έδωσαν ένα πολύ χρήσιμο εργαλείο για την διεξαγωγή πλήθους αθλητικών αγώνων, είτε ατομικών, είτε ομαδικών. Οι γεωμετρικές πρόοδοι με λόγο 0,5 μπορούν να αναπαραστήσουν μια οποιαδήποτε αθλητική διοργάνωση με σύστημα νοκ - άουτ, αρκεί να προβλέψουμε τι θα κάνουμε με όσους «περισσεύουν» Οι Η/Υ εξασφαλίζουν αντικειμενικότητα, ταχύτητα και αποτελεσματικότητα στην διεκπεραίωση των αγώνων.

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

Ευχαριστούμε για την προσοχή σας!