1 242 - Ειζαγωγή ζηοσς Η/Υ Τμήμα Μαθημαηικών, Πανεπιζηήμιο Ιωαννίνων Ακαδημαϊκό Έηος 2015-2016 Άρηια Α.Μ. (0-2-4-6-8)
2 Βαζικές αρτές ζσζηημαηικού και δομημένοσ προγραμμαηιζμού Δηαγξάκκαηα ξνήο πξνγξάκκαηνο Ειιεληθή Αιγνξηζκηθή Γιώζζα (ΕΑΓ) Γιώζζα πξνγξακκαηηζκνύ C++
Μέγιστο, Ελάτιστο, Μέσο όρο, από Ν αριθμούς (γνωστό ή άγνωστο πλήθος) 3 Ξερσξίδνπκε δύν πεξηπηώζεηο: 1. Όηαλ ην πιήζνο Ν ησλ αξηζκώλ είλαη γλσζηό 2. Όηαλ ην πιήζνο Ν ησλ αξηζκώλ είλαη άγλσζην Πεξ. 1) Πξέπεη λα έρνπκε έλαλ κεηξεηή Ι γηα ηελ δηάζρηζε ησλ Ν αξηζκώλ. Ι = 0 (αξρηθνπνίεζε) θαη Ι = Ι + 1 (αύμεζε) Πεξ. 2) Ζεηάκε έλα ηεξκαηηζηή από ηνλ ρξήζηε. ηακαηάκε όηαλ δηαβάζνπκε αξηζκό ηζν κε ηνλ ηεξκαηηζηή. Χξεηαδόκαζηε κία ζπλζήθε θαη ρξήζε αόξηζηεο αλαθύθισζεο
Μέγιστο, Ελάτιστο, Μέσο όρο, από Ν αριθμούς (γνωστό ή άγνωστο πλήθος) 4 ηελ πξώηε πεξίπησζε πξέπεη λα δηαβάζνπκε ην πιήζνο Ν ησλ αξηζκώλ. Εθηεινύκε Ν θνξέο ζπγθεθξηκέλεο εληνιέο Γλσζηή επαλάιεςε for(..;..;..) ηελ δεύηεξε πεξίπησζε (άγλσζην Ν) δεηάκε έλαλ «ηεξκαηηζηή» από ηνλ ρξήζηε. Όηαλ έλαο από ηνπο αξηζκνύο πνπ δίλεη ν ρξήζηεο είλαη ίζνο κε ηνλ «ηεξκαηηζηή» ηόηε ζηακαηάκε ηελ εθηέιεζε. Άγλσζηε επαλάιεςε while(..) Όζν ν «ηεξκαηηζηήο» είλαη δηαθνξεηηθόο από ηνλ αξηζκό πνπ δηάβαζεο...
5 Εύρεση Αθροίσματος Να πεξηγξαθεί ε δηαδηθαζία αζξνίζκαηνο, αγλώζηνπ πιήζνπο, αθεξαίσλ αξηζκώλ, ρξεζηκνπνηώληαο (i) ην ΔΡΠ, θαη (ii) ηελ C++. Σν άζξνηζκα κπνξνύκε λα ην θσδηθνπνηήζνπκε: SUM = 0; // αξρηθνπνίεζε SUM = SUM + NUM; // όπνπ NUM είλαη ν αξηζκόο πνπ // δηαβάδνπκε από ηνλ ρξήζηε Θα εθηειέζνπκε θαηά βήκα εθιέπηπλζε..
6 Εύρεση Αθροίσματος - ΕΑΓ διαδικαζια ΑΘΡΟΙΜΑ2 δηλωζη ( (ΣΕΡΜΑΣ, ) ; ΑΡΙΘΜ, ΑΘΡ) ακερ; αρτη διαβαζε ΣΕΡΜΑΣ, ΑΡΙΘΜ; ΑΘΡ 0; εθοζον ΣΕΡΜΑΣ ΑΡΙΘΜ επαναλαβε ΕΠΕΞΕΡΓΑΙΑ.. ( ΑΘΡ ΑΘΡ... ΑΘΡ...; + ΑΡΙΘΜ; διαβαζε ΑΡΙΘΜ; ) ησπωζε ΑΘΡ; ηελος ΑΘΡΟΙΜΑ2
7 Εύρεση Αθροίσματος ΕΑΓ, ΔΡΠ διαδικαζια ΑΘΡΟΙΜΑ2 δηλωζη (ΣΕΡΜΑΣ, ΑΡΙΘΜ, ΑΘΡ) ακερ; αρτη διαβαζε ΣΕΡΜΑΣ, ΑΡΙΘΜ; ΑΘΡ 0; εθοζον ΣΕΡΜΑΣ ΑΡΙΘΜ επαναλαβε ( ΑΘΡ ΑΘΡ + ΑΡΙΘΜ; διαβαζε ΑΡΙΘΜ; ) ησπωζε ΑΘΡ; ηελος ΑΘΡΟΙΜΑ2 Α ΣΕΡΜΑΣ ΑΡΙΘΜ ΑΘΡ 0 ΑΡΙΘΜ ΑΡΙΘΜ λαη ΑΘΡ ΑΘΡ + ΑΡΙΘΜ ΑΡΙΘΜ νρη ΑΘΡ Σ
8 Εύρεση Αθροίσματος C++ // όνομα αρχείου ATHR2.cpp #include <iostream> main() int TERMAT, NUM, SUM; cin >> TERMAT >> NUM; SUM = 0; while(termat!= NUM) SUM = SUM + NUM; cin >> NUM; cout << SUM;
Εύρεση Μεγίστοσ 9 Να πεξηγξαθεί ε δηαδηθαζία εύξεζεο κεγίζηνπ, γλσζηνύ πιήζνπο, αθεξαίσλ αξηζκώλ, ρξεζηκνπνηώληαο (i) ηελ ΕΑΓ, (ii) ην ΔΡΠ, θαη (iii) ηελ C++ Γηα ηελ εύξεζε κεγίζηνπ κπνξνύκε : ΜΑΧ = -10000000; // αξρηθνπνίεζε if(num > ΜΑΧ) // όπνπ NUM είλαη ν αξηζκόο πνπ // δηαβάδνπκε από ηνλ ρξήζηε MAX = NUM; Σν πιήζνο Ν ησλ ζηνηρείσλ καο ην δίλεη ν ρξήζηεο. (δειαδή κπνξνύκε λα ην δηαβάζνπκε).
10 Εύρεση Μεγίστοσ ΕΑΓ, ΔΡΠ διαδικαζια ΜΕΓΙΣΟ2 Α δηλωζη (Ν, ΑΡΙΘΜ, Ι, ΜΑΧ) ακερ; αρτη Ν διαβαζε Ν; MAX -1000 MAX -1000000000; για I 1 εως N επαναλαβε Ι 1 ( διαβαζε ΑΡΙΘΜ; Ι Ν λαη νρη εαν ΑΡΙΘΜ > ΜΑΧ ηοηε ΜΑΧ ΑΡΙΘΜ; ) ησπωζε ΜΑΧ; Ι Ι+1 νρη ΑΡΙΘΜ ΑΡΙΘΜ > ΜΑΧ λαη ΜΑΧ ηελος ΜΕΓΙΣΟ2 ΜΑΧ ΑΡΙΘΜ Σ
Εύρεση Μεγίστοσ C++ 11 // όνομα αρχείου ΜΑΧ2.cpp #include <iostream.h> <iostream> main() int Ν, NUM, Ι; Ι, ΜΑΧ; cin >> Ν; ΜΑΧ = -100000000; for (I=0; (I=1; I<=N; I++) cin >> NUM; if (NUM > MAX) MAX = NUM; cout << MAX;
12 Εύρεση Αθροίσματος C++ // όνομα αρχείου ΜΑΧ2.cpp #include <iostream> main() int Ν, ARITHM, Ι, ΜΑΧ; cin >> Ν; ΜΑΧ = -100000000; for (I=1; I<=N; I++) cin >> ARITHM; if (ARITHM > MAX) MAX = ARITHM; cout << MAX;
Γνωστό και Άγνωστο πλήθος 13 διαβαζε Ν;.. για I 1 εως N επαναλαβε (... διαβαζε ΑΡΙΘΜ; ) cin >> Ν;... for (I=0; I<=N; I++) cin >> ARITHM;... διαβαζε ΣΕΡΜΑΣ, ΑΡΙΘΜ;... εθοζον ΣΕΡΜΑΣ ΑΡΙΘΜ επαναλαβε (... διαβαζε ΑΡΙΘΜ; ) cin >> TERMAT >> ARITHM;... while(termat!= ARITHM)... cin >> ARITHM;
14 Εύρεση Μέσοσ όροσ Να πεξηγξαθεί ε δηαδηθαζία εύξεζεο κέζνπ όξνπ, αγλώζηνπ πιήζνπο, αθεξαίσλ αξηζκώλ, ρξεζηκνπνηώληαο (i) ηελ ΕΑΓ, (ii) ηελ C++. Μήπσο κπνξνύκε λα ηξνπνπνηήζνπκε θάπνηα γλσζηή δηαδηθαζία; Μέζνο_Όξνο = Άζξνηζκα / Πιήζνο Χξεηάδεηαη όκσο πξνζνρή...
15 διαδικαζια ΑΘΡΟΙΜΑ2 ΜΕΟΟΡΟ1 δηλωζη (ΣΕΡΜΑΣ, ΑΡΙΘΜ, ΑΘΡ) ΑΘΡ, ΜΕΟΡ,Ν) ακερ; ακερ; ακερ; δηλωζη (ΜΕΟΡ) πραγμαηικ; αρτη διαβαζε ΣΕΡΜΑΣ, ΑΡΙΘΜ; ΑΘΡ 0; Ν 1; εθοζον ΣΕΡΜΑΣ ΑΡΙΘΜ επαναλαβε ( Ν Ν+1; ΑΘΡ ΑΘΡ + ΑΡΙΘΜ; διαβαζε ΑΡΙΘΜ; ) ΜΕΟΡ ΑΘΡ / Ν; ησπωζε ΑΘΡ; ΜΕΟΡ ; ηελος ΑΘΡΟΙΜΑ2 ΜΕΟΟΡΟ1
Εύρεση Μέσοσ Όροσ C++ 16 #include <iostream.h> <iostream> main() int TERMAT, NUM, SUM; SUM, MO; Ν; MO, N; float MO; cin >> TERMAT >> NUM; SUM = 0; N = 0; while(termat!= NUM) SUM = SUM + NUM; N = N + 1; cin >> NUM; MO = SUM / N; cout << SUM; MO; if(n!=0) else MO = SUM / N ; cout << MO; cout << Den yparxei mesos oros ;
Μέγιστο, Ελάτιστο, Μέσο όρο, από Ν αριθμούς (γνωστό ή άγνωστο πλήθος) 17 Ξερσξίδνπκε δύν πεξηπηώζεηο: 1. Όηαλ ην πιήζνο Ν ησλ αξηζκώλ είλαη γλσζηό 2. Όηαλ ην πιήζνο Ν ησλ αξηζκώλ είλαη άγλσζην Πεξ. 1) Πξέπεη λα έρνπκε έλαλ κεηξεηή Ι γηα ηελ δηάζρηζε ησλ Ν αξηζκώλ. Ι = 0 (αξρηθνπνίεζε) θαη Ι = Ι + 1 (αύμεζε) Πεξ. 2) Ζεηάκε έλα ηεξκαηηζηή από ηνλ ρξήζηε. ηακαηάκε όηαλ δηαβάζνπκε αξηζκό ηζν κε ηνλ ηεξκαηηζηή. Χξεηαδόκαζηε κία ζπλζήθε θαη ρξήζε αόξηζηεο αλαθύθισζεο
Μέγιστο, Ελάτιστο, Μέσο όρο, από Ν αριθμούς (γνωστό ή άγνωστο πλήθος) 18 ηελ πξώηε πεξίπησζε πξέπεη λα δηαβάζνπκε ην πιήζνο Ν ησλ αξηζκώλ. Εθηεινύκε Ν θνξέο ζπγθεθξηκέλεο εληνιέο Γλσζηή επαλάιεςε για.. εως.. επαναλαβε for(..;..;..) ηελ δεύηεξε πεξίπησζε (άγλσζην Ν) δεηάκε έλαλ «ηεξκαηηζηή» από ηνλ ρξήζηε. Όηαλ έλαο από ηνπο αξηζκνύο πνπ δίλεη ν ρξήζηεο είλαη ίζνο κε ηνλ «ηεξκαηηζηή» ηόηε ζηακαηάκε ηελ εθηέιεζε. Άγλσζηε επαλάιεςε εθοζον.. επαναλαβε while(..) Όζν ν «ηεξκαηηζηήο» είλαη δηαθνξεηηθόο από ηνλ αξηζκό πνπ δηάβαζεο...
19 Γλσζηό πιήζνο: Εργαστήριο - Ζητήματα ειάρηζην αθέξαην αξηζκό άζξνηζκα θαη ηνλ κέζν όξν Άγλσζην πιήζνο: κέγηζην, ειάρηζην άζξνηζκα θαη ηνλ κέζν όξν πιήζνο ησλ κε αξλεηηθώλ αξηζκώλ Δηαβάδεη άγλσζην πιήζνο αθεξαίσλ θαη ππνινγίδεη θαη εθηππώλεη: ην πιήζνο ησλ δνζέλησλ αθεξαίσλ (k) ην πιήζνο ησλ αξλεηηθώλ (negat) ηνλ ειάρηζην αθέξαην (min)