Το X ανήκει στο τμήμα 0 1. Θέμα: Boolean τύπος δεδομένων

Το X ανήκει στο τμήμα 0 1. Θέμα: Boolean τύπος δεδομένων

Οι μεταβλητές τύπου Boolean περιγράφονται χρησιμοποιώντας ένα αναγνωριστικό Boolean . Μπορούν να έχουν μόνο δύο έννοιες - Ψευδής (ψέμα)Και Αληθής (αληθής). Περιγράφονται επίσης στην ενότητα περιγραφής μεταβλητών. Var<имя>:Boolean;

Οι λογικές εκφράσεις μπορούν να περιλαμβάνουν:

n λογικές τιμές,

n πράξεις σχέσης (<- меньше, >- περισσότερα,<=- меньше или равно, >=- μεγαλύτερο ή ίσο με,<>- όχι ίσο, =- ίσο).

n λογικές πράξεις Και, Ή, Όχι

ν Δεκ. δράσεις και λειτουργίες


Το Turbo Pascal έχει λογικές πράξεις που ισχύουν για μεταβλητές του λογικού τύπου. Αυτές είναι οι πράξεις όχι, και, ή και xor.

Λειτουργία δεν(δεν) έχει έναν τελεστή και σχηματίζει τη λογική του άρνηση. Το αποτέλεσμα της πράξης not είναι False αν ο τελεστής είναι true και True αν ο τελεστής είναι false. Άρα, όχι Αληθινό Λάθος (η αναλήθεια είναι ψέμα) όχι Ψέμα Αληθινό (όχι το ψέμα είναι αλήθεια).

Αποτέλεσμα της επέμβασης καιΤο (και) είναι αληθές μόνο αν και οι δύο τελεστές του είναι αληθείς και ψευδείς σε όλες τις άλλες περιπτώσεις (λογικός πολλαπλασιασμός).

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

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

2. και, *, /, div, mod

3. ή, +, -

4. πράξεις σχέσης (<- меньше, >- περισσότερα,<=- меньше или равно, >=- μεγαλύτερο ή ίσο με,<>- όχι ίσο, =- ίσο).

Επιπλέον, η σειρά των πράξεων μπορεί να αλλάξει με παρένθεση. Για παράδειγμα, σε μια λογική έκφραση θα τακτοποιήσουμε τη σειρά των ενεργειών:

AorBandnot(AorB)


Πρώτα εκτελείται η λειτουργία ή που περικλείεται σε παρενθέσεις, ακολουθούμενη από τις λειτουργίες όχι, και, ή. Αν αντικαταστήσουμε τις τιμές True και False αντί για τις μεταβλητές A και B, τότε, χρησιμοποιώντας τη διαδικασία που έχει ήδη συζητηθεί, λαμβάνουμε την τιμή ολόκληρης της έκφρασης ίση με True.

Άσκηση 5: . Γράψε στο τετράδιό σου και υπολόγισε τις έννοιες των εκφράσεων

με a=10, b=20, c=true, d=false: ΕΝΑ)(α>5) και (β>5) και (α<20) and (b<30);

σι)όχι (α<15) or not (b<30);

ντο) c ή d και (b=20).

Προσοχή ! Στο Pascal, δεν υπάρχει τρόπος εισαγωγής Boolean δεδομένων χρησιμοποιώντας τον τελεστή ανάγνωσης. Ωστόσο, είναι δυνατή η έξοδος των τιμών των μεταβλητών τύπου boolean χρησιμοποιώντας τον τελεστή εγγραφής. Για παράδειγμα, μετά την εκτέλεση της εντολής εγγραφής (5>2), στην οθόνη θα εμφανιστεί το True.

Ερωτήσεις και εργασίες για το σπίτι:

1. Πώς περιγράφεται μια λογική μεταβλητή και τι τιμές μπορεί να πάρει;

2. Τι μπορεί να συμπεριληφθεί σε λογικές εκφράσεις. Δώστε παραδείγματα απλών λογικών εκφράσεων.

3. Πείτε μας για τις λογικές πράξεις στο Pascal. Δώστε παραδείγματα σύνθετων λογικών εκφράσεων.

4. Ποια είναι η προτεραιότητα των διαφόρων λειτουργιών στο Pascal. Δώστε ένα παράδειγμα.


Καθήκοντα:

№19.

Α. ο ακέραιος k διαιρείται με το 7.

B. Τουλάχιστον ένας από τους ακέραιους x, y είναι άρτιος.

Ζ. x=max(x,y,z), δηλαδή το x είναι ο μεγαλύτερος από τους τρεις αριθμούς x,y,z.

ΡΕ. (μην χρησιμοποιείτε τη λειτουργία μη)

Ε. τουλάχιστον μία από τις λογικές μεταβλητές a και b έχει την τιμή True.

Ζ. και οι δύο λογικές μεταβλητές a και b έχουν την τιμή True.

№20. Καθορίστε τη σειρά των πράξεων κατά την αξιολόγηση παραστάσεων:

ΕΝΑ)α και β ή όχι γ και δ? σι) (x>=0) ή όχι c και d.

№21. Αξιολογήστε τις παρακάτω εκφράσεις όταν a=True, b=False:

ΕΝΑ)α ή β και όχι α? σι)(α ή β) και όχι α. V)όχι α και β? ΣΟΛ)όχι (α και β)

№22. Δημιουργία προγράμματος: Στις εισαγωγικές εξετάσεις, ο υποψήφιος παρακολούθησε φυσική, επιστήμη υπολογιστών και δοκίμιο. Ένας υποψήφιος θα γίνει δεκτός εάν πάρει 5 στην επιστήμη των υπολογιστών και συγκεντρώσει τουλάχιστον 13 πόντους για τρεις εξετάσεις Είναι αλήθεια ότι έγινε δεκτός (output True/False);

§ 8. Επίλυση προβλημάτων με θέμα «Γραμμικά προγράμματα. Λογικές αξίες».

Πρώην. 7 . Υπολογίστε τις τιμές της παράστασης:

α) sqr(x)+sqr(y)<=4 при x=0.3, y=-1.6;

β) k mod 7 = k div5-1 σε k=15;

γ) odd(trunc(10*p)) σε p=0,182;

δ) όχι μονό(n) για n=0;

ε) t και (p mod 3=0) με t=true, p=101010;

ε) (x*y<>0) και (y>x) για x=2, y=1;

ζ) (x*y<>0) ή (y>x) για x=2, y=1;

η) a ή (όχι β) όταν a=Λάθος, b=Αληθ.

Πρώην. 8. Γράψτε μια έκφραση σε Pascal που να είναι αληθής εάν πληρούται η καθορισμένη συνθήκη και ψευδής διαφορετικά:

α) το x ανήκει στο τμήμα ;

β) το x βρίσκεται έξω από το τμήμα.

γ)* x ανήκει στο τμήμα ή [-1, 1];

δ)* x βρίσκεται έξω από τα τμήματα και [-1, 1];

ε) καθένας από τους αριθμούς x, y, z είναι θετικός.

ζ) κανένας από τους αριθμούς x, y, z δεν είναι θετικός.

η) μόνο ένας από τους αριθμούς x, y, z είναι θετικός.

i) η λογική μεταβλητή a έχει την τιμή True, η λογική μεταβλητή b έχει την τιμή False.


ι)* ένα έτος με αύξοντα αριθμό y είναι δίσεκτο (ένα δίσεκτο έτος αν ο αριθμός του είναι πολλαπλάσιο του 4, αλλά από τα πολλαπλάσια του 100, μόνο τα πολλαπλάσια του 400 είναι δίσεκτα έτη, για παράδειγμα, 1700, 1800 και 1900 είναι μη δίσεκτα έτη, το 2000 είναι δίσεκτο έτος).

Πρώην. 9 . Σχεδιάστε στο επίπεδο (x, y) μια περιοχή στην οποία και μόνο στην οποία είναι αληθής η υποδεικνυόμενη έκφραση:

α)* (y>=x) και (y+x>=0) και (y<=1);

β) (sqr(x)+sqr(y)<1) or (y>0) και (abs(x)<=1);

γ) (trunc(y)=0 και (round(x)=0);

δ)* (abs(x)<=1)>(abs(y)>=1);

δ) (sqr(x)+sqr(y)<=4)=(y<=x).

Πρώην. 10 ..Το βιβλίο κοστίζει Χ ρούβλια. Ο αγοραστής έχει τραπεζογραμμάτια σε ονομαστικές αξίες των 50, 10, 5, 1 ρούβλια. Πόσους και τι είδους λογαριασμούς πρέπει να πάρετε για να πληρώσετε για ένα βιβλίο με τον ελάχιστο αριθμό λογαριασμών;

Οι μεταβλητές Boolean συνήθως λαμβάνουν τις τιμές τους εκτελώντας συγκρίσεις και μαθηματικές πράξεις (που συζητήθηκαν στο προηγούμενο μάθημα), καθώς και χρησιμοποιώντας συγκεκριμένες πράξεις Boolean.

Το Turbo Pascal έχει λογικές πράξεις που ισχύουν για μεταβλητές του λογικού τύπου. Αυτές είναι οι πράξεις όχι, και, ή και xor. Σε αυτό το θέμα θα δείτε τρεις λογικές πράξεις. Οι ονομασίες και τα αποτελέσματα αυτών των πράξεων δίνονται στον πίνακα. Σκεφτείτε το.

Λειτουργία δεν(δεν) έχει έναν τελεστή και σχηματίζει τη λογική του άρνηση. Το αποτέλεσμα της πράξης not είναι False αν ο τελεστής είναι true και True αν ο τελεστής είναι false. Ετσι,

όχι Αληθές Λάθος (η αναλήθεια είναι ψέμα)

όχι Λάθος Αλήθεια (δεν είναι ψέμα αλήθεια)

Αποτέλεσμα της επέμβασης καιΤο (και) είναι αληθές μόνο αν και οι δύο τελεστές του είναι true και false σε όλες τις άλλες περιπτώσεις.

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

Ασκηση . Προσπαθήστε να προσδιορίσετε τη σημασία των πράξεων Boole για δηλώσεις:

  1. Ένας μαθητής μένει στο σπίτι τις χειμερινές διακοπές ή πηγαίνει κάπου διακοπές.
  2. Ο Philip Kirkorov είναι τραγουδιστής και χειριστής.
  3. Οι μαθητές είναι αγόρια και κορίτσια..

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

  • και, *, /, div, mod
  • ή, +, -
  • λειτουργίες σχέσεων..

