ΔΙΑΔΙΚΑΣΙΑ ΧΩΡΙΣ ΠΑΡΑΜΕΤΡΟΥΣ

Ξεκίνησε από Αλεξόπουλος Ανδρέας, 08 Απρ 2008, 12:01:00 ΠΜ

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

Αλεξόπουλος Ανδρέας

Καλησπέρα,
δεν ξέρω αν έχει συζητηθεί ποτέ κάτι παρόμοιο, αλλά με μια γρήγορη αναζήτηση δε βρήκα κάτι σχετικό. Η απορία λοιπόν είναι η εξής: μπορούμε να φτιάξουμε μια διαδικασία η οποία δεν έχει καμμία παράμετρο; Αν ναι, πώς την δηλώνουμε και πώς την καλούμε;
Ένα απλό παράδειγμα μιας τέτοιας διαδικασίας θα μπορούσε να είναι ένα υποπρόγραμμα το οποίο διαβάζει δυο μεταβλητές, τις προσθέτει και εμφανίζει το αποτέλεσμα. Επομένως στην συγκεκριμένη περίπτωση δεν χρειάζεται να περνάει κάποια τιμή από ή προς το πρόγραμμα.
Το ερώτημά μου είναι κυρίως στο πώς θα την δηλώσουμε, πχ θα ήταν σωστό το ακόλουθο;
ΔΙΑΔΙΚΑΣΙΑ πρόσθεση()
ΜΕΤΑΒΛΗΤΕΣ
........

και να την καλούσαμε με το ακόλουθο
ΚΑΛΕΣΕ πρόσθεση()


Δεν θυμάμαι να έχω δει κάποιο ανάλογο παράδειγμα στο βιβλίο.

Ευχαριστώ,
Ανδρέας

ΥΓ: δεν με ενδιαφέρει να σχολιάσουμε το γιατί να κάνουμε κάτι τέτοιο, απλώς αν μπορούμε να το κάνουμε.

petrosp13

Όλα όσα λες, όπως και τα συντακτικά που αναφέρεις είναι σωστά
Ένα υποπρόγραμμα οφείλει να είναι ανεξάρτητο από τα άλλα και κάποιες φορές δεν χρειάζεται καν να επικοινωνεί με αυτά ή το κύριο πρόγραμμα
Θα είναι ένα υποπρόγραμμα που κάνει ολοκληρωμένα μια αυτόνομη δουλειά
Όπως "Υποπρόγραμμα που διαβάζει αριθμούς μέχρι να δοθεί το μηδέν και εμφανίζει το άθροισμα τους".
Φυσικά, υλοποιείται μόνο με διαδικασία
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

alkisg

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

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

Αλεξόπουλος Ανδρέας

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

alkisg

Με την ευκαιρία ξαναέριξα μια ματιά στο βιβλίο.

1) Τα προγράμματα δεν έχουν παρένθεση. Αυτό δεν είναι σοβαρό επιχείρημα, αλλά αν π.χ. λέγαμε ότι ισχύει το συντακτικό της C, τότε θα είχαμε int main(), δηλαδή ΠΡΟΓΡΑΜΜΑ Δοκιμή().

2) Σελίδα 220,
ΔΙΑΔΙΚΑΣΙΑ Πρώτη
...
ΔΙΑΔΙΚΑΣΙΑ Δεύτερη
...

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

3) Σελίδα 239, εκτός ύλης, ορισμός διαδικασίας - γεγονότος,
ΔΙΑΔΙΚΑΣΙΑ Αντικείμενο_Γεγονός
...
Εντολές κώδικα
...
ΤΕΛΟΣ ΔΙΑΔΙΚΑΣΙΑΣ

Μια από τα ίδια, απλές ενδείξεις, όχι επιχειρήματα.

Αλεξόπουλος Ανδρέας

Βέβαια Άλκη, μερικές σελίδες παρακάτω στο κεφάλαιο 11 (συγκεκριμένα σελ 246), για την δήλωση διαδικασίας, έχει το εξής
ΔΙΑΔΙΚΑΣΙΑ ΠλήτροΕντολήςΒήμα1_Κλικ()
    Ετικέτα1.Ορατό = Αληθής
    Ετικέτα2.Ορατό = Ψευδής 
    Ετικέτα3.Ορατό = Ψευδής 
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

δηλαδή, χρεισημοποιεί παρενθέσεις, ώστε κι αν δεν έχει ορίσματα.

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

andreas_p

Γεια σας.

Σε παλαιότερη συζήτηση είχαμε καταλήξει στο παρακάτω σχήμα :


στο Κύριο

....
ΑΡΧΗ
  ΚΑΛΕΣΕ   Δ1()

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΔΙΑΔΙΚΑΣΙΑ  Δ1()
...
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Ανδρέας

alkisg

Παράθεση από: Αλεξόπουλος Ανδρέας στις 08 Απρ 2008, 11:15:50 ΠΜ
ΔΙΑΔΙΚΑΣΙΑ ΠλήτροΕντολήςΒήμα1_Κλικ()
    Ετικέτα1.Ορατό = Αληθής
    Ετικέτα2.Ορατό = Ψευδής 
    Ετικέτα3.Ορατό = Ψευδής 
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ


Σ' αυτό το σημείο είχα την εξής απορία: πώς θα καταφέρει να δει τη μεταβλητή Ετικέτα1 αφού δεν υπάρχουν καθολικές μεταβλητές;  :o
Και προτίμησα να το αγνοήσω και να πάρω σαν σωστό τον ορισμό που είχε πιο πριν.
...καλά που δεν είναι εντός ύλης!  ;D  ;D  ;D

meteo_xampos

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

ΠΡΟΓΡΑΜΜΑ ΤΑΔΕ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: α, β, γ
ΑΡΧΗ
  ΔΙΑΒΑΣΕ α, β
  γ <- ΥΠΟ(α, β)
  ΚΑΛΕΣΕ ΔΙΑΔ
  ΓΡΑΨΕ α, β, γ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΔΙΑΔΙΚΑΣΙΑ ΔΙΑΔ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: x, y, z
ΑΡΧΗ
  ΔΙΑΒΑΣΕ x, y
  z <- (x + y) DIV 2
  ΓΡΑΨΕ x, y, z
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΣΥΝΑΡΤΗΣΗ ΥΠΟ(m, n): ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: m, n
ΑΡΧΗ
  ΥΠΟ <- (m + n)^2
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

EleniK

Μια διαδικασία που απλά εμφανίζει ένα μενού επιλογών, επίσης δεν έχει όρισμα. Το Διάβασε της επιλογής μπορεί να είνα μέσα στο πρόγραμμα καθώς και η τυχόν επανάληψη.
Ελένη Κοκκίνου
Καθηγήτρια Πληροφορικής, ΠΕ19

P.Tsiotakis

Εγώ βάζω κενές παρενθέσεις, θεωρώ πιο συνεπές προς τον μαθητή οπτικά να βλέπει:

ΔΙΑΔΙΚΑΣΙΑ Μενού()

και μόνο το κύριο πρόγραμμα να μην έχει παρενθέσεις (αφού δεν έχει και παραμέτρους)

andreas_p

Παράθεση από: meteo_xampos στις 04 Μαρ 2009, 09:47:33 ΠΜ

ΔΙΑΔΙΚΑΣΙΑ ΔΙΑΔ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: x, y, z
ΑΡΧΗ
  ΔΙΑΒΑΣΕ x, y
  z <- (x + y) DIV 2
  ΓΡΑΨΕ x, y, z
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΔΙΑΔΙΚΑΣΙΑ ΔΙΑΔ()
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: x, y, z
ΑΡΧΗ
  ΔΙΑΒΑΣΕ x, y
  z <- (x + y) DIV 2
  ΓΡΑΨΕ x, y, z
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ


meteo_xampos

Ανδρέα προσπάθησα να το τρέξω τη διαδικασία με (), αλλά η ΓΛΩΣΣΑ μου έβγαζε λάθος.
Μου έβγαζε μήνυμα ότι περίμενε όνομα παραμέτρου μέσα στις παρενθέσεις.

andreas_p

Στην επόμενη έκδοση του Διερμηνευτή της ΓΛΩΣΣΑΣ, ο Άλκης, μπορεί να το τροποποιήσει.

meteo_xampos

Πάντως και η PASCAL λειτουργεί έτσι όπως λειτουργεί η ΓΛΩΣΣΑ σε διαδικασίες
χωρίς παραμέτρους. Να ένα πρόγραμμα σε PASCAL το οποίο χρησιμοποιεί
διαδικασίες χωρίς παραμέτρους...

program tade;
var
a,b, apot:real;
sumbolo: char;

procedure eisodos;
begin
   writeln('dwse duo arithmous');
   readln(a,b);
end;

procedure menoy;
begin
writeln('1. dwse + gia pros8esh');
writeln('2. dwse - gia afairesh');
writeln('1. dwse * gia pollaplasiasmo');
writeln('1. dwse / gia diairesh');
end;

procedure eidos_pra3hs;
begin   
   repeat
      writeln('dwse to sumbolo ths pra3hs'); 
      readln(sumbolo);
   until ((sumbolo='+') OR (sumbolo='-') OR (sumbolo='/') OR (sumbolo='*'))
end;

procedure pra3h;
begin
   if sumbolo='+' then
      apot:=a+b
   else if sumbolo='-' then
      apot:=a-b
   else if sumbolo='/' then
    begin
      if b<>0 then
      apot:=a/b
     else
       writeln('den orizetai h pra3h')
     end
   else
      apot:=a*b;
   writeln( a:3,sumbolo:3, b:3, '=', apot:3);
end;

begin
eisodos;
menoy;
eidos_pra3hs;
pra3h;
end.

alkisg

Παράθεση από: andreas_p στις 09 Μαρ 2009, 08:42:08 ΠΜ
Στην επόμενη έκδοση του Διερμηνευτή της ΓΛΩΣΣΑΣ, ο Άλκης, μπορεί να το τροποποιήσει.

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

Θέλετε να βάλω μια επιλογή να χρειάζονται παρενθέσεις, για όσους το διδάσκετε έτσι;

Καρκαμάνης Γεώργιος

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

alkisg

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

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

Το συντακτικό όμως (που δε νομίζω ότι το έκαναν επίτηδες λάθος) που χρησιμοποιεί ο συγγραφέας είναι χωρίς παρενθέσεις:

ΣΥΝΑΡΤΗΣΗ Εμβαδό
ΠΡΑΓΜΑΤΙΚΗ ΣΥΝΑΡΤΗΣΗ Εμβαδό

Δηλαδή ο ίδιος ο συγγραφέας του κεφαλαίου 10, όταν χρειάστηκε να γράψει συνάρτηση χωρίς παράμετρο, την έγραψε χωρίς παρενθέσεις...


Έχετε δει κάποια σοβαρή ένδειξη (εννοείται στο σχολικό βιβλίο) που να υποδεικνύει το αντίθετο, δηλαδή τη χρήση παρενθέσεων; Πού βασίζεστε και το υποστηρίζετε;

P.Tsiotakis

Παράθεση από: Αλεξόπουλος Ανδρέας στις 08 Απρ 2008, 11:15:50 ΠΜ
Βέβαια Άλκη, μερικές σελίδες παρακάτω στο κεφάλαιο 11 (συγκεκριμένα σελ 246), για την δήλωση διαδικασίας, έχει το εξής
ΔΙΑΔΙΚΑΣΙΑ ΠλήτροΕντολήςΒήμα1_Κλικ()
    Ετικέτα1.Ορατό = Αληθής
    Ετικέτα2.Ορατό = Ψευδής 
    Ετικέτα3.Ορατό = Ψευδής 
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

