Πώς να φτιάξετε ένα πρόγραμμα χρονόμετρου στο Pascal

Πίνακας περιεχομένων:

Πώς να φτιάξετε ένα πρόγραμμα χρονόμετρου στο Pascal
Πώς να φτιάξετε ένα πρόγραμμα χρονόμετρου στο Pascal

Βίντεο: Πώς να φτιάξετε ένα πρόγραμμα χρονόμετρου στο Pascal

Βίντεο: Πώς να φτιάξετε ένα πρόγραμμα χρονόμετρου στο Pascal
Βίντεο: MOTOmed Letto - Κινησιοθεραπεία στο κρεββάτι. 2024, Νοέμβριος
Anonim
Πώς να φτιάξετε ένα πρόγραμμα χρονόμετρου στο Pascal
Πώς να φτιάξετε ένα πρόγραμμα χρονόμετρου στο Pascal

Απαραίτητη

Περιβάλλον προγραμματισμού PascalABC. NET ή PascalTurbo

Οδηγίες

Βήμα 1

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

για αυτό θα γράψουμε:

χρήσεις

CRT;

Βήμα 2

Ας υποδείξουμε τις μεταβλητές i, s, m - μεταβλητές του πραγματικού τύπου.

var

i, s, m: Real;

Βήμα 3

Για να ξεκινήσετε το πρόγραμμα, γράψτε:

αρχίζουν

Και θα δείξουμε τον τίτλο του παραθύρου της κονσόλας:

SetWindowTitle («Χρονόμετρο»);

Βήμα 4

Η διαδικασία TextColor εκχωρεί ένα χρώμα στο κείμενο και η δήλωση εγγραφής εμφανίζει το κείμενο στην οθόνη:

TextColor (LightGreen);

WriteLn ('Πατήστε Enter για να ξεκινήσετε το χρονόμετρο');

WriteLn ('Πατήστε ξανά για διακοπή');

Γράψτε («Κάντε κλικ ξανά για να ξεκινήσετε από την αρχή»)

Το τελικό Ln μετακινείται στην επόμενη γραμμή.

Βήμα 5

Ο χειριστής ReadLn εισάγει τιμές από το πληκτρολόγιο, αλλά σε αυτήν την περίπτωση περιμένει μόνο ο χρήστης να πατήσει Enter:

ΔιαβάστεLn;

Βήμα 6

Κάνουμε έναν ατελείωτο βρόχο:

ενώ (αληθινό) το κάνετε

αρχίζουν

Το while (true) do begin build μεταφράζεται ως: While (condition) do (). Γιατί ξεκινά εδώ;

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

Βήμα 7

Τώρα ας επαναφέρουμε τον μετρητή:

i: = 0;

Βήμα 8

Η ακόλουθη δήλωση μεταφράζεται ως: έως ότου πατηθεί το πλήκτρο do ().

ενώ δεν το πατάτε

αρχίζουν

Ο χειριστής ClrScr διαγράφει την οθόνη:

ClrScr;

Βήμα 9

Ορίζουμε την προϋπόθεση: εάν τα δευτερόλεπτα είναι περισσότερα από 60 και λιγότερο από 3600 (αυτό είναι απαραίτητο, έτσι ώστε όταν η ώρα είναι μεγαλύτερη από μία ώρα, το πρόγραμμα εκτυπώνει μόνο ό, τι είναι μετά το τρίτο εάν) τότε:

εάν (i> 60) και (i <3600) τότε ξεκινήστε

Η μεταβλητή m (λεπτά) ισούται με: δευτερόλεπτα διαιρούμενη με 60 και στρογγυλεμένη προς τα εμπρός.

m: = Int (i / 60);

Και η μεταβλητή s (δευτερόλεπτα χωρίς λεπτά) ισούται με: όλα τα δευτερόλεπτα μείον λεπτά πολλαπλασιασμένα επί 60.

s: = i - m * 60;

Βήμα 10

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

