Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Καθηγητής Νίκος Λορέντζος Προγραμματισμός & Εφαρμογές Υπολογιστών Κωδικός Μαθήματος: 2890 Κωδικός Διαφανειών: MKT130 Γεωπονικό Πανεπιστήμιο Αθηνών Τμήμα.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Καθηγητής Νίκος Λορέντζος Προγραμματισμός & Εφαρμογές Υπολογιστών Κωδικός Μαθήματος: 2890 Κωδικός Διαφανειών: MKT130 Γεωπονικό Πανεπιστήμιο Αθηνών Τμήμα."— Μεταγράφημα παρουσίασης:

1 Καθηγητής Νίκος Λορέντζος Προγραμματισμός & Εφαρμογές Υπολογιστών Κωδικός Μαθήματος: 2890 Κωδικός Διαφανειών: MKT130 Γεωπονικό Πανεπιστήμιο Αθηνών Τμήμα Αγροτικής Οικονομίας & Ανάπτυξης Εργαστήριο Πληροφορικής

2 Καθηγητής Νίκος Λορέντζος 6. Μονοδιάστατοι Πίνακες Γεωπονικό Πανεπιστήμιο Αθηνών Τμήμα Αγροτικής Οικονομίας & Ανάπτυξης Εργαστήριο Πληροφορικής

3 Μαθηματικό Πρόβλημα a a 0 + a 1 x 1 + a 2 x 2 + a 3 x 3 + … a n x n = 0 a0a0 a1a1 a2a2 a3a3 …anan 3

4 Μονοδιάστατοι Πίνακες 1234524531 a i = 1 2 3 4 5 a 2 4 5 3 1 Αναφορά σε στοιχεία του πίνακα Συγκεκριμένα Στοιχεία a(1) = 2 a(3) = 5 a(5) = 1 Γενικό Στοιχείο a(i) a(i-2) a(i-1) a(2*i-3) 4

5 Να συνταχθεί πρόγραμμα το οποίο: 1.Διαβάζει 5 αριθμούς και τους τοποθετεί σε ένα πίνακα. 2.Εκτυπώνει το περιεχόμενο του πίνακα σε μια στήλη. 3.Εκτυπώνει το περιεχόμενο του πίνακα σε μια γραμμή. 4.Βρίσκει και εκτυπώνει το άθροισμα και μέσον όρο των στοιχείων του πίνακα. 5.Εκτελεί κυκλική εναλλαγή των στοιχείων του πίνακα. 6.Βρίσκει και εκτυπώνει το μεγαλύτερο στοιχείο του πίνακα. 7.Βρίσκει και εκτυπώνει τις θέσεις στις οποίες βρέθηκε το μεγαλύτερο στοιχείο του πίνακα. Πρόγραμμα [20] 5

6 Option Explicit Option Base 1 Dim a(5) As Single Dim i As Integer Dim b As Single Dim sum As Single Dim max As Single Private Sub Command1_Click() ' 1. Διάβασμα For i = 1 To 5 Step 1 a(i) = InputBox("ΔΩΣΕ ΣΤΟΙΧΕΙΟ " & i & ":") Next i End Sub ' Η πρώτη θέση του πίνακα είναι η a(1) Μονοδιάστατοι Πίνακες [20] (Συνεχίζει) 6

7 7 Private Sub Command2_Click() ' 2. Εκτύπωση σε στήλη Print For i = 1 To 5 Step 1 Print i, a(i) Next i Print End Sub Private Sub Command3_Click() ‘ 3. Εκτύπωση σε γραμμή Print For i = 1 To 5 Step 1 Print i, Next i Print For i = 1 To 5 Step 1 Print a(i), Next i Print End Sub Σημείωση: Οι εντολές σε αυτό το χρώμα δεν ζητούνται από την εκφώνηση. Μονοδιάστατοι Πίνακες [20] (Συνεχίζει)

8 Private Sub Command4_Click() ' 4. Άθροισμα κ' Μέσος Όρος Print sum = 0 For i = 1 To 5 Step 1 sum = sum + a(i) Next i Print "ΑΘΡΟΙΣΜΑ ΣΤΟΙΧΕΙΩΝ: " & sum Print "ΜΕΣΟΣ ΟΡΟΣ: " & sum / 5 End Sub Μονοδιάστατοι Πίνακες [20] Σημείωση: Οι εντολές σε αυτό το χρώμα δεν ζητούνται από την εκφώνηση. (Συνεχίζει) 8

9 Private Sub Command5_Click() ' 5. Κυκλική εναλλαγή b = a(5) For i = 5 To 2 Step -1 a(i) = a(i - 1) Next i a(1) = b End Sub Μονοδιάστατοι Πίνακες [20] i = a 1 = a 2 = a 3 = a 4 = a 5 = b = 245319245319 124539124539 9

10 Private Sub Command5_Click() ' 5. Κυκλική εναλλαγή b = a(5) For i = 5 To 2 Step -1 a(i) = a(i - 1) Next i a(1) = b End Sub Μονοδιάστατοι Πίνακες [20] (Συνεχίζει) i = a 1 = a 2 = a 3 = a 4 = a 5 = b = 2 4 5 3 1 1 1 2 4 5 3 9 5432 10

11 Private Sub Command6_Click() ' 6. Μέγιστο στοιχείο Print max = a(1) For i = 2 To 5 Step 1 If a(i) > max Then max = a(i) End If Next i Print "ΜΕΓΙΣΤΟ ΣΤΟΙΧΕΙΟ: " & max End Sub Μονοδιάστατοι Πίνακες [20] (Τέλος) Σημείωση: Οι εντολές σε αυτό το χρώμα δεν ζητούνται από την εκφώνηση. 11

12 Private Sub Command6_Click() ' 7. Θέσεις Μέγιστου ' ΠΡΟΣΟΧΗ: ΠΡΕΠΕΙ ΝΑ ΕΧΕΙ ΒΡΕΘΕΙ ΠΟΙΟ ΕΙΝΑΙ ΤΟ ΜΕΓΙΣΤΟ ΣΤΟΙΧΕΙΟ!!! Print For i = 1 To 5 Step 1 If a(i) = max Then Print " ΜΕΓΙΣΤΟ ΣΤΟΙΧΕΙΟ ΣΤΗ ΘΕΣΗ: " & i End If Next i End Sub Private Sub Command7_Click() ' 8. Τέλος End End Sub Μονοδιάστατοι Πίνακες [20] (Τέλος) Σημείωση: Οι εντολές σε αυτό το χρώμα δεν ζητούνται από την εκφώνηση. 12

13 Να συνταχθεί πρόγραμμα το οποίο: 1.Διαβάζει 5 αριθμούς και τους τοποθετεί σε ένα πίνακα. 2.Εκτυπώνει το περιεχόμενο του πίνακα σε μια γραμμή. 3.Βρίσκει και εκτυπώνει το άθροισμα και μέσον όρο των στοιχείων του πίνακα. 4.Βρίσκει και εκτυπώνει το μεγαλύτερο στοιχείο του πίνακα. 13 Απάντηση Πολλών Ερωτήσεων με Χρήση ενός μόνο For … Next [21]

14 Private Sub Command1_Click() a(1) = ("ΔΩΣΕ ΣΤΟΙΧΕΙΟ 1:") Print a(1), sum = a(1) max = a(1) For i = 2 To 5 Step 1 a(i) = InputBox("ΔΩΣΕ ΣΤΟΙΧΕΙΟ " & i & ":") ' 1. Διάβασμα Print a(i), ' 2. Εκτύπωση sum = sum + a(i) ' 3α. Υπ/μός Αθροίσματος If a(i) > max Then ' 4. Μέγιστο max = a(i) End If Next i Print Print " ΑΘΡΟΙΣΜΑ : " & sum ' 4. Εκτ. Αθροίσματος Print " ΜΕΣΟΣ ΟΡΟΣ : " & sum / 5 ' 3β. Μέσος όρος Print " ΜΕΓΙΣΤΟ ΣΤΟΙΧΕΙΟ: " & max Print End Sub Πρόγραμμα [21] 14 ΒΕΛΤΙΣΤΟ!!!

15 Να συνταχθεί πρόγραμμα το οποίο: 1.Διαβάζει το ποσό που εισέπραξε ένας παραγωγός σε καθεμία από τις 220 ημέρες του έτους στις οποίες εργάσθηκε και το καταχωρίζει σε ένα πίνακα a. 2.Υπολογίζει και εκτυπώνει το παρακάτω. … Φυσικό Πρόβλημα Να συνταχθεί πρόγραμμα το οποίο: 1.Εισάγει 220 τυχαίους αριθμούς, καθένας των οποίων κυμαίνεται στο διάστημα [420, 560], σε ένα πίνακα a. Υποτίθεται ότι κάθε αριθμός αντιπροσωπεύει το ποσό που εισέπραξε ένας παραγωγός σε καθεμία από τις 220 ημέρες του έτους από την πώληση των προϊόντων του. 2.Υπολογίζει και εκτυπώνει το παρακάτω. … 220 15

16 16 Rnd () Επιστρέφει ένα τυχαίο ακέραιο στο διάστημα [0, 1] Int(x) Επιστρέφει το ακέραιο μέρος του δεκαδικού x. Round(x, n) Στρογγυλεύει τον x σε nδεκαδικά ψηφία. Παραδείγματα u = Rnd() v = 100 * Rnd () w = Int(v) x = Round(v, 0) y = Round(v, 2) Αριθμητικές Συναρτήσεις Έστω u = 0.9876542 Έστω v = 23.42376 w = 23 x = 23 y = 23.42 Έστω u = 0.7654231 Έστω v = 82.83767 w = 82 x = 83 y = 82.84

17 Να συνταχθεί πρόγραμμα το οποίο: 1.Γεμίζει ένα πίνακα a(5) με τυχαίους αριθμούς και εκτυπώνει το περιεχόμενό του. 2.Διαβάζει και εκτυπώνει έναν ακέραιο n. 3.Τοποθετεί σε ένα πίνακα b(5) το n-πλάσιο των αριθμών του πίνακα a και εκτυπώνει το περιεχόμενό του. 4.Τοποθετεί σε ένα πίνακα c(5) το ακέραιο μέρος των αριθμών του πίνακα b και εκτυπώνει το περιεχόμενό του c. 5.Στρογγυλοποιεί σε ακέραιους τους αριθμούς του πίνακα b, τους τοποθετεί σε ένα πίνακα d και εκτυπώνει το περιεχόμενό του d. 6.Στρογγυλοποιεί με ακρίβεια δυο δεκαδικών τους αριθμούς του πίνακα b, τους τοποθετεί σε ένα πίνακα d εκτυπώνει το περιεχόμενό του d. 17 Πρόγραμμα [23]

18 Option Explicit Option Base 1 Dim a(5) As Single Dim b(5) As Single Dim c(5) As Single Dim d(5) As Single Dim i As Single Dim n As Single Private Sub Command1_Click() ' 1. Γέμισμα πίνακα Randomize For i = 1 To 5 Step 1 a(i) = Rnd() Print a(i), Next I Print End Sub 18 Πρόγραμμα [23] (Συνεχίζει)

19 Private Sub Command2_Click() ' 2. Πολλαπλασιαστής n = InputBox("ΔΩΣΕ ΠΟΛΛΑΠΛΑΣΙΟ. ") Print "ΠΟΛΛΑΠΛΑΣΙΑΣΤΗΣ = " & n End Sub Private Sub Command3_Click() ' 3. Πολλαπλάσιο πίνακα For i = 1 To 5 Step 1 b(i) = n * a(i) Print b(i), Next i Print End Sub 19 Πρόγραμμα [23] (Συνεχίζει)

20 Private Sub Command4_Click() ' 4. Ακέραιο Μέρος For i = 1 To 5 Step 1 c(i) = Int(b(i)) Print c(i), Next i Print End Sub 20 Πρόγραμμα [23] (Συνεχίζει)

21 Private Sub Command5_Click() ' 5 & 6. Στρογγυλοποίηση Print "ΣΤΡΟΓΓΥΛΟΠΟΙΗΣΗ ΣΕ ΑΚΕΡΑΙΟ" For i = 1 To 5 Step 1 d(i) = Round(b(i), 0) Print d(i), Next i Print Print "ΣΤΡΟΓΓΥΛΟΠΟΙΗΣΗ ΜΕ 2 ΔΕΚΑΔΙΚΑ" For i = 1 To 5 Step 1 d(i) = Round(b(i), 2) Print d(i), Next i Print End Sub 21 Πρόγραμμα [23] (Τέλος)

22 Έστω [m, n] το διάστημα μέσα στο οποίο θέλουμε να βρίσκονται οι αριθμοί. Έστω ακόμη x = Rnd() ένας αριθμός στο διάστημα [0, 1]. Ισχύει: 0 <= x <= 1 ή 0 <= (n - m) * x <= (n - m) ή m <= m + (n - m) * x <= m + (n - m) ή m <= m + (n - m) * x <= n ή m <= m + (n - m) * Rnd() <= n Άρα, ο τύπος που μας δίνει ένα τυχαίο αριθμό y, που βρίσκεται μέσα στο διάστημα [m, n], είναι ο y = m + (n - m) * Rnd() 22 Παραγωγή Αριθμών που βρίσκονται μέσα σε Συγκεκριμένο Διάστημα

23 Θέλουμε να γεμίσουμε ένα πίνακα 5 θέσεων με τυχαίους αριθμούς, που βρίσκονται μέσα σε ένα συγκεκριμένο διάστημα. Να συνταχθεί πρόγραμμα το οποίο: 1.Διαβάζει και εκτυπώνει το κάτω και άνω άκρο ενός συγκεκριμένου διαστήματος. 2.Τοποθετεί στον πίνακα τυχαίους αριθμούς, που βρίσκονται μέσα στο συγκεκριμένο διάστημα και τους εκτυπώνει. 3.Τοποθετεί στον πίνακα τυχαίους ακέραιους αριθμούς, που βρίσκονται μέσα στο συγκεκριμένο διάστημα και τους εκτυπώνει. 4.Τοποθετεί στον πίνακα τυχαίους δεκαδικούς αριθμούς με δυο δεκαδικά ψηφία, που βρίσκονται μέσα στο συγκεκριμένο διάστημα και τους εκτυπώνει. 23 Πρόγραμμα [24]

24 Option Explicit Option Base 1 Dim a(5) As Single Dim i As Single Dim apo As Single Dim mexri As Single Private Sub Command1_Click() ' 1. Ορισμός διαστήματος apo = InputBox("ΔΩΣΕ ΚΑΤΩ ΑΚΡΟ. ") mexri = InputBox ("ΔΩΣΕ ΑΝΩ ΑΚΡΟ. ") Print " ΚΑΤΩ ΑΚΡΟ = " & apo, "ΑΝΩ ΑΚΡΟ = " & mexri Print End Sub 24 Πρόγραμμα [24] (Συνεχίζει)

25 Private Sub Command2_Click() ' 2. Αριθμοί στο δοσμένο διάστημα Randomize For i = 1 To 5 Step 1 a(i) = apo + (mexri - apo) * Rnd() Print a(i), Next i Print End Sub 25 Πρόγραμμα [24] (Συνεχίζει)