δηλαδή, χρεισημοποιεί παρενθέσεις, ώστε κι αν δεν έχει ορίσματα.

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

alkisg

Ε σόρρυ αλλά όπως είπα και παραπάνω αυτό δεν είναι σοβαρή ένδειξη, είναι από τα "μαργαριτάρια" του βιβλίου...
Ούτε μεταβλητή "Ετικέτα1" έχει δηλωθεί, ούτε καθολικές μεταβλητές υποστηρίζει η ΓΛΩΣΣΑ - άρα είναι εντελώς λάθος από κάθε άποψη.
Χωρίς να υπολογίσουμε ότι λίγο πιο πριν στο ίδιο κεφάλαιο ο ίδιος συγγραφέας ορίζει τη ΔΙΑΔΙΚΑΣΙΑ ΑντικείμενοΓεγονός χωρίς παρενθέσεις, και προφανώς ο ορισμός βαραίνει περισσότερο από το παράδειγμα...

meteo_xampos

Το όλο θέμα είναι στα παιδιά τι λέμε; Τι είναι σωστό και τι όχι; Αν ζητηθεί να γραφεί μια διαδικασία που
να μην χρησιμοποιεί παραμέτρους, πώς θα πρέπει να τη γράψουν, με παρενθέσεις ή χωρίς. Εγώ πάντως
υποστηρίζω την άποψη του Άλκη. Δηλαδή ότι δεν χρειάζονται παρενθέσεις.

ntzios kostas

#21
Αφού το ίδιο το βιβλίο δεν δίνει τόσο σημασία στην σύνταξη μίας όχι και τόσο σημαντικής λεπτομέρειας, γιατί εμείς προβληματιζόμαστε για κάτι το οποίο σε μία ψευδογλώσσα είναι τελείως υποκειμενικό. Θεωρώ ότι και οι δύο λύσεις είναι δεκτές και φίλε Άλκη νομίζω ότι πρέπει και οι δύο να βρίσκονται στον διερμηνευτή. 
Το μάθημα Ανάπτυξη Εφαρμογών δεν έχει σαν στόχο την εκμάθηση κάποιου συγκεκριμένου προγραμματιστικού περιβάλλοντος ούτε την καλλιέργεια προγραμματιστικών δεξιοτήτων από τη μεριά των μαθητών. Δεν αποσκοπεί στη λεπτομερειακή εξέταση της δομής, του ρεπερτορίου και των συντακτικων κανόνων κάποιας γλώσσας...

P.Tsiotakis

Παράθεση από: alkisg στις 09 Μαρ 2009, 06:51:02 ΜΜ
Ε σόρρυ αλλά όπως είπα και παραπάνω αυτό δεν είναι σοβαρή ένδειξη, είναι από τα "μαργαριτάρια" του βιβλίου...
Ούτε μεταβλητή "Ετικέτα1" έχει δηλωθεί, ούτε καθολικές μεταβλητές υποστηρίζει η ΓΛΩΣΣΑ - άρα είναι εντελώς λάθος από κάθε άποψη.
Χωρίς να υπολογίσουμε ότι λίγο πιο πριν στο ίδιο κεφάλαιο ο ίδιος συγγραφέας ορίζει τη ΔΙΑΔΙΚΑΣΙΑ ΑντικείμενοΓεγονός χωρίς παρενθέσεις, και προφανώς ο ορισμός βαραίνει περισσότερο από το παράδειγμα...

Αν πάρουμε στα σοβαρά αυτά που γράφει στις σελίδες 239-240 τότε ΔΕ θα έπρεπε να υπάρχουν καν παράμετροι σε τέτοιες διαδικασίες γιατί δεν τις ορίζει!!

Πλέον θεωρώ οτι υπάρχουν σημεία του βιβλίου που δεν μπορείς να τα δεις με σοβαρότητα. Και η χρήση των παρενθέσεων είναι το τελευταίο απο αυτά.

Πάντως, θεωρώ οτι το να υπάρχουν κενές παρενθέσεις, έχει διδακτικά πλεονεκτήματα..

igaster

Θα προσπαθήσω να επιχειρηματολογήσω γιατί πρέπει να βάζουμε πάντα παρενθέσεις:

1. Στη ΓΛΩΣΣΑ επιτρέπεται σε μία μεταβλητή να έχει το ίδιο όνομα με μία διαδικασία. Πως λοιπόν θα ξεχωρίσει συντακτικά μία μεταβλητή από την ομώνυμη διαδικασία χωρίς παραμέτρους αν σε αυτή δεν βάζουμε παρενθέσεις;

2. Γιατί να βάλουμε στο μυαλό των παιδιών άλλη μία εξαίρεση στον πολύ απλό συντακτικό κανόνα (παράθεση από το βιβλίο):

"ΚΑΛΕΣΕ όνομα-διαδικασίας(λίστα-παραμέτρων)",

Ανεξαρτήτως πλήθους παραμέτρων. Το μηδέν είναι αποδεκτό πλήθος!

Καρκαμάνης Γεώργιος

Παράθεση από: igaster στις 16 Μαρ 2009, 12:20:21 ΠΜ

1. Στη ΓΛΩΣΣΑ επιτρέπεται σε μία μεταβλητή να έχει το ίδιο όνομα με μία διαδικασία.

Πως το συμπέρανες αυτό;

alkisg

Παράθεση από: igaster στις 16 Μαρ 2009, 12:20:21 ΠΜ
1. Στη ΓΛΩΣΣΑ επιτρέπεται σε μία μεταβλητή να έχει το ίδιο όνομα με μία διαδικασία. Πως λοιπόν θα ξεχωρίσει συντακτικά μία μεταβλητή από την ομώνυμη διαδικασία χωρίς παραμέτρους αν σε αυτή δεν βάζουμε παρενθέσεις;

Τα ίδια ακριβώς ισχύουν και στην Pascal, και κανένας δεν είχε πρόβλημα με το συντακτικό της.

Παράθεση από: igaster στις 16 Μαρ 2009, 12:20:21 ΠΜ
2. Γιατί να βάλουμε στο μυαλό των παιδιών άλλη μία εξαίρεση...

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

Στην Pascal ισχύει και το αντίθετο: όταν ένα πρόγραμμα παίρνει παραμέτρους, βάζουμε και παρενθέσεις, π.χ. Program test(input, output) - υπάρχει δηλαδή κοινή αντιμετώπιση των προγραμμάτων και των διαδικασιών χωρίς εξαιρέσεις.
Εάν πρέπει να βάλουμε παρενθέσεις στις διαδικασίες, τότε πρέπει να βάλουμε και στα προγράμματα - αλλιώς κάνουμε εξαιρέσεις.


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

P.Tsiotakis

Άλκη, τι κάνεις στις 6.30 το πρωι στο internet;

ECHAL

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

Laertis

Εγώ δε χρησιμοποιώ τις παρενθέσεις όταν δεν υπάρχει λίστα παραμέτρων.
Νικολακάκης Γιώργος
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής
http://users.sch.gr/gnikola

P.Tsiotakis

Στην παρούσα φάση είΚαι τα δυο είναι σωστά.
Μπορείς να συνεχίσεις να βάζεις.


Πάντως συνάδελφοι, το πρόγραμμα (που ΔΕΝ έχει παραμέτρους) δεν χρειάζεται παρενθέσεις.
Η διαδικασία εν γένει ΕΧΕΙ παραμέτρους άρα θέλει παρενθέσεις. Αν δεν χρειάζεται ούτε επιστρέφει τιμές, ας μένουν κενες.

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