. Η λογική πράξη και ονομάζεται επίσης λογικός πολλαπλασιασμός, και η λογική πράξη ή ονομάζεται επίσης λογική πρόσθεση.

Επιπλέον, η σειρά των πράξεων μπορεί να αλλάξει με παρένθεση. Για παράδειγμα, σε μια λογική έκφραση θα τακτοποιήσουμε τη σειρά των ενεργειών

Α ή Β και όχι (Α ή Β)

Πρώτα εκτελείται η λειτουργία ή που περικλείεται σε παρενθέσεις, ακολουθούμενη από τις λειτουργίες όχι, και, ή. Αν αντικαταστήσουμε τις τιμές True και False αντί για τις μεταβλητές A και B, τότε, χρησιμοποιώντας τη διαδικασία που έχει ήδη συζητηθεί, λαμβάνουμε την τιμή ολόκληρης της έκφρασης ίση με True.

Ασκηση . Σημειώστε στο τετράδιό σας και υπολογίστε τις τιμές των παραστάσεων για a=10, b=20, c=true, d=false:

  • (α>5) και (β>5) και (α<20) and (b<30);
  • όχι (α<15) or not (b<30);
  • c ή d και (b=20);

Προσοχή! Στο Pascal, δεν υπάρχει τρόπος εισαγωγής Boolean δεδομένων χρησιμοποιώντας τον τελεστή ανάγνωσης. Ωστόσο, είναι δυνατή η έξοδος των τιμών των μεταβλητών τύπου boolean χρησιμοποιώντας τον τελεστή εγγραφής.

Για παράδειγμα, μετά την εκτέλεση της εντολής εγγραφής (5>2), στην οθόνη θα εμφανιστεί το True.

Ανεξάρτητη εργασία

Με τον δάσκαλό σας, επιλέξτε μια εργασία για ανεξάρτητη εργασία από τις παρακάτω ασκήσεις.

  1. Υπολογίστε τις τιμές της παράστασης:

    α) sqr(x)+sqr(y)<=4 при x=0.3, y=-1.6;

    β) k mod 7 = k div5-1 σε k=15;

    γ) odd(trunc(10*p)) σε p=0,182;

    δ) όχι μονό(n) για n=0;

    ε) t και (p mod 3=0) με t=true, p=101010;

    ε) (x*y<>0) και (y>x) για x=2, y=1;

    ζ) (x*y<>0) ή (y>x) για x=2, y=1;

    η) a ή (όχι β) όταν a=Λάθος, b=Αληθ.

  2. Γράψτε μια σχέση στο Pascal που είναι αληθής εάν πληρούται η καθορισμένη συνθήκη και ψευδής διαφορετικά:

    α) ο ακέραιος k διαιρείται με το 7.

    β) το σημείο (x, y) βρίσκεται εκτός του κύκλου της ακτίνας R με κέντρο στο σημείο (1,0).

    γ) ο φυσικός αριθμός N είναι το τετράγωνο του φυσικού αριθμού.

    δ) 0

    ε) x=max(x,y,z);

    ε) τουλάχιστον μία από τις λογικές μεταβλητές a και b έχει την τιμή True.

    ζ) και οι δύο λογικές μεταβλητές a και b έχουν την τιμή True.

  3. Καθορίστε τη σειρά των πράξεων κατά την αξιολόγηση παραστάσεων:

    α) α και β ή όχι γ και δ?

    β) (x>=0) ή όχι c και d.

  4. Αξιολογήστε τις παρακάτω εκφράσεις όταν a=True, b=False:

    α) α ή β και όχι α.

    β) (α ή β) και όχι α.

    γ) όχι α και β?

    δ) όχι (α και β)

  5. Γράψτε μια έκφραση σε Pascal που να είναι αληθής εάν πληρούται η καθορισμένη συνθήκη και ψευδής διαφορετικά:

    α) το x ανήκει στο τμήμα ;

    β) το x βρίσκεται έξω από το τμήμα.

    γ)* x ανήκει στο τμήμα ή [-1, 1];

    δ)* x βρίσκεται έξω από τα τμήματα και [-1, 1];

    ε) καθένας από τους αριθμούς x, y, z είναι θετικός.

    ζ) κανένας από τους αριθμούς x, y, z δεν είναι θετικός.

    η) μόνο ένας από τους αριθμούς x, y, z είναι θετικός.

    i) η λογική μεταβλητή a έχει την τιμή True, η λογική μεταβλητή b έχει την τιμή False.

    ι)* ένα έτος με αύξοντα αριθμό y είναι δίσεκτο (ένα δίσεκτο έτος αν ο αριθμός του είναι πολλαπλάσιο του 4, αλλά από τα πολλαπλάσια του 100, μόνο τα πολλαπλάσια του 400 είναι δίσεκτα έτη, για παράδειγμα, 1700, 1800 και 1900 είναι μη δίσεκτα έτη, το 2000 είναι δίσεκτο έτος).

  6. Σχεδιάστε στο επίπεδο (x, y) μια περιοχή στην οποία και μόνο στην οποία είναι αληθής η υποδεικνυόμενη έκφραση:

    α)* (y>=x) και (y+x>=0) και (y<=1);

    β) (sqr(x)+sqr(y)<1) or (y>0) και (abs(x)<=1);

    γ) (trunc(y)=0 και (round(x)=0);

    δ)* (abs(x)<=1)>(abs(y)>=1);

    δ) (sqr(x)+sqr(y)<=4)=(y<=x).

  7. Υπάρχει ένας τελεστής υπό όρους:
    αν δ<>10
    τότε
    writeln («γρήγορα!»)
    αλλού
    writeln('κακό...');

    Είναι δυνατόν να αντικατασταθεί με τις ακόλουθες δηλώσεις:

  8. Ποιες θα είναι οι τιμές των μεταβλητών j, k μετά την εκτέλεση της δήλωσης υπό όρους:
    αν j>k
    τότε
    j:=k-2
    αλλού
    dec(k,2);
    αν οι αρχικές τιμές των μεταβλητών είναι ίσες:
    α) j=3, k=5;
    β) j=3, k=3;
    γ) j=3, k=2.

Σημείωμα . Ως αποτέλεσμα της εκτέλεσης του τελεστή dec (k,2), η τιμή της μεταβλητής k μειώνεται κατά 2.

. Χανήκει στο τμήμα ;
x βρίσκεται έξω από το τμήμα.
x ανήκει στο τμήμα ή [-1,1];
x βρίσκεται έξω από το τμήμα ή [-1,1].
3.
Εξηγήστε τη δομή και τους κανόνες για την εκτέλεση εντολών υπό όρους.
4.
Γράψτε την καθορισμένη ενέργεια ως ενιαία πρόταση υπό όρους:
cos
2
x, στο 0x στο =
1-αμαρτία
2
x, αλλιώς.
5.
z
int z=0, x=1, y=

1;

80 Προγραμματισμός γραμμικών αλγορίθμων στο σύστημα C++ Builder
αν (x>0) αν (y>0) z=1; αλλιώς z=2;
6.
Τι τιμή θα έχει η μεταβλητή; zμετά την εκτέλεση των τελεστών:
int z=0, x=

1, y=1;
αν (x) (αν (y>0) z=1;) αλλιώς z=2;
7.
Τι τιμή θα έχει η μεταβλητή; zμετά την εκτέλεση των τελεστών:
int z=0, x=0, y=1;
αν (x) (αν (y>0) z=1;) αλλιώς z=2;
8.
Τι τιμή θα έχει η μεταβλητή; zμετά την εκτέλεση των τελεστών:
int z=0, x=3, y=1;
αν (x) (αν (y) z=1;) αλλιώς z=2;
9.
Σημειώστε τα σφάλματα στις ακόλουθες δηλώσεις:
αν (1
αλλιώς x=0; y+= 1;
10.
int z=0, x=0, y=1;
αν (!x) (αν (!(y

1)) z=1;) αλλιώς z=2;
11.
Τι τιμή θα έχει η μεταβλητή z μετά την εκτέλεση των εντολών:
int z=0, x=1, y=1;
αν (!x) (αν (!(y

1)) z=1;) αλλιώς z=2;
12.
Βρείτε σφάλματα στο τμήμα του προγράμματος:
(int n,x; διακόπτης (k) case + : x:=x-4 break; case

-

,

*

x=5;
}
Ποιοι κανόνες παραβιάστηκαν και πώς μπορούν να διορθωθούν τα λάθη;


81
3.4
Ατομικές εργασίες για την ενότητα 3
Κάθε μαθητής χρειάζεται να λύσει δύο προβλήματα του πρώτου και του δεύτερου επιπέδου πολυπλοκότητας.
Προβλήματα πρώτου επιπέδου δυσκολίας.
1.
Σας δίνεται ένας τετραψήφιος θετικός ακέραιος. Γράψτε ένα πρόγραμμα που εκτυπώνει αληθήςή ψευδήςανάλογα με το εάν η καθορισμένη προϋπόθεση πληρούται ή όχι: το άθροισμα 1 και 4 ψηφίων είναι ίσο με το γινόμενο των 2 και 3 ψηφίων.
2.
Δίνονται πραγματικοί αριθμοί x, y. Εάν τα x και y είναι αρνητικά, τότε αντικαταστήστε κάθε τιμή με το μέτρο της. εάν μόνο ένα από αυτά είναι αρνητικό, τότε αυξήστε και τις δύο τιμές κατά 5,5. σε άλλες περιπτώσεις, μειώστε και τις δύο τιμές κατά 10 φορές.
3.
Δίνονται πραγματικοί αριθμοί x, y. Εάν τα x και y είναι θετικά, τότε μειώστε κάθε τιμή κατά 5 φορές. εάν και οι δύο τιμές βρίσκονται στην περιοχή [-3, 9], τότε αντικαταστήστε και τις δύο τιμές με 0. Σε άλλες περιπτώσεις, αυξήστε τα x και y κατά 3.
4.
Δίνονται πραγματικοί αριθμοί x, y (xy). Αντικαταστήστε τον μικρότερο από αυτούς τους δύο αριθμούς με το μισό άθροισμά τους και τον μεγαλύτερο με το διπλό γινόμενο τους.
5.
Εάν το άθροισμα τριών κατά ζεύγη διαφορετικών πραγματικών αριθμών x, y, z είναι μικρότερο από 1, τότε αντικαταστήστε τον μικρότερο από αυτούς τους τρεις αριθμούς με το μισό άθροισμα των άλλων δύο. Διαφορετικά, αντικαταστήστε το μικρότερο των x και y με το μισό άθροισμα των υπόλοιπων δύο τιμών.
6.
Δίνονται πραγματικοί αριθμοί a, b, c, d. Αν α b>c>d, μετά αφήστε τους αριθμούς αμετάβλητους. Διαφορετικά, αντικαταστήστε όλους τους αριθμούς με τετράγωνα.
7.
Προσδιορίστε εάν ένας εξαψήφιος ακέραιος είναι τυχερός. (Ένας αριθμός ονομάζεται τυχερός αν το άθροισμα των τριών πρώτων ψηφίων του είναι ίσο με το άθροισμα των τριών τελευταίων ψηφίων του.)
8.
αληθήςή ψευδήςανάλογα με το εάν η καθορισμένη συνθήκη ικανοποιείται ή όχι: για αυθαίρετους πραγματικούς αριθμούς a, b, c, καθορίστε εάν η εξίσωση αξ.
2
+bx+c=0 τουλάχιστον μία πραγματική λύση.

82 Προγραμματισμός γραμμικών αλγορίθμων στο σύστημα C++ Builder
9.
Για να λύσετε το παρακάτω πρόβλημα, γράψτε ένα πρόγραμμα που εκτυπώνει αληθήςή ψευδήςανάλογα με το εάν η καθορισμένη συνθήκη πληρούται ή όχι: προσδιορίστε εάν το άθροισμα των δύο πρώτων ψηφίων ενός δεδομένου τετραψήφιου αριθμού είναι ίσο με το άθροισμα των δύο τελευταίων αριθμών του.
10.
Σε μερικά εκπαιδευτικό ίδρυμαΙσχύουν οι ακόλουθοι κανόνες εισδοχής. Οι υποψήφιοι δίνουν δύο εξετάσεις, οι οποίες αξιολογούνται σύμφωνα με
100 πόντους το καθένα. Εάν ένας υποψήφιος συγκεντρώσει τουλάχιστον 150 πόντους, τότε αυτό δίνει το δικαίωμα εγγραφής στο τμήμα πλήρους απασχόλησης, από 100 έως 149 - στο βραδινό τμήμα. κάτω από 100 μόρια σημαίνει άρνηση εισαγωγής για σπουδές. Γράψτε ένα πρόγραμμα που, ανάλογα με τον αριθμό των βαθμών που θα συγκεντρώσει, θα ενημερώνει τον αιτούντα για τα δικαιώματά του για εισαγωγή.
11.
Γράψτε ένα πρόγραμμα χρησιμοποιώντας τον τελεστή επιλογής για να λάβετε μια λεκτική περιγραφή των σημείων. (1 - "κακό", 2 -
"μη ικανοποιητικό", 3 - "ικανοποιητικό", 4 - "καλό", 5 -
"Μεγάλος".)
12.
Για να λύσετε το παρακάτω πρόβλημα, γράψτε ένα πρόγραμμα που εκτυπώνει αληθήςή ψευδήςανάλογα με το εάν η καθορισμένη προϋπόθεση πληρούται ή όχι: προσδιορίστε εάν μεταξύ των ψηφίων ενός δεδομένου τριψήφιου αριθμού υπάρχουν πανομοιότυπα.
13.
Γράψτε ένα πρόγραμμα που εκτυπώνει αληθής, εάν η ημερομηνία d1, m1προηγείται (εντός ενός έτους) της ημερομηνίας d2, m2και νόημα ψευδήςαλλιώς.
14.
Γράψτε ένα πρόγραμμα χρησιμοποιώντας έναν τελεστή επιλογής που, με βάση το πρώτο γράμμα του ονόματος, εμφανίζει το πλήρες όνομα στην οθόνη
(Ivan, Peter, Nikolai, Vladimir, Georgy).
15.
Γράψτε ένα πρόγραμμα χρησιμοποιώντας τον τελεστή επιλογής, ο οποίος, με βάση το εισαγόμενο ψηφίο, είναι 0≤ k≤Το 5 εκτυπώνει το όνομα αυτού του αριθμού στα ρωσικά και τα αγγλικά.
16.
Δίνεται ένας ακέραιος αριθμός k (1

κ

365). Προσδιορίστε εάν η 1η ημέρα του έτους θα είναι Σαββατοκύριακο ή εργάσιμη, εάν η 1η Ιανουαρίου είναι Δευτέρα.
17.
Δίνεται πραγματικός αριθμός x. Υπολογίζω φά, Εάν:











αμαρτία
,
1 0
,
0 5
2 11 2
περιπτώσεις
τα υπόλοιπα
V
x
x
x
στο
x
x
x
στο
φά

Προγραμματισμός με μονοδιάστατους πίνακες
83 18.
Δίνεται πραγματικός αριθμός x. Γράψτε ένα πρόγραμμα για τον υπολογισμό φά:












34 5
,
12 3
lg ln
,
3 5
1 3
2 4
περιπτώσεις
τα υπόλοιπα
V
x
x
x
στο
x
x
x
στο
φά
19.
Γράψτε ένα πρόγραμμα χρησιμοποιώντας έναν τελεστή επιλογής που, με βάση το πρώτο γράμμα του ονόματος της πόλης, εμφανίζει το πλήρες όνομα της πόλης (Kursk, Moscow, Tula, Novgorod, Voronezh).
20.
Γράψτε ένα πρόγραμμα χρησιμοποιώντας έναν τελεστή επιλογής που, με βάση το πρώτο γράμμα του επωνύμου, εμφανίζει το πλήρες επώνυμο (Ivanov, Petrov, Sidorov, Myshkin, Shishkin).
21.
Δίνονται οι συντεταγμένες του κέντρου και η ακτίνα του κύκλου. Να προσδιορίσετε αν ένα συγκεκριμένο σημείο με συντεταγμένες (x,y) ανήκει σε κύκλο.
22.
Γράψτε ένα πρόγραμμα χρησιμοποιώντας έναν τελεστή επιλογής που, με βάση το πρώτο γράμμα του ονόματος του ζώου που εισάγατε, θα εκτυπώσει το πλήρες όνομα του ζώου (σκύλος, γάτα, καμηλοπάρδαλη, άλογο, πίθηκος).
23.
Δίνονται τρεις διαφορετικοί αριθμοί αλφάβητο. Ταξινομήστε αυτούς τους αριθμούς σε αύξουσα σειρά έτσι ώστε ένααντιστοιχούσε στον μικρότερο αριθμό σι– μέσος αριθμός, ντο– το μεγαλύτερο.
24.
Γράψτε ένα πρόγραμμα χρησιμοποιώντας έναν τελεστή επιλογής που εμφανίζει το όνομα της ημέρας της εβδομάδας ανά αριθμό (από το 1 έως το 7).
25.
Γράψτε ένα πρόγραμμα χρησιμοποιώντας έναν τελεστή επιλογής που εμφανίζει το όνομα του μήνα του έτους κατά αριθμό (από το 1 έως το 12).
26.
Γράψτε ένα πρόγραμμα χρησιμοποιώντας τον τελεστή επιλογής, ο οποίος, με βάση το εισαγόμενο πρώτο γράμμα του ονόματος της εποχής του έτους, εκτυπώνει το πλήρες όνομα της εποχής του έτους.
27.
Σας δίνεται ένας πενταψήφιος θετικός ακέραιος. Γράψτε ένα πρόγραμμα που εκτυπώνει αληθήςή ψευδήςανάλογα με το εάν η καθορισμένη προϋπόθεση πληρούται ή όχι: το άθροισμα των 1, 3 και 5 ψηφίων είναι μεγαλύτερο από το γινόμενο των 2 και 4 ψηφίων.
28.
Σας δίνεται ένας τετραψήφιος θετικός ακέραιος. Γράψτε ένα πρόγραμμα που εκτυπώνει αληθήςή ψευδήςανάλογα με

84 Προγραμματισμός γραμμικών αλγορίθμων στο σύστημα C++ Builder εάν η καθορισμένη συνθήκη ικανοποιείται ή όχι: αριθμητικός μέσος όρος 1 και
Τα 4 ψηφία είναι μεγαλύτερα από το άθροισμα των 2 και 3 ψηφίων.
29.
Δίνεται ένας ψηφίος και ένας τριψήφιος αριθμός στο δεκαδικό σύστημα αριθμών. Εάν το ψηφίο ταιριάζει με το υψηλότερο ψηφίο του αριθμού, τότε υπολογίστε το άθροισμα των ψηφίων του αριθμού. Εάν το ψηφίο συμπίπτει με το μεσαίο ψηφίο του αριθμού, τότε υπολογίστε το γινόμενο των ψηφίων του αριθμού. Εάν το ψηφίο συμπίπτει με το λιγότερο σημαντικό ψηφίο του αριθμού, τότε υπολογίστε τον αριθμητικό μέσο όρο των ψηφίων του αριθμού. Εάν δεν πληρούται καμία από τις προϋποθέσεις, τότε υπολογίστε τον γεωμετρικό μέσο όρο των ψηφίων του αριθμού.
30.
Δίνεται ένα ψηφίο και ένας τριψήφιος αριθμός στο δεκαδικό σύστημα αριθμών. Αν το ψηφίο συμπίπτει με το υψηλότερο ψηφίο του αριθμού, τότε υπολογίστε τον αριθμητικό μέσο όρο των ψηφίων του αριθμού. Εάν το ψηφίο συμπίπτει με το μεσαίο ψηφίο του αριθμού, τότε υπολογίστε τον γεωμετρικό μέσο όρο των ψηφίων του αριθμού. Εάν το ψηφίο συμπίπτει με το λιγότερο σημαντικό ψηφίο του αριθμού, τότε υπολογίστε το άθροισμα των ψηφίων του αριθμού. Εάν δεν πληρούται καμία από τις προϋποθέσεις, τότε υπολογίστε το γινόμενο των ψηφίων του αριθμού
Προβλήματα δεύτερου επιπέδου πολυπλοκότητας.
1.
Δίνεται ένας ακέραιος διψήφιος θετικός αριθμός στο τριαδικό σύστημα αριθμών. Γράψτε ένα πρόγραμμα που εμφανίζει τα ονόματα των ψηφίων ενός αριθμού στα ρωσικά εάν το υψηλότερο ψηφίο του αριθμού είναι μεγαλύτερο από το χαμηλότερο, διαφορετικά
- επάνω αγγλικός.
2.
Δίνεται ένας ακέραιος διψήφιος θετικός αριθμός στο πενταψήφιο σύστημα αριθμών. Γράψτε ένα πρόγραμμα που εμφανίζει τα ονόματα των ψηφίων ενός αριθμού στα αγγλικά, εάν το υψηλότερο ψηφίο του αριθμού είναι μεγαλύτερο από το χαμηλότερο, διαφορετικά
- στα ρωσικά.
3.
Δίνεται ένας ακέραιος διψήφιος θετικός αριθμός στο πενταψήφιο σύστημα αριθμών. Γράψτε ένα πρόγραμμα που εμφανίζει τα ονόματα των ψηφίων ενός αριθμού στα αγγλικά, εάν το υψηλότερο ψηφίο του αριθμού είναι ακριβώς 2 φορές μεγαλύτερο από το χαμηλότερο, διαφορετικά
- στα ρωσικά.
4.
Δίνεται ένας ακέραιος διψήφιος θετικός αριθμός στο τριαδικό σύστημα αριθμών. Γράψτε ένα πρόγραμμα που εμφανίζει τα ονόματα των ψηφίων ενός αριθμού στα ρωσικά, εάν το υψηλότερο ψηφίο του αριθμού είναι μικρότερο από το χαμηλότερο, διαφορετικά
- στα αγγλικά.

Προγραμματισμός με μονοδιάστατους πίνακες
85 5.
Δίνεται ένας ακέραιος διψήφιος θετικός αριθμός στο πενταψήφιο σύστημα αριθμών. Γράψτε ένα πρόγραμμα που εμφανίζει τα ονόματα των ψηφίων ενός αριθμού στα ρωσικά.
6.
Δίνεται ένας ακέραιος διψήφιος θετικός αριθμός στο οκταδικό σύστημα αριθμών. Γράψτε ένα πρόγραμμα που εμφανίζει τα ονόματα των ψηφίων ενός αριθμού στα ρωσικά.
7.
Δίνεται ένας ακέραιος διψήφιος θετικός αριθμός στο οκταδικό σύστημα αριθμών. Γράψτε ένα πρόγραμμα που θα εμφανίζει, εάν το κύριο ψηφίο είναι μικρότερο από το μισό του δευτερεύοντος ψηφίου, τα ονόματα των ψηφίων του αριθμού στα αγγλικά, διαφορετικά

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

στα ρωσικά.
9.
Στο δεκαδικό σύστημα αριθμών δίνονται δύο ψηφία. Γράψτε ένα πρόγραμμα που να εμφανίζει τα ονόματα στα αγγλικά των ψηφίων του αθροίσματος αυτών των ψηφίων.
10.
Στο δεκαδικό σύστημα αριθμών δίνονται δύο ψηφία. Γράψτε ένα πρόγραμμα που εμφανίζει τα ονόματα στα ρωσικά των αριθμών του γινομένου αυτών των αριθμών.
11.
Στο δεκαδικό σύστημα αριθμών δίνονται δύο ψηφία. Γράψτε ένα πρόγραμμα που εμφανίζει το όνομα στα ρωσικά των ψηφίων του συντελεστή της διαφοράς μεταξύ αυτών των ψηφίων.
12.
Στο δεκαδικό σύστημα αριθμών δίνονται δύο ψηφία. Γράψτε ένα πρόγραμμα που εμφανίζει τα ονόματα των ψηφίων στα αγγλικά για το πηλίκο και το υπόλοιπο μιας ακέραιας διαίρεσης αυτών των αριθμών.
13.
Δίνεται ένας διψήφιος θετικός ακέραιος αριθμός στο εννεαψήφιο σύστημα αριθμών. Γράψτε ένα πρόγραμμα που θα εμφανίζει, εάν το υψηλότερο ψηφίο είναι τρεις φορές μεγαλύτερο από το χαμηλότερο ψηφίο, τα ονόματα των ψηφίων του αριθμού στα αγγλικά, διαφορετικά

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

στα ρωσικά.

86 Προγραμματισμός γραμμικών αλγορίθμων στο σύστημα C++ Builder
15.
Δίνεται ένας διψήφιος θετικός ακέραιος αριθμός στο διαφραγματικό σύστημα αριθμών. Γράψτε ένα πρόγραμμα που εμφανίζει το όνομα του ψηφίου ενός αριθμού που έχει μεγαλύτερη τιμή στα αγγλικά και το όνομα του ψηφίου ενός αριθμού που έχει μικρότερη τιμή.

στα ρωσικά.
16.
Δίνεται ένας διψήφιος θετικός ακέραιος αριθμός στο δεκαεξαδικό σύστημα αριθμών. Γράψτε ένα πρόγραμμα που εμφανίζει τα ονόματα των ψηφίων ενός αριθμού στα αγγλικά.
17.
Δίνονται δύο ακέραιοι διψήφιοι θετικοί αριθμοί στο τριαδικό σύστημα αριθμών. Γράψτε ένα πρόγραμμα που εμφανίζει τα ονόματα των ψηφίων του αθροίσματος αυτών των αριθμών στα ρωσικά.
18.
Δίνονται δύο ακέραιοι διψήφιοι θετικοί αριθμοί στο δυαδικό σύστημα αριθμών. Γράψτε ένα πρόγραμμα που θα εμφανίζει τα ονόματα των ψηφίων του αθροίσματος αυτών των αριθμών στα Αγγλικά.
19.
Δίνεται ένας διψήφιος θετικός ακέραιος αριθμός στο πενταψήφιο σύστημα αριθμών. Γράψτε ένα πρόγραμμα που θα εμφανίζει, εάν οι αριθμοί είναι ταξινομημένοι σε αύξουσα σειρά, τα ονόματα των ψηφίων του αριθμού στα αγγλικά και διαφορετικά

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

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

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

Προγραμματισμός με μονοδιάστατους πίνακες
87 είναι η κατάταξη του ψηφίου του αριθμού που έχει τη χαμηλότερη τιμή,

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

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

στα αγγλικά.
27.
Δίνονται τα δύο πρώτα γράμματα (χωρίς διάκριση, πεζά και κεφαλαία) του ονόματος του μήνα του έτους. Γράψτε ένα πρόγραμμα που εμφανίζει το πλήρες όνομα του μήνα του έτους στα ρωσικά.
28.
Δίνονται τα δύο πρώτα γράμματα (χωρίς διάκριση πεζών και κεφαλαίων) του ονόματος της ημέρας της εβδομάδας. Γράψτε ένα πρόγραμμα που εμφανίζει το πλήρες όνομα της ημέρας της εβδομάδας στα ρωσικά.
29.
Το παλιό ιαπωνικό ημερολόγιο υιοθέτησε έναν κύκλο 60 ετών, αποτελούμενο από πέντε υποκύκλους 12 ετών. Οι υποκύκλοι χαρακτηρίστηκαν με ονόματα χρωμάτων: πράσινο, κόκκινο, κίτρινο, λευκό και μαύρο. Μέσα σε κάθε υποκύκλο, τα χρόνια ονομάστηκαν από ζώα: αρουραίος, αγελάδα, τίγρη, λαγός, δράκος, φίδι, άλογο, πρόβατο, πίθηκος, κοτόπουλο, σκύλος και γουρούνι (1984 - η χρονιά του πράσινου αρουραίου - ήταν η αρχή του επόμενου κύκλος). Γράψτε ένα πρόγραμμα που εισάγει τον αριθμό ενός συγκεκριμένου έτους μ.Χ και τυπώνει το όνομά του σύμφωνα με το παλιό ιαπωνικό ημερολόγιο.
30.
Δίνεται ένας διψήφιος θετικός ακέραιος αριθμός στο εννεαψήφιο σύστημα αριθμών. Γράψτε ένα πρόγραμμα που εμφανίζει το όνομα των ψηφίων ενός αριθμού με τιμή μεγαλύτερη από 5 στα ρωσικά και το όνομα των ψηφίων ενός αριθμού με τιμή μικρότερη ή ίση με 5,

στα αγγλικά.

88 Προγραμματισμός γραμμικών αλγορίθμων στο σύστημα C++ Builder
4 ΚΥΚΛΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
ΑΛΓΟΡΙΘΜΟΙ ΣΤΟ ΣΥΣΤΗΜΑ BUILDER C++
Αυτή η ενότητα εξετάζει τους τελεστές βρόχου γλώσσας
C++, απόκτηση δεξιοτήτων στον προγραμματισμό κυκλικών αλγορίθμων, εισαγωγή
ναι, μεταγλώττιση και αποσφαλμάτωση προγραμμάτων.
4.1
Βασικές Έννοιες
Στη γλώσσα C++ Builder Υπάρχουν τρεις τελεστές βρόχου:
1.
Βρόχος με προϋπόθεση ( ενώ);
2.
Βρόχος με μετασυνθήκη ( κάνω);
3.
Βρόχος με μετρητή ( για).
Χειριστής βρόχου με προϋπόθεση ενώ (Εικόνα 4.1):
ενώ(κατάσταση) (σώμα βρόχου)
Εικόνα 4.1

Διάγραμμα αλγορίθμου τελεστή βρόχου ενώ
Αν το αποτέλεσμα του υπολογισμού της συνθήκης είναι αληθής(αληθές), τότε εκτελείται το σώμα του βρόχου και πραγματοποιείται ξανά η μετάβαση στον έλεγχο της συνθήκης. Αν το αποτέλεσμα του υπολογισμού της συνθήκης είναι ψευδής(false), τότε ο βρόχος εξέρχεται και μετακινείται στον τελεστή ακολουθώντας τον κυκλικό τελεστή ενώ.
Αν πριν από την πρώτη εκτέλεση του βρόχου η τιμή της παράστασης ήταν ψευδής, το σώμα του βρόχου δεν εκτελείται καθόλου και γίνεται η μετάβαση στην επόμενη πρόταση.
Κατάσταση
Σώμα βρόχου
Ναί
Οχι

Προγραμματισμός με μονοδιάστατους πίνακες
89
Παράδειγμα:
Υπολογίστε το άθροισμα των περιττών αριθμών στην περιοχή από το 1 έως το 10.
( int k=1, s=0; ενώ (k ( s+=k; k+=2;
}
}
Χειριστής βρόχου με μετασυνθήκη κάνω (Εικόνα 4.2):
κάνω(σώμα βρόχου) ενώ(κατάσταση); ναι όχι προϋπόθεση
Σώμα βρόχου
Εικόνα 4.2

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



απόψεις