ΕΠ.12 Να αναπτυχθεί αλγόριθμος που θα εκτυπώνει τους θετικούς τριψήφιους ακέραιους που είναι πολλαπλάσιοι του 7, καθώς και το πλήθος των αριθμών αυτών. Θα χρησιμοποιήσουμε ένα μετρητή που θα καταμετρά τους τριψήφιους ακέραιους που είναι πολλαπλάσιοι του 7. Ο μετρητής απαιτεί 2 εντολές : 1. Μηδενισμό του μετρητή πριν επανάληψη. 2. Αύξηση της τιμής κατά μία μονάδα, εντός του βρόχου. Ο αλγόριθμος είναι ο ακόλουθος: πλήθος 0 Πολλαπλάσια_7 Για i από 100 μέχρι 999 Αν imod7=0 τότε! Πολλαπλάσιο του 7 πλήθος πλήθος+1 _αν Ο αριθμός,i, ικανοποιεί τις προϋποθέσεις πλήθος Πολλαπλάσια_7
ΕΠ.12 Να αναπτυχθεί αλγόριθμος που θα εκτυπώνει τους θετικούς τριψήφιους ακέραιους που είναι πολλαπλάσιοι του 7, καθώς και το πλήθος των αριθμών αυτών. Ο αλγόριθμος μπορεί να γραφεί και με άλλο τρόπο. Θα ξεκινήσουμε με από τον πρώτο τριψήφιο ακέραιο που είναι πολλαπλάσιος του 7 ( τον 105 ) και με βήμα 7 θα διατρέξουμε όλα τα πολλαπλάσια, μέχρι τον τελευταίο τριψήφιο. Ο αλγόριθμος είναι ο ακόλουθος: πλήθος 0 Πολλαπλάσια_7 Για i από 105 μέχρι 999 με_βήμα 7 πλήθος πλήθος+1 πλήθος Πολλαπλάσια_7 Ο αριθμός,i, ικανοποιεί τις προϋποθέσεις
ΕΠ.13 Να αναπτυχθεί αλγόριθμος που θα εκτυπώνει όλους τους θετικούς τριψήφιους ακέραιους, των οποίων η τιμή είναι ίση με το άθροισμα των κύβων των ψηφίων τους(αριθμοί Armstrong). Η άσκηση μπορεί να επιλυθεί με δύο προσεγγίσεις. Η 1 η προσέγγιση είναι να διατρέξουμε όλους τους τριψήφιους ακέραιους, να απομονώσουμε τα 3 ψηφία τους και να ελέγξουμε τη συνθήκη της εκφώνησης. Ο αλγόριθμος είναι ο ακόλουθος: κύβος_τριψήφιων Για Χ από 100 μέχρι 999 εκατοντάδες Χ div 100 βοηθητική Χ mod 100 δεκάδες βοηθητική div 10 μονάδες βοηθητική mod 10 ποσότητα εκατοντάδες^3+ δεκάδες^3+ μονάδες^3 Αν ποσότητα=χ τότε Ο αριθμός,χ, ικανοποιεί τις προϋποθέσεις _αν κύβος_τριψήφιων
ΕΠ.13 Να αναπτυχθεί αλγόριθμος που θα εκτυπώνει όλους τους θετικούς τριψήφιους ακέραιους, των οποίων η τιμή είναι ίση με το άθροισμα των κύβων των ψηφίων τους(αριθμοί Armstrong). Η άσκηση μπορεί να επιλυθεί με δύο προσεγγίσεις. Η 1 η προσέγγιση είναι να διατρέξουμε όλους τους τριψήφιους ακέραιους, να απομονώσουμε τα 3 ψηφία τους και να ελέγξουμε τη συνθήκη της εκφώνησης. Η 2 η προσέγγιση είναι με τη χρήση τριών δομών επανάληψης, ώστε να δημιουργήσουμε τις εκατοντάδες, δεκάδες και μονάδες (τιμές 0 έως 9) δηλαδή τρία ψηφία ενός τριψήφιου αριθμού και να ελέγξουμε τη συνθήκη της εκφώνησης. Ο αλγόριθμος είναι ο ακόλουθος: κύβος_τριψήφιων Για εκατοντάδες από 1 μέχρι 9! Αν άρχιζε από 0 δεν θα ήταν τριψήφιος Για δεκάδες από 0 μέχρι 9 Για μονάδες από 0 μέχρι 9 ποσότητα εκατοντάδες^3+ δεκάδες^3+ μονάδες^3 Χ 100*εκατοντάδες+ 10*δεκάδες+ μονάδες Αν ποσότητα =Χ τότε Ο αριθμός,χ, ικανοποιεί τις προϋποθέσεις _αν κύβος_τριψήφιων
ΕΠ.14 Να αναπτυχθεί αλγόριθμος που θα βρίσκει και θα εκτυπώνει όλους τους θετικούς τετραψήφιους ακέραιους που μπορούν να διαβαστούν και ανάποδα (για παράδειγμα 1331, 7447, 9229 κλπ.). Η άσκηση μπορεί να επιλυθεί με διάσπαση των ψηφίων του αριθμού με τη διαφορά ότι θα αντιστοιχήσουμε τις χιλιάδες με τις μονάδες και τις εκατοντάδες με τις δεκάδες. Ο αλγόριθμος είναι ο ακόλουθος: τετραψήφιος_ανάποδα Για Χ από 1000 μέχρι 9999 χιλιάδες Χ div 1000 βοηθητική Χ mod 1000 εκατοντάδες βοηθητική div 100 βοηθητική βοηθητική mod 100 δεκάδες βοηθητική div 10 μονάδες βοηθητική mod 10 Αν χιλιάδες =μονάδες και εκατοντάδες=δεκάδες τότε Ο αριθμός,χ, ικανοποιεί τις προϋποθέσεις _αν τετραψήφιος_ανάποδα
ΕΠ.15 Να αναπτυχθεί αλγόριθμος που θα διαβάζει ένα αριθμό Ν μεγαλύτερο του 1 και θα ελέγχει αν ισχύει η ισότητα: (1+2+3+.+Ν) 2 =1 3 +2 3 +3 3 +4 3 +..+Ν 3 Ο αλγόριθμος είναι ο ακόλουθος: Επαλήθευση Διάβασε Ν! Θεωρώ ότι Ν>1 άθροισμα1 0 άθροισμα2 0 Για i από 1 μέχρι N άθροισμα1 άθροισμα1 +i άθροισμα2 άθροισμα2 +i^3 άθροισμα1 άθροισμα1^2 Αν άθροισμα1 = άθροισμα2 τότε Η ισότητα της εκφώνησης ισχύει. Αλλιώς Η ισότητα της εκφώνησης δεν ισχύει. _αν Επαλήθευση
ΕΠ.16 Να αναπτυχθεί αλγόριθμος που θα διαβάζει 500 θετικούς ακέραιους αριθμούς και θα εκτυπώνει το ποσοστό των αριθμών που είναι διψήφιοι. Ο αλγόριθμος είναι ο ακόλουθος: διψήφιοι 0 Ποσοστό_Διψήφιων Για i από 1 μέχρι 500 Διάβασε αριθμός Αν αριθμός >= 10 και αριθμός <= 99 τότε διψήφιοι διψήφιοι +1 _αν ποσοστό 100*διψήφιοι/500 Το ποσοστό των διψήφιων είναι,ποσοστό Ποσοστό_Διψήφιων
ΕΠ.17 Να αναπτυχθεί αλγόριθμος που θα διαβάζει Ν ακέραιους αριθμούς (όπου Ν δεδομένος ακέραιος) και θα εκτυπώνει το άθροισμα και το μέσο όρο άρτιων. Όταν καλούμαστε να υπολογίσουμε κάποιο μέσο όρο, πρέπει να υπολογίσουμε τον αντίστοιχο αριθμητή και παρονομαστή. Ο παρονομαστής συνήθως είναι το πλήθος των επαναλήψεων, ενώ για τον αριθμητή αρκεί η χρήση ενός αθροιστή. Ο αλγόριθμος είναι ο ακόλουθος: Άρτιοι Άρτιοι Δεδομένα // Ν // άθροισμα_άρτιων 0 πλήθος_άρτιων 0 Για i από 1 μέχρι N Διάβασε αριθμός Αν αριθμός mod 2= 0 τότε άθροισμα_άρτιων άθροισμα_άρτιων +αριθμός πλήθος_άρτιων πλήθος_άρτιων + 1 _αν Αν πλήθος_αρτίων <> 0 τότε! Κριτήριο καθοριστικότητας μέσος_όρος άθροισμα_άρτιων / πλήθος_άρτιων _αν άθροισμα_άρτιων, μέσος_όρος
ΕΠ.18 Να αναπτυχθεί αλγόριθμος που θα διαβάζει το πολύ 100 ακέραιους αριθμούς, από τους οποίους το πολύ 20 θα είναι αρνητικοί. Ο αλγόριθμος θα εκτυπώνει το ποσοστό των θετικών και των αρνητικών αριθμών που διάβασε (τα μηδενικά δεν θεωρούνται θετικοί ούτε αρνητικοί). Φτιάχνουμε τον σκελετό της επανάληψης: Το πολύ 100 ακεραίους. Αρχικοποιούμε τις μεταβλητές που συμμετέχουν στη συνθήκη του βρόχου Ο αλγόριθμος είναι ο ακόλουθος: όλοι 0 αρνητικοί 0 Ποσοστά_αριθμών θετικοί 0 Όσο (όλοι <100) και (αρνητικοί<20) επανέλαβε Διάβασε αριθμός Αν αριθμός < 0 τότε αρνητικοί αρνητικοί+1 Αλλιώς_αν αριθμός > 0 τότε θετικοί θετικοί +1 _αν όλοι όλοι+1 ποσοστό_θετικών 100*θετικοί/όλοι ποσοστό_αρνητικών 100*αρνητικοί/όλοι ποσοστό_θετικών,ποσοστό_αρνητικών Ποσοστά_αριθμών
ΕΠ.19 Να αναπτυχθεί αλγόριθμος που θα διαβάζει αριθμούς αγνώστου πλήθους και θα εκτυπώνει το μέσο όρο τους. Η επαναληπτική διαδικασία θα τερματίζεται όταν δοθεί ο αριθμός -9999 ο οποίος δεν θα καταμετράται. Θα επιλύσουμε την άσκηση με τη χρήση της δομής Μέχρις_ότου. άθροισμα 0 πλήθος 0 Αρχή_επανάληψης Διάβασε αριθμός άθροισμα άθροισμα +αριθμός πλήθος πλήθος+ 1 Μέχρις _ότου αριθμός =-9999 Ο αλγόριθμος έχει λογικό λάθος. Ο αριθμός που οδηγεί στον τερματισμό θα προστεθεί και αυτός στο άθροισμα και θα καταμετρηθεί στο πλήθος, κάτι που θα οδηγήσει σε λάθος αποτελέσματα. Αυτός το λάθος είναι συνέπεια της ιδιότητας της δομής Μέχρις_ότου, όπου η συνθήκη ελέγχεται στο τέλος του βρόχου και, και διορθώνεται με τη προσθήκη της δομής επιλογής Αν.
ΕΠ.19 Να αναπτυχθεί αλγόριθμος που θα διαβάζει αριθμούς αγνώστου πλήθους και θα εκτυπώνει το μέσο όρο τους. Η επαναληπτική διαδικασία θα τερματίζεται όταν δοθεί ο αριθμός -9999 ο οποίος δεν θα καταμετράται. Ο αλγόριθμος είναι ο ακόλουθος: ΜΟ_Αριθμών άθροισμα 0 πλήθος 0 Αρχή_επανάληψης Διάβασε αριθμός Αν αριθμός<> -9999 τότε άθροισμα άθροισμα +αριθμός πλήθος πλήθος+ 1 _αν Μέχρις _ότου αριθμός =-9999 Αν πλήθος<> 0 τότε! Κριτήριο καθοριστικότητας μέσος_όρος άθροισμα/πλήθος πλήθος,μέσος_όρος Αλλιώς Δεν δόθηκε κανένας αριθμός _αν ΜΟ_Αριθμών Παρατηρούμε ότι υπάρχει περίπτωση να μην εκτελεστεί καμία φορά το τμήμα εντολών του βρόχου, άρα μάλλον ταιριάζει η δομή επανάληψης Όσο.
ΕΠ.19 Να αναπτυχθεί αλγόριθμος που θα διαβάζει αριθμούς αγνώστου πλήθους και θα εκτυπώνει το μέσο όρο τους. Η επαναληπτική διαδικασία θα τερματίζεται όταν δοθεί ο αριθμός -9999 ο οποίος δεν θα καταμετράται. Ο αλγόριθμος είναι ο ακόλουθος: ΜΟ_Αριθμών άθροισμα 0 πλήθος 0 Διάβασε αριθμός Όσο αριθμός<> -9999 επανέλαβε άθροισμα άθροισμα +αριθμός πλήθος πλήθος+ 1 Διάβασε αριθμός Αν πλήθος<> 0 τότε! Κριτήριο καθοριστικότητας μέσος_όρος άθροισμα/πλήθος πλήθος,μέσος_όρος Αλλιώς Δεν δόθηκε κανένας αριθμός _αν ΜΟ_Αριθμών Προστέθηκε άλλη μια εντολή Διάβασε, ώστε να αρχικοποιηθεί η μεταβλητή αριθμός. Στη συνέχεια, στο τέλος του βρόχου διαβάζεται η επόμενη τιμή για να χρησιμοποιηθεί στον επόμενο έλεγχο. Προτείνεται η δομή Όσο για επίλυση ασκήσεων όπου το πλήθος των επαναλήψεων είναι άγνωστο.
ΕΠ.20 Να αναπτυχθεί αλγόριθμος που θα διαβάζει χαρακτήρες κειμένου, μέχρι να συναντήσει τους χαρακτήρες. ή!.ο αλγόριθμος εκτυπώνει το πλήθος των χαρακτήρων που διάβασε καθώς και το πλήθος εμφανίσεων του χαρακτήρα α. Οι χαρακτήρες. και! δεν καταμετρούνται. Θα επιλύσουμε την άσκηση με τη χρήση της δομής Όσο. συνολικό_πλήθος 0 πλήθος_α 0 Μέτρηση_Χαρακτήρων Διάβασε γράμμα Όσο γράμμα<>. και γράμμα<>! επανέλαβε συνολικό_πλήθος συνολικό_πλήθος +1 Αν γράμμα= α τότε πλήθος_α πλήθος_α+1 _αν! Για την επόμενη εντολή συνολικό_πλήθος,πλήθος_α Μέτρηση_Χαρακτήρων
ΕΠ.21 Να αναπτυχθεί αλγόριθμος που θα διαβάζει ζεύγη αριθμών. Ο αλγόριθμος θα ρωτάει τον χρήστη αν επιθυμεί να συνεχίσει την καταχώρηση νέων στοιχείων. Στο τέλος της επαναληπτικής διαδικασίας θα εκτυπώνει το πλήθος των ζευγαριών που διάβασε. Σε αυτό το παράδειγμα ενδείκνυται η χρήση της δομής Μέχρις_ότου, αφού επιθυμούμε την επεξεργασία όλων των στοιχείων που διαβάζουμε. πλήθος 0 Ζεύγη_τιμών Αρχή_επανάληψης Διάβασε τιμή1,τιμή2 πλήθος πλήθος +1 Επιθυμείτε να συνεχίσετε(ναι/οχι); Διάβασε απάντηση Μέχρις _ότου απάντηση = OXI Τα ζεύγη τιμών που διαβάστηκαν είναι,πλήθος Ζεύγη_τιμών
ΕΠ.22 Να αναπτυχθεί αλγόριθμος που θα διαβάζει έναν αριθμό (μεγαλύτερο του 0) και θα υπολογίζει το άθροισμα: S=1+2 2 +3 3 +4 4 + μέχρι το S να ξεπεράσει την τιμή του αριθμού που διαβάστηκε. Ο αλγόριθμος θα εκτυπώνει το πλήθος των όρων που χρειάστηκαν για τον υπολογισμό του S. Άθροισμα_Όριο Αρχή_επανάληψης Διάβασε Όριο Μέχρις _ότου Όριο > 0 i 1 S 0 Όσο S<=Όριο επανέλαβε S S+i^i i i+1 Οι επαναλήψεις που απαιτήθηκαν είναι,i Άθροισμα_Όριο
ΕΠ.23 Να αναπτυχθεί αλγόριθμος που θα υπολογίζει το άθροισμα: S= 1 2 + 1 4 + 1 6 ώστε το S να έχει τον τελευταίο όρο αυτόν που δεν θα ξεπερνάει την τιμή 0.00001. Ο αλγόριθμος θα εκτυπώνει το πλήθος των επαναλήψεων που χρειάστηκαν για τον υπολογισμό του S. + 1 8 +. Άθροισμα_Ακρίβεια Όριο 0.00001 i 1 S 0 επόμενος_όρος 1/2 Όσο επόμενος_όρος>όριο επανέλαβε S S+επόμενος_όρος i i+1 επόμενος_όρος 1/(2*i) Οι επαναλήψεις που απαιτήθηκαν είναι,i Άθροισμα_Ακρίβεια
ΕΠ.24 Να αναπτυχθεί αλγόριθμος που θα διαβάζει έναν ακέραιο αριθμό και θα εκτυπώνει το πλήθος των ψηφίων του. Ας θεωρήσουμε για παράδειγμα τον αριθμό 3275. 4 ψηφία Αν διαιρέσουμε τον αριθμό με το 10000. 10^4 το ακέραιο μέρος της διαίρεσης είναι 0 και τα ψηφία του αριθμού είναι 4 όσα και τα μηδενικά του 10000. Έτσι, για να υπολογίσουμε το πλήθος των ψηφίων αρκεί να διαιρέσουμε τον αριθμό με το 10, το 100, Άγνωστος αριθμός το 1000 κλπ επαναλήψεων. μέχρι το ακέραιο μέρος της διαίρεσης να είναι 0. 3275 10000 0,3275 Ακέραιο μέρος
ΕΠ.24 Να αναπτυχθεί αλγόριθμος που θα διαβάζει έναν ακέραιο αριθμό και θα εκτυπώνει το πλήθος των ψηφίων του. Δεν είναι γνωστό το πλήθος των επαναλήψεων που θα χρειαστούν, άρα θα χρησιμοποιήσουμε τη δομή Όσο. ΑΛΛΙΩΣ Πλήθος_ψηφίων Διάβασε αριθμός ψηφία 1 Όσο αριθμόςdiv10^ψηφία <>0 επανέλαβε ψηφία ψηφία+1 Πλήθος_ψηφίων Διάβασε αριθμός ψηφία 0 Αρχή_επανάληψης ψηφία ψηφία+1 αριθμός αριθμόςdiv10^ψηφία Μέχρις_ότου αριθμός=0 Τα ψηφία είναι,ψηφία Τα ψηφία είναι,ψηφία Πλήθος_ψηφίων Πλήθος_ψηφίων
ΕΠ.25 Όταν κάποιος φταρνίζεται,συνηθίζεται να του λένε ένα τετραψήφιο αριθμό. Τότε αυτός προσθέτει τα ψηφία του αριθμού, μέχρι αν αντιστοιχεί σε κάποιο γράμμα της αλφαβήτου. Να αναπτύξετε αλγόριθμο που θα διαβάζει έναν αριθμό, με 4 ψηφία, και θα εντοπίζει το γράμμα της αλφαβήτου που αντιστοιχεί στο φτάρνισμα. Ο αλγόριθμος είναι: Με_τις_υγείες_σας Αρχή_επανάληψης Διάβασε αριθμός Μέχρις _ότου (αριθμός> =1000) και (αριθμός< =9999)! 4 ψηφία Αρχή_επανάληψης χιλιάδες αριθμός div 1000! Βρίσκω τις χιλιάδες βοηθητική1 αριθμός mod 1000! Βρίσκω τον υπόλοιπο αριθμό εκατοντάδες βοηθητική1 div 100 βοηθητική2 βοηθητική1 mod 100 δεκάδες βοηθητική2 div 10 μονάδες βοηθητική2 mod 10 αριθμός χιλιάδες+εκατοντάδες+δεκάδες+μονάδες Μέχρις _ότου αριθμός< =24 Προκύπτει το γράμμα που βρίσκεται στη θέση, αριθμός Με μια δομή πίνακα αντιστοιχίζουμε τον αριθμό με το γράμμα. Με_τις_υγείες_σας
ΕΠ.26 Ένας τρόπος υπολογισμού των τριγωνομετρικών συναρτήσεων στους υπολογιστές, είναι με τον υπολογισμό των παρακάτω σειρών: ημχ= x - x 3 3! + x5 5! - x 7 7! +. και συνχ= 1 - x 2 2! + x4 Να γραφεί αλγόριθμος ο οποίος θα διαβάζει τη γωνία x σε μοίρες και θα υπολογίζει το ημίτονο και το συνημίτονο της, σύμφωνα με τους παραπάνω τύπους. Ποια μπορεί να είναι τα κριτήρια για διακοπή των επαναλήψεων; Υπόδειξη : Να μετατραπεί αρχικά η γωνία x σε ακτίνια. Υπάρχουν δύο τρόποι για τον τερματισμό της επανάληψης κατά τον υπολογισμό του αθροίσματος: Η επανάληψη τερματίζεται όταν ο νέος όρος του αθροίσματος είναι μικρότερος από μια πολύ μικρή τιμή (για παράδειγμα 0.00001), και έτσι ο όρος αυτός δεν θα τροποποιήσει κατά πολύ το άθροισμα. Συγκρίνεται το άθροισμα με την πραγματική τιμή του ημιτόνου/συνημιτόνου της γωνίας (αντίστοιχες συναρτήσεις γλώσσας-δες Τυπολόγιο ) 4! - x 6 6! +.
ΕΠ.26 Ένας τρόπος υπολογισμού των τριγωνομετρικών συναρτήσεων στους υπολογιστές, είναι με τον υπολογισμό των παρακάτω σειρών: ημχ= x - x 3 3! + x 5 5! - x 7 7! +. και συνχ= 1 - Τριγωνομετρία όριο 0.00001 π 3.14 Διάβασε γωνία_μοίρες γωνία γωνία_μοίρες*π/180 ημίτονο γωνία i 1 N 3 Αρχή_επανάληψης παρονομαστής 1 Για k από 1 μέχρι N! Δημιουργώ παραγοντικό παρονομαστής παρονομαστής*k νέος_όρος (-1)^i*γωνία^Ν/παρονομαστής ημίτονο ημίτονο+ νέος_όρος i i+1! Μεταφέρομαι να δημιουργήσω το νέο όρο N N+2! Και να δημιουργήσω το νέο παραγοντικό Αν νέος_όρος>= 0 τότε Απόλ_τιμή_νέος νέος_όρος Αλλιώς Απόλ_τιμή_νέος (-1)*νέος_όρος _αν Μέχρις _ότου Απόλ_τιμή_νέος <=όριο x 2 2! + x 4 4! - x 6 6! +. συνημίτονο 1 i 1 N 2 Αρχή_επανάληψης παρονομαστής 1 Για k από 1 μέχρι N παρονομαστής παρονομαστής*k νέος_όρος (-1)^i*γωνία^Ν/παρονομαστής συνημίτονο συνημίτονο+ νέος_όρος i i+1 N N+2 Αν νέος_όρος>= 0 τότε Απόλ_τιμή_νέος νέος_όρος Αλλιώς Απόλ_τιμή_νέος (-1)*νέος_όρος _αν Μέχρις _ότου Απόλ_τιμή_νέος <=όριο Το ημίτονο είναι,ημίτονο Το συνημίτονο είναι,συνημίτονο Τριγωνομετρία