Τελευταία μηνύματα

Σελίδες: [1] 2 3 ... 10
1
Μαθήματα 2017-2018 / Πέτρα - Ψαλίδι - Χαρτί
« Τελευταίο μήνυμα από evry στις Δεκέμβριος 11, 2017, 10:59:57 μμ »
Το πρόγραμμα που κάναμε σήμερα και θα αποτελέσει τη βάση για το παιχνίδι Πέτρα-Ψαλίδι-Χαρτί.

Κώδικας: cpp [Επιλογή]

#include <iostream>
#include <stdlib.h>
#include <time.h>

using namespace std;

int main()
{
    srand(time(NULL));
    cout << " ____________________________" << endl;
    cout << "|                            |" << endl;
    cout << "|    Rock Papers Scissors    |" << endl;
    cout << "|    by Zanneio Gymnasio     |" << endl;
    cout << "|____________________________|" << endl;
    cout << " ****************************" << endl << endl;

    int player, computer, wins, losses;
    wins = losses = 0;
    player = 0;
    while (player != -1) {
        computer = rand()%3;
        cout << "Enter -1 to end game!" << endl;
        cout << "Enter your Choice (0,1,2) : " ;
        cin >> player;
        if (player == computer) {
            cout << " *** You Win ***" << endl;
            wins = wins + 1;
        }
        else if (player == -1) {
            cout << "*** GAME  OVER ***" << endl;
            cout << "***  GOOD BYE  ***" << endl;
        }
        else {
            cout << "I win you lose!" << endl;
            losses = losses + 1;
        }
        cout << "----------------------------" << endl;
        cout << "  PLAYER   -     COMPUTER   " << endl;
        cout << "    " << wins << "      -        " << losses << endl;
        cout << "----------------------------" << endl;
    }
    return 0;
}


Παρακάτω τροποποιούμε το πρόγραμμα έτσι ώστε ο χρήστης να μην δίνει τους αριθμούς 0,1,2 αλλά τα γράμματα P,R,S για Paper, Scissors, Rock.

Κώδικας: c++ [Επιλογή]

#include <iostream>
#include <stdlib.h>
#include <time.h>

using namespace std;

int main()
{
    srand(time(NULL));
    cout << " ____________________________" << endl;
    cout << "|                            |" << endl;
    cout << "|    Rock Papers Scissors    |" << endl;
    cout << "|    by Zanneio Gymnasio     |" << endl;
    cout << "|____________________________|" << endl;
    cout << " ****************************" << endl << endl;

    int index=0, wins, losses;
    char player, computer;
    wins = losses = 0;
    player = 'P';
    while (player=='P' || player=='S' || player=='R') {
        index = rand()%3;
        if (index==0) {
            computer = 'R';
        }
        else if (index==1) {
            computer = 'P';
        }
        else {
            computer = 'S';
        }
        cout << "Enter -1 to end game!" << endl;
        cout << "Enter R for Rock, P for Paper and S for Scissors" << endl ;
        cout << "Enter your Choice (R,P,S) : " ;
        cin >> player;
        if (computer=='S' && player=='R') {
            cout << "Rock beats Scissors: You win!" << endl;
            wins++;
        }
        else if (computer=='R' && player=='S') {
            cout << "Rock beats Scissors: You lose!" << endl;
            losses++;
        }
   // here write your code for all other cases
        else {
            cout << "*** GAME  OVER ***" << endl;
            cout << "***  GOOD BYE  ***" << endl;
        }
        cout << "----------------------------" << endl;
        cout << "  PLAYER   -     COMPUTER   " << endl;
        cout << "    " << wins << "      -        " << losses << endl;
        cout << "----------------------------" << endl;
    }
    return 0;
}

2
Μαθήματα 2017-2018 / Η δύναμη της επανάληψης
« Τελευταίο μήνυμα από evry στις Νοέμβριος 20, 2017, 08:23:23 μμ »
Το παρακάτω πρόγραμμα δημιουργεί ένα αρχείο test.out και το γεμίζει με τα τετράγωνα όλων των αριθμών από το 1 έως και το 1000.

Κώδικας: cpp [Επιλογή]

#include <iostream>
#include <fstream>
using namespace std;
int main()
{
    ofstream fout("test.out");

    for (int i=0; i<1000; i++) {
        fout << i*i << endl;
    }
    fout.close();
    return 0;
}


Το παραπάνω αρχείο test.out έχει αποθηκευθεί στον ίδιο φάκελο με το main.cpp που είναι το πρόγραμμά σας.
Για να το ανοίξετε προτείνω τον editor notepad++ που μπορείτε να κατεβάσετε από τον παρακάτω σύνδεσμο:
https://notepad-plus-plus.org/download/v7.2.2.html

Στη συνέχεια το παρακάτω πρόγραμμα διαβάζει το παραπάνω αρχείο και εμφανίζει τους αριθμούς
Κώδικας: cpp [Επιλογή]

#include <iostream>
#include <fstream>
using namespace std;
int main()
{
    ifstream fin("test.out");
    int value;
    for (int i=0; i<1000; i++) {
        fin >> value;
        cout << value << "  ";
    }
    fin.close();
    return 0;
}


Το αρχείο που πριν ήταν έξοδος τώρα γίνεται είσοδος αφού διαβάζουμε από αυτό

Παρακάτω δίνω ένα πρόγραμμα το οποίο διαβάζει από το αρχείο input.in έναν αριθμό Ν ο οποίος είναι το πλήθος των αριθμών που ακολουθούν και υπολογίζει και εμφανίζει τον μεγαλύτερο από αυτούς.

Κώδικας: cpp [Επιλογή]

#include <iostream>
#include <fstream>
using namespace std;
int main()
{
    ifstream fin("input.in");
    int value, maximum = -1;
    for (int i=0; i<1000; i++) {
        fin >> value;
        if (value > maximum) {
            maximum = value;
        }
    }
    cout << "maximum = " << maximum << endl;
    fin.close();
    return 0;
}


Στη συνέχεια δίνω ένα πρόγραμμα το οποίο διαβάζει από το αρχείο αριθμούς και στη συνέχεια εμφανίζει πόσα μηδενικά (0), πόσους άσσους (1), πόσα δύο (2) και πόσα τρία (3) εμφανίζονται στο αρχείο.
Το αρχείο που θα φτιάξετε για αυτό το πρόγραμμα θα πρέπει να έχει στην πρώτη γραμμή έναν αριθμό π.χ. 10 ο οποίος είναι το πλήθος των αριθμών που ακολουθούν και στη συνέχεια τους αριθμούς. Για παράδειγμα ένα αρχείο input.in θα μπορούσε να είναι όπως το παρακάτω:

Αρχείο input.in
Κώδικας: [Επιλογή]
20
1 1 1 3 3 1 2 2 1 2 3 1 2 3 5 5 6 7 1 1
To παραπάνω αρχείο περιέχει στην πρώτη γραμμή τον αριθμό 20 ο οποίος μας ενημερώνει ότι ακολουθούν 20 αριθμοί και στη συνέχεια τους 20 αυτούς αριθμούς.

Το παρακάτω πρόγραμμα διαβάσει το αρχείο input.in και εμφανίζει τη συχνότητα των αριθμών 1 , 2 και 3
Κώδικας: cpp [Επιλογή]

#include <iostream>
#include <fstream>
using namespace std;
int main()
{
    ifstream fin("input.in");
    int value, counter[4] = {0}, N;
    fin >> N;                             // πρώτα διαβάζω το πλήθος των αριθμών
    for (int i=0; i<N; i++) {
        fin >> value;
        if (value == 0) {
            counter[0]++;        // αυξάνω τον μετρητή counter[0] του 0
        }
        if (value == 1) {
            counter[1]++;        // αυξάνω τον μετρητή counter[1] του 1
        }
        if (value == 2) {
            counter[2]++;        // αυξάνω τον μετρητή counter[2] του 2
        }
        if (value == 3) {
            counter[3]++;        // αυξάνω τον μετρητή counter[3] του 3
        }

    }
    cout << "frequency of 0 is " << counter[0] << endl;
    cout << "frequency of 1 is " << counter[1] << endl;
    cout << "frequency of 2 is " << counter[2] << endl;
    cout << "frequency of 3 is " << counter[3] << endl;

    fin.close();
    return 0;
}

Επεξήγηση
Όταν δηλώνουμε τη μεταβλητή counter[4], στην ουσία δηλώνουμε τέσσερις μεταβλητές, counter[0], counter[1], counter[2], counter[3]. Κάθε μια από αυτές τις μεταβλητές μετράει πόσες φορές εμφανίζεται ο αντίστοιχος αριθμός. Για παράδειγμα ο counter[0] υπολογίζει πόσες φορές εμφανίζεται το 0, ο counter[1] το 1 κ.ο.κ.


Άσκηση
Να τροποποιήσετε το παραπάνω πρόγραμμα έτσι ώστε να υπολογίζει και να εμφανίζει πόσες φορές εμφανίζεται στο αρχείο κάθε αριθμός από το 1 έως και το 10.
Στη συνέχεια να εμφανίζει ποιος εμφανίζεται τις περισσότερες φορές.
3
Μαθήματα 2017-2018 / Ώρα για αποφάσεις
« Τελευταίο μήνυμα από evry στις Νοέμβριος 04, 2017, 10:23:47 μμ »
Σε αυτό το μάθημα θα ασχοληθούμε με τα εξής δυο προβλήματα:

Πρόβλημα 1
Θα σχεδιάσουμε ένα πρόγραμμα το οποίο θα διαβάζει έναν αριθμό και θα εμφανίζει πόσα ψηφία έχει, εκτός αν είναι αρνητικός οπότε θα εμφανίζει το μήνυμα "negative" και θα τερματίζει.
Το πρόγραμμα που δίνεται παρακάτω δουλεύει μόνο για μονοψήφιους αριθμούς. Μπορείτε να το επεκτείνετε έτσι ώστε να ανιχνεύει μέχρι και πενταψήφιους αριθμούς, συμπληρώνοντας τις κατάλληλες εντολές;
Κώδικας: cpp [Επιλογή]

#include <iostream>                         
using namespace std;
int main() {
   int number;     
   cout << "number = ";     
   cin >> number;     
   
   if (number < 0) {                           
       cout << " negative number " << endl;   
   }
   if (number >= 0  &&  number < 10) {                           
       cout << " digits : 1 " << endl;   
   }
   if (number >= 10 ) {                           
       cout << " more than one digits " << endl;   
   }

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

Προσοχή!!! Ο λογικός τελεστής && είναι το λογικό και .

Πρόβλημα 2
Ο Δείκτης Μάζας Σώματος (ΔΜΣ) (Body Mass Index (BMI))δίνεται από τον τύπο
ΔΜΣ = Βάρος / Ύψος2.
, όπου το ύψος δίνεται σε μέτρα και το βάρος σε κιλά
π.χ. αν το βάρος σας είναι 100 κιλά και το ύψος 1.80 τότε ο δείκτης είναι:

ΔΜΣ = 100 / 1.802 = 30.86

Να γράψετε ένα πρόγραμμα το οποίο θα ζητάει από τον χρήστη το βάρος του και το ύψος και θα εμφανίζει κατάλληλο μήνυμα για την κατηγορία στην οποία ανήκει ανάλογα με την τιμή του ΔΜΣ, σύμφωνα με τον παρακάτω πίνακα:

Κατηγορία ΒάρουςΔΜΣ (kg / m2)
Ελλιποβαρής<18,5
Υπέρβαρος≥25
Προ-παχυσαρκία25,0-29,99
Παχυσαρκία≥30
Παχυσαρκία τύπου І30,0–34,99
Παχυσαρκία τύπου ІΙ35,0–39,99
Παχυσαρκία τύπου ІΙΙ>40,0
   

Δίνεται ο παρακάτω σκελετός του προγράμματος, στον οποίο θα πρέπει να συμπληρώσετε τα κενά και να προσθέσετε τις κατάλληλες εντολές έτσι ώστε να εμφανίζει κατάλληλα μηνύματα για όλες τις παραπάνω κατηγορίες του δείκτη

Κώδικας: cpp [Επιλογή]

#include <iostream>                         
using namespace std;
int main() {
   int weight ;         // το βάρος είναι ακέραιος
   float height, BMI;   // ύψος και ΒΜΙ είναι πραγματικοί

   cout << " ******************************* " << endl;
   cout << " *Body Mass Index Calculator Software*" << endl;
   cout << " *    by <programmer>, version 1.0    *"
   cout << " ******************************* " << endl;

   cout << "weight = ";       cin >> weight;     
   cout << "height = ";       cin >> height;     
   
   BMI = ________  ;

   if (BMI < 18.5) {                           
       cout << " Ellipovaris " << endl;   
   }
 
   cout << "*** END OF PROGRAM ***" << endl;
   return 0;
}


   
4
Μαθήματα 2017-2018 / Τα πρώτα μου προγράμματα
« Τελευταίο μήνυμα από evry στις Οκτώβριος 23, 2017, 08:28:20 μμ »
Δοκιμάστε να εκτελέσετε τα παρακάτω προγράμματα που έχω ανεβάσει τον online compiler cpp.sh και να εξηγήσετε την λειτουργία τους.
Αν θέλετε μπορείτε να τα πειράξετε κιόλας να δείτε τι θα γίνει  ;)

Εκτύπωση πραγματικών αριθμών με ακρίβεια δεκαδικών ψηφίων
Μπορείτε στο παραπάνω πρόγραμμα να αλλάξετε την ακρίβεια των δεκαδικών ψηφίων και αντί για 3 να την κάνετε 6 δεκαδικά ψηφία;

Άθροισμα και γινόμενο δυο αριθμών που δίνετε από το πληκτρολόγιο
Μπορείτε να το κάνετε να υπολογίζει το άθροισμα και το γινόμενο τεσσάρων αριθμών;

Η προπαίδεια σε λίγες γραμμές κώδικα ;)
Κώδικας: cpp [Επιλογή]

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    int i, j;
       
    for (i=1; i<=10; i++) {
        for (j=1; j<=10; j++) {
            cout << setw(5) << i*j << "  ";
        }
        cout << endl;
    }
}
5
Πληροφορίες για το Πρόγραμμα / Με τι θα ασχοληθούμε σε αυτό το πρόγραμμα?
« Τελευταίο μήνυμα από evry στις Οκτώβριος 20, 2017, 09:21:25 μμ »
Παρακάτω δίνω κάποιες πηγές που έχουν ενδιαφέρον και τις οποίες θα μελετήσουμε μαζί:

Νευρωνικά Δίκτυα - Τεχνητή Νοημοσύνη και Van Gogh

http://www.subsubroutine.com/sub-subroutine/2016/11/12/painting-like-van-gogh-with-convolutional-neural-networks

https://deepart.io/

Μαθηματικά και Τέχνη
Mathematics and Painting

http://platonicrealms.com/minitexts/Mathematical-Art-Of-M-C-Escher/

http://im-possible.info/english/articles/escher_math/escher_math.html

Το παρακάτω θα είναι το πρώτο επιστημονικό άρθρο που διαβάζετε  ;) :
http://www.ams.org/notices/201006/rtx100600706p.pdf


6
Μαθήματα 2017-2018 / Πρώτη Συνάντηση Ομίλου Αλγοριθμικής 2017-2018
« Τελευταίο μήνυμα από evry στις Οκτώβριος 17, 2017, 01:51:49 μμ »
Η πρώτη συνάντηση του ομίλου θα γίνει φέτος την Τρίτη 24 Οκτωβρίου στις 14:10 στο εργαστήριο πληροφορικής του 1ου ορόφου

Θα σας ενημερώσω για τους στόχους του ομίλου για φέτος και θα παρουσιάσω το περιβάλλον προγραμματισμού στο οποίο θα αναπτύξουμε τις εφαρμογές μας.
Πρόκειται για το ανοικτού κώδικα λογισμικό CodeBlocks το οποίο μπορείτε να κατεβάσετε από τον παρακάτω σύνδεσμο
http://www.codeblocks.org/downloads/26
Προσοχή!!! Θα κατεβάσετε το     codeblocks-16.01mingw-setup.exe
Αφού το εγκαταστήσετε  επιλέγετε
Create new Project ==>  Console Application ==> C++ ==>
δίνω το όνομα του project
και σε όλες τις άλλες ερωτήσεις λέω ΝΑΙ
Μετά από τον δενδροειδή κατάλογο αριστερά ανοίγω το main.cpp
και καλό coding  :D


Μπορείτε εσείς να εγκαταστήσετε το codeblocks, από τώρα. Προσέξτε, την πρώτη φορά που θα το χρησιμοποιήσετε θα σας ζητήσει να επιλέξετε compiler. Επιλέγουμε τον mingw gcc.

Παρακάτω δίνω ένα απλό πρόγραμμα με το οποίο θα ασχοληθούμε στην πρώτη μας συνάντηση.
Μπορείτε αν θέλετε να τολμήσετε να το δοκιμάσετε πριν τη Δευτέρα  ;)

Κώδικας: cpp [Επιλογή]

#include <iostream>
// θα χρησιμοποιήσω τα cin/cout για είσοδο/έξοδο άρα πρέπει να συμπεριλάβω τη βιβλιοθήκη iostream
using namespace std;

int main()
{
    int x, y, sum, product;     //  δήλωση ακέραιων μεταβλητών
    cout << " y = " ;            // μήνυμα στον χρήστη
    cin >> y;                       // εισαγωγή ενός αριθμού στη μεταβλητή y από τον χρήστη
    cout << "x = ";              // μήνυμα στον χρήστη
    cin >> x;                     // εισαγωγή ενός αριθμού στη μεταβλητή x από τον χρήστη
 
    sum = x+y;                 // καταχωρώ το άθροισμά τους στη μεταβλητή sum
    product = x * y;          // καταχωρώ το γινόμενό τους στη μεταβλητή product
 
    cout << “sum = ” << sum << endl;             // Εμφανίζω τα αποτελέσματα
    cout << “product = ” << product << endl;
 
    return 0;
}


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

Σχετικά με την εγκατάσταση και χρήση του codeblocks αν και δεν νομίζω ότι χρειάζεται:
Ένα πολύ καλό εισαγωγικό εγχειρίδιο στα αγγλικά είναι αυτό
http://www.sci.brooklyn.cuny.edu/~goetz/codeblocks/codeblocks-instructions.pdf


Σε περίπτωση που έχετε πρόβλημα με την εγκατάσταση ή χρήση του CodeBlocks
μπορείτε να χρησιμοποιήσετε έναν online interpreter της C++ που δεν χρειάζεται εγκατάσταση και εκτελείται μέσα στον browser όπως οi παρακάτω:

http://www.compileonline.com/compile_cpp_online.php
http://code.hackerearth.com/2aa73cz


Σχετικά με τη γλώσσα C++ οι σημειώσεις που θα σας δώσω σας υπερκαλύπτουν αλλά αν είστε ανήσυχα μυαλά και θέλετε να το ψάξετε περισσότερο παραθέτω στη συνέχεια μερικά πολύ καλά βιβλία για C++ τα οποία διατίθενται δωρεάν στο διαδίκτυο

How to think like a Computer Scientist in C++

Thinking in C++

Learn C++

Όσοι έχετε πρόβλημα με τον compiler του Codeblocks, αυτό πιθανόν συμβαίνει επειδή το περιβάλλον δεν μπορεί να βρει τον compiler και πρέπει εσείς να ορίσετε το μονοπάτι στο οποίο βρίσκεται.
Για να το κάνετε αυτό:
Αφού ανοίξετε το CodeBlocks
Πηγαίνετε στα Settings και εκεί επιλέγετε  Compiler .
Στη φόρμα που σας βγάζει επιλέγετε Toolchain executables.
Εκεί στο Compiler's installation directory πρέπει να ορίσετε το μονοπάτι στο οποίο βρίσκεται ο compiler.
Για να το κάνετε αυτό βρείτε σε ποιο φάκελο έχετε εγκαταστήσει το CodeBlocks, π.χ. αν είναι στο C:\Program Files το μονοπάτι είναι C:\Program Files\CodeBlocks\MinGW

αν ούτε αυτό δουλέψει τότε δοκιμάσετε να δουλέψετε σε κάποιους από τους παρακάτω  online compilers.

http://cpp.sh/
http://www.compileonline.com/compile_cpp_online.php
https://www.codechef.com/ide


Το δεύτερο πρόγραμμα με το οποίο θα ασχοληθούμε συνιστά τροποποίηση / επέκταση του προηγούμενου και είναι το παρακάτω:

Κώδικας: cpp [Επιλογή]

#include <iostream>                         
                                  // θα χρησιμοποιήσω τα cin/cout για είσοδο/έξοδο άρα πρέπει να συμπεριλάβω τη βιβλιοθήκη iostream
using namespace std;
int main() {
   int a, b, sum;                                                                 //  δήλωση ακέραιων μεταβλητών
   cout << "Enter two positive numbers" << endl;            // μήνυμα στον χρήστη
   cout << "a = ";                                                              // μήνυμα στον χρήστη
   cin >> a;                                                                        // διαβάζει έναν αριθμό και τον αποθηκεύει στη μεταβλητή a
   cout << "b = ";                                                              // μήνυμα στον χρήστη
   cin >> b;                                                                       // διαβάζει έναν αριθμό και τον αποθηκεύει στη μεταβλητή a
   if (a>0 && b>0) {                                                          // Αν ισχύει ότι και το a και το b είναι θετικοί αριθμοί
       sum = a + b;                                                             // καταχωρώ το άθροισμά τους στη μεταβλητή sum
       cout << "sum = " << sum << endl;                         // εμφανίζω το αποτέλεσμα στην οθόνη
   }
   else
       cout << "Houston we have a problem: Negative number" << endl;       // αλλιώς ενημερώνω ότι υπάρχει πρόβλημα
   
   return 0;
}


Ασκήσεις για την 2η συνάντηση
Να τροποποιήσετε το παραπάνω πρόγραμμα έτσι ώστε να
1. Κάνει τα ίδια αλλά για τέσσερις αριθμούς
2. Να διαβάζει δυο αριθμούς Α, B, C που είναι οι συντελεστές της πρωτοβάθμιας εξίσωσης ax+b = 0 και να εμφανίζει τη λύση της στην οθόνη.


7
Πληροφορίες για τον Όμιλο Αλγοριθμικής / Τι θα κάνουμε στον όμιλο Αλγοριθμικής;
« Τελευταίο μήνυμα από evry στις Σεπτέμβριος 21, 2017, 12:33:26 μμ »
Μια αποθήκη έχει 100 μπουκάλια κρασί και σε ένα από αυτά υπάρχει δηλητήριο. Για να βρείτε το μπουκάλι με το δηλητήριο έχετε τη δυνατότητα να στείλετε δείγματα στο χημείο.
Το χημείο κάνει έλεγχο και απαντάει με «ΝΑΙ» ή «ΌΧΙ» αν το δείγμα που έλεγξε έχει μέσα οσοδήποτε μικρή ποσότητα δηλητηρίου. 
Κάθε δείγμα μπορεί να περιέχει κρασί από περισσότερα από ένα μπουκάλια
Α) Μπορούμε να στέλνουμε ένα δείγμα στο χημείο και αφού μας απαντήσει να στέλνουμε άλλο.
Ποιος είναι ο ελάχιστος αριθμός δειγμάτων που θα χρειαστεί να στείλουμε για να εντοπίσουμε το μπουκάλι με το δηλητήριο;
Β) Τα δείγματα θα πρέπει να σταλούν στο χημείο μόνο μια φορά όλα μαζί.


Το παραπάνω πρόβλημα είναι ενδεικτικό της σημασίας της πληροφορικής και ειδικότερα της σχεδίασης αλγορίθμων.

Αν βρίσκεται το παραπάνω πρόβλημα ενδιαφέρον και θέλετε να γράψετε κώδικα σε μια σύγχρονη γλώσσα όπως C++, Python ή Java και μπορείτε να λύσετε δυο από τα τρία προβλήματα που δίνουμε παρακάτω

•   Το πρόβλημα του αρχαίου κόσμου
•   Κανίβαλοι και Ιεραπόστολοι
•   Το πρόβλημα της διάσχισης γέφυρας

τότε πιστεύουμε ότι θα διασκεδάσετε με τη συμμετοχή σας τον όμιλο πληροφορικής και θα δείτε πολλούς νέους τρόπους σκέψης για επίλυση αλγοριθμικών προβλημάτων όπως

•   Το πρόβλημα του παραχαραγμένου κέρματος
•   Το πρόβλημα του εγγύτερου ζεύγους
•   Το πρόβλημα των 8 βασιλισσών
•   Το πρόβλημα του Ιώσηπου
•   Κατασκευή μαγικού/λατινικού τετραγώνου ή Sudoku
•   Το πρόβλημα του συντομότερου μονοπατιού σε γράφο
•   Το πρόβλημα του κύβου του Rubik
•   Έξοδος από λαβύρινθο
•   Ο γρίφος του Αϊνστάιν

Η κωδικοποίηση των αλγορίθμων θα γίνει σε C++.

Ένας από τους στόχους του ομίλου είναι και η δημιουργία ομάδας προγραμματισμού Η/Υ για συμμετοχή στον πανελλήνιο διαγωνισμό πληροφορικής.
Ο όμιλος θα λειτουργεί ένα δίωρο μια φορά την εβδομάδα μετά το πέρας των μαθημάτων και απευθύνεται σε μαθητές γυμνασίου και Λυκείου.


Οι υπεύθυνοι καθηγητές

Ευριπίδης Βραχνός
Σοφία Ντούσκα
8
Πληροφορίες για τον Όμιλο Αλγοριθμικής / Όμιλος Αλγοριθμικής 2017-2018
« Τελευταίο μήνυμα από evry στις Σεπτέμβριος 21, 2017, 12:15:55 μμ »
Ο όμιλος Αλγοριθμικής θα λειτουργήσει και τη φετινή σχολική χρονιά 2017-2018. Θα ασχοληθούμε πάλι με τη γλώσσα προγραμματισμού C++ και με διάφορους λογικούς γρίφους και στη συνέχεια θα δούμε πως θα προχωρήσουμε.



Επίσης κάθε χρόνο οι μαθητές του ομίλου είναι προσκεκλημένοι στο θερινό σχολείο πληροφορικής του τμήματος πληροφορικής του Πανεπιστημίου Πειραιά που διενεργείται μια εβδομάδα του Ιουνίου.
9
Συναντήσεις Ομίλου 2016-2017 / Συνάντηση 3 Απριλίου 2017
« Τελευταίο μήνυμα από evry στις Απρίλιος 04, 2017, 12:45:09 μμ »
Στην τελευταία συνάντηση υλοποιήσαμε ένα πρόγραμμα για την επίλυση της πρωτοβάθμιας εξίσωσης. Να μελετήσετε τις διάφορες περιπτώσεις.


Ο κώδικας είναι ο παρακάτω αλλά σας το επισυνάπτω και ως αρχείο Python

Κώδικας: python [Επιλογή]
print("Δώσε τους συντελεστές της εξίσωσης") 
a = int(input("a = "))
b = int(input("b = "))
c = int(input("c = "))
print("Έδωσες την παρακάτω εξίσωση")
print (a, "x + ", b, " = ",c)
if a == 0:
    if b==c:
        print ("Αόριστη. Άπειρες Λύσεις")
    else:
        print ("Αδύνατη. Δεν έχει λύσεις")
else:
    x = (c - b) / a
    print ("x = ", x)



Προσοχή ο κώδικας είναι στην Python 3
10
Γ Τάξη / Αναζήτηση στην Python
« Τελευταίο μήνυμα από evry στις Φεβρουάριος 22, 2017, 10:19:19 μμ »
Στο τελευταίο μάθημα υλοποιήσαμε το πρώτο τμήμα του αλγορίθμου από το φύλλο εργασίας:

Κώδικας: Python [Επιλογή]
from  random  import randint  
secret_number = randint(1,20)
guesses = 0
found = False
while  not  found and guesses < 10   :
    guess = int( input( "Μάντεψε τον αριθμό : ")  )
    guesses += 1
    if guess == secret_number :
         print ( "Μπράβο το βρήκες με ", guesses, "προσπάθειες" )   
         found  = True
    else :
         print ("Δυστυχώς δεν το βρήκες, Ξαναπροσπάθησε" )
if found == False:
    print( "Δυστυχως χασατε!!" )
Σελίδες: [1] 2 3 ... 10