2014-2015 > Συναντήσεις Ομίλου 2016-2017

5η Συνάντηση 5 Δεκεμβρίου

(1/1)

evry:
Σε αυτό το μάθημα θα ασχοληθούμε με το πρόβλημα εύρεσης του μεγίστου μεταξύ δυο ή περισσότερων αριθμών
Το παρακάτω πρόγραμμα σε C++ διαβάζει 2 ακέραιους αριθμούς από τον χρήστη και εμφανίζει τον μεγαλύτερο.
Προσοχή!! Αν οι αριθμοί είναι ίσοι π.χ. a = b = 10 τότε η μεγαλύτερη τιμή είναι το 10.

--- Κώδικας: cpp ---
#include <iostream>                         
using namespace std;
int main() {
   int a, b, max;     
   cout << "a = ";     cin >> a;     
   cout << "b = ";     cin >> b;   
   if (a > b) {           
       max = a;                       
   }
   else  {   
       max = b;             
   }

   cout << " max = " << max << endl;   
   cout << "*** END OF PROGRAM ***" << endl;
   return 0;
}

--- Τέλος κώδικα ---

Να μεταφέρετε τα παραπάνω προγράμματα στο CodeBlocks (ξέρετε πως, επιλογή > Copy > Paste)
και στη συνέχεια να τα εκτελέσετε δίνοντας διάφορους αριθμούς για να εξοικειωθείτε με τη λειτουργία τους.

Το επόμενο βήμα που θα σας δυσκολέψει λίγο είναι να επεκτείνετε το παραπάνω πρόγραμμα για 3 αριθμούς. Δηλαδή θα διαβάζει 3 αριθμούς, θα καταχωρεί στη μεταβλητή max το μεγαλύτερο και θα το εμφανίζει μετά. Θα χρειαστεί να προσθέσετε μια ακόμα μεταβλητή c.

Υπόδειξη - Βοήθεια
Το προηγούμενο πρόγραμμα για τον υπολογισμό του μεγαλύτερου δυο αριθμών μπορεία να γραφτεί και με τον παρακάτω τρόπο!!!

--- Κώδικας: cpp ---
#include <iostream>                         
using namespace std;
int main() {
   int a, b, max;     
   cout << "a = ";     cin >> a;     
   max = a;     // στην αρχή το a είναι το μεγαλύτερο
   cout << "b = ";     cin >> b;   
   if (b > a) {           
       max = b;                       
   }
     // αλλιώς δεν κάνω τίποτα και το a παραμένει μέγιστο
   cout << " max = " << max << endl;   
   cout << "*** END OF PROGRAM ***" << endl;
   return 0;
}

--- Τέλος κώδικα ---

Θα πρέπει να το επεκτείνετε για τρεις  ;)

Αφού το καταφέρετε για 3 αριθμούς ήρθε η ώρα να δοκιμάσετε για 4.
Σκεφτείτε έναν τρόπο ο οποίος θα σας επιτρέψει να χρησιμοποιήσετε την λύση σας για 3 αριθμούς. Δηλαδή ο αλγόριθμος εύρεσης του μεγίστου 4 αριθμών να χρησιμοποιεί τον αλγόριθμο εύρεσης των τριών. Μην ξαναγράψετε από την άρχη τον αλγόριθμο.
Μπορείτε να γενικεύεσετε για έστω 100 αριθμούς; ή ακόμα καλύτερα για Ν αριθμούς;

Εντολή Επανάληψης
Αν θέλουμε να επαναλάβουμε μια εντολή πολλές φορές χρησιμοποιούμε την εντολή for
Για παράδειγμα το παρακάτω τμήμα κώδικα εμφανίζει όλους τα τετράγωνα όλων των αριθμών από το 1 έως και το 100.
Να μελετήσετε την λειτουργία του.

--- Κώδικας: cpp ---
#include <iostream>
using namespace std;

int main() {
    int upperBound = 100;
    int i;
    for (i=0; i<upperBound; i++) {
        cout << i * i << ", " ;
    }
    cout << endl;
    return 0;

}

--- Τέλος κώδικα ---

Ασκήσεις

* Να τροποιήσετε το παραπάνω πρόγραμμα έτσι ώστε να εμφανίζει μόνο τα τετράγωνα των άρτιων (ζυγών) αριθμών
* Να τροποιήσετε το παραπάνω πρόγραμμα έτσι ώστε να εμφανίζει μόνο τα πολλαπλάσια του 5
* Πως μπορείτε να χρησιμοποιήσετε την εντολή επανάληψης for ώστε να βρείτε τη μέγιστη τιμή πολλών αριθμών?

Τα υπόλοιπα στο μάθημα ;D

Πλοήγηση

[0] Λίστα μηνυμάτων

Μετάβαση στην πλήρη έκδοση