ΜΙΑ ΑΣΚΗΣΗ ΜΕ ΔΙΑΜΕΡΙΣΜΑΤΑ ΜΕΣΗΤΙΚΟΥ ΓΡΑΦΕΙΟΥ

Ξεκίνησε από landreou, 30 Μαΐου 2013, 01:34:18 ΜΜ

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

landreou

Γεια σας φίλοι του ΣτΠ.
Καλη επιτυχία σε καθηγητες και μαθητες που έδωσαν .

Μια άσκηση να δώσω για προβληματισμό / απόψεις  / υποδείξεις  / ιδέες / προτεινόμενες λύσεις

Η ΕΚΦΩΝΗΣΗ

Ένα μεσιτικό γραφείο διατηρεί τα ακόλουθα δεδομένα για κάθε διαμέρισμα που διαθέτει προς πώληση:

    Όροφος (1, 2, 3, ...)
    Εμβαδό σε τετραγωνικά μέτρα (τ.μ)
    Αριθμός υπνοδωματίων (1, 2, 3, ...)
    Πυλωτή (ναι/όχι)

Να γίνει πρόγραμμα που:

[1]  Θα ζητάει τα παραπάνω δεδομένα για την εισαγωγή 1000 διαμερισμάτων.
[2]  Θα ζητάει από έναν υπόψήφιο αγοραστή τις προτιμήσεις του: Πόσα τ.μ., πόσα υπνοδωμάτια και σε ποιο όροφο επιθυμεί να βρίσκεται το  διαμέρισμά του.
Ο υπολογιστής θα πρέπει να αναζητεί όλα τα διαμερίσματα που έχει καταχωρημένα και να επιστρέφει ακόμα και εκείνα που έχουν μια μικρή απόκλιση ως προς τα κριτήρια (+/- 30 τ.μ για το εμβαδό, +/- 1 όροφο και +/- 1 υπνοδωμάτιο)
    Τα αποτελέσματα θα πρέπει να επιστρέφονται ταξινομημένα ως προς την ακρίβεια. Δηλαδή ένα διαμέρισμα το οποίο ικανοποιεί πλήρως τα κριτήρια του χρήστη, προηγείται έναντι εκείνου που το εμβαδό του θα αποκλίνει μερικά τ.μ. από το επιθυμητό. Επιπρόσθετα το δεύτερο αυτό διαμέρισμα προηγείται ενός του οποίου γίνεται αναπροσαρμογή και στο εμβαδό και στον όροφο κ.ο.κ

Με το δεύτερο ερώτημα τί εννοεί για την μικρή απόκλιση ;

Μετά στο τέλος λέει  κάτι για αναπροσαρμογή και μπερδεύτηκα τελείως ...




landreou

Καμια ιδέα για την άσκηση ;

( Σιγη Ιχθύος στο ΣτΠ...... )

petrosp13

Χωρίς παρεξήγηση, γιατί πρέπει κάθε άσκηση να έχει ξεχωριστό τόπικ;;;
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

landreou

Για να έχει κάθε τόπικ τα σχόλια αποκλειστικά για αυτό το θέμα
και να φένεται σαν κάτι καινούργιο προς συζήτηση.
Αν είναι να το αλλάξω -ευχαρίστως- αλλά δεν διαγράφεται σαν τόπικ
για να το βάλω μέσα σε κάποιο άλλο.
Υπάρχει τέτοια δυνατότητα ;

landreou

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

Η ΕΚΦΩΝΗΣΗ
Ένας εκδοτικός οίκος χρησιμοποιεί 35 διανομείς για τη διακίνηση των βιβλίων του.
Στο τέλος κάθε μήνα καταγράφονται οι πωλήσεις που πραγματοποιήθηκαν από κάθε διανομέα
ώστε να υπολογιστεί και το μπόνους που θα του αποδοθεί. Είναι ευνόητο ότι οι πωλήσεις
ενός διανομέα σε χρονικό διάστημα ενός μηνός δεν είναι κατ' ανάγκην 30.
Το ποσό του μπόνους υπολογίζεται κλιμακωτά ανάλογα με το ποσό των μηνιαίων πωλήσεων
κάθε διανομέα σύμφωνα με τον παρακάτω πίνακα:

Συνολικές μηνιαίες
πωλήσεις διανομέα (€)        Μπόνους
                                                           %
Μέχρι και 200                                  0
Άνω των 200 μέχρι και 1000         1.5
Άνω των 1000                                   4

Να αναπτύξετε αλγόριθμο που θα επιτελεί τις παρακάτω ενέργειες:
1. Για κάθε διανομέα:
    α. θα διαβάζει το όνομά του και θα το καταχωρεί σε πίνακα Ο καθώς
        και το μηνιαίο βασικό μισθό του και θα το καταχωρεί σε πίνακα Β.
    β. θα διαβάζει επαναληπτικά τα ποσά των πωλήσεων που πέτυχε τον προηγούμενο μήνα
        και θα υπολογίζει τις συνολικές μηνιαίες πωλήσεις.
        Η επαναληπτική διαδικασία θα ολοκληρώνεται όταν εισαχθεί αρνητικός αριθμός ή το μηδέν.
       
    γ. θα υπολογίζει το μπόνους που θα λάβει και θα το εκτυπώνει.
2. Θα δημιουργεί πίνακα Τ, που θα περιέχει τις τελικές μηνιαίες απολαβές κάθε διανομέα.

3. Να εκτυπώνονται τα ονόματα όσων διανομέων είχαν το δεύτερο μεγαλύτερο τελικό μισθό
    μεταξύ των υπαλλήλων του εκδοτικού οίκου.
4. Θα ελέγχει ποιος διανομέας έχει τον υψηλότερο τελικό μισθό που να είναι ταυτόχρονα
    μικρότερος από 600 € και θα εκτυπώνει το όνομά του. Αν δεν υπάρχει τέτοιος,
    να εκτυπώνεται κατάλληλο μήνυμα.
( ΣΕ ΑΥΤΟ ΤΟ ΕΡΩΤΗΜΑ ΔΕΝ ΚΑΤΑΛΑΙΒΑΙΝΩ ΤΙ ΖΗΤΑΕΙ ΚΑΙ ΒΓΑΖΩ ΤΟΝ ΠΡΩΤΟ ΠΟΥ ΕΧΕΙ ΚΑΤΩ ΑΠΟ 600)

ikariofil

Η άσκηση είναι από κάποιο διαγώνισμα του κ. Τσιωτάκη
http://users.sch.gr//ptsiotakis/old/aepp/aepp_diag1.htm
Παραθέτω τη λύση του δημιοργού του προβλήματος


Αλγόριθμος Εκδόσεις
Για i από 1 μέχρι 35
   Διάβασε Ο, Β
   S ← 0
   Διάβασε ποσό
   Όσο ποσό > 0 επανάλαβε
      S ← S + ποσό
      Διάβασε ποσό
   Τέλος_επανάληψης
   Αν S <= 200 τότε
      μπόνους ← 0
   Αλλιώς_αν S <= 1000 τότε
      μπόνους ← (S – 200) * 1.5/100
   Αλλιώς
      μπόνους ← 800 * 1.5/100 + (S – 1000) * 4/100
   Τέλος_αν
   Εκτύπωσε μπόνους
   Τ ← Β + μπόνους
Τέλος_επανάληψης
max ← -1
Για i από 1 μέχρι 35
   Αν Τ < 600 και Τ > max τότε
      max ← Τ
      θ ← i
   Τέλος_αν
Τέλος_επανάληψης
Αν max = -1 τότε
   Εκτύπωσε "Κανείς με μισθό <600"
Αλλιώς
   Εκτύπωσε O[θ]
Τέλος_αν
Για i από 2 μέχρι 35
   Για j από 35 μέχρι i με_βήμα –1
      Αν Τ[j–1] < Τ[j] τότε
         Αντιμετάθεσε Τ[j–1], Τ[j]
         Αντιμετάθεσε Ο[j–1], Ο[j]
      Τέλος_αν
   Τέλος_επανάληψης
Τέλος_επανάληψης
διακοπή ← ψευδής
i ← 1
πρώτος ← 0
Όσο (διακοπή = ψευδής) και (i <= 35) επανάλαβε
   Αν (Τ = Τ[1] τότε
      πρώτος ← πρώτος + 1
      i ← i + 1
   Αλλιώς
      διακοπή ← αληθής
   Τέλος_αν
Τέλος_επανάληψης
διακοπή ← ψευδής
i ← πρώτος + 1
Όσο (διακοπή =ψευδής) και (i <= 35) επανάλαβε
   Αν (Τ = Τ[πρώτος + 1] τότε
      Εκτύπωσε Ο
      i ← i + 1
   Αλλιώς
      διακοπή ← αληθής
   Τέλος_αν
Τέλος_επανάληψης
Τέλος Εκδόσεις

landreou

Δεν καταλαβαινω τι κάνει για το τελευταίο ερώτημα .

Είναι σωστό αυτό που λέω εγώ ;
Αυτό το λέω γιατι μπορεί να είναι περισσότεροι από ένας με μισθό < 600

ikariofil

Βρίσκει από όσους έχουν τελικό μισθό κάτω από 600, τον διανομέα με το μεγαλύτερο μισθό (π.χ. αυτό με τελικό μισθό 587)
Από ότι βλέπω πρώτα απαντάει το ερώτημα 4 και μετά το 3 (όπως τα έδωσες στην εκφώνηση)

landreou

Και αν πάρχει και δεύτερος με 587 τον αγνοεί ;
ΑΝ είναι έτσι τοτε έχω κάνει το σωστό στο ερώτημα αυτό.