Programa na Pascal???

6 отговора 486 прегледа
#1

Programa na Pascal???

Zdrawej,
Triabwa da naprawia programa na Pascal, opredeliashta denia na sedmicata po zadadena data. Programata da e walidna za 1900-2000.

Primer 19.09.1994 ->ponedelnik

Waprosa mi e kakwi wgradeni funkcii ili proceduri triabwa da se izpolzwat za tazi cel?


Ot kade moga da si swalia Pascal(Tozi koito imam mi prawi problemi).
Zashto na Pascal? Ami na towa go iskat ot daskaloto :-)

Ako moje niakoi da pomogne shte sam mu mnogo blagodaren.

Plamen
manshet@yahoo.com

Отговор
в отговор на Plamen #2

Re: Programa na Pascal???

[линк]

Real programmers never die -- they just GOSUB without RETURN.
Отговор
в отговор на Plamen #3

Re: Programa na Pascal???

wow - ako ne ti se igrae mnogo - napravi taka (pone az taka napravih za podobna programa kojato trjabwashe da pisha w kazarmata - za 20 minuti mi ja iskaha - nekakuv kalendar trebeshe da pechata)...

slushai sega :)

zapomnjash tekushtata data!
setwash na datata kojato ti trjabwa
i iskash ot Pascala ili Win32API-to (DOS-a li - neznam koe) - da ti wurne kakuw e denja...
tuj to :)
aaa.. posle wuzstanowjawash setnatata data!!

Um tzaruwa, Um robuwa, Um belia delfin
Отговор
#4

6502


Day of the Week

How to compute the day of the week in 6502 assembly.
By Paul Guertin (pg@sff.net), 18 August 2000.



* This routine works for any date from 1900-03-01 to 2155-12-31.
* No range checking is done, so validate input before calling.
*
* I use the formula
* Weekday = (day + offset[month] + year + year/4 + fudge) mod 7
* where the value of fudge depends on the century.
*
* Input: Y = year (0=1900, 1=1901, ..., 255=2155)
* X = month (1=Jan, 2=Feb, ..., 12=Dec)
* A = day (1 to 31)
*
* Output: Weekday in A (0=Sunday, 1=Monday, ..., 6=Saturday)

TMP EQU $6 ; Temporary storage

WEEKDAY:
CPX #3 ; Year starts in March to bypass
BCS MARCH ; leap year problem
DEY ; If Jan or Feb, decrement year
MARCH EOR #$7F ; Invert A so carry works right
CPY #200 ; Carry will be 1 if 22nd century
ADC MTAB-1,X ; A is now day+month offset
STA TMP
TYA ; Get the year
JSR MOD7 ; Do a modulo to prevent overflow
SBC TMP ; Combine with day+month
STA TMP
TYA ; Get the year again
LSR ; Divide it by 4
LSR
CLC ; Add it to y+m+d and fall through
ADC TMP
MOD7 ADC #7 ; Returns (A+3) modulo 7
BCC MOD7 ; for A in 0..255
RTS
MTAB DB 1,5,6,3,1,5,3,0,4,2,6,4 ; Month offsets



Отговор
в отговор на CALL-151 #6

formulata

vsasnost koeot ti trebva e:

Weekday = (day + offset[month] + year + year/4 + fudge) mod 7

offset[]= 1,5,6,3,1,5,3,0,4,2,6,4

sega, dali e verno neznam! :-)

Отговор
в отговор на Plamen #7

Re: Programa na Pascal???

Viz [линк] ima formuli za izchisliavane na dni i sedmici za razlichnite mu tam kalendari. Ti sam shte triabva da si napishesh programkata na Pascal.

Отговор