Κυριακή 8 Ιανουαρίου 2012

ΕΝΤΟΛΗ ΕΠΑΝΑΛΗΨΗΣ - Ασκήσεις από τετράδιο μαθητή

Από τετράδιο μαθητή, Κεφάλαιο 2, Άσκηση ΔΤ8, σελίδα 23
1ος τρόπος
Αλγόριθμος ΔΤ8
Εμφάνισε "Δώσε αριθμό προσπέλασης του 1ου υπολογιστή"
Διάβασε Κ ! Κ, ο αριθμός προσπελάσεων
max_ΥΠ ← 1 ! max_ΥΠ, ο υπολογιστός με τον μεγαλύτερο αριθμό προσπελάσεων
max ← Κ
! max, ο μεγαλύτερος αριθμός προσπελάσεων
min_ΥΠ ← 1 ! m
in_ΥΠ, ο υπολογιστής με τον μικρότερο αριθμό προσπελάσεων
min ← Κ ! min, ο μικρότερος αριθμός προσπελάσεων
Για ι από 2 μέχρι 10
Εκτύπωσε "Δώσε αριθμό προσπέλασης του ", ι, "ου υπολογιστή"
Διάβασε Κ
Αν Κ > max τότε
max ← Κ
max_ΥΠ ← ι
Τέλος_αν
Αν Κ < min τότε
min ← Κ
min_ΥΠ ← ι
Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε "Ο υπολογιστής με τον μέγιστο αριθμό προσπελάσεων είναι ο ", max_ΥΠ
Εμφάνισε "Ο υπολογιστής με τον μικρότερο αριθμό προσπελάσεων είναι ο ", min_ΥΠ
Τέλος ΔΤ8

2ος τρόπος

Αλγόριθμος ΔΤ8
max ← 0
min ← 1000000
Για ι από 1 μέχρι 10
Εκτύπωσε "Δώσε αριθμό προσπέλασης του ", ι, "ου υπολογιστή"
Διάβασε Κ
Αν Κ > max τότε
max ← Κ
max_ΥΠ ← ι
Τέλος_αν
Αν Κ < min τότε
min ← Κ
min_ΥΠ ← ι
Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε "Ο υπολογιστής με τον μέγιστο αριθμό προσπελάσεων είναι ο ", max_ΥΠ
Εμφάνισε "Ο υπολογιστής με τον μικρότερο αριθμό προσπελάσεων είναι ο ", min_ΥΠ
Τέλος ΔΤ8

Από τετράδιο μαθητή, Κεφάλαιο 2, Άσκηση ΔΣ3, σελίδα 25
Αλγόριθμος ΔΣ3
S ← 0
Εμφάνισε "Δώσε την τιμή του είδους σε δραχμές"
Διάβασε τιμή
ευρώ ← τιμή/ 340.75
Όσο S + ευρώ < = 5000επανάλαβε
S ← S + ευρώ
Εμφάνισε "Δώσε την τιμή του είδους σε δραχμές"
Διάβασε τιμή
ευρώ ← τιμή/ 340.75
Τέλος_επανάληψης
Τέλος ΔΣ3

Τρίτη 3 Ιανουαρίου 2012

ΕΝΤΟΛΗ ΕΠΑΝΑΛΗΨΗΣ - Ασκήσεις

1. Αναπτύξτε αλγόριθμο που να διαβάζει το πολύ 10 αριθμούς και να υπολογίζει:

Α. το άθροισμά τους

Β. το πλήθος τους

Γ. το μέσο όρο τους

Στην περίπτωση που διαβάζει την τιμή 5, σταματάει την εκτέλεσή του και εμφανίζει τα τρέχοντα αποτελέσματα.

2. Αναπτύξτε έναν αλγόριθμο που να διαβάζει Κ ακέραιους και να υπολογίζει πόσοι από αυτούς είναι άρτιοι και πόσοι περιττοί.

Κατασκευάστε τον πίνακα τιμών στην περίπτωση που Κ=9 και οι αριθμοί είναι οι παρακάτω: 3, 4, 6, 8, 9, 7, 15, 19, 20.

3. Αναπτύξτε αλγόριθμο που να διαβάζει μια ακολουθία Κ ακεραίων αριθμών και να βρίσκει αν οι άρτιοι είναι περισσότεροι από τους περιττούς.

4. Να αναπτύξετε αλγόριθμο, ο οποίος σε μία τάξη 20 μαθητών, θα τυπώνει στην έξοδο εάν ο μαθητής προάγεται και με τι βαθμό. Επίσης θα τυπώνει το σύνολο των μαθητών που προήχθησαν. Ο αλγόριθμος θα δέχεται στην είσοδο τον βαθμό του κάθε μαθητή και το σύνολο των απουσιών του. Ένας μαθητής προάγεται, όταν ο βαθμός του είναι από 9,5 και πάνω και όταν δεν έχει απουσίες περισσότερες από 55.

5. Αναπτύξτε τους αλγορίθμους για τα παρακάτω:

Α. Σ = 1+2+3+4+…..+100

Β. Σ = 12+22+32+42+……..+ν2

Γ. Π= १.३.५.७.९......(२व+१)

Δ. Υ=(13+33+53+73+……..+ν3) . (22+42+62+82+……..+(2ν)2)

Ε. Π=iκ , όπου i και κ θετικοί ακέραιοι χωρίς τη χρήση του τελεστή δύναμης (^) .

6. Η Εθνική Μετεωρολογική Υπηρεσία (ΕΜΥ) κατέγραψε στις 22/5/01 τις θερμοκρασίες που σημειώθηκαν στις 3 το μεσημέρι σε 40 πόλεις της Ελλάδας. Γράψτε τον αλγόριθμο σε ψευδοκώδικα, ο οποίος θα διαβάζει τις θερμοκρασίες και τα ονόματα των πόλεων και να βρίσκει και να τυπώνει: την πόλη με την μικρότερη και τη μεγαλύτερη θερμοκρασία.

7. Να γραφεί αλγόριθμος στον οποίο θα δίνονται Ν διαφορετικοί ακέραιοι αριθμοί στο διάστημα [-1000, 1000]. Στη συνέχεια να υπολογίζει και να εμφανίζει:

α. Πόσοι είναι οι θετικοί και πόσοι οι αρνητικοί αριθμοί.

β. Το μέσο όρο των θετικών αριθμών.

γ. Το μικρότερο και το μεγαλύτερο αριθμό.

Πλήρης  στοίχιση

8. Σε μια τάξη υπάρχουν 20 μαθητές που έχουν βαθμολογηθεί σε 8 μαθήματα. Ο καθηγητής της τάξης αναθέτει στον πρόεδρο του πενταμελούς συμβουλίου της τάξης να υπολογίσει τους μέσους όρους όλων των μαθητών της τάξης του και να τους σημειώσει σε έναν κατάλογο και στο γραμματέα να βρει τον καλύτερο μαθητή.

9. Γράψτε πρόγραμμα που να υπολογίζει το άθροισμα

Σ = 1ν + 2ν + 3ν + 4ν + ………+100ν , χωρίς τη χρήση του τελεστή δύναμης (^) .

Τρίτη 13 Δεκεμβρίου 2011

Χαρακτηριστικά ΔΟΜΩΝ ΕΠΑΝΑΛΗΨΗΣ

Δομή επανάληψης όσο...επανάλαβε
  • Η ομάδα εντολών της επανάληψης εκτελείται καθ' όλη τη διάρκεια, που η συνθήκη επανάληψης είναι αληθής।
  • Υπάρχει η περίπτωση, αν η συνθήκη της επανάληψης είναι εξ αρχής ψευδής, οι εντολές της ομάδας εντολών της επαναληπτικής δομής να μην εκτελεστούν ούτε μία φορά।
Δομή επανάληψης αρχή_επανάληψης... μέχρις_ότου
  • Η ομάδα εντολών εκτελείται καθ' όλη τη διάρκεια, που η συνθήκη επανάληψης είναι ψευδής।
  • Η ομάδα εντολών της επανάληψης θα εκτελεστεί τουλάχιστον μια φορά, ανεξάρτητα από το αν η συνθήκη επανάληψης είναι ψευδής ή αληθής। Για το λόγο αυτό, η δομή αυτή δεν μπορεί να εκφράσει οποιαδήποτε επαναληπτική διαδικασία।
Δομή επανάληψης για...από...μέχρι
  • Δεν ελέγχει άμεσα κάποια συνθήκη για να αποφασίσει τον τερματισμό των επαναλήψεων।
  • Η χρήση της περιορίζεται μόνο σε εκείνες τις περιπτώσεις που γνωρίζουμε εκ των προτέρων τον αριθμό των επαναλήψεων που πρέπει να εκτελεστούν।


Πέμπτη 8 Δεκεμβρίου 2011

ΕΝΤΟΛΗ ΕΠΙΛΟΓΗΣ - Ασκήσεις

1.Να γίνει αλγόριθμος υπολογισμού των ριζών της δευτεροβάθμιας εξίσωσης αx2+βx+γ=0. Η παρουσίαση του αλγορίθμου να γίνει με χρήση ψευδοκώδικα

Λύση:

Αλγόριθμος Δευτεροβάθμια_εξίσωση
Εκτύπωσε
'Δώσε το συντελεστή α:'
Διάβασε α
Εκτύπωσε 'Δώσε το συντελεστή β:'
Διάβασε β
Εκτύπωσε 'Δώσε το συντελεστή γ:'
Διάβασε γ
Εκτύπωσε

Αν
α <> 0 τότε
Δ β^2 - 4*α*γ
Αν Δ < 0 τότε
Εκτύπωσε 'Η εξίσωση έχει 2 μιγαδικές ρίζες'
αλλιώς_αν Δ > 0 τότε
Εκτύπωσε 'Η εξίσωση έχει ΔΥΟ ΡΙΖΕΣ:'
Εκτύπωσε 'ρ1 =', (-β + Τ_Ρ(Δ))/(2*α)
Εκτύπωσε 'ρ2 =', (-β - Τ_Ρ(Δ))/(2*α)
αλλιώς
Εκτύπωσε 'Η εξίσωση έχει ΜΙΑ ΔΙΠΛΗ ΡΙΖΑ:'
Εκτύπωσε 'ρ =', -β/(2*α)
Τέλος_αν
αλλιώς
Αν β <> 0 τότε
Εκτύπωσε 'Η εξίσωση έχει ΜΙΑ ΡΙΖΑ:'
Εκτύπωσε 'ρ =', -γ/β
αλλιώς
Αν γ <> 0 τότε
Εκτύπωσε 'Η εξίσωση είναι ΑΔΥΝΑΤΗ'
αλλιώς
Εκτύπωσε 'Η εξίσωση είναι ΑΟΡΙΣΤΗ'
Τέλος_αν
Τέλος_αν
Τέλος_αν
Τέλος Δευτεροβάθμια_εξίσωση

2. Να δοθεί αλγόριθμος (σε ψευδοκώδικα και σε διάγραμμα ροής) ο οποίος να διαβάζει ένα έτος και να αποφασίζει αν είναι δίσεκτο ή όχι Χρησιμοποιήστε την ακόλουθη πληροφορία
i) Αν διαιρείται με το 400 είναι δίσεκτος (το 2000 είναι δίσεκτο).

ii) Αν διαιρείται με το 4 αλλά όχι με το 100 είναι δίσεκτο (το 1980 είναι δίσεκτο, το 1900 δεν είναι).

iii) Αν ένα έτος δε διαιρείται με το 4 δεν είναι δίσεκτο.

Λύση:

Αλγόριθμος Δίσεκτο_Έτος
Εκτύπωσε "Δώσε μια χρονολογία"
Διάβασε έτος

Αν (έτος mod 400 = 0) τότε
Εκτύπωσε "Το ", έτος, " είναι δίσεκτο έτος."
αλλιώς
Αν (έτος mod 4 = 0) και (έτος mod 100 <> 0) τότε
Εκτύπωσε "Το ", έτος, " είναι δίσεκτο έτος."
αλλιώς
Εκτύπωσε "Το ", έτος, " δεν είναι δίσεκτο έτος."
Τέλος_αν
Τέλος_αν
Τέλος Δίσεκτο_Έτος

3. Να γραφεί αλγόριθμος σε μορφή ψευδογλώσσας που να υπολογίζει το ελάχιστο τριών αριθμών।
Λύση:

Αλγόριθμος Ελάχιστο_Τριών_Αριθμών
Εκτύπωσε 'Δώσε τρεις αριθμούς'
Διάβασε α, β, γ
min
α
Αν β < min τότε
min β
Τέλος_αν
Αν γ < min τότε
min γ
Τέλος_αν
Εκτύπωσε 'Ο μικότερος αριθμός είναι ο:', min
Τέλος Ελάχιστο_Τριών_Αριθμών

4. Να γραφεί αλγόριθμος που να διαβάζει το βαθμό ενός μαθητή και να υπολογίζει την αντίστοιχη αξιολόγηση του με βάση το βαθμό του και σύμφωνα με τον παρακάτω πίνακα:

0-9,4

Απορρίπτεται

9,5-13,4

Μέτρια

13,5-15,4

Καλά

15,5-18

Πολύ καλά

18,1-20

Άριστα

Ο αλγόριθμος να γραφεί με τους ακόλουθους τρόπους:

i) Με εντολές αν…τότε

ii) Με εντολές αν…τότε…αλλιώς_αν

iii) Με εμφωλευμένα αν


Λύση:

Αλγόριθμος Χαρακτηρισμός_Βαθμολογίας_i
!Διαβάζει έναν βαθμό και εμφανίζει στον χρήστη
!τον χαρακτηρισμό βαθμολογίας
Εκτύπωσε 'Δώσε βαθμό: '
Διάβασε βαθμός
Αν βαθμός >= 0 και βαθμός <= 9.4 τότε
Εκτύπωσε 'Απορρίπτεται'
Τέλος_αν
Αν βαθμός >= 9.5 και βαθμός <= 13.4 τότε
Εκτύπωσε 'Μέτρια'
Τέλος_αν
Αν βαθμός >= 13.5 και βαθμός <= 15.4 τότε
Εκτύπωσε 'Καλά'
Τέλος_αν
Αν βαθμός >= 15.5 και βαθμός <= 18 τότε
Εκτύπωσε 'Πολύ Καλά'
Τέλος_αν
Αν βαθμός >= 18.1 και βαθμός <= 20 τότε
Εκτύπωσε 'Άριστα'
Τέλος_αν
Τέλος Χαρακτηρισμός_Βαθμολογίας_i

Aλγόριθμος Χαρακτηρισμός_Βαθμολογίας_ii

!Διαβάζει έναν βαθμό και εμφανίζει στον χρήστη
!τον χαρακτηρισμό βαθμολογίας.
!Κάνει χρήση της Αν...Αλλιώς_Αν...Τέλος_Αν
Εκτύπωσε 'Δώσε βαθμό: '
Διάβασε βαθμός
Αν βαθμός >= 0 και βαθμός <= 9.4 τότε
Εκτύπωσε 'Απορρίπτεται'
αλλιώς_αν βαθμός <= 13.4 τότε
Εκτύπωσε 'Μέτρια'
αλλιώς_αν βαθμός <= 15.4 τότε
Εκτύπωσε 'Καλά'
αλλιώς_αν βαθμός <= 18 τότε
Εκτύπωσε 'Πολύ Καλά'
αλλιώς
Εκτύπωσε 'Άριστα'
Τέλος_αν
Τέλος Χαρακτηρισμός_Βαθμολογίας_ii

Αλγόριθμος Χαρακτηρισμός_Βαθμολογίας_iii
!Κάνει χρήση εμφωλευμένων διαδικασιών Αν
Εκτύπωσε 'Δώσε βαθμό: '
Διάβασε βαθμός
Αν βαθμός >= 0 και βαθμός <= 9.4 τότε
Εκτύπωσε 'Απορρίπτεται'
αλλιώς
Αν βαθμός <= 13.4 τότε
Εκτύπωσε 'Μέτρια'
αλλιώς
Αν βαθμός <= 15.4 τότε
Εκτύπωσε 'Καλά'
αλλιώς
Αν βαθμός <= 18 τότε
Εκτύπωσε 'Πολύ Καλά'
αλλιώς
Εκτύπωσε 'Άριστα'
Τέλος_αν
Τέλος_αν
Τέλος_αν
Τέλος_αν
Τέλος Χαρακτηρισμός_Βαθμολογίας_iii

5Σε ένα video-club οι πελάτες δεν πληρώνουν κάθε κασέτα που νοικιάζουν αλλά στο τέλος κάθε μήνα πληρώνουν συνολικά για τις κασέτες που νοίκιασαν σύμφωνα με τον παρακάτω πίνακα:

μέχρι 5 κασέτες

2 ευρώ την κασέτα

μέχρι 15 κασέτες

1,5 ευρώ την κασέτα

μέχρι 20 κασέτες

1,3 ευρώ την κασέτα

περισσότερες από 20

1 ευρώ την κασέτα

Να γίνει αλγόριθμος που θα δέχεται τον αριθμό των κασετών που νοίκιασε κάποιος πελάτης το μήνα και θα εμφανίζει τα χρήματα που θα πρέπει να καταβάλει στο video-club.

Λύση:

Αλγόριθμος video_club
Εκτύπωσε 'Δώσε πόσες κασέτες νοίκιασες αυτό τον μήνα:'
Διάβασε κασέτες
Αν κασέτες <= 5 τότε
Χρέωση κασέτες* 2
αλλιώς_αν κασέτες <= 15 τότε
Χρέωση κασέτες* 1.5
αλλιώς_αν κασέτες <= 20 τότε
Χρέωση κασέτες* 1.3
αλλιώς
Χρέωση κασέτες* 1
Τέλος_αν
Εκτύπωσε 'Ο πελάτης χρεώνεται με:', Χρέωση, ' €'
Τέλος video_club

6 Μια εταιρεία κινητής τηλεφωνίας, χρεώνει τους συνδρομητές της, σύμφωνα με την κλιμάκωση του παρακάτω πίνακα και με πάγιο χρέωσης 15 ευρώ.

ΔΕΥΤΕΡΟΛΕΠΤΑ

ΧΡΕΩΣΗ

Πρώτα 800΄΄

0,20 ευρώ.

801΄΄ - 1500΄΄

0,15 ευρώ.

1500΄΄ και άνω

0,10 ευρώ.

Να αναπτύξετε αλγόριθμο, ο οποίος θα διαβάζει τα δευτερόλεπτα χρέωσης και θα υπολογίζει και εμφανίζει τη συνολική χρέωση του πελάτη, συμπεριλαμβάνοντας το πάγιο και την επιβάρυνση του Φ।Π.Α. 18%.

Λύση:

Αλγόριθμος Κινητή_Τηλεφωνία
Πάγιο
15
Εκτύπωσε 'Δώσε τη χρονοχρέωση σε δευτερόλεπτα:'
Διάβασε δευτερόλεπτα
Αν δευτερόλεπτα <= 800 τότε
Χρέωση δευτερόλεπτα* 0.20
αλλιώς_αν δευτερόλεπτα <= 1500 τότε
Χρέωση (800*0.20) + (δευτερόλεπτα - 800)*0.15
αλλιώς
Χρέωση (800*0.20) + (700*0.15) + (δευτερόλεπτα - 1500)*0.1
Τέλος_αν
Τελική_Χρέωση
Χρέωση + Πάγιο
Αξία_ΦΠΑ
Τελική_Χρέωση* 18/100
Συνολική_Χρέωση
Τελική_Χρέωση + Αξία_ΦΠΑ
Εκτύπωσε 'Η Συνολική Χρέωση του Πελάτη είναι:', Συνολική_Χρέωση, "ευρώ"
Τέλος Κινητή_Τηλεφωνία

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

Λύση:

Αλγόριθμος Προσαρμογή_Προφορικής_Βαθμολογίας
Εκτύπωσε "Δώσε τον βαθμό στα προφορικά"
Διάβασε πρ
Εκτύπωσε "Δώσε τον βαθμό στα γραπτά"
Διάβασε γρ
Αν Α_Τ(γρ - πρ) <= 3 τότε
μο (πρ + γρ)/2
Εκτύπωσε "Ο μέσος όρος βαθμολογίας είναι:", μο
αλλιώς
Αν πρ > γρ τότε
πρ γρ + 3
μο (πρ + γρ)/2
Εκτύπωσε "Ο μέσος όρος βαθμολογίας είναι:", μο
αλλιώς

Εκτύπωσε "Επανεξέταση"

Τέλος_αν
Τέλος_αν
Τέλος Προσαρμογή_Προφορικής_Βαθμολογίας


8
Σε ένα σχολείο της Ευρώπης οι μαθητές μπορούν να κάνουν μέχρι και 50 αδικαιολόγητες απουσίες. Αν κάποιος μαθητής κάνει περισσότερες από 50 τότε, πρέπει να δώσει ξανά όλα τα μαθήματα τον Αύγουστο. Αν ξεπεράσει τις 110 αδικαιολόγητες απουσίες, τότε πρέπει να επαναλάβει την τάξη. Καθ’ όλη τη διάρκεια του έτους οι μαθητές έχουν το δικαίωμα να δικαιολογούν κάποιες από τις απουσίες τους, προσκομίζοντας τα κατάλληλα δικαιολογητικά. Ο μέγιστος αριθμός απουσιών που μπορεί να δικαιολογήσει κάποιος είναι 60. Έτσι παρόλο που κάποιος μπορεί να έδωσε δικαιολογητικά για περισσότερες από 60 απουσίες, τελικά θα του δικαιολογηθούν μόνο οι 60, ενώ οι υπόλοιπες θα προστεθούν στις αδικαιολόγητες. Να γίνει αλγόριθμος ο οποίος θα δέχεται το πλήθος των αδικαιολόγητων απουσιών ενός μαθητή καθώς και το πλήθος των απουσιών για τις οποίες προσκόμισε κάποιο δικαιολογητικό, και να εμφανίζει αν περνάει την τάξη, αν πρέπει να ξαναδώσει τα μαθήματά του ή αν πρέπει να επαναλάβει την τάξη.

Λύση:

Αλγόριθμος Απουσίες
Εκτύπωσε "Δώσε τις αδικαιολόγητες απουσίες"
Διάβασε αδ
Εκτύπωσε "Δώσε τις δικαιολογημένες απουσίες"
Διάβασε δικ
Αν δικ > 60 τότε
αδ αδ + (δικ - 60)
Τέλος_αν
Αν αδ <= 50 τότε
Εκτύπωσε "Περνάει την τάξη"
αλλιώς_αν αδ <= 110 τότε
Εκτύπωσε "Πρέπει να δώσει όλα τα μαθήματα τον Αύγουστο"
αλλιώς
Εκτύπωσε "Επαναλαμβάνει την τάξη"
Τέλος_αν
Τέλος Απουσίες