Προς το περιεχόμενο

βοηθεια αρχαριος


georgefa

Προτεινόμενες αναρτήσεις

γεια σας παιδια παλι εγω αν μπορει καποιος ας βοηθησει. θελω να κανω το παρακατω προγραμμα σε q basic<P>Τα εισαγόμενα δεδομένα αποτελούνται από εγγραφές που περιέχουν το όνομα του παίχτη του φουτμπώλ τη τηέση του, τη συχνότητα μεταφοράς της μπάλας και τις συνολικές αποκτηθείσες γυάρδες. τα εισαγόμενα δεδομένα είναι τα παρακάτω.<BR> <BR> ΣΥΧΝΟΤΗΤΑ ΑΠΟΚΤΗΘΕΙΣΕΣ <BR>ΟΝΟΜΑΤΕΠΟΝΥΜΟ ΘΕΣΗ ΜΕΤΑΦΟΡΑΣ ΓΥΑΡΔΕΣ <BR>FANAR QB 3 39<BR>BOYKIA RB 38 231<BR>KOSTAS RB 59 326<BR>NIKOS RB 19 64<P>τα εξαγόμενα αποτελέσματα είναι μία λίστα των παιχτών που περιέχει το όνομα τους,τη θέ ση τους τη συχνότητα μεταφοράς της μπάλας τις αποκτηθείσες γυάρδες και το μέσο όρο των γυαρδών ανα μεταφορά. ο μέσος όρος των γυαρδών υπολογίζεται διαιρώντας τις αποκτηθείσες γυάρδες και το μέσο όρο των γυαρδών ανα μεταφορά.<BR> <BR> ΜΕΣΟΣ ΟΡΟΣ <BR> ΣΥΧΝΟΤΗΤΑ ΑΠΟΚΤΗΘΕΙΣΕΣ ΥΑΡΔΩΝ ΑΝΑ<BR> ΟΝΟΜΑΤΕΠΟΝΥΜΟ ΘΕΣΗ ΜΕΤΑΦΟΡΑΣ ΓΥΑΡΔΕΣ ΜΕΤΑΦΟΡΑ<BR> FANAR QB 3 39 13.00<BR>BOYKIA RB 38 231 6.08<BR>KOSTAS RB 59 326 5.53 <BR>NIKOS RB 19 64 3.37<P> ΣΥΝΟΛΙΚΟΙ ΠΑΙΚΤΕΣ 4<BR> ΣΥΝΟΛΙΚΕΣ ΑΠΟΚΤΗΘΕΙΣΕΣ ΓΥΑΡΔΕΣ 660 ΓΥΑΡΔΕΣ<BR> ΜΕΣΟΣ ΟΡΟΣ ΓΥΑΡΔΩΝ ΑΝΑ ΜΕΤΑΦΟΡΑ 5.55 ΥΑΡΔΕΣ <BR>αυτο που δεν μπορω να κανω πωσ θα βγαλω τον μεσο ορο γυαρδων ανα μεταφορα δινω παρακατω τισ εντολεσ που εγραψα<BR>100 REM<BR>110 DATA "JIM FANAR", "QB", 3, 39<BR>120 DATA "XRISTOF","RB", 38, 231<BR>130 DATA "BOYKI", "RB", 59, 326<BR>140 DATA "ALEX", "FB", 19, 64<BR>150 DATA "TELOS ARXEIOY","TELOS", 99, 999<BR>160 REM<BR>161 LET T1 = 0<BR>162 LET T2 = 0<BR>170 PRINT F1$ = "\ \ \ ###\ ###\##.##\"<BR>180 PRINT F2$ = "SYNOLIKOI PAIXTES ###"<BR>190 PRINT F3$ = "SYNOLIKES APOKTHUEISES GYARDES ### GYARDES"<BR>200 PRINT F4$ = "MESOS OROS GYARDON ANA METAFORA ### GYARDES"<BR>210 PRINT TAB(18); "POLEMISTES THS ATLANTA"<BR>220 PRINT TAB(24); "MESOS OROS"<BR>230 PRINT " SYXNOTHS APOKTHUEISES GYARDON ANA"<BR>240 PRINT "ONOMATEPONYMO THESH METAFORAS GYARDES METAFORA"<BR>250 PRINT " "<BR>260 READ N$,T$,C,A,<BR>270 IF N$ = "TELOS ARXEIOY" THEN<BR>αν μπορει καποιος ας βοηθησει ευχαριστω

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν ξέρω αν κατάλαβα καλά την ερώτησή σου αλλά για να βγάλεις το μέσο όρο ανά παίχτη το μόνο που έχεις να κάνεις είναι να διαιρέσεις τις συνολικές γυάρδες με τη συχνότητα μεταφοράς της μπάλας. Αυτό γίνεται με το παρακάτω<P><BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">code:</font><HR><pre><BR>166 LET average = 0<BR>280 average = A / C<BR>290 PRINT N$,T$,C,A, average<BR></pre><HR></BLOCKQUOTE><P> To παραπάνω θα έχει ως αποτέλεσμα να εκτυπώνοντε κάθε φορά τα δεδομένα και ο μέσος όρος όπως για παράδειγμα<P>FANAR QB 3 39 13.00<BR>BOYKIA RB 38 231 6.08<P>κοκ.<P> Για να βρεις το συνολικό αριθμό γυάρδων θα πρέπει να έχει μία μεταβλητή που να τα συναθροίζει όλα. Αυτή η μεταβλητή θα πρέπει να είναι δηλωμένη κάπου στην αρχή. Π.χ.<P><BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">code:</font><HR><pre><BR>163 LET totalYards = 0<BR></pre><HR></BLOCKQUOTE><P> Σε αυτή θα συναθροίζεις κάθε φορά το συνολικό άθροισμα των γυάρδων...<P><BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">code:</font><HR><pre><BR>300 totalYards = totalYards + A<BR></pre><HR></BLOCKQUOTE><P> Το παραπάνω θα τοποθετεί κάθε φορά το άθροισμα στη μεταβλητή totalYards.<P> Επίσης μπορείς να έχεις μία μεταβλητή που λέγεται players και που θα μετράει τον αριθμό των παιχτών. Μπορείς να βάλεις ακόμα μία που λέγεται passes και που κρατάει το συνολικό αριθμών περασμάτων της μπάλας. Και οι δύο πρέπει να είναι δηλωμένες κάπου<P><BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">code:</font><HR><pre><BR>164 LET players = 0<BR>165 LET passes = 0<BR></pre><HR></BLOCKQUOTE><P> Ανάλογα με το τι θέλεις να κάνεις θα προσθέτεις και τον κατάλληλο αριθμό:<P><BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">code:</font><HR><pre><BR>310 players = players + 1<BR>320 passes = passes + C<BR></pre><HR></BLOCKQUOTE><P> Στο παραπάνω προσθέτεις ένα κάθε φορά στους παίχτες και τον αριθμό των περασμάτων του κάθε παίχτη στην μεταβλητή των περασμάτων. Έτσι όταν διαβάσεις το "TELOS ARXEIOY" η players θα κρατάει τον αριθμό των παιχτών (4 στην περίπτωσή μας) και η passes τοπν αριθμό των περασμάτων.<P> Αφού τελειώνεις να διαβάζεις και να κάνεις τις πράξεις για κάθε παίχτη, πρέπει να πεις το πρόγραμμά σου τι να κάνει. Από τη στιγμή πυο έχεις και άλλους παίχτες (δηλαδή δεν έχουμε φτάσει ακόμα στο "TELOS ARXEIOY") πρέπει να διαβάσεις και τα υπόλοιπα δεδομένα. Οπότε πρέπει να πεις το πρόγραμμά σου ν αξανακάνει το ίδιο πράγμα. Αυτό επιτυγχάνεται με ένα <P><BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">code:</font><HR><pre><BR>330 GOTO 260<BR></pre><HR></BLOCKQUOTE><P> Από τι στιγμή που δεν έχεις άλλα δεδομένα να διαβάσεις (δηλαδή διαβάζεις το "TELOS ARXEIOY") τότε μπορείς να πεις το πρόγραμμα σου ότι δεν υπάρχουνε άλλα δεδομένα και μπορείς να κάνεις τις απαραίτητες πράξεις. Έτσι λοιπόν η 270 IF N$ = "TELOS ARXEIOY" THEN γίνεται<P><BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">code:</font><HR><pre><BR>270 IF N$ = "TELOS ARXEIOY" THEN 340<BR></pre><HR></BLOCKQUOTE><P> και η 340 γραμμή γίνεται<P><BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">code:</font><HR><pre><BR>340 PRINT "SYNOLIKOI PAIXTES ", players<BR>350 PRINT "SYNOLIKES GYARDES ", totalYards, " GYARDES"<BR>360 LET av = totalYards / passes<BR>370 PRINT "MESOS OROS GYARDWN ANA METAFORA ", av, " GYARDES<BR>380 END<BR></pre><HR></BLOCKQUOTE><P> Στη γραμμή 360 υπολογίζεις το μέσο όρο γυάρδων ανά μεταφορά. <P> Η σύνταξη μου πρέπει να είναι λάθος (ιδιαίτερα στις εντολές PRINT) αλλά ελπίζω να έπιασες το νόημα.<p>[ 10-12-2001: Message edited by: Γηριόνης ]

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

file moy pali ego dystyxos den katafera na kano tipota me ton tropo poy moy edeikses tora to ekana ligo diaforetika an theleis i kapoios allos as to treksei na moy pei tin gnomi toy tora den moy typonei ta dedomena

100 REM

110 DATA "JIM FANAR", "QB", 3, 39

120 DATA "XRISTOF","RB", 38, 231

130 DATA "BOYKI", "RB", 59, 326

140 DATA "ALEX", "FB", 19, 64

150 DATA "TELOS ARXEIOY","TELOS", 99, 999,

160 IF N$ = "TELOS ARXEIOY" THEN 210

170 LET average = 0

180 READ N$, T$, A, C

190 GOTO 160

200 average = A / C

210 PRINT N$, T$, C, A, average

220 LET t1 = 0

230 LET t2 = 0

240 LET t3 = O

250 PRINT TAB(18); "POLEMISTES THS ATLANTA"

260 PRINT TAB(51); "MESOS OROS"

270 PRINT " SYXNOTHS APOKTHEISES GYARDON ANA"

280 PRINT "ONOMATEPONYMO THESH METAFORAS GYARDES METAFORA"

290 PRINT " "

300 LET F1$ = "\ \ \###\### \##.##"

310 LET F2$ = "SYNOLIKOI PAIXTES ###"

320 LET f3$ = "MESOS OROS APOKTHTHISES GYARDES ### GYARDES"

330 LET f4$ = "MESOS OROS YARDON ANA METAFORA ### GYARDES"

340 LET t1 = t1 + 1

350 LET t2 = t2 + A

360 LET t3 = t3 + 1

370 PRINT USING F2$; t1

380 PRINT USING f3$; t2

390 PRINT USING f4$; t3

400 PRINT " "

410 END

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καλά δε χρειάζεται να το τρέξω, μου φαίνεται ότι ξέρω που είναι το λάθος σου. Όλες οι πράξεις συναθροισμού που κάνεις πρέπει να περικλείοντε στις γραμμές του GOTO. Αυτό που κάνεις εσύ είναι να καταυθύνεις τη ροή του προγράμματός σου χωρίς να κάνεις πράξεις. Κάθε φορά που το GOTO πηγαίνε στην αρχή το μόνο που κάνει είναι να διαβάζει τα δεδομένα και όχι να τα συναθροίζει στα υπόλοιπα. Αν κοιτάξεις το παράδειγμά μου πιο πάνω θα δεις ότι όλες οι πράξεις γίνοντε ανάμεσα στη γραμμή που είναι η GOTO και στη γραμμή που πηγαίνει κάθε φορά. Π.χ. αν η GOTO είναι στη γραμμή 200 και σε πηγαίνει στην 100 τότε όλοι οι υπολογισμοί συναθροίσματος (εκτός των τελικών) πρέπει να γίνοντε μεταξύ των γραμμών 100 και 200. Έτσι λοιπόν το πρόγραμμά σου γίνεται<p><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">code:</font><hr><pre>

100 REM

110 DATA "JIM FANAR", "QB", 3, 39

120 DATA "XRISTOF","RB", 38, 231

130 DATA "BOYKI", "RB", 59, 326

140 DATA "ALEX", "FB", 19, 64

150 DATA "TELOS ARXEIOY","TELOS", 99, 999,

151 LET average = 0

152 LET t1 = 0

153 LET t2 = 0

154 LET t3 = 0

160 READ N$, T$, A, C

170 IF N$ = "TELOS ARXEIOY" THEN 250

180 average = C / A

181 PRINT N$; T$; A; C; average

182 t1 = t1 + 1

183 t2 = t2 + A

184 t3 = t3 + C

190 GOTO 160

250 PRINT TAB(18); "POLEMISTES THS ATLANTA"

260 PRINT TAB(51); "MESOS OROS"

270 PRINT " SYXNOTHS APOKTHEISES GYARDON ANA"

280 PRINT "ONOMATEPONYMO THESH METAFORAS GYARDES METAFORA"

290 PRINT " "

300 LET F1$ = "\ \ \###\### \##.##"

310 LET F2$ = "SYNOLIKOI PAIXTES ###"

320 LET f3$ = "SYNOLIKES APOKTHTHISES GYARDES ### GYARDES"

330 LET f4$ = "MESOS OROS YARDON ANA METAFORA ### GYARDES"

350 LET yardAverage = t3 / t2

370 PRINT USING F2$; t1

380 PRINT USING f3$; t3

390 PRINT USING f4$; yardAverage

400 PRINT " "

410 END

</pre><hr></blockquote><p> Όπως βλέπεις οι προσθέσεις πρέπει να γίνοντε για κάθε αριθμό. Από τη στιγμή που το GOTO γίνεται μέχρι να μην υπάρχουνε άλλα δεδομένα, τότε οι αριθμοί πρέπει να προσθέτοντε εφόσον ισχύει το GOTO. Από τη στιγμή που το GOTO δεν ισχύει άλλο τότε το μόνο που μας μένει είναι να τυπώσουμε το αποτέλεσμα και να βγάλουμε τον τελικό μέσο όρο.<p> Ελπίζω να το κατάλαβες....<p>[ 11-12-2001: Message edited by: Γηριόνης ]</p>

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

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

  • Δημιουργία νέου...