Γράψτε (m, 'λεπτά) και', s: 1: 2, 'δευτερόλεπτα')

τέλος;

Λειτουργία: 1: 2 σημαίνει ότι τα δευτερόλεπτα πρέπει να γράφονται με δύο δεκαδικά ψηφία.

Βήμα 11

Εάν τα δευτερόλεπτα είναι μικρότερα από 60, τότε απλώς γράψτε πόσα δευτερόλεπτα έχουν περάσει με δύο δεκαδικά ψηφία:

αν εγώ <60 τότε

Γράψτε (", i: 1: 2," δευτερόλεπτα (a / s) ");

Βήμα 12

Εάν τα δευτερόλεπτα είναι περισσότερα από 3600 (δηλαδή περισσότερο από μία ώρα) τότε:

αν i> 3600 τότε ξεκινήστε

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

Γράψτε (ch, 'hour (s)', m, 'minutes (s) and', s: 1: 2, 'seconds (s)');

τέλος;

Βήμα 13

Έτσι, το πρόγραμμα έγραψε ότι έχουν περάσει 0 δευτερόλεπτα, τώρα αυξάνει τον μετρητή i κατά 10 χιλιοστά του δευτερολέπτου και δεδομένου ότι το πρόγραμμα κάνει τα πάντα αμέσως, καθυστερούμε για την ίδια στιγμή:

i: = i + 0,01;

Καθυστέρηση (10)

Στη συνέχεια, κάνουμε το τέλος για τη δήλωση While (not keypressed):

τέλος;

Εάν ο χρήστης πατήσει το πλήκτρο Enter, τότε το πρόγραμμα περιμένει να το πατήσει ξανά για να ξεκινήσει ξανά το χρονόμετρο:

Readln;

Readln;

Δεν είναι τυχαίο που θέτουμε το μετρητή στο μηδέν μετά τη δήλωση While (true), επειδή όταν ο χρήστης πατήσει Enter για δεύτερη φορά, το πρόγραμμα θα ξεκινήσει από εκεί, θα επαναφέρει τον μετρητή και θα αρχίσει να μετρά ξανά.

Στη συνέχεια, τερματίζουμε το While και για ολόκληρο το πρόγραμμα:

τέλος;

Βήμα 14

Εδώ είναι το πλήρες πρόγραμμα:

χρήσεις

CRT;

var

εγώ πραγματικά;

s: Πραγματικό;

m: Πραγματικό;

ch: Πραγματικό;

αρχίζουν

SetWindowTitle («Χρονόμετρο»);

TextColor (LightGreen);

WriteLn ('Πατήστε Enter για να ξεκινήσετε το χρονόμετρο');

WriteLn ('Πατήστε ξανά για διακοπή');

Γράψτε («Κάντε κλικ ξανά για να ξεκινήσετε από την αρχή»);

ΔιαβάστεLn;

ενώ (αληθινό) το κάνετε

αρχίζουν

i: = 0;

ενώ δεν το πατάτε

αρχίζουν

ClrScr;

εάν (i> 60) και (i <3600) τότε ξεκινήστε

m: = Int (i / 60);

s: = i - m * 60;

Γράψτε (m, 'λεπτά) και', s: 1: 2, 'δευτερόλεπτα')

τέλος;

αν εγώ <60 τότε

Γράψτε (", i: 1: 2," δευτερόλεπτα (a / s) ");

αν i> 3600 τότε ξεκινήστε

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

Γράψτε (ch, "hour (s)", m, "minutes (s) and", s: 1: 2, "seconds (s)");

τέλος;

i: = i + 0,01;

Καθυστέρηση (10)

τέλος;

Readln;

Readln;

τέλος;

τέλος.

Εικόνα
Εικόνα

Βήμα 15

Αποδείχθηκε ότι δεν ήταν πολύ ωραίο, αλλά το πρόγραμμα λειτουργεί σωστά!

Συνιστάται: