Ψηφοφορία

Ποια γλώσσα θέλετε για την Γ΄ Λυκείου;

ΓΛΩΣΣΑ
Ψευδογλώσσα
ΓΛΩΣΣΑ+Ψευδογλώσσα
Javascript
Python
Άλλη (πείτε ποια στα σχόλια)

Αποστολέας Θέμα: Ποια γλώσσα θέλετε για την Γ΄ Λυκείου;  (Αναγνώστηκε 15635 φορές)

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6078
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Ποια γλώσσα θέλετε για την Γ΄ Λυκείου;
« Απάντηση #90 στις: 08 Μαΐ 2021, 09:35:46 πμ »
Στο Φωτόδεντρο υπάρχουν 15.480 εκπαιδευτικά αντικείμενα είτε ομάδων ανάπτυξης είτε ανεξάρτητων χρηστών.
Η συντριπτική πλειονότητά τους έχει φτιαχτεί για να εμφανίζονται μέσω web.

Το μέλλον που θα μου άρεσε είναι:
  • Το Φωτόδεντρο να διαθέτει όλα τα web-based αντικείμενα και σε μορφή npm registry. Το npm, node package manager, είναι ένα κέντρο λογισμικού αντίστοιχο με αυτά του Android, του Ubuntu ή των Windows, αλλά για εφαρμογές html/javascript.
  • Κάθε καθηγητής ή μαθητής να συντηρεί τις web-based δραστηριότητές του στον προσωπικό του χώρο στο github. Δεν χρειάζονται καν γνώσεις προγραμματισμού, javascript ή git γι' αυτό, υπάρχουν ένα σωρό εργαλεία που εξάγουν υλικό σε μορφή ιστοσελίδας· παρουσιάσεις, βίντεο, animations, διαδραστικές εφαρμογές κλπ.
  • Να τις περιγράφει με ένα απλό αρχείο package.json και να κάνει αίτηση στο Φωτόδεντρο για συμπερίληψή τους.
  • Οι υπεύθυνοι του Φωτόδεντρου να κάνουν έλεγχο και εφόσον εγκρίνουν θα πατάνε απλά "clone" και "publish to our npm registry".
  • Οι χρήστες, δηλαδή όλοι οι εκπαιδευτικοί και οι μαθητές, να μπορούν πλέον να εγκαταστήσουν οποιαδήποτε δραστηριότητα τοπικά μέσω ενός γραφικού package manager ονόματι npm-gui ή μαζικά με εντολές τύπου `npm install -g @photodentro/l10763 @photodentro/u1235`.
Που κολλάει η Javascript;
Όταν όλοι οι καθηγητές και οι μαθητές θα μπορούν να δημοσιεύουν web-based εκπαιδευτικές δραστηριότητες στο σχετικό npm αποθετήριο,
γιατί να μην μάθουν μερικοί από αυτούς (π.χ. οι Πληροφορικοί και οι μαθητές Λυκείου) και λίγο javascript, ώστε να μπορέσουν να βοηθήσουν και την Αγγλικού στη δραστηριότητα "memory games in english" που θέλει να φτιάξει;

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

Αυτά τα τεράστια πλεονεκτήματα, δεν επισκιάζουν δραματικά τα μειονεκτήματα τύπου "δεν μου αρέσει η σύνταξη της τάδε εντολής της τάδε γλώσσας";
Υ.Γ. και η Python έχει τον "pip package manager", αλλά ούτε εκτελείται μέσω browser / κινητού κλπ, ούτε σε sandbox (θέματα ασφαλείας). Δεν βολεύει για διαμοιραζόμενα εκπαιδευτικά webapps.

George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 480
Απ: Ποια γλώσσα θέλετε για την Γ΄ Λυκείου;
« Απάντηση #91 στις: 09 Μαΐ 2021, 06:06:51 πμ »
Θα συμφωνήσω με τον Άλκη και πιστεύω πως πρέπει το μέλλον να είναι η διαθεματικότητα όλων των μαθημάτων.
Νομίζω πως οφείλουμε να έχουμε τουλάχιστο καλή πρόθεση για θετικές αλλαγές.

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 988
Απ: Ποια γλώσσα θέλετε για την Γ΄ Λυκείου;
« Απάντηση #92 στις: 10 Μαΐ 2021, 06:34:03 μμ »
Αυτά τα τεράστια πλεονεκτήματα, δεν επισκιάζουν δραματικά τα μειονεκτήματα τύπου "δεν μου αρέσει η σύνταξη της τάδε εντολής

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

Παραθέτω κάποια δείγματα κώδικα javascript για να δείξω τι εννοώ.

Κώδικας: Javascript
  1. var a = [1,2,3]
  2. var c = '1,2,3';
  3.  
  4. a == b; // false
  5. a == c; // true
  6.  
  7. t = null
  8. t += 'ing'  //"nulling"
  9.  
  10.  
  11. Number.MAX_VALUE > 0;   //true
  12. Number.MIN_VALUE < 0;   //false
  13.  
  14. [] == ![];     //true
  15.  
  16. Number({});   // NaN
  17. Number([]);   // 0
  18.  
  19. [1,2,3,15,30,7,5,45,60].sort() // [1,15,2,3,30,45,5,60,7]
  20.  
  21. Math.min() < Math.max(); // false
  22.  
  23. alert(111111111111111111111); // alerts 111111111111111110000
  24.  
  25.  
  26. 42.toFixed(2);    // Syntax Error
  27. 42. toFixed(2);   // Syntax Error
  28. 42 .toFixed(2);   // “42.00”
  29. 42 . toFixed(2);  // “42.00”
  30. 42.0.toFixed(2);  // “42.00”
  31. 42..toFixed(2);   // “42.00”

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

Όσον αφορά τώρα το φωτόδεντρο και τα λογισμικά δεν έχω κάτι να πω.
Τα περισσότερα λογισμικά που έχω δει θα μπορούσαν άνετα να είναι webapps και ο τρόπος παραγωγής-διανομής που σκέφτηκες πολύ έξυπνος και οικονομικός.
Δωρεάν hosting για τα λογισμικά (github), δωρεάν (ή χαμηλού κόστους) διαμοιρασμός (npm) δωρεάν εργαλεία (vscode). Πιστεύω ότι πρέπει να υπάρξει προσοχή στη διαχείριση προσωπικών δεδομένων καθώς μιλάμε για ιδιωτική εταιρεία. btw όλες αυτές οι τεχνολογίες είναι ελεγχόμενες από την microsoft...

Αλλά ας το δεχτώ. Έστω ότι αυτό είναι το ιδανικό φορμά διαμοιρασμού και συνεργασίας πάνω στα εκπαιδευτικά λογισμικά.

Πρέπει αυτό να να ορίσει τη γλώσσα της Γ' Λυκείου; (όπως λέει και η ερώτηση στην αρχή του θέματος).
Η μήπως πρέπει να διδάσκουμε javascript στο δημοτικό, γυμνάσιο λύκειο και επάλ για να διευκολύνουμε το διαμοιρασμό;

Θα μπορούσαμε να χρησιμοποιύμε typescript,  dart, c++, python, scala και ότι άλλη γλώσσα θέλουμε αρκεί να υπάρχει εξαγωγή σε javascript, δεν καταλαβαίνω γιατί πρέπει να παιδιά να υποστούν αυτόν τον τραγέλαφο.


TLDR;
Javascript: Μαύρο χάλι
Διαμοιρασμός εκπαιδευτικου λογισμικού (διαφορετική συζήτηση)

Υ.Γ.
Memory games μπορούν να φτιάχνουν τα παιδιά στο δημοτικό. Στη Γ' Λυκείου περιμένω άλλα.
« Τελευταία τροποποίηση: 10 Μαΐ 2021, 06:51:50 μμ από sstergou »

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6078
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Ποια γλώσσα θέλετε για την Γ΄ Λυκείου;
« Απάντηση #93 στις: 10 Μαΐ 2021, 09:55:29 μμ »
Στάθη το προηγούμενό μου μήνυμα ήταν γενικές σκέψεις σε σχέση με αυτά που ασχολούμαι αυτές τις μέρες, δεν ήταν απάντηση σε αυτά που έγραφες.

Είναι πολύς κόσμος που κρίνει το συντακτικό ή το σημασιολογικό κάθε γλώσσας, δεν αναφερόμουνα σε σένα. Συμφωνώ ότι κάθε γλώσσα έχει τις κακοτοπιές της αλλά μπορούμε να τις αποφεύγουμε στη διδασκαλία. Δεν είναι απαραίτητο να αναφερθούμε στο γιατί η range(1000000000) εξαντλεί τη RAM ούτε στο [] == ![]. Στο ερωτηματολόγιο του καλοκαιριού υπήρχε τεράστια ασυμφωνία για το τι θα έπρεπε να τυπώσει η `ΓΙΑ μ ΑΠΟ -1 ΜΕΧΡΙ 10 ΜΕ_ΒΗΜΑ -3*μ ... ΓΡΑΨΕ μ`, αλλά παρ' όλα η πλειονότητα δήλωσε ότι η ΓΙΑ είναι σαφώς ορισμένη, αφού μπορούμε να περιορίσουμε τη χρήση της σε απλές περιπτώσεις.
Το βασικό πρόβλημα της ΓΛΩΣΣΑΣ δεν ήταν η σύνταξή της, αλλά (1) το ότι δεν ορίστηκε πλήρως, και (2) ότι δεν έχει πραγματική χρήση. Αν μας όριζαν επακριβώς τη σημασιολογία της ΓΙΑ, θα ξέραμε και ποιες περιπτώσεις να μην διδάξουμε, και δεν θα το συζητούσαμε περαιτέρω.

Υλοποίηση ενός memory game χρειάζεται πίνακες, ταξινόμηση, υποπρογράμματα random/shuffle, events κλπ, θα την κάνουν οι καλοί μαθητές του Λυκείου, δεν γίνεται στο Δημοτικό με Javascript (εκτός αν εννούσες με game-maker εργαλεία).
Στην επιλογή της γλώσσας για τη Γ΄ Λυκείου, θεωρώ ιδιαίτερα εντός θέματος την χρήση της ως καθημερινό και διαθεματικό εργαλείο.

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 988
Απ: Ποια γλώσσα θέλετε για την Γ΄ Λυκείου;
« Απάντηση #94 στις: 10 Μαΐ 2021, 11:59:23 μμ »
Συμφωνώ ότι κάθε γλώσσα έχει τις κακοτοπιές της αλλά μπορούμε να τις αποφεύγουμε στη διδασκαλία.
Μακάρι να είναι έτσι αλλά αν μπουν οι πανελλήνιες στη μέση θα τραβάμε τα μαλλιά μας. Σε κάθε περίπτωση υπάρχουν γλώσσες γεμάτες κακοτοπιές και παγίδες και γλώσσες που σχεδιάστηκαν με περισσότερη προσοχή και έχουν λιγότερα προβλήματα τέτοιου είδους. Τίποτε δεν είναι αξεπέραστο αλλά όπως είπα και παραπάνω ως καθηγητής δεν θα ήθελα να εξηγήσω το type coercion σε κανέναν μαθητή γιατί είναι μια άχρηστη και ξεπερασμένη τακτική που οδηγεί σε σοβαρά bugs, κακή κατανόηση και κακή απόδοση. Κατά τη γνώμη μου δεν έχει καμία διδακτική αξία.

Υλοποίηση ενός memory game χρειάζεται πίνακες, ταξινόμηση, υποπρογράμματα random/shuffle, events κλπ, θα την κάνουν οι καλοί μαθητές του Λυκείου, δεν γίνεται στο Δημοτικό με Javascript (εκτός αν εννούσες με game-maker εργαλεία).
Στην επιλογή της γλώσσας για τη Γ΄ Λυκείου, θεωρώ ιδιαίτερα εντός θέματος την χρήση της ως καθημερινό και διαθεματικό εργαλείο.

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

Να εξηγήσω τι εννοώ:

Λογισμικά παρουσιάσεων, animation, scratch, logo και ότι άλλο χωράει ο νους μας κάνει εξαγωγή σε javascript. Θα απαγορεύσουμε στον κόσμο να χρησιμοποιεί το λογισμικό που θέλει; Ή απλά θα πούμε "Αν εξάγει σε webapp τότε το φιλοξενούμε αρκεί να γράψεις ένα package.json".

Νομίζω το δεύτερο μιας και το πρώτο δεν μπορεί καν να ελεγθεί.

Από τη στιγμή που λοιπόν υπάρχει τεχικά η δυνατότητα να χρησιμοποιηθεί η Javascript ως βάση για τον διαμοιρασμό και το μιξάρισμα εκπαιδευτικών webapp γραμμένων σε ένα σωρό εργαλεία γιατί να την ορίσουμε σαν την μοναδική γλώσσα προγραμματισμού;

Θα μπορούσαν στο δημοτικό τα παιδιά να κάνουν logo και scratch και να τα δημοσιεύουν σαν webapps.
Στο γυμνάσιο και στο λύκειο η λογική αυτή μπορεί να επεκταθεί σε ένα σωρό προγράμματα και γλώσσες ειδικά για την διδασκαλία ενός μαθήματος ή μιας διδακτικής ενότητας.
Και η γλώσσα θα μπορούσε να εξάγει javascript για όποιον επιθυμεί(!).

Με λίγα λόγια γιατί να διαλέξουμε javascript από την στιγμή που δεν καν είναι απαραίτητη για να χτίσουμε την διαθεματικότητα με βάση την ίδια; Γιατί να μη διαλέξουμε μια καλύτερη γλώσσα για τη Γ' Λυκείου;

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6078
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Ποια γλώσσα θέλετε για την Γ΄ Λυκείου;
« Απάντηση #95 στις: 11 Μαΐ 2021, 07:13:16 πμ »
Νομίζω θα είναι αποδοτικότερο να απαντήσω σε μορφή βηματικού αλγορίθμου, με παραπομπές σε άλλες ιστορίες ή σε προηγούμενες σκέψεις.

1. Γιατί να επιλέξουμε μια γλώσσα που να επιτρέπει προγραμματισμό browser, αντί μια άλλη με καλύτερο συντακτικό;
1.1. Για τον ίδιο λόγο που μαθαίνουμε στα παιδιά μας Αγγλικά ως πρώτη επιλογή, κι ας είναι μια γλώσσα με χειρότερο συντακτικό, που δημιουργήθηκε εκ του προχείρου για να συνεννοηθούν άνθρωποι που μιλούσαν καλύτερες, αλλά διαφορετικές, γλώσσες. Επειδή αυτή τη στιγμή όποιος ξέρει Αγγλικά συνεννοείται με όλον τον υπόλοιπο κόσμο.
1.2. Για τον ίδιο λόγο που οι περισσότεροι έγραφαν προγράμματα για DOS αντί για καλύτερα σχεδιασμένα λειτουργικά. Επειδή αυτό στόχευσε να διαδοθεί σε όλα τα σπίτια ενώ τα άλλα ήταν πιο "επαγγελματικά". Αφού διαδόθηκε, για τις επόμενες 4 δεκαετίες όλος ο κόσμος έγραφε εφαρμογές για Windows.
1.3. Για τον ίδιο λόγο που πλέον οι εφαρμογές μετακινούνται από τα Windows στον ιστό. Επειδή το Internet και τα κινητά μας προσέφεραν καλύτερη επικοινωνία και διαμοιρασμό γνώσης, εξαπλώθηκαν παντού, και πλέον θέλουμε οι εφαρμογές μας να τρέχουν εκεί.

ΑΝ και εφόσον συμφωνήσουμε στο βήμα 1, τότε το επόμενο βήμα είναι:

2. Αντί για Javascript, να επιλέξουμε μια άλλη γλώσσα που να κάνει publish-to-web;
2.1. Δεν διαφωνώ καθόλου, έχω ήδη προτείνει και Typescript, και ΓΛΩΣΣΑ-to-Javascript, και Ψευδογλώσσα-to-Javascript, ενώ υπάρχει μέχρι και Python-to-Javascript.
2.2. Όμως οι block-based γλώσσες δεν έχουν την εκφραστική δύναμη των textual και είναι λόγος να τις απορρίψουμε για το Λύκειο. Αν πάμε να φτιάξουμε ένα memory game σε scratch θα δούμε ότι ο κώδικάς του δεν διαβάζεται, έχουν τραβήξει τον block-based προγραμματισμό από τα μαλλιά.
2.3. Τέλος, όσο πιο κοντά είναι ένα περιβάλλον σε native Javascript, τόσο πιο εύκολο θα είναι να βρούμε έτοιμες βιβλιοθήκες και εργαλεία, να διαμοιράσουμε και να επαναχρησιμοποιήσουμε υλικό. Η Typescript χρησιμοποιείται εκτενώς και είναι πιθανό να υποστηριχθεί επίσημα από πρότυπα και browsers, η transcrypt (Python) όχι ιδιαίτερα.

Η δικιά μου προτίμηση είναι Javascript, Typescript, Python-to-Javascript, Ψευδογλώσσα-to-Javascript. Θεωρώ όμως σημαντικότατο η γλώσσα που θα επιλεγεί για το Λύκειο, πέρα από την διδασκαλία αλγοριθμικής σκέψης που εξυπακούεται, να επιτρέπει στους μαθητές να φτιάξουν και εφαμογές που οι ίδιοι θα θεωρούν χρήσιμες. Και ναι αυτό ως επί το πλείστον σημαίνει GUI, browser και κινητά. Τα προγράμματα τύπου τερματικού θα τα άφηνα για το πανεπιστήμιο και μάλλον μόνο για τις θετικές σχολές (και πρέπει να είμαι από τους λίγους που περνάνε περισσότερο χρόνο σε τερματικό παρά σε browser! :D).

dpa2006

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 836
Απ: Ποια γλώσσα θέλετε για την Γ΄ Λυκείου;
« Απάντηση #96 στις: 16 Μαΐ 2021, 09:21:15 πμ »
Νομίζω θα είναι αποδοτικότερο να απαντήσω σε μορφή βηματικού αλγορίθμου, με παραπομπές σε άλλες ιστορίες ή σε προηγούμενες σκέψεις.

1. Γιατί να επιλέξουμε μια γλώσσα που να επιτρέπει προγραμματισμό browser, αντί μια άλλη με καλύτερο συντακτικό;
1.1. Για τον ίδιο λόγο που μαθαίνουμε στα παιδιά μας Αγγλικά ως πρώτη επιλογή, κι ας είναι μια γλώσσα με χειρότερο συντακτικό, που δημιουργήθηκε εκ του προχείρου για να συνεννοηθούν άνθρωποι που μιλούσαν καλύτερες, αλλά διαφορετικές, γλώσσες. Επειδή αυτή τη στιγμή όποιος ξέρει Αγγλικά συνεννοείται με όλον τον υπόλοιπο κόσμο.
1.2. Για τον ίδιο λόγο που οι περισσότεροι έγραφαν προγράμματα για DOS αντί για καλύτερα σχεδιασμένα λειτουργικά. Επειδή αυτό στόχευσε να διαδοθεί σε όλα τα σπίτια ενώ τα άλλα ήταν πιο "επαγγελματικά". Αφού διαδόθηκε, για τις επόμενες 4 δεκαετίες όλος ο κόσμος έγραφε εφαρμογές για Windows.
1.3. Για τον ίδιο λόγο που πλέον οι εφαρμογές μετακινούνται από τα Windows στον ιστό. Επειδή το Internet και τα κινητά μας προσέφεραν καλύτερη επικοινωνία και διαμοιρασμό γνώσης, εξαπλώθηκαν παντού, και πλέον θέλουμε οι εφαρμογές μας να τρέχουν εκεί.

ΑΝ και εφόσον συμφωνήσουμε στο βήμα 1, τότε το επόμενο βήμα είναι:

2. Αντί για Javascript, να επιλέξουμε μια άλλη γλώσσα που να κάνει publish-to-web;
2.1. Δεν διαφωνώ καθόλου, έχω ήδη προτείνει και Typescript, και ΓΛΩΣΣΑ-to-Javascript, και Ψευδογλώσσα-to-Javascript, ενώ υπάρχει μέχρι και Python-to-Javascript.
2.2. Όμως οι block-based γλώσσες δεν έχουν την εκφραστική δύναμη των textual και είναι λόγος να τις απορρίψουμε για το Λύκειο. Αν πάμε να φτιάξουμε ένα memory game σε scratch θα δούμε ότι ο κώδικάς του δεν διαβάζεται, έχουν τραβήξει τον block-based προγραμματισμό από τα μαλλιά.
2.3. Τέλος, όσο πιο κοντά είναι ένα περιβάλλον σε native Javascript, τόσο πιο εύκολο θα είναι να βρούμε έτοιμες βιβλιοθήκες και εργαλεία, να διαμοιράσουμε και να επαναχρησιμοποιήσουμε υλικό. Η Typescript χρησιμοποιείται εκτενώς και είναι πιθανό να υποστηριχθεί επίσημα από πρότυπα και browsers, η transcrypt (Python) όχι ιδιαίτερα.

Η δικιά μου προτίμηση είναι Javascript, Typescript, Python-to-Javascript, Ψευδογλώσσα-to-Javascript. Θεωρώ όμως σημαντικότατο η γλώσσα που θα επιλεγεί για το Λύκειο, πέρα από την διδασκαλία αλγοριθμικής σκέψης που εξυπακούεται, να επιτρέπει στους μαθητές να φτιάξουν και εφαμογές που οι ίδιοι θα θεωρούν χρήσιμες. Και ναι αυτό ως επί το πλείστον σημαίνει GUI, browser και κινητά. Τα προγράμματα τύπου τερματικού θα τα άφηνα για το πανεπιστήμιο και μάλλον μόνο για τις θετικές σχολές (και πρέπει να είμαι από τους λίγους που περνάνε περισσότερο χρόνο σε τερματικό παρά σε browser! :D ).

Συμφωνώ σε πολύ μεγάλο ποσοστό με την παραπάνω τοποθέτηση.
Με μια διαφορά αν επιτρέπεται(επιτρέπετε),
όχι γλώσσες προγραμματισμού κλειστού κώδικα και συγκεκριμένων εταιρειών, αν και μεγάλος φαν και παλαιός χρήστης Turbo Pascal και Delphi...  :)


Και μια παρατήρηση για τη Javascript
Δεν μου άρεσε όταν πρωτοείδα την ακρίβεια των ακεραίων αριθμών περιορίζει την αναπαράσταση του αποτελέσματος σε 15 ψηφία...
Εκτός αν το κρύψουμε αυτό....
https://www.w3schools.com/js/js_numbers.asp


Παράθεση

Example
var x = 999999999999999;    // x will be 999999999999999
var y = 9999999999999999;   // y will be 10000000000000000
The maximum number of decimals is 17, but floating point arithmetic is not always 100% accurate:

Example
var x = 0.2 + 0.1;          // x will be 0.30000000000000004


To solve the problem above, it helps to multiply and divide:

Example
var x = (0.2 * 10 + 0.1 * 10) / 10;        // x will be 0.3


« Τελευταία τροποποίηση: 16 Μαΐ 2021, 09:31:20 πμ από dpa2006 »
Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6078
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Ποια γλώσσα θέλετε για την Γ΄ Λυκείου;
« Απάντηση #97 στις: 16 Μαΐ 2021, 01:14:08 μμ »
Τέτοιοι περιορισμοί είναι εγγενείς στους περισσότερους επεξεργαστές και στις περισσότερες γλώσσες προγραμματισμού. Για παράδειγμα, στην Python, η παρακάτω εντολή τυπώνει False:
print(0.1 + 0.1 + 0.1 == 0.3)

Περισσότερα στο: https://alkisg.mysch.gr/steki/index.php?topic=8256.msg90258#msg90258
και η λύση που δίνει ο Διερμηνευτής στο τελευταίο bullet του: https://alkisg.mysch.gr/ΓΛΩΣΣΑ/Τύποι_δεδομένων/

Btw λέω στον γιο να κάνει ένα πρόγραμμα σε python που να μετατρέπει χρόνια σε μήνες.
Κάνει a = input(); print(12*a)
Δίνει είσοδο 15
Και του εμφανίζει 151515151515151515151515
...έμεινε λίγο κάγκελο μέχρι να του εξηγήσω πώς και γιατί...

dpa2006

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 836
Απ: Ποια γλώσσα θέλετε για την Γ΄ Λυκείου;
« Απάντηση #98 στις: 18 Μαΐ 2021, 08:17:19 πμ »
Τέτοιοι περιορισμοί είναι εγγενείς στους περισσότερους επεξεργαστές και στις περισσότερες γλώσσες προγραμματισμού. Για παράδειγμα, στην Python, η παρακάτω εντολή τυπώνει False:
print(0.1 + 0.1 + 0.1 == 0.3)

Περισσότερα στο: https://alkisg.mysch.gr/steki/index.php?topic=8256.msg90258#msg90258
και η λύση που δίνει ο Διερμηνευτής στο τελευταίο bullet του: https://alkisg.mysch.gr/ΓΛΩΣΣΑ/Τύποι_δεδομένων/

Btw λέω στον γιο να κάνει ένα πρόγραμμα σε python που να μετατρέπει χρόνια σε μήνες.
Κάνει a = input(); print(12*a)
Δίνει είσοδο 15
Και του εμφανίζει 151515151515151515151515
...έμεινε λίγο κάγκελο μέχρι να του εξηγήσω πώς και γιατί...
Σωστή παρατήρηση
Και με το δίκιο του...!
Υπάρχει πληροφόρηση για την χρήση των Python, Javascript ή άλλων γλωσσών σε Δευτεεοβάθμιες Διεθνώς...?
Από ότι βλέπω από Κύπρο πήραν πολύ συγκεκριμένες αποφάσεις στο θέμαα προγραμματισμός στο Σχολείο...
Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science

kLee

  • Βετεράνος
  • ****
  • Μηνύματα: 97
Απ: Ποια γλώσσα θέλετε για την Γ΄ Λυκείου;
« Απάντηση #99 στις: 18 Ιουν 2021, 10:05:12 πμ »
Από ότι βλέπω από Κύπρο πήραν πολύ συγκεκριμένες αποφάσεις στο θέμαα προγραμματισμός στο Σχολείο...
Όπως??
Ανδροκλής Πολυμένης

Πληροφορικός

dpa2006

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 836
Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science

oldBugman

  • Οπαδός
  • **
  • Μηνύματα: 13
Απ: Ποια γλώσσα θέλετε για την Γ΄ Λυκείου;
« Απάντηση #101 στις: 24 Ιουν 2021, 03:08:10 μμ »
Πολύ μπροστά στη Κύπρο!
Τρίτη Γυμνασίου και ένα πολύ καλό βιβλίο με πολύ περιεχόμενο! Αρχιτεκτονική υπολογιστή, βάσεις δεδομένων...και αλγοριθμική.
http://archeia.moec.gov.cy/sm/24/pliroforiki_c_gymn_simeioseis.pdf
Δείτε το: Γ.7 Η γλώσσα προγραμματισμού PASCAL
Pascal κάνουν με το περιβάλλον Pame.


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

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2843
  • Πύργος Ηλείας
Απ: Ποια γλώσσα θέλετε για την Γ΄ Λυκείου;
« Απάντηση #102 στις: 24 Ιουν 2021, 03:38:44 μμ »
Πολύ μπροστά στη Κύπρο!
Τρίτη Γυμνασίου και ένα πολύ καλό βιβλίο με πολύ περιεχόμενο! Αρχιτεκτονική υπολογιστή, βάσεις δεδομένων...και αλγοριθμική.
http://archeia.moec.gov.cy/sm/24/pliroforiki_c_gymn_simeioseis.pdf
Δείτε το: Γ.7 Η γλώσσα προγραμματισμού PASCAL
Pascal κάνουν με το περιβάλλον Pame.

Η αλγοριθμική καλύπτεται κυρίως με διαγράμματα ροής! Στο τέλος μόνο έχει 12 σελίδες με Pascal...
Δεν νομίζω ότι θεωρούμε την Pascal... "πολύ μπροστά"!

Πάντως στη Β' Λυκείου
http://archeia.moec.gov.cy/sm/181/pliroforiki_epistimi_i_y_katefth_b_lyk.pdf
βλέπω C++

και στη Γ' Λυκείου
http://archeia.moec.gov.cy/sm/417/pliroforiki_epist_HY_kat_c_lyk20180709.pdf
φτάνει και STL


oldBugman

  • Οπαδός
  • **
  • Μηνύματα: 13
Απ: Ποια γλώσσα θέλετε για την Γ΄ Λυκείου;
« Απάντηση #103 στις: 24 Ιουν 2021, 04:01:48 μμ »
Δεν ξέρω τι μάθημα κάνουν στη Γ γυμνασίου, αλλά το θεωρώ δυναμικό ξεκίνημα να έχουν την Pascal σε αυτή τη τάξη με έτοιμο περιβάλλον ανάπτυξης προγραμμάτων. Το ότι "προγραμματίζουν" οι μαθητές με μια γλώσσα προγραμματιμού με κείμενο (και όχι τύπου Scratch) είναι πολύ καλό! H Pascal είναι καλή γλώσσα για εκπαίδευση, αλλά το σημαντικό εδώ είναι ότι δίνεται μέσα από ένα περιβάλλον, που περιγράφεται στο βιβλίο. Σε αντίθεση με τη ΓΛΩΣΣΑ που δεν δόθηκε ένα περιβάλλον μαζί με το βιβλίο, και όχι στη Γ Γυμνασίου αλλά στη Γ Λυκείου!

dpa2006

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 836
Απ: Ποια γλώσσα θέλετε για την Γ΄ Λυκείου;
« Απάντηση #104 στις: 30 Ιουν 2021, 01:38:06 πμ »
Καλημέρα σε όλους,
Για όσους συναδέλφους δεν γνωρίζουν τα Webinars ΠΕ89(ΠΕ19_ΠΕ20)
θα ήθελα να μου επιτραπεί να τα συστήσω.
https://blogs.sch.gr/webinarspe1920/


Αρχείο Πραγματοποιημένων Σεμιναρίων
https://blogs.sch.gr/webinarspe1920/archivedwebinars/

Έγιναν ήδη σεμινάρια για Αντικειμενοστρεφή Προγραμματισμό
Ειδικότερα αυτό που πραγματοποίησε ο Κος Συρρής είναι εξαιρετικό
https://blogs.sch.gr/webinarspe1920/2020/03/02/webinar2020003/
Το συστήνω ανεπιφύλάκτα σε όλους
Συνοδεύεται από υποστηρικτικό υλικό, Διαφάνεις και αρχεία κώδικα σε Python για τη διδασκαλία των αντικειμένων


Παράθεση
Το σεμινάριο αφορά τη διδασκαλία του Αντικειμενοστραφούς Προγραμματισμού σύμφωνα με το βιβλίο Πληροφορικής Γ’ ΓΕ.Λ., βιβλίο μαθητή, ενότητα 4.[/size]Θα παρουσιαστούν και θα συζητηθούν οι βασικές έννοιες του αντικειμενοστραφούς προγραμματισμού και η διαφορά του από τον διαδικαστικό προγραμματισμό.Θα δοθούν παραδείγματα (θεωρητικά) αντικειμενοστραφών προγραμμάτων και θεωρητικές ασκήσεις αποσαφήνισης των βασικών εννοιών των αντικειμενοστραφών προγραμμάτων (ιδιότητες, μέθοδοι, αντικείμενα, κλάσεις, διαγράμματα ιεραρχίας κλάσεων, πολυμορφισμός, διαγράμματα αντικειμένων και διαγράμματα κλάσεων σε αντικειμενοστραφή προγράμματα)Για την καλύτερη κατανόηση των εννοιών θα παρουσιαστούν 2 προγράμματα σε γλώσσα Python.Τέλος, θα δοθούν ερωτήσεις για τα σημαντικά σημεία της θεωρίας του κεφαλαίου.



Αναφέρεται στην (νέα) ύλη της ΑΕΠΠ(Πληροφορική) της Γ Λυκείου για τον αντικειμενοστεφή προγραμματισμό


Η αναφορά του κου Σπύρου Παπαδάκη που αναφέρει ότι η Java δεν είναι κατάλληλη για λύκειο και πρώτα έτη Πανεπιστημίου με βρίσκει σύμφωνπ, αλλά δεν απορρίπτω άλλες απόψεις.  :)


Σελίδα Ομιλητή[/font]
Διαφάνειες ΠαρουσίασηςΑρχεία Κώδικα: Python_ΠαραδείγματαVideo Παρουσίασης


Στο ίδιο site
https://blogs.sch.gr/webinarspe1920/archivedwebinars/
μπορούν να βρεθούν και άλλα δυο σεμινάρια για αντικειμενοστρέφεια.[/font]
[/font][/color]



καλή ακρόαση.



« Τελευταία τροποποίηση: 30 Ιουν 2021, 02:29:39 πμ από dpa2006 »
Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science