Σάββατο 28 Φεβρουαρίου 2015
ΛΥΣΕΙΣ 9ης ΕΡΓΑΣΙΑΣ
Αλγόριθμος ασκ1
Για i από 1 μέχρι 250000 ! έστω 1,2,3,4,5 οι απαντήσεις
Διάβασε ΑΠ[i]
Τέλος_επανάληψης
πλ1 ← 0
πλ2 ← 0
πλ3 ← 0
πλ4 ← 0
πλ5 ← 0
Για i από 1 μέχρι 250000
Αν ΑΠ[i] = 1 τότε
πλ1 ← πλ1 + 1
αλλιώς_αν ΑΠ[i] = 2 τότε
πλ2 ← πλ2 + 1
αλλιώς_αν ΑΠ[i] = 3 τότε
πλ3 ← πλ3 + 1
αλλιώς_αν ΑΠ[i] = 4 τότε
πλ4 ← πλ4 + 1
αλλιώς
πλ5 ← πλ5 + 1
Τέλος_αν
Τέλος_επανάληψης
ποσ[1] ← πλ1/2500
ποσ[2] ← πλ2/2500
ποσ[3] ← πλ3/2500
ποσ[4] ← πλ4/2500
ποσ[5] ← πλ5/2500
Για i από 2 μέχρι 250000
Για j από 250000 μέχρι i με_βήμα -1
Αν ποσ[j-1] < ποσ[j] τότε
Αντιμετάθεσε ποσ[j-1], ποσ[j]
Τέλος_αν
Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 1 μέχρι 5
Εμφάνισε ποσ[i]
Τέλος_επανάληψης
Τέλος ασκ1
-----------------------------------------------------------------------------------------------------------
Αλγόριθμος ασκ2
Δεδομένα // ΟΝ, ΗΜΕΡ_ΓΕΝ, ΣΩΜΑ_ΚΑΤ //
Πλ ← 3000
Διάβασε όν1
βρέθηκε ← ψευδής
θέση ← 0
i ← 1
Όσο
i <= 3000 και βρέθηκε = ψευδής επανάλαβε Αν ΟΝ[i] = όν1 τότε
βρέθηκε ← αληθής
θέση ← i
Αλλιώς
i ← i + 1
Τέλος_αν
Τέλος_επανάληψης
Αν βρέθηκε = αληθής τότε
Εκτύπωσε "Ημερομηνία γέννησης:", ΗΜΕΡ_ΓΕΝ[θέση], " και σώμα κατάταξης:", ΣΩΜΑ_ΚΑΤ[θέση]
Αλλιώς
Εκτύπωσε "Δεν υπάρχει νέος με αυτό το όνομα"
Τέλος_αν
Για i από 2 μέχρι Πλ
Για j από Πλ μέχρι i με_βήμα -1
Αν ΟΝ[j-1] > ΟΝ[j] τότε
βοηθ ← ΟΝ[j-1]
ΟΝ[j-1] ← ΟΝ[j]
ΟΝ[j] ← βοηθ
βοηθ1 ← ΗΜΕΡ_ΓΕΝ[j-1]
ΗΜΕΡ_ΓΕΝ[j-1] ← ΗΜΕΡ_ΓΕΝ[j]
ΗΜΕΡ_ΓΕΝ[j] ← βοηθ1
βοηθ2 ← ΣΩΜΑ_ΚΑΤ[j-1]
ΣΩΜΑ_ΚΑΤ[j-1] ← ΣΩΜΑ_ΚΑΤ[j]
ΣΩΜΑ_ΚΑΤ[j] ← βοηθ2
Τέλος_αν
Τέλος_Επανάληψης
Τέλος_Επανάληψης
Εκτύπωσε "Ακολουθούν όσοι επέλεξαν στρατό ξηράς"
Για i από 1 μέχρι Πλ
Αν ΣΩΜΑ_ΚΑΤ[i] = "στρατός ξηράς" τότε
Εκτύπωσε ΟΝ[i], ΗΜΕΡ_ΓΕΝ[i]
Τέλος_αν
Τέλος_Επανάληψης
Εκτύπωσε "Ακολουθούν όσοι επέλεξαν ναυτικό"
Για i από 1 μέχρι Πλ
Αν ΣΩΜΑ_ΚΑΤ[i] = "ναυτικό" τότε
Εκτύπωσε ΟΝ[i], ΗΜΕΡ_ΓΕΝ[i]
Τέλος_αν
Τέλος_Επανάληψης
Εκτύπωσε "Ακολουθούν όσοι επέλεξαν αεροπορία"
Για i από 1 μέχρι Πλ
Αν ΣΩΜΑ_ΚΑΤ[i] = "αεροπορία" τότε
Εκτύπωσε ΟΝ[i], ΗΜΕΡ_ΓΕΝ[i]
Τέλος_αν
Τέλος_Επανάληψης
Τέλος ασκ2
-----------------------------------------------------------------------------------------------------------
Αλγόριθμος ασκ3
Δεδομένα //ΟΝΟΜΑ, ΠΟΛΗ, ΧΩΡΗΤΙΚΟΤΗΤΑ, Ν//
συνχωρ ← 0
Για i από 1 μέχρι Ν
συνχωρ ← συνχωρ + ΧΩΡΗΤΙΚΟΤΗΤΑ[i]
Τέλος_επανάληψης
Εκτύπωσε συνχωρ
Διάβασε oν1
Για i από 1 μέχρι Ν
Αν ΟΝΟΜΑ[i] = ον1 τότε
Εκτύπωσε ΠΟΛΗ[i]
Τέλος_αν
Τέλος_επανάληψης
Για i από 2 μέχρι Ν
Για j από Ν μέχρι i με_βήμα -1
Αν ΟΝΟΜΑ[j-1] > ΟΝΟΜΑ[j] τότε
Αντιμετάθεσε ΟΝΟΜΑ[j-1], ΟΝΟΜΑ[j]
Αντιμετάθεσε ΠΟΛΗ[j-1], ΠΟΛΗ[j]
Αντιμετάθεσε ΧΩΡΗΤΙΚΟΤΗΤΑ[j-1], ΧΩΡΗΤΙΚΟΤΗΤΑ[j]
αλλιώς
Αν ΟΝΟΜΑ[j-1] = ΟΝΟΜΑ[j] τότε
Αν ΠΟΛΗ[j-1] > ΠΟΛΗ[j] τότε
Αντιμετάθεσε ΠΟΛΗ[j-1], ΠΟΛΗ[j]
Αντιμετάθεσε ΧΩΡΗΤΙΚΟΤΗΤΑ[j-1], ΧΩΡΗΤΙΚΟΤΗΤΑ[j]
Τέλος_αν
Τέλος_αν
Τέλος_αν
Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 1 μέχρι Ν
Εκτύπωσε ΟΝΟΜΑ[i]
Τέλος_επανάληψης
Τέλος ασκ3
-----------------------------------------------------------------------------------------------------------
Αλγόριθμος ασκ4
Δεδομένα // N //
Για i από 1 μέχρι N
Διάβασε ΧΩΡΙΟ[i], ΝΟΜΟΣ[i]
Τέλος_επανάληψης
Για i από 2 μέχρι Ν
Για j από Ν μέχρι i με_βήμα -1
Αν ΧΩΡΙΟ[j-1] > ΧΩΡΙΟ[j] τότε
Αντιμετάθεσε ΧΩΡΙΟ[j-1], ΧΩΡΙΟ[j]
Αντιμετάθεσε ΝΟΜΟΣ[j-1], ΝΟΜΟΣ[j]
αλλιώς
Αν ΧΩΡΙΟ[j-1] = ΧΩΡΙΟ[j] τότε
Αν ΝΟΜΟΣ[j-1] > ΝΟΜΟΣ[j] τότε
Αντιμετάθεσε ΝΟΜΟΣ[j-1], ΝΟΜΟΣ[j]
Τέλος_αν
Τέλος_αν
Τέλος_αν
Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 1 μέχρι N
Εκτύπωσε ΧΩΡΙΟ[i], ΝΟΜΟΣ[i]
Τέλος_επανάληψης
Διάβασε village
M ← 0
Για i από 1 μέχρι N
Αν ΧΩΡΙΟ[i] = village τότε
M ← M + 1
Τέλος_αν
Τέλος_επανάληψης
Εκτύπωσε 'το χωριό', village, 'υπάρχει', M, 'φορές'
Τέλος ασκ4
-----------------------------------------------------------------------------------------------------------
Αλγόριθμος ασκ5
Για i από 1 μέχρι 30
Αρχή_επανάληψης
Διάβασε ρυπ[i]
Μέχρις_ότου ρυπ[i] ≥ 0 και ρυπ[i] ≤ 10
Τέλος_επανάληψης
πλ ← 0
Για i από 2 μέχρι 29
Αν ρυπ[i] > ρυπ[i-1] και ρυπ[i] > ρυπ[i+1] τότε
πλ ← πλ + 1
Εκτύπωσε i
Τέλος_αν
Τέλος_επανάληψης
Εκτύπωσε πλ
Για i από 1 μέχρι 29
Αν (ρυπ[i+1] - ρυπ[i])/ρυπ[i]*100 > 15 τότε
Εκτύπωσε i
Τέλος_αν
Τέλος_επανάληψης
μεγ_ρυθμός ← (ρυπ[2]-ρυπ[1])/ρυπ[1]*100
μέρα ← 2
Για i από 2 μέχρι 29
Αν (ρυπ[i+1] - ρυπ[i])/ρυπ[i]*100 > μεγ_ρυθμός τότε
μεγ_ρυθμός ← (ρυπ[i+1] - ρυπ[i])/ρυπ[i]*100
μέρα ← i+1
Τέλος_αν
Τέλος_επανάληψης
Εκτύπωσε μεγ_ρυθμός, μέρα
Τέλος ασκ5
-----------------------------------------------------------------------------------------------------------
Αλγόριθμος ασκ6
Αρχή_επανάληψης
Διάβασε Ν
Μέχρις_ότου Ν > 0
πλ_λαθ ← 0
αθρ ← 0
Για i από 1 μέχρι Ν
Διάβασε ΟΝ[i]
Αρχή_επανάληψης
Διάβασε ΒΑΘ[i]
Αν ΒΑΘ[i] < 0 ή ΒΑΘ[i] > 20 τότε
πλ_λαθ ← πλ_λαθ + 1
Τέλος_αν
Μέχρις_ότου ΒΑΘ[i] ≥ 0 και ΒΑΘ[i] ≤ 20
αθρ ← αθρ + ΒΑΘ[i]
Τέλος_επανάληψης
Εκτύπωσε πλ_λαθ, αθρ/Ν
πιο_κοντά ← Α_Τ(ΒΑΘ[1]-αθρ/Ν)
Για i από 2 μέχρι Ν
Αν Α_Τ(ΒΑΘ[i]-αθρ/Ν) < πιο_κοντά τότε
πιο_κοντά ← Α_Τ(ΒΑΘ[i]-αθρ/Ν)
Τέλος_αν
Τέλος_επανάληψης
Για i από 1 μέχρι Ν
Αν Α_Τ(ΒΑΘ[i]-αθρ/Ν) = πιο_κοντά τότε
Εκτύπωσε ΟΝ[i]
Τέλος_αν
Τέλος_επανάληψης
Τέλος ασκ6
-----------------------------------------------------------------------------------------------------------
Αλγόριθμος ασκ7
Δεδομένα //ΟΝΟΜΑ, ΠΟΣΟ//
πλ0 ← 0
Για i από 1 μέχρι 25
Αν ΠΟΣΟ[i] = 0 τότε
πλ0 ← πλ0 + 1
Εκτύπωσε ΟΝΟΜΑ[i]
Τέλος_αν
Τέλος_επανάληψης
Εκτύπωσε πλ0
Αρχή_επανάληψης
Διάβασε αρ
Μέχρις_ότου αρ ≥ 1 και αρ ≤ 25
Εκτύπωσε ΠΟΣΟ[αρ]
Διάβασε ον
ένοικος ← Ψευδής
i ← 1
Όσο i ≤ 25 και ένοικος = Ψευδής επανάλαβε
Αν ΟΝΟΜΑ[i] = ον τότε
ένοικος ← Αληθής
Εκτύπωσε ΠΟΣΟ[i]
αλλιώς
i ← i + 1
Τέλος_αν
Τέλος_επανάληψης
Αν ένοικος = Ψευδής τότε
Εκτύπωσε 'δεν υπάρχει'
Τέλος_αν
Τέλος ασκ7
-----------------------------------------------------------------------------------------------------------
Αλγόριθμος ασκ8
πλθετ ← 0
πλαρν ← 0
πλ ← 0
Διάβασε αρ
Όσο πλ ≤ 30 και αρ ≠ 0 επανάλαβε
Αν αρ > 0 τότε
πλθετ ← πλθετ + 1
ΘΕΤ[πλθετ] ← αρ
αλλιώς
πλαρν ← πλαρν + 1
ΑΡΝ[πλαρν] ← αρ
Τέλος_αν
Διάβασε αρ
Τέλος_επανάληψης
Αν πλθετ > 0 τότε
αθρ ← 0
Για i από 1 μέχρι πλθετ
αθρ ← αθρ + ΘΕΤ[i]
Τέλος_επανάληψης
Εκτύπωσε αθρ/πλθετ
αλλιώς
Εκτύπωσε 'δε δόθηκαν θετικοί'
Τέλος_αν
Αν πλαρν > 0 τότε
αθρ ← 0
Για i από 1 μέχρι πλαρν
αθρ ← αθρ + ΑΡΝ[i]
Τέλος_επανάληψης
Εκτύπωσε αθρ/πλαρν
αλλιώς
Εκτύπωσε 'δε δόθηκαν αρνητικοί'
Τέλος_αν
Τέλος ασκ8
-----------------------------------------------------------------------------------------------------------
Αλγόριθμος ασκ9
Δεδομένα //ον, κωδ, τιμη, Ν//
Διάβασε κωδ1
υπάρχει ← Ψευδής
i ← 1
Όσο i ≤ N και υπάρχει = Ψευδής επανάλαβε
Αν κωδ[i] = κωδ1 τότε
Εμφάνισε ον[i],τιμη[i]
υπάρχει ← Αληθής
αλλιώς
i ← i + 1
Τέλος_αν
Τέλος_επανάληψης
Αν υπάρχει = Ψευδής τότε
Εμφάνισε 'λάθος κωδικός'
Τέλος_αν
Διάβασε τ1
υπάρχει ← Ψευδής
i ← 1
Όσο i ≤ N και υπάρχει = Ψευδής επανάλαβε
Αν τιμη[i] = τ1 τότε
υπάρχει ← Αληθής
pos ← i
αλλιώς
i ← i + 1
Τέλος_αν
Τέλος_επανάληψης
Αν υπάρχει = Ψευδής τότε
Εμφάνισε 'λάθος τιμή'
αλλιώς
Για i από 1 μέχρι N
Αν τιμη[i] = τ1 τότε
Εμφάνισε ον[i],κωδ[i]
Τέλος_αν
Τέλος_επανάληψης
Τέλος_αν
maxcode ← κωδ[1]
mincode ← κωδ[1]
maxprice ← τιμη[1]
minprice ← τιμη[1]
Για i από 2 μέχρι N
Αν κωδ[i] > maxcode τότε
maxcode ← κωδ[i]
αλλιώς
Αν κωδ[i] < mincode τότε
mincode ← κωδ[i]
Τέλος_αν
Τέλος_αν
Αν τιμη[i] > maxprice τότε
maxprice ← τιμη[i]
αλλιώς
Αν τιμη[i] < minprice τότε
minprice ← τιμη[i]
Τέλος_αν
Τέλος_αν
Τέλος_επανάληψης
Για i από 1 μέχρι N
Αν κωδ[i] = maxcode τότε
Εμφάνισε ον[i],κωδ[i],τιμη[i]
Τέλος_αν
Αν κωδ[i] = mincode τότε
Εμφάνισε ον[i],κωδ[i],τιμη[i]
Τέλος_αν
Τέλος_επανάληψης
Για i από 1 μέχρι N
Αν τιμη[i] = maxprice τότε
Εμφάνισε ον[i],κωδ[i],τιμη[i]
Τέλος_αν
Αν τιμη[i] = minprice τότε
Εμφάνισε ον[i],κωδ[i],τιμη[i]
Τέλος_αν
Τέλος_επανάληψης
Τέλος ασκ9
-----------------------------------------------------------------------------------------------------------
ΠΡΟΓΡΑΜΜΑ ασκ10
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ:N, i, πλ
ΠΡΑΓΜΑΤΙΚΕΣ:μισ[100], s , max
ΧΑΡΑΚΤΗΡΕΣ:ον[100], τμ[100], name , ονmax
ΑΡΧΗ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ Ν
ΜΕΧΡΙΣ_ΟΤΟΥ Ν > 0 ΚΑΙ Ν <= 100
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N
ΔΙΑΒΑΣΕ ον[i], τμ[i], μισ[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ name
s <- 0
πλ <- 0
max <- -1
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N
ΑΝ name = τμ[i] ΤΟΤΕ
ΓΡΑΨΕ ον[i], μισ[i]
s <- s + μισ[i]
πλ <- πλ + 1
ΑΝ μισ[i] > max ΤΟΤΕ
max <- μισ[i]
ονmax <- ον[i]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ πλ <> 0 ΤΟΤΕ
ΓΡΑΨΕ s/πλ , ονmax
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'λάθος τμήμα'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
!!!! σε ένα πρόγραμμα οι πίνακες δηλώνονται με το μέγιστο των θέσεων που μπορούν να καταλάβουν στη μνήμη ώστε να δεσμευτούν και όσες περισσότερες ζητηθούν....ποτέ Π[Ν].....
-----------------------------------------------------------------------------------------------------------
ΠΡΟΓΡΑΜΜΑ ασκ11
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i, pos
ΠΡΑΓΜΑΤΙΚΕΣ: μισ[100]
ΧΑΡΑΚΤΗΡΕΣ: ον[100], name
ΛΟΓΙΚΕΣ: exists
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
ΔΙΑΒΑΣΕ ον[i], μισ[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ name
ΟΣΟ name <> 'τέλος' ΕΠΑΝΑΛΑΒΕ
exists <- ΨΕΥΔΗΣ
i <- 1
ΟΣΟ i <= 100 ΚΑΙ exists = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
ΑΝ name = ον[i] ΤΟΤΕ
exists <- ΑΛΗΘΗΣ
pos <- i
ΑΛΛΙΩΣ
i <- i + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ exists = ΑΛΗΘΗΣ ΤΟΤΕ
ΓΡΑΨΕ μισ[pos]
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'δεν υπάρχει αυτός ο εργαζόμενος'
ΤΕΛΟΣ_ΑΝ
ΔΙΑΒΑΣΕ name
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
-----------------------------------------------------------------------------------------------------------
ΠΡΟΓΡΑΜΜΑ ασκ12
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i, j
ΠΡΑΓΜΑΤΙΚΕΣ: μο[50], temp2
ΧΑΡΑΚΤΗΡΕΣ: ον[50], temp1
ΛΟΓΙΚΕΣ: οκ
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50
ΔΙΑΒΑΣΕ ον[i], μο[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
i <- 2
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
οκ <- ΑΛΗΘΗΣ
ΓΙΑ j ΑΠΟ 50 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
ΑΝ ον[j-1] > ον[j] ΤΟΤΕ
temp1 <- ον[j-1]
ον[j-1] <- ον[j]
ον[j] <- temp1
temp2 <- μο[j-1]
μο[j-1] <- μο[j]
μο[j] <- temp2
οκ <- ΨΕΥΔΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
i <- i + 1
ΜΕΧΡΙΣ_ΟΤΟΥ i > 50 ή οκ = ΑΛΗΘΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50
ΓΡΑΨΕ ον[i], μο[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
-----------------------------------------------------------------------------------------------------------
ΠΡΟΓΡΑΜΜΑ ασκ13
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i, j , απ[30], temp2
ΠΡΑΓΜΑΤΙΚΕΣ: βαθ[30], temp1
ΧΑΡΑΚΤΗΡΕΣ: ον[30], temp3
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 30
ΔΙΑΒΑΣΕ ον[i], μο[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 30
ΓΙΑ j ΑΠΟ 30 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
ΑΝ βαθ[j-1] < βαθ[j] ΤΟΤΕ
temp1 <- βαθ[j-1]
βαθ[j-1] <- βαθ[j]
βαθ[j] <- temp1
temp2 <- απ[j-1]
απ[j-1] <- απ[j]
απ[j] <- temp2
temp3 <- ον[j-1]
ον[j-1] <- ον[j]
ον[j] <- temp3
ΑΛΛΙΩΣ_ΑΝ βαθ[j-1] = βαθ[j] ΤΟΤΕ
ΑΝ απ[j-1] > απ[j] ΤΟΤΕ
temp2 <- απ[j-1]
απ[j-1] <- απ[j]
απ[j] <- temp2
temp3 <- ον[j-1]
ον[j-1] <- ον[j]
ον[j] <- temp3
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ
ΑΝ βαθ[j-1] = βαθ[j] ΚΑΙ απ[j-1] = απ[j] ΤΟΤΕ
ΑΝ ον[j-1] > ον[j] ΤΟΤΕ
temp3 <- ον[j-1]
ον[j-1] <- ον[j]
ον[j] <- temp3
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 30
ΓΡΑΨΕ ον[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
-----------------------------------------------------------------------------------------------------------
ΠΡΟΓΡΑΜΜΑ ασκ14
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i, j
ΠΡΑΓΜΑΤΙΚΕΣ: ΕΠΙΔΟΣΕΙΣ[20,5], best[20], temp1
ΧΑΡΑΚΤΗΡΕΣ: ΟΝΟΜΑΤΑ[20], temp2
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
ΔΙΑΒΑΣΕ ΟΝΟΜΑΤΑ[i]
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ ΕΠΙΔΟΣΕΙΣ[i,j]
ΜΕΧΡΙΣ_ΟΤΟΥ ΕΠΙΔΟΣΕΙΣ[i,j] >= 0
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
best[i] <- ΕΠΙΔΟΣΕΙΣ[i,1]
ΓΙΑ j ΑΠΟ 2 ΜΕΧΡΙ 5
ΑΝ ΕΠΙΔΟΣΕΙΣ[i,j] > best[i] ΤΟΤΕ
best[i] <- ΕΠΙΔΟΣΕΙΣ[i,j]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 20
ΓΙΑ j ΑΠΟ 20 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
ΑΝ best[j-1] < best[j] ΤΟΤΕ
temp1 <- best[j-1]
best[j-1] <- best[j]
best[j] <- temp1
temp2 <- ΟΝΟΜΑΤΑ[j-1]
ΟΝΟΜΑΤΑ[j-1] <- ΟΝΟΜΑΤΑ[j]
ΟΝΟΜΑΤΑ[j] <- temp2
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΡΑΨΕ ΟΝΟΜΑΤΑ[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
i <- 1
ΟΣΟ best[i] = best[20] ΕΠΑΝΑΛΑΒΕ
i <- i + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ i
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
-----------------------------------------------------------------------------------------------------------
Αλγόριθμος ασκ15
Για i από 1 μέχρι 1000
Διάβασε ον[i], τιμή[i], τμχ[i]
Τέλος_επανάληψης
Αρχή_επανάληψης
Διάβασε κωδ
Μέχρις_ότου κωδ ≥ 1 και κωδ ≤ 1000
Εμφάνισε ον[κωδ], τιμή[κωδ], τμχ[κωδ]
Για i από 1 μέχρι 1000
Αν τμχ[i] = 0 τότε
Εμφάνισε ον[i], τιμή[i], τμχ[i], i
Τέλος_αν
Τέλος_επανάληψης
max ← τμχ[1]
Για i από 2 μέχρι 1000
Αν τμχ[i] > max τότε
max ← τμχ[i]
Τέλος_αν
Τέλος_επανάληψης
Για i από 1 μέχρι 1000
Αν τμχ[i] = max τότε
Εμφάνισε ον[i], τιμή[i], τμχ[i], i
Τέλος_αν
Τέλος_επανάληψηςΔιάβασε name
found ← Ψευδής
i ← 1
Όσο i ≤ 1000 και found = Ψευδής επανάλαβε
Αν name = ον[i] τότε
found ← Αληθής
Εμφάνισε τμχ[i]
αλλιώς
i ← i + 1
Τέλος_αν
Τέλος_επανάληψης
Αν found = Ψευδής τότε
Εμφάνισε 'λάθος προιόν'
Τέλος_αν
Για i από 2 μέχρι 1000
Για j από 1000 μέχρι i με_βήμα -1
Αν τμχ[j-1] < τμχ[j] τότε
temp1 ← τμχ[j-1]
τμχ[j-1] ← τμχ[j]
τμχ[j] ← temp1
temp2 ← ον[j-1]
ον[j-1] ← ον[j]
ον[j] ← temp2
temp3 ← τιμή[j-1]
τιμή[j-1] ← τιμή[j]
τιμή[j] ← temp3
αλλιώς
Αν τμχ[j-1] = τμχ[j] τότε
Αν ον[j-1] > ον[j] τότε
temp2 ← ον[j-1]
ον[j-1] ← ον[j]
ον[j] ← temp2
temp3 ← τιμή[j-1]
τιμή[j-1] ← τιμή[j]
τιμή[j] ← temp3
Τέλος_αν
Τέλος_αν
Τέλος_αν
Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 1 μέχρι 1000
Εμφάνισε ον[i], τιμή[i], τμχ[i]
Τέλος_επανάληψης
Τέλος ασκ15
-----------------------------------------------------------------------------------------------------------
Αλγόριθμος ασκ16
Για i από 1 μέχρι 100
Διάβασε μαρ[i], κυβ[i], ττ[i]
Τέλος_επανάληψης
μεγ1 ← -1
μεγ2 ← -1
μεγ3 ← -1
Για i από 1 μέχρι 100
Αν κυβ[i] = 1400 και ττ[i] > μεγ1 τότε
μεγ1 ← ττ[i]
μαρκ1 ← μαρ[i]
Τέλος_αν
Αν κυβ[i] = 1600 και ττ[i] > μεγ2 τότε
μεγ2 ← ττ[i]
μαρκ2 ← μαρ[i]
Τέλος_αν
Αν κυβ[i] = 2000 και ττ[i] > μεγ1 τότε
μεγ3 ← ττ[i]
μαρκ3 ← μαρ[i]
Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε μαρκ1, μεγ1, μαρκ2, μεγ2, μαρκ3, μεγ3
Διάβασε μάρκα, κυβικά
υπάρχει ← Ψευδής
i ← 1
Όσο i ≤ 100 και υπάρχει = Ψευδής επανάλαβε
Αν μάρκα = μαρ[i] και κυβικά = κυβ[i] τότε
υπάρχει ← Αληθής
Εμφάνισε ττ[i]
αλλιώς
i ← i + 1
Τέλος_αν
Τέλος_επανάληψης
Αν υπάρχει = Ψευδής τότε
Εμφάνισε 'λάθος δεδομένα'
Τέλος_αν
Τέλος ασκ16
-----------------------------------------------------------------------------------------------------------
Αλγόριθμος ασκ17
Δεδομένα //ον, πωλ, χρυπ//
Για i από 2 μέχρι 200
Για j από 200 μέχρι i με_βήμα -1
Αν πωλ[j-1] < πωλ[j] τότε
temp1 ← πωλ[j-1]
πωλ[j-1] ← πωλ[j]
πωλ[j] ← temp1
temp2 ← χρυπ[j-1]
χρυπ[j-1] ← χρυπ[j]
χρυπ[j] ← temp2
temp3 ← ον[j-1]
ον[j-1] ← ον[j]
ον[j] ← temp3
αλλιώς
Αν πωλ[j-1] = πωλ[j] τότε
Αν χρυπ[j-1] < χρυπ[j] τότε
temp2 ← χρυπ[j-1]
χρυπ[j-1] ← χρυπ[j]
χρυπ[j] ← temp2
temp3 ← ον[j-1]
ον[j-1] ← ον[j]
ον[j] ← temp3
Τέλος_αν
Τέλος_αν
Τέλος_αν
Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 1 μέχρι 5
μπόνους ← 4/100*πωλ[i]
Εμφάνισε ον[i], μπόνους
Τέλος_επανάληψης
Τέλος ασκ17
-----------------------------------------------------------------------------------------------------------
Αλγόριθμος ασκ18
Δεδομένα //ΠΡΟΟΡΙΣΜΟΙ, ΕΠΙΒΑΤΕΣ, προορ, ονεπ//
Για i από 1 μέχρι 120
Αν προορ = ΠΡΟΟΡΙΣΜΟΙ[i] τότε
Εμφάνισε ΕΠΙΒΑΤΕΣ[i]
Τέλος_αν
Τέλος_επανάληψης
found ← Ψευδής
i ← 1
Όσο i ≤ 120 και found = Ψευδής επανάλαβε
Αν ονεπ = ΕΠΙΒΑΤΕΣ[i] τότε
found ← Αληθής
Εμφάνισε ΠΡΟΟΡΙΣΜΟΙ[i]
αλλιώς
i ← i + 1
Τέλος_αν
Τέλος_επανάληψης
Αν found = Ψευδής τότε
Εμφάνισε 'δεν υπάρχει ες επιβάτης'
Τέλος_αν
Τέλος ασκ18
-----------------------------------------------------------------------------------------------------------
Αλγόριθμος ασκ19
Για i από 1 μέχρι 150
Διάβασε ον[i]
Αρχή_επανάληψης
Διάβασε χρ[i]
Μέχρις_ότου χρ[i] ≥ 0
Τέλος_επανάληψης
Για i από 2 μέχρι 150
Για j από 150 μέχρι i με_βήμα -1
Αν χρ[j-1] > χρ[j] τότε
βοηθ ← χρ[j-1]
χρ[j-1] ← χρ[j]
χρ[j] ← βοηθ
βοηθ1 ← ον[j-1]
ον[j-1] ← ον[j]
ον[j] ← βοηθ1
Τέλος_αν
Τέλος_Επανάληψης
Τέλος_Επανάληψης
Για i από 1 μέχρι 150
Αν χρ[i] ≠ 0 και χρ[i] - χρ[1] ≤ 10/100*χρ[1] τότε
Εμφάνισε ον[i],χρ[i]
Τέλος_αν
Τέλος_επανάληψης
Αν χρ[1] = 0 τότε
Εμφάνισε 'υπάρχει έστω και ένας αθλητής που δεν τερμάτισε'
Τέλος_αν
Τέλος ασκ19
Εγγραφή σε:
Αναρτήσεις (Atom)