Nalutas: Hindi isang pagkalkula ng petsa sa hinaharap

Huling pag-update: 09/21/2023

Ang pagkalkula ng mga petsa sa hinaharap ay isang karaniwang kinakailangan sa pagbuo ng software, partikular sa mga application ng negosyo tulad ng mga sistema ng pagsingil at pag-iiskedyul. Sa mga wika tulad ng Java o Python, maaaring maging diretso ang gawaing ito dahil sa mga inbuilt na library at function. Gayunpaman, sa mas lumang mga wika tulad ng Cobol, ang gawaing ito ay maaaring patunayan na mas kumplikado dahil madalas nating isaalang-alang ang mga kadahilanan tulad ng mga taon ng paglukso.

DIBISYON NG PAGKILALA.
PROGRAM-ID. FUTURE-DATES.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-CURRENT-DATE.
05 WS-CURRENT-YEAR PIC 9(04).
05 WS-CURRENT-MONTH PIC 9(02).
05 WS-CURRENT-DAY PIC 9(02).
01 WS-FUTURE-DATE.
05 WS-FUTURE-YEAR PIC 9(04).
05 WS-FUTURE-MONTH PIC 9(02).
05 WS-FUTURE-DAY PIC 9(02).
DIBISYON NG PAMAMARAAN.
TANGGAPIN ANG WS-CURRENT-DATE MULA SA PETSA
COMPUTE WS-FUTURE-DAY = WS-CURRENT-DAY + 7
Ilipat ang WS-CURRENT-MONTH SA WS-FUTURE-MONTH
Ilipat ang WS-CURRENT-YEAR SA WS-FUTURE-YEAR
KUNG WS-FUTURE-DAY > 30
Idagdag ang 1 SA WS-FUTURE-MONTH
SUBTRACT 30 MULA SA WS-FUTURE-DAY
TAPUSIN KUNG
KUNG WS-FUTURE-MONTH > 12
Idagdag ang 1 SA WS-FUTURE-YEAR
SUBTRACT 12 MULA SA WS-FUTURE-MONTH
TAPUSIN KUNG
IPAKITA ang “Isang LINGGO NA MAMAYA ANG DATE AY ” WS-FUTURE-DATE
Tumigil ka sa pagtakbo.

Hatiin natin ang code na ito.

Paano nakaayos ang code?

Ang Cobol program ay nagsisimula sa 'IDENTIFICATION DIVISION' na isang mandatory division sa lahat ng Cobol programs. Ang pahayag na 'PROGRAM-ID' kasunod nito ay kinikilala ang programa. Ang 'DATA DIVISION' ay kung saan namin tinutukoy ang lahat ng data o mga variable na gagamitin sa programa. Ang 'WORKING-STORAGE SECTION' ay isang subdivision ng 'DATA DIVISION' kung saan idinedeklara namin ang aming mga gumaganang variable: 'WS-CURRENT-DATE' at 'WS-FUTURE-DATE'. Ang bawat isa sa mga ito ay higit na pinaghiwa-hiwalay sa mga bahagi ng araw, buwan, at taon. Ang 'PROCEDURE DIVISION' ay kung saan namin code ang logic para sa pagkalkula ng hinaharap na petsa.

Ang Konsepto ng Pagmamanipula ng Petsa sa Cobol

Ang aming Cobol program ay unang tinatanggap ang kasalukuyang petsa mula sa system. Pagkatapos ay kinakalkula nito ang petsa sa hinaharap sa pamamagitan ng pagdaragdag ng 7 sa kasalukuyang araw. Kung ang hinaharap na araw ay lumampas sa 30 (nagpapahiwatig ng pagtatapos ng isang buwan), dinaragdagan nito ang buwan ng 1 at ibawas ang 30 mula sa araw. Ang isang katulad na proseso ay ginagamit sa account para sa katapusan ng taon. Maliwanag, ito ay isang pinasimpleng halimbawa na hindi isinasaalang-alang ang iba't ibang haba ng buwan o mga taon ng paglukso, ngunit binabalangkas nito ang pangunahing proseso.

Sa konklusyon, habang ang pakikitungo sa mga petsa sa Cobol ay maaaring mukhang mahirap sa una, maaari itong mapagaan sa pamamagitan ng paghahati-hati sa petsa sa mas maliliit na bahagi at maingat na paghawak sa paglipat sa pagitan ng mga araw, buwan, at taon. Ang ganitong maingat na pangangasiwa ng mga petsa ay isa ring paalala ng atensyon sa detalye na kinakailangan sa Cobol, na sumasalamin sa panahon ng pinagmulan ng wika at ang patuloy na paggamit nito sa mga system kung saan ang katumpakan at katumpakan ay pinakamahalaga.

Kaugnay na mga post: