Γενική συζήτηση για την ΑΕΠΠ

Γιώργος

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

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Διδακτορικός και μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 30,791 μηνύματα.
Το θέμα που ανοίγω μπορεί κάλλιστα να παρομοιαστεί με τις εφτά πληγές του Φαραώ. Συγκεκριμένα το εν λόγω μάθημα είναι... ζούγκλα, όσον αφορά τον προγραμματισμό, τις εντολές, τις δηλώσεις και γενικά την βασική θεωρία συγγραφής προγραμμάτων.


Τι εννοώ με τον όρο "ζούγκλα"; Θα το καταλάβετε με την εξής ερώτηση, την οποία μπορείτε να απαντήσετε όσοι έχετε κάνει φροντηστήρια:


Γράφουμε δήλωση μεταβλητών στον αλγόριθμο;








Στοίχημα ότι οι περισσότεροι από εσάς θα πείτε "ναι". Η απάντηση όμως είναι.... όχι!!!
Γιατί πολύ απλά δεν την ορίζει πουθενά το σχολικό βιβλίο.

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



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


Θα επανέλθω με περισσότερες πληροφορίες για βασικά πράγματα στα οποία άλλα λέει το σχολικό κι άλλα βλέπω στην πράξη.



Edit: Προσθέτω τα παροράματα του Βιβλίου και Τετραδίου Μαθητή όπως τα έδωσε το παιδαγωγικό ινστιτούτο. Να τα περάσετε οπωσδήποτε!

Σημείωση: Το παρόν θέμα είναι για θεωρία και λοιπές συζητήσεις. Για ασκήσεις πάμε εδώ.





Από Γιώργος
 

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

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

marpl

Νεοφερμένος

Η Maria αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι 35 ετών και Φοιτήτρια. Έχει γράψει 30 μηνύματα.
Τα παιδιά πρέπει να έχουν τη προσοχή τους στο βιβλίο. Το βιβλίο λοιπόν δεν αναφέρει πουθενά δηλώσεις μεταβλητών σε αλγόριθμο. Τί γίνεται όμως αν η άσκηση ξεκινάει αντί για "Γραψτε έναν αλγόριθμο..", "Γραψτε ένα πρόγραμμα.." ?
Τότε είναι που πρέπει να γίνει δήλωση μεταβλητών και να γραφτεί το πρόγραμμα με κεφαλαία.
 

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

Γιώργος

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

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Διδακτορικός και μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 30,791 μηνύματα.
Τα παιδιά πρέπει να έχουν τη προσοχή τους στο βιβλίο. Το βιβλίο λοιπόν δεν αναφέρει πουθενά δηλώσεις μεταβλητών σε αλγόριθμο. Τί γίνεται όμως αν η άσκηση ξεκινάει αντί για "Γραψτε έναν αλγόριθμο..", "Γραψτε ένα πρόγραμμα.." ?
Τότε είναι που πρέπει να γίνει δήλωση μεταβλητών και να γραφτεί το πρόγραμμα με κεφαλαία.

Συγκεκριμένα, όταν το βιβλίο σου λέει "Γράψτε αλγόριθμο" μπορείς να γράψεις είτε αλγόριθμο είτε πρόγραμμα.

Στην τελευταία σειρά της εξεταστέας Ύλης του ΥΠΕΠΘ αναφέρει ότι οι υποψήφιοι μπορούν να γράψουν τα προγράμματά τους είτε στη Γλώσσα Προγραμματισμού ΓΛΩΣΣΑ είτε σε αλγόριθμο. :)



Όταν όμως σου ζητά ΠΡΟΓΡΑΜΜΑ, θα γράφεις πρόγραμμα. ;)
 

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

marpl

Νεοφερμένος

Η Maria αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι 35 ετών και Φοιτήτρια. Έχει γράψει 30 μηνύματα.
Μμμ.. Αυτό δεν το ήξερα! Πάντως μεταξύ προγράμματος και αλγορίθμου ψηφίζω αλγόριθμο!
Που να κάνεις δηλώσεις και να γράφεις κεφαλαία.. Τζάμπα κόπος!
 

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

Γιώργος

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

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Διδακτορικός και μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 30,791 μηνύματα.
Μου έδωσες το καλύτερο πάτημα για να μπω στο πρώτο βασικό μέρος.



Αλγόριθμος vs ΓΛΩΣΣΑ

Βασικές Διαφορές (υπάρχουν κι άλλες): :)
  1. Η πρώτη βασική διαφορά είναι ότι όλες οι εντολές της ΓΛΩΣΣΑΣ γράφονται με ΚΕΦΑΛΑΙΑ, ενώ στην Αλγόριθμο με πεζά, με το πρώτο γράμμα κεφαλαίο (στις σελ. 36, 38 έχει τυπογραφικό, είναι με το πρώτο κεφαλαίο)

    Παράδειγμα

    Αλγόριθμος
    Code:
    Διάβασε x
    Πρόγραμμα
    Code:
    ΔΙΑΒΑΣΕ x
  2. Στο πρόγραμμα προηγείται η δήλωση ΣΤΑΘΕΡΩΝ (σύνταξη στη σελ. 149-150) και έπειτα η δήλωση ΜΕΤΑΒΛΗΤΩΝ (σελ. 151-152). Στον αλγόριθμο δεν υπάρχει δήλωση σταθερών/μεταβλητών και είμαι κάθετος σ' αυτό.
  3. Στον αλγόριθμο δεν ορίζονται οι συναρτήσεις της σελίδας 153.-
  4. Στον αλγόριθμο δεν ορίζονται υποπρογράμματα (Κεφ. 10). Συνεπώς αυτές οι ασκήσεις θα σας ζητούνται πάντα σε πρόγραμμα.
  5. Στις εξετάσεις όλες οι ασκήσεις μπορούν να γραφούν με πρόγραμμα, όχι όμως και με αλγόριθμο. Συγκεκριμένα, εάν σας ζητήσουν "Αλγόριθμο" έχετε δικαίωμα να κάνετε είτε αλγόριθμο είτε πρόγραμμα (όπως αναφέρεται στην εξεταστέα ύλη του ΥΠΕΠΘ). Όταν σας ζητήσουν ΠΡΟΓΡΑΜΜΑ σε γλώσσα προγραμματισμού ΓΛΩΣΣΑ είστε υποχρεωμένοι να κάνετε ΠΡΟΓΡΑΜΜΑ.
Από τα παραπάνω φαίνεται ότι το πρόγραμμα είναι μακράν καλύτερο. Συστήνω προσωπικά να γράφετε απ' την αρχή του έτους (από τώρα δηλαδή) όλα τα προγράμματά σας στη ΓΛΩΣΣΑ κι όχι σε αλγόριθμο.




Από Γιώργος
 

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

Vorbulon

Νεοφερμένος

Ο Vorbulon αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 33 ετών και Απόφοιτος. Έχει γράψει 102 μηνύματα.
Γεια σας! Και εγώ φέτος είμαι Γ Λυκείου. Τέλειο το forum! Όσον αφορά τους αλγορίθμους, νομίζω ότι υποστηρίζουν τις εντολές Δεδομένα // // και Αποτελέσματα // //, που χρησιμεύουν όταν δεν παίρνει το πρόγραμμα πληροφορίες από το χρήστη και όταν δεν εμφανίζει πληροφορίες προς το χρήστη, ενώ η ΓΛΩΣΣΑ δεν τις έχει. Ακόμα έχει κάποιες εντολές, όπως τις Εκτύπωσε, Τύπωσε, Εμφάνισε που στη ΓΛΩΣΣΑ γίνονται όλες ΓΡΑΨΕ. Σε αυτές τις περιπτώσεις μου έχει πει ο καθηγητής μου όταν γράφουμε πρόγραμμα γράφουμε στα σχόλια πού βγάζει τα αποτελέσματα (όταν η άσκηση λέει στην εκφώνηση να εμφανίζει στη οθόνη κλπ).

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

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

Γιώργος

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

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Διδακτορικός και μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 30,791 μηνύματα.
Καλώς τον. :)

Όσον αφορά τους αλγορίθμους, νομίζω ότι υποστηρίζουν τις εντολές Δεδομένα // // και Αποτελέσματα // //, που χρησιμεύουν όταν δεν παίρνει το πρόγραμμα πληροφορίες από το χρήστη και όταν δεν εμφανίζει πληροφορίες προς το χρήστη, ενώ η ΓΛΩΣΣΑ δεν τις έχει.
Σχετικά με αυτές τις εντολές:

~~~~

Δεδομένα //Μεταβλητή_1, Μεταβλητή_2, ... , Μεταβλητή_ν//

Παράδειγμα Σύνταξης:
Code:
[B]Αλγόριθμος [/B]Τεστ
[B]  Δεδομένα [/B]// [FONT=Georgia]π[/FONT], ν//
  ...
[B]Τέλος [/B]Τεστ
Η εντολή αυτή δείχνει ότι οι μεταβλητές αυτές, οι π και ν έχουν πάρει κάποια τιμή (που δεν την ξέρουμε) στην αρχή του προγράμματος, με κάποιον τρόπο που δεν μας ενδιαφέρει.
Είναι ένας τρόπος να "δηλώσουμε" σταθερές στον αλγόριθμο. Έτσι μπορείτε να χρησιμοποιήσετε την "σταθερά" π στον αλγόριθμο και μετά το τέλος του αλγορίθμου να γράψετε:

Σημείωση: Το π έχει πάρει την τιμή 3.14
Εγώ γενικά δεν είμαι υπέρ των σχολίων μέσα στο πρόγραμμα καθώς κουράζουν. Αν χρειαστεί να μπει κάτι, καλύτερα ως σημείωση μετά το τέλος του αλγορίθμου/προγράμματος.

Βέβαια στο πρόγραμμα είναι περιττό, καθώς θα γράφαμε:
Code:
[B]ΠΡΟΓΡΑΜΜΑ [/B]ΤΕΣΤ

[B]ΣΤΑΘΕΡΕΣ[/B]
  [FONT=Georgia]π[/FONT] = 3.14

[B]ΜΕΤΑΒΛΗΤΕΣ[/B]
  ...

[B]ΑΡΧΗ[/B]
  ...
[B] ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ[/B]
Όμοια η Αποτελέσματα //Μεταβλητή_1, Μεταβλητή_2, ... , Μεταβλητή_ν// εμφανίζει στον χρήστη τις τιμές των εν λόγω μεταβλητών με κάποιον τρόπο που δεν το ξέρουμε και δεν μας ενδιαφέρει.


Βέβαια τίποτα από αυτά δεν με ένοιαξε γιατί πάντα έγραφα πρόγραμμα. ;)


~~~~~~

Ας δούμε όμως ένα [highlight]παράδειγμα στο οποίο είναι χρήσιμη η εντολή Δεδομένα[/highlight]:

Εκφώνηση
Να γραφεί αλγόριθμος στον οποίο ο χρήστης θα δίνει n αριθμούς και θα εκτυπώνεται το άθροισμά τους.
Εδώ η εκφώνηση δεν μας λέει πόσο είναι αυτό το n. Δεν μπορούμε όμως να τρέξουμε είτε πρόγραμμα είτε αλγόριθμο εάν το n δεν έχει πάρει κάποια τιμή.-

Αλγόριθμος
Κάνουμε το εξής: χρησιμοποιούμε την εντολή: Δεδομένα //n//
Έτσι δηλώνουμε ότι το n έχει πάρει κάποια τιμή με κάποιον τρόπο που δεν μας ενδιαφέρει.
Η τιμή του n δεν θα διαβάζεται από τον χρήστη με εντολή Διάβασε καθώς δεν το ζητά η εκφώνηση.-


Έτσι έχουμε:
Code:
[B]Αλγόριθμος [/B]Άσκηση
[B]  Δεδομένα [/B]//n//
  SUM ← 0
[B]  Για [/B]i [B]από [/B]1 [B]μέχρι [/B]n
   [B] Εμφάνισε [/B]"Δώσε έναν αριθμό : "
   [B] Διάβασε [/B]x
    SUM ← SUM + x
  [B]Τέλος_επανάληψης[/B]
[B]  Εμφάνισε [/B]"Το άθροισμα των αριθμών είναι : ", SUM
[B]Τέλος [/B]Άσκηση
Υπενθυμίζω βασικά πράγματα:
  1. Στην Εμφάνισε τα εισαγωγικά είναι ΔΙΠΛΑ (σελ. 36-37) σε αντίθεση με το πρόγραμμα που είναι ΜΟΝΑ (σελ. 156).
  2. Στον αλγόριθμο ξεκινάμε χωρίς εντολή "Αρχή" και κλείνουμε με "Τέλος ΟΝΟΜΑ_ΠΡΟΓΡΑΜΜΑΤΟΣ" και όχι "Τέλος_Αλγορίθμου" - βλέπε σχολικό.
  3. Δεν έχουμε δηλώσεις μεταβλητών. Παρ' όλ' αυτά ο τύπος τους φαίνεται από τον τρόπο με τον οποίο υλοιποιούνται στο πρόγραμμα. Όπως βλέπουμε οι i, n, SUM είναι ή Ακεραίου ή Πραγματικού τύπου.
ΠΡΟΓΡΑΜΜΑ
Εδώ είναι πιο απλό. Παίρνουμε χωρίς βλάβη μία τυχαία τιμή σημειώνοντας πως δεν χαλάει η γενικότητα και το ορίζουμε στις ΣΤΑΘΕΡΕΣ. Ο λόγος είναι το ότι κάθε σταθερά/μεταβλητή πρέπει να παίρνει ξεκάθαρη τιμή, είτε μέσω του προγράμματος είτε μέσω του χρήστη.
Τονίζω ξανά πως τιμή του n δεν θα διαβάζεται από τον χρήστη με εντολή ΔΙΑΒΑΣΕ καθώς δεν το ζητά η εκφώνηση.-


Code:
Σημείωση: Χωρίς βλάβη της γενικότητας θα πάρουμε n=5.

[B]ΠΡΟΓΡΑΜΜΑ [/B]Άσκηση

[B]ΣΤΑΘΕΡΕΣ[/B]
  n = 5

[B]ΜΕΤΑΒΛΗΤΕΣ[/B]
[B]  ΑΚΕΡΑΙΕΣ[/B]: i
[B]  ΠΡΑΓΜΑΤΙΚΕΣ[/B]: x, SUM

[B]ΑΡΧΗ[/B]
  SUM ← 0
[B]  ΓΙΑ [/B]i [B]ΑΠΟ [/B]1 [B]ΜΕΧΡΙ [/B]n
   [B] ΓΡΑΨΕ [/B]'Δώσε έναν αριθμό : '
   [B] ΔΙΑΒΑΣΕ [/B]x
    SUM ← SUM + x
  [B]ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ[/B]
 [B] ΓΡΑΨΕ [/B]'Το άθροισμα των αριθμών είναι : ", SUM[B]
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ[/B]
Σημείωση: Προσέξτε πόσο προσεκτικά τηρώ τα διάκενα όταν πρέπει (δηλ. τα σημεία στα οποία γράφουμε τις εντολές λίγο πιο μέσα). Να τα τηρείτε καθώς βοηθούν εσάς και τον εξεταστή. ;)





Ακόμα έχει κάποιες εντολές, όπως τις Εκτύπωσε, Τύπωσε, Εμφάνισε που στη ΓΛΩΣΣΑ γίνονται όλες ΓΡΑΨΕ. Σε αυτές τις περιπτώσεις μου έχει πει ο καθηγητής μου όταν γράφουμε πρόγραμμα γράφουμε στα σχόλια πού βγάζει τα αποτελέσματα (όταν η άσκηση λέει στην εκφώνηση να εμφανίζει στη οθόνη κλπ).
  1. Η εντολή "Τύπωσε" δεν υπάρχει.- Στον αλγόριθμο ορίζονται μόνο οι:
    • Εκτύπωσε
    • Εμφάνισε
    οι οποίες είναι ισοδύναμες μεταξύ τους και με την εντολή ΓΡΑΨΕ της ΓΛΩΣΣΑΣ.
  2. Οι "Εμφάνισε" και "Εκτύπωσε" στον αλγόριθμο είναι πρακτικά ισοδύναμες. Θεωρητικά όχι, καθώς στη [highlight]σελίδα 32 του βιβλίου[/highlight] αναφέρεται ότι:
    • Η Εκτύπωσε "αποτυπώνει το τελικό αποτέλεσμα στον εκτυπωτή."
    • Η Εμφάνισε "αποτυπώνει ένα αποτέλεσμα στην οθόνη."
  3. Στη [highlight]σελίδα 156 του βιβλίου[/highlight] αναφέρεται ότι:
    • "Κατά την εκτέλεση του προγράμματος η εντολή ΓΡΑΨΕ προκαλεί την εμφάνιση στην οθόνη των σταθερών τιμών."
Κοινώς δεν χρειάζεται κανένα σχόλιο για το πού βγάζει τα αποτελέσματα. Με το συμπάθειο, αλλά σας λέει μ@λ@κίες και φαίνεται ότι δεν έχει ανοίξει το σχολικό βιβλίο. :)



Εγώ σας το 'χω πει: Διαβάζετε το σχολικό βιβλίο!!!!



Σημείωση: Υπενθυμίζω ότι οι εντολές του αλγόριθμου έχουν το πρώτο γράμμα κεφαλαίο και όλα τα άλλα πεζά. [highlight]Το βιβλίο έχει κάποια λάθη. Δείτε το πρώτο ποστ όπου ανέβασα τα παροράματα του Παιδαγωγικού Ινστιτούτου.[/highlight]




Ακόμα πιστεύω ότι στον αλγόριθμο τα πράγματα είναι πιο ελεύθερα (πχ. νομίζω ότι μπορείς να βάλεις εντολή Αντιμετάθεσε κλπ), αφού δεν απευθύνεται σε υπολογιστή. Εγώ πάντως γράφω τις πιο πολλές φορές σε πρόγραμμα.
Ακριβώς επειδή είναι πιο ελεύθερα.. εκεί είναι το πρόβλημα. Το βιβλίο δεν ορίζει ρητά κάποια πράγματα. Γι' αυτό εγώ συστήνω ΠΡΟΓΡΑΜΜΑ όπου το βιβλίο τα ορίζει άψογα και δεν θα υπάρχει πρόβλημα στη διόρθωση. (Σημειώνω ξανά ότι οι συναρτήσεις ΣΥΝ(x) κτλ είναι μόνο για το πρόγραμμα)




Από Γιώργος
 

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

Anarki

Διάσημο μέλος

Ο Αλέξης αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Φοιτητής και μας γράφει απο Χανιά (Χανιά). Έχει γράψει 3,345 μηνύματα.
Πολύ χαζός τρόπος διδασκαλίας προγραμματισμού, κολλάει υπερβολικά σε λεπτομέρειες.
Όταν γράφεις πρόγραμμα πρέπει να γράφεις όλες τις εντολές με κεφαλαία στο χαρτί; Τραγικό :lol: .
Καλό κουράγιο σε όσους θα το δώσουν.
 

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

Scandal

Διαχειριστής

Ο Πέτρος αυτή τη στιγμή είναι συνδεδεμένος. Είναι 34 ετών, Φοιτητής του τμήματος Πληροφορικής ΟΠΑ και μας γράφει απο Περιστέρι (Αττική). Έχει γράψει 16,691 μηνύματα.
Πολύ χαζός τρόπος διδασκαλίας προγραμματισμού, κολλάει υπερβολικά σε λεπτομέρειες.
Όταν γράφεις πρόγραμμα πρέπει να γράφεις όλες τις εντολές με κεφαλαία στο χαρτί; Τραγικό :lol: .
Καλό κουράγιο σε όσους θα το δώσουν.
Ναι έτσι είναι, 3 μιση με 4 σελίδες A4 με εντολές (αν σκεφτείς ότι σε κάθε σειρά της σελίδας μπαίνει και μία εντολή :!: ). (+ ότι πρώτα τα κάνουμε στο πρόχειρο και τα αντιγράφουμε).

Δε μπορώ να καταλάβω γιατί επικρατεί αυτή η σύγχυση στον τρόπο διδασκαλίας του. :(



-petros
 

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

Γιώργος

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

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Διδακτορικός και μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 30,791 μηνύματα.
Να πω και κάτι ακόμα.... για την αλλαγή γραμμής.


Ως γνωστόν η σελίδα του τετραδίου δεν είναι απεριόριστη, μπορεί κάποια στιγμή να χρειαστεί να γράψετε μία μεγάλη εντολή (πχ μία μεγάλη ΓΡΑΨΕ) και να χρειαστεί να γράψετε αποκάτω.

Τι κάνουμε εκεί; Απλό.
Σχολικό βιβλίο, σελίδα 157
Κάθε εντολή γράφεται σε ξεχωριστή γραμμή. ΑΝ μία εντολή πρέπει να συνεχιστεί και στην επόμενη γραμμή, τότε ο πρώτος χαρακτήρας αυτής της γραμμής πρέπει να είναι ο χαρακτήρας &.
Παράδειγμα:
Code:
[B]ΠΡΟΓΡΑΜΜΑ [/B]TestTestTest

[B]ΜΕΤΑΒΛΗΤΕΣ[/B]
  [B]ΑΚΕΡΑΙΕΣ:[/B] i

[B]ΑΡΧΗ[/B]
  i ← 83
[B]  ΓΡΑΨΕ [/B]'Η τιμή της μεταβλητής i ισούται
&        με ', i, ' ή αλλιώς με 2 * ', i DIV 2, ' + ', i MOD 2[B]
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ[/B]
Όπως βλέπουμε ο πρώτος χαρακτήρας της επόμενης γραμμής είναι ο '&'. Το πού θα συνεχίσουμε μετά την εντολή (δηλ. κάτω από τη ΓΡΑΨΕ ή κάτω από εκεί που αρχίζουν τα εισαγωγικά) δεν έχει σημασία. Όπως δεν έχει σημασία κι αν το '&' θα το γράψουμε στην αρχή-αρχή ή κάτω από την ΓΡΑΨΕ, δηλ. δεν έχουν σημασία τα ΚΕΝΑ που θ' αφήσουμε - εγώ συνηθίζω να μην αφήνω κενό για το '&'.


Αυτό ισχύει στο πρόγραμμα. :)




Κι επειδή κάποιοι θα ρωτήσουν: "Στον αλγόριθμο τι γίνεται;"
Απαντώ: Έλα ντε!! :D

Ο αλγόριθμος δεν το ορίζει!!!! Συμπέρασμα: γράφε με ΠΡΟΓΡΑΜΜΑ ή αλλιώς φρόντισε να χωρέσεις κάθε εντολή σε μία γραμμή. ;)


Σημείωση: Για τους νέους στον προγραμματισμό πάρτε ως απλή άσκηση τι θα εμφανίσει η εντολή ΓΡΑΨΕ για τις τιμές 8, 36, 98, 138, 51 του i.






