Κλήση υποπρογράμματος

Ξεκίνησε από ikariofil, 22 Φεβ 2007, 02:37:34 ΜΜ

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

ikariofil

Ήθελα να ρωτήσω:
Μια διαδικασία μπορεί να καλέσει συνάρτηση. Μια συνάρτηση μπορεί να καλέσει διαδικασία;
Στο βιβλίο μου φαίνεται ότι λέει πως κάθε υποπρόγραμμα μπορεί να κληθεί από άλλο υποπρόγραμμα ή το κυρίως πρόγραμμα.
Σκέφτομαι να φτιάξω μια άσκηση, αλλά θέλω να είμαι σίγουρος.

Wizard

Νομίζω ότι η απάντηση είναι ναι, αρκεί η διαδικασία να μη διαβάζει/εκτυπώνει δεδομένα.

petrosp13

Μπορεί να καλέσει. Γιατί να μην μπορεί;;
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

evry


  Μέσα σε μια συνάρτηση δεν πρέπει να έχουμε ανάγνωση ή εκτύπωση δεδομένων. Αυτό είναι απλά κακή πρακτική. Όχι ότι δε γίνεται, γίνεται, απλά σε αυτή την περίπτωση κακώς έχεις ορίσει συνάρτηση, θα έπρεπε να ορίσεις διαδικασία.
   Για παράδειγμα, θα μπορούσα να ορίσω μια συνάρτηση η οποία θα διαβάζει έναν πίνακα και θα τον επιστρέφει. Φαίνεται αυτό καλή πρακτική; Μάλλον όχι, αλλά γίνεται.
   Αν κάποιος πειράξει τον μετρητή i μέσα σε επανάληψη ΓΙΑ..ΑΠΟ..ΜΕΧΡΙ είναι λάθος? όχι, μπορεί να το κάνει, αλλά δεν πρέπει γιατί σε αυτή την περίπτωση θα έπρεπε να είχε χρησιμοποιήσει Όσο και όχι Για. Είναι δηλαδή κακή πρακτική όπως λέει και το τετράδιο μαθητή.
    Τώρα για όσους πάνε by the book, στη σελίδα 210 του βιβλίου λέει τι μπορεί και τι δε μπορεί να κάνει μια διαδικασία και μια συνάρτηση. Πιστεύω ότι αν και δεν το λέει ξεκάθαρα, όποιος το διαβάζει καταλαβαίνει ότι για εισαγωγή/εξαγωγή δεδομένων πρέπει να χρησιμοποιούμε διαδικασία.

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