Η δέκατη πέμπτη επαναληπτική άσκηση για το μάθημα της Πληροφορικής
(πρώην ΑΕΠΠ) συνδυάζει τον αλγόριθμο της ταξινόμησης
φυσαλίδας με τον αλγόριθμο της σειριακής αναζήτησης. Το πρόβλημα απαιτεί να κάνεις πρώτα κάποιες δοκιμές με συγκεκριμένα νούμερα για να το καταλάβεις.
15η Επαναληπτική Άσκηση
Τίτλος: Δείκτης επιστημονικής ποιότητας
Κατηγορία: Αναζήτηση, ΤαξινόμησηΟ δείκτης επιστημονικής ποιότητας (h-index) είναι ένας δείκτης της ποιότητας των ακαδημαϊκών δημοσιεύσεων ενός επιστήμονα. Ισούται με τη μεγαλύτερη τιμή του h για την οποία ο επιστήμονας έχει h δημοσιεύσεις που έχουν τουλάχιστον h ετεροαναφορές (citations) από άλλους επιστήμονες. Για παράδειγμα αν ένας επιστήμονας έχει ετεροαναφορές [5, 12, 4, 0, 5, 8] σημαίνει ότι έχει έξι δημοσιεύσεις και κάθε μία έχει 5, 12, 4, 0, 5 και 8 ετεροαναφορές. Αφού ο επιστήμονας έχει τέσσερις δημοσιεύσεις με τουλάχιστον τέσσερις ετεροαναφορές και δεν υπάρχουν πέντε δημοσιεύσεις με τουλάχιστον πέντε ετεροαναφορές, ο δείκτης h-index θα είναι τέσσερα.
Να γραφεί πρόγραμμα το οποίο:
α) Θα διαβάζει τον αριθμό των δημοσιεύσεων ενός επιστήμονα (να γίνεται έλεγχος ώστε ο αριθμός των δημοσιεύσεων να είναι ένας αριθμός από μηδέν έως και εκατό),
β) Για κάθε δημοσίευση, θα διαβάζει τον αριθμό των ετεροαναφορών (να γίνεται έλεγχος ώστε ο αριθμός των ετεροαναφορών να είναι ένας θετικός αριθμός) και
γ) Θα εμφανίζει τον δείκτη επιστημονικής ποιότητας (h-index) του επιστήμονα.
Παρατήρηση: Η άσκηση να λυθεί αρχικά με την υπόθεση ότι ο πίνακας των ετεροαναφορών που διαβάζεται είναι αταξινόμητος. Στη συνέχεια θεωρείστε ότι ο πίνακας των ετεροαναφορών είναι ταξινομημένος κατά αύξουσα σειρά και προσπαθήστε να προτείνετε μία λύση που δεν θα ελέγχει όλα τα στοιχεία του πίνακα ετεροαναφορών.
Λύση 15ης επαναληπτικής άσκησης
ΠΡΟΓΡΑΜΜΑ Δείκτης_Επιστημονικής_Ποιότητας
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: ΔΗΜΟΣ, Ι, Ξ, ΕΤΕΡ[100], ΔΕΙΚΤΗΣ, TEMP
ΛΟΓΙΚΕΣ: ΒΡΕΘΗΚΕ
ΑΡΧΗ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Πόσες δημοσιεύσεις έχει ο επιστήμονας; '
ΔΙΑΒΑΣΕ ΔΗΜΟΣ
ΜΕΧΡΙΣ_ΟΤΟΥ ΔΗΜΟΣ >= 0 ΚΑΙ ΔΗΜΟΣ <= 100
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ ΔΗΜΟΣ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Πόσες ετεροαναφορές έχει η ', Ι, 'η δημοσίευση; '
ΔΙΑΒΑΣΕ ΕΤΕΡ[Ι]
ΜΕΧΡΙΣ_ΟΤΟΥ ΕΤΕΡ[Ι] >= 0
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ ΔΗΜΟΣ
ΓΙΑ Ξ ΑΠΟ ΔΗΜΟΣ ΜΕΧΡΙ Ι ΜΕ_ΒΗΜΑ -1
ΑΝ ΕΤΕΡ[Ξ] < ΕΤΕΡ[Ξ - 1] ΤΟΤΕ
TEMP <- ΕΤΕΡ[Ξ]
ΕΤΕΡ[Ξ] <- ΕΤΕΡ[Ξ - 1]
ΕΤΕΡ[Ξ - 1] <- TEMP
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΒΡΕΘΗΚΕ <- ΨΕΥΔΗΣ
Ι <- 1
ΔΕΙΚΤΗΣ <- 0
ΟΣΟ Ι <= ΔΗΜΟΣ ΚΑΙ ΟΧΙ ΒΡΕΘΗΚΕ ΕΠΑΝΑΛΑΒΕ
ΑΝ ΕΤΕΡ[Ι] <= ΔΗΜΟΣ - Ι + 1 ΤΟΤΕ
ΔΕΙΚΤΗΣ <- ΕΤΕΡ[Ι]
ΑΛΛΙΩΣ
ΒΡΕΘΗΚΕ <- ΑΛΗΘΗΣ
ΤΕΛΟΣ_ΑΝ
Ι <- Ι + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Δείκτης H-Index ', ΔΕΙΚΤΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Δείκτης_Επιστημονικής_Ποιότητας
Όλες τις επαναληπτικές ασκήσεις για το μάθημα της Πληροφορικής (πρώην ΑΕΠΠ) μπορείτε να τις βρείτε στο παρακάτω άρθρο:
Σχόλια
Δημοσίευση σχολίου