Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Μήνυμα ξεκίνησε από: kwstas στις 09 Ιαν 2003, 11:37:20 ΠΜ

Τίτλος: Διάφορες ασκήσεις
Αποστολή από: kwstas στις 09 Ιαν 2003, 11:37:20 ΠΜ
3.      Να γραφεί αλγόριθμος που υπολογίζει και εμφανίζει την τιμή της συνάρτησης f(x) = (x2+3x+5)/[(x-1)(x-2)]
.................................

Το μήνυμα αυτό διαγράφηκε επειδή περιείχε ασκήσεις αντιγραμμένες από την ιστοσελίδα κάποιου συναδέλφου, χωρίς αυτός ο συνάδελφος να ερωτηθεί - Άλκης.
Τίτλος: Άσκηση στο τάβλι!
Αποστολή από: alkisg στις 09 Φεβ 2003, 02:36:39 ΠΜ
Ένα «δυσκολούτσικο» προγραμματάκι για όσους έχουν όρεξη (ξεφεύγει αρκετά από το μάθημα)! Υποθέτουμε ότι υπάρχει στην Γλώσσα μια συνάρτηση Τυχαίος(μέγιστος) η οποία επιστρέφει έναν ακέραιο από 0 μέχρι μέγιστος - 1.
Άσκηση στο τάβλι!!!
Φτιάξτε ένα πρόγραμμα που να τυπώνει έναν ακέραιο αριθμό από το 2 μέχρι το 12, ο οποίος να αντιστοιχεί στο άθροισμα της ταυτόχρονης ρίψης δύο ζαριών, όπως στο τάβλι.
Περιορισμοί:
::) Περιμένω απαντήσεις!!! ::)
Τίτλος: Re: Διάφορες ασκήσεις
Αποστολή από: TXR στις 03 Μαρ 2003, 10:54:28 ΜΜ
Νομίζω πως βρήκα κάτι:

/*
      Οι πιθανοί συνδυασμών που μπορούμε να φέρουμε με τα 2
      ζάρια ειναι:

    { (1,1),(1,2),(1,3),(1,4),(1,5),(1,6)
        (2,1),(2,2),(2,3),(2,4),(2,5),(2,6)
        (3,1),(3,2),(3,3),(3,4),(3,5),(3,6)
        (4,1),(4,2),(4,3),(4,4),(4,5),(4,6)
        (5,1),(5,2),(5,3),(5,4),(5,5),(5,6)
        (6,1),(6,2),(6,3),(6,4),(6,5),(6,6) }

    Οπότε τα αθροίσματα εμφανίζονται με συχνότητα:
      Αθρ:    2 3 4 5 6 7 8 9 10 11 12
      Συχ:    1 2 3 4 5 6 5 4  3  2   1

    Ο δειγματικός χώρος Ν έχει 36 στοιχεία
      Οπότε η πιθανότητα να φέρουμε άθροισμα x (x = 2,3,...,12)
      είναι:

x       2       3       4        5       6       7       8        9        10     11     12
πιθ.   1/36  2/36  3/36  4/36  5/36  6/36  5/36  4/36  3/36  2/36  1/36

    Σχηματίζουμε τον πίνακα t οπου για κάθε στοιχείο του t
      (i = 0,1,..,11) ισχύει:

      t
  • = 0
     t = t [i-1] + P(i+1)*36  , i ε Ζ , 0<i<=11

      όπου  P(i+1) η πιθανότητα να φέρουμε άθροισμα i+1

      Με αυτόν τον τρόπο καλώντας την συνάρτηση τυχαίος(36)
      παίρνουμε εναν αριθμό r ε Ζ στο διάστημα [0,35]
      Στη συνέχεια ελέγχοντας αν αυτός βρίσκεται στο διάστημα
      [t ,t [i+1]) εμφανίζουμε τον αριθμό (που προκείπτει
      ως άθροισμα των 2 ζαριών) i+2

      Ετσι με αυτη τη χρήση του πίνακα καταφέρνουμε να κρατήσουμε
      τις πιθανότητες εμφάνισης του κάθε αριθμού όπως στο τάβλι
      με μία μόνο κλήση της rand.
      
*/

/*

  Το παρακάτω πρόγραμμα εκτελεί το πείραμα 10000 φορές
  και εμφανίζει τα στατιστικά εμφάνισης του κάθε αριθμού
*/

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

int t [] = { 0,1,3,6,10,15,21,26,30,33,35,36 };

int x [11] = { 0 };

int f(int r)
{
      int i;
      for(i=0; i<11; i++) {
            if((r >= t ) && (r < t [i+1])) break;
      }
      return i+2;
}

void results()
{
      int i;
      printf("Results : 2  3  4  5  6  7  8  9  10  11  12\n");
      printf("         ");
      for(i=0; i<11; ++i) printf("%d ",x );

      char c;
      scanf("%c",&c);
}

int main()
{
      srand(time(NULL));
      int i;
      for(i=0; i<10000; i++) {
            x [f(rand()%36)-2] ++;
      }
      results();
      return 0;
}

Πείτε μου την γνώμη σας.
Τίτλος: Re: Διάφορες ασκήσεις
Αποστολή από: Bothered! στις 10 Μαρ 2003, 02:23:03 ΠΜ
Αγαπητέ kwsta, καλά θα κάνεις να τηρείς κάποιους στοιχειώδεις κανόνες δεοντολογίας. Όταν κατεβάζεις ένα αρχείο με ασκήσεις από το Internet και στη συνέχεια κάνεις Copy-Paste τις ασκήσεις 3-8, χωρίς καν να κάνεις τον κόπο να αλλάξεις τα νούμερα των ασκήσεων, καλό θα είναι να κάνεις και μια αναφορά σ' αυτόν που κόπιασε να τις φτιάξει, όπως στην περίπτωσή μας τον κ. Καραμαούνα Πολύκαρπο (http://users.forthnet.gr/her/kapl).
Τίτλος: Re: Διάφορες ασκήσεις
Αποστολή από: bugman στις 28 Απρ 2003, 08:06:43 ΜΜ
Θα τρελαθώ! Πως ξεφεύγει από την ύλη!!!! Δεν το έχω καταλάβει φαίνεται!
!Τα γράφω πάλι με τα δικά μου κουσούρια
! Πινακας α[1..36]
Πινακας α[36]
ν<--1
Για Ι απο 1 μεχρι 6
Για Κ απο 1 μεχρι 6
α[ν]<--ι+κ
ν<--ν+1
Τελος_επαναληψης
Τελος_επαναληψης
Γραψε α[ακέραιος(τυχαίος*35)+1]
----------
0<=ακέραιος(τυχαίος)<=1
0<=ακέραιος(τυχαίος*35)<=35
1<=ακέραιος(τυχαίος*35)+1<=36
--------------------------
Το πρόγραμμα του TXR φαίνεται καλό αλλά κάνει πρόσθετα πράγματα, πχ. δεν χρειάζεται να βάλουμε τα 36 νούμερα σε σειρά διότι ο πίνακας α[] όπως φαίνεται εδώ στην ουσία μετατρέπει το 2 έως 12 αθροίσματα που έχουν **διάφορη** πιθανότητα μεταξύ τους σε 1 εως 36 (εισαγωγή) όπου η τυχαιότητα είναι ομαλή.
Πρόβλημα θα υπάρξει αν η συνάρτηση ψευδοτυχαίων **όπως την λέμε** ακολουθεί την καμπύλη του Gauss, οπότε μάλλον θα κλέβει το τάβλι μας!