วิธีสร้างโปรแกรมนาฬิกาจับเวลาในภาษา Pascal

สารบัญ:

วิธีสร้างโปรแกรมนาฬิกาจับเวลาในภาษา Pascal
วิธีสร้างโปรแกรมนาฬิกาจับเวลาในภาษา Pascal

วีดีโอ: วิธีสร้างโปรแกรมนาฬิกาจับเวลาในภาษา Pascal

วีดีโอ: วิธีสร้างโปรแกรมนาฬิกาจับเวลาในภาษา Pascal
วีดีโอ: PowerPoint การทำนาฬิกาจับเวลาง่ายๆ 2024, อาจ
Anonim
วิธีสร้างโปรแกรมนาฬิกาจับเวลาในภาษา Pascal
วิธีสร้างโปรแกรมนาฬิกาจับเวลาในภาษา Pascal

จำเป็น

สภาพแวดล้อมการเขียนโปรแกรม PascalABC. NET หรือ PascalTurbo

คำแนะนำ

ขั้นตอนที่ 1

ก่อนอื่นเรามาเปิดโปรแกรมกันก่อน มาสร้างไฟล์ใหม่และระบุปลั๊กอินกัน ในกรณีนี้ เราจำเป็นต้องมีโมดูลสำหรับการทำงานกับคอนโซล - CRT

สำหรับสิ่งนี้เราจะเขียน:

ใช้

ซีอาร์ที;

ขั้นตอนที่ 2

ให้เราระบุตัวแปร i, s, m - ตัวแปรประเภทจริง

var

ผม, s, m: จริง;

ขั้นตอนที่ 3

ในการเริ่มโปรแกรม ให้เขียน:

เริ่ม

และเราจะระบุชื่อของหน้าต่างคอนโซล:

SetWindowTitle ('นาฬิกาจับเวลา');

ขั้นตอนที่ 4

ขั้นตอน TextColor กำหนดสีให้กับข้อความ และคำสั่ง Write จะแสดงข้อความไปที่หน้าจอ:

TextColor (สีเขียวอ่อน);

WriteLn ('กด Enter เพื่อเริ่มนาฬิกาจับเวลา');

WriteLn ('กดอีกครั้งเพื่อหยุด');

เขียน ('คลิกอีกครั้งเพื่อเริ่มต้นใหม่');

Ln สิ้นสุดจะย้ายไปที่บรรทัดถัดไป

ขั้นตอนที่ 5

ตัวดำเนินการ ReadLn ป้อนค่าจากแป้นพิมพ์ แต่ในกรณีนี้ก็แค่รอให้ผู้ใช้กด Enter:

อ่าน Ln;

ขั้นตอนที่ 6

เราทำการวนซ้ำไม่รู้จบ:

ในขณะที่ (จริง) do

เริ่ม

while (true) do start construct แปลว่า ในขณะที่ (เงื่อนไข) ทำ () ทำไมถึงเริ่มต้นที่นี่?

ในกรณีนี้ เราจำเป็นต้องมีตัวดำเนินการแบบผสม ซึ่งหมายความว่าในขณะที่เงื่อนไขเป็นจริง ตัวดำเนินการหลายตัวจะถูกดำเนินการ หากไม่ใช่สำหรับการเริ่มต้น หลังจาก while จะมีการดำเนินการเพียงคำสั่งเดียว ซึ่งจะทำให้การทำงานของโปรแกรมไม่ถูกต้อง ในการสิ้นสุดคำสั่ง while ในตอนท้าย เราเขียน end

ขั้นตอนที่ 7

ตอนนี้เรามารีเซ็ตตัวนับ:

ผม: = 0;

ขั้นตอนที่ 8

คำสั่งต่อไปนี้แปลว่า: จนกว่าจะกดปุ่ม do ()

ในขณะที่ไม่ได้กดแป้น do

เริ่ม

ตัวดำเนินการ ClrScr จะล้างหน้าจอ:

ClrScr;

ขั้นตอนที่ 9

เราตั้งค่าเงื่อนไข: หากวินาทีมากกว่า 60 และน้อยกว่า 3600 (นี่เป็นสิ่งจำเป็นเพื่อที่ว่าเมื่อเวลามากกว่าหนึ่งชั่วโมง โปรแกรมจะพิมพ์เฉพาะสิ่งที่อยู่หลังวินาทีที่สามหาก) จากนั้น:

ถ้า (i> 60) และ (i <3600) ก็เริ่มต้น

ตัวแปร m (นาที) เท่ากับ: วินาทีหารด้วย 60 และปัดเศษขึ้นด้านหน้า

ม.: = Int (i / 60);

และตัวแปร s (วินาทีไม่มีนาที) เท่ากับ: วินาทีทั้งหมดลบนาทีคูณด้วย 60

s: = ผม - ม. * 60;

ขั้นตอนที่ 10

คำสั่งเขียนจะเขียนจำนวนนาทีและวินาทีที่ผ่านไป และคำสั่งสิ้นสุดจะสิ้นสุดการทำงานของการเริ่มต้นตามเงื่อนไข if:

เขียน (m, 'minutes (s) and', s: 1: 2, 'seconds (s)')

จบ;

ฟังก์ชัน: 1: 2 หมายความว่าควรเขียนวินาทีด้วยทศนิยมสองตำแหน่ง

ขั้นตอนที่ 11

หากวินาทีนั้นน้อยกว่า 60 ให้เขียนว่าผ่านไปกี่วินาทีโดยมีทศนิยมสองตำแหน่ง:

ถ้าฉัน <60 แล้ว

เขียน ('', i: 1: 2, 'วินาที (a / s)');

ขั้นตอนที่ 12

หากวินาทีมีค่ามากกว่า 3600 (นั่นคือ มากกว่าหนึ่งชั่วโมง) ให้ทำดังนี้

ถ้า i> 3600 ก็เริ่มต้น

ม: = Int (i / 60);

s: = ผม - ม. * 60;

ch: = Int (ม. / 60);

ม.: = ม. - ช * 60;

เขียน (ch, 'hour (s)', m, 'minutes (s) และ', s: 1: 2, 'seconds (s)');

จบ;

ขั้นตอนที่ 13

ดังนั้นโปรแกรมจึงเขียนว่าผ่านไป 0 วินาที ตอนนี้มันเพิ่มตัวนับ i ขึ้น 10 มิลลิวินาที และเนื่องจากโปรแกรมทำทุกอย่างในทันที เราจึงทำการหน่วงเวลาในเวลาเดียวกัน:

ผม: = ผม + 0.01;

ล่าช้า (10);

ต่อไป เราจะทำการสิ้นสุดคำสั่ง while (ไม่กดแป้น):

จบ;

หากผู้ใช้กดปุ่ม Enter โปรแกรมจะรอให้เขากดอีกครั้งเพื่อเริ่มนาฬิกาจับเวลาอีกครั้ง:

อ่าน;

อ่าน;

ไม่ใช่เรื่องบังเอิญที่เราตั้งค่าตัวนับเป็นศูนย์หลังจากคำสั่ง while (จริง) เพราะเมื่อผู้ใช้กด Enter ครั้งที่สอง โปรแกรมจะเริ่มจากที่นั่น รีเซ็ตตัวนับ และเริ่มนับใหม่อีกครั้ง

ต่อไป เราจะสิ้นสุดการ while และสำหรับโปรแกรมทั้งหมด:

จบ;

ขั้นตอนที่ 14

นี่คือโปรแกรมที่สมบูรณ์:

ใช้

ซีอาร์ที;

var

ฉัน: จริง;

s: จริง;

ม: จริง;

ช: จริง;

เริ่ม

SetWindowTitle ('นาฬิกาจับเวลา');

TextColor (สีเขียวอ่อน);

WriteLn ('กด Enter เพื่อเริ่มนาฬิกาจับเวลา');

WriteLn ('กดอีกครั้งเพื่อหยุด');

เขียน ('คลิกอีกครั้งเพื่อเริ่มต้นใหม่');

อ่าน Ln;

ในขณะที่ (จริง) do

เริ่ม

ผม: = 0;

ขณะไม่กดแป้น do

เริ่ม

ClrScr;

ถ้า (i> 60) และ (i <3600) ก็เริ่มต้น

ม.: = Int (i / 60);

s: = ผม - ม. * 60;

เขียน (m, 'minutes (s) and', s: 1: 2, 'seconds (s)')

จบ;

ถ้าฉัน <60 แล้ว

เขียน ('', i: 1: 2, 'วินาที (a / s)');

ถ้า i> 3600 ก็เริ่มต้น

ม.: = Int (i / 60);

s: = ผม - ม. * 60;

ch: = Int (ม. / 60);

m: = m - ch * 60;

เขียน (ch, 'hour (s)', m, 'minutes (s) และ', s: 1: 2, 'seconds (s)');

จบ;

ผม: = ผม + 0.01;

ล่าช้า (10);

จบ;

อ่าน;

อ่าน;

จบ;

จบ.

ภาพ
ภาพ

ขั้นตอนที่ 15

มันกลับกลายเป็นว่าไม่ค่อยดีนัก แต่โปรแกรมทำงานได้อย่างถูกต้อง!

แนะนำ: