Τελευταία μηνύματα

#61
Linux / Απ: Πως να κλείνετε "το intern...
Τελευταίο μήνυμα από gidarakos - 30 Μαρ 2026, 09:47:50 ΠΜ
Το δικό μου σύστημα:
Κώδικας: Bash
$ lsb_release -d
Description:    Ubuntu 22.04.5 LTS
$ uname -r
6.8.0-106-generic

Από το επόμενο post του Άλκη προκύπτει ότι είναι θέμα "το πώς ρυθμίστηκε το Internet του client" και όχι θέμα έκδοσης λειτουργικού/kernel.
#62
Linux / Απ: Πως να κλείνετε "το intern...
Τελευταίο μήνυμα από alexxtasi - 30 Μαρ 2026, 09:19:24 ΠΜ
Παράθεση από: gidarakos στις 28 Μαρ 2026, 05:08:25 ΜΜΔούλεψαν και σε μένα οι καινούργιες εντολές του Άλκη: https://alkisg.mysch.gr/steki/index.php?topic=7955.msg101255#msg101255

Για την ιστορία, οι δικές μου τροποποιημένες εντολές δούλευαν αλλά είχαν διαφορετική αποτύπωση στο routing table:
Κώδικας: Bash
root@pc01:~# ip r
default via 10.x.y.1 dev enp0s25 
10.x.y.0/24 dev enp0s25 proto kernel scope link src 10.x.y.39

root@pc01:~# sudo ip r replace default via $IP
root@pc01:~# ip r
default via 10.x.y.39 dev enp0s25 
10.x.y.0/24 dev enp0s25 proto kernel scope link src 10.x.y.39 

root@pc01:~# sudo ip r replace default via ${IP%.*}.1
root@pc01:~# ip r
default via 10.x.y.1 dev enp0s25 
10.x.y.0/24 dev enp0s25 proto kernel scope link src 10.x.y.39

...δηλαδή σε εσένα η εντολή "sudo ip r replace default via $IP" δούλεψε όπως θα έπρεπε, ενώ στην περίπτωσή μου απλά πρόσθεσε έναν κανόνα !!!
Γιατί αυτή η διαφορά ?

Στην εγκατάσταση που έκανα τη δοκιμή έχω "Ubuntu Mate 24.04.4 LTS" με :
administrator@srv-24:~$ uname -r
6.17.0-19-generic

#63
Γεια σε όλους.
Δεν βρήκα πιο "ταιριαστό" thread και το βάζω εδώ. Συγγνώμη αν είμαι σε λάθος thread.
Έπεσε λοιπόν το μάτι μου σ' αυτό: https://www.getmerlin.in/pricing?coupon=HY2

Η τιμή φαίνεται υπερβολικά ελκυστική για να είναι αληθινή. Μήπως τυχόν έτυχε να το χρησιμοποιήσει κανένας; Κι αν ναι, πώς του φάνηκε;
Ευχαριστώ έτσι κι αλλιώς.
#64
Γ΄ Λυκείου / Απ: Εκσφαλμάτωση - Υποπρογράμμ...
Τελευταίο μήνυμα από pgrontas - 30 Μαρ 2026, 08:44:38 ΠΜ
Παράθεση από: alkisg στις 29 Μαρ 2026, 09:41:24 ΜΜΠαναγιώτη έτσι όμως κάποιος μαθητής θα μπορούσε να πει ότι το παρακάτω είναι συντακτικό, αφού το εντοπίζει πριν την εκτέλεση:
x <- 0
y <- 1/x
Καταλαβαίνω τι λες, όμως αυτό το λάθος θα προκύψει αν ο μαθητής προσπαθήσει να εκτελέσει τον κώδικα, όχι αν απλά τον διαβάσει.
(ΥΓ: Είναι λογικό αυτό να συμβεί, αν δεις και την τελευταία παράγραφο του μηνύματος μου, αλλά και επειδή όπως έγγραψες και εσύ μπορεί κάτι τέτοιο να προβλεφθεί από τον compiler).

Παράθεση από: alkisg στις 29 Μαρ 2026, 09:41:24 ΜΜΝομίζω καλύτερα να τα λέμε "σφάλματα μεταγλώττισης" και "σφάλματα χρόνου εκτέλεσης". Δηλαδή αν το μήνυμα λάθους θα το βγάλει το IDE ή το τελικό .exe. Πατώντας το κουμπί "build" ή πατώντας το κουμπί "execute". Εντελώς ξεκάθαρος διαχωρισμός.

Παράθεση από: alkisg στις 29 Μαρ 2026, 09:41:24 ΜΜΤα "λεκτικά, συντακτικά, σημασιολογικά" είναι υποκατηγορίες του "μεταγλώττισης". Ας μην προμοτάρουμε το "συντακτικά" ώστε να καλύπτει και τις τρεις κατηγορίες.
Γενικά συμφωνούμε σε αυτό και στα υπόλοιπα, αλλά η όλη συζήτηση προκύπτει ακριβώς επειδή δεν μπορούμε να τα πούμε έτσι.
Στο μάθημα όλα τα μεταγλώττισης στην πραγματικότητα έχουν υποκατασταθεί από τα συντακτικά. Δεν το προμοτάρουμε εμείς, αλλά προσπαθούμε να το συμβιβάσουμε, ώστε να απαντήσουμε στις ερωτήσεις των μαθητών και να εξηγήσουμε γιατί στο θέμα του 2023 το A mod 5 με Α πραγματική η σωστή απάντηση ήταν συντακτικό.

Η μόνη μου ένσταση σε αυτά που γράφεις (γενικά μιλώντας και όχι στα πλαίσια του μαθήματος), είναι ότι περιπτώσεις όπως το 1/0 μπορούν να θεωρηθούν  ως μια εκτεταμένη μορφή σύνταξης γιατί στο δεξιό τελεσταίο η εκτεταμένη σύνταξη μπορεί να απορρίπτει το 0 (όχι επειδή ο compiler προσπαθεί να κάνει την πράξη, αλλά επειδή δεν επιτρέπεται να προσπαθήσει). Κάτι τέτοιο προσπάθησαν να κάνουν οι attribute grammars στη δεκαετία του 60, με αρκετά μειονεκτήματα αλλά και πλεονεκτήματα.  Μάλλον κάτι τέτοιο δεν ακολουθήθηκε εκτός ίσως από το type checking.
#65
Γ΄ Λυκείου / Πληροφορική XP
Τελευταίο μήνυμα από AlexandrosP - 30 Μαρ 2026, 02:22:21 ΠΜ
Καλησπέρα, νέος σχετικά στο φόρουμ και ελπίζω να μην υπάρχει θέμα που ανεβάζω εδώ το post 
Αφορά την εφαρμογή Πληροφορικη ΧP την οποία δημιούργησα με στόχο να υποστηρίξει τους μαθητές της Γ' Λυκείου στην προετοιμασία τους στο μάθημα της Πληροφορικής.

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

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

Η εφαρμογή μπορεί να χρησιμοποιηθεί είτε online, μέσω σύνδεσης με Google account, είτε offline, ώστε να υπάρχει ευελιξία ανάλογα με τις ανάγκες του κάθε μαθητή.

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

Σύνδεσμος εφαρμογής:
https://play.google.com/store/apps/details?id=com.alexandros.glwssaapp

#66
Γ΄ Λυκείου / Απ: Εκσφαλμάτωση - Υποπρογράμμ...
Τελευταίο μήνυμα από alkisg - 29 Μαρ 2026, 09:41:24 ΜΜ
Παράθεση από: pgrontas στις 29 Μαρ 2026, 12:22:33 ΜΜ... αν ο πηγαίος κώδικας περιέχει πληροφορία που θα μπορέσει να βοηθήσει κάποιον προσεκτικό αναγνώστη του να εντοπίσει το λάθος, τότε είναι συντακτικό (δηλαδή μπορεί να εντοπιστεί πριν την εκτέλεση).

Παναγιώτη έτσι όμως κάποιος μαθητής θα μπορούσε να πει ότι το παρακάτω είναι συντακτικό, αφού το εντοπίζει πριν την εκτέλεση:
x <- 0
y <- 1/x

Νομίζω καλύτερα να τα λέμε "σφάλματα μεταγλώττισης" και "σφάλματα χρόνου εκτέλεσης". Δηλαδή αν το μήνυμα λάθους θα το βγάλει το IDE ή το τελικό .exe. Πατώντας το κουμπί "build" ή πατώντας το κουμπί "execute". Εντελώς ξεκάθαρος διαχωρισμός.

Τα "λεκτικά, συντακτικά, σημασιολογικά" είναι υποκατηγορίες του "μεταγλώττισης". Ας μην προμοτάρουμε το "συντακτικά" ώστε να καλύπτει και τις τρεις κατηγορίες.

Γκρι ζώνη θα μπορούσαν να θεωρηθούν οι "συμβουλές" που δίνουν κάποιοι έξυπνοι compilers, όπου εμφανίζεται ένα warning "εδώ μάλλον έχεις άπειρο loop" ή "εδώ βλέπω μη αρχικοποιημένη μεταβλητή" (static code analysis, linting κλπ).
Αλλά καταρχάς αυτά δεν αναφέρονται στο διδακτικό πακέτο και μπορούμε να μην τα αναφέρουμε ούτε εμείς,
και κατά δεύτερο, πάλι μπορούμε να τα κατατάξουμε στην παραπάνω ομαδοποίηση.
Εμποδίστηκε η εκτέλεση του προγράμματος; Ε, άρα είναι σφάλμα μεταγλώττισης.
Ξεκίνησε να εκτελείται το πρόγραμμα και σταμάτησε απότομα, πριν ολοκληρωθεί; Ε, άρα είναι σφάλμα χρόνου εκτέλεσης.

Έτσι το x <- 1/0 μπορεί να είναι είτε μεταγλώττισης είτε εκτέλεσης ανάλογα τον compiler, αν αποφασίσει να κάνει την πράξη κατά την μεταγλώττιση ή κατά την εκτέλεση. Συντακτικό δεν πρέπει να το πούμε ποτέ, είναι λάθος ορολογία, δεν παραβιάζεται κανένας συντακτικός κανόνας.