Από Γιώργος
 

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

Vorbulon

Νεοφερμένος

Ο Vorbulon αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 33 ετών και Απόφοιτος. Έχει γράψει 102 μηνύματα.
Η εντολή "Τύπωσε" δεν υπάρχει.
Βασικά το βιβλίο σ.47 λέει ότι μπορείς να χρησιμοποιήσεις οποιοδήποτε ρήμα σε προστακτική και στη σ. 48 το χρησιμοποιεί στον αλγόριθμο με φυσική γλώσσα κατά βήματα. Αλλά κανείς δεν ξέρει αν θα σου το πάρουν σωστό. Γι' αυτό προτιμώ ΓΛΩΣΣΑ

όταν η άσκηση λέει στην εκφώνηση να εμφανίζει στη οθόνη κλπ
"Κατά την εκτέλεση του προγράμματος η εντολή ΓΡΑΨΕ προκαλεί την εμφάνιση στην οθόνη των σταθερών τιμών."
'Εχεις δίκιο για τη ΓΡΑΨΕ(λάθος το παράδειγμα που έφερα εγώ). Αλλά αν σου λέει η άσκηση να εκτυπώνει τα αποτελέσματα;(γι'αυτό μας έχει πει ο καθηγητής μας)

Όσο για τη χρήση του Δεδομένα // // και Αποτελέσματα // // δείτε το θέμα 3 στις πανελλήνιες του 2002 https://www.ypepth.gr/themata/them_plir_kat_c_hmer_no_0602.pdf
 

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

Γιώργος

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

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Διδακτορικός και μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 30,791 μηνύματα.
Βασικά το βιβλίο σ.47 λέει ότι μπορείς να χρησιμοποιήσεις οποιοδήποτε ρήμα σε προστακτική και στη σ. 48 το χρησιμοποιεί στον αλγόριθμο με φυσική γλώσσα κατά βήματα. Αλλά κανείς δεν ξέρει αν θα σου το πάρουν σωστό. Γι' αυτό προτιμώ ΓΛΩΣΣΑ
Δεν σου ορίζει όμως πιο πριν την τύπωσε ή την Τύπωσε, μόνο την Εκτύπωσε και Εμφάνισε.

'Εχεις δίκιο για τη ΓΡΑΨΕ(λάθος το παράδειγμα που έφερα εγώ). Αλλά αν σου λέει η άσκηση να εκτυπώνει τα αποτελέσματα;(γι'αυτό μας έχει πει ο καθηγητής μας)
"Εκτύπωσε" και "Εμφάνισε στην οθόνη" είναι το ένα και το αυτό. Το λέει άλλωστε ξεκάθαρα στην ύλη του ΥΠΕΠΘ: Οι υποψήφιοι μπορούν να συντάσσουν τα προγράμματά τους είτε σε αλγόριθμο είτε στη γλώσσα προγραμματισμού ΓΛΩΣΣΑ.-

Αν σου ζητήσουν αλγόριθμο, γράφεις ή αλγόριθμο ή ΓΛΩΣΣΑ. Αν σου ζητήσουν ΓΛΩΣΣΑ γράφεις ΓΛΩΣΣΑ.

Όσο για τη χρήση του Δεδομένα // // και Αποτελέσματα // // δείτε το θέμα 3 στις πανελλήνιες του 2002 https://www.ischool.gr/downloads/files/2002/2002-texnologiki-aepp.pdf
Simple enough:

Code:
[B]ΠΡΟΓΡΑΜΜΑ[/B] Θέμα3ο[B]

ΣΤΑΘΕΡΕΣ[/B]

  ΔΙΚΥΚΛΟ        = 'Δ'
  ΕΠΙΒΑΤΙΚΟ      = 'Ε'
  ΦΟΡΤΗΓΟ        = 'Φ'
  ΤΙΜΗ_ΔΙΚΥΚΛΟ   = 1
  ΤΙΜΗ_ΕΠΙΒΑΤΙΚΟ = 2
  ΤΙΜΗ_ΦΟΡΤΗΓΟ   = 3

[B]ΜΕΤΑΒΛΗΤΕΣ[/B]

[B]  ΠΡΑΓΜΑΤΙΚΕΣ[/B]: Υ, Α
[B]  ΧΑΡΑΚΤΗΡΕΣ[/B]: Τ

[B]ΑΡΧΗ[/B]
[B]  ΓΡΑΨΕ [/B]'Δώσε τον τύπο του τροχοφόρου : '
[B]  ΔΙΑΒΑΣΕ [/B]Τ
[B]  ΓΡΑΨΕ [/B]'Δώσε το υπόλοιπο σε ευρώ : '
[B]  ΔΙΑΒΑΣΕ [/B]Υ

[B]  ΕΠΙΛΕΞΕ [/B]Τ
   [B] ΠΕΡΙΠΤΩΣΗ [/B]ΔΙΚΥΚΛΟ
      Α ← ΤΙΜΗ_ΔΙΚΥΚΛΟ
   [B] ΠΕΡΙΠΤΩΣΗ [/B]ΕΠΙΒΑΤΙΚΟ
      Α ← ΤΙΜΗ_ΕΠΙΒΑΤΙΚΟ
   [B] ΠΕΡΙΠΤΩΣΗ [/B]ΦΟΡΤΗΓΟ
      Α ← ΤΙΜΗ_ΦΟΡΤΗΓΟ
    [B]ΠΕΡΙΠΤΩΣΗ_ΑΛΛΙΩΣ[/B]
      Α ← 0
  [B]ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ[/B]

