Kuinka Tehdä Sekuntikelloohjelma Pascalissa

Sisällysluettelo:

Kuinka Tehdä Sekuntikelloohjelma Pascalissa
Kuinka Tehdä Sekuntikelloohjelma Pascalissa

Video: Kuinka Tehdä Sekuntikelloohjelma Pascalissa

Video: Kuinka Tehdä Sekuntikelloohjelma Pascalissa
Video: How Much Pressure Is 1 Pascal 2024, Saattaa
Anonim
Kuinka tehdä sekuntikelloohjelma Pascalissa
Kuinka tehdä sekuntikelloohjelma Pascalissa

Tarpeellinen

PascalABC. NET- tai PascalTurbo-ohjelmointiympäristö

Ohjeet

Vaihe 1

Joten ensin avataan ohjelma. Luodaan uusi tiedosto ja määritetään laajennukset. Tässä tapauksessa tarvitsemme moduulin konsolin kanssa työskentelyyn - CRT.

tätä varten kirjoitamme:

käyttää

CRT;

Vaihe 2

Ilmoitetaan muuttujat i, s, m - todellisen tyypin muuttujat.

var

i, s, m: Todellinen;

Vaihe 3

Aloita ohjelma kirjoittamalla:

alkaa

Ja ilmoitamme konsoli-ikkunan otsikon:

SetWindowTitle ('sekuntikello');

Vaihe 4

TextColor-menettely antaa tekstille värin, ja Write-käsky näyttää tekstin näytölle:

TextColor (vaaleanvihreä);

WriteLn ('Paina Enter aloittaaksesi sekuntikellon');

WriteLn ('Paina uudelleen lopettaaksesi');

Kirjoita ('Aloita alusta napsauttamalla uudelleen');

Loppu Ln siirtyy seuraavalle riville.

Vaihe 5

ReadLn-operaattori syöttää arvot näppäimistöltä, mutta tässä tapauksessa se vain odottaa, että käyttäjä osuu Enter:

LuettuLn;

Vaihe 6

Teemme loputtoman silmukan:

kun (tosi) tehdä

alkaa

While (true) do begin -konstruktio kääntyy seuraavasti: While (ehto) do (). Miksi täällä alkaa?

Tässä tapauksessa tarvitsemme yhdistelmäoperaattorin, mikä tarkoittaa, että vaikka ehto on totta, useita operaattoreita suoritetaan. Jos se ei olisi alkanut, niin sen jälkeen kun suoritettiin vain yksi käsky, mikä johtaisi virheelliseen ohjelman toimintaan. Lopuksi While-lause lopetetaan kirjoittamalla loppu.

Vaihe 7

Palataan nyt laskuri:

i: = 0;

Vaihe 8

Seuraava lause tarkoittaa: kunnes do () -näppäintä painetaan.

kun sitä ei paineta näppäimellä

alkaa

ClrScr-operaattori tyhjentää ruudun:

ClrScr;

Vaihe 9

Asetamme ehdon: jos sekunnit ovat yli 60 ja alle 3600 (tämä on tarpeen, jotta kun aika on yli tunti, ohjelma tulostaa vain sen, mikä on kolmannen jälkeen, jos), sitten:

jos (i> 60) ja (i <3600) sitten alkavat

Muuttuja m (minuuttia) on yhtä suuri kuin: sekunnit jaettuna 60: llä ja pyöristettynä eteenpäin.

m: = Int (i / 60);

Ja muuttuja s (sekunnit ilman minuutteja) on yhtä suuri kuin: kaikki sekunnit miinus minuutit kerrottuna 60: llä.

s: = i - m * 60;

Vaihe 10

Write-käsky kirjoittaa, kuinka monta minuuttia ja sekuntia on kulunut, ja loppulauseke lopettaa alun työn if-ehdon mukaisesti:

Kirjoita (m, 'minuuttia (s) ja', s: 1: 2, 'sekuntia (s)')

loppu;

Toiminto: 1: 2 tarkoittaa, että sekunnit tulisi kirjoittaa kahdella desimaalilla.

Vaihe 11

Jos sekunnit ovat alle 60, kirjoita vain kuinka monta sekuntia on kulunut kahden desimaalin tarkkuudella:

jos i <60 silloin

Kirjoita ('', i: 1: 2, 'sekuntia (a / s)');

Vaihe 12

Jos sekuntia on yli 3600 (eli yli tunti), toimi seuraavasti:

jos i> 3600 sitten alkaa

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

Kirjoita (ch, 'tunti (t)', m, 'minuutit (s) ja', s: 1: 2, 'sekunnit (s)');

loppu;

Vaihe 13

Joten, ohjelma kirjoitti, että 0 sekuntia on kulunut, nyt se kasvattaa laskuria i 10 millisekunnilla, ja koska ohjelma tekee kaiken heti, viivästymme samaan aikaan:

i: = i + 0,01;

Viive (10);

Seuraavaksi teemme loppu While (ei näppäilemätöntä) -lauseketta:

loppu;

Jos käyttäjä painaa Enter-näppäintä, ohjelma odottaa, että hän painaa sitä uudelleen aloittaakseen sekuntikellon uudelleen:

Readln;

Readln;

Ei ole sattumaa, että laskuri asetetaan nollaksi While (true) -lausekkeen jälkeen, koska kun käyttäjä painaa Enter-näppäintä toisen kerran, ohjelma käynnistyy sieltä, nollaa laskurin ja alkaa laskea uudelleen.

Seuraavaksi lopetamme While ja koko ohjelman:

loppu;

Vaihe 14

Tässä on täydellinen ohjelma:

käyttää

CRT;

var

i: todellinen;

s: Todellinen;

m: Todellinen;

ch: Todellinen;

alkaa

SetWindowTitle ('sekuntikello');

TextColor (vaaleanvihreä);

WriteLn ('Paina Enter aloittaaksesi sekuntikellon');

WriteLn ('Paina uudelleen lopettaaksesi');

Kirjoita ('Aloita alusta napsauttamalla uudelleen');

LuettuLn;

kun (tosi) tehdä

alkaa

i: = 0;

kun sitä ei paineta näppäimellä

alkaa

ClrScr;

jos (i> 60) ja (i <3600) sitten alkavat

m: = Int (i / 60);

s: = i - m * 60;

Kirjoita (m, 'minuuttia (s) ja', s: 1: 2, 'sekuntia (s)')

loppu;

jos i <60 silloin

Kirjoita ('', i: 1: 2, 'sekuntia (a / s)');

jos i> 3600 sitten alkaa

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

Kirjoita (ch, 'tunti (t)', m, 'minuuttia (s) ja', s: 1: 2, 'sekuntia (s)');

loppu;

i: = i + 0,01;

Viive (10);

loppu;

Readln;

Readln;

loppu;

loppuun.

Kuva
Kuva

Vaihe 15

Se ei osoittautunut kovin mukavaksi, mutta ohjelma toimii oikein!

Suositeltava: