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

teacher

Νεοφερμένος

Ο teacher αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 52 ετών και Καθηγητής. Έχει γράψει 68 μηνύματα.
Μας ενδιαφέρει πώς το τρέχει η ΓλωσσοΜάθεια όμως που είναι κάτι σαν γλώσσα προγραμματισμού. :D
(Παίρνει και αρχεία όμως!!! :P)

Η γλωσσομάθεια το τρέχει όπως ... το έχει ορίσει αυτός που την έγραψε. Δεν πρόκειται για επίσημο πρόγραμμα του υπουργείου και δεν αποτελεί πανάκεια στα προβλήματά σας :P. Ούτε λέει το βιβλίο πουθενά τί συμβαίνει σ' αυτή την περίπτωση.

Επειδή όμως ο συνάδελφος που την έγραψε είναι στο σχολείο μου, θα τον ρωτήσω πως το σκέφτηκε και θα σας πώ :D Μπορεί να προκύψει και καμιά διόρθωση ;)

BTW, η δική μου άποψη είναι ότι το αποτέλεσμα της πράξης πρέπει να είναι όπως ακριβώς στα μαθηματικά.
 

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

teacher

Νεοφερμένος

Ο teacher αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 52 ετών και Καθηγητής. Έχει γράψει 68 μηνύματα.
Το θέμα τελικά με τα πρόσημα των τελεστών στις div και mod είναι παλιό και μεγάλο. Ο κ. Νικολαϊδης απ'ότι μου είπε το υλοποίησε όπως υλοποιείται στις γλώσσες προγραμματισμού.

Όμως υπάρχει λέει δέσμευση από το παιδαγωγικό ινστ. ότι δεν πρόκειται να πέσει άσκηση με αρνητικό πρόσημο στους τελεστές, οπότε απλά ξεχάστε το. ;)
 

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

eliza04

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

Η Ελισαβετ αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι 34 ετών και Φοιτητής. Έχει γράψει 136 μηνύματα.
σας ευχαριστουμε:thanks:
 

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

polivios

Νεοφερμένος

Ο polivios αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 68 ετών και Καθηγητής. Έχει γράψει μόλις ένα μήνυμα.
Όλες οι γλώσσες προγραμματισμού υπολογίζουν το υπόλοιπο με την έννοια του «υπολοίπου αφαίρεσης (remainder)». Το modulus είναι το μέγεθος του θετικού ή αρνητικού αριθμού και είναι κάτι διαφορετικό.
Δηλαδή
11 remainder 5 = 1
11 modulo 5 = 1

11 remainder -5 = 1
11 modulo -5 = -4

-11 remainder 5 = -1
-11 modulo 5 = 4

-11 remainder -5 = -1
-11 modulo -5 = -1

Συμπερασματικά το remainder έχει πάντα το πρόσημο του Α (διαιρετέου) και είναι το υπόλοιπο που απομένει από την ακέραια διαίρεση των απόλυτων τιμών του Α και Β.
Το modulus έχει πάντα το πρόσημο του Β (διαιρέτη).
Όταν ο Β (διαιρέτης) είναι θετικός το μέγεθος προκύπτει από την αφαίρεση του
Α-Β*Ν, όπου το γινόμενο Β*Ν πρέπει να είναι ο πλησιέστερος ακέραιος μικρότερος του Α
Δηλαδή
11 modulo 5 = 11-5*2=11-10 = 1
-11 modulo 5= -11-5*(-3)=-11-(-15) = -11+15 = 4
το -15 είναι ο πλησιέστερος ακέραιος μικρότερος του -11

και όταν ο Β (διαιρέτης) είναι αρνητικός το μέγεθος προκύπτει από την αφαίρεση του
Α-Β*Ν, όπου το γινόμενο Β*Ν πρέπει να είναι ο πλησιέστερος ακέραιος μεγαλύτερος του Α
Δηλαδή
11 modulo -5 = 11-(-5)*(-3)=11-15= 4
-11 modulo -5= -11-(-5)*(2)=-11-(-10)= -11+10= -1

To modulo έχει πάντοτε το πρόσημο του Β και είναι ένας αριθμός από το 0 μέχρι το Β-1
Ενώ το remainder έχει πάντοτε το πρόσημο του Α και είναι το υπόλοιπο της Ακέραιας διαίρεσης των απολύτων τιμών Α και Β.

Η Γλωσσομάθεια όπως και όλες οι γλώσσες προγραμματισμού με τον τελεστή mod υπολογίζουν το remainder. Κάποιες γλώσσες προγραμματισμού έχουν τροποποιηθεί πρόσφατα και συμπεριλαμβάνουν και τις δύο συναρτήσεις.
Π.χ η FORTRAN 90
έχει την συνάρτηση MOD(a,b) για το remainder
και την συνάρτηση MODULO(a,b) για το modulus

Παραθέτω μία συνάρτηση για τον υπολογισμό του MODULO(a,b) στη γλωσσομάθεια.

ΠΡΟΓΡΑΜΜΑ υπόλοιπο
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Α, Β

ΑΡΧΗ
ΔΙΑΒΑΣΕ Α, Β
ΓΡΑΨΕ MODULO(Α,Β)
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΣΥΝΑΡΤΗΣΗ MODULO(X, Y) : ΑΚΕΡΑΙΑ

ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: X, Y

ΑΡΧΗ
MODULO <-- X MOD Y
ΑΝ X*Y<0 ΤΟΤΕ
MODULO <-- MODULO+Y
ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Ελπίζω να βοήθησα
Για περισσότερα ask Dr. Math https://mathforum.org/dr.math/
 

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

nick29

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

Ο Νίκος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 34 ετών, Φοιτητής και μας γράφει απο Αμπελόκηποι (Αττική). Έχει γράψει 135 μηνύματα.
Ερώτηση: Η πρόταση "Μία συνθήκη μπορεί να έχει μόνο δύο τιμές." είναι σωστή ή λάθος;

Γιατί στη σελ. 32 το βιβλίο αναφέρει "Γενικά η διαδικασία της επιλογής περιλαμβάνει τον έλεγχο κάποιας συνθήκης που μπορεί να έχει δύο τιμές (Αληθής ή Ψευδής).", αλλά στη σελ.29 εκεί που ορίζει τον ρόμβο ως γεωμετρικό σχήμα διαγράμματος ροής λέει: "Ρόμβος, που δηλώνει μία ερώτηση με δύο ή περισσότερες εξόδους για απάντηση."
 

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

Kristal

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

Ο Αποστόλης αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Φοιτητής και μας γράφει απο Ζωγράφος (Αττική). Έχει γράψει 381 μηνύματα.
Σωστή είναι...
 

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

Anarki

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

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

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

nick29

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

Ο Νίκος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 34 ετών, Φοιτητής και μας γράφει απο Αμπελόκηποι (Αττική). Έχει γράψει 135 μηνύματα.
Ευχαριστώ! Κι εγώ έτσι πιστεύω, ότι είναι σωστή, αλλά ήθελα να το σιγουρέψω.
 

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

Γιώργος

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

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

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

Afey

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

Ο Θέμης αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 33 ετών, Φοιτητής και μας γράφει απο Πάτρα (Αχαΐα). Έχει γράψει 1,326 μηνύματα.
Το βιβλίο έχει όντως παραδείγματα που συνδιάζουν ακέραιους και πραγματικούς και υπάρχει πρόβλημα γιατί ορίζει κάτι και το αναιρεί έπειτα.

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


Code:
Α ← Β [B]DIV[/B] Γ
Το Β και Γ είναι ΑΚΕΡΑΙΟΥ τύπου. Το Α θα έχει ακέραια τιμή προφανώς, αλλά λόγω της σημείωσης στη σελίδα 155 πρέπει κι ο τύπος του να είναι ΑΚΕΡΑΙΟΣ.
Δεν μπορείς να το δηλώσεις ΠΡΑΓΜΑΤΙΚΟ γιατί σε περιορίζει η σελίδα 155 (όχι γιατί έχει ακέραια τιμή, μπορεί μία μεταβλητή πραγματικού τύπου να έχει ακέραια τιμή).

(Εάν κάποιος δεν καταλαβαίνει τη διαφορά ακέραιας τιμής - ακέραιου τύπου ας ποστάρει ;)).

Σημείωση: τα DIV και ΜOD είναι με κεφαλαία στο πρόγραμμα.



Τι γίνεται λοιπόν αν θέλουμε ακέραια διαίρεση σε δεδομένα πραγματικού τύπου; Αν για παράδειγμα έχουμε:
Code:
[B]ΜΕΤΑΒΛΗΤΕΣ[/B]

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

[B]ΑΡΧΗ[/B]
  Β←7
  Γ←3
Και θέλουμε ακέραια διαίρεση των Β και Γ;

Μία σκέψη
Code:
Β [B]DIV[/B] Γ [COLOR=DarkGreen][B]!ΛΑΘΟΣ[/B][/COLOR]
Γιατί τα Β και Γ είναι ΠΡΑΓΜΑΤΙΚΟΥ τύπου, άσχετα με το αν έχουν ακέραιες τιμές.

Το σωστό είναι:
Code:
  [B]ΑΝ[/B] (Α_Μ(Β)=Β) [B]KAI[/B] (Α_Μ(Γ)=Γ) [B]ΚΑΙ[/B] (Β<>0) [B]ΤΟΤΕ[/B] [COLOR=DarkGreen][B]!Έτσι ελέγχουμε αν μεταβλητές οι Β και Γ έχουν ακέραιες τιμές. Αν ένας τουλάχιστον είναι δεκαδικός, δεν έχει νόημα να προχωρήσουμε. Και φυσικά ελέγχουμε ότι δεν διαιρούμε με το μηδέν.[/B][/COLOR]
    ΠΗΛΙΚΟ ← Α_Τ(Α_Μ(Β/Γ))                     [COLOR=DarkGreen][B]!Κρατάμε το ακέραιο μέρος της διαίρεσης και ύστερα παίρνουμε την απόλυτη τιμή καθώς μπορεί να είναι αρνητικοί.[/B][/COLOR]
    ΥΠΟΛΟΙΠΟ ← Β - Γ * ΠΗΛΙΚΟ                  [COLOR=DarkGreen][B]!Ταυτότητα του Ευκλείδη.
     [/B][/COLOR]
    [B]ΑΝ[/B] Β*Γ<0 [B]ΤΟΤΕ[/B]                              [COLOR=DarkGreen][B]!Αν είναι ετερόσημοι, απλώς βάζουμε ένα '-' μπροστά από τα αποτελέσματα, όπως είπαμε προηγουμένως.[/B][/COLOR]
      ΠΗΛΙΚΟ ← (-1)*ΠΗΛΙΚΟ
      ΥΠΟΛΟΙΠΟ ← (-1)*ΥΠΟΛΟΙΠΟ
    [B]ΤΕΛΟΣ_ΑΝ[/B]

    [B]ΓΡΑΨΕ[/B] 'Πηλίκο = ', ΠΗΛΙΚΟ 
    [B]ΓΡΑΨΕ[/B] Υπόλοιπο = ', ΥΠΟΛΟΙΠΟ
  [B]ΤΕΛΟΣ_ΑΝ[/B]
Τα σχόλια δεν χρειάζονται στο πρόγραμμα, τα έβαλα για να καταλάβουμε τι παίζει. :)



Από Γιώργος

Έλα ρε φίλε... Ωραίος για τη δουλειά που έκανες και το λεπτό σημείο που πρόσεξες αλλά πραγματικά πιστεύεις ότι αν γράψεις B DIV Γ υπάρχει περίπτωση να στο πάρει κανένας λάθος; Εγώ σου λέω ότι πιο πιθανό είναι να πέσεις σε κανένα γίδι που να μην έχει καταλάβει ή να μη δέχεται αυτά που έχεις κάνει εσύ και να σου κόψει από εκεί.

Θα μου πεις πως αυτός δεν είναι τρόπος να σκέφτεσαι. Θα σου πω OK.

ΔΙΟΡΘΩΣΗ: εκατσα και το έψαξα, οι πράξη a mod b με τον μαθηματικό ορισμό της δεν ορίζεται για a αρνητικό

Όχι βέβαια, ποιός τα λέει αυτά;
 

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

Γιώργος

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

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

Θα μου πεις πως αυτός δεν είναι τρόπος να σκέφτεσαι. Θα σου πω OK.
Λεπόν... ναι, αν γράψεις Β DIV Γ και τα έχεις δηλώσει πραγματικού τύπου όλοι θα κόψουν. Ακόμη και το πιο γίδι "προγραμμαστής" ξέρει ότι το DIV είναι για ακέραιου τύπου μεταβλητές.
Είναι γενικά ένα μάθημα που επειδή πολύ απλά δεν μαθαίνεις κάποια υπαρκτή γλώσσα προγραμματισμού, είναι περίεργα όλα: η σύνταξη, οι εντολές, κοκ, εφόσον στηρίζεσαι σ' ένα κακογραμμένο βιβλίο και πουθενά αλλού.

Το 2000, την πρώτη χρονιά, επιτρεπόταν να γράψεις προγράμματα και σε Turbo Pascal. Αν έδινες τότε θα σου 'λεγα με 1000 να γράψεις σε Pascal, που οι κανόνες είναι γνωστοί και κανείς δεν μπορεί να αμφισβητήσει αυτό που θα πας να κάνεις.

Ενώ εδώ είναι ένα πράγμα που αν πας και προσθέσεις ακέραιου τύπου με πραγματικού τύπου μεταβλητή (και την εκχωρήσεις σε πραγματικού τύπου μεταβλητή), βάση της σημείωσης πάνω δεξιά στη σελ. 155 του βιβλίου σου είναι λάθος. (Βέβαια, αν με κάποια άλλη λύση βγαίνει κάτι πιο πολύπλοκο, κλείσε τα μάτια και κάντο)

Γενικά εγώ σιχάθηκα τον "προγραμματισμό" εδώ. Αν και το γούσταρα σαν μάθημα, είναι ελεεινό.





Στο θέμα μας... αν πιστεύεις ότι αυτό που κάνεις δεν θα το καταλάβει, μπορείς να γράψεις μετά το πρόγραμμά σου τι κάνει και με ποια λογική το έγραψες έτσι. Δεν λέω για σχόλια μέσα στο πρόγραμμα, αυτά κατά τη γνώμη μου κουράζουν. Εννοώ μετά το πρόγραμμά σου να γράψεις σε 2-3 γραμμές τη λογική του προγράμματός σου για να το καταλάβει. Όχι με "!" που δηλώνει σχόλιο, κανονικό κείμενο, μετά το πρόγραμμα.

Αυτά, τις καλημέρες μου. :)
 

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

Afey

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

Ο Θέμης αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 33 ετών, Φοιτητής και μας γράφει απο Πάτρα (Αχαΐα). Έχει γράψει 1,326 μηνύματα.
Καλημέρα, καλήμερα! Έστω ότι έχεις δίκιο... Αν έχεις να κάνεις σαράντα πέντε διαιρέσεις θα κάθεσαι στην κάθε μία να γράφεις αυτό το πράγμα; Παίζει να θέλεις τρεις ώρες μόνο γι' αυτό, και πραγματικά πιστεύω ότι εκτός από 'σενα σ' όλη την Ελλάδα παίζει να το 'χουν δει αυτό άλλοι τρεις :P...

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

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

Kristal

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

Ο Αποστόλης αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Φοιτητής και μας γράφει απο Ζωγράφος (Αττική). Έχει γράψει 381 μηνύματα.
ελάχιστοι νομίζεις είναι αυτοί που γνωρίζουν οτι το div και το mod ορίζονται μόνο για άκεραιου τύπου μεταβλητές?Του οεφέ τα φετινά θέματα τα έλυσες???σου έδινε πρόγραμμα και σου έλεγε να συμπληρώσεις τη δήλωση μεταβλητών...έχεις την εντύπωση πως αν έβαζες πραγματικού τύπου αυτές τις μεταβλητές θα στο έπαιρναν σωστο???
 

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

Afey

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

Ο Θέμης αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 33 ετών, Φοιτητής και μας γράφει απο Πάτρα (Αχαΐα). Έχει γράψει 1,326 μηνύματα.
Παίδες άκυρο. Για εντελώς άλλο πράγμα νόμιζα ότι μιλούσατε. Ναι όντως έχετε δίκιο, div και mod αυστηρά και μόνο για ακέραιους, my bad που λένε και στο χωριό μου.
 

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

zenctheo

Νεοφερμένος

Ο zenctheo αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Καθηγητής. Έχει γράψει 20 μηνύματα.
Αλγόριθμος vs ΓΛΩΣΣΑ

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

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

Σε ευχαριστώ πολύ.
 

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

::Forg0tt3n::

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