Άλλο παράδειγμα, τα άπειρα loop δεν είναι ούτε μεταγλώττισης ούτε εκτέλεσης αφού δεν υπάρχει κανένα μήνυμα σφάλματος ούτε από τον compiler ούτε από το .exe.
Μπορεί να είναι λογικά λάθη, μπορεί και να μην είναι αν π.χ. προγραμματίζω ένα ATM και δεν θέλω να τερματίζει ποτέ. Οπότε αν ο compiler ήταν έξυπνος και μου είχε βγάλει warning, θα επιλέξω να το αγνοήσω.

Αν ποτέ πάμε σε επαγγελματική γλώσσα προγραμματισμού και θέλουμε να διδάξουμε και τα warnings, τότε ένα warning μεταγλώττισης μπορεί ταυτόχρονα να είναι και warning/error χρόνου εκτέλεσης αλλά και λογικό λάθος, και τα τρία μαζί.
#67
Γ΄ Λυκείου / Απ: Εκσφαλμάτωση - Υποπρογράμμ...
Τελευταίο μήνυμα από petrosp13 - 29 Μαρ 2026, 06:48:56 ΜΜ
Κι αν σχεδιάσουμε έναν μεταγλωττιστή που δεν ελέγχει την αντιστοιχία των τύπων των παραμέτρων;

:D :D :D
#68
Γ΄ Λυκείου / Απ: Εκσφαλμάτωση - Υποπρογράμμ...
Τελευταίο μήνυμα από George Eco - 29 Μαρ 2026, 03:40:50 ΜΜ
Αν οι πραγματικές παράμετροι είναι άλλου τύπου από τις τυπικές, είναι συντακτικό.

Αν είναι ίδιος ο τύπος, τότε τό πρόβλημα μεταφέρεται στο όταν λαμβάνουν τιμή αυτές.
Αν Χ ακέραια και σε μία εντολή ΔΙΑΒΑΣΕ Χ αντί για ακέραιο βάλεις ένα όνομα σαν το 'ΜΕΝΕΛΑΟΣ' τότε είναι σφάλμα κατά την εκτέλεση, που οδηγεί σε αντικανονικό τερματισμό.  Άρα το πρόβλημα ΠΡΟΗΓΕΙΤΑΙ της διαδικασίας.

Οπότε είναι συντακτικό στα πλαίσια του μαθήματος.

 
#69
Γ΄ Λυκείου / Απ: Εκσφαλμάτωση - Υποπρογράμμ...
Τελευταίο μήνυμα από pgrontas - 29 Μαρ 2026, 12:22:33 ΜΜ
Παράθεση από: gpapargi στις 29 Μαρ 2026, 09:55:11 ΠΜΚανονικά (αν ξεφύγουμε από το πλαίσιο του μαθήματος) είναι σημασιολογικό λάθος. Στο μάθημα όμως, οτιδήποτε συμβεί κατά τη μετάφραση θεωρείται συντακτικό σφάλμα. Άρα στο πλαίσιο του μαθήματος είναι συντακτικό.
Σωστά. Το συγκεκριμένο πρόβλημα μας έχει απασχολήσει εξαιρετικά στο Στέκι και προτείνω στον @lala να ανατρέξει στις σχετικές συζητήσεις.

Προσωπικά έχω καταλήξει στο ότι ακόμα και στις κανονικές γλώσσες τα όρια μεταξύ σύνταξης και σημασιολογίας είναι αρκετά δισδιάκριτα και ευμετάβλητα ανάλογα με την γλώσσα.
Στα πλαίσια του μαθήματος, η συμβουλή που δίνω στους μαθητές μου είναι ότι αν ο πηγαίος κώδικας περιέχει πληροφορία που θα μπορέσει να βοηθήσει κάποιον προσεκτικό αναγνώστη του να εντοπίσει το λάθος, τότε είναι συντακτικό (δηλαδή μπορεί να εντοπιστεί πριν την εκτέλεση).
#70
Γ΄ Λυκείου / Απ: Εκσφαλμάτωση - Υποπρογράμμ...
Τελευταίο μήνυμα από gpapargi - 29 Μαρ 2026, 09:55:11 ΠΜ
Κανονικά (αν ξεφύγουμε από το πλαίσιο του μαθήματος) είναι σημασιολογικό λάθος. Στο μάθημα όμως, οτιδήποτε συμβεί κατά τη μετάφραση θεωρείται συντακτικό σφάλμα. Άρα στο πλαίσιο του μαθήματος είναι συντακτικό.

Μπορείς να κάνεις μια δοκιμή στο Διερμηνευτή. Θα δεις ότι δε θα ξεκινήσει να το τρέχει το πρόγραμμα αλλά θα το πιάσει κατά τον έλεγχο. Αφού δεν έχει ξεκινήσει η εκτέλεση του προγράμματος δεν μπορεί να είναι λάθος κατά την εκτέλεση.

Εξαίρεση είναι αν πας να βάλεις ακέραιους σε πραγματικές μεταβλητές που θα τρέξει κανονικά.