26 Private Sub Command2_Click() ' 3. Ακέραιοι στο δοσμένο διάστημα For i = 1 To 5 Step 1 a(i) = Int(apo + (mexri - apo) * Rnd()) Print a(i), Next i Print End Sub 26 Πρόγραμμα [24] (Συνεχίζει)

27 Private Sub Command2_Click() ' 4. Δεκαδικοί στο δοσμένο διάστημα For i = 1 To 5 Step 1 a(i) = Round(apo + (mexri - apo) * Rnd(), 2) Print a(i), Next i Print End Sub 27 Πρόγραμμα [24] (Τέλος)

28 Να συνταχθεί πρόγραμμα το οποίο: (i)Εισάγει 24 τυχαίους δεκαδικούς αριθμούς, καθένας των οποίων κυμαίνεται στο διάστημα [2.50, 3.50], σε ένα πίνακα a. Όλοι οι αριθμοί να είναι δεκαδικοί, με 2 δεκαδικά ψηφία. Υποτίθεται ότι κάθε αριθμός k του πίνακα, 1 <= k <= 24, αντιπροσωπεύει την τιμή στην οποία ο παραγωγός πούλησε το ένα κιλό του προϊόντος του, την k-τη ημέρα. (ii)Εισάγει 24 τυχαίους ακέραιους, καθένας των οποίων κυμαίνεται στο διάστημα [200, 500], σε ένα πίνακα b. Υποτίθεται ότι κάθε αριθμός k του πίνακα, 1 <= k <= 24, αντιπροσωπεύει τα κιλά του προϊόντος του, που πούλησε την k-τη ημέρα. (iii)Υπολογίζει και καταχωρίζει σε ένα πίνακα c, με ακρίβεια δυο δεκαδικών ψηφίων, το ποσό, που εισέπραξε ο παραγωγός από την πώληση του προϊόντος του την k-τη ημέρα, για κάθε k, 1 <= k <= 24. (iv)Τυπώνει στην πρώτη γραμμή τις ημέρες, στη δεύτερη το περιεχόμενο του a, στην τρίτη το περιεχόμενο το b και στην τέταρτη το περιεχόμενο του c. (Για να εμφανίζονται όλοι οι αριθμοί μιας γραμμής, να επιλέξετε στη φόρμα γραμματοσειρά Times New Roman, 8 ή μικρότερο.) Ακολούθως, το πρόγραμμα υπολογίζει και εκτυπώνει τα παρακάτω. Εργασία (Άσκηση 6.7) 28

29 (v)Το συνολικό ποσό που εισέπραξε και τη μέση ημερήσια είσπραξη. (vi)Το συνολικό ποσό που εισέπραξε από την 10 η μέχρι την 20 η μέρα. (vii)Τις ημέρες στις οποίες το ποσό που εισέπραξε βρισκόταν στο διάστημα [800, 1200). (viii)Το πλήθος των ημερών σε καθεμιά από τις οποίες εισέπραξε περισσότερα από 1000 ευρώ. (ix)Το πλήθος των ημερών σε καθεμιά από τις οποίες εισέπραξε μέχρι 900 ευρώ. (x)Το μικρότερο ποσό που εισέπραξε και τις ημέρες στις οποίες το εισέπραξε. (xi)Τις ημέρες του Σαββάτου, λαμβάνοντας υπόψη ότι το πρώτο Σάββατο ήταν τη 2 η ημέρα και το συνολικό ποσό που εισέπραξε τα Σάββατα. Όλα τα υπολογιζόμενα ποσά να είναι δεκαδικοί με 2 δεκαδικά ψηφία. Οι ημέρες και το πλήθος των ημερών, όπου ζητούνται, είναι ακέραιοι. Εργασία (Άσκηση 6.7) 29


Κατέβασμα ppt "Καθηγητής Νίκος Λορέντζος Προγραμματισμός & Εφαρμογές Υπολογιστών Κωδικός Μαθήματος: 2890 Κωδικός Διαφανειών: MKT130 Γεωπονικό Πανεπιστήμιο Αθηνών Τμήμα."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google