jump to navigation

Δομή επανάληψης for Μαΐου 11, 2009

Posted by maidenas in Uncategorized.
add a comment

Συχνά χρειαζόμαστε να εκτελεστεί εάν block εντολών πολλές φορές. Αντί να γράφουμε την ίδια εντολή πολλές φορές, μπορούμε να την γράψουμε μόνο μία φορά μέσα σε μια δομή επανάληψης for. H  συντάσσεται κατά τον ακόλουθο τρόπο:

for(i=0;i<x;i++)
{ }

Αναλυτικότερα

for(i=0;i<x;i++)       << ι =0 δίνουμε μια τιμή στην μεταβλητή i . i<x : για χ φορές εκτέλεσε το παρακάτω μπλοκ εντολών. i++ κάθε φορά αύξανε την τιμή του i κατά 1
{ }                  <<Εδώ γράφουμε το μπλοκ εντολών που θέλουμε να εκτελεστεί

Για καλύτερη κατανόηση, κατέβασε το παρακάτω αρχείο

Κατέβασε αρχείο

Functions Μαΐου 10, 2009

Posted by maidenas in Uncategorized.
add a comment

Στο πρώτο πρόγραμμα εξηγώ με ένα πολύ απλό παράδειγμα τι δουλεία κάνουν οι συναρτήσεις. Οι συναρτήσεις είναι κομμάτια προγράμματος που τα ανεξαρτητοποιείς από το κύριο πρόγραμμα για κάποιους λόγους.
1)Για να μπορείς να τα επαναχρησιμοποιήσεις
2)Για να αποφορτίζεις το κύριο σου πρόγραμμα
3) Για να είναι πιο ευανάγνωστος ο κώδικας
Ένα πρώτο θέμα είναι τι εκτελείται κάθε φορά.

Στο δεύτερο πρόγραμμα μπορεί κάποιος εύκολα να καταλάβει τι δουλειά κάνουν οι βιβλιοθήκες ή τα αρχεία επικεφαλίδας που συμπεριλαμβάνουμε κάθε φορά. Η συνάρτηση abs() υπάρχει στην cstlib όπως και πάρα πολλές άλλες συναρτήσεις που μπορείς να τις βρείς εδω:
http://www.cplusplus.com/reference/clibrary/cstdlib/
το http://www.cplusplus.com/ είναι μια πολύ καλή online αναφορά για την C++.

Άρα με το include<cstlid> συμπεριλαμβάνουμε μια βιβλιοθήκη που περιέχει την abs().

Κατέβασε το πρώτο αρχείο
Κατέβασε το δεύτερο αρχείο

Άσκηση: Πυθαγόρειο Θεώρημα Μαΐου 10, 2009

Posted by maidenas in Uncategorized.
add a comment

Να φτιάξεις ένα πρόγραμμα που χρησιμοποιώντας το Πυθαγόρειο Θεώρημα θα:

  1. υπολογίζει την υποτείνουσα (παίρνοντας απ’τον χρήστη τις τιμές των δύο κάθετων πλευρών)
  2. υπολογίζει μια καθετη πλευρα (παίρνοντας απ’τον χρήστη τις τιμές της υποτείνουσας και της μίας κάθετης πλευράς)
  3. ελέγχει εάν το τρίγωνο είναι ορθογώνιο (Αντιστροφο Πυθαγορείου)

Σημείωση: Ο υπολογισμός της τετραγωνικής ρίζας γίνεται δίνοντας την εντολή sqrt(x) όπου χ ο αριθμός.

Πρώτο πρόγραμμα: Απλή αριθμομηχανή Μαΐου 10, 2009

Posted by maidenas in Ασκήσεις.
add a comment

Απλή αριθμομηχανή:

Κατέβασε τον κώδικα από εδώ

Για να τρέξεις το πρόγραμμα, άνοιξε τον κώδικα με το DevC++ και πάτησε το F9! Το πρόγραμμα θα εκτελεστεί αμέσως! Να διαβάσεις καλά τον κώδικα! Για οποιαδήποτε απορία, γράψε comment στο τέλος αυτού του post!

Σημείωση: Το πρόγραμμα εκτελείται σε CMD (Command Prompt) καθώς δεν έχει γραφτεί να περιέχει γραφικό περιβάλλον (GUI)

Συγκριτικοί Τελεστές και Boolean Operators Μαΐου 10, 2009

Posted by maidenas in Uncategorized.
add a comment

Τι είναι τελεστής(operator);
Είναι ένα ειδικό σύμβολο που χρησιμοποιούμε για να δηλώσουμε μια επεξεργασία. Στην C++ υπάρχει ένα σύνολο τελεστών που χρησιμοποιείται θα ξεκινήσουμε από τους βασικούς τελεστες και θα εμπλουτίζουμε σιγά-σιγά αυτό το σύνολο.

Καταρχήν οι αριθμητικοί τελεστές:
+  Πρόσθεση
-   Αφαίρεση
/   Διαίρεση
*   Πολλαπλασιασμός
% Ευκλείδειας Διαίρεσης
Αλλά και άλλοι τελεστές όπως:
<<   Τελεστής εξόδου (input operator)
>>   Τελεστής εισόδου (output operator)

Συγκριτικοί Τελεστές
==  Ίσον
!=    Διάφορο
<     Μικρότερο
>     Μεγαλύτερο
>=   Μεγαλύτερο ίσο
<=    Μικρότερο ίσο
Οι συνθήκες που φτιάχνεις έχουν δυο πιθανά αποτελέσματα true ή false.

Με αυτούς μπορείς να φτιάχνεις συνθήκες έτσι στην If …. else

=     Τελεστής Ανάθεσης- Εκχώρησης τιμής (assignment operator)
Ο τελευταίος τελεστής έχει τεράστια σημασία και δεν έχει καμία απολύτως σχέση με ισότητα!!!. Ο τελεστής αυτός παίρνει το περιεχόμενο που υπάρχει δεξιά του και το αναθέτει σε ότι υπάρχει αριστερά του. ΔΕΝ ΦΤΙΑΧΝΕΙ ΣΕ ΚΑΜΙΑ ΠΕΡΙΠΤΩΣΗ ΣΥΝΘΗΚΕΣ!

Επίσης

if (a>b)
cout << a;
else
cout <<b;

Λογικοί τελεστές Boolean operators
&&   AND
||      OR
!       NOT
Αυτοί οι τελεστές χρησιμοποιούνται εάν θέλουμε μία συνθήκη να ισχύει για έναν ή περισσότερους λόγους. Για παράδειγμα εάν θέλουμε να εκτελείται μία εντολή εάν το bmi είναι πάνω από 19 και συγχρόνως κάτω από το 25, γράφουμε αυτό:

if (bmi>19&&bmi<25)

Η συνθήκη if() Μαΐου 10, 2009

Posted by maidenas in Εισαγωγή.
add a comment

Πολλές φορές θέλουμε ένα μπλοκ εντολών να εκτελεστεί μόνο εάν ισχύει κάποια σχέση. Γι’αυτό τον λόγο χρησιμοποιούμε την συνθήκη if. Ο τρόπος χρήσης της είναι πολύ απλός:

Στο παρακάτω παράδειγμα η εντολ cout << “Your answer is correct” θα εκτελεστεί μόνο εάν η τιμή της μεταβλητής choice ισούται με 1:

if (choice==1)
cout << “Your answer is correct”;

Επίσης, υπάρχει η If…else, που δηλώνει τι να γίνει εάν η αρχική σχέση είναι λανθασμένη

if (choice==1)
cout << “Your answer is correct”;
else if (choice==2)
cout << “Your answer is wrong”;

Τέλος, μπορεί να δηλωθεί μία σκέτη else:

if (choice==1)
cout << “Your answer is correct”;
else
cout << “Your answer is wrong”;

Έτσι δηλώνεται ότι για οποιαδήποτε τιμή εκτός της choice==1, θα εκτελεστεί το cout << “Your answer is wrong”;

Σχετικά με είσοδο-έξοδο Μαΐου 10, 2009

Posted by maidenas in Uncategorized.
add a comment

Σε κάθε πρόγραμμα τυπώνεται κάτι στην οθόνη. Αυτό γίνεται με την εντολή cout. Η σύνταξή της είναι η ακόλουθη:

cout << “Το κείμενο σου”;

Σημείωση: Για να αλλάξεις γραμμή, χρησιμοποίεισαι την εντολή “\n” μέσα στην cout:

cout << “Your text\nI’ve just changed line”;

Αντιθέτως για να δώσει ο χρήστης μια τιμή σε μια μεταβλητή, χρησιμοποιείται η εντολή cin:

cin >> x;

Αυτό σημαίνει οτι η τιμή που θα πληκτρολογήσει ο χρήστης θα αποθηκευτεί στην μεταβλητή χ.

Μιλώντας για μεταβλητές… Μαΐου 10, 2009

Posted by maidenas in Εισαγωγή.
add a comment

Μια μεταβλητή είναι ένα γράμμα ή μια λέξη που αντιπροσωπεύει μια θέση μνήμης στην μνήμη RAM του υπολογιστή και η οποία έχει μια συγκεκριμένη  τιμή. Χαρακτηριστικό μιας μεταβλητής είναι ότι η τιμή αυτή μπορεί να μεταβάλλεται κατά την εκτέλεση ενός προγράμματος.

Πραγματικές:
Μπορείς λοιπόν να δηλώσεις πραγματικές μεταβλητές έτσι

float d;
double d;
long double d;
Επιλέγεις έναν από τους τρεις τρόπους ανάλογα με την ακρίβεια που θες να έχεις σε δεκαδικά ψηφία.
Για την ακρίβεια αφού όταν δηλώνεις μεταβλητές δεσμεύεις μνήμη ΡΑΜ σου λέω συγκεκριμένα bit που δεσμεύονται στις τρεις περιπτώσεις:
32 bit
64 bit
80 bit

Ακέραιες:
Εκτός από
int a; (16 bit ο αριθμός σου είναι από -32.768 έως 32.767)
μπορείς να δηλώσεις μια μεταβλητή ακέραια και όπως παρακάτω:
unsigned int a; (16 bit ο αριθμός που δέχεται η a είναι απρόσημος και παίρνει τιμές από 0 έως 65.535)
long int a; (32 bit ο αριθμός μπορεί να είναι από -2.147.483.648 έως 2.147.483.647)

Τι χρειάζεται ένα πρόγραμμα; Μαΐου 10, 2009

Posted by maidenas in Εισαγωγή.
add a comment

Πρώτα πρώτα πρέπει να δηλωθούν ποιες “βιβλιοθήκες” θα συμπεριλάβουμε στο πρόγραμμα. Για παράδειγμα, η βιβλιοθήκη εισόδου-εξόδου είναι η <iostream>. Έτσι έχουμε:

#include <iostream>
using namespaces std;

Στη συνέχεια δηλώνουμε την αρχή του προγράμματος με την εντολή int main(). Ακριβώς από κάτω συνήθως δηλώνουμε τις μεταβλητές (αναλυτικότερα εδώ). Έτσι το πρόγραμμά μας γίνεται όπως το παρακάτω:

#include <iostream>
using namespaces std;

int main()
{
int a, b;

Αφού γίνουν αυτά, ξεκινούμε να γράφουμε τι θέλουμε να κάνει το πρόγραμμα. Στο τέλος πρέπει να υπάρχουν αυτές οι εντολές:

system(“Pause”);
return 0;
}

Σημείωση: Τα σχόλια βρισκονται μεταξύ /*…*/ αν είναι σε πολλές γραμμές και // … αν είναι σε μια γραμμή. Όταν μεταγλωττίζεται ένα πρόγραμμα ο μεταγλωττιστής (compiler) είναι σαν να μην τα βλέπει.

Πώς μπορώ να ξεκινήσω; Μαΐου 10, 2009

Posted by maidenas in Εισαγωγή.
add a comment

Αρχικά, θα πρέπει να κατεβάσεις έναν μεταγλωτιστή (compiler). Μία πολύ καλή λύση είναι το δωρεάν DevC++ που μπορείς να κατεβάσεις από εδώ. Αφού το εγκαταστήσεις είσαι έτοιμος να φτιάξεις το πρώτο σου πρόγραμμα!

Χρήσιμες συντομεύσεις:

F9: Compile & Run – Συνθέτει και τρέχει το πρόγραμμα
Ctrl+S: Άμεση Αποθήκευση