Να γράψετε τμήμα αλγορίθμου ο οποίος να τοποθετεί σε έναν μονοδιάστατο πίνακα 100 θέσεων τους αριθμούς:
α) 1, 2, 3, 4,...
β) 2, 4, 6, 8,...
γ) 1, 3, 5, 7,...
δ) 3, 5, 7, 9,...
ε) 3, 4, 5, 6,...
στ) 5, 10, 15, 20,...
ζ) 100, 99, 98, 97,...
η) 100, 95, 90, 85,...
θ) 1, 6, 11, 16,...
1) Με μια μεταβλητή και απλούς υπολογισμούς:
Στη γενική περίπτωση:
Για ι από 1 μέχρι 100
Α[ι] <- α*ι+β
Τέλος_επανάληψης
όπου α σταθερός (θετικός ή αρνητικός) αριθμός που δείχνει το βήμα μεταβολής (προς τα πάνω ή τα κάτω) κάθε φορά, και β (θετικός ή αρνητικός) αριθμός που κάνει 'διόρθωση-μετατόπιση' των αριθμών (προς τα πάνω ή τα κάτω) που παράγονται από το α*ι.
Μπορούμε να το συνδυάσουμε με "υπενθύμιση" της γραφικής παράστασης της f(χ) = αx+β, όπου τα α δείχνει την "κλίση-γωνία" της ευθείας, κλπ, κλπ
Έτσι:
α) Α[ι] <- ι
β) Α[ι] <- 2*ι
γ) Α[ι] <- 2*ι-1
δ) Α[ι] <- 2*ι+1
...
ζ) Α[ι] <- 101-ι (πολύ σημαντικό θεωρώ να καταλάβουν το: Ν+1-i )
...
2) Με ξεχωριστές μεταβλητές:
κ <- [ο πρώτος αριθμός]
Για ι από 1 μέχρι 100
Α[ι] <- κ
κ <- κ+[μεταβολή]
Τέλος_επανάληψης
Όπως και:
1) Με μια μεταβλητή και απλούς υπολογισμούς:
Για ι από β μέχρι β+99*α με_βήμα α
Α[(ι-β) div a + 1] <- ι
Τέλος_επανάληψης
(με την ίδια σημασία στα α και β)
2) Με ξεχωριστές μεταβλητές:
κ <- 1
Για ι από β μέχρι β+99*α με_βήμα α
Α[κ] <- ι
κ <- κ+1
Τέλος_επανάληψης
..αν και οι δικές σου προτάσεις πιστεύω ότι διδακτικά είναι πιό χρήσιμες..
Όμως για το 1) με την προϋπόθεση ότι τα α, β και i είναι ακέραιοι!
Παράθεση από: Νίκος Αδαμόπουλος στις 07 Μαρ 2011, 11:26:55 ΜΜ
Όμως για το 1) με την προϋπόθεση ότι τα α, β και i είναι ακέραιοι!
Σωστά.. ούτε που το πρόσεξα :-[
Αν δεν είναι ακέραιοι, θα πρέπει να πάμε σε έκφραση της μορφής:
Α[Α_Μ((ι-β) / a) + 1] <- ι
που δεν ξέρω αν αξίζει τον κόπο ..
αν όλα τα κάνεις με το βήμα είναι λάθος?? δηλαδη:
α)
κ <-- 1
Για ι απο 1 μεχρι 100
α[ι] <- ι
κ <-- κ + 1
τελος_επαναληψης
β) κ <-- 1
για ι απο 2 μεχρι 100 με_βημα 2
α[ι] <-- 1
κ <- κ + 1
τελος_επαναληψης
η) κ <-- 1
για ι απο 100 μεχρι 1 με_βημα -5
α[ι] <-- 1
κ <-- κ + 1
τελος_επαναληψης
Παράθεση από: Πανάγος94 στις 09 Δεκ 2011, 07:36:36 ΠΜ
α)
κ <-- 1
Για ι απο 1 μεχρι 100
α[κ] <- ι
κ <-- κ + 1
τελος_επαναληψης
β) κ <-- 1
για ι απο 2 μεχρι 100 με_βημα 2
α[κ] <-- ι
κ <- κ + 1
τελος_επαναληψης
η) κ <-- 1
για ι απο 100 μεχρι 1 με_βημα -5
α[κ] <-- ι
κ <-- κ + 1
τελος_επαναληψης
ααα ναι σωστά....ευχαριστώ που με διόρθωσες!! :)