Πρόβλημα σε άσκηση

Ξεκίνησε από Georgia98, 05 Μαρ 2015, 12:08:24 ΠΜ

« προηγούμενο - επόμενο »

Georgia98

Να συμπληρώσετε τα κενά στο παρακάτω τμήμα αλγορίθμου έτσι ώστε μετά την εκτέλεσή του να εμφανιστούν οι τιμές:
-1, 2, -3, 4, -5, 6, -7

Για i από ........ μέχρι .........
Αν ................................... Τότε

Εμφάνισε ............

Αλλιώς

Εμφάνισε .............

Τέλος_αν
Τέλος_επανάληψης

Μου έχει δοθεί αυτή η άσκηση αλλά προβληματίζομαι να την λύσω. Έλυσα κάποιες παρόμοιας μορφής την περασμένη εβδομάδα, αλλά ήταν πιο απλές. Νομίζω ότι κάποιο μπέρδεμα κάνω στις μεταβλητές, αλλά δεν είμαι σίγουρη. Μπορεί κάποιος να βοηθήσει;

petrosp13

Παρατήρησε ότι εμφανίζονται εναλλάξ αρνητικοί και θετικοί αριθμοί
Φαντάσου ότι έχεις να εμφανίσεις τους αριθμούς 1,2,3,4,5,6,7
Δες ποιοι αριθμοί εμφανίζονται σαν αρνητικοί, σκέψου τι ισχύει για αυτούς και συμπλήρωσε τα κενά...
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

Georgia98

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

Το πρώτο βήμα είναι (αν δεν κάνω λάθος): "Για i από 1 μέχρι 7" Μετά το χάνω στην συνθήκη.

petrosp13

Το i είναι ουσιαστικά οι αριθμοί που πρέπει να εμφανίσεις είτε σαν θετικούς, είτε σαν αρνητικούς
Εξαρτάται από το αν είναι άρτιο ή περιττό το i
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

Georgia98

Δηλαδή η μόνη μεταβλητή θα είναι η i;

tdrivas

Παράθεση από: Georgia98 στις 05 Μαρ 2015, 12:34:59 ΠΜ
Δηλαδή η μόνη μεταβλητή θα είναι η i;

ναι, οπότε εμφάνισε το i και τρέξε την άσκηση..μόλις δεις τα αποτελέσματα θα καταλάβεις τι πρέπει να αλλάξεις (θα κάνεις μια πολύ μικρή αλλαγή...)
Thanassis Drivas
BSc in Computer Science
MSc in Space Science Applications and Technologies
https://github.com/tdrivas

petrosp13

Αφού το i εκφράζει τους αριθμούς που χρειάζεσαι, ναι
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

Georgia98

Συγγνώμη που σας ζαλίζω αλλά εξακολουθώ να κάνω λάθος στις συνθήκες που δοκιμάζω και ή μου εμφανίζουν συνεχώς τον ίδιο αριθμό
ή ο αλγόριθμος δεν έχει τέλος. :-\ Ενδεικτικά η τελευταία προσπάθειά μου:

Αλγόριθμος Ακολουθία
Για i από 1 μέχρι 7
   Αν i>0 τότε
      i←i+1
      i←i*(-1)
      Εμφάνισε i
      αλλιώς
         Εμφάνισε i
   Τέλος_αν
   Τέλος_επανάληψης
Τέλος Ακολουθία      

Έχω δοκιμάσει πολλές διαφορετικές εκδοχές αλλά ποτέ δεν πετυχαίνω το επιθυμητό αποτέλεσμα.

petrosp13

Κατ'αρχάς, δεν επιτρέπεται να αλλάζεις τιμή στον μετρητή της επανάληψης (i) μέσα στην επανάληψη
Το i έχει τις τιμές που πρέπει, δεν χρειάζεται να του αλλάζεις τιμή. Μην ξεχνάς ότι μπορείς να χρησιμοποιείς εκφράσεις στην εντολή Εμφάνισε. Π.χ. Εμφάνισε i*(-1)
Κατά δεύτερο, ανέφερες ότι παίζει ρόλο η άρτια ή περιττή τιμή που έχει το i
Το χρησιμοποίησες κάπου αυτό;
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

Georgia98

Τώρα κάτι μου λέει ότι βρίσκομαι κοντά αλλά βγάζει άλλα νούμερα

Αλγόριθμος Ακολουθία
Για i από 1 μέχρι 7
   Αν i>0 και i mod 2 = 0 τότε
      Εμφάνισε (i+1)*(-1)
      αλλιώς
         Εμφάνισε i+1
   Τέλος_αν
   Τέλος_επανάληψης
Τέλος Ακολουθία      

petrosp13

Πειραματίσου λίγο ακόμα
Εφόσον οι αριθμοί σου είναι από 1 μέχρι 7, ποιος ο λόγος να χρησιμοποιείς i+1;
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

Georgia98

Νομίζω το έλυσα:

Αλγόριθμος Ακολουθία
Για i από 1 μέχρι 7
   Αν i>0 και i mod 2 = 0 τότε
      Εμφάνισε i*(-1)
      αλλιώς
         Εμφάνισε i
   Τέλος_αν
   Τέλος_επανάληψης
Τέλος Ακολουθία         

Ευχαριστώ για τη βοήθειά σας  :)

tdrivas

Παράθεση από: Georgia98 στις 05 Μαρ 2015, 02:09:34 ΠΜ
Νομίζω το έλυσα:

Αλγόριθμος Ακολουθία
Για i από 1 μέχρι 7
   Αν i>0 και i mod 2 = 0 τότε
      Εμφάνισε i*(-1)
      αλλιώς
         Εμφάνισε i
   Τέλος_αν
   Τέλος_επανάληψης
Τέλος Ακολουθία         

Ευχαριστώ για τη βοήθειά σας  :)


είσαι πολύ κοντά..δύο παρατηρήσεις:
1. στους άρτιους ή στους περιττούς θα βάλεις τον τελεστή - ? (τελικά το mod2=0 τί δείχνει?)
2. Περιττή συνθήκη το i>0 (αφού εσύ η ίδια ορίζεις ότι το ι παίρνει τις τιμές 1,2,3...7. Το γεγονός ότι βάζεις - στο Εμφάνισε δεν αλλάζει την τιμή του i.
Thanassis Drivas
BSc in Computer Science
MSc in Space Science Applications and Technologies
https://github.com/tdrivas