Αιγόξηζκνη 2.2.7.4 Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ Εηζαγσγή ζηηο Αξρέο ηεο Επηζηήκεο ησλ Η/Υ 1
Άζθεζε 34 ζει 53 Έλα ςεθηαθό θσηνγξαθηθό άικπνπκ έρεη απνζεθεπηηθό ρώξν N Mbytes. Να αλαπηύμεηε αιγόξηζκν ν νπνίνο ζα δηαβάδεη ην κέγεζνο ηεο θάζε θσηνγξαθίαο πνπ επηρεηξείηαη λα απνζεθεπηεί ζην άικπνπκ, κέρξη ην άικπνπκ λα κε ρσξάεη άιιε θσηνγξαθία. Ο αιγόξηζκνο ζα επαλαιακβάλεηαη θαη ζα ζηακαηά αλ ην κέγεζνο ηεο θσηνγξαθίαο πνπ πξνζπαζεί θάπνηνο λα απνζεθεύζεη είλαη κεγαιύηεξν από ηνλ δηαζέζηκν ρώξν ηνπ άικπνπκ. Όηαλ ε εηζαγσγή θσηνγξαθηώλ ζηακαηήζεη, ν αιγόξηζκνο ζα εθηππώλεη ην κήλπκα «Δελ ρσξάεη». Σηελ πεξίπησζε πνπ πεξίζζεςε ρώξνο λα ηνλ εθηππώλεη. Τέινο, λα εθηππώλεη ην πιήζνο ησλ θσηνγξαθηώλ πνπ απνζεθεύηεθαλ. 2
Άζθεζε 34 ζει 53 Η ζπλέρεηα ηεο εθηέιεζεο ηεο εληνιή Όζν ζηελ ζπγθεθξηκέλε άζθεζε εμαξηάηαη από ην αλ ην κέγεζνο ηεο θσηνγξαθίαο πνπ πξόθεηηαη λα απνζεθεπηεί είλαη κηθξόηεξν από ην δηαζέζηκν ρώξν. Ο δηαζέζηκνο όκσο ρώξνο θάζε θνξά πνπ απνζεθεύεηαη κία θσηνγξαθία κεηώλεηαη. Έλαο αιγόξηζκνο πνπ επηιύεη ην ζπγθεθξηκέλν πξόβιεκα θαη βαζίδεηαη ζηηο παξαπάλσ παξαηεξήζεηο είλαη ν αθόινπζνο. 3
Άζθεζε 34 ζει 53 Αιγόρηζκος Άικπνπκ Γεδοκέλα // Ν //! Μέγεζνο δηαζέζηκνπ ρώξνπ Πιήζνο 0 Γηάβαζε Μέγεζνο Όζο Μέγεζνο Ν επαλάιαβε Πιήζνο Πιήζνο + 1 Ν Ν - Μέγεζνο Γηάβαζε Μέγεζνο Τέιος_επαλάιευες Έιεγρνο αλ ην δηαζέζηκν κέγεζνο είλαη αξθεηό Απνζήθεπζε ηεο θσηνγξαθίαο Μείσζε ηνπ δηαζέζηκνπ ρώξνπ 4
Άζθεζε 34 ζει 53 Δθηύπφζε "Δελ ρσξάεη" Αλ Ν > 0 ηόηε Γράυε Ν Τέιος_αλ Γράυε Πιήζνο Τέιος Άικπνπκ 5
Δπαλάιαβε Εληνιέο Μέτρης_όηοσ Σπλζήθε Εθηεινύληαη νη εληνιέο κέρξηο όηνπ ε ζπλζήθε γίλεη αιεζήο. 6
Όπσο θαη ε εληνιή Όζν θαηά βάζε ρξεζηκνπνηείηαη γηα άγλσζην αξηζκό εθηειέζεσλ. Δειαδή ην πόζεο θνξέο εθηειείηαη ε επαλάιεςε γίλεηαη γλσζηό κεηά ην ηέινο ησλ εθηειέζεσλ ηεο. Μία όκσο ζεκαληηθή δηαθνξά ζηε ιεηηνπξγία ηεο ζε ζρέζε κε ηελ εληνιή Όζν, είλαη όηη νη εκπεξηερόκελεο εληνιέο εθηεινύληαη ηνπιάρηζηνλ κία θνξά. 7
Έλα παξάδεηγκα ρξήζεο ηεο εληνιήο είλαη ην αθόινπζν: Πνιύ ζπρλά ζηηο εθαξκνγέο πξνβάιιεηαη ζηελ νζόλε έλαο θαηάινγνο από δπλαηέο επηινγέο (menu) θαη ζηε ζπλέρεηα δεηείηαη από ην ρξήζηε λα δηαιέμεη κία κόλν από απηέο. Σηελ πην απιή πεξίπησζε, νη δπλαηέο επηινγέο είλαη αξηζκεκέλεο, νπόηε απιά δεηείηαη ε εηζαγσγή ελόο αθέξαηνπ αξηζκνύ. 8
Δπαλάιαβε Δκθάληζε ''1. Ελεκέξσζε'' Δκθάληζε ''2. Εθηύπσζε'' Δκθάληζε ''3. Έμνδνο'' Δκθάληζε ''Επηινγή:'' Γηάβαζε Επηινγή Μέτρης_όηοσ Επηινγή = 1 ή Επηινγή = 2 ή Επηινγή = 3 9
Σην παξαπάλσ ηκήκα αιγνξίζκνπ, ν βξόρνο επαλαιακβάλεηαη κέρξη λα δνζεί 1, 2 ή 3. Με ηνλ ηξόπν απηό πξνζηαηεύεηαη ην πξόγξακκα εθαξκνγήο από ηπρόλ ιαλζαζκέλε εηζαγσγή ηηκώλ από ηνλ ρξήζηε. Υπνηίζεηαη όηη αλάινγα κε ηελ επηινγή, ν πην πάλσ αιγόξηζκνο δηαθιαδίδεηαη ζε άιια ζεκεία, όπνπ ππάξρνπλ νη εληνιέο πινπνίεζεο θάζε ιεηηνπξγίαο. 10
Τράπεδα ζεκάηφλ, 19353, ΘΔΜΑ Β2 Σηνπο παξαθάησ δύν αιγόξηζκνπο ππάξρεη κηα δνκή επαλάιεςεο ζε θαζέλα. Πόζεο θνξέο ζα εθηειεζηνύλ νη εληνιέο πνπ ππάξρνπλ κέζα ζηνλ επαλάιεςε ζηνλ θάζε Αιγόξηζκν. Αηηηνινγήζηε επηγξακκαηηθά ηελ απάληεζή ζαο. Αλγόριθμοσ 1 Αλγόριθμοσ 2 Α 0 Α 0 Σ 0 Σ 0 Όςο Α <> 0 Επανάλαβε Επανάλαβε Σ Σ + Α Σ Σ + Α Εμφάνιςε Σ Εμφάνιςε Σ Τέλοσ_Επανάληψησ Μέχρισ_ότου Α=0 11
Αιγόξηζκνο 1 Αιγόξηζκνο 2 Α Σ Α <> 0 Έξοδος Α Σ Α = 0 Έξοδος 0 0 0 0 Ψευδής - 0 0 Αληθής Άξα ζηνλ 1ν αιγόξηζκν δελ ζα εθηειεζηνύλ νη εληνιέο πνπ ππάξρνπλ κέζα ζηελ επαλάιεςε, αθνύ ε ζπλζήθε είλαη ςεπδήο θαηά ηνλ πξώην έιεγρν, ελώ ζηνλ 2ν αιγόξηζκν ζα εθηειεζηνύλ κία θνξά, αθνύ ε ζπλζήθε ζα ειεγρζεί αθνύ εθηειεζηνύλ νη εκπεξηερόκελεο εληνιέο. Σηε ζπλέρεηα ειέγρεηαη ε ζπλζήθε, ε νπνία είλαη αιεζήο θαη ε επαλάιεςε νινθιεξώλεηαη 12