ΑΣΚΗΣΗ ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ

Ξεκίνησε από dionmiha, 09 Οκτ 2013, 12:35:51 ΜΜ

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

Συνδεδεμένες εκδηλώσεις

dionmiha

Καλησπέρα σε όλους,

Θα ήθελα τη γνώμη σας για τη λύση που δίνω σε αυτή την άσκηση γιατί θα σκάσω. Έχω κολλήσει με το μετρητή. Το τρέχω στη ΓΛΩΣΣΑ και παρατηρώ δίπλα στις μεταβλητές ότι το Ι φτάνει μέχρι  και το 31. Γενικά ο μισθός και το ημερομίσθιο (λογικά πάντα) βγαίνουν σωστά (έχοντας βάλει λιγότερες ημέρες για να μπορέσω να το υπολογίσω βέβαια), αλλά ο μετρητής θα πάει +1 κάθε φορά.

"Κάποιος νεαρός οικονομολόγος πήγε για συνέντευξη σε μια εταιρεία που πρόσφερε μια θέση που τον ενδιέφερε. Στην διάρκεια της συνένετεξης ο υπεύθυνος της εταιρείας του είπε ότι λόγω κάποιων οικονομικών προβλημάτων ο ανώτερος μισθός που μπορεί να του προσφέρει είναι 1220 € καθαρά. Ο οικονομολόγος του είπε ότι θα ήταν ικανοποιημένος αν απλά του έδιναν 1 λεπτό τη πρώτη ημέρα  του μήνα, 2 λεπτά τη δεύτερη, 4 λεπτά τη τρίτη, 8 λεπτά τη τέταρτη κοκ. Την πρώτη μέρα του επόμενου μήνα θα ξεκινούσε να πληρώνεται πάλι με 1 λέπτο κλπ. Ακόμα δήλωσε ότι ήταν διαθετιμένος να πληρώνει ο ίδιος τις ασφαλιστικές του εισφορές που ανέρχονταν στο ύψος των 230 € το μήνα. Μόνος όρος που έβαλε ήταν να δουλέχει τουλάχιστον ένα μήνα. Ο υπεύθυνος ενθουσιάστηκε, δέχτηκε τη προσφορά του και τον προσέλαβε άμεσα. Να γίνει ο αλγόριθμος που θα υπολογίζει ποιος τελικά βγήκε κερδισμένος. Επιπλέον να υπολογίζει το ημερομίσθιο που θα πάρει τη τριακοστή μέρα του μήνα καθώς και το συνολικό μηνιαίο μισθό. Θεωρείστε ότι ο μήνας έχει 30 μέρες."

Αλγόριθμος ΟΙΚΟΝΟΜΟΛΟΓΟΣ
ΗΜΕΡΟΜΙΣΘΙΟ ← 0.01
ΜΙΣΘΟΣ ← 0.01
Για Ι από 2 μέχρι 30
  ΗΜΕΡΟΜΙΣΘΙΟ ← ΗΜΕΡΟΜΙΣΘΙΟ* 2
  ΜΙΣΘΟΣ ← ΜΙΣΘΟΣ + ΗΜΕΡΟΜΙΣΘΙΟ
Τέλος_επανάληψης
ΤΕΛΙΚΟΣ_ΜΙΣΘΟΣ ← ΜΙΣΘΟΣ - 230
Αν (ΜΙΣΘΟΣ > 1220) τότε
  Εμφάνισε "ΒΓΗΚΕ ΚΕΡΔΙΣΜΕΝΟΣ Ο ΥΠΑΛΛΗΛΟΣ"
αλλιώς
  Εμφάνισε "ΒΓΗΚΕ ΚΕΡΔΙΣΜΕΝΟΣ Ο ΥΠΕΥΘΥΝΟΣ ΤΗΣ ΕΤΑΙΡΕΙΑΣ"
Τέλος_αν
Εμφάνισε ΜΙΣΘΟΣ, ΗΜΕΡΟΜΙΣΘΙΟ, Ι
Τέλος ΟΙΚΟΝΟΜΟΛΟΓΟΣ

Ευχαριστώ!!

nikolasmer

Σωστό είναι. ;)
(Στην ουσία πρόκειται για γεωμετρική πρόοδο με λόγο 2)
Παράθεση από: dionmiha στις 09 Οκτ 2013, 12:35:51 ΜΜ
Θα ήθελα τη γνώμη σας για τη λύση που δίνω σε αυτή την άσκηση γιατί θα σκάσω. Έχω κολλήσει με το μετρητή. Το τρέχω στη ΓΛΩΣΣΑ και παρατηρώ δίπλα στις μεταβλητές ότι το Ι φτάνει μέχρι  και το 31. Γενικά ο μισθός και το ημερομίσθιο (λογικά πάντα) βγαίνουν σωστά (έχοντας βάλει λιγότερες ημέρες για να μπορέσω να το υπολογίσω βέβαια), αλλά ο μετρητής θα πάει +1 κάθε φορά.
Η Για...απο...μέχρι έτσι δουλεύει. Τελευταία αυξάνεται (ή μειώνεται) ο μετρητής κατά το βήμα και έπειτα ελέγχεται η συνθήκη .
Μερεντίτης Νικόλαος
Πληροφορικός

gpapargi

Παράθεση από: dionmiha στις 09 Οκτ 2013, 12:35:51 ΜΜ
Καλησπέρα σε όλους,

Θα ήθελα τη γνώμη σας για τη λύση που δίνω σε αυτή την άσκηση γιατί θα σκάσω. Έχω κολλήσει με το μετρητή. Το τρέχω στη ΓΛΩΣΣΑ και παρατηρώ δίπλα στις μεταβλητές ότι το Ι φτάνει μέχρι  και το 31. Γενικά ο μισθός και το ημερομίσθιο (λογικά πάντα) βγαίνουν σωστά (έχοντας βάλει λιγότερες ημέρες για να μπορέσω να το υπολογίσω βέβαια), αλλά ο μετρητής θα πάει +1 κάθε φορά.

"Κάποιος νεαρός οικονομολόγος πήγε για συνέντευξη σε μια εταιρεία που πρόσφερε μια θέση που τον ενδιέφερε. Στην διάρκεια της συνένετεξης ο υπεύθυνος της εταιρείας του είπε ότι λόγω κάποιων οικονομικών προβλημάτων ο ανώτερος μισθός που μπορεί να του προσφέρει είναι 1220 € καθαρά. Ο οικονομολόγος του είπε ότι θα ήταν ικανοποιημένος αν απλά του έδιναν 1 λεπτό τη πρώτη ημέρα  του μήνα, 2 λεπτά τη δεύτερη, 4 λεπτά τη τρίτη, 8 λεπτά τη τέταρτη κοκ. Την πρώτη μέρα του επόμενου μήνα θα ξεκινούσε να πληρώνεται πάλι με 1 λέπτο κλπ. Ακόμα δήλωσε ότι ήταν διαθετιμένος να πληρώνει ο ίδιος τις ασφαλιστικές του εισφορές που ανέρχονταν στο ύψος των 230 € το μήνα. Μόνος όρος που έβαλε ήταν να δουλέχει τουλάχιστον ένα μήνα. Ο υπεύθυνος ενθουσιάστηκε, δέχτηκε τη προσφορά του και τον προσέλαβε άμεσα. Να γίνει ο αλγόριθμος που θα υπολογίζει ποιος τελικά βγήκε κερδισμένος. Επιπλέον να υπολογίζει το ημερομίσθιο που θα πάρει τη τριακοστή μέρα του μήνα καθώς και το συνολικό μηνιαίο μισθό. Θεωρείστε ότι ο μήνας έχει 30 μέρες."

Αλγόριθμος ΟΙΚΟΝΟΜΟΛΟΓΟΣ
ΗΜΕΡΟΜΙΣΘΙΟ ← 0.01
ΜΙΣΘΟΣ ← 0.01
Για Ι από 2 μέχρι 30
  ΗΜΕΡΟΜΙΣΘΙΟ ← ΗΜΕΡΟΜΙΣΘΙΟ* 2
  ΜΙΣΘΟΣ ← ΜΙΣΘΟΣ + ΗΜΕΡΟΜΙΣΘΙΟ
Τέλος_επανάληψης
ΤΕΛΙΚΟΣ_ΜΙΣΘΟΣ ← ΜΙΣΘΟΣ - 230
Αν (ΜΙΣΘΟΣ > 1220) τότε
  Εμφάνισε "ΒΓΗΚΕ ΚΕΡΔΙΣΜΕΝΟΣ Ο ΥΠΑΛΛΗΛΟΣ"
αλλιώς
  Εμφάνισε "ΒΓΗΚΕ ΚΕΡΔΙΣΜΕΝΟΣ Ο ΥΠΕΥΘΥΝΟΣ ΤΗΣ ΕΤΑΙΡΕΙΑΣ"
Τέλος_αν
Εμφάνισε ΜΙΣΘΟΣ, ΗΜΕΡΟΜΙΣΘΙΟ, Ι
Τέλος ΟΙΚΟΝΟΜΟΛΟΓΟΣ

Ευχαριστώ!!

Για να καταλάβεις καλά τη λειτουργία της Για και ειδικά τις τιμές που παίρνει ο μετρητής κάνε τη μετατροπή της σε Όσο. Θα δεις ότι η

Για ι από 2 μέχρι 30

μετατρέπεται σε
ι<--2
Όσο ι<=30 επανάλαβε
...
...
ι<--ι+1
Τέλος_επανάληψης

Αν το εκτελέσεις θα δεις ότι η τιμή του μετρητή φτάνει στο 31. Μετά ελέγχεται η συνθήκη και βγαίνει έξω από τη Για.
Να πω επίσης ότι μπορείς να χρησιμοποιήσεις και τον τύπο αθροίσματος της γεωμετρικής προόδου. Είναι ταχύτερος αλγόριθμος και δείχνει ότι στην πληροφορική χρησιμοποιείται η μαθηματική γνώση.

dionmiha

Το έκανα όπως είπες και τώρα το κατάλαβα.  Όσον αφορά για το άθροισμα γεωμετρικής προόδου δεν έχεις άδικο. Θα το κάνω και με αυτό το τρόπο...  8)

Ευχαριστώ πολύ!