Εισαγωγή στον Προγραμματισμό Python Μάθημα 3: πίνακες και βρόγχος επανάληψης for (για) Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ.

Σχετικά έγγραφα
Εισαγωγή στον Προγραμματισμό Python Μάθημα 3: πίνακες και βρόγχος επανάληψης for (για) Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ.

Εισαγωγή στον Προγραμματισμό Python Μάθημα 4: Συναρτήσεις (functions) και δομοστοιχεία (modules) στην Python

Εισαγωγή στον Προγραμματισμό Python Μάθημα 1: Μεταβλητές, τελεστές, είσοδος/έξοδος προγράμματος, συνθήκη ελέγχου if Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ.

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Θέματα Προγραμματισμού Η/Υ

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

ακολουθία (sequence)

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Πληροφορική ΙΙ Θεματική Ενότητα 10

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ

Εχουμε ήδη συναντήσει μονοδιάστατους πίνακες, οι οποίοι ορίζονται ως εξής:

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2018 Β ΦΑΣΗ

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2019 Β ΦΑΣΗ

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Να γράψετε τους αριθμούς 1, 2, 3 από τη Στήλη Α και δίπλα το γράμμα α, β, γ, δ, ε από τη Στήλη Β που δίνει τη σωστή αντιστοιχία.

Πληρουορική Γ Γσμμασίοσ

α. Οι συμβολοσειρές είναι μια ακολουθία από χαρακτήρες. Μια συμβολοσειρά μπορεί να αποτελείται από περισσότερες από μία λέξεις.

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

ΑΣΚΗΣΗ 5: ΠΙΝΑΚΕΣ. Σχήµα 1: H έννοια των πινάκων

Εισαγωγή στην Γλώσσα Προγραμματισμού Python. 12/10/16 1

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Φύλλο Εργασίας 3. Μια γρήγορη επανάληψη από τα προηγούμενα

ΠΛΗΡΟΦΟΡΙΚΗ Ι (Python) Ενότητα 4

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ΚΑΙ Β ) ΤΕΤΑΡΤΗ 20 ΙΟΥΝΙΟΥ 2018

Διορθώσεις σελ

Πως θα αποθηκεύσει τη λίστα με τα ψώνια του και θα την ανακτήσει στο Σ/Μ; και πως θα προσθέσει στη λίστα του επιπλέον προϊόντα;

Μονοδιάστατοι πίνακες Πολυδιάστατοι πίνακες Μέθοδοι Μέθοδοι Recursive Overloading

Δραστηριότητα 2.2 Δομές επανάληψης και επιλογής

ΕΠΛ031 - Εισαγωγή στον Προγραμματισμό

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C

Εργαστήριο 6 Ασκήσεις: To Εργαλείo Ωφελιμότητας Awk Προγραμματισμός Κελύφους Bash

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΩΝ & Δ ΤΑΞΗΣ ΕΣΠΕΡΙΝΩΝ ΥΠΟΛΕΙΠΟΜΕΝΕΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ

ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

ΘΕΜΑ Α. 1. Η δυαδική αναζήτηση χρησιμοποιείται μόνο σε ταξινομημένες συλλογές δεδομένων.

Νικόλαος Μιχαλοδημητράκης Σημειώσεις C (Εργαστήριο) 12 ο Μάθημα 1

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Εισαγωγή στον Προγραμματισμό με C++

Α1. 1-Σωστό 2-Λάθος 3-Λάθος 4-Σωστό 5-Σωστό

Συστήματα Γνώσης. Πρακτικό Κομμάτι Μαθήματος Πρότυπα Γεγονότων. Νίκος Βασιλειάδης, Αναπλ. Καθηγητής Τμήμα Πληροφορικής

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Python 8. Δομές Δεδομένων ΙΙ

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

ΣΤΗΛΗ Β ΑΠΟΤΕΛΕΣΜΑ 1. float(10) α pow(2,3) β abs(-10) γ int(5.6) δ. 10 ε. 5.6 Μονάδες 8 ΣΤΗΛΗ Α ΣΥΝΑΡΤΗΣΗ

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Συναρτήσεις. Εισαγωγή

ΑΣΚΗΣΗ 7: ΑΛΦΑΡΙΘΜΗΤΙΚΑ

Προγραμματισμός 2 Σημειώσεις εργαστηρίου

Κεφάλαιο 3.1, : Συναρτήσεις I. (Διάλεξη 11)

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

ΑΤΣΑΛΑΚΗ ΞΑΝΘΟΥΛΑ ΕΡΓΑΣΤΗΡΙΟ 2

2.1. Εντολές Σχόλια Τύποι Δεδομένων

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Ακολουθίες: Λίστες και Πλειάδες Χειμερινό Εξάμηνο 2016

