Πληροφορική Ι

Μιχάλης Δρακόπουλος

Περιγραφή

 

Εισαγωγή στον προγραμματισμό και στην αλγοριθμική επίλυση προβλημάτων με το MATLAB.

Introduction to programming and algorithmic problem solving with MATLAB.

Κωδικός: MATH361
Κατηγορία: Μαθηματικών » Προπτυχιακό
CC - Αναφορά - Μη Εμπορική Χρήση - Παρόμοια Διανομή
CC - Αναφορά - Μη Εμπορική Χρήση - Παρόμοια Διανομή

Θεματικές Ενότητες


Περιεχόμενο μαθήματος. Τι είναι Matlab. Ο ρόλος των υπολογιστών. Αλγόριθμος. Βήματα στην  υπολογιστική επίλυση προβλήματος. Βασικές αλγοριθμικές ενέργειες. Αλγόριθμοι και Matlab. Βασικές προγραμματιστικές έννοιες. Περιβάλλον προγραμματισμού (Qtoctave). Αριθμητικές σταθερές. Μεταβλητές. Εκφράσεις. Υπολογισμός εκφράσεων. Εντολές ανάθεσης. Η εικόνα της μνήμης. Έξοδος. Ερωτηματικό, κόμμα, τρεις τελείες. Μορφοποίηση εξόδου. Μετατροπή βαθμών Fahrenheit σε βαθμούς Celsius. m-αρχεία scripts. Ο editor του Qtoctave. Η εντολή input. Έξοδος με fprintf. Παραδείγματα fprintf.

Λέξεις – κλειδιά: Αλγόριθμος, Αριθμητικές σταθερές. Μεταβλητές, Εκφράσεις, Εντολές ανάθεσης, Έξοδος, εντολή input, Έξοδος με fprintf


Μερικά χρήσιμα εργαλεία. Ακέραια διαίρεση και υπόλοιπα. Λογικά (boolean) δεδομένα. Λογικές (boolean) εκφράσεις. Λογικές (boolean) εκφράσεις και τελεστές. Σύνθετες λογικές εκφράσεις. Λανθασμένη χρήση των λογικών τελεστών. Κανόνας υπολογισμού λογικών εκφράσεων. Παράδειγμα: εύρεση δίσεκτων ετών. Εντολές ελέγχου και επανάληψης. Εκτέλεση υπό συνθήκη: η εντολή if-else. Εκτέλεση υπό συνθήκη: η εντολή if. Παραδείγματα. Διάταξη 3 αριθμών. Προγραμματιστικά ιδιώματα με λογικές εκφράσεις. Σύνθετα if. Η εντολή While. Δυνάμεις του 2. Άθροισμα ψηφίων ακεραίου. Ατέρμονες επαναλήψεις. Αντιστροφή ψηφίων ακεραίου. Μία άλλη εντολή επανάληψης. Η εντολή for. Παραδείγματα for. Αρμονικοί αριθμοί. Σχέση for και while. While αντί for. Επεξεργασία αγνώστου πλήθους δεδομένων. Άθροισμα θετικών όρων λίστας. For μέσα σε for. Circle.m. Triangle.m. Αριθμοί Fibonacci. Πρώτοι αριθμοί. Αλγόριθμος Π1: Έλεγχος πρώτων αριθμών. Πρόγραμμα για τον αλγόριθμο Π1. Βελτίωση της αποτελεσματικότητας του Π1: Αλγόριθμος Π2. Πρόγραμμα για τον αλγόριθμο Π2. Η εντολή return. Προβλήματα με τον αλγόριθμο Π2. Μέθοδος για τον αλγόριθμο Π3.

Λέξεις – κλειδιά: Else if, if , while

Ροή ελέγχου. Μια άλλη μορφή ροής ελέγχου: Συναρτήσεις. Η μέθοδος Newton για τετραγωνική ρίζα. Τετραγωνική ρίζα με αλγόριθμο Newton. Μια γεωμετρική προσέγγιση. Η μεγάλη ιδέα πίσω από τις συναρτήσεις. Συναρτήσεις. Σχεδιασμός συναρτήσεων, απόκρυψη υλοποίησης. Προγραμματισμός συναρτήσεων. Τοπικές μεταβλητές. Δομή προγραμμάτων: ιεραρχία συναρτήσεων. Ροή ελέγχου συνάρτησης. Συνάρτηση για έλεγχο πρώτων αριθμών Ι. Η εντολή return. Συνάρτηση για έλεγχο πρώτων αριθμών ΙΙ. Ζεύγη πρώτων αριθμών. Υπενθύμιση: διάταξη πρώτων αριθμών. Διάταξη πρώτων αριθμών.

Λέξεις – κλειδιά: Συναρτήσεις, Ροή ελέγχου συνάρτησης, εντολή return

Δομές δεδομένων. Μονοδιάστατοι πίνακες (array). Arrays στο Matlab. Ο τελεστής : Άνω κάτω τελεία. Ο μηχανισμός της εντολής for. Είσοδος/έξοδος μονοδιάστατων πινάκων. Sprintf. Επεξεργασία με μονοδιάστατους πίνακες. Μέγιστο και ελάχιστο στοιχείο μονοδιάστατου πίνακα. Παραδείγματα με arrays. Αρχικοποίηση πινάκων. Το κόσκινο του Ερατοσθένη (3ος αιώνας π.χ.). Δισδιάστατοι πίνακες. Ειδική περίπτωση: μονοδιάστατοι πίνακες. Αναθέσεις τιμών σε μεταβλητές πινάκων. Είσοδος/έξοδος δισδιάστατων πινάκων. Επεξεργασία με δισδιάστατους πίνακες. Χρήσιμες συνάρτησες. Συναρτήσεις με παραμέτρους πίνακες. Συναρτήσεις που επιστρέφουν διανύσματα. Συναρτήσεις που επιστρέφουν πίνακες. Γραφικές παραστάσεις: η εντολή plot. Γραφική παράσταση πολυωνύμου. Υπολογισμός τιμών πολυωνύμου. Ο κανόνας του Horner. Υπολογισμός ρητών συναρτήσεων.

Λέξεις – κλειδιά: Μονοδιάστατοι πίνακες , Δισδιάστατοι πίνακες, εντολή plot

Μέγιστος κοινός διαιρέτης (gcd) – Εξαντλητικός αλγόριθμος Δ1. Παρατηρήσεις στον αλγόριθμο Δ1. Μέγιστος κοινός διαιρέτης (gcd) – Αλγόριθμος του Ευκλείδη Δ2. Αριθμητικοί αλγόριθμοι. Διαδοχικές προσεγγίσεις. Έλεγχος “ισότητας” δύο πραγματικών αριθμών. Η μέθοδος Newton για τετραγωνική ρίζα. Τετραγωνική ρίζα με αλγόριθμο Newton. Ανάπτυγμα σειράς. Ο υπολογισμός της s = Σ 1/2i. Το πρόγραμμα για τη σειρά του Ζήνωνα. Υπολογισμός τετραγωνικής ρίζας – Σειρά Taylor. Προγραμματισμός της μεθόδου Taylor για √x. Τετραγωνική ρίζα με αλγόριθμο Taylor – Ι. Όρια σύγκλησης σειράς Taylor. Τετραγωνική ρίζα με αλγόριθμο Taylor – ΙΙ. Προσομοίωση (simulation). Ανάλυση συμπεράσματα.

Λέξεις – κλειδιά: Μέγιστος κοινός διαιρέτης , Η μέθοδος Newton για τετραγωνική ρίζα, Σειρά Taylor

Αποτελεσματικότητα αλγορίθμων. Μέτρηση της αποτελεσματικότητας. Πολυπλοκότητα αλγορίθμου Ο. Ανάλυση παραγόντων. Κανονικοποιημένες μονάδες χρόνου. Αναλυτική μέτρηση πράξεων. Μέτρηση πράξεων για διάφορα n. Πυθαγόρειες τριάδες. Πυθαγόρειες τριάδες αλγόριθμος 1. Παρατηρήσεις στον αλγόριθμο 1. Πυθαγόρειες τριάδες αλγόριθμος 2. Παρατηρήσεις στον αλγόριθμο 2. Πυθαγόρειες τριάδες αλγόριθμος 3.

Λέξεις – κλειδιά: Αποτελεσματικότητα αλγορίθμων, Πολυπλοκότητα αλγορίθμου Ο, Πυθαγόρειες τριάδες

Ο συμβολισμός μεγάλο Ο. Εσωτερικό γινόμενο. Πολλαπλασιασμός πίνακα με διάνυσμα. Παράδειγμα πολλαπλασιασμού πίνακα με διάνυσμα. Γινόμενο πινάκων. Παράδειγμα γινόμενου πινάκων.