Ο ::Forg0tt3n:: αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 33 ετών και Φοιτητής. Έχει γράψει 241 μηνύματα.
Γνωρίζει κάποιος εάν μπορούμε να χρησιμοποιήσουμε το εξής;
Code:
Αν συνθήκη τότε
   εντολές
αλλιώς_αν συνθήκη τότε
   έντολες 
Τέλος_αν
Δηλαδή να μην χρησιμοποιήσουμε το αλλιώς;
Ευχαριστώ!
 

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

Scandal

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

Ο Πέτρος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 35 ετών, Φοιτητής του τμήματος Πληροφορικής ΟΠΑ και μας γράφει απο Περιστέρι (Αττική). Έχει γράψει 16,853 μηνύματα.
Γνωρίζει κάποιος εάν μπορούμε να χρησιμοποιήσουμε το εξής;
Code:
Αν συνθήκη τότε
   εντολές
αλλιώς_αν συνθήκη τότε
   έντολες 
Τέλος_αν
Δηλαδή να μην χρησιμοποιήσουμε το αλλιώς;
Ευχαριστώ!
Από τη στιγμή που ακολουθεί συνθήκη πρέπει να χρησιμοποιήσεις το αλλιώς_αν . :)

Για παράδειγμα, θέλουμε να εκτελεστούν οι εντολές1 μόνο αν το Α είναι θετικό ή μηδέν και οι εντολές2 μόνο αν το Α είναι αρνητικό. Μπορούμε να πούμε:
Code:
Αν Α >= 0 τότε
   εντολές1
αλλιώς
   εντολές2
τέλος_αν
Αφού το Α εξεταστεί από τη συνθήκη Α>=0 και βγει ψευδής (δλδ δεν είναι >=0) τότε σίγουρα θα είναι αρνητικός.
Επομένως δεν είναι απαραίτητο να βάλουμε και συνθήκη με αλλιώς_αν Α<0. Βάζουμε ένα σκέτο αλλιώς

"Αν η συνθήκη είναι αληθής κάνε αυτό. Αν δεν είναι αληθής τότε κάνε το άλλο χωρίς να εξετάσεις τίποτα".

Το _αν ουσιαστικά σημαίνει πως ακολουθεί μια συνθήκη.

Ελπίζω να κατάλαβα καλά το ερώτημά σου. :)


-petros
 

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

::Forg0tt3n::

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

Ο ::Forg0tt3n:: αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 33 ετών και Φοιτητής. Έχει γράψει 241 μηνύματα.
Όχι δεν κατάλαβες. Εγώ λέω εάν γίνετε να μην μπει το αλλίως.
 

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

Scandal

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

Ο Πέτρος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 35 ετών, Φοιτητής του τμήματος Πληροφορικής ΟΠΑ και μας γράφει απο Περιστέρι (Αττική). Έχει γράψει 16,853 μηνύματα.
Όχι δεν κατάλαβες. Εγώ λέω εάν γίνετε να μην μπει το αλλίως.
Δηλαδή να πούμε:
Code:
Αν συνθήκη τότε
   εντολές
τέλος_αν
;

Ναι, γίνεται. :) Αν η συνθήκη είναι αληθής θα εκτελεστούν οι εντολές. Αν όχι τότε το πρόγραμμα/ αλγόριθμος θα συνεχίσει να εκτελείται κανονικά προσπερνώντας τις εντολές. :iagree:


-petros
 

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

::Forg0tt3n::

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

Ο ::Forg0tt3n:: αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 33 ετών και Φοιτητής. Έχει γράψει 241 μηνύματα.
Δηλαδή να πούμε:
Code:
Αν συνθήκη τότε
   εντολές
τέλος_αν
;

Ναι, γίνεται. :) Αν η συνθήκη είναι αληθής θα εκτελεστούν οι εντολές. Αν όχι τότε το πρόγραμμα/ αλγόριθμος θα συνεχίσει να εκτελείται κανονικά προσπερνώντας τις εντολές. :iagree:


-petros

Έννοω να πούμε αυτό που έγραψα και στο πρώτο ποστ:

Code:
Αν συνθήκη τότε
   εντολές
αλλιώς_αν συνθήκη τότε
   έντολες 
Τέλος_αν

Ευχαριστώ για τις απαντήσεις btw.
 

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

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

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