Βοήθεια/Απορίες στην ΑΕΠΠ - Ασκήσεις

Τι πιστεύετε για την ΑΕΠΠ;

Αποτελέσματα της δημοσκόπησης (Ψήφισαν 53)
  • Εύκολη

    Ψήφοι: 30 56.6%
  • Δύσκολη

    Ψήφοι: 23 43.4%
  • ΔΞ/ΔΑ

    Ψήφοι: 0 0.0%

ultraviolence

Τιμώμενο Μέλος

Ο ultraviolence αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Φοιτητής του τμήματος Χημείας ΑΠΘ και μας γράφει απο Γαλλία (Ευρώπη). Έχει γράψει 13,874 μηνύματα.
Νομιζω πως εισαι λαθος γιατι το διαγραμμα πρώτα διαβαζει και μετά μπαινει σε επαναληψη ( αρα οσο) ενώ εσυ πρώτα εβαλες επαναληψη και μετα διαβασες. Ουσιαστικα ειναι σαν να σε οδηγει στο να πάρει όσο, και επισης βαζεις "αν" ενώ δεν θέλει, αλλα λογικά θα'μαι λάθος οπότε ας με διορθωσει καποιος!
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Τελευταία επεξεργασία:

frofru

Εκκολαπτόμενο μέλος

Η frofru αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι Φοιτήτρια. Έχει γράψει 200 μηνύματα.
Νομιζω πως εισαι λαθος γιατι το διαγραμμα πρώτα διαβαζει και μετά μπαινει σε επαναληψη ( αρα οσο) ενώ εσυ πρώτα εβαλες επαναληψη και μετα διαβασες. Ουσιαστικα ειναι σαν να σε οδηγει στο να πάρει όσο, και επισης βαζεις "αν" ενώ δεν θέλει, αλλα λογικά θα'μαι λάθος οπότε ας με διορθωσει καποιος!

Εχεις δικιο! Η εντολη αν οντως δεν χρειαζεται και τωρα που το ξαναβλεπω πρεπει να ειναι εντελως λαθος η λογικη της λυσης μου. Οποτε κραταω την λυση με την Οσο. Σε ευχαριστω πολυ! :D
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

ultraviolence

Τιμώμενο Μέλος

Ο ultraviolence αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Φοιτητής του τμήματος Χημείας ΑΠΘ και μας γράφει απο Γαλλία (Ευρώπη). Έχει γράψει 13,874 μηνύματα.
You're welcome!!Πριν το σιγουρεψεις καλυτερα ας το επιβεβαιωσει και κανενας αλλος,μη σε πάρω στο λαιμο μου :redface:
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

frofru

Εκκολαπτόμενο μέλος

Η frofru αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι Φοιτήτρια. Έχει γράψει 200 μηνύματα.
You're welcome!!Πριν το σιγουρεψεις καλυτερα ας το επιβεβαιωσει και κανενας αλλος,μη σε πάρω στο λαιμο μου :redface:
Οκ, μην ανησυχεις! Εμπιστευομαι τις γνωσεις σου παντως! :P
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

PiDefiner

Δραστήριο μέλος

Ο PiDefiner αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 26 ετών. Έχει γράψει 443 μηνύματα.
Νομιζω πως εισαι λαθος γιατι το διαγραμμα πρώτα διαβαζει και μετά μπαινει σε επαναληψη ( αρα οσο) ενώ εσυ πρώτα εβαλες επαναληψη και μετα διαβασες. Ουσιαστικα ειναι σαν να σε οδηγει στο να πάρει όσο, και επισης βαζεις "αν" ενώ δεν θέλει, αλλα λογικά θα'μαι λάθος οπότε ας με διορθωσει καποιος!

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

Η λύση σου δουλεύει, γιατί είναι σαν να έχεις μετατρέψει το Όσο τους βοηθιτικού σε Μέχρις_Ότου, άρα οι δύο αλγόριθμοι πραγματοποιούν ακριβώς το ίδιο (τώρα δεν το έλεγξα και τέλεια, αλλά νομίζω πως δεν έχει κάποια "γκρίζα ζώνη"). Θα μπορούσες επίσης να έχεις συπεριλάβει όλο το Μέχρις_Ότου σε ένα Αν και Διαβάζεις απ' έξω - σαν εναλλακτική - έτσι γλειτώνεις μερκούς ελέγχους. Δηλαδή

Code:
S←0
Διαβασε χ
Αν χ<0 τότε
	Αρχή_επανάληψης
		S←S+χ
		Διάβασε χ
	Μέχρις_Ότου χ>=0
Τέλος_αν
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Τελευταία επεξεργασία:

DumeNuke

Τιμώμενο Μέλος

Ο DumeNuke αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Φοιτητής και μας γράφει απο Θεσσαλονίκη (Θεσσαλονίκη). Έχει γράψει 4,125 μηνύματα.
Προσωπικά θεωρώ και τις δύο λύσεις σωστές. Στο σχολικό ΔΕΝ υπάρχουν παραδείγματα όπου να χρειάζεται να γίνει τροποποίηση στο διάγραμμα ροής, ώστε να μπορεί να γραφτεί σε ψευδοκώδικα. Κάτι παρόμοιο είχε γίνει πέρσυ στις πανελλήνιες:
Ενώ η συνθήκη εξεταζόταν στην αρχή της επανάληψης, το βέλος που οδηγούσε στο βρόχγο ήταν αυτό του ΟΧΙ (Όσο ΟΧΙ(συνθήκη) επανάλαβε). Κάτι τέτοιο δεν υπάρχει μέσα στο βιβλίο και πολλοί δεν ξέραμε αν δικαιούμασταν να τροποποιήσουμε τη συνθήκη. Αντιθέτως, αν αντί για Όσο βάζαμε Μέχρις_ότου, με εσωτερικό Αν (για να εξασφαλίσουμε τον 1ο έλεγχο της Όσο που δεν προσφέρει η Μέχρις_ότου), τροποιούσαμε το διάγραμμα σε ένα βαθμό, αλλά αφήναμε αναλλοίωτη τη συνθήκη.

Υπήρξε μεγάλη αντίδραση μετά την παραλαβή των θεμάτων, δεδομένου ότι άλλοι υποστήριζαν ότι το Όσο είναι σωστό, άλλοι το Μέχρις_ότου και άλλοι ότι αμφότερα είναι σωστά. Το γεγονός είναι ότι όσοι έβαλαν Όσο τους το πήραν 100% σωστό. Εμένα που έβαλα Μέχρις_ότου, μου έκοψε 2 μόρια ο ένας εξεταστής και τίποτα ο δεύτερος.

Πάντως, δεδομένου του σαματά που έγινε πέρσυ στο διάγραμμα ροής, το αναμενόμενο είναι να βάλουν εντελώς normal ΔΡ φέτος και να κάνουν πατάτα σε κάποιο άλλο ερώτημα...:P
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

frofru

Εκκολαπτόμενο μέλος

Η frofru αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι Φοιτήτρια. Έχει γράψει 200 μηνύματα.
Στο διάγραμμα ροής, το διάβασε x βρίσκεται ξεκάθαρα μέσα σε βρόχο. Δεν θεωρώ πως υπάρχει πρόβλημα να βάλεις ένα αν, αφού ακόμα και να βάλεις όσο, τροποποιείς τη συνθήκη. Ίσως η εκφώνηση θα ήταν πιο σωστή ζητώντας το ισοδύναμο τμήμα αλγορίθμου.

Η λύση σου δουλεύει, γιατί είναι σαν να έχεις μετατρέψει το Όσο τους βοηθιτικού σε Μέχρις_Ότου, άρα οι δύο αλγόριθμοι πραγματοποιούν ακριβώς το ίδιο (τώρα δεν το έλεγξα και τέλεια, αλλά νομίζω πως δεν έχει κάποια "γκρίζα ζώνη"). Θα μπορούσες επίσης να έχεις συπεριλάβει όλο το Μέχρις_Ότου σε ένα Αν και Διαβάζεις απ' έξω - σαν εναλλακτική - έτσι γλειτώνεις μερκούς ελέγχους. Δηλαδή

Code:
S←0
Διαβασε χ
Αν χ<0 τότε
    Αρχή_επανάληψης
        S←S+χ
        Διάβασε χ
    Μέχρις_Ότου χ>=0
Τέλος_αν
Ωραια, εγινε πληρως κατανοητο, ο αλγοριθμος σου μου φαινεται πιο λογικος και ευκολονοητος. Σε ευχαριστω πολυ για τη βοηθεια! :)

DumeNuke, εχεις δικιο δεν υπαρχει κατι αναλογο στο σχολικο. Στο βοηθημα (Τσιωτακης) που εχω παντως, το ανεφερε σαν μεθοδολογια, αλλα εφοσον λες οτι εγινε τετοιος χαμος περσι αποκλειεται να βαλουν κατι τοσο μπερδεμενο. Σε ευχαριστω κι εσενα για το χρονο σου! :)
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Τελευταία επεξεργασία:

PiDefiner

Δραστήριο μέλος

Ο PiDefiner αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 26 ετών. Έχει γράψει 443 μηνύματα.
Προσωπικά θεωρώ και τις δύο λύσεις σωστές. Στο σχολικό ΔΕΝ υπάρχουν παραδείγματα όπου να χρειάζεται να γίνει τροποποίηση στο διάγραμμα ροής, ώστε να μπορεί να γραφτεί σε ψευδοκώδικα. Κάτι παρόμοιο είχε γίνει πέρσυ στις πανελλήνιες:
Ενώ η συνθήκη εξεταζόταν στην αρχή της επανάληψης, το βέλος που οδηγούσε στο βρόχγο ήταν αυτό του ΟΧΙ (Όσο ΟΧΙ(συνθήκη) επανάλαβε). Κάτι τέτοιο δεν υπάρχει μέσα στο βιβλίο και πολλοί δεν ξέραμε αν δικαιούμασταν να τροποποιήσουμε τη συνθήκη. Αντιθέτως, αν αντί για Όσο βάζαμε Μέχρις_ότου, με εσωτερικό Αν (για να εξασφαλίσουμε τον 1ο έλεγχο της Όσο που δεν προσφέρει η Μέχρις_ότου), τροποιούσαμε το διάγραμμα σε ένα βαθμό, αλλά αφήναμε αναλλοίωτη τη συνθήκη.

Υπήρξε μεγάλη αντίδραση μετά την παραλαβή των θεμάτων, δεδομένου ότι άλλοι υποστήριζαν ότι το Όσο είναι σωστό, άλλοι το Μέχρις_ότου και άλλοι ότι αμφότερα είναι σωστά. Το γεγονός είναι ότι όσοι έβαλαν Όσο τους το πήραν 100% σωστό. Εμένα που έβαλα Μέχρις_ότου, μου έκοψε 2 μόρια ο ένας εξεταστής και τίποτα ο δεύτερος.

Πάντως, δεδομένου του σαματά που έγινε πέρσυ στο διάγραμμα ροής, το αναμενόμενο είναι να βάλουν εντελώς normal ΔΡ φέτος και να κάνουν πατάτα σε κάποιο άλλο ερώτημα...:P

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


Ωραια, εγινε πληρως κατανοητο, ο αλγοριθμος σου μου φαινεται πιο λογικος και ευκολονοητος. Σε ευχαριστω πολυ για τη βοηθεια! :)

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

Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

PiDefiner

Δραστήριο μέλος

Ο PiDefiner αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 26 ετών. Έχει γράψει 443 μηνύματα.
Γίνεται να δηλώσω μια μεταβλητή ως Πραγματική και να τις δώσω ακέραια τιμή; (π.χ. το 3);
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

frofru

Εκκολαπτόμενο μέλος

Η frofru αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι Φοιτήτρια. Έχει γράψει 200 μηνύματα.
Είναι και πιο "γρήγορος", γιατί σκέψου πως εσύ πραγματοποιείς έναν έλεγχο για κάθε αριθμό που διαβάζεις, αλλά ο μόνος που σε ενδιαφέρει να δεις αν δεν είναι θετικός είναι ο τελευταίος θετικός που θα διαβάσεις (και μετά από αυτόν θα τελειώσει η επανάληψη). Πρακτικά, αυτό το σώζεις μετακινόντας το Διάβασε χ αμέσως πριν τον έλεγχο την συνθήκης της επανάληψης. Ήθελα να στο εξηγήσω από πριν αλλά έπρεπε να φύγω :P
Πολυ εξυπνο, θα το θυμαμαι και για τις υπολοιπες ασκησεις! ;) Ευχαριστω!
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

DumeNuke

Τιμώμενο Μέλος

Ο DumeNuke αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Φοιτητής και μας γράφει απο Θεσσαλονίκη (Θεσσαλονίκη). Έχει γράψει 4,125 μηνύματα.
Γίνεται να δηλώσω μια μεταβλητή ως Πραγματική και να τις δώσω ακέραια τιμή; (π.χ. το 3);

Ναι, γίνεται. Αν ξέρεις ότι, ενώ η αρχική τιμή της μεταβλητής είναι ακέραια, στην πορεία αποκτά και δεκαδικά, τότε την ορίζεις ως πραγματική και εκχωρείς ακέραια τιμή.

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

Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

PiDefiner

Δραστήριο μέλος

Ο PiDefiner αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 26 ετών. Έχει γράψει 443 μηνύματα.
Ναι, γίνεται. Αν ξέρεις ότι, ενώ η αρχική τιμή της μεταβλητής είναι ακέραια, στην πορεία αποκτά και δεκαδικά, τότε την ορίζεις ως πραγματική και εκχωρείς ακέραια τιμή.

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

Όχι, εντάξει. Για Α Θέμα ΟΕΦΕ 2008 πρόκειται :P

Edit: Μια πιο "τεχνική" ερώτηση. Αφού εγώ την δώσω την τιμή 3, αυτή δεν θα έχει την τιμή 3.0, ουσιαστικά; Με άλλα λόγια - όπως αναφέρει το βιβλίο- δεν θα καταλαμβάνει χώρο πραγματικής (4 ή 8 bytes);
Είμαι σίγουρος πως αυτό γίνεται αν δώσεις ακέραια τιμή σε μεταβλητή που διαβάζεις και την έχεις δηλώσει ως πραγματική.
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Τελευταία επεξεργασία:

PiDefiner

Δραστήριο μέλος

Ο PiDefiner αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 26 ετών. Έχει γράψει 443 μηνύματα.
Η ταχύτητα ενός αλγορίθμου επηρεάζεται από τις διάφορες τεχνολογίες υλικού.

Σωστό μου φαίνεται, αλλά είναι εντός ύλης; Δεν το έχω διαβάσει κάπου.
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Vold

Πολύ δραστήριο μέλος

Ο Vold αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 28 ετών, Φοιτητής και μας γράφει απο Ηράκλειο (Κρήτη). Έχει γράψει 1,629 μηνύματα.
Σωστό μου φαίνεται, αλλά είναι εντός ύλης; Δεν το έχω διαβάσει κάπου.

Κι εγώ πρώτη φορά το βλέπω αλλά νομίζω είναι αρκετά λογικό ώστε να το απαντήσει σωστά κάποιος σε Σ-Λ, ακόμη κι αν το βλέπει πρώτη φορά.
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Elpinikh

Νεοφερμένος

Η Elpinikh αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι 31 ετών. Έχει γράψει 64 μηνύματα.
Ήταν το 3ο Θεμα από Πανελληνιες 2008
Σχετικα με το β.ii) οπου μας ζητα να καλεσουμε υποπρογραμμα σε προτυπες απαντησεις βλεπω πως γραφουνε συναρτηση.
Ειναι σωστο καποιος να φτιαξει διαδικασια;
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Συνημμένα

  • drthgfhj.png
    drthgfhj.png
    116.4 KB · Εμφανίσεις: 175

DumeNuke

Τιμώμενο Μέλος

Ο DumeNuke αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Φοιτητής και μας γράφει απο Θεσσαλονίκη (Θεσσαλονίκη). Έχει γράψει 4,125 μηνύματα.
Η συνάρτηση παίρνει πολλές μεταβλητές από το κυρίως πρόγραμμα, τις επεξεργάζεται και επιστρέφει 1 μεταβλητή στο πρόγραμμα. Η διαδικασία παίρνεις πολλές μεταβλητές από το κυρίως πρόγραμμα και επιστρέφει, επίσης, πολλές μεταβλητές στο κυρίως πρόγραμμα.

Από τα παραπάνω, οποιοδήποτε υποπρόγραμμα μπορεί να κατασκευαστεί σε μορφή Συνάρτησης, μπορεί να κατασκευαστεί και σε μορφή Διαδικασίας. Ωστόσο, οι Διαδικασίες δεν μπορούν πάντα να μετατραπούν σε Συναρτήσεις. Είναι σαν τους βρόχους Για και Όσο... Το Για γίνεται πάντα Όσο, το όσο δεν γίνεται πάντα Για.

Ο λόγος που προτιμούμε την Συνάρτηση (αντίστοιχα τη Για) είναι χάρης την ευκολία κλήσης της.
πχ
Εμφάνισε εφ(χ), με μία σειρά κώδικα καλέσαμε την Συνάρτηση εφ(χ), αυτή εκτελέστηκε, αποδόθηκε η τιμή της και εμφανίστηκε στην οθόνη.

Κάλεσε εφ(χ,y)
Εμφάνισε y
Χρειαζόμαστε δύο σειρές κώδικα, καθώς και την πρόσθετη μεταβλητή y.
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Stelios1997

Εκκολαπτόμενο μέλος

Ο Stelios1997 αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Απόφοιτος και μας γράφει απο Κολυμβάρι (Χανιά). Έχει γράψει 369 μηνύματα.
Ήταν το 3ο Θεμα από Πανελληνιες 2008
Σχετικα με το β.ii) οπου μας ζητα να καλεσουμε υποπρογραμμα σε προτυπες απαντησεις βλεπω πως γραφουνε συναρτηση.
Ειναι σωστο καποιος να φτιαξει διαδικασια;

Θα σου πω ότι μου είπαν.Στο συγκεκριμένο μπορείς και τα δύο.Αλλά καλό είναι όταν λέει <<κατάλληλο υποπρόγραμμα>> και μπορείς,να χρησιμοποιείς συνάρτηση για να είσαι 100% σίγουρος.
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Elpinikh

Νεοφερμένος

Η Elpinikh αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι 31 ετών. Έχει γράψει 64 μηνύματα.
Η συνάρτηση παίρνει πολλές μεταβλητές από το κυρίως πρόγραμμα, τις επεξεργάζεται και επιστρέφει 1 μεταβλητή στο πρόγραμμα. Η διαδικασία παίρνεις πολλές μεταβλητές από το κυρίως πρόγραμμα και επιστρέφει, επίσης, πολλές μεταβλητές στο κυρίως πρόγραμμα.

Από τα παραπάνω, οποιοδήποτε υποπρόγραμμα μπορεί να κατασκευαστεί σε μορφή Συνάρτησης, μπορεί να κατασκευαστεί και σε μορφή Διαδικασίας. Ωστόσο, οι Διαδικασίες δεν μπορούν πάντα να μετατραπούν σε Συναρτήσεις. Είναι σαν τους βρόχους Για και Όσο... Το Για γίνεται πάντα Όσο, το όσο δεν γίνεται πάντα Για.

Ο λόγος που προτιμούμε την Συνάρτηση (αντίστοιχα τη Για) είναι χάρης την ευκολία κλήσης της.
πχ
Εμφάνισε εφ(χ), με μία σειρά κώδικα καλέσαμε την Συνάρτηση εφ(χ), αυτή εκτελέστηκε, αποδόθηκε η τιμή της και εμφανίστηκε στην οθόνη.

Κάλεσε εφ(χ,y)
Εμφάνισε y
Χρειαζόμαστε δύο σειρές κώδικα, καθώς και την πρόσθετη μεταβλητή y.

Θα σου πω ότι μου είπαν.Στο συγκεκριμένο μπορείς και τα δύο.Αλλά καλό είναι όταν λέει <<κατάλληλο υποπρόγραμμα>> και μπορείς,να χρησιμοποιείς συνάρτηση για να είσαι 100% σίγουρος.

Ευχαριστω πολυ για τις απαντησεις σας.:)
Καταλαβα λοιπον οτι κοιταω αν γινεται η συναρτηση και μονο αν δεν γινεται τοτε κανω διαδικασια.
Απλα για να μου φυγει η "περιεργεια" μου...αν το κανα με διαδικασια ποιος θα ταν ο τροπος;
(στη φωτο δειχνω ετσι οπως θα το γραφα εγω...πιθανοτατα λαθος)
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Συνημμένα

  • 11149133_1586371694945022_1165762535_n.jpg
    11149133_1586371694945022_1165762535_n.jpg
    89.1 KB · Εμφανίσεις: 134

PiDefiner

Δραστήριο μέλος

Ο PiDefiner αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 26 ετών. Έχει γράψει 443 μηνύματα.
Από το πρωί παλεύω το β) και το γ) ερώτημα του 4ου Θέματος του ΟΕΦΕ 2010. Νομίζω πως είναι σωστός, τουλάχιστον ως προς τη λογική της επίλυσης του. Αν δεν βαριέται κάποιος να το δει και να μου πει τη γνώμη του...
Αν χρειαστεί, προσθέτω και εξηγήσεις σε κάθε τμήμα.
Code:
Αλγόριθμος ενόργανη
Για ι από 1 μέχρι 60 ![B]Διαβάζω τους πίνακες[/B]
	Διάβασε ΟΝΟΜΑΤΑ[ι], ΕΘΝΟΣ[ι] 
	Για ξ από 1 μέχρι 6
		Διάβασε ΒΑΘΜΟΙ[ι,ξ]
	τέλος_επανάληψης
τέλος_επανάληψης
Για ξ από 1 μέχρι 6
	Διάβασε ΑΓΩΝ[ξ]
τέλος_επανάληψης
Για ι από 1 μέχρι 60 ![B]Άθροισμα βαθμολογιών όλων των αθλημάτων για κάθε έναν αθλητή[/B]
	αθρ←0
	Για ξ από 1 μέχρι 6
		αθρ←αθρ+ΒΑΘΜΟΙ[ι,ξ]
	τέλος_επανάληψης
	ΣΒ[ι]←αθρ
τέλος_επανάληψης
μεγ←ΣΒ[1] ![B]Αναζήτηση μεγίστου στον πίνακα με τις συνολικές βαθμολογίες[/B]
θ←1
Για ι από 1 μέχρι 60
	Αν ΣΒ[ι]>μεγ τότε
		μεγ←ΣΒ[ι]
		θ←ι
	τέλος_αν
τέλος_επανάληψης
Εμφάνισε ΟΝΟΜΑΤΑ[θ] ![B]Εδώ τελειώνει το α ερώτημα[/B]
Για ξ από 1 μέχρι 6 ![B]Αρχίζει το β ερώτημα. Εξωτερικό "Για" ώστε να περάσω από όλα τα αθλήματα[/B]
	μεγ←ΒΑΘΜΟΙ[1,ξ] ![B]Εύρεση μεγίστου σε κάθε στήλη/άθλημα[/B]
	Για ι από 2 μέχρι 60
		Αν ΒΑΘΜΟΙ[ι,ξ]>μεγ τότε
			μεγ←ΒΑΘΜΟΙ[ι,ξ]
		τέλος_αν
	τέλος_επανάληψης
	κ←1 ![B]Μετρητής για τις θέσεις του πίνακα ΜΕΓΘ, στον οποίο θα είναι αποθηκευμένες οι θέσεις των αθλητών οι οποίοι έχουν βαθμολογία ίση με τη μέγιστη βαθμολογία[/B]
	Για ι από 1 μέχρι 60
		Αν ΒΑΘΜΟΙ[ι,ξ]=μεγ τότε ![B]Δημιουργία πίνακα ΜΕΓΘ[/B]
			ΜΕΓΘ[κ]←ι
			κ←κ+1
		τέλος_αν
	τέλος_επανάληψης
	πλ←κ-1 ![B]Οι θέσεις του πίνακα ΜΕΓΘ[/B]
	Για κ από 1 μέχρι πλ ![B]Δημιουργώ νέο πίνακα ΜΕΓ ο οποίος έχει ίδιο μέγεθος με τον ΜΕΓΘ. Σε κάθε θέση του αποθηκεύω την συνολική βαθμολογία κάθε αθλητή που βρέθηκε να έχει στο συγκεκριμένο άθλημα βαθμολογία ίση με τη μέγιστη[/B]
		ΜΕΓ[κ]←ΣΒ[ΜΕΓΘ[κ]]
	τέλος_επανάληψης
	μεγ←ΜΕΓ[1] ![B]Αναζήτηση μέγιστης συνολικής βαθμολογίας ώστε βρω τον νικητή (ανάμεσα σε αυτούς που έχουν μέγιστη για το συγκεκριμένο άθλημα)[/B]
	θμεγ←1
	Για κ από 2 μέχρι πλ
		Αν ΜΕΓ[κ]>μεγ τότε
			μεγ←ΜΕΓ[κ]
			θμεγ←ΜΕΓΘ[κ]
		τέλος_αν
	τέλος_επανάληψης
	Εμφάνισε ΟΝΟΜΑΤΑ[θμεγ] ![B]Εμφανίζω τον νικητή[/B]