[B]  ΑΝ [/B]Α<>0
   [B] ΑΝ [/B]Υ <= 0 [B]ΤΟΤΕ[/B]
     [B] ΓΡΑΨΕ [/B]'Δεν υπάρχει υπόλοιπο. Πρέπει να πληρωθούν ', Α, ' ευρώ.'
    [B]ΑΛΛΙΩΣ_ΑΝ[/B] Υ < Α [B]ΤΟΤΕ[/B]
      Α ← Α - Υ
      Υ ← 0
     [B] ΓΡΑΨΕ [/B]'Απομένουν να πληρωθούν ', Α, ' ευρώ.'
   [B] ΑΛΛΙΩΣ[/B]
      Α ← Α - Υ
    [B]ΤΕΛΟΣ_ΑΝ[/B]
[B]   ΤΕΛΟΣ_ΑΝ[/B]
[B] ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ[/B]
Ψαρώνεις επειδή λέει "φωτοκύτταρο"; :D
Κανείς δεν μπορεί να σε υποχρεώσει με οποιαδήποτε εκφώνηση να γράψεις αλγόριθμο.-
Κι όταν γράφεις πρόγραμμα και χρειάζεσαι εισαγωγή δεδομένων τα εισάγεις με ΓΡΑΨΕ-ΔΙΑΒΑΣΕ, εφόσον το βιβλίο δεν ορίζει κάποιον άλλον τρόπο.

Το "Φωτοκύτταρο" ήταν απλά ψαρωτικό. Και φαίνεται ο καθηγητής σου την πάτησε. ;)