Λέξεις – κλειδιά: Εσωτερικό γινόμενο, Γινόμενο πινάκων

Αναζήτηση (search). Αλγόριθμος γραμμικής αναζήτησης. Δυαδική binary αναζήτηση. Αλγόριθμος δυαδικής αναζήτησης. Ταξινόμηση (sort). Ταξινόμηση με επιλογή (selection). Αλγόριθμος selection sort. Ταξινόμηση με εναλλαγή (exchange). Ο αλγόριθμος της φυσαλίδας (bubble sort) - I. Πρόβλημα με τον αλγόριθμο Ι. Ο αλγόριθμος της φυσαλίδας (bubble sort) - IΙ. Ανάλυση του αλγορίθμου ΙΙ. Ταξινόμηση με εισαγωγή (insertion). Αλγόριθμος insertion sort. Ανάλυση αλγορίθμου εισαγωγής.

Λέξεις – κλειδιά: Αναζήτηση, γραμμική αναζήτηση, Δυαδική binary αναζήτηση, Ταξινόμηση, αλγόριθμος της φυσαλίδας

Αναδρομικές μέθοδοι. Αναδρομικός αλγόριθμος n!. Αναδρομικός αλγόριθμος του Ευκλείδη. Οι πύργοι του Hanoi. Οι πύργοι του Hanoi (Αναδρομική λύση). Αλγόριθμος για πύργους Hanoi. Αναδρομική μέθοδος για πύργους Hanoi. Αλφαριθμητικά δεδομένα (strings). Ο  θρύλος των πύργων Hanoi. Προβλήματα με αναδρομή. 

Λέξεις – κλειδιά: Αναδρομικός αλγόριθμος, Οι πύργοι του Hanoi

Προσομοίωση. Δομή αλγορίθμων προσομοίωσης. Παράδειγμα επένδυσης. Επένδυση. Παράδειγμα καταδίωξης. Καταδίωξη. Αλγόριθμος καταδίωξης. Η πορεία του ταύρου. Η απόσταση ταύρου πεζοπόρου. Παράδειγμα δυναμικής. Δυναμική. Αλγόριθμος αναπήδησης. Γραφική παράσταση αναπήδησης. Δυναμική πληθυσμών. Πληθυσμός με περιορισμένα αποθέματα τροφής. Αλγόριθμος για θεμελιώδη εξ. Οικολογίας. Αρπακτικά  και λεία. Αλγόριθμος αρπακτικών και λείας.

Λέξεις – κλειδιά: Προσομοίωση, Επένδυση, Καταδίωξη, Δυναμική, Αναπήδηση, Αρπακτικά  και λεία

MATLAB (MATrix LABoratory). Χαρακτηριστικά του Matlab. Βοήθεια στο Μatlab. Τα πάντα είναι πίνακες. Εισαγωγή πινάκων. Πράξεις πινάκων. Εντολές, εκφράσεις, Μεταβλητές. Κατασκευή πινάκων. Παρατηρήσεις, παραδείγματα. Υποπίνακες. Η εντολή for. Η εντολή while. Η εντολή if. Λογικές σχέσεις και τελεστές. Βαθμωτές συναρτήσεις. Διανυσματικές συναρτήσεις. Συναρτήσεις πινάκων. m-αρχεία. Γραφικά – οι συναρτήσεις plot και semilogy. Χρήσιμες συναρτήσεις. Δημιουργία τριδιαγώνιου πίνακα. Αποτελεσματικότητα συναρτήσεων. Χρόνοι εκτέλεσης σε Pentium 4. Οδηγίες για γρηγορότερα προγράμματα MATLAB.

Λέξεις – κλειδιά: Κατασκευή πινάκων, Υποπίνακες, Λογικές σχέσεις και τελεστές, Συναρτήσεις πινάκων, m-αρχεία, plot, semilogy

  • Εισαγωγή
  • Έλεγχος συνθηκών
  • Δομές επανάληψης
  • Συναρτήσεις
  • Πίνακες [1/2] (Διανύσματα)
  • Πίνακες [2/2] (Δισδιάστατοι)
  • Αναδρομή
  • Συστήματα αρίθμησης

Ανοικτό Ακαδ. Μάθημα

Ανοικτά Ακαδημαϊκά Μαθήματα
Επίπεδο: A-

Αρ. Επισκέψεων :  4026
Αρ. Προβολών :  18949

Ημερολόγιο

Ανακοινώσεις

  • - Δεν υπάρχουν ανακοινώσεις -