Паскаль хэл дээр секундомер програм хэрхэн хийх талаар

Агуулгын хүснэгт:

Паскаль хэл дээр секундомер програм хэрхэн хийх талаар
Паскаль хэл дээр секундомер програм хэрхэн хийх талаар

Видео: Паскаль хэл дээр секундомер програм хэрхэн хийх талаар

Видео: Паскаль хэл дээр секундомер програм хэрхэн хийх талаар
Видео: Паскаль с нуля [ч1]. Первая программа. 2024, Арванхоёрдугаар сар
Anonim
Паскаль хэл дээр секундомер програм хэрхэн хийх талаар
Паскаль хэл дээр секундомер програм хэрхэн хийх талаар

Шаардлагатай

PascalABC. NET эсвэл PascalTurbo програмчлалын орчин

Зааварчилгаа

1-р алхам

Тиймээс, эхлээд програмыг нээцгээе. Шинэ файл үүсгээд залгаасуудыг зааж өгье. Энэ тохиолдолд бид консолтой ажиллах модуль хэрэгтэй болно - CRT.

Үүний тулд бид бичих болно:

ашигладаг

CRT;

Алхам 2

I, s, m хувьсагчуудыг бодит хэлбэрийн хувьсагчуудыг зааж өгье.

var

i, s, m: Бодит;

Алхам 3

Хөтөлбөрийг эхлүүлэхийн тулд дараахь зүйлийг бичнэ үү.

Эхлэх

Мөн бид консолийн цонхны гарчгийг зааж өгөх болно.

SetWindowTitle ('Секундомер');

Алхам 4

TextColor процедур нь текстэд өнгө өгдөг бөгөөд Write хэллэг нь текстийг дэлгэцэнд харуулдаг.

TextColor (LightGreen);

WriteLn ('Секундомер эхлүүлэхийн тулд Enter дарна уу');

WriteLn ('Зогсоохын тулд дахин дарна уу');

Бичих ('Эхлээд дахин дарна уу');

Төгсгөл Ln дараагийн мөрөнд шилжинэ.

Алхам 5

ReadLn оператор нь гарнаас утгыг оруулдаг боловч энэ тохиолдолд хэрэглэгч Enter дарахыг л хүлээнэ.

ReadLn;

Алхам 6

Бид төгсгөлгүй гогцоо хийдэг:

байхад (үнэн) хийх

Эхлэх

While (true) do begin construct нь дараах байдлаар орчуулагдана: While (нөхцөл) 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

Write мэдэгдэлд хэдэн минут, хэдэн секунд өнгөрснийг бичих бөгөөд төгсгөлийн мэдэгдэл дараах нөхцлийн дагуу эхлэх ажлыг дуусгавар болгоно.

(M, 'минут (ууд) ба', с: 1: 2, 'секунд (с)') бич.

Төгсгөл;

Чиг үүрэг: 1: 2 нь секундийг хоёр аравтын бутархай оронтой бичих ёстой гэсэн үг юм.

Алхам 11

Хэрэв секунд нь 60-аас бага бол хоёр аравтын бутархай тоогоор хэдэн секунд өнгөрснийг бичнэ үү.

хэрэв би <60 бол

Бичих ('', i: 1: 2, 'секунд (а / с)');

Алхам 12

Хэрэв секунд 3600-аас их бол (нэг цаг гаруй) бол:

Хэрэв би> 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 секунд өнгөрч, одоо тоолуурыг 10 миллисекундээр нэмэгдүүлж, програм бүх зүйлийг шууд хийдэг тул бид хойшлуулав.

i: = i + 0.01;

Саатал (10);

Дараа нь, While (товчлуур дараагүй) мэдэгдлийн төгсгөлийг бид гаргана.

Төгсгөл;

Хэрэв хэрэглэгч Enter товчийг дарсан бол програм дахин секундомер эхлүүлэхийн тулд түүнийг дахин дарахыг хүлээнэ.

Унших;

Унших;

While (true) мэдэгдлийн дараа тоолуурыг тэг болгосон нь санамсаргүй хэрэг биш юм, учир нь хэрэглэгч Enter товчийг хоёр дахь удаа дарахад програм тэндээс эхэлж, тоолуурыг дахин тохируулж дахин тоолж эхлэх болно.

Дараа нь бид програмыг бүхэлд нь дуусгах болно:

Төгсгөл;

Алхам 14

Энд бүрэн хөтөлбөр байна:

ашигладаг

CRT;

var

би: бодит;

s: Бодит;

м: бодит;

ch: Бодит;

Эхлэх

SetWindowTitle ('Секундомер');

TextColor (LightGreen);

WriteLn ('Секундомер эхлүүлэхийн тулд Enter дарна уу');

WriteLn ('Зогсоохын тулд дахин дарна уу');

Бичих ('Эхлээд дахин дарна уу');

ReadLn;

байхад (үнэн) хийх

Эхлэх

i: = 0;

харин товчлуур дараагүй байхад хийх хэрэгтэй

Эхлэх

ClrScr;

хэрэв (i> 60) ба (i <3600) бол эхэлнэ үү

m: = Int (i / 60);

s: = i - m * 60;

(M, 'минут (ууд) ба', с: 1: 2, 'секунд (с)') бич.

Төгсгөл;

Хэрэв би <60 бол

Бичих ('', i: 1: 2, 'секунд (а / с)');

Хэрэв би> 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);

Төгсгөл;

Унших;

Унших;

Төгсгөл;

Төгсгөл.

Зураг
Зураг

Алхам 15

Энэ нь тийм ч сайхан биш болсон, гэхдээ програм зөв ажиллаж байна!

Зөвлөмж болгож буй: