• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
August 02, 2025, 21:04:31 pm

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
August 02, 2025, 21:04:31 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[Today at 19:59:00]

Αποτελέσματα Εξεταστικής ...
by Ma8hths Indou
[Today at 17:30:47]

[Τηλεπικοινωνιακά Συστήμα...
by Thanasis_pap
[Today at 17:06:37]

Άδεια ασκήσεως επαγγέλματ...
by The Web
[Today at 13:25:49]

[Τομέας Ηλεκτρονικής] Μαθ...
by Nikos_313
[Today at 09:51:26]

[Τομέας Ενέργειας] Μαθήμα...
by Nikos_313
[Today at 01:40:22]

Οι μπράβοι του πρύτανη
by Διάλεξις
[Today at 01:30:18]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[Today at 01:04:15]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by Διάλεξις
[Today at 00:59:05]

Ηλεκτρομηχανολογικές Μελέ...
by inverter
[August 01, 2025, 20:35:12 pm]

Νέα Δημοκρατία (and Co. I...
by Katarameno
[August 01, 2025, 15:13:09 pm]

Πρόγραμμα Σπουδών Ακαδημα...
by PolarBear
[August 01, 2025, 15:03:05 pm]

Aναζωπύρωση των εχθροπραξ...
by Katarameno
[July 31, 2025, 21:15:48 pm]

Καμμένα...!!
by Godat
[July 31, 2025, 21:07:58 pm]

[ΑΝΤΙΣΤΑΣΗ] Ανακοίνωση γι...
by Katarameno
[July 31, 2025, 20:31:30 pm]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[July 31, 2025, 15:33:28 pm]

ΤΗΜΜΥ-Σκάκι
by L
[July 31, 2025, 13:24:56 pm]

Τα παράσιτα ανάμεσά μας
by Katarameno
[July 30, 2025, 13:47:28 pm]

Ρώτα κάτι τον επόμενο
by Giopan
[July 29, 2025, 16:04:23 pm]

Πότε θα βγει το μάθημα; -...
by chatzikys
[July 29, 2025, 13:52:51 pm]
Στατιστικά
Members
Total Members: 9988
Latest: kyrlef
Stats
Total Posts: 1427645
Total Topics: 31739
Online Today: 142
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 8
Guests: 104
Total: 112
themis01
George_RT
stefpapa21
Saint_GR
gkg
Akis Papanikolaou
PolarBear
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Πληροφορίες Καθηγητών
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 1ο Εξάμηνο > Δομημένος Προγραμματισμός (Moderators: Tasos Bot, tzortzis, Nekt) > [Δομημένος Πρ.]Εργασία D
0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 3 Go Down Print
Author Topic: [Δομημένος Πρ.]Εργασία D  (Read 4329 times)
verisign
Θαμώνας
****
Gender: Female
Posts: 377



View Profile
[Δομημένος Πρ.]Εργασία D
« on: April 18, 2013, 18:31:56 pm »

    

Άσκηση D
(Hμ/νία λήξης δηλώσεων: 12/05/2013)

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

Στο πρόγραμμα που υλοποιεί το παιχνίδι να οριστούν  οι συναρτήσεις void nbco_or(…) και void ntco_or(…)  από τις οποίες, η πρώτη να δέχεται τις συντεταγμένες της θέσεις του βλήματος και να επιστρέφει τις συντεταγμένες της νέας του θέσης ενώ η δεύτερη να δέχεται τις συντεταγμένες της θέσης του στόχου και να επιστρέφει τις συντεταγμένες της νέας του θέσης.

Το πρόγραμμα να διαβάζει τις αρχικές συντεταγμένες των θέσεων του στόχου και του βλήματος, την απόσταση sd και την τιμή me. Η τιμή me είναι η μέγιστη τιμή την οποία μπορεί να έχει η απόλυτη τιμή των τυχαίων αριθμών που θα αλλάξουν τη θέση του βλήματος. Η αντίστοιχη τιμή για τη θέση του στόχου ορίζεται στο ¼ της τιμής της me.

Στη συνέχεια,  μέσα σε μια ατέρμονα επανάληψη, να εμφανίζονται στην οθόνη οι συντεταγμένες της θέσης του βλήματος πριν γίνει η αλλαγή της θέσης του και να καλούνται οι συναρτήσεις nbco_or() και ntco_or() για να βρεθούν οι νέες θέσεις για τον στόχο και το βλήμα. Ο παίκτης, που προστατεύει το στόχο, να πληκτρολογεί τις συντεταγμένες στις οποίες πιστεύει ότι βρίσκεται τώρα το βλήμα και εάν η απόσταση μεταξύ του σημείου του οποίου η συντεταγμένες δόθηκαν από τον παίκτη και της τωρινής θέσης του βλήματος είναι μικρότερη από την απόσταση sd το βλήμα καταστρέφεται. Το πρόγραμμα να τερματίζεται αν καταστραφεί το βλήμα ή αν καταστραφεί ο στόχος τυπώνοντας σχετικό μήνυμα και την απόσταση από το στόχο ή το βλήμα τις βολής που επέφερε την καταστροφή.

Σημείωση :

Να μη χρησιμοποιηθούν πουθενά γενικές μεταβλητές.

Οι συναρτήσεις nbco_or() και  ntco_or() να μη διαβάζουν τιμές και να μην εκτυπώνουν αποτελέσματα.

Για την επιστροφή των συντεταγμένων από τις συναρτήσεις να μη χρησιμοποιηθούν πίνακες.

Βοηθητικές παρατηρήσεις:

Η συνάρτηση nbco_or() να συνταχθεί κατάλληλα έτσι ώστε η νέα θέση του βλήματος να είναι πάντα πιο κοντά στο στόχο από την προηγούμενη. Αυτή η απαίτηση δεν υπάρχει για τη συνάρτηση ntco_or().

Η νέα θέση του στόχου είναι γνωστή για τη συνάρτηση nbco_or() ενώ για τη συνάρτηση ntco_or() είναι γνωστή μόνο η προηγούμενη θέση του βλήματος.

Για την παραγωγή των τυχαίων αριθμών να χρησιμοποιήσετε τη συνάρτηση βιβλιοθήκης rand() ή άλλη αντίστοιχή του μεταγλωττιστή που χρησιμοποιείτε. Η rand() δε δέχεται ορίσματα και σε κάθε κλίση της επιστρέφει έναν νέο τυχαίο ακέραιο θετικό αριθμό στο διάστημα (0, RAND_MAX). Για περισσότερες πληροφορίες συμβουλευτείτε τη βοήθεια του μεταγλωττιστή σας.
« Last Edit: May 05, 2013, 20:59:10 pm by Ψώφυα Ψήρα » Logged

Don't talk, act. Don't say, show. Don't promise, prove.
airguitar
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 1395


View Profile
Re: [Δομημένος Πρ.]Εργασία D
« Reply #1 on: April 18, 2013, 22:25:15 pm »

Μας αφησε την εβδομαδα της προοδου κενη ?? γιατι βλεπω η προθεσμια ειναι μεχρι 12/5(πως και ετσι  Tongue)
Logged
airguitar
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 1395


View Profile
Re: [Δομημένος Πρ.]Εργασία D
« Reply #2 on: April 18, 2013, 22:25:41 pm »

θα την εχουμε για το Πασχα
Logged
TechSupport
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Female
Posts: 538


Sometimes you just need a rr.


View Profile
Re: [Δομημένος Πρ.]Εργασία D
« Reply #3 on: April 18, 2013, 23:53:55 pm »

βασικα δεν εχει να κανει σχεη με την προοδο,καθως κατω απο ομαλες συνθηκες θα ηταν για τις 28/4,αλλα πεφτει Κυριακη των Βαιων και μετα διακοπες για Πασχα και δεν νομιζω πως θα κατσει καποιος να την κανει αυτες τις μερες!  Wink
Logged
zidan
Θαμώνας
****
Gender: Male
Posts: 305


FREEEEDOME


View Profile
Re: [Δομημένος Πρ.]Εργασία D
« Reply #4 on: April 28, 2013, 20:30:38 pm »

Δυναμική δέσμευση έχει κάνει (στη ύλη ενοώ)????????
Logged
George_RT
Veteran
Εθισμένος στο ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 839



View Profile
Re: [Δομημένος Πρ.]Εργασία D
« Reply #5 on: May 01, 2013, 22:40:56 pm »

Quote from: zidan on April 28, 2013, 20:30:38 pm
Δυναμική δέσμευση έχει κάνει (στη ύλη ενοώ)????????
Δεν είμαι 100% σίγουρος αλλά δεν έχει κάνει .

Για την άσκηση δεν νομίζω να χρειάζεται κιόλας 
Logged
pavlosmk
Νεούλης/Νεούλα
*
Posts: 41


View Profile
Re: [Δομημένος Πρ.]Εργασία D
« Reply #6 on: May 05, 2013, 20:50:47 pm »

πως γινεται να μην χρησιμοποιησουμε ουτε γενικες μεταβλητες ουτε πινακες για να επιστρεψουμε τις νεες συντεταγμες απ τις συναρτησεις??
πως θα τις επιστρεψουμε αφου μπορουμε να βαλουμε μονο μια τιμη στο return.. ?? :/
Logged
AckermanMik
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1627

Όμορφη μικρή κουκλίτσα


View Profile
Re: [Δομημένος Πρ.]Εργασία D
« Reply #7 on: May 05, 2013, 20:52:40 pm »

pointers
Logged

Quote from: opcode on September 26, 2015, 16:01:50 pm
Μια χαρά βγαίνουν όλα ... αν έχεις όρεξη για διάβασμα φυσικά. Ααα και Ευφυή Συστήματα Ρομπότ μην ξεχάσεις. Σπανίως βλέπεις τα δύο σμαράγδια της σχολής να διδάσκουν μαζί ένα μάθημα αυτομάτου ελέγχου. Είναι σαν να σου διδάσκει αρχιτεκτονική υπολογιστών ο Turing με τον Von Neumann.  Cheesy
pavlosmk
Νεούλης/Νεούλα
*
Posts: 41


View Profile
Re: [Δομημένος Πρ.]Εργασία D
« Reply #8 on: May 05, 2013, 22:46:21 pm »

οχχχ το φανταστικα..σαν πινακας δεν ειναι ομως αυτο???
ή πως τελοσπαντων το κανεις με pointers?
Logged
George_RT
Veteran
Εθισμένος στο ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 839



View Profile
Re: [Δομημένος Πρ.]Εργασία D
« Reply #9 on: May 05, 2013, 23:05:13 pm »

Όταν έχεις void συνάρτηση δεν μπορείς να επιστρέψεις τιμές με το return για αυτό χρησιμοποιούμε τους pointers.
Οχι οι pointers δεν είναι πίνακες !
Logged
nikitas350
Καταξιωμένος/Καταξιωμένη
***
Posts: 201



View Profile
Re: [Δομημένος Πρ.]Εργασία D
« Reply #10 on: May 05, 2013, 23:30:46 pm »

Quote from: pavlosmk on May 05, 2013, 22:46:21 pm
οχχχ το φανταστικα..σαν πινακας δεν ειναι ομως αυτο???
ή πως τελοσπαντων το κανεις με pointers?

Code:
#include "stdio.h"

void fun(int* sum, int a, int b) {
     *sum = a + b;
}

int main() {
     int result, x, y;
     x = 1;
     y = 3;

     fun(&result, x, y);
    
     printf("%d", result);
    
     return 0;
}
Logged
alexampa
Νεούλης/Νεούλα
*
Posts: 49



View Profile
Re: [Δομημένος Πρ.]Εργασία D
« Reply #11 on: May 06, 2013, 02:03:28 am »

"Ο στοχος αλλαζει κι αυτος θεση προσθετοντας ή αφαιρώντας απο εναν τυχαιο αριθμο στις συντεταγμενες της θεσης του."

Μια ερωτηση μονο: με βαση ποιο κριτηριο καποιες φορες θα προσθετουμε και αλλες φορες θα αφαιρούμε??
[Αν και,ακομα κι αν κανουμε μονο το ενα απο τα δυο (δηλαδη μονο προσθετουμε ή μονο αφαιρουμε) το προγραμμα θα δουλευει και παλι κανονικα,παρ'ολο που ο στοχος θα κινειται προς μια μονο κατευθυνση (αυξησης ή αντιστοιχα μειωσης των τιμων των συντεταγμενων του).]
Logged
AckermanMik
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1627

Όμορφη μικρή κουκλίτσα


View Profile
Re: [Δομημένος Πρ.]Εργασία D
« Reply #12 on: May 06, 2013, 09:58:14 am »

Εγώ στην αρχή προσθέτω τον αριθμό. Αν είναι δεκτός είμαι οκ, αλλιώς τον αφαιρώ. Αλλιώς ξανακάνω ραντ
Logged

Quote from: opcode on September 26, 2015, 16:01:50 pm
Μια χαρά βγαίνουν όλα ... αν έχεις όρεξη για διάβασμα φυσικά. Ααα και Ευφυή Συστήματα Ρομπότ μην ξεχάσεις. Σπανίως βλέπεις τα δύο σμαράγδια της σχολής να διδάσκουν μαζί ένα μάθημα αυτομάτου ελέγχου. Είναι σαν να σου διδάσκει αρχιτεκτονική υπολογιστών ο Turing με τον Von Neumann.  Cheesy
TechSupport
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Female
Posts: 538


Sometimes you just need a rr.


View Profile
Re: [Δομημένος Πρ.]Εργασία D
« Reply #13 on: May 06, 2013, 18:56:15 pm »

Η ραντ ειναι με #include <stdlib.h>? Undecided
Logged
George_RT
Veteran
Εθισμένος στο ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 839



View Profile
Re: [Δομημένος Πρ.]Εργασία D
« Reply #14 on: May 06, 2013, 19:16:08 pm »

Quote from: poulaki_tsiou on May 06, 2013, 18:56:15 pm
Η ραντ ειναι με #include <stdlib.h>? Undecided
Εγώ και χωρίς βιβλιοθήκη που έγραψα rand(); δουλεύει ! .
Logged
Pages: [1] 2 3 Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...