Κεφάλαιο Πίνακες Ι. (Διάλεξη 16)

1 Πίνακες 1.1 Συνοπτική θεωρία

Μεθόδων Επίλυσης Προβλημάτων

Θέματα Προγραμματισμού Η/Υ

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο

Προγραμματισμό για ΗΜΥ

Προγραμματισμός Υπολογιστών & Εφαρμογές Python. Κ.Π. Γιαλούρης

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ομή Επανάληψης

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος.

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσμία: 17/1/14, 22:00

1 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ - ΑΛΓΟΡΙΘΜΟΙ

Α ν ύ σ μ α τ α - V e c t o r s

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Γραφικά υπολογιστών Εργαστήριο 1 Εισαγωγή στην Python

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

Ευφυής Προγραμματισμός

Θέματα Προγραμματισμού Η/Υ

ΘΕΜΑ : «Από την ΜicroWorlds Pro στην Python. Μια Βιωματική Διδακτική Πρόταση.»

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 10 Ο. Δομές Ενώσεις Απαριθμητοί τύποι δεδομένων ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ ΤΡΙΤΗ 11 ΙΟΥΝΙΟΥ 2019 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Εισαγωγή στον Προγραμματισμό. Ενότητα 8: Συναρτήσεις. Κ.

Μεθόδων Επίλυσης Προβλημάτων

Μεθόδων Επίλυσης Προβλημάτων

Βασικά Στοιχεία Python 3

πινάκων Σύγχρονα Προγραματιστικά Περιβάλλοντα ΠΕΡΙΕΧΟΜΕΝΑ

Προγραμματισμός Ι (ΗΥ120)

Ενότητα: Δυαδική Αναζήτηση Σχέδιο Δραστηριότητας: Παιχνίδι: Βρες τον αριθμό

Προγραμματισμός ΙI (Θ)

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2019 Β ΦΑΣΗ Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)

Συναρτήσεις και διαδικασίες

Εκτέλεση της εντολής1 και στη συνέχεια εκτέλεση της ΕΝΟΤΗΤΑΣ και της εντολής2 όσο η ΣΥΝΘΗΚΗ είναι αληθής.

Δομές ελέγχου & επανάληψης

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Δομημένος Προγραμματισμός

Στόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων

ΘΕΜΑ Α. Μονάδες 10 Α2.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

String Handling ΓΛΩΣΣΙΚΉ ΤΕΧΝΟΛΟΓΊΑ

Transcript:

Εισαγωγή στον Προγραμματισμό Python Μάθημα 3: πίνακες και βρόγχος επανάληψης for (για) Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ. Δημητρακάκης

Πίνακες/Λίστες Σε πολλές περιπτώσεις στον προγραμματισμό υπάρχει η ανάγκη να αποθηκεύω πολλά δεδομένα σε μία μεταβλητή. Η μεταβλητή αυτή συνήθως λέγεται πίνακας (array)και ειδικά στην περίπτωση της Python λέγεται λίστα (list) Παράδειγμα πινάκων στην Python: numbers = [34, 12, 56, 68, 23, 1] names = ["mary", "john", "nick"] ages = [12.3, 25.8, 32.0] Προσέξτε ότι τα στοιχεία του πίνακα αριθμούνται από 0 έως (πλήθος στοιχείων -1) >>> numbers[2] 56 >>> Το πλήθος των στοιχείων ενός πίνακα λέγεται array length και στην python επιστρέφεται από τη συνάρτηση len(), π.χ. >>> names = ["mary", "john", "nick"] >>> len(names) 3 >>> Ο αριθμός βάσει του οποίου μπορώ να προσπελάσω κάποιο στοιχείο του πίνακα λέγεται δείκτης (index). Ο δείκτης ενός πίνακα x μεταβάλλεται από 0 έως len(x)-1 Έτσι, το τελευταίο στοιχείο του πίνακα x θα είναι το x[len(x)-1]

Αλφαριθμητικά Λίστα Χαρακτήρων Στις περισσότερες γλώσσες προγραμματισμού, ένα αλφαριθμητικό (String) αντιστοιχεί σε ένα πίνακα χαρακτήρων όπως φαίνεται παρακάτω: >>> >>> a = "Nice weather today" >>> a[0] 'N' >>> a[1] 'i' >>> len(a) 18 >>> a[17] 'y' >>>