Σημειώσεις:
  1. Προσέξτε πώς υλοποίησα την ΑΝ που ελέγχει το υπόλοιπο. Πρώτα έβαλα τον έλεγχο του αρνητικού ή μηδενός ("δεν υπάρχει υπόλοιπο"), γιατί εμπεριέχεται στην περίπτωση Υ < Α που ακολουθεί.
  2. Το ΠΕΡΙΠΤΩΣΗ_ΑΛΛΙΩΣ θέλει τον χαρακτήρα Underscore (δηλ. τον '_') καθώς πρόκειται για μία δεσμευμένη λέξη. Όπως και το ΜΕ_ΒΗΜΑ στη ΓΛΩΣΣΑ (έτσι το κανα στο τέλος και δεν μου 'κοψαν τίποτα).
  3. Αν δείτε έχω αφήσει κενές γραμμές μεταξύ των βασικών τμημάτων του προγράμματός μου: Εισαγωγή δεδομένων - Αναγνώριση τύπου - Ενέργεια επί του υπολοίπου. Αυτό συστήνω εγώ. Σχόλια (πχ τύπου "!Εισαγωγή δεδομένων" δεν χρειάζονται και κουράζουν. ;)
  4. Αν δείτε η ενέργειες γίνονται μόνο για την περίπτωση που δοθεί έγκυρος τύπος τροχοφόρου (ΑΝ Α<>0). Στην περίπτωση που δεν είναι, το πρόγραμμα δεν κάνει τίποτα. Δεν βάζουμε έλεγχο δεδομένων με δομή επανάληψης, ούτε τυπώνουμε μήνυμα λάθους γιατί δεν το ζητάει.







Από Γιώργος
 

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

Vorbulon

Νεοφερμένος

Ο Vorbulon αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 33 ετών και Απόφοιτος. Έχει γράψει 102 μηνύματα.
Λέει ότι το μηχάνημα και όχι ο χρήστης διαβάζει 2 μεταβλητές (Υ,Τ) που τις έχουμε σαν δεδομένα (από μόνα τους, σαν να τα είχε αποθηκεύσει από πριν) έτσι όπως το λέει η άσκηση, γι' αυτό και θεωρώ ότι καταλληλότερος είναι ο αλγόριθμος. Παρ' όλα αυτά μπορείς να το γράψεις και σε ΓΛΩΣΣΑ, απλά εγώ θα έγραφα ένα σχόλιο από δίπλα.

ΥΓ: Το Link που έβαλες είναι λάθος
ΥΓ2: Αν και δεν είδα όλο το πρόγραμμα που έφτιαξες, δεν πρέπει να γράψεις ΧΑΡΑΚΤΗΡΑΣ, αλλά ΧΑΡΑΚΤΗΡΕΣ, κι ας είναι και ένας
 

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

Γιώργος

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

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Διδακτορικός και μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 30,791 μηνύματα.
Λέει ότι το μηχάνημα και όχι ο χρήστης διαβάζει 2 μεταβλητές (Υ,Τ) που τις έχουμε σαν δεδομένα (από μόνα τους, σαν να τα είχε αποθηκεύσει από πριν) έτσι όπως το λέει η άσκηση, γι' αυτό και θεωρώ ότι καταλληλότερος είναι ο αλγόριθμος. Παρ' όλα αυτά μπορείς να το γράψεις και σε ΓΛΩΣΣΑ, απλά εγώ θα έγραφα ένα σχόλιο από δίπλα.

ΥΓ: Το Link που έβαλες είναι λάθος
ΥΓ2: Αν και δεν είδα όλο το πρόγραμμα που έφτιαξες, δεν πρέπει να γράψεις ΧΑΡΑΚΤΗΡΑΣ, αλλά ΧΑΡΑΚΤΗΡΕΣ, κι ας είναι και ένας
Έτσι λέει, αλλά έχει ψαρωτικό χαρακτήρα. Υπάρχει άλλος τρόπος εισαγωγής δεδομένων στο ΠΡΟΓΡΑΜΜΑ; Όχι. Ας λέει απ' το μηχάνημα, αν το γράψεις έτσι δεν στο κόβουν.
Δεν υπάρχει ΚΑΜΙΑ άσκηση που δεν λύνεται με ΠΡΟΓΡΑΜΜΑ.


ΥΓ1> Χμμ μάλλον. Έχουμε btw δικό μας section.
ΥΓ2> Σωστός, σελίδα 152. Αυτά έχει αν ασχολείσαι με C και PASCAL ταυτόχρονα. :D
 

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

Vorbulon

Νεοφερμένος

Ο Vorbulon αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 33 ετών και Απόφοιτος. Έχει γράψει 102 μηνύματα.
Ορίστε και το σωστό link: https://www.ischool.gr/downloads/files/2002/2002-texnologiki-aepp.pdf

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

BTW Οι απαντήσεις που έχει είναι από το ΥΠΕΠΘ ή από κανένα φροντιστήριο;
 

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

Γιώργος

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

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Διδακτορικός και μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 30,791 μηνύματα.
Ορίστε και το σωστό link: https://www.ischool.gr/downloads/files/2002/2002-texnologiki-aepp.pdf

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

BTW Οι απαντήσεις που έχει είναι από το ΥΠΕΠΘ ή από κανένα φροντιστήριο;
Από φροντηστήριο μάλλον.


Έχει 3 λάθη!!
  1. Λείπει το Τέλος Διόδια όπως είπες.
  2. Στον αλγόριθμο ΔΕΝ ορίζεται το >= αλλά το ≥ (σελίδα 46). Προσοχή σ' αυτό!! Το >= είναι για το πρόγραμμα, το ≥ για τον αλγόριθμο.
  3. Η σωστή γραφή των εντολών είναι, σύμφωνα με την σελίδα 46:
    • Αλλιως_Αν >> αλλιώς_αν (πεζά και τόνος!)
    • Αλλιώς >> αλλιώς
Πολύ σωστά πάντως - κι εκλπήσσομαι :P - βάζει στην Εμφάνισε διπλά εισαγωγικά.
Εντούτοις εδώ δεν χρειάζεται όντως να κάνουμε τον αλγόριθμο να μην εξετάζει την περίπτωση που ο τύπος Τ είναι απαράδεκτος γιατί υποτίθεται ότι θα δοθεί σωστά. Εντούτοις συνιστώ πρόγραμμα και πάλι πρόγραμμα. Όπως σου 'πα όλες οι ασκήσεις λύνονται με ΠΡΟΓΡΑΜΜΑ. Εντούτοις δεν λύνονται όλες οι ασκήσεις με αλγόριθμο (πχ αν θες συνάρτηση ημιτόνου ή ακεραίου μέρους).
 

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

Vorbulon

Νεοφερμένος

Ο Vorbulon αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 33 ετών και Απόφοιτος. Έχει γράψει 102 μηνύματα.
Η σωστή γραφή των εντολών είναι, σύμφωνα με την σελίδα 46:Αλλιως_Αν >> αλλιώς_αν (πεζά και τόνος!)Αλλιώς >> αλλιώς
Πολύ σωστά πάντως - κι εκλπήσσομαι :P - βάζει στην Εμφάνισε διπλά εισαγωγικά.

Για αυτά δες τις παρατηρήσεις που έχει κάτω από το 4ο θέμα. (Πάντως οι τόνοι είναι σίγουρα λάθος. BTW και στο Ή βάζουμε τόνο!). Μάλλον όμως δεν ισχύουν και τώρα. :'(

Εγώ πάντως το βρίσκω σωστό αυτό με τα κεφαλαία και τα μικρά, γιατί τα γράμματα σαν ονόματα μεταβλητών (άρα πιστεύω και εντολών) θεωρούνται ίδια (πχ. το χ και το Χ είναι ίδια). ΠΡΟΣΟΧΗ: δεν ισχύει το ίδιο και με τα αλφαριθμητικά!
 

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

Γιώργος

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

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Διδακτορικός και μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 30,791 μηνύματα.
Για αυτά δες τις παρατηρήσεις που έχει κάτω από το 4ο θέμα. (Πάντως οι τόνοι είναι σίγουρα λάθος. BTW και στο Ή βάζουμε τόνο!). Μάλλον όμως δεν ισχύουν και τώρα. :'(

Εγώ πάντως το βρίσκω σωστό αυτό με τα κεφαλαία και τα μικρά, γιατί τα γράμματα σαν ονόματα μεταβλητών (άρα πιστεύω και εντολών) θεωρούνται ίδια (πχ. το χ και το Χ είναι ίδια). ΠΡΟΣΟΧΗ: δεν ισχύει το ίδιο και με τα αλφαριθμητικά!
Το Ή θέλει τόνο, όντως. Και στον αλγόριθμο είναι ή.


Με το συμπάθειο, αλλά δεν δίνω γρι αν είναι ισοδύναμα ή όχι, εκτός αν υπάρχει η παρατήση που λες (δεν έχω επιθετικό τόνο, don't worry :P). Το βιβλίο πάντως ορίζει: Αλγόριθμος > Πεζά, ΓΛΩΣΣΑ > Κεφαλαία.
Επίσης στα θέματα του 2006 δεν υπάρχει αυτή η παρατήρηση. ;)

Οπότε το θέμα είναι απλό: ΠΑΝΤΑ πρόγραμμα και ΠΑΝΤΑ όπως το ορίζει το σχολικό.



Όσο για το αν το πρόγραμμα λαμβάνει τις μεταβλητές X και x ίδιες.. θα έλεγα ναι γιατί η PASCAL (ουσιαστικά PASCAL είναι) είναι case-insencitive, δηλαδή δεν διαχωρίζει κεφαλαία - πεζά. ;)
 

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

moprela

Νεοφερμένος

Η moprela αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι 39 ετών και Φοιτήτρια. Έχει γράψει 4 μηνύματα.
Γειας σας, να κάνω κάποιες ερωτήσεις (γιατί πραγματικά το μάθημα είναι ζούγκλα όπως βλέπω)
1. Τι γίνεται με την προτεραιότητα των λογικών τελεστών και, ή, όχι; Το βιβλίο δεν λέει κάτι. Οι αντίστοιχες ασκήσεις όμως πως πρέπει να λύνονται;
2. Στον αλγόριθμο, η υποδιαστολή των δεκαδικών αριθμών είναι το κόμμα ή η τελεία. Άλλα λέει το βιβλίο (σελ 46) και άλλα κάνει (πχ σελ 38)