τέλος_επανάληψης ![B]τέλος β ερωτήματος[/B]
Για ι από 2 μέχρι 60
	Για ξ από 60 μέχρι ι με_βήμα -1
		Αν ΕΘΝΟΣ[ξ-1]>ΕΘΝΟΣ[ξ] τότε
			Αντιμετάθεσε ΕΘΝΟΣ[ξ-1],ΕΘΝΟΣ[ξ]
			Αντιμετάθεσε ΣΒ[ξ],ΣΒ[ξ-1]
			Αντιμετάθεσε ΟΝ[ξ-1],ΟΝ[ξ]
		τέλος_αν
	τέλος_επανάληψης
τέλος_επανάληψης
Για ι από 1 μέχρι 60
	ΣΕΒ[ι]←0
τέλος_επανάληψης
λ←1
Π←1
πλ←1
Όσο λ<= 60 επανάλαβε
	Όσο ΕΘΝΟΣ[λ]=ΕΘΝΟΣ[Π] επανάλαβε
		ΣΕΒ[πλ]←ΣΕΒ[πλ]+ΣΒ[λ]
		Π←Π+1
	τέλος_επανάληψης
	ΝΕΘΝΟΣ←ΕΘΝΟΣ[λ]
	πλ←πλ+1
	λ←λ+Π
τέλος_επανάληψης
Για ι από 2 μέχρι πλ
	Για ξ από πλ μέχρι ι με_βήμα -1
		Αν ΣΒ[ξ-1]>ΣΒ[ξ] τότε
			Αντιμετάθεσε ΣΒ[ξ-1],ΣΒ[ξ]
			Αντιμετάθεσε ΝΕΘΝΟΣ[ξ-1],ΝΕΘΝΟΣ[ξ]
		τέλος_αν
	τέλος_επανάληψης
τέλος_επανάληψης
Για ι από 1 μέχρι 3
	Εμφάνισε ΝΕΘΝΟΣ[ι]
τέλος_επανάληψης
Εμφάνισε πλ
Τέλος ενόργανη
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Τελευταία επεξεργασία:

Vold

Πολύ δραστήριο μέλος

Ο Vold αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 28 ετών, Φοιτητής και μας γράφει απο Ηράκλειο (Κρήτη). Έχει γράψει 1,629 μηνύματα.
Το Γ ερώτημα θέλει λίγη περισσότερη σκέψη οπότε αν βρω χρόνο θα το κοιτάξω :)
Ωστόσο την λύση σου δεν την καταλαβαίνω ιδιαίτερα

Το παρακάτω κομμάτι θα ήταν πιο κομψό να το κάνεις δίχως χρήση έξτρα μεταβλητής.
Δηλαδή, αντί κάθε φορά να μηδενίζεις την αθρ, να γράφεις ΣΒ[ι]] <- 0

Για ι από 1 μέχρι 60
αθρ←0
Για ξ από 1 μέχρι 6
αθρ←αθρ+ΒΑΘΜΟΙ[ι,ξ]
τέλος_επανάληψης
ΣΒ[ι]←αθρ
τέλος_επανάληψης

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

Για ι από 1 μέχρι 60
Αν ΣΒ[ι]>μεγ τότε
μεγ←ΣΒ[ι]
θ←ι
τέλος_αν
τέλος_επανάληψης

Ακριβώς, κάτω από το προηγούμενο quote γράφεις αυτό ενώ ο πίνακας λέγεται ΟΝΟΜΑΤΑ

Εμφάνισε ΟΝ[θ]

Ομοίως κι εδώ, μπορείς απλά να γράψεις "Για ι από 1 μέχρι κ". Λιγότερες γραμμές κώδικα, πιο κατανοητό και λιγότερη μνήμη.

πλ←κ-1
Για κ από 1 μέχρι πλ

Στο κομμάτι αυτό, νομίζω πως έπρεπε να γράψεις "θμεγ← ΜΕΓΘ[κ]" γιατί οι αθλητές με το καλύτερο σκορ είναι διάσπαρτοι στον πίνακα. Ενώ με τον τρόπο σου είναι σαν να είναι στις πρώτες (πλ) θέσεις.

Για κ από 2 μέχρι πλ
Αν ΜΕΓ[κ]>μεγ τότε
μεγ←ΜΕΓ[κ]
θμεγ←κ
τέλος_αν
τέλος_επανάληψης

Κι εδώ το ίδιο με την ονομασία του πίνακα

Εμφάνισε ΟΝ[θμεγ]
Αντιμετάθεσε ΟΝ[ξ-1],ΟΝ[ξ]
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Τελευταία επεξεργασία:

Χρήστες Βρείτε παρόμοια

Top