andreas_p

Τελικά οι μισοί βάζουν και οι άλλοι ΟΧΙ.

Ας ακολουθήσουμε ΜΙΑ γραμμή.

Προσωπικά βάζω (βλ. σελ.247).  Αλλά δε θα με πείραζε να αλλάξω τακτική αρκεί να εφαρμόζεται απ'όλους.

andreas_p

Αλλά αν προσέξεις το Τετράδιο σελ. 145,146 είναι  ΧΩΡΙΣ ...

raniasgr

Επειδή αναφέρθηκε κάτι σχετικό στις απαντήσεις σας, παίρνω το θάρρος να γράψω σε αυτό το topic την απορία μου. Στη Γλώσσα υπάρχει συνάρτηση Ε(x), μπορούμε να χρησιμοποιήσουμε σαν όνομα μεταβλητής το Ε χωρίς πρόβλημα?
Καθηγήτρια Πληροφορικής - ΠΕ19

ntzios kostas

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

Όσο για τις παρενθέσεις προσωπικά είμαι της άποψης και οι δύο λύσεις να θεωρούνται σωστές. Κανένας από εμάς νομίζω, όποια λύση και αν υποστηρίζει, αν δει την άλλη ως απάντηση μαθητή δεν θα τη θεωρήσει λάθος.

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

P.Tsiotakis

Για το Ε(χ) διαφωνώ λίγο.

Όπως στην ψευδογλώσσα, το Τ_Ρ, το Α_Τ, το ΗΜ είναι δεσμευμένες λέξεις, έτσι είναι και το Ε.

Στο προηγούμενο βιβλίο (ελπίζω όχι σε αυτό) μου είχε ξεφύγει ένα τέτοιο, αλλά αν το σκεφτείς δεν πρέπει να βάλεις όνομα μεταβλητής ε!!

ntzios kostas

Δηλαδή αν το δεις στις εξετάσεις από μαθητή θα του κόψεις μόριο; και μιλάω για την μεταβλητή Ε η οποία είναι πολύ συνηθισμένη μεταβλητή. Όχι βέβαια. Και να σου πω και κάτι μπορεί να χρησιμοποιεί το αγγλικό Ε, εσύ που το ξέρεις;

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

P.Tsiotakis

εχεις δικιο, το έχω δει στην 66.10

απλά στο μάθημα μπορούμε να το πούμε στα παιδιά ώστε ΑΝ και ΟΣΟΙ το θυμούνται να το αποφεύγουν!!

ntzios kostas

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

alkisg

Παράθεση από: Τσιωτάκης Παναγιώτης στις 16 Μαρ 2009, 10:05:31 ΠΜ
Άλκη, τι κάνεις στις 6.30 το πρωι στο internet;

ʼστα είμαι καταραμένος να μην ευχαριστηθώ ποτέ πρωινό ύπνο. Ό,τι ώρα και να πέσω, 6 με 7 θα σηκωθώ. :(
Τουλάχιστον το στέκι είναι καλή παρέα για το πολύ πρωινό καφεδάκι... :)

raniasgr

Εγώ στηρίζομαι στο γεγογός ότι ειναι δεσμευμένη στη Γλώσσα και στα προγράμματα λεω να μην το χρησιμοποιούν. Στον ψευδοκώδικα το άφησα ανοικτό. Αν και δεν πιστεύω ότι οι διορθωτές θα το πρόσεχαν  :P :angel:
Καθηγήτρια Πληροφορικής - ΠΕ19

Καρκαμάνης Γεώργιος

Παράθεση από: Τσιωτάκης Παναγιώτης στις 16 Μαρ 2009, 06:35:17 ΜΜ
Για το Ε(χ) διαφωνώ λίγο.

Όπως στην ψευδογλώσσα, το Τ_Ρ, το Α_Τ, το ΗΜ είναι δεσμευμένες λέξεις, έτσι είναι και το Ε.

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

Καρκαμάνης Γεώργιος

Παράθεση από: ntzios kostas στις 16 Μαρ 2009, 06:48:02 ΜΜ
Δηλαδή αν το δεις στις εξετάσεις από μαθητή θα του κόψεις μόριο; και μιλάω για την μεταβλητή Ε η οποία είναι πολύ συνηθισμένη μεταβλητή. Όχι βέβαια. Και να σου πω και κάτι μπορεί να χρησιμοποιεί το αγγλικό Ε, εσύ που το ξέρεις;


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

Καρκαμάνης Γεώργιος

Αν και τώρα που το σκέφτομαι, δεσμευμένη λέξη θεωρείται μόνο το Ε ή η  σύνταξη Ε(), μόνο το Τ_Ρ ή το Τ_Ρ();

Επειδή συνάρτηση χωρίς παραμέτρους δεν γίνεται, αυτό σημαίνει πως θεωρητικά δεν μπορεί να υπάρξει και το Ε χωρίς παραμέτρους και άρα χωρίς παρενθέσεις. Αρα μήπως στο συντακτικό της ΓΛΩΣΣΑΣ σκέτο το Ε δεν είναι δεσμευμένη λέξη και μπορεί να χρησιμοποιηθεί σαν όνομα μεταβλητής;
Τι λέτε;

andreas_p


ntzios kostas

Δείτε επαναληπτικές εξετάσεις 2006 θέμα 2ο. Όπως και το σχολικό (σελίδα 212), ούτε η επιτροπή των εξετάσεων δεν λαμβάνει υπόψη της τη συνάρτηση Ε.

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

andreas_p

Το ότι δεν το πρόσεξε , δε σημαίνει ότι δεν το λαμβάνει υπόψιν.
Στη νέα έκδοση (Θ 2008) του βιβλίου, στο Κεφ. 10 έχει ήδη αντικατασταθεί στο Παράδειγμα_2  σελ. 212 το Ε (πραγματική παράμετρος) με Εμ (Εμβαδό). 

Αλλά ..   στο   ΚΑΛΕΣΕ  Εκτύπωση(Εμ)   ξέχασε τις παρενθέσεις  !!!  Τι να πω και τι να σχολιάσω ;;;

Πιστεύω ότι η επιτροπή θα είναι πιο προσεκτική και στο τύπο αλλά και στην ποιότητα των θεμάτων.

Νίκος Αδαμόπουλος

Παράθεση από: ntzios kostas στις 17 Μαρ 2009, 08:55:33 ΜΜ
Δείτε επαναληπτικές εξετάσεις 2006 θέμα 2ο. Όπως και το σχολικό (σελίδα 212), ούτε η επιτροπή των εξετάσεων δεν λαμβάνει υπόψη της τη συνάρτηση Ε.

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

Peandbal

Συνάδελφοι καλησπέρα ή καλημέρα.

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

ΠΡΟΓΡΑΜΜΑ Ασκηση
............
ΑΡΧΗ
........
ΚΑΛΕΣΕ Μήνυμα() ή  ΚΑΛΕΣΕ Μήνυμα
...........
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΔΙΑΔΙΚΑΣΙΑ Μήνυμα() ή ΔΙΑΔΙΚΑΣΙΑ Μήνυμα
ΜΕΤΑΒΛΗΤΕΣ
ΑΡΧΗ
ΓΡΑΨΕ ' Καλημέρα  σε όλους'
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Ευχαριστώ εκ των προτέρων
Γιάννης

evry

νομίζω ότι οι παρενθέσεις χρειάζονται.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

alkisg

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

Peandbal

Σ'ευχαριστώ πολύ Άλκη,
με βοήθησαν πάρα πολύ οι απαντήσεις των συναδέλφων.

Καλό Πάσχα!!  :) :)
Γιάννης