Και κάποιες ακόμα απορίες:
3. για τα div και mod: Έστω a div b ή a mod b. Τα a και b πρέπει να είναι θετικοί ακέραιοι και στις 2 περπτώσεις;Και το αποτέλεσμα τους ακέραιος αριθμός; Στις περίπτωσεις που είναι a ή/και το b αρνητικός ή πραγματικός τι γίνεται; Γενικά μπερδέτικα..Μπορείτε να μου πείτε γενικά τι ισχύει για αυτές τις δύο εντολές;
 

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

Γιώργος

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

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Διδακτορικός και μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 30,791 μηνύματα.
Γειας σας, να κάνω κάποιες ερωτήσεις (γιατί πραγματικά το μάθημα είναι ζούγκλα όπως βλέπω)
1. Τι γίνεται με την προτεραιότητα των λογικών τελεστών και, ή, όχι; Το βιβλίο δεν λέει κάτι. Οι αντίστοιχες ασκήσεις όμως πως πρέπει να λύνονται;
2. Στον αλγόριθμο, η υποδιαστολή των δεκαδικών αριθμών είναι το κόμμα ή η τελεία. Άλλα λέει το βιβλίο (σελ 46) και άλλα κάνει (πχ σελ 38)

Και κάποιες ακόμα απορίες:
3. για τα div και mod: Έστω a div b ή a mod b. Τα a και b πρέπει να είναι θετικοί ακέραιοι και στις 2 περπτώσεις;Και το αποτέλεσμα τους ακέραιος αριθμός; Στις περίπτωσεις που είναι a ή/και το b αρνητικός ή πραγματικός τι γίνεται; Γενικά μπερδέτικα..Μπορείτε να μου πείτε γενικά τι ισχύει για αυτές τις δύο εντολές;
Καλωσήρθες! :)
  1. Το βιβλίο όντως δεν αναφέρει τίποτα για την προτεραιότητα των τελεστών ΚΑΙ, Ή, ΟΧΙ. Αρχικά το σίγουρο είναι ότι μεγαλύτερη προτεραιότητα έχει το ΟΧΙ, μιας και δουλεύει με έναν τελεστέο και όχι με δύο, όπως οι άλλοι δύο τελεστές.
    Πχ λέμε ΟΧΙ(Χ) (μία μεταβλητή), αλλά Χ ΚΑΙ Υ (δύο μεταβλητές).
    Μεταξύ των ΚΑΙ και Ή: στην πράξη (δηλ. στον προγραμματισμό) μεγαλύτερη προτεραιότητα έχει το ΚΑΙ και έπειτα το Ή.
    Παράδειγμα:
    Code:
    Α [B]Ή[/B] Β [B]ΚΑΙ[/B] Γ [I]ισοδύναμο με[/I] Α [B]Ή[/B] (Β [B]ΚΑΙ[/B] Γ)
    Εντούτοις το σχολικό δεν το αναφέρει. Εγώ θα πρότεινα να τους παίρνετε από τα αριστερά προς τα δεξιά, θεωρώντας τους ισοδύναμους, δηλαδή:
    Code:
    Α [B]Ή[/B] Β [B]ΚΑΙ[/B] Γ [I]ισοδύναμο με[/I] (Α [B]Ή[/B] Β) [B]ΚΑΙ[/B] Γ
    Αν και κατά τη γνώμη μου αποκλείεται να σας δώσουν άσκηση που δεν θα υπάρχουν παρενθέσεις για να σου καθορίζουν την σειρά. Επίσης όταν χρησιμοποιείτε λογικούς τελεστές πάντα παρενθέσεις για να δείχνετε την προτεραιότητα.
  2. Δεν έχω αυτή τη στιγμή το βιβλίο μπροστά μου για να δω τι παίζει με τον αλγόριθμο (πολύ σωστή που το συμβουλεύεσαι), αλλά η λύση είναι απλή: γράφε με ΠΡΟΓΡΑΜΜΑ όπου η υποδιαστολή είναι η τελεία. ;)
  3. DIV και MOD. Ορίζεται μόνο σε ΑΚΕΡΑΙΕΣ μεταβλητές. Αν βάλεις πραγματικές το πρόγραμμα σταματά τη λειτουργία του και βγαίνει μήνυμα λάθους. Εάν οι μεταβλητές είναι ετερόσημες τότε κάνεις την πράξη σαν να ήταν και οι δύο θετικές και προσθέτεις μπροστά το (-), όπως το κάνει κι η ΓλωσσοΜάθεια. Εάν είναι ομόσημες όπως τα ξέρεις.
    Πάνω σ' αυτό: Η πράξη / (διαίρεση) ΔΕΝ ορίζεται για ακέραιες μεταβλητές. Και οι δύο μεταβλητές θα πρέπει να είναι ΠΡΑΓΜΑΤΙΚΟΥ τύπου. Αν υπάρχει στην άσκηση κάποια μεταβλητή που παίρνει ακέραιες τιμές αλλά πρέπει να χρησιμοποιήσετε το /, δηλώστε την πραγματική. ΑΚΕΡΑΙΕΣ και ΠΡΑΓΜΑΤΙΚΕΣ μεταβλητές δεν συνδιάζονται, σύμφωνα με μία σημείωση στο δεξί μέρος της σελίδας 155 (ναι τη σελίδα τη θυμάμαι απ' έξω :D).



Από Γιώργος
 

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

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

  • Τα παρακάτω 0 μέλη και 1 επισκέπτες διαβάζουν μαζί με εσάς αυτό το θέμα:
    Tα παρακάτω 7 μέλη διάβασαν αυτό το θέμα:
  • Φορτώνει...
Top