Επαγγελματικό Λύκειο > Προγραμματισμός Υπολογιστών

Διορθώσεις Βιβλίου Προγραμματισμός Υπολογιστών Γ ΕΠΑΛ

(1/15) > >>

evry:
Σε αυτό το thread θα πρότεινα όσοι συνάδελφοι κάνουν το μάθημα και εντοπίσουν λάθη ή προβλήματα στο βιβλίο να τα αναφέρουν εδώ ώστε να τα μαζέψουμε και να τα διορθώσουμε στην επόμενη έκδοση.

Προς το παρόν ανεβάζω διορθωμένες τις σελίδες 73-74 και 143-145.
Τα σημεία που πρέπει να προσέξουμε είναι:

* Στην εισαγωγή σε στοίβα και ουρά πρέπει να χρησιμοποιηθούν οι append και insert και όχι ο τελεστής + . Αντί της append μπορεί να χρησιμοποιηθεί και το ιδίωμα +=
* στην εφαρμογή της στοίβας με την αντιστροφή αριθμών έχει ξεχαστεί ένα ! αντί για not προφανώς από κάποιον C programmer που ακόμα μαθαίνει Python
* η δραστηριοτητα αφόρμησης της δυαδικής είναι διορθωμένη
* Οι πίνακες της δυαδικής έχουν διορθωθεί γιατί έχουν χαλάσει στη σελιδοποίηση
* Οι σελίδες δεν είναι ακριβώς ίδιες όσον αφορά τη σελιδοποίηση. Επέλεξα να βάλω όλον τον κώδικα σε μια σελίδα στην δυαδική γιατί νομίζω θα είναι καλύτερο
ΥΓ. Προσοχή!!! Οι διορθώσεις δεν είναι επίσημες. απλά για να διεκολυνθεί το δύσκολο έργο των συναδέλφων φέτος

edit: τελευταία έκδοση διορθώσεις 1.2

Γιάννης Αναγνωστάκης:
Ερώτηση

Γιατί ξαφνικά στο κεφάλαιο αυτό χρησιμοποιήσετε τον τελεστή // ενώ μέχρι πριν στο βιβλίο δεν γίνεται καμία αναφορά;

π.χ στην ηλεκτρονική έκδοση σελίδα 75 αναφέρεται η εντολή mid = ( first + last ) // 2, όπως και εδώ στις διορθώσεις υπάρχει η ίδια εντολή

Υπάρχει λόγος που δεν γράφεται απλά mid = ( first + last ) / 2 ; Δεν έχει διαφορά, απλά γιατί εισάγουμε νέο τελεστή ξαφνικά;


Επίσης μήπως θα έπρεπε στις διορθώσεις να ειναι
answer =raw_input(“Είναι ο αριθμός ο ” + str(mid) + “ ? (N/O)” )
αντί για answer = input(“Είναι ο αριθμός ο ” + str(mid) + “ ? (N/O)” )

Γιάννης Αναγνωστάκης:
.

polikarpos:
διόρθωση σελίδα 71
το 15>8 να αντικασταθεί με  11>8

 Γιάννη Αναγνωστάκη
Η απάντηση στις ερωτήσεις σου, κατά τη γνώμη μου ,είναι η εξής
Το βιβλίο γράφτηκε από πολλούς συγγραφείς μερικοί εκ των οποίων χρησιμοποιούσαν python 2 ενώ άλλοι χρησιμοποιούσαν python 3. Κάποια στιγμή αποφασίστηκε για κάποιον περίεργο κατά τη γνώμη μου λόγο να χρησιμοποιηθεί  python 2   Όσοι έγραφαν σε python 3 βρέθηκαν στην άβολη θέση να πρέπει να αλλάξουν τον κωδικα τους με  αποτέλεσμα κάποια μικρά λαθάκια να ξεφύγουν.

evry:

--- Παράθεση από: Γιάννης Αναγνωστάκης στις 20 Νοε 2016, 02:40:34 μμ ---Ερώτηση

Γιατί ξαφνικά στο κεφάλαιο αυτό χρησιμοποιήσετε τον τελεστή // ενώ μέχρι πριν στο βιβλίο δεν γίνεται καμία αναφορά;

π.χ στην ηλεκτρονική έκδοση σελίδα 75 αναφέρεται η εντολή mid = ( first + last ) // 2, όπως και εδώ στις διορθώσεις υπάρχει η ίδια εντολή

Υπάρχει λόγος που δεν γράφεται απλά mid = ( first + last ) / 2 ; Δεν έχει διαφορά, απλά γιατί εισάγουμε νέο τελεστή ξαφνικά;

--- Τέλος παράθεσης ---

έχεις δίκιο Γιάννη, έπρεπε να είναι / , αλλά στην Python 2 μπορεί να χρησιμοποιηθεί και ο τελεστής //, Έχουν το ίδιο αποτέλεσμα.
Μπορεί να χρησιμοποιηθεί και ο τελεστής αυτός , δεν είναι λάθος. Θα έπρεπε όμως να αναφέρεται προηγουμένως.


--- Παράθεση ---Επίσης μήπως θα έπρεπε στις διορθώσεις να ειναι
answer =raw_input(“Είναι ο αριθμός ο ” + str(mid) + “ ? (N/O)” )
αντί για answer = input(“Είναι ο αριθμός ο ” + str(mid) + “ ? (N/O)” )

--- Τέλος παράθεσης ---
Γιάννη έχεις δίκιο , το διόρθωσα, ευχαριστώ

Πλοήγηση

[0] Λίστα μηνυμάτων

[#] Επόμενη σελίδα

Μετάβαση στην πλήρη έκδοση