Ο βρόγχος for (για) Γενικότερα οι βρόγχοι επανάληψης χρησιμοποιούνται όταν μια διαδικασία στο πρόγραμμα μας πρέπει να εκτελεστεί επαναληπτικά. Ο βρόγχος επανάληψης while (όσο) που μάθαμε στο προηγούμενο μάθημα, μας επιτρέπει να εκτελέσουμε μία διαδικασία για όσο ισχύει μία συνθήκη (π.χ. μέχρι ο χρήστης να γράψει τη λέξη quit, ή μέχρι το άθροισμά μας να μην υπερβαίνει τον αριθμό 100). Ο βρόγχος επανάληψης for (για) μας επιτρέπει να εκτελέσουμε μια διαδικασία για ένα δεδομένο αριθμό επαναλήψεων (π.χ. για 10 φορές, ή για τόσες φορές όσες είναι τα στοιχεία ενός πίνακα)

Παράδειγμα: Υπολογισμός Αθροίσματος και Μέσου Όρου s = 0 #edo orizoume ena pinaka akeraion me to onoma numbers numbers = [34, 12, 15, 18, 21, 90] #h synarthsh len mas dinei to mikos tou pinaka print "There are", len(numbers), "numbers" #edo athroizontai oi arithmoi for x in numbers: s = s + x #ektyposi athroismatos print "The sum is: ", s #ypologismos kai ektyposi mesou orou avg = (s + 0.0)/len(numbers) print "The average is: ", avg

Άσκηση Πόσοι χαρακτήρες υπάρχουν σε ένα πίνακα αλφαριθμητικών, όπως για παράδειγμα: names = [ giorgos, maria, nikos, eleni, giannis ]???

range (εύρος) Η συνάρτηση range() επιστρέφει μια λίστα αριθμών και επιδέχεται από ένα έως τρία ορίσματα (arguments). Παράδειγμα χρήσης της συνάρτησης με ένα όρισμα: >>> range(5) [0, 1, 2, 3, 4] Παράδειγμα χρήσης της συνάρτησης με δύο ορίσματα: >>> range (2, 13) [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] Παράδειγμα χρήσης της συνάρτησης με τρία ορίσματα: >>> range(0, 10, 3) [0, 3, 6, 9] Παράδειγμα φθίνουσας ακολουθίας αριθμών: >>> range(10, 0, -3) [10, 7, 4, 1]

Παράδειγμα 1 Υλοποιήστε μία δομή επανάληψης, η οποία να εκτυπώνει τις 20 πρώτες δυνάμεις του 2. Λύση: for x in range(20): print 2**x

for και πίνακες Για να διατρέξω ένα πίνακα χρησιμοποιώ συνήθως τη δομή επανάληψης for. Στην Python υπάρχουν δύο τρόποι: #orismos pinaka numbers = [23, 12, 56, 7, 8] #tropos 1: diatrexo ton pinaka me vash to ekastote stoixeio for n in numbers: print n #tropos 2: diatrexo ton pinaka me vash to deikti (index) for i in range(len(numbers)): print numbers[i]

Άσκηση Να υλοποιήσετε ένα πρόγραμμα το οποίο θα εκτυπώνει τις συχνότητες σε (Hz) για όλες τις νότες από το μεσαίο Λα έως τη νότα Λα που βρίσκεται μία οκτάβα πιο πάνω Υπενθύμιση: Μια οκτάβα αποτελείται από 12 νότες (ημιτόνια) Αν μια νότα έχει συχνότητα f, η συχνότητα της νότας που είναι μία οκτάβα (12 ημιτόνια) επάνω είναι 2f Η συχνότητα του μεσαίου Λα είναι 440Hz Οι συχνότητες των ημιτονίων αυξάνονται γεωμετρικά, συνεπώς, για να ανέβω ένα ημιτόνιο πρέπει να πολλαπλασιάσωμε τον ίδιο πάντα αριθμό, έστω x. Τότε: x 12 = 2=> x = 2 1/12 =

Παράδειγμα 2: Εκτύπωση δεδομένων εισόδου Να υλοποιηθεί ένα πρόγραμμα το οποίο θα ζητάει από το χρήστη να εισάγει κάποια ονόματα χωρισμένα με κόμμα κι έπειτα θα εκτυπώνει το καθένα από αυτά σε χωριστή γραμμή. Λύση: #zita apo to xrhsth ta dedomena #sti metavliti students apothikeyetai ena alfarithmitiko # to opoio periexei kai ta kommata students = raw_input("give student names separated by comma: ") #h synartisi split xorizei to alfarithmitiko students #se kathe komma (split = xorizo) #to apotelesma apothikeyetai se enan pinaka me to onoma names names = students.split(",") #ektypose to kathe stoixeio tou pinaka names for name in names: print "Hello ", name Προσοχή: Σε αυτό το πρόγραμμα χρησιμοποιείται η συνάρτηση raw_input() αντί της input() για να υποδηλώσει στην Python ότι τα δεδομένα που θα εισάγει ο χρήστης πρέπει να διαβαστούν ως αλφαριθμιτικό και όχι ως αριθμός!!!