Λύσεις — Κεφάλαιο 5 · Δομές Δεδομένων Ι — Python (σελ. 109) – ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ

Λύσεις — Κεφάλαιο 5 · Δομές Δεδομένων Ι — Python (σελ. 109)

Απαντήσεις στις Ερωτήσεις (στατικές/δυναμικές δομές, βασικές δομές Python, λίστα & μέθοδοι, πλειάδα, λεξικό). Οι πράξεις επαληθεύτηκαν με κώδικα.


Ερ.1 — Στατική vs δυναμική δομή

Ερώτηση: Ποια η διαφορά μεταξύ στατικής και δυναμικής δομής δεδομένων;

Απάντηση:

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

Σύνοψη: (ενδεικτική) Στατική: σταθερό μέγεθος. Δυναμική: μεταβαλλόμενο μέγεθος κατά την εκτέλεση.

Κριτήρια αξιολόγησης:

  • Κριτήριο: σταθερό vs μεταβαλλόμενο μέγεθος.

Ερ.2 — Βασικές δομές της Python

Ερώτηση: Ποιες είναι οι βασικές δομές δεδομένων που υποστηρίζει η Python;

Απάντηση:

  • Συμβολοσειρές (str), λίστες (list), σύνολα (set), πλειάδες (tuple) και λεξικά (dictionary).

Σύνοψη: (ενδεικτική) Συμβολοσειρές, λίστες, σύνολα, πλειάδες, λεξικά.

Κριτήρια αξιολόγησης:

  • Κριτήριο: αναφορά λίστας/πλειάδας/λεξικού (+ σύνολα/συμβολοσειρές).

Ερ.3 — Τι είναι η λίστα & πώς ορίζεται

Ερώτηση: Τι είναι η Λίστα στην Python και πώς μπορούμε να την ορίσουμε;

Απάντηση:

  • Είναι μια δυναμική, διατεταγμένη, μεταβλητή ακολουθία στοιχείων (κάθε τύπου).
  • Ορίζεται με αγκύλες: L = [10, 20, 30] (ή κενή L = []).
  • Πρόσβαση με δείκτη από το 0: L[0], L[-1], slicing L[1:3].

Σύνοψη: (ενδεικτική) Δυναμική/μεταβλητή διατεταγμένη ακολουθία, ορίζεται με αγκύλες, π.χ. L = [10, 20, 30].

Κριτήρια αξιολόγησης:

  • Κριτήριο: αγκύλες [] + δυναμική/μεταβλητή + δεικτοδότηση από 0.

Ερ.4 — Λειτουργίες/μέθοδοι λίστας

Ερώτηση: Ποιες είναι οι βασικές λειτουργίες-μέθοδοι σε μια λίστα;

Απάντηση:

  • append(x) (προσθήκη στο τέλος), insert(i,x) (εισαγωγή σε θέση), remove(x) (αφαίρεση), pop() (αφαίρεση & επιστροφή).
  • sort() (ταξινόμηση), reverse() (αντιστροφή), len(L) (πλήθος), δεικτοδότηση/slicing, διάτρεξη με for.

Σύνοψη: (ενδεικτική) append, insert, remove, pop, sort, reverse (+ len, δεικτοδότηση/slicing, for).

Κριτήρια αξιολόγησης:

  • Κριτήριο: ≥4 σωστές μέθοδοι/λειτουργίες.

Ερ.5 — Πλειάδα & πότε

Ερώτηση: Τι είναι η πλειάδα και πότε τη χρησιμοποιούμε;

Απάντηση:

  • Είναι σαν λίστα αλλά αμετάβλητη (immutable)· ορίζεται με παρενθέσεις: t = (1, 2, 3).
  • Τη χρησιμοποιούμε όταν τα δεδομένα δεν πρέπει να αλλάξουν (π.χ. σταθερές τιμές/συντεταγμένες) — ασφαλέστερη & ελαφρύτερη από τη λίστα.

Σύνοψη: (ενδεικτική) Αμετάβλητη ακολουθία με παρενθέσεις (π.χ. (1,2,3))· για δεδομένα που δεν πρέπει να αλλάξουν.

Κριτήρια αξιολόγησης:

  • Κριτήριο: αμεταβλητότητα + παρενθέσεις + κατάλληλη χρήση.

Ερ.6 — Τι είναι το λεξικό

Ερώτηση: Τι είναι το λεξικό;

Απάντηση:

  • Δομή που αποθηκεύει ζεύγη κλειδί → τιμή (key : value)· ορίζεται με άγκιστρα: d = {'a': 1, 'b': 2}.
  • Η πρόσβαση γίνεται με το κλειδί (d['a']), όχι με αριθμητική θέση· τα κλειδιά είναι μοναδικά.

Σύνοψη: (ενδεικτική) Δομή με ζεύγη κλειδί→τιμή, ορίζεται με άγκιστρα· πρόσβαση μέσω μοναδικού κλειδιού.

Κριτήρια αξιολόγησης:

  • Κριτήριο: ζεύγη key:value + πρόσβαση με κλειδί.

 ΣΧΟΛΙΚΟ ΒΙΒΛΙΟ