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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Κάθε υποπρόγραμμα έχει μόνο μία είσοδο και μία έξοδο. Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα.

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

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

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

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

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

Ο πιο κάτω πίνακας περιγράφει σε ποιες περιπτώσεις χρησιμοποιούμε τους τρεις πιο πάνω τρόπους:

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

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

Γραφικά υπολογιστών Εργαστήριο 4 Εισαγωγή στις λίστες

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

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

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

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

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

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

scanf() scanf() stdin scanf() printf() int float double %lf float

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

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

Υπο-προγράμματα στη Fortran

Γνωρίστε το Excel 2007

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

Τεχνικός Εφαρμογών Πληροφορικής

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

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

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

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

Ανάπτυξη και Σχεδίαση Λογισμικού

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

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

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

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

Αναφορές, είκτες και Αλφαριθμητικά

Εισαγωγή στην PHP. ΕΣΔ 232 Διαχείριση Δεδομένων στη Κοινωνία της Πληροφορίας. Περιεχόμενα. Περιεχόμενα

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

Προγραμματιστικά Εργαλεία και Τεχνολογίες για Επιστήμη Δεδομένων

Εισαγωγή στον Προγ/μό Υπολογιστών

8. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο όταν το πηγαίο πρόγραμμα δεν περιέχει συντακτικά λάθη.

Τι είναι υποπρόγραμμα; Τμήμα προγράμματος το οποίο επιτελεί ένα αυτόνομο υπολογιστικό έργο (γράφεται χωριστά από το υπόλοιπο πρόγραμμα)

Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α. Σπυρόπουλος Α. Μπουντουβής

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

Ακρότατα πίνακα, χωρίς min, max, μόνο με pos

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 >>> Θα αναλυθεί σε επόμενο μάθημα το τι είναι συνάρτηση στην python. Προς το παρόν να θυμάστε ότι όταν μια λέξη ακολουθείται από παρενθέσεις αντιστοιχεί σε συνάρτηση. Συνάρτηση είναι επίσης η input()

Αλφαριθμητικά Λίστα Χαρακτήρων Στις περισσότερες γλώσσες προγραμματισμού, ένα αλφαριθμητικό (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

Άσκηση Να υλοποιήσετε ένα πρόγραμμα το οποίο θα εκτυπώνει τις συχνότητες σε (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 ότι τα δεδομένα που θα εισάγει ο χρήστης πρέπει να διαβαστούν ως αλφαριθμιτικό και όχι ως αριθμός!!!