Ρομπότ ελέγχου εκτελεστών στο σύστημα KUMIR

Το ρομπότ υπάρχει σε ένα συγκεκριμένο περιβάλλον (ορθογώνιο καρό πεδίο). Οι τοίχοι μπορούν να βρίσκονται ανάμεσα σε ορισμένα κελιά του πεδίου. Ορισμένα κελιά ενδέχεται να είναι σκιασμένα (Εικ. 3.11).

Το ρομπότ καταλαμβάνει ακριβώς ένα κελί του πεδίου.

Στις εντολές πάνω, κάτω, αριστερά και δεξιά, το ρομπότ μετακινείται στο επόμενο κελί προς την καθορισμένη κατεύθυνση. Εάν υπάρχει τοίχος στο δρόμο, τότε παρουσιάζεται αποτυχία - εμφανίζεται ένα μήνυμα σχετικά με την αδυναμία εκτέλεσης της επόμενης εντολής.

Με εντολή να ζωγραφίσει, το ρομπότ ζωγραφίζει το κελί στο οποίο βρίσκεται. Εάν το κελί έχει ήδη ζωγραφιστεί, θα ζωγραφιστεί ξανά, αν και δεν θα υπάρξουν ορατές αλλαγές.

Το ρομπότ μπορεί να εκτελέσει μόνο σωστά γραμμένες εντολές. Εάν γράψετε αντί για την εντολή κάτω, τότε το ρομπότ δεν θα κατανοήσει αυτήν την καταχώρηση και θα αναφέρει αμέσως ένα σφάλμα.

Ο
λάθη: 1 συντακτικό; 2. λογικό

Οι περιγραφές των περιβαλλόντων αποθηκεύονται σε αρχεία κειμένου ειδικής μορφής (μορφή .fil).

Ρεύμα- το περιβάλλον στο οποίο βρίσκεται αυτήν τη στιγμή το ρομπότ (συμπεριλαμβανομένων πληροφοριών σχετικά με τη θέση του ρομπότ).

Σπίτι- το περιβάλλον στο οποίο τοποθετείται αναγκαστικά το Ρομπότ στην αρχή της εκτέλεσης του προγράμματος χρησιμοποιώντας το Ρομπότ.

ΔΙΑΔΙΚΑΣΙΑ ΛΕΙΤΟΥΡΓΙΑΣ:


  1. Παρακαλώ περιβάλλον εκκίνησηςσύμφωνα με την εργασία:
Εργαλεία μενού → Αλλαγή του περιβάλλοντος εκκίνησης του ρομπότ (σχεδιάστε το περιβάλλον σύμφωνα με την κατάσταση εργασίας, δώστε ένα όνομα, αποθηκεύστε στον Προσωπικό φάκελο)

2. Προσδιορίστε τον Ανάδοχο:

Εισαγωγή μενού → Χρήση ρομπότ

3. Γράψτε έναν αλγόριθμο για την επίλυση του προβλήματος.

4. Εκτελέστε τον αλγόριθμο (Μενού Εκτέλεση → Συνεχής εκτέλεση / F9)

Το σύστημα εντολών του ρομπότ εκτελεστή στο σύστημα KUMIR


Ομάδα

Δράση

πάνω

Το ρομπότ ανεβαίνει 1 κελί

πολύ κάτω

Το ρομπότ κινείται προς τα κάτω 1 κελί

αριστερά

Το ρομπότ μετακινεί 1 κελί προς τα αριστερά

σωστά

Το ρομπότ μετακινεί 1 κελί προς τα δεξιά

ζωγραφίζω

Το ρομπότ ζωγραφίζει το κελί στο οποίο βρίσκεται

δικαίωμα δωρεάν

Το ρομπότ ελέγχει την εκτέλεση του αντίστοιχου απλόςόροι

έμεινε ελεύθερος



πάνω χαλαρό



κάτω χαλαρό



το κελί είναι σκιασμένο



κλουβί καθαρό



Κυκλικοί αλγόριθμοι

Κύκλοςοργάνωση επαναλαμβανόμενων ενεργειών έως ότου ισχύει μια συγκεκριμένη συνθήκη .

Σώμα βρόχου -ένα σύνολο επαναλαμβανόμενων ενεργειών.

Κατάσταση - Boolean έκφραση (απλή ή σύνθετη (σύνθετη))
Τύποι κύκλου:

1.Βρόχος "Επανάληψη n φορές" 2. Επανάληψη "Αντίο"
nc n φορές nts αντίο
. . Σώμα βρόχου. . Σώμα βρόχου
kts kts

Παράδειγμα: nts αντίοδικαίωμα δωρεάν


Γενική προβολή του κύκλου "Επανάληψη n φορές:

ΕΠΑΝΑΛΗΨΗ n ΦΟΡΕΣ

ΤΟ ΤΕΛΟΣ
kts

Γενική άποψη του βρόχου while:

ΕΝΩ ΝΑ ΚΑΝΟΥΜΕ

ΤΟ ΤΕΛΟΣ
Σύνθετες συνθήκεςσχηματίζονται από μία ή περισσότερες απλές συνθήκες και λέξεις υπηρεσίας ΚΑΙ, Ή, ΟΧΙ.


Σύνθετη Κατάσταση Α και Β(όπου Α, Β είναι απλές συνθήκες) ικανοποιείται όταν ικανοποιείται καθεμία από τις δύο απλές συνθήκες που περιλαμβάνονται σε αυτήν.

Αφήστε τον Α - δωρεάν στην κορυφήΣΤΟ - δωρεάν στα δεξιάτότε η σύνθετη συνθήκη Α και Β- δωρεάν στην κορυφή ΚΑΙ δωρεάν στα δεξιά.


Σύνθετη Κατάσταση Α Ή Β ικανοποιείται όταν ικανοποιείται τουλάχιστον μία από τις δύο απλές προϋποθέσεις που περιλαμβάνονται σε αυτήν: επάνω δωρεάν Ή δικαίωμα δωρεάν
Σύνθετη Κατάσταση ΔΕΝ ΕΙΝΑΙ- πληρούται όταν δεν πληρούται η προϋπόθεση Α.

Παράδειγμα:Έστω A ένα σκιασμένο κελί (απλή συνθήκη).

Π Έλεγχος της συνθήκης της ένωσης ΟΧΙ Α:

α) Α - έγινε, ΟΧΙ Α (ΟΧΙ σκιασμένο) - δεν έγινε.

β) Α ​​- δεν έγινε, ΟΧΙ Α (ΟΧΙ σκιασμένο) - έγινε.


Εντολή υποκαταστήματος

Διακλάδωση -μια μορφή οργάνωσης ενεργειών κατά την οποία, ανάλογα με την εκπλήρωση ή τη μη εκπλήρωση μιας συγκεκριμένης προϋπόθεσης, εκτελείται είτε η μία είτε η άλλη ακολουθία ενεργειών.

Γενική άποψη της εντολής IF:

ΑΝ ΕΠΕΙΤΑ ΣΕ ΔΙΑΦΟΡΕΤΙΚΗ ΠΕΡΙΠΤΩΣΗ

ΤΟ ΤΕΛΟΣ

Στη γλώσσα KUMIR:

Πλήρης διακλάδωση: Μερική διακλάδωση:
αν έπειτα αν έπειτα

σε διαφορετική περίπτωση

όλα όλα

Βοηθητικός αλγόριθμος- ένας αλγόριθμος που λύνει κάποιο υποπρόβλημα του κύριου προβλήματος.

Στο σύστημα KUMIR, οι βοηθητικοί αλγόριθμοι γράφονται στο τέλος του κύριου προγράμματος (μετά τη λέξη υπηρεσίας ενάντιος) καλούνται για εκτέλεση στο κύριο πρόγραμμα ονομαστικά.

ΣΤΟ έρευνες και εργασίες

1. Δώστε όλους τους αλγόριθμους των τριών εντολών που θα μετακινήσουν το Ρομπότ από την αρχική του θέση στο κελί Β.

Υπάρχει αλγόριθμος για αυτήν την εργασία, κατά την οποία το ρομπότ κάνει:

α) δύο βήματα β) τέσσερα βήματα. γ) πέντε βήματα. δ) επτά βήματα;


  1. Ο Petya έφτιαξε έναν αλγόριθμο που μεταφέρει το ρομπότ από το κελί Α στο κελί Β με μερικά κελιά ζωγραφισμένα. Τι πρέπει να κάνει ο Κόλια με αυτόν τον αλγόριθμο για να αποκτήσει έναν αλγόριθμο που θα μεταφέρει το ρομπότ από το Β στο Α και θα γεμίσει τα ίδια κελιά;


7. Είναι γνωστοί δύο βοηθητικοί αλγόριθμοι ρομπότ

Σχεδιάστε τι συμβαίνει όταν το ρομπότ εκτελεί τους ακόλουθους βασικούς αλγόριθμους:


ένα)

nc 5 φορές


πρότυπο_1

σωστά; σωστά;


σι)

nc 7 φορές


πρότυπο_2

σωστά; σωστά


σε)
σωστά; σωστά; σωστά

πάνω; πάνω

σωστά; σωστά; σωστά

πολύ κάτω; πολύ κάτω


ΣΟΛ)
σωστά; σωστά
σωστά; σωστά

8. Δημιουργήστε αλγόριθμους με τους οποίους το ρομπότ θα ζωγραφίσει πάνω από τα καθορισμένα κελιά:



9. Είναι γνωστό ότι κάπου στα δεξιά του Ρομπότ υπάρχει ένας τοίχος. Δημιουργήστε έναν αλγόριθμο, υπό τον έλεγχο του οποίου το ρομπότ θα ζωγραφίσει πάνω από έναν αριθμό κελιών μέχρι τον τοίχο και θα επιστρέψει στην αρχική του θέση.

10. Είναι γνωστό ότι κάπου στα δεξιά του Ρομπότ υπάρχει ένα σκιασμένο κελί.

ΑΠΟ αφήστε τον αλγόριθμο, υπό τον έλεγχο του οποίου το Ρομπότ θα ζωγραφίσει έναν αριθμό κελιών μέχρι το σκιασμένο κελί και θα επιστρέψει στην αρχική του θέση.

11. Είναι γνωστό ότι το Ρομπότ βρίσκεται κοντά στην αριστερή είσοδο του οριζόντιου διαδρόμου.

12. Είναι γνωστό ότι το Ρομπότ βρίσκεται κάπου στον οριζόντιο διάδρομο. Κανένα από τα κελιά του διαδρόμου δεν είναι βαμμένο.

Δημιουργήστε έναν αλγόριθμο, υπό τον έλεγχο του οποίου το Ρομπότ θα ζωγραφίσει όλα τα κελιά αυτού του διαδρόμου και θα επιστρέψει στην αρχική του θέση.


13. Σε μια σειρά δέκα κελιών στα δεξιά του ρομπότ, ορισμένα κελιά είναι σκιασμένα.

ΑΠΟ αφήστε τον αλγόριθμο που ζωγραφίζει τα κελιά:

α) κάτω από κάθε σκιασμένο κελί.

β) πάνω και κάτω από κάθε σκιασμένο κελί.


14. Τι μπορεί να ειπωθεί για την ορθότητα του παρακάτω τμήματος του αλγορίθμου;

nts αντίοτο κελί είναι σκιασμένο

ΑΝδικαίωμα δωρεάν ΕΠΕΙΤΑ

σωστά; ζωγραφίζω

προς την
ντο

15. Γράψτε ένα πρόγραμμα με το οποίο το Ρομπότ μπορεί να φτάσει στο κελί Β και στους τρεις λαβύρινθους.


16. Γράψτε ένα πρόγραμμα, μετά από το οποίο το Ρομπότ θα μπορεί να πάει κατά μήκος του διαδρόμου από την κάτω αριστερή γωνία του χωραφιού προς την επάνω δεξιά. Ο διάδρομος έχει πλάτος ενός κελιού και εκτείνεται προς την κατεύθυνση από αριστερά-κάτω-δεξιά-επάνω. Ένα παράδειγμα πιθανού διαδρόμου φαίνεται στο σχήμα.

W

adachi GIA


  1. Διάδρομος 1. Το ρομπότ βρίσκεται κάπου στον κάθετο διάδρομο. Κανένα από τα κελιά του διαδρόμου δεν είναι βαμμένο. Δημιουργήστε έναν αλγόριθμο σύμφωνα με τον οποίο το Ρομπότ θα ζωγραφίσει όλα τα κελιά αυτού του διαδρόμου και θα επιστρέψει στην αρχική του θέση.

  1. Προς την
    Απαραίτητη

    Δεδομένος
    διάδρομος 2. Το ρομπότ βρίσκεται στο πάνω κελί ενός στενού κάθετου διαδρόμου. Το πλάτος του διαδρόμου είναι ένα κελί, το μήκος του διαδρόμου μπορεί να είναι αυθαίρετο.

Μια πιθανή παραλλαγή της αρχικής θέσης του ρομπότ φαίνεται στο σχήμα (το ρομπότ υποδεικνύεται με το γράμμα "P")

Γράψτε έναν αλγόριθμο για το Ρομπότ που γεμίζει όλα τα κελιά μέσα στο διάδρομο και επιστρέφει το Ρομπότ στην αρχική του θέση. Για παράδειγμα, για την παραπάνω εικόνα, το ρομπότ πρέπει να ζωγραφίσει πάνω από τα ακόλουθα κελιά (βλ. εικόνα):


  1. Υπάρχει ένας μακρύς οριζόντιος τοίχος στο ατελείωτο χωράφι. Το μήκος του τοίχου είναι άγνωστο. Το ρομπότ βρίσκεται σε ένα από τα κλουβιά ακριβώς πάνω από τον τοίχο. Η αρχική θέση του ρομπότ είναι επίσης άγνωστη. Μία από τις πιθανές θέσεις:
H


Απαραίτητη

Δεδομένος
Γράψτε έναν αλγόριθμο για το Ρομπότ που ζωγραφίζει όλα τα κελιά πάνω και δίπλα στον τοίχο, ανεξάρτητα από το μέγεθος του τοίχου και την αρχική θέση του ρομπότ. Για παράδειγμα, για το δεδομένο σχέδιο, το ρομπότ πρέπει να ζωγραφίσει πάνω από τα ακόλουθα κελιά:

Η τελική θέση του ρομπότ μπορεί να είναι αυθαίρετη. Κατά την εκτέλεση του αλγόριθμου, το Robot δεν πρέπει να καταστραφεί.



  1. Υπάρχει ένας μακρύς κάθετος τοίχος στο ατελείωτο χωράφι. Το μήκος του τοίχου είναι άγνωστο. Το ρομπότ βρίσκεται σε ένα από τα κλουβιά που βρίσκονται ακριβώς στα δεξιά του τοίχου. Η αρχική θέση του ρομπότ είναι επίσης άγνωστη. Μία από τις πιθανές θέσεις του ρομπότ φαίνεται στο σχήμα (το ρομπότ σημειώνεται με το γράμμα "P"): Γράψτε έναν αλγόριθμο για εργασία που ζωγραφίζει όλα τα κελιά δίπλα στον τοίχο: στα αριστερά, ξεκινώντας από την κορυφή άβαφο και μέσα από ένα? στα δεξιά, ξεκινώντας από κάτω σκιασμένο και μέσω ενός. Το ρομπότ πρέπει να ζωγραφίζει μόνο τα κελιά που πληρούν αυτήν την προϋπόθεση. Για παράδειγμα, για το παραπάνω σχήμα, το ρομπότ πρέπει να συμπληρώσει τα ακόλουθα κελιά (βλ. εικόνα): Η τελική θέση του ρομπότ μπορεί να είναι αυθαίρετη. Ο αλγόριθμος πρέπει να λύσει το πρόβλημα για ένα αυθαίρετο μέγεθος τοίχου και οποιαδήποτε έγκυρη αρχική θέση του ρομπότ. Κατά την εκτέλεση του αλγόριθμου, το ρομπότ δεν πρέπει να συμπτύσσεται.


Γράψτε έναν αλγόριθμο για το Ρομπότ που ζωγραφίζει όλα τα κελιά που βρίσκονται στα αριστερά του κατακόρυφου τοίχου και πάνω από τον οριζόντιο τοίχο και δίπλα τους. Το ρομπότ πρέπει να ζωγραφίζει μόνο τα κελιά που πληρούν αυτήν την προϋπόθεση. Για παράδειγμα, για την παραπάνω εικόνα, το ρομπότ πρέπει να ζωγραφίσει πάνω από τα παρακάτω κελιά (βλ. εικόνα).


H γράψτε έναν αλγόριθμο για το Ρομπότ που ζωγραφίζει τα κελιά που βρίσκονται δίπλα στον τοίχο, από πάνω και κάτω, ξεκινώντας από αριστερά και μέσα από ένα. Το ρομπότ πρέπει να ζωγραφίζει μόνο τα κελιά που πληρούν αυτήν την προϋπόθεση. Για παράδειγμα, για το δεδομένο σχήμα α) το Ρομπότ πρέπει να ζωγραφίσει πάνω από τα παρακάτω κελιά (βλ. Εικ. β).

Η τελική θέση του ρομπότ μπορεί να είναι αυθαίρετη. Ο αλγόριθμος πρέπει να λύσει το πρόβλημα για ένα αυθαίρετο μέγεθος τοίχου και οποιαδήποτε έγκυρη αρχική θέση του ρομπότ.



R

  1. Υπάρχει ένας μακρύς κάθετος τοίχος στο ατελείωτο χωράφι. Το μήκος του τοίχου είναι άγνωστο. Το ρομπότ βρίσκεται σε ένα από τα κλουβιά που βρίσκονται ακριβώς στα αριστερά του τοίχου. Η αρχική θέση του ρομπότ είναι επίσης άγνωστη. Μία από τις πιθανές θέσεις του ρομπότ φαίνεται στο σχήμα (το ρομπότ σημειώνεται με το γράμμα "P"):
Γράψτε για εργασία έναν αλγόριθμο που ζωγραφίζει όλα τα κελιά που βρίσκονται δίπλα στον τοίχο:

  • όλα στα αριστερά?

  • στα δεξιά, ξεκινώντας από το πάνω άβαφο και μέσα από ένα.
Το ρομπότ πρέπει να ζωγραφίζει μόνο τα κελιά που πληρούν αυτήν την προϋπόθεση.

σι
1102_GIA2011

Υπάρχουν δύο οριζόντιοι τοίχοι στο άπειρο πεδίο. Το μήκος των τοίχων είναι άγνωστο. Η απόσταση μεταξύ των τοίχων είναι άγνωστη. Το ρομπότ βρίσκεται πάνω από τον κάτω τοίχο σε ένα κλουβί που βρίσκεται στο αριστερό του άκρο. Γράψτε έναν αλγόριθμο για το Ρομπότ που ζωγραφίζει όλα τα κελιά που βρίσκονται πάνω από τον κάτω τοίχο και κάτω από τον επάνω τοίχο και δίπλα τους. Το ρομπότ πρέπει να ζωγραφίζει μόνο τα κελιά που πληρούν αυτήν την προϋπόθεση. Για παράδειγμα, για το παραπάνω σχέδιο, το ρομπότ πρέπει να συμπληρώσει τα ακόλουθα κελιά (βλ. εικόνα):

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


ΣΤΟ
1103_GIA_2011


Υπάρχει ένα οριζόντιο τείχος στο άπειρο πεδίο. Το μήκος του τοίχου είναι άγνωστο. Από το δεξί άκρο του τοίχου εκτείνεται προς τα κάτω ένας κατακόρυφος τοίχος, επίσης άγνωστου μήκους. Το ρομπότ βρίσκεται πάνω από έναν οριζόντιο τοίχο σε ένα κλουβί που βρίσκεται στο αριστερό του άκρο. Το σχήμα δείχνει έναν από τους πιθανούς τρόπους τοποθέτησης των τοίχων και του Ρομπότ (το ρομπότ υποδεικνύεται με το γράμμα "P").

Γράψτε έναν αλγόριθμο για το Ρομπότ που να ζωγραφίζει όλα τα κελιά που βρίσκονται πάνω από τον οριζόντιο τοίχο και στα δεξιά του κατακόρυφου τοίχου και δίπλα τους. Το ρομπότ πρέπει να ζωγραφίζει μόνο τα κελιά που πληρούν αυτήν την προϋπόθεση. Για παράδειγμα, για την παραπάνω εικόνα, το ρομπότ πρέπει να ζωγραφίσει πάνω από τα παρακάτω κελιά (βλ. εικόνα).

Khiryanov Timofey Fedorovich

αν-τότε-άλλο-όλα

Γενική άποψη της εντολής:

εάν προϋπόθεση
μετά σειρά 1
aka σειρά 2
όλα

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

εάν προϋπόθεση
μετά σειρά 1
όλα

Κατά την εκτέλεση της εντολής ανΟ Kumir ελέγχει πρώτα κατάστασηκαταγράφηκε μεταξύ ανκαι έπειτα. Εάν πληρούται αυτή η προϋπόθεση, σειρά 1, σε διαφορετική περίπτωση - σειρά 2(εάν υπάρχει), μετά το οποίο ο KuMir προχωρά στην εκτέλεση των εντολών που καταγράφονται μετά τη λέξη όλα.
Εάν η συνθήκη δεν πληρούται και η σειρά 2, μαζί με το άλλο, απουσιάζει, τότε το KuMir προχωρά αμέσως στην εκτέλεση των εντολών που γράφτηκαν μετά τη λέξη all.

Παράδειγμα 1

αν ένα έπειτα
β:=β-α
p:=p+q
σε διαφορετική περίπτωση
α:=α-β
q:=q+p
όλα

Παράδειγμα 2

αν x > m
έπειτα
m:= x
n:= n+1
όλα

Παράδειγμα 3 (Ρομπότ εκτελεστής)

αν το δικαίωμα είναι ελεύθερο
έπειτα
σωστά
όλα

επιλογή-αν-αλλιώς-όλα

Γενική άποψη της εντολής:

επιλογή
υπό συνθήκη 1: σειρά 1
υπό συνθήκη 2: σειρά 2

συνθήκη ν: σειρά ν
διαφορετικά σειρά n+1
όλα

Λέξη-κλειδί σε διαφορετική περίπτωσημαζί με την αντίστοιχη σειρά εντολών ενδέχεται να λείπουν:

επιλογή
υπό συνθήκη 1: σειρά 1
υπό συνθήκη 2: σειρά 2

συνθήκη ν: σειρά ν
όλα

Ο Kumir ελέγχει πρώτα συνθήκη 1. Εάν παρατηρηθεί, τότε το KuMir εκτελεί εντολές από σειρά 1, μετά την οποία προχωρά στην εκτέλεση των εντολών που γράφτηκαν μετά τη λέξη όλα. Διαφορετικά ο KuMir κάνει το ίδιο με συνθήκη 2και ομάδες από σειρά 2και τα λοιπά.
Εντολές γραμμένες μετά τη λέξη σε διαφορετική περίπτωσηεκτελούνται εάν δεν πληρούται καμία από τις προϋποθέσεις.
Σε μια εντολή επιλογής, εκτελείται πάντα το πολύ μία σειρά εντολών, ακόμα κι αν ισχύουν πολλές συνθήκες. Η εκτέλεση της εντολής Select τελειώνει αφού βρεθεί η πρώτη (κατά σειρά) συνθήκη με την τιμή ναι (και εκτελεστεί η αντίστοιχη σειρά εντολών).

Παράδειγμα 1

επιλογή
για a > 1: i:= i + 1
για ένα< 0: j:= j - 1
διαφορετικά t:= i; i:= j; j:= t
όλα

Αλγόριθμος για τη σχεδίαση μιας σπείρας:

χρησιμοποιήστε το συρτάρι
αλγ
νωρίς
. μετακινηθείτε σε ένα σημείο(3,3)
. χαμηλώστε το στυλό
. πηνίο (1); πηνίο (3); πηνίο (5); πηνίο (7); πηνίο (9)
. σηκώστε το στυλό
ενάντιος
alg turn (arg w)
νωρίς
. μετατόπιση κατά διάνυσμα(α, 0)
. μετατόπιση κατά διάνυσμα(0, -a)
. μετατόπιση κατά διάνυσμα(-a-1,0)
. μετατόπιση κατά διάνυσμα(0, a+1)
ενάντιος

Δώστε προσοχή στο μπλοκ εντολών:

Πηνίο (1); πηνίο (3); πηνίο (5); πηνίο (7); πηνίο (9)

Ο βοηθητικός αλγόριθμος “coil(arg thing)” καλείται 5 φορές, αλλά δεν μπορεί να κληθεί στον βρόχο “N times”, γιατί κάθε φορά καλείται με διαφορετικές τιμές ορίσματος.

Αλλά μπορείτε να δείτε ότι οι τιμές του ορίσματος αλλάζουν από 1 σε 9, κάθε φορά αυξάνοντας κατά 2. Έτσι, μπορούμε να βοηθήσουμε βρόχος με μετρητή. Επίσης, ένας τέτοιος κύκλος ονομάζεται κύκλος "για".

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

Συνήθως, αυτός ο βρόχος χρησιμοποιείται εάν χρειάζεται να επαναλάβετε ορισμένες τιμές και να εκτελέσετε ορισμένες ενέργειες για καθεμία από αυτές.

Γενική άποψη του κύκλου με μετρητή:

nc για<счетчик>από<нач. знач.>πριν<кон. знач.>[βήμα<знач.>]
<тело цикла (последовательность команд)>
kts

Δεν είναι απαραίτητο να υποδειχθεί το βήμα, εάν δεν προσδιορίζεται, τότε θεωρείται ίσο με ένα.

Τώρα μπορούμε να ξαναγράψουμε τον αλγόριθμο "σπιράλ" με αυτόν τον τρόπο:

χρησιμοποιήστε το συρτάρι
αλγ
νωρίς
. μετακινηθείτε σε ένα σημείο(3,3)
. χαμηλώστε το στυλό
. ολόκληρο το μέγεθος
. nc για μέγεθος 1 έως 9 βήμα 2
. . πηνίο (μέγεθος)
. kts
. σηκώστε το στυλό
ενάντιος
alg turn (arg w)
νωρίς
. μετατόπιση κατά διάνυσμα(α, 0)
. μετατόπιση κατά διάνυσμα(0, -a)
. μετατόπιση κατά διάνυσμα(-a-1,0)
. μετατόπιση κατά διάνυσμα(0, a+1)
ενάντιος

Σε αυτό το παράδειγμα, η μεταβλητή μετρητή "size" θα λάβει τις τιμές: 1, 3, 5, 7, 9. Δηλαδή, Ο βρόχος θα εκτελεστεί 5 φορές. Για κάθε τιμή της μεταβλητής «μέγεθος», το σώμα του βρόχου θα εκτελεστεί μία φορά, στο παράδειγμά μας, αυτή είναι μια κλήση στον βοηθητικό αλγόριθμο «πηνίο (πράγμα arg)».

Πριν από την πρώτη χρήση μιας μεταβλητής, πρέπει να δηλωθεί, δηλαδή τι τύπος είναι. Αυτό γίνεται στο πρόγραμμά μας στη γραμμή "μέγεθος ακέραιου", δηλαδή υποδεικνύουμε ότι θα χρησιμοποιήσουμε τη μεταβλητή "μέγεθος" για να αποθηκεύσουμε ακέραιους αριθμούς και επομένως πρέπει να διαθέσουμε μνήμη για αυτήν. Θα μιλήσουμε περισσότερο για τις μεταβλητές λίγο αργότερα.

Το μπλοκ διάγραμμα ενός τέτοιου αλγορίθμου μοιάζει με αυτό:

Ας δούμε ένα άλλο παράδειγμα:

Ας θυμηθούμε πρώτα και ας γράψουμε έναν βοηθητικό αλγόριθμο που θα σχεδιάζει ένα τετράγωνο στο σημείο (x, y). Για αλλαγή σχεδίασης, θα χρησιμοποιήσουμε την εντολή μετατόπιση κατά διάνυσμα(στα προηγούμενα παραδείγματα, μετατοπίστηκαν σε ένα σημείο).

Ο αλγόριθμος θα μπορούσε να είναι ο εξής:

alg τετράγωνο (arg x, y, πλευρά)
νωρίς
. μετακινηθείτε σε ένα σημείο(x, y)
. μετατόπιση κατά διάνυσμα(-πλευρά/2, πλάγια/2)
. χαμηλώστε το στυλό
. μετατόπιση κατά διάνυσμα(πλευρά, 0)
. μετατόπιση κατά διάνυσμα(0, -πλευρά)
. μετατόπιση κατά διάνυσμα(-πλευρά, 0)
. μετατόπιση κατά διάνυσμα(0, πλευρά)
. σηκώστε το στυλό
ενάντιος

Χρησιμοποιώντας έναν τέτοιο βοηθητικό αλγόριθμο, σχεδιάζουμε το ακόλουθο σχήμα:

Για να το κάνουμε αυτό, χρησιμοποιούμε τον βρόχο "για". Μελετήστε το δείγμα προγράμματος:

χρησιμοποιήστε το συρτάρι
alg σχήμα 1
νωρίς
. ακέραιος z
. nc για z από 2 έως 10 βήμα 2
. . τετράγωνο(0, 0, z)
. kts
ενάντιος
alg τετράγωνο (arg x, y, πλευρά)
νωρίς
. μετακινηθείτε σε ένα σημείο(x, y)
. μετατόπιση κατά διάνυσμα(-πλευρά/2, πλάγια/2)
. χαμηλώστε το στυλό
. μετατόπιση κατά διάνυσμα(πλευρά, 0)
. μετατόπιση κατά διάνυσμα(0, -πλευρά)
. μετατόπιση κατά διάνυσμα(-πλευρά, 0)
. μετατόπιση κατά διάνυσμα(0, πλευρά)
. σηκώστε το στυλό
ενάντιος

Σε αυτό το παράδειγμα, η μεταβλητή "z" θα λάβει τις τιμές: 2, 4, 6, 8, 10. Ο βρόχος θα εκτελεστεί 5 φορές. Για κάθε τιμή του "z", το σώμα του βρόχου θα εκτελεστεί μία φορά, στο παράδειγμά μας, αυτή είναι μια κλήση στον αλγόριθμο του βοηθητικού τετραγώνου.

Πριν από την πρώτη χρήση μιας μεταβλητής, πρέπει να δηλωθεί, δηλαδή τι τύπος είναι. Αυτό γίνεται στο πρόγραμμά μας στη γραμμή "ακέραιος z", δηλαδή υποδεικνύουμε ότι θα χρησιμοποιήσουμε τη μεταβλητή "z" για να αποθηκεύσουμε ακέραιους αριθμούς και επομένως πρέπει να διαθέσουμε μνήμη για αυτήν. Θα μιλήσουμε περισσότερο για τις μεταβλητές λίγο αργότερα.

Όπως παρατηρήσατε, ο αλγόριθμος χρησιμοποίησε όχι μόνο αριθμούς, αλλά και αλγεβρικές εκφράσεις, τύπους, για παράδειγμα "-side/2". Στην επιστήμη των υπολογιστών, αυτές οι εκφράσεις ονομάζονται αριθμητική. Οι κανόνες της γλώσσας επιτρέπουν, όταν γράφετε αλγόριθμους, όπου μπορείτε να γράψετε έναν αριθμό, να γράψετε μια αυθαίρετη αριθμητική έκφραση.

1. Εισαγωγή

το σύστημα «KuMir» (το όνομα προέρχεται από τις λέξεις «Σύνολο Εκπαιδευτικών Κόσμων»), με το οποίο θα σας γνωρίσει αυτή η ηλεκτρονική έκδοση του σχολικού βιβλίου.
Οι προγραμματιστές της γλώσσας "KuMir" επεδίωξαν το στόχο να δημιουργήσουν μια απλή γλώσσα για το αρχικό μάθημα της επιστήμης των υπολογιστών που να ανταποκρίνεται στη σύγχρονη τεχνολογία προγραμματισμού και να επιτρέπει τη χρήση παραγωγής. Ως βάση λήφθηκε η σχολική αλγοριθμική γλώσσα. Η γλώσσα συμπληρώθηκε με κάποια χαρακτηριστικά που τη μετατρέπουν από εκπαιδευτική σε παραγωγική. Η γλώσσα έχει:
τύπους ολόκληρο, πράγμα, αναμμένο; ένα παραδοσιακό σύνολο πράξεων σε δεδομένα αυτού του τύπου (συμπεριλαμβανομένων των πράξεων σε συμβολοσειρές και ενός τυπικού συνόλου μαθηματικών συναρτήσεων)·
συστοιχίες ( αυτί) καθορισμένους τύπους· δομικές δομές ελέγχου κύκλων, διακλάδωσης κ.λπ.
Το Kumir είναι ανοιχτό - η σύνδεση εξωτερικών εκτελεστών εμπλουτίζει τη γλώσσα με νέα χαρακτηριστικά: από τη διαχείριση βάσεων δεδομένων και την εργασία με γεωμετρικά αντικείμενα έως την επέκταση του συνόλου έγκυρων αριθμητικών τύπων (σε αυτή την περίπτωση, η γλώσσα θα επιτρέψει την ανάμειξη νέων τύπων με υπάρχοντες αριθμητικούς τύπους στις εκφράσεις).
Η σύγχρονη τεχνολογία προγραμματισμού μας διδάσκει να χωρίζουμε ένα πρόγραμμα όχι μόνο σε υποπρογράμματα, αλλά και σε μεγαλύτερες μονάδες: σύνολα προγραμμάτων που λειτουργούν σε κοινά δεδομένα. Σε διαφορετικές γλώσσες προγραμματισμού, τέτοιες μονάδες ονομάζονται διαφορετικά, στο KuMir μια τέτοια μονάδα ονομάζεται "Εκτελεστής". Η έννοια του ερμηνευτή είναι εξαιρετικά σημαντική στην πρακτική εργασία και θα πρέπει να εισαχθεί στα πρώτα δυνατά στάδια της εκπαίδευσης.
Η εμπειρία χρήσης του KuMir στη διδασκαλία και στην ανάπτυξη εκπαιδευτικού λογισμικού έχει δείξει ότι η γλώσσα είναι εύκολη στην εκμάθηση και ταυτόχρονα αρκετά ισχυρή ώστε να επεκτείνει μια ευρεία κατηγορία εργασιών παραγωγής.
Όπως το E-practice, το KuMir είναι ένα ολοκληρωμένο σύστημα που περιλαμβάνει ένα πρόγραμμα επεξεργασίας κειμένου, έναν αυξητικό μεταγλωττιστή με μηδενικό χρόνο απόκρισης, καθώς και έναν απλό και βολικό εντοπισμό σφαλμάτων. Ένα καλό όνομα για ένα σύστημα αυτού του είδους είναι "Editor-Compiler": ενώ πληκτρολογείτε το πρόγραμμά σας, ο μεταγλωττιστής το επεξεργάζεται και ανά πάσα στιγμή το πρόγραμμα είναι έτοιμο να εκτελεστεί χωρίς την παραμικρή καθυστέρηση.

2. Ονόματα και τύποι αξίας. Λειτουργίες KuMir

Τυχόν χαρακτήρες του ρωσικού και λατινικού αλφαβήτου, καθώς και αριθμοί μπορούν να χρησιμοποιηθούν για τη σύνταξη ονομάτων μεταβλητών. Το όνομα δεν πρέπει να ξεκινά με αριθμό. Δεν υπάρχουν αυστηροί περιορισμοί στο μήκος των ονομάτων στο σύστημα KuMir, αλλά για ευκολία επεξεργασίας και αποφυγή υπερχείλισης γραμμών, οι μεταβλητές και οι αλγόριθμοι δεν θα πρέπει να δίνουν πολύ μεγάλα ονόματα. Συνήθως το όνομα επιλέγεται έτσι ώστε να μπορείτε να καταλάβετε σε τι προορίζεται ο αλγόριθμος. Κατά την επεξεργασία προγραμμάτων, θα πρέπει επίσης να θυμάστε ότι τα ρωσικά και τα λατινικά γράμματα, παρόμοια στην ορθογραφία, διακρίνονται από υπολογιστές. Για παράδειγμα, εάν όταν περιγράφει μια μεταβλητή με το όνομα A, ο χρήστης πληκτρολογεί "A" στο λατινικό αλφάβητο και στο κείμενο του αλγορίθμου προσπαθεί να έχει πρόσβαση σε αυτήν τη μεταβλητή πληκτρολογώντας το όνομά της στο ρωσικό αλφάβητο, τότε σε αυτή τη γραμμή το " το όνομα δεν έχει οριστεί" θα εμφανιστεί το μήνυμα στα "πεδία" .
Η αλγοριθμική γλώσσα του συστήματος προγραμματισμού KuMir χρησιμοποιεί τρεις τύπους μεγεθών: ακέραιους ( ολόκληρος), πραγματικό ( πράγμα) και με γράμματα ( litas).
Τύπος τιμής- ορίζει το σύνολο των τιμών που μπορεί να λάβει μια τιμή και το σύνολο των ενεργειών που μπορούν να εκτελεστούν με αυτήν την τιμή.
αξίαείναι ένα μεμονωμένο αντικείμενο πληροφοριών που έχει ένα όνομα, μια τιμή και έναν τύπο.

Μια σταθερή τιμή (σταθερά) δεν αλλάζει την τιμή της κατά την εκτέλεση του αλγορίθμου.
Μια μεταβλητή μπορεί να αλλάξει την τιμή της κατά την εκτέλεση του αλγορίθμου.
Εκφραση- μια εγγραφή που ορίζει την ακολουθία ενεργειών σε τιμές. Μια παράσταση μπορεί να περιέχει σταθερές, μεταβλητές, σημάδια λειτουργίας, συναρτήσεις.
Τα ακόλουθα σύμβολα χρησιμοποιούνται για τη σύνταξη εκφράσεων στο Kumir:

Τα ακόλουθα σύμβολα χρησιμοποιούνται για τον προσδιορισμό των ενδείξεων των λογικών πράξεων:
= ίσος;
< >όχι ίσο?
< меньше;
> περισσότερα;
< = меньше или равно;
> = μεγαλύτερο ή ίσο.
Για την εγγραφή σύνθετων συνθηκών, χρησιμοποιούνται οι ακόλουθες πράξεις: Και, Ή ΟΧΙ.
ΚΑΙ -
ταυτόχρονη εκπλήρωση των παραπάνω προϋποθέσεων (Χ > 0 και Χ< = 2);
Ή- εκπλήρωση τουλάχιστον μίας από τις προϋποθέσεις (X > 0 ή Y > 0).
ΔΕΝ- άρνηση.

3. Ενσωματωμένες λειτουργίες της γλώσσας KuMir

Ακολουθεί ένα παράδειγμα ενσωματωμένων λειτουργιών:

Εφεση

Λειτουργία

Τύποι

Διαφωνία

Λειτουργίες

ΑΜΑΡΤΙΑ(Χ) cos(Χ) T. G. (Χ) ΛΗΞΗ(Χ) LN (Χ) ABS (Χ) SQRT(Χ) MOD(ΕΝΑ,σι) int(Χ) πι

sine x συνημίτονο x εφαπτομένη x
εκθέτης x (πρώην) φύση. λογάριθμος x
ενότητα x
τετραγωνική ρίζα x
υπόλοιπο της διαίρεσης (Α έως Β)
το ακέραιο μέρος του αριθμού
ο αριθμός "pi" - 3,14159

πράγμα
πράγμα
πράγμα
πράγμα
πράγμα
πράγμα
πράγμα
πράγμα, στόχος
πράγμα
πράγμα

πράγμα
πράγμα
πράγμα
πράγμα
πράγμα
πράγμα
πράγμα
ολόκληρος
ολόκληρος
κανένα επιχείρημα

Ένα παράδειγμα γραφής αριθμητικών παραστάσεων σε αλγοριθμική γλώσσα:

4. Εντολές INPUT / OUTPUT

Συχνά απαιτείται να οργανωθεί μια ανταλλαγή πληροφοριών («διάλογος») μεταξύ ενός ατόμου και ενός υπολογιστή κατά τη διαδικασία εκτέλεσης ενός αλγορίθμου. Για να γίνει αυτό, η αλγοριθμική γλώσσα έχει ειδικές εντολές για πληροφορίες OUTPUT από τη μνήμη του υπολογιστή στην οθόνη και INPUT πληροφορίες από το πληκτρολόγιο (από ένα άτομο) στη μνήμη του υπολογιστή.
εντολή ENTER -μια εντολή με την οποία ορίζονται οι τιμές των μεταβλητών μέσω συσκευών εισόδου (πληκτρολόγιο).
Εντολή OUTPUT- μια εντολή με την οποία η τιμή της τιμής αντικατοπτρίζεται στη συσκευή εξόδου του υπολογιστή (οθόνη οθόνης).
Δεδομένου ότι οι τιμές χρησιμοποιούνται στην αλγοριθμική γλώσσα για την αποθήκευση πληροφοριών, οι εντολές εισόδου/εξόδου υποδεικνύουν τα ονόματα των ποσοτήτων των οποίων οι τιμές πρέπει να εμφανίζονται (εμφανίζονται στην οθόνη) ή να εισαχθούν (απομνημονεύονται στη μνήμη του υπολογιστή ).
Παράδειγμα:

Επίσημη λέξη NS (νέα γραμμή) υποδεικνύει στον υπολογιστή ότι οι πληροφορίες πρέπει να εξάγονται σε νέα γραμμή.

5. Εντολή ανάθεσης. Δημιουργία και επεξεργασία προγραμμάτων γραμμικής δομής

Για να θυμάστε ή να αλλάξετε την τιμή μιας ποσότητας, υπάρχει μια ειδική εντολή στην αλγοριθμική γλώσσα - εντολή ανάθεσης, που γράφεται ως:

ΟΝΟΜΑ ΤΙΜΗΣ: = ΕΚΦΡΑΣΗ

Το σύμβολο ":=" (μια άνω τελεία ακολουθούμενη από ίσο) ονομάζεται σημάδι αναθέσεις και διαβάζεται ως "assign" (για παράδειγμα, η εντολή "n:=e" διαβάζει "n assign e"). Κατά την εκτέλεση μιας εντολής ανάθεσης, ο υπολογιστής υπολογίζει πρώτα την παράσταση που είναι γραμμένη στη δεξιά πλευρά (αντικαθιστώντας τα ονόματα των ποσοτήτων με τις τιμές τους) και στη συνέχεια γράφει την τιμή που προκύπτει στη μνήμη.

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

6. Δημιουργία και επεξεργασία προγραμμάτων δομής διακλάδωσης

Η επίλυση προβλημάτων δεν μπορεί πάντα να αναπαρασταθεί ως γραμμικός αλγόριθμος. Υπάρχουν εργασίες στις οποίες απαιτείται να οργανωθεί η επιλογή της εκτέλεσης μιας ακολουθίας ενεργειών ανάλογα με οποιεσδήποτε συνθήκες. Τέτοιοι αλγόριθμοι ονομάζονται αλγόριθμοι δομής διακλάδωσης.Στο σύστημα προγραμματισμού KuMir, για τη δημιουργία ενός αλγόριθμου για μια δομή διακλάδωσης, παρέχονται οι κατασκευές "ΑΝ - ΤΟΤΕ - ΑΛΛΟ - ΟΛΟΙ" και "ΕΠΙΛΟΓΗ - ΑΝ - ΟΛΟΙ".

Εντολή υποκαταστήματος: ΑΝ - ΤΟΤΕ - ΑΛΛΟ - ΟΛΟΙ

Εντολή διακλάδωσης - χωρίζει τον αλγόριθμο σε δύο μονοπάτια ανάλογα με κάποια συνθήκη. τότε η εκτέλεση του αλγορίθμου πηγαίνει σε μια κοινή συνέχεια. Η διακλάδωση είναι πλήρης και ημιτελής.

Γραφικό σχέδιο της κατασκευής " αν"

Λέξεις εξυπηρέτησης " αν", "έπειτα", "σε διαφορετική περίπτωση"έχουν τη συνήθη σημασία. Η λέξη" όλα"σημαίνει το τέλος της κατασκευής. Μεταξύ" έπειτα" και " σε διαφορετική περίπτωση" - σε μία ή περισσότερες γραμμές - γράφεται μια ακολουθία εντολών της αλγοριθμικής γλώσσας (σειρά 1). Μεταξύ " σε διαφορετική περίπτωση" και " όλα"μια άλλη σειρά εντολών καταγράφεται (σειρά 2). Σειρά 2 μαζί με τη λέξη υπηρεσίας " σε διαφορετική περίπτωση"μπορεί να λείπει. Κατά την εκτέλεση του " αν"Ο υπολογιστής ελέγχει πρώτα τη συνθήκη που είναι γραμμένη μεταξύ" αν" και " έπειτα«. Ως αποτέλεσμα του ελέγχου, είτε ΝΑΙ, ή ΟΧΙ.Αν είναι δυνατόν ΝΑΙ,τότε εκτελείται η ΣΕΙΡΑ 1 και αν ΟΧΙ, -τότε ΣΕΙΡΑ 2 (αν υπάρχει) .
Εάν δεν πληρούται η προϋπόθεση (θα αποδειχθεί ΟΧΙ), και η σειρά 2 μαζί με το " σε διαφορετική περίπτωση" απουσιάζει, τότε ο υπολογιστής προχωρά αμέσως στην εκτέλεση των εντολών που γράφτηκαν μετά τη λέξη " όλα".

7. Τύποι κύκλων στο σύστημα προγραμματισμού KuMir

Οι αλγόριθμοι των οποίων οι επιμέρους ενέργειες επαναλαμβάνονται πολλές φορές ονομάζονται αλγόριθμοι κυκλικής δομής. Το σύνολο των ενεργειών του αλγορίθμου που σχετίζεται με την επανάληψη ονομάζεται κύκλος.
Εντολή βρόχουπαρέχει επαναλαμβανόμενη εκτέλεση μιας ακολουθίας εντολών (σώμα βρόχου) σύμφωνα με κάποια συνθήκη.
Για αλγόριθμους προγραμματισμού μιας κυκλικής δομής στο σύστημα προγραμματισμού KuMir, παρέχονται δύο τύποι βρόχων: ένας βρόχος με προϋπόθεση (βρόχος για while) και ένας βρόχος με μια παράμετρο (βρόχος για).

Βρόχος με προϋπόθεση (while loop)

Ένας βρόχος με προϋπόθεση (while loop) είναι ένας βρόχος του οποίου η εκτέλεση επαναλαμβάνεται ενώ η συνθήκη του βρόχου είναι αληθής. Λόγια υπηρεσίας NC(αρχή κύκλου) και KC(το τέλος του κύκλου) γράφονται αυστηρά το ένα κάτω από το άλλο και συνδέονται με κάθετη γραμμή. Στα δεξιά αυτής της γραμμής, γράφεται μια επαναλαμβανόμενη ακολουθία εντολών (σώμα βρόχου).

Όταν εκτελείται, ο υπολογιστής επαναλαμβάνει κυκλικά τις ακόλουθες ενέργειες:
α) επιταγές που γράφονται μετά τη λέξη αντίοκατάσταση;
β) εάν η συνθήκη δεν πληρούται (η συνθήκη είναι ψευδής), τότε η εκτέλεση του βρόχου τελειώνει και ο υπολογιστής αρχίζει να εκτελεί τις εντολές που γράφτηκαν μετά KC. Εάν πληρούται η συνθήκη (η συνθήκη είναι αληθής), τότε ο υπολογιστής εκτελεί το σώμα του βρόχου, ελέγχει ξανά τη συνθήκη και ούτω καθεξής.
Εάν η συνθήκη στον βρόχο αντίοδεν παρατηρείται από την αρχή, τότε το σώμα του βρόχου δεν εκτελείται ποτέ.
Σχόλιο. Εκτέλεση βρόχου αντίομπορεί να μην τερματιστεί εάν η συνθήκη ισχύει συνεχώς (αυτή η κατάσταση ονομάζεται βρόχος). Επομένως, για να αποφευχθούν τέτοιες καταστάσεις, το σώμα του βρόχου θα πρέπει να περιέχει εντολές για την αλλαγή της συνθήκης.

Δίνεται ένας θετικός ακέραιος αριθμός N. Υπολογίστε το παραγοντικό αυτού του αριθμού: Ν! = 1 * 2 * 3 * ... * Ν.

Βρόχος με παράμετρο (βρόχος για)

Βρόχος με παράμετρο(βρόχος για) - επαναλαμβανόμενη εκτέλεση του σώματος βρόχου ενώ η ακέραια παράμετρος διατρέχει το σύνολο όλων των τιμών από την αρχική (i1) έως την τελική (in):

Εδώ το i είναι μια μεταβλητή ακέραιου τύπου, που ονομάζεται παράμετρος βρόχου: i1, in είναι οι αρχικές και οι τελικές τιμές της παραμέτρου βρόχου, οι οποίες μπορούν να καθοριστούν είτε με αυθαίρετους ακέραιους είτε με εκφράσεις με ακέραιες τιμές. h - βήμα αλλαγής της τιμής της παραμέτρου κύκλου, η τιμή βήματος μπορεί να είναι οποιοσδήποτε ακέραιος (τόσος θετικός όσο και αρνητικός). Η καταχώρηση "βήμα h" στην πρώτη γραμμή μπορεί να απουσιάζει εντελώς, ενώ η προεπιλεγμένη τιμή του βήματος είναι 1.
Κατά την εκτέλεση ενός βρόχου Για,Το σώμα του εκτελείται για i = i1, i = i1 + h, i = i1 + 2*h, . . . , i = μέσα. Οι κανόνες της αλγοριθμικής γλώσσας επιτρέπουν τον καθορισμό τυχόν ακεραίων i1, in, h. Συγκεκριμένα, το in μπορεί να είναι μικρότερο από i1. Εάν, επιπλέον, η τιμή του h< 0, то цикл выполняется нужное количество раз, а если h имеет положительное значение, то этот случай не считается ошибочным - просто тело цикла не будет выполнено ни разу, а ЭВМ сразу перейдет к выполнению команд, записанных после KC. Για h = 0, εμφανίζεται βρόχος.

Παράδειγμα: Δίνεται θετικός ακέραιος N. Υπολογίστε το παραγοντικό αυτού του αριθμού: N! = 1 * 2 * 3 * ... * Ν.

8. Αλγόριθμοι για επαναλαμβανόμενες εκφράσεις

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

αι =αι-1 +ρε

Στην ακολουθία 1, 1, 2, 3, 5, 8, 13, ... ( ονομάζεται ακολουθία Fibonacci) κάθε επόμενος όρος ισούται με το άθροισμα των δύο προηγούμενων. Για αυτή τη σειρά

ai = ai-1 + ai-2, a1 = a2 =1

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

9. Πίνακας τιμών ​και εργαστείτε μαζί τους

Για την εγγραφή αλγορίθμων που λειτουργούν με μεγάλο όγκο πληροφοριών, στην αλγοριθμική γλώσσα υπάρχουν ειδικές τιμές πίνακα που ονομάζονται πίνακες (πίνακες).
Οι τιμές του πίνακα αποτελούνται από άλλες τιμές, συνήθως ακέραιους ή πραγματικές τιμές, που ονομάζονται στοιχεία. Τα στοιχεία στον πίνακα μπορούν να τακτοποιηθούν με διαφορετικούς τρόπους. Η αλγοριθμική γλώσσα του συστήματος προγραμματισμού KuMir χρησιμοποιεί τους 2 πιο συνηθισμένους τύπους πινάκων: γραμμικούς και ορθογώνιους πίνακες.

Εργασία με γραμμικούς πίνακες (μονοδιάστατοι πίνακες)

Όπως κάθε αξία γραμμικός πίνακαςκαταλαμβάνει μια θέση στη μνήμη του υπολογιστή, έχει όνομα, τιμή και τύπο. Το KuMir χρησιμοποιεί πίνακες τύπων ακεραίων (celtab) και πραγματικών (vehtab). Για παράδειγμα:

Η εγγραφή celtab A [ 1: 5 ] σημαίνει ότι η τιμή A είναι ένας πίνακας (καρτέλα) που αποτελείται από ακέραιους αριθμούς (ακέραιοι), τα στοιχεία αυτού του πίνακα έχουν δείκτες από το 1 (κάτω όριο) έως το 5 (ανώτατο όριο). Η τιμή του Α είναι πέντε ακέραιοι: 3, 15, 0, -10.101.
Τα στοιχεία του πίνακα δεν έχουν ξεχωριστά ονόματα. Για να ορίσετε το i-ο στοιχείο του πίνακα Α, χρησιμοποιείται η εγγραφή A [ i ]. Για παράδειγμα, κατά την εκτέλεση της εντολής A [ 3 ] : = A [ 2 ] + A [ 4 ] ο υπολογιστής θα αντικαταστήσει αντί για A [ 2 ] και A [ 4 ] τις τιμές του 2ου και 4ου στοιχείου του πίνακα A , δηλαδή τους αριθμούς 15 και -10, αθροίστε τους και αντιστοιχίστε την τιμή που προκύπτει στο 3ο στοιχείο, έτσι, αντί για 0, θα εμφανιστεί η τιμή 5 αντί για 0 ​​στη θέση του 3ου στοιχείου στον πίνακα.
Οποιοιδήποτε (θετικοί και αρνητικοί) ακέραιοι, καθώς και το 0, μπορούν να χρησιμοποιηθούν ως τιμές περιγράμματος πίνακα. Η τιμή του κάτω περιγράμματος πρέπει να είναι μικρότερη από την τιμή του άνω περιγράμματος, εάν είναι ίσοι, ο πίνακας θεωρείται ότι αποτελείται ενός στοιχείου. Εάν στην περιγραφή του πίνακα, λόγω τυπογραφικού λάθους, το κάτω όριο αποδειχθεί μεγαλύτερο από το ανώτερο, για παράδειγμα, celtab [ 3: 1], τότε αυτό δεν θα θεωρηθεί σφάλμα και κατά την εισαγωγή του αλγόριθμου , δεν θα εμφανιστούν μηνύματα στα "πεδία". Σε αυτήν την περίπτωση, θα θεωρηθεί ότι αυτός ο πίνακας δεν έχει ένα μόνο στοιχείο και την πρώτη φορά που θα προσπελάσετε αυτόν τον πίνακα, θα εμφανιστεί το μήνυμα "κακός δείκτης".

Μια εργασία.

Εργασία με ορθογώνια τραπέζια (μήτρες)

Όπως ένας γραμμικός πίνακας, ένας πίνακας καταλαμβάνει χώρο στη μνήμη του υπολογιστή, έχει ένα όνομα, μια τιμή και έναν τύπο. Το KuMir χρησιμοποιεί πίνακες τύπων ακεραίων (celtab) και πραγματικών (vehtab).

Ο συμβολισμός celtab A [ 1: 5, 1:2 ] σημαίνει ότι η τιμή A είναι ένας πίνακας (tab) που αποτελείται από ακέραιους (ακέραιους) αριθμούς, τα στοιχεία αυτού του πίνακα έχουν δείκτες από (πρώτη στήλη, πρώτη σειρά) έως (τελευταία στήλη, τελευταία γραμμή). Η τιμή του Α είναι δέκα ακέραιοι: 3, 15, 0, -10, 101, 200, -45, 50, 10, 222.
Τα στοιχεία του πίνακα δεν έχουν ξεχωριστά ονόματα. Για να ορίσετε το i-ο στοιχείο του πίνακα A, χρησιμοποιείται η εγγραφή A [ i, j ]. Για παράδειγμα, κατά την εκτέλεση της εντολής A [ 3, 1 ] : = A [ 2, 1 ] + A [ 4, 1 ] ο υπολογιστής θα αντικαταστήσει αντί για A [ 2, 1 ] και A [ 4, 1 ] τις τιμές ​από το 2ο και 4ο στοιχείο της πρώτης στήλης του πίνακα Α, δηλαδή τους αριθμούς 15 και -10, θα τους αθροίσει και θα εκχωρήσει την τιμή που προκύπτει στο 3ο στοιχείο της πρώτης σειράς, έτσι ώστε αντί για 0, η τιμή 5 θα εμφανιστεί αντί για το 0 στη θέση του 3ου στοιχείου της πρώτης σειράς στον πίνακα.
Οποιοιδήποτε (θετικοί και αρνητικοί) ακέραιοι, καθώς και το 0, μπορούν να χρησιμοποιηθούν ως τιμές περιγράμματος πίνακα. Η τιμή του κάτω περιγράμματος πρέπει να είναι μικρότερη από την τιμή του άνω περιγράμματος, εάν είναι ίσοι, ο πίνακας θεωρείται ότι αποτελείται ενός στοιχείου. Εάν στην περιγραφή του πίνακα, λόγω τυπογραφικού λάθους, το κάτω όριο αποδειχθεί μεγαλύτερο από το ανώτερο, για παράδειγμα, celtab [ 3: 1, 5: 2], τότε αυτό δεν θα θεωρηθεί σφάλμα και δεν θα εμφανιστούν μηνύματα στα "πεδία" κατά την είσοδο στον αλγόριθμο. Σε αυτήν την περίπτωση, θα θεωρηθεί ότι αυτός ο πίνακας δεν έχει ένα μόνο στοιχείο και την πρώτη φορά που θα προσπελάσετε αυτόν τον πίνακα, θα εμφανιστεί το μήνυμα "κακός δείκτης".

Μια εργασία.Στον πίνακα Β, προσδιορίστε τον δείκτη και την τιμή του μέγιστου στοιχείου.

Παράρτημα: Εργασίες

Γραμμικοί αλγόριθμοι

Εργασία #1

Βρείτε το άθροισμα δύο αριθμών - α και β
Λύση:

αλγ άθροισμα
νωρίς πράγμα α, β, γ
συμπέρασμα "εισάγετε την τιμή 2 αριθμών"
εισαγωγή α, β
γ:= α + β
συμπέρασμα ns , "άθροισμα αριθμών",a"και",b,"ίσο με",c
ενάντιος

Εργασία #2

Βρείτε τη διαφορά δύο αριθμών
Λύση:

αλγ διαφορά
νωρίς πράγμα α, β, γ
συμπέρασμα "εισαγωγή μεταβλητών τιμών"
εισαγωγή α, β
γ:= α - β
ns εξόδου, "διαφορά αριθμών",a"και"b,"ισούται",c
ενάντιος

Εργασία #3

Βρείτε το γινόμενο δύο οποιωνδήποτε φυσικών αριθμών
Λύση:

ολόκληρος α, β, γ

αλγ δουλειά
νωρίς
συμπέρασμα
" εισάγετε δύο αριθμούς"
εισαγωγή
ένα,σιγ:=ένα +σι
ns εξόδου,
"
γινόμενο αριθμών",a"και",b"ίσον",γ
ενάντιος

Εργασία #4

Να βρείτε το πηλίκο δύο φυσικών αριθμών
Λύση:

πράγμα α, β, γ

αλγ ιδιωτικός
νωρίς
συμπέρασμα "
εισάγετε μέρισμα και διαιρέτης"
εισαγωγή
α, β
γ:= α / β
ns εξόδου,
"πηλίκο",a"και"b,"ίσο με",c
ενάντιος

Εργασία #5

Να βρείτε τον αριθμητικό μέσο όρο πέντε αυθαίρετων αριθμών
Λύση:

πράγμα α, β, γ, δ, ε, στ

αλγ αριθμητική
ξεκινήστε τα πράγματα α, β, γ, δ, ε, στ
συμπέρασμα "Εισαγάγετε τυχόν 5 αριθμούς"
εισαγωγή α, β, γ, δ, ε
f:=(a + b + c + d + e)/ 5
συμπέρασμα ns », ο αριθμητικός μέσος όρος των 5 αριθμών είναι», στ
ενάντιος

διακλάδωση

Εργασία #1

Βρείτε τον μεγαλύτερο ανάμεσα σε 3 ακέραιους αριθμούς (οι αριθμοί είναι αυθαίρετοι)

αλγ το μέγιστο
πρώιμος στόχος α Β Γ
συμπέρασμα "Εισαγάγετε τρεις τυχαίους αριθμούς"
εισαγωγή α Β Γ
αν α>β>γ
τότε το συμπέρασμα είναι ns "Ο μέγιστος αριθμός είναι" και
όλα
αν ένα<б>Με
τότε το συμπέρασμα είναι ns "ο μέγιστος αριθμός είναι", β
όλα
αν ένα<б<с
τότε το συμπέρασμα είναι ns "ο μέγιστος αριθμός είναι", με
όλα
ενάντιος

Εργασία #2

Σας δίνονται δύο αυθαίρετοι αριθμοί. Εάν ο πρώτος αριθμός είναι μεγαλύτερος από τον δεύτερο, τότε αντιστοιχίστε το άθροισμά τους σε αυτόν και το γινόμενο τους στον δεύτερο αριθμό. Εάν ο δεύτερος αριθμός είναι μεγαλύτερος από τον πρώτο, τότε αντιστοιχίστε το γινόμενο τους στον πρώτο αριθμό και το άθροισμά τους στον δεύτερο.

αλγ κατάσταση
ξεκινήστε τα πράγματα α, β
συμπέρασμα "Εισαγάγετε δύο αριθμούς"
εισαγωγή α, β
αν α > β
έπειτα α:= α + β
β := α * β
σε διαφορετική περίπτωση α:= α * β
β := α + β
συμπέρασμα ns , α, β
ενάντιος

Εργασία #3:

Βρείτε ανάμεσα σε 4 αυθαίρετους αριθμούς το ελάχιστο
Λύση:

αλγ ελάχιστο
ξεκινήστε τα πράγματα α, β, γ, ε
συμπέρασμα "Εισαγάγετε 4 τυχαίους αριθμούς"
εισαγωγή α, β, s. μι
αν α>β>γ>ε
τότε το συμπέρασμα είναι ns "μέγιστος αριθμός-"και
όλα
αν ένα<б>γ>ε
τότε το συμπέρασμα είναι ns "μέγιστος αριθμός -", β
όλα
αν
ένα<б<с>μι
τότε το συμπέρασμα είναι ns "μέγιστος αριθμός -", s
όλα
αν
ένα<б<с<е
τότε το συμπέρασμα είναι ns , "μέγιστος αριθμός -", π.χ
όλα
ενάντιος

Εργασία #4

Δίνονται 2 σκέλη (2 cm και 2 cm) ισοσκελούς τριγώνου και η βάση του (2,82 cm). Προσδιορίστε αν το τρίγωνο είναι ορθογώνιο.
Λύση:

αλγ τρίγωνο
ξεκινήστε τα πράγματα i, h, s
i:= 2
h:= 2
c:= 2,82
αν c**2= (i**2)+(h**2)
τότε η έξοδος "αλήθεια"
διαφορετικά έξοδο "Λάθος"
όλα
ενάντιος

Εργασία #5

Εκτυπώστε το μήνυμα "true" αν το γινόμενο δύο αρνητικών αριθμών είναι μεγαλύτερο από μηδέν, διαφορετικά εκτυπώστε το μήνυμα "false"
Λύση:

αλγ αρνητικός
ξεκινήστε τα πράγματα i, h, s, m
συμπέρασμα "Εισαγάγετε δύο αρνητικούς αριθμούς"
εισαγωγή i h
c:=0
m := i*h
αν m>s
τότε το συμπέρασμα είναι ns , "αληθεια"
διαφορετικά έξοδος ns ,"Ψευδής"
όλα
ενάντιος

Βρόχος "για"

Εργασία #1

Εύρημα Παραγοντικόφυσικός αριθμόςn ( Παραγοντικό φυσικού αριθμού n είναι το γινόμενο όλων των φυσικών αριθμών μεταξύ 1 και n ) Λύση:

αλγ παραγοντικό
ξεκινήστε τα πράγματα
ένα. σι
ολόκληρος
n, και
συμπέρασμα

εισαγωγή
n
α:= 1
nc για
και από 1 πριν n
συμπέρασμα ns,
"πληκτρολογήστε τον αριθμό"
εισαγωγή
σι
α:= α * β
kts
συμπέρασμα ns
,
"παραγοντικό",n"των ακεραίων είναι" και
ενάντιος

Εργασία #2

Βρείτε τη μέγιστη τιμή μεταξύn - ακέραιοι αριθμοί
Λύση:

αλγ το μέγιστο
ξεκινήστε τα πράγματα
α, β
ολόκληρος
σε
συμπέρασμα
"Εισαγάγετε τον αριθμό των ακεραίων προς σύγκριση"
εισαγωγή
n
a:=0
nc για
και από 1 πριν n
συμπέρασμα ns,
"πληκτρολογήστε τον αριθμό"
εισαγωγή
σι
αν
β>α
έπειτα
α:=β
όλα
kts
συμπέρασμα ns,
"ο μέγιστος αριθμός μεταξύ των δεδομένων είναι ένας αριθμός", και
ενάντιος

Εργασία #3

Βρείτε μεταξύn-ακέραιοι αριθμός αρνητικών
Λύση:

αλγ σύμπτωση
ξεκινήστε τα πράγματα
α, β, γ
ολόκληρος
n, i, s
συμπέρασμα "
εισάγετε τον αριθμό των φυσικών αριθμών"
εισαγωγή
n
συμπέρασμα ns,
"πληκτρολογήστε τον αριθμό"
εισαγωγή
σι
n:= n - 1
h:= 0
nc για
και από 1 πριν n
συμπέρασμα ns,"
εισάγετε τον αριθμό"
εισαγωγή
Με
αν
c = β
έπειτα
s:= s + 1
όλα
kts
συμπέρασμα ns
,

ενάντιος

Εργασία #4

Εισάγονται διαδοχικά n-ακέραιοι αριθμοί. Βρείτε τον αριθμό των αντιστοιχιών με τον πρώτο αριθμό
Λύση:

ξεκινήστε τα πράγματα α, β, γ
ολόκληρος
n, i, s
συμπέρασμα
"Εισαγάγετε τον αριθμό των φυσικών αριθμών"
εισαγωγή
n
συμπέρασμα ns,
"πληκτρολογήστε τον αριθμό"
εισαγωγή
σι
n:= n - 1
h:= 0
nc για
και από 1 πριν n
συμπέρασμα ns,
"πληκτρολογήστε τον αριθμό"
εισαγωγή
Με
αν
c = β
έπειτα s:= s + 1
όλα
kts
συμπέρασμα ns
,
"ο αριθμός των αντιστοιχιών με τον πρώτο αριθμό είναι", z
ενάντιος

Εργασία #5

Εισάγονται διαδοχικά n-ακέραιοι αριθμοί. Βρείτε τη διαφορά μεταξύ των μέγιστων και ελάχιστων τιμών των δεδομένων αριθμών
Λύση:

αλγ διαφορά
ξεκινήστε τα πράγματα
ένα. β, s, δ
ολόκληρος
n, και
συμπέρασμα
"Εισαγάγετε τον αριθμό των αριθμών"
εισαγωγή
n
α: = 0
c:=0
nc για
και από 1 πριν n
συμπέρασμα ns,
"πληκτρολογήστε τον αριθμό"
εισαγωγή
ρε
αν
e>s
έπειτα
γ:=δ
όλα
αν
ρε<а
έπειτα
α:= δ
όλα
kts
β:= γ - α
συμπέρασμα ns,
"η διαφορά μεταξύ της ελάχιστης και της μέγιστης τιμής είναι ίση", β
ενάντιος

Ο βρόχος while

Εργασία #1

Βρείτε το άθροισμα όλων των αριθμών μεταξύ 1 και 5
Λύση:

αλγ αριθμοί
ξεκινήστε τα πράγματα α, β
συμπέρασμα "Εισαγάγετε δύο αριθμούς έτσι ώστε ο δεύτερος αριθμός να είναι μεγαλύτερος από τον πρώτο"
εισαγωγή α, β
nts αντίο ένα<б
a:= a + 1
kts
συμπέρασμα ns
, ένα
ενάντιος

Εργασία #2

Δίνονται δύο αριθμοί έτσι ώστε ο δεύτερος αριθμός να είναι μεγαλύτερος από τον πρώτο. Είναι απαραίτητο να προσθέσετε 1 στον πρώτο αριθμό έως ότου γίνει ίσος με τον δεύτερο αριθμό, εμφανίστε τον στην οθόνη.
Λύση:

αλγ άθροισμα
ξεκινήστε τα πράγματα α, β, γ
συμπέρασμα "εισαγωγή διαστήματος άθροισης"
εισαγωγή α, β
γ:= α
nts αντίο ένα< б
a:= a + 1
γ:= γ + α
kts
συμπέρασμα ns
"Το άθροισμα των αριθμών στο δεδομένο διάστημα είναι", με
ενάντιος

Εργασία #3

Σας δίνονται δύο αυθαίρετοι αριθμοί. Εφόσον το προϊόν τους είναι μικρότερο από 100, αυξήστε κάθε αριθμό κατά 2 και εμφανίστε τους τελικούς αριθμούς στην οθόνη
Λύση:

αλγ δουλειά
ξεκινήστε τα πράγματα α, β, γ
συμπέρασμα "Εισαγάγετε δύο τυχαίους αριθμούς"
εισαγωγή α, β
c:= 100
nts αντίο α*β< с
α:= α + 2
b := b + 2
kts
συμπέρασμα ns
, α, β
ενάντιος

Μονοδιάστατοι πίνακες

Εργασία #1

Συμπληρώστε έναν πίνακα με τυχαίους αριθμούς και εξάγετε τα στοιχεία του Λύση:

αλγ πίνακας 2
πρώιμος στόχος
n,i
πράγμα
β, μέγ
μανταλάκι
a [ 1:n ]
συμπέρασμα
"γεμίζω πίνακα"
εισαγωγή
n
μέγιστο: = 0
nc για
Εγώ από 1 πριν n
συμπέρασμα ns,
"εισαγωγή στοιχείου πίνακα"
εισαγωγή
σι
αν
β > μέγ
έπειτα μέγ.:=β
όλα
kts
συμπέρασμα ns
,

ενάντιος

Εργασία #2

Βρείτε το μέγιστο στοιχείο του πίνακα και εμφανίστε το στην οθόνη Λύση:

αλγ πίνακας 2
νωρίς
ολόκληρος n,i
πράγμα
β, μέγ
μανταλάκι a [ 1:n ]
συμπέρασμα
"γεμίζω πίνακα"
εισαγωγή
n
μέγιστο: = 0
nc για
Εγώ από 1 πριν n
συμπέρασμα ns,
"εισαγωγή στοιχείου πίνακα"
εισαγωγή
σι
αν
β > μέγ
έπειτα μέγ.:=β
όλα
kts
συμπέρασμα ns
,
"το μέγιστο στοιχείο αυτού του πίνακα είναι", μέγ
ενάντιος

Εργασία #3

Βρείτε το άθροισμα των στοιχείων ενός μονοδιάστατου πίνακα Λύση:

αλγ άθροισμα
νωρίς ολόκληρος
n,i
μανταλάκι
a [ 1:n ]
πράγμα
Β Ζ
συμπέρασμα
"πληκτρολογήστε τον αριθμό των στοιχείων πίνακα"
εισαγωγή
n
z:= 0
nc για Εγώ από 1 πριν n
συμπέρασμα ns,
"εισαγωγή στοιχείου πίνακα"
εισαγωγή
σι
z:= z + b
kts
συμπέρασμα ns
,
"sum",n"στοιχεία πίνακα ίσον", z
ενάντιος

Εργασία #4

Βρείτε το γινόμενο των στοιχείων ενός μονοδιάστατου πίνακα Λύση:

αλγ δουλειά
πρώιμος στόχος
σε
πράγμα
s, d
μανταλάκι
a [ 1:n ]
συμπέρασμα
"εισάγετε τον αριθμό των στοιχείων πίνακα"
εισαγωγή
n
d:= 1
nc για
Εγώ από 1 πριν n
συμπέρασμα ns,
"πληκτρολογήστε τον αριθμό"
εισαγωγή
μικρό
d:= d*s
kts
συμπέρασμα ns
,"
γινόμενο", n, "στοιχεία ίσον", δ
ενάντιος

Πίνακες

Εργασία #1


Συμπληρώστε τον πίνακα με τυχαίους αριθμούς Λύση:

αλγ ο πίνακας είναι δισδιάστατος
ολόκληρος
n, j, h, v
ξεκινήστε την καρτέλα ρούχων
ένα
συμπέρασμα
"πληκτρολογήστε τον αριθμό των στοιχείων στον πίνακα"
εισαγωγή
n
h:= 0
v: = 0
συμπέρασμα ns,
"γεμίζω πίνακα"
εισαγωγή
ένα
nc για
ι από 1 πριν n
αν α > 0
έπειτα
h:= h + 1
σε διαφορετική περίπτωση
v:= v + 1
kts
συμπέρασμα ns,
ένα
ενάντιος


Εργασία #2


Υπολογίστε τον αριθμό των θετικών και αρνητικών στοιχείων της πρώτης σειράς του πίνακα Λύση:

αλγ πίνακας 2
νωρίς
πράγμαβ, χ, ζ
ολόκληρος
σε
συμπέρασμα

εισαγωγή
n x:=0
z:= 0
nc για
Εγώ από 1 πριν n
συμπέρασμα
ns"Εισαγάγετε τον αριθμό"
εισαγωγή
σι
αν
β > 0
έπειτα
x:= x + 1
σε διαφορετική περίπτωση
z:= z + 1
όλα
kts
συμπέρασμα ns
,

συμπέρασμα ns,

ενάντιος


Εργασία #3


Υπολογίστε το άθροισμα των στοιχείων κάθε σειράς Λύση:

αλγ πίνακας 3
ξεκινήστε τα πράγματα
b, x, z, y
ολόκληρος
σε
μανταλάκι
a[ 1:n, 1:n]
συμπέρασμα
"εισαγωγή αριθμού στηλών"
εισαγωγή
n x:=0
z:= 0
nc για
Εγώ από 1 πριν n
συμπέρασμα ns,
"γεμίζω πίνακα"
εισαγωγή
a[ 1:n, 1:n]
b:= a[ 1,i ]+a[ n, i ]
kts
συμπέρασμα ns
,
"ο αριθμός των θετικών αριθμών είναι",χ
συμπέρασμα ns,
"ο αριθμός των αρνητικών αριθμών είναι", z
ενάντιος


Εργασία #4


Υπολογίστε το άθροισμα των τριών αριθμών στη δεύτερη σειρά μιας Λύσης πίνακα τρία προς τρία:

αλγ μήτρα
νωρίς ολόκληρος
σε
μανταλάκι α[1:3, 1:3]
συμπέρασμα "γεμίζω πίνακα"
εισαγωγή α[1:3, 1:3]
n:=0
nc Για Εγώ από 1 πριν 3
n:= n + a[ 2,i]
kts
συμπέρασμα ns,
"το άθροισμα των αριθμών στη δεύτερη σειρά του πίνακα είναι", n
ενάντιος

Κάρτες εργασιών

    Βρείτε ανάμεσα στους n-ακέραιους αριθμούς που εισάγονται από το πληκτρολόγιο τον αριθμό των αρνητικών

    Σας δίνονται δύο αυθαίρετοι αριθμοί. Εφόσον το προϊόν τους είναι μικρότερο από 100, αυξήστε κάθε αριθμό κατά 2 και εμφανίστε τους τελικούς αριθμούς στην οθόνη

    Εισάγονται διαδοχικά n -ακέραιοι αριθμοί. Βρείτε τον αριθμό των πέντε σε μια ακολουθία

    Εισάγονται διαδοχικά n -ακέραιοι αριθμοί. Βρείτε τη διαφορά μεταξύ των μέγιστων και ελάχιστων τιμών των δεδομένων αριθμών

    Βρείτε ανάμεσα στους n-ακέραιους αριθμούς που εισάγονται από το πληκτρολόγιο τον αριθμό των αρνητικών

    Σας δίνονται δύο αυθαίρετοι αριθμοί. Εφόσον το προϊόν τους είναι μικρότερο από 100, αυξήστε κάθε αριθμό κατά 2 και εμφανίστε τους τελικούς αριθμούς στην οθόνη

    Εισάγονται διαδοχικά n -ακέραιοι αριθμοί. Βρείτε τον αριθμό των πέντε σε μια ακολουθία

    Εισάγονται διαδοχικά n -ακέραιοι αριθμοί. Βρείτε τη διαφορά μεταξύ των μέγιστων και ελάχιστων τιμών των δεδομένων αριθμών

    Βρείτε ανάμεσα στους n-ακέραιους αριθμούς που εισάγονται από το πληκτρολόγιο τον αριθμό των αρνητικών

    Σας δίνονται δύο αυθαίρετοι αριθμοί. Εφόσον το προϊόν τους είναι μικρότερο από 100, αυξήστε κάθε αριθμό κατά 2 και εμφανίστε τους τελικούς αριθμούς στην οθόνη

    Εισάγονται διαδοχικά n -ακέραιοι αριθμοί. Βρείτε τον αριθμό των πέντε σε μια ακολουθία

    Εισάγονται διαδοχικά n -ακέραιοι αριθμοί. Βρείτε τη διαφορά μεταξύ των μέγιστων και ελάχιστων τιμών των δεδομένων αριθμών

    Βρείτε ανάμεσα στους n-ακέραιους αριθμούς που εισάγονται από το πληκτρολόγιο τον αριθμό των αρνητικών

    Σας δίνονται δύο αυθαίρετοι αριθμοί. Εφόσον το προϊόν τους είναι μικρότερο από 100, αυξήστε κάθε αριθμό κατά 2 και εμφανίστε τους τελικούς αριθμούς στην οθόνη

    Εισάγονται διαδοχικά n -ακέραιοι αριθμοί. Βρείτε τον αριθμό των πέντε σε μια ακολουθία

    Εισάγονται διαδοχικά n -ακέραιοι αριθμοί. Βρείτε τη διαφορά μεταξύ των μέγιστων και ελάχιστων τιμών των δεδομένων αριθμών