Ένας μαθητής αγόρασε έναν εξωτερικό δίσκο χωρητικότητας 1000 GB, προκειμένου να αποθηκεύσει σε αυτόν ψηφιακά αρχεία.
Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ, το οποίο:
Γ1.
α. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. (μονάδες 2)
β. Για κάθε ψηφιακό αρχείο που θέλει να αποθηκεύσει ο μαθητής στον εξωτερικό δίσκο, να διαβάζει το όνομά του και το μέγεθός του (σε GB) και να ελέγχει, αν επαρκεί η διαθέσιμη χωρητικότητα του εξωτερικού δίσκου. Εφόσον επαρκεί, να εμφανίζει το μήνυμα «Επιτρεπτή αποθήκευση» και να υπολογίζει τη νέα διαθέσιμη χωρητικότητα του εξωτερικού δίσκου. Να τερματίζει τον έλεγχο της αποθήκευσης ψηφιακών αρχείων στον εξωτερικό δίσκο, όταν το μέγεθος του αρχείου που θέλει να αποθηκεύσει ο μαθητής είναι μεγαλύτερο από τη διαθέσιμη χωρητικότητα του εξωτερικού δίσκου. (μονάδες 6)
Μονάδες 8
Γ2. Να υπολογίζει και να εμφανίζει το ποσοστό του αριθμού των αρχείων που αποθηκεύτηκαν και έχουν μέγεθος μεγαλύτερο των 10 GB.
Μονάδες 4
Γ3. Να βρίσκει και να εμφανίζει τα ονόματα των δύο μικρότερων σε μέγεθος αρχείων που αποθηκεύτηκαν στον εξωτερικό δίσκο.
Μονάδες 8
Να θεωρήσετε ότι:
α) θα αποθηκευτούν τουλάχιστον δύο αρχεία στον εξωτερικό δίσκο,
β) τα μεγέθη όλων των αρχείων που αποθηκεύονται, είναι διαφορετικά μεταξύ τους.
ΛΥΣΗ
Η άσκηση στηρίζεται στη λογική της ΔΣ3 κεφάλαιο 2.
ΠΡΟΓΡΑΜΜΑ G16ImerisiaPalaio ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Χωρητικότητα, Μέγεθος, Πλήθος_Αρχείων, Πλήθος_10Άνω, Min1, Min2 ΠΡΑΓΜΑΤΙΚΕΣ: Ποσοστό ΧΑΡΑΚΤΗΡΕΣ: Όνομα, Όνομα_Min1, Όνομα_Min2 ΛΟΓΙΚΕΣ: Τέλος_Αποθήκευσης ΑΡΧΗ ! Γ1 Πλήθος_Αρχείων <-- 0 Πλήθος_10Άνω <-- 0 Χωρητικότητα <-- 1000 Τέλος_Αποθήκευσης <-- ΨΕΥΔΗΣ Min1 <-- 1001 ! Βλέπε παράδειγμα 3, Κεφάλαιο 2 Min2 <-- 1002 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ 'ΔΩΣΤΕ ΟΝΟΜΑ ΑΡΧΕΙΟΥ: ' ΔΙΑΒΑΣΕ Όνομα ΓΡΑΨΕ 'ΔΩΣΤΕ ΜΕΓΕΘΟΣ ΑΡΧΕΙΟΥ: ' ΔΙΑΒΑΣΕ Μέγεθος ΑΝ Χωρητικότητα - Μέγεθος > 0 ΤΟΤΕ Χωρητικότητα <-- Χωρητικότητα - Μέγεθος Πλήθος_Αρχείων <-- Πλήθος_Αρχείων + 1 ! Γ2 ΓΡΑΨΕ 'Επιτρεπτή αποθήκευση' ΑΝ Μέγεθος > 10 ΤΟΤΕ ! Γ2 Πλήθος_10Άνω <-- Πλήθος_10Άνω + 1 ΤΕΛΟΣ_ΑΝ ! Γ3** (δες στο τέλος β'τρόπο) ΑΝ Μέγεθος < Min2 ΤΟΤΕ ΑΝ Μέγεθος < Min1 ΤΟΤΕ Min2 <-- Min1 Όνομα_Min2 <-- Όνομα_Min1 Min1 <-- Μέγεθος Όνομα_Min1 <-- Όνομα ΑΛΛΙΩΣ Min2 <-- Μέγεθος Όνομα_Min2 <-- Όνομα ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ Τέλος_Αποθήκευσης <-- ΑΛΗΘΗΣ ΤΕΛΟΣ_ΑΝ ΜΕΧΡΙΣ_ΟΤΟΥ (Τέλος_Αποθήκευσης = ΑΛΗΘΗΣ) ! Γ2 Ποσοστό <-- Πλήθος_10Άνω / Πλήθος_Αρχείων * 100 ΓΡΑΨΕ 'Ποσοστό Αρχείων Άνω των 10GB: ', Ποσοστό ! Γ3 ΓΡΑΨΕ 'Μικρότερο Αρχείο 1: ', Όνομα_Min1, ' Χωρητικότητα: ', Min1 ΓΡΑΨΕ 'Μικρότερο Αρχείο 2: ', Όνομα_Min2, ' Χωρητικότητα: ', Min2 ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
! Γ3** Β ΤΡΌΠΟΣ
ΑΝ Μέγεθος < Min1 ΤΟΤΕ
Min2 <– Min1
ΌνομαMin2 <– Όνομα_Min1
Min1 <– Μέγεθος
Όνομα_Min1 <– Όνομα
ΑΛΛΙΩΣΑΝ Μέγεθος < Min2 ΤΟΤΕ
Min2 <– Μέγεθος
ΌνομαMin2 <– Όνομα
ΤΕΛΟΣΑΝ
! Γ3** γ ΤΡΌΠΟΣ
ΑΝ Μέγεθος < Min1 ΤΟΤΕ
Min2 <– Min1
ΌνομαMin2 <– Όνομα_Min1
Min1 <– Μέγεθος
Όνομα_Min1 <– Όνομα
ΤΕΛΟΣΑΝ
ΑΝ Μέγεθος < Min2 KAI Μέγεθος > Min1 ΤΟΤΕ
Min2 <– Μέγεθος
ΌνομαMin2 <– Όνομα
ΤΕΛΟΣΑΝ
Πρόσφατα σχόλια