½½¿ÊBASIC Âè2·Ç¼¨ÈÄ¡¡²áµî¥í¥° 1-1000




¿··Ç¼¨Èij«Àß

 Åê¹Æ¼Ô¡§ÇòÀС¡ÏÂÉ×  Åê¹ÆÆü¡§2008ǯ 7·î21Æü(·î)09»þ38ʬ46ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  ½½¿ÊBASICÂè2·Ç¼¨ÈĤò³«Àߤ·¤Þ¤·¤¿¡£
¥á¥¤¥ó¤Î·Ç¼¨ÈĤ¬ÉÔÄ´¤Î¤È¤­¡¤¤³¤Á¤é¤ò¤´ÍøÍѤ¯¤À¤µ¤¤¡£
¤Ê¤ª¡¤ºÇÂç500¹Ô¤Þ¤Ç½ñ¤­¹þ¤á¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¤
¼Â¸³Åª¤Ë¤Ï251¹Ô¤Þ¤Ç¤·¤«½ñ¤­¹þ¤á¤Ê¤¤¤è¤¦¤Ç¤¹¡£
Internet Explorer¤Ç¤â¥¤¥ó¥Ç¥ó¥È¤òÊÝ»ý¤·¤¿¤Þ¤Þɽ¼¨¤µ¤ì¤ë¤³¤È¡¤
Ʊ°ì¿Í¤Ë¤è¤ëϢ³½ñ¤­¹þ¤ß¤Ëµ¬À©¤¬¤«¤«¤ë¤³¤È¡Ê¥¹¥Ñ¥àÂкö¡Ë
¤Ê¤É¡¤ÍøÅÀ¤â¿¤¤¤Î¤Ç¡¤¾­ÍèŪ¤Ë¤ÏËܳÊŪ¤Ê°Üž¤â¤¢¤ê¤¨¤Þ¤¹¡£
 

Â裲·Ç¼¨ÈĤ˴¶¼Õ

 Åê¹Æ¼Ô¡§ËÌÀÝ»°ÂÀϺ  Åê¹ÆÆü¡§2008ǯ 7·î23Æü(¿å)10»þ27ʬ59ÉÃ
ÊÖ¿®¡¦°úÍÑ
  »ä¤Î¸©¤Î³Ø¹»¥Í¥Ã¥È¤Ç¤Ï¡¢µì½½¿Ê£Â£Á£Ó£É£Ã·Ç¼¨ÈĤϡ¢¤Ê¤¼¤«¡ÖÍ­³²¾ðÊó¡×¤È¤·¤Æ°·¤ï¤ì³Ø¹»¤«¤é¤Ï±ÜÍ÷¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£¡Ê¥Õ¥£¥ë¥¿¡¼¤Ë¤Ò¤Ã¤«¤«¤ë¤è¤¦¤Ç¤¹¡£¡Ë
¤³¤ÎÂ裲·Ç¼¨ÈĤϺ£¤Î¤È¤³¤í±ÜÍ÷¤Ç¤­¤Æ¤Þ¤¹¤Î¤Ç¡¢¤³¤Á¤é¤Ë°Üž¤·¤Æ¤¤¤¿¤À¤±¤ë¤È¤¢¤ê¤¬¤¿¤¤¤Ç¤¹¡£
 

¡Ú¼ÁÌä¡Ûchr$¤Ç¤Îʸ»úɽ¼¨¤Ë¤Ä¤¤¤Æ

 Åê¹Æ¼Ô¡§Bear  Åê¹ÆÆü¡§2008ǯ 9·î 2Æü(²Ð)04»þ49ʬ9ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¢¨¸½ºß¤Î½»¤Þ¤¤¤Î´Ø·¸¾å¡¢ÌµÎÁ¥á¡¼¥ë¤·¤«ÍøÍѤǤ­¤Ê¤¤¤¿¤á
¢¨¤³¤Á¤é¤Î·Ç¼¨ÈĤ˽ñ¤«¤»¤Æ¤¤¤¿¤À¤­¤Þ¤¹¡£

ÅöÊý¡¢WindowsXp + ½½¿ÊBASIC 7.2.7¤È¤¤¤¦´Ä¶­¤Ç¤¹¡£
Á°¤Ë½½¿ÊBASIC¤ÈUltraBASIC¤Î°ã¤¤¤ò¼ÁÌ䤷¤¿¼Ô¤Ç¤¹¡¢¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£

¡¡print chr$(...)

¤Æ¶ñ¹ç¤ËÈÖÃÏ»ØÄê¤Çʸ»úɽ¼¨¤µ¤»¤ëºÝ¤Ë
Windows¤ÎIME¥Ñ¥Ã¥É¤Ç¸«¤¨¤ëÈϰϤò»ØÄꤷ¤Æ¤ë¤Î¤Ë¤Á¤ç¤¯¤Á¤ç¤¯Îã³°¤¬È¯À¸¤·¤Þ¤¹¡£

¡á¤³¤³¤«¤é¡á
option character kanji
input prompt "Á´³Ñ¤Ç£±Ê¸»úÆþÎϤ·¤Æ¤¯¤À¤µ¤¤:":a$
let b=ord(a$)
let b$=str$(b)
let c$=bstr$(ord(a$),16)
let d$=right$(c$,2)&left$(c$,2)
print
print chr$(bval(c$,16))&"(JIS:"&c$&")"&" -> "&chr$(bval(d$,16))&"(JIS:"&d$&")"
end
¡á¤³¤³¤Þ¤Ç¡á

Îã¤È¤·¤Æ¡¢¾åµ­¥×¥í¥°¥é¥à¤Ça$¤Ë¡ÖÆü¡×¤ÈÆþÎϤ·¤¿¾ì¹ç¤Ë½ÐÎϤµ¤ì¤ëʸ»ú¤ò
¥Æ¥­¥¹¥È¥¦¥£¥ó¥É¥¦Æâ¤Ç¥³¥Ô¡¼¤·¤Æ¤«¤é¥×¥í¥°¥é¥à¤òºÆ¼Â¹Ô¤·¤Æ
2²óÌܤÎa$ÆþÎϤǥڡ¼¥¹¥È¤¹¤ì¤Ð¡Ö΢¤Î΢¤Ïɽ¡×¤È¤Ê¤ê¡¢º£ÅÙ¤Ï¡ÖÆü¡×¤¬½ÐÎϤµ¤ì¤ë¤Ï¤º¤À¤È»×¤¦¤Î¤Ç¤¹¤¬
¤Ê¤¼¤«¤³¤³¤ÇÎã³°4002¤¬È¯À¸¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£

ÅöÊý¤Îµ­½Ò¤Ë¤Þ¤º¤¤ÅÀ¤¬¤¢¤ì¤Ð¤´¶µ¼¨¤¤¤¿¤À¤±¤Þ¤»¤ó¤Ç¤·¤ç¤¦¤«¡£
¤½¤ì¤È¤âFull Basic¤Îµ¬³Ê¤Ë½àµò¤¹¤ë»ÅÍ;塢ÅöÁ³¤Î·ë²Ì¤Ê¤Î¤Ç¤·¤ç¤¦¤«¡©
 

Re: ¡Ú¼ÁÌä¡Ûchr$¤Ç¤Îʸ»úɽ¼¨¤Ë¤Ä¤¤¤Æ

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ 9·î 2Æü(²Ð)22»þ32ʬ26ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.3[¸µµ­»ö¤Ø]

ºï½üÊÔ½¸¤Ç¤­¤Þ¤»¤ó¡£¢ª¡¡Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ 9·î 2Æü(²Ð)21»þ28ʬ28ÉÃ
ºï½ü¤·¤Æ²¼¤µ¤¤¡£


win98SE + ver7.2.7 ¤Ç¤Ï¡¢Îã³°¤¬È¯À¸¤»¤º¡¢°Ê²¼¤ÎÍͤË
´üÂԤɤ¦¤ê¤Ë¤Ê¤ê¤Þ¤¹¡£
¤·¤«¤·¡¢byte ȿž¤·¤¿ word ¤Ï¡¢´Á»ú¥³¡¼¥É¤Îµö¤µ¤ì¤ëÈϰϤò¡¢
¤¤¤ÄÈô½Ð¤¹¤«ÉÔÌÀ¤Ç¤¹¡£»þÀÞ¡¢ÉÔÀµ¥³¡¼¥É¤Ï¡¢È¯À¸¤·¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£
Ëô¡¢7C46 ¤Ï¡¢Â裱Â裲¿å½à°Ê³°¤Î¡¢³Èĥʸ»ú¥³¡¼¥É¤Ç¤¹¡£
¡¡¡¡(¶â+Äë ¤Î»ú¡¢¢¨¤³¤Î·Ç¼¨ÈĤϡ¢É½¼¨½ÐÍè¤Ê¤¤¤è¤¦¤Ç¤¹¡£)
IME¥Ñ¥Ã¥É¤â¡¢¥¢¥Æ¥Ë½ÐÍè¤Þ¤»¤ó¡£
¤³¤Î»ú¤ò¡¢IME¥Ñ¥Ã¥É¤Ç½¦¤¦¤È²¿¸Î¤«¡¢BSTR$( ORD("¶â+Äë"),16 ) ¢ª"1662" ¤Ë¤Ê¤ë¡©ÉÔÀµ¥³¡¼¥É¤Ç¤¹¡£
¤·¤«¤·¡¢w$=CHR$( BVAL("7C46",16) ) ¢ªBSTR$( ORD(w$),16 ) ¢ª"7C46" ¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢
½½¿ÊBASIC ¤ÎÊý¤Ï¡¢Àµ¾ï¤Ç¤¹¡£


Á´³Ñ¤Ç£±Ê¸»úÆþÎϤ·¤Æ¤¯¤À¤µ¤¤:Æü

Æü(JIS:467C) -> (JIS:7C46)

¡¡¡¡(copy & paste)

Á´³Ñ¤Ç£±Ê¸»úÆþÎϤ·¤Æ¤¯¤À¤µ¤¤:

(JIS:7C46) -> Æü(JIS:467C)
 

Re: ¡Ú¼ÁÌä¡Ûchr$¤Ç¤Îʸ»úɽ¼¨¤Ë¤Ä¤¤¤Æ

 Åê¹Æ¼Ô¡§Bear  Åê¹ÆÆü¡§2008ǯ 9·î 3Æü(¿å)21»þ10ʬ48ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.5[¸µµ­»ö¤Ø]

¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
IME¥Ñ¥Ã¥É¤â¤¢¤Æ¤Ë¤Ç¤­¤Ê¤¤¤ó¤Ç¤¹¤Í¡¢º£¸å¤ÏÃí°Õ¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

>win98SE + ver7.2.7 ¤Ç¤Ï¡¢Îã³°¤¬È¯À¸¤»¤º¡¢°Ê²¼¤ÎÍͤË
>´üÂԤɤ¦¤ê¤Ë¤Ê¤ê¤Þ¤¹¡£
¤ä¤Ã¤Ñ¤ê¤½¤¦¤Ç¤¹¤«¡£
¼«Ê¬¤âÁ°¤Ë 98SE + 5.0.8 ¤ÎÁȹ礻¤ÇƱ¤¸»ö¤ò»î¤·¤¿»þ¤Ï
Âè1¿å½à¡¢Âè2¿å½à¤«¤é³°¤ì¤ëʸ»úÈÖÃϤò¤«¤¹¤á¤Æ¤âÆÃ¤Ë»Ù¾ã¤Ê¤«¤Ã¤¿¤Î¤Ç
¤³¤ì¤Ï¤¢¤ê¤Ê¤ó¤À¤È»×¤Ã¤Æ¤¿¤éº£²ó Xp + 7.2.7 ¤ÇÎã³°¤ò²óÈò¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£

ͱ¡¢Îã³°¤¬½Ð¤ëʸ»úÈÖÃϤò°ìÍ÷¤¹¤ë¤â¤Î½ñ¤¤¤Æ¤ß¤Þ¤·¤¿¡£
¡á¤³¤³¤«¤é¡á
rem -- Á´³Ñʸ»ú¤Î»ÏÅÀ:8481 (2121) / ½ªÃ¼:38700 (972C) --
rem -- ·ë²Ì½ÐÎϤϲèÌÌɽ¼¨¤è¤ê¥Õ¥¡¥¤¥ë¤Ë½ñ¤­½Ð¤·¤¿Êý¤¬Áᤤ¤«¤â --
option arithmetic decimal
option character kanji
do
input prompt "¤É¤³¤«¤é¸«¤ë?(Ⱦ³Ñ»ÏÅÀ=1,Á´³Ñ»ÏÅÀ=2)":start
if start=1 or start=2 then
exit do
elseif start=0 then
stop
else
end if
loop
select case start
case is =2
let start=8481
case else
end select
for count=start to 38700 step 1
let hcount$=bstr$(count,16)
let strcount$=str$(count)
when exception in
print chr$(39)+chr$(count)+chr$(39)+" chr$("+strcount$+") <-> JIS ["+hcount$+"]"
use
print chr$(7)+"Îã³°"+str$(extype)+chr$(7)+" chr$("+strcount$+") <-> JIS ["+hcount$+"]"
end when
next count
end
¡á¤³¤³¤Þ¤Ç¡á
 

Re: ¡Ú¼ÁÌä¡Ûchr$¤Ç¤Îʸ»úɽ¼¨¤Ë¤Ä¤¤¤Æ

 Åê¹Æ¼Ô¡§ÇòÀС¡ÏÂÉ×  Åê¹ÆÆü¡§2008ǯ 9·î 5Æü(¶â)20»þ59ʬ34ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.6[¸µµ­»ö¤Ø]

Windows XP (Windows2000) ¤Ïʸ»ú¥³¡¼¥É¤¬¥æ¥Ë¥³¡¼¥É¤ËÊѹ¹¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¥·¥Õ¥ÈJIS¤Îʸ»ú¤Ï¥æ¥Ë¥³¡¼¥É¤ËÊÑ´¹¤µ¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£
¥·¥Õ¥ÈJIS¤ÈJIS¤ÎÂбþ¤Ï¡¤°ì±þ¡¤°ìÂаì¤È¤ß¤Ê¤»¤Þ¤¹¤¬¡¤
¥æ¥Ë¥³¡¼¥É¤ÈJIS¡Ê¤¢¤ë¤¤¤Ï¥·¥Õ¥ÈJIS¡Ë¤È¤ÎÂбþ¤Ï°ìÂаì¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¥·¥Õ¥ÈJIS¢ª¥æ¥Ë¥³¡¼¥É¢ª¥·¥Õ¥ÈJIS¤ÈÊÑ´¹¤¹¤ë¤È¸µ¤ËÌá¤é¤Ê¤¤¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
½½¿ÊBASIC¤Î¾ì¹ç¡¤¥Õ¥¡¥¤¥ëÆþ½ÐÎϤϥ·¥Õ¥ÈJIS¤Ê¤Î¤Ç¡¤
²èÌ̤Ëɽ¼¨¤·¤¿Ê¸»ú¤ò¥¯¥ê¥Ã¥×¥Ü¡¼¥É·Ðͳ¤Ç¼è¤ê½Ð¤¹¤Î¤Ç¤Ê¤¯¡¤
¥Õ¥¡¥¤¥ë¤Ë½ñ¤­½Ð¤·¤¿Ê¸»ú¤òÂоݤˤ¹¤ì¤Ð¡¤ÌäÂê¤Ïµ¯¤³¤ê¤Ë¤¯¤¯¤Ê¤ë¤È»×¤¤¤Þ¤¹¡£


100 OPTION CHARACTER KANJI
110 INPUT PROMPT "Á´³Ñ¤Ç£±Ê¸»úÆþÎϤ·¤Æ¤¯¤À¤µ¤¤:":a$
120 LET b=ORD(a$)
130 LET b$=STR$(b)
140 LET c$=BSTR$(ORD(a$),16)
150 LET d$=right$(c$,2)&left$(c$,2)
160 PRINT
170 PRINT CHR$(BVAL(c$,16))&"(JIS:"&c$&")"&" -> "&CHR$(BVAL(d$,16))&"(JIS:"&d$&")"
180 OPEN #1:NAME "A:TEST.TXT"
190 ERASE #1
200 PRINT #1:CHR$(BVAL(d$,16))
210 CLOSE #1
220 OPEN #2:NAME "A:TEST.TXT"
230 INPUT #2:s$
240 CLOSE #2
250 PRINT BSTR$(ORD(s$),16)
260 END

180¹Ô°Ê¹ß¤òÄɲ䷤Ƥ¤¤Þ¤¹¡£
 

Re: ¡Ú¼ÁÌä¡Ûchr$¤Ç¤Îʸ»úɽ¼¨¤Ë¤Ä¤¤¤Æ

 Åê¹Æ¼Ô¡§ÇòÀС¡ÏÂÉ×  Åê¹ÆÆü¡§2008ǯ 9·î 6Æü(ÅÚ)10»þ09ʬ11ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.6[¸µµ­»ö¤Ø]

JISʸ»ú¥³¡¼¥É¤Ï¡¤Âè2¥Ð¥¤¥È¡Ê²¼°Ì¥Ð¥¤¥È¡Ë¤¬16¿Ê¤Ç21¤«¤é7E¤Î´Ö¤Ç¤Î¤ßÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤Ê¤Î¤Ç¡¤Ê¸»ú¤ò½ç¤ËÀ¸À®¤¹¤ë¥×¥í¥°¥é¥à¤Ï¡¤²¼°Ì¥Ð¥¤¥È¤¬21¤«¤é7E¤Î´Ö¤Ë¤Ê¤ë¤è¤¦¤Ëµ­½Ò¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£


100 OPTION ARITHMETIC DECIMAL
110 OPTION CHARACTER KANJI
120 FOR hi=BVAL("21",16) TO BVAL("73",16)
130    FOR lo=BVAL("21",16) TO BVAL("7E",16)
140       LET count=hi*256+lo
150       LET hcount$=BSTR$(count,16)
160       LET strcount$=STR$(count)
170       WHEN EXCEPTION IN
180          PRINT CHR$(39)&CHR$(count)&CHR$(39)&" chr$("&strcount$&") <-> JIS ["&hcount$&"]"
190       USE
200          PRINT CHR$(7)&"Îã³°"&STR$(EXTYPE)&CHR$(7)&" chr$("&strcount$&") <-> JIS ["&hcount$&"]"
210       END WHEN
220    NEXT lo
230 NEXT hi
240 END
 

Re: ¡Ú¼ÁÌä¡Ûchr$¤Ç¤Îʸ»úɽ¼¨¤Ë¤Ä¤¤¤Æ

 Åê¹Æ¼Ô¡§Bear  Åê¹ÆÆü¡§2008ǯ 9·î 7Æü(Æü)22»þ07ʬ8ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ÇòÀÐÀèÀ¸¡¢¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£

Ä󼨤¤¤¿¤À¤¤¤¿¥½¡¼¥¹ÇÒ¸«¤·¤Þ¤·¤¿¡¢¼«Ê¬¤Ç¤âư¤«¤·¤Æ¤ß¤Þ¤·¤¿¡£
¤Ê¤ë¤Û¤É¡¢¤³¤¦¤¹¤ì¤Ð¤¤¤¤¤ó¤Ç¤¹¤Í¡£
º£¸å¤Î»²¹Í¤Ë¤µ¤»¤Æ¤¤¤¿¤À¤­¡¢¤â¤Ã¤ÈÊÙ¶¯¤·¤è¤¦¤È»×¤¤¤Þ¤¹¡£

>¥·¥Õ¥ÈJIS¢ª¥æ¥Ë¥³¡¼¥É¢ª¥·¥Õ¥ÈJIS¤ÈÊÑ´¹¤¹¤ë¤È¸µ¤ËÌá¤é¤Ê¤¤¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£

ʸ»ú¤Î³äÅö¤Æ¤¬¤Ê¤¤ÈÖÃÏ(¡Ö¡¦¡×¤Èɽ¼¨¤µ¤ì¤ë¤È¤³¤í)¤ò
WindowsXp¾å¤Ç¥³¥Ô¡¼¤·¤Æ¤«¤é¥Ú¡¼¥¹¥È(¥¯¥ê¥Ã¥×¥Ü¡¼¥É·Ðͳ)¤¹¤ë¤È
ËÜÍè¤ÎÈÖÃϤ˴ط¸¤Ê¤¯JIS 2126ÈÖÃϤˤµ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¤³¤Î¸½¾Ý¤ÏWindows98SE¤Ç¤Ï¸«¤é¤ì¤Ê¤¤¤â¤Î¤Ç¤·¤¿¤¬¡¢¤³¤ì¤Çµ¿Ì䤬À²¤ì¤Þ¤·¤¿¡£

¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£
 

Âè1·Ç¼¨ÈĤ¬³«¤±¤Ê¤¤

 Åê¹Æ¼Ô¡§Åç¼1243  Åê¹ÆÆü¡§2008ǯ10·î 9Æü(ÌÚ)10»þ11ʬ32ÉÃ
ÊÖ¿®¡¦°úÍÑ
  Âè1·Ç¼¨ÈĤòÆÉ¤Þ¤»¤ÆÄº¤¤¤Æ¤ª¤ê¤Þ¤¹¤¬¡¢ÀèÆü¤«¤é¥¢¥¯¥»¥¹½ÐÍè¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ÊĻߤǤ·¤ç¤¦¤«¡¢°¿¤¤¤ÏÉÔ¶ñ¹çȯÀ¸ÂнèÃæ¤Ç¤·¤ç¤¦¤«¡©  

Re: Âè1·Ç¼¨ÈĤ¬³«¤±¤Ê¤¤

 Åê¹Æ¼Ô¡§ÇòÀС¡ÏÂÉ×  Åê¹ÆÆü¡§2008ǯ10·î 9Æü(ÌÚ)20»þ18ʬ21ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.12[¸µµ­»ö¤Ø]

around.ne.jpÁ´ÂΤ¬¥¢¥¯¥»¥¹ÉÔǽ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¤³¤Á¤é¤Î·Ç¼¨ÈĤϡ¤º£²ó¤Î¤è¤¦¤Ê»öÂÖ¤ËÈ÷¤¨¤Æ³«Àߤ·¤¿¤â¤Î¤Ç¤¹¡£
¤â¤¦¤·¤Ð¤é¤¯ÍͻҤò¸«¤Æ¡¤Éü³è¤·¤Ê¤¤¤è¤¦¤Ç¤¢¤ì¤Ð¡¤¤³¤Á¤é¤òÀµ¤Î·Ç¼¨ÈĤˤ·¤¿¤¤¤È»×¤¤¤Þ¤¹¡£
 

Re: Âè1·Ç¼¨ÈĤ¬³«¤±¤Ê¤¤

 Åê¹Æ¼Ô¡§Åç¼1243  Åê¹ÆÆü¡§2008ǯ10·î10Æü(¶â)10»þ07ʬ10ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.13[¸µµ­»ö¤Ø]

ÇòÀÐÀèÀ¸¡¢¤´²óÅúÍ­¤êÆñ¤¦¤´¤¶¤¤¤Þ¤¹¡£¤â¤¦¤·¤Ð¤é¤¯Éüµì¤µ¤ì¤ë¤«ÂԤäƤߤޤ¹¡£

»³ÃæÍͤ¬ºÇ¶áÂè1·Ç¼¨ÈĤ˷Ǻܤµ¤ì¤¿¥¯¥¦¥©¡¼¥¿¥Ë¥¢¥ó¤Î¥×¥í¥°¥é¥à¤ò¸«¤¿¤¤¡Ê¥³¥Ô¡¼Â»¤Í¤¿¡Ë
¤Î¤Ç¤¹¤¬¡¢¤É¤¦¤·¤Æ¤âÂè1·Ç¼¨ÈĤ¬Éüµì½ÐÍè¤Ê¤«¤Ã¤¿¾ì¹ç¤ÏÂ裲·Ç¼¨ÈĤؤΞºÜ¤Ï¤µ¤ì¤ë¤Ç¤·
¤ç¤¦¤«¡£
 

Re: Âè1·Ç¼¨ÈĤ¬³«¤±¤Ê¤¤

 Åê¹Æ¼Ô¡§ÇòÀС¡ÏÂÉ×  Åê¹ÆÆü¡§2008ǯ10·î10Æü(¶â)16»þ52ʬ13ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.14[¸µµ­»ö¤Ø]

·Ç¼¨Èļ«ÂΤ¬Éüµì¤·¤Ê¤¤¤«¤®¤ê¡¤½ñ¤­¹þ¤ßÆâÍÆ¤Ï¥¢¥¯¥»¥¹ÉÔǽ¤Ç¤¹¡£
 

Re: Âè1·Ç¼¨ÈĤ¬³«¤±¤Ê¤¤

 Åê¹Æ¼Ô¡§ÇòÀС¡ÏÂÉ×  Åê¹ÆÆü¡§2008ǯ10·î11Æü(ÅÚ)09»þ27ʬ55ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.15[¸µµ­»ö¤Ø]

http://freebbs.around.ne.jp/
¤¬ÉÔÄ̤ˤʤäÆ3Æü¤¿¤Á¤Þ¤·¤¿¡£
ÅöÌÌ¡¤¤³¤Á¤é¤Î·Ç¼¨ÈĤò¥á¥¤¥ó¤Ë»È¤Ã¤Æ¤¤¤¯¤³¤È¤Ë¤·¤¿¤¤¤È»×¤¤¤Þ¤¹¡£
µì·Ç¼¨ÈĤÎ101¥Ú¡¼¥¸¤«¤é110¥Ú¡¼¥¸¤Î¥í¥°¤Ï¡¤µì·Ç¼¨ÈĤ¬Éü³è¤·¤Ê¤¤¸Â¤ê¼è¤ê½Ð¤»¤Þ¤»¤ó¡£

101¥Ú¡¼¥¸°Ê¹ß¤Ë½ñ¤­¹þ¤Þ¤ì¤¿Êý¤Ï¡¤ºÆ½ñ¤­¹þ¤ß¤Ê¤É¡¤¤´¶¨ÎϤò¤ª´ê¤¤¤·¤Þ¤¹¡£
¤Ê¤ª¡¤µì·Ç¼¨ÈIJáµî¥í¥° 12-100 ¤Ï¡¤
http://www.geocities.jp/thinking_math_education/log/logs.html
¤Ë¤¢¤ê¤Þ¤¹¡£
 

Re: Âè1·Ç¼¨ÈĤ¬³«¤±¤Ê¤¤

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ10·î11Æü(ÅÚ)10»þ56ʬ27ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.14[¸µµ­»ö¤Ø]

Åç¼1243¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> »³ÃæÍͤ¬ºÇ¶áÂè1·Ç¼¨ÈĤ˷Ǻܤµ¤ì¤¿¥¯¥¦¥©¡¼¥¿¥Ë¥¢¥ó¤Î¥×¥í¥°¥é¥à¤ò¸«¤¿¤¤¡Ê¥³¥Ô¡¼Â»¤Í¤¿¡Ë
> ¤Î¤Ç¤¹¤¬¡¢¤É¤¦¤·¤Æ¤âÂè1·Ç¼¨ÈĤ¬Éüµì½ÐÍè¤Ê¤«¤Ã¤¿¾ì¹ç¤ÏÂ裲·Ç¼¨ÈĤؤΞºÜ¤Ï¤µ¤ì¤ë¤Ç¤·
> ¤ç¤¦¤«¡£


¹ÔÎóɽ¸½¤Ë¤è¤ëÊ£ÁÇ¿ô¡¢¥¯¥©¡¼¥¿¥Ë¥ª¥ó¡Ê»Í¸µ¿ô¡Ë¤Î·×»»
¡¡http://www.urban.ne.jp/home/kz4ymnk/seminar/basic/mat.lzh

¤Ç¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£



¤Þ¤¿¡¢·Ç¼¨ÈĤÇȯɽ¤·¤¿¥×¥í¥°¥é¥à¤Î¥á¥ó¥Æ¥Ê¥ó¥¹¡Ê¥Ç¥Ð¥Ã¥°¡¢¥Ð¡¼¥¸¥ç¥ó¥¢¥Ã¥×¤Ê¤É¡Ë¤Ï¤³¤Á¤é¤Ç¤¹¡£

¡¡http://www.urban.ne.jp/home/kz4ymnk/seminar/basic/

£±¡Á£²½µ´Ö¸å¤Ë·ÇºÜ¤·¤Æ¤¤¤Þ¤¹¡£¥ê¥ó¥¯½¸¤Ë¤â·ÇºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
 

Re: Âè1·Ç¼¨ÈĤ¬³«¤±¤Ê¤¤

 Åê¹Æ¼Ô¡§Åç¼1243  Åê¹ÆÆü¡§2008ǯ10·î11Æü(ÅÚ)11»þ27ʬ14ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.17[¸µµ­»ö¤Ø]

»³ÃæÏµÁ¤µ¤ó¡¢Í­Æñ¤¦¸æºÂ¤¤¤Þ¤·¤¿¡£ÁᮥÀ¥¦¥ó¥í¡¼¥É´°Î»Ãפ·¤Þ¤·¤¿¡£
³Ú¤·¤ß¤ËÆÉ¤Þ¤»¤ÆÄº¤­¤Þ¤¹¡£

> ¹ÔÎóɽ¸½¤Ë¤è¤ëÊ£ÁÇ¿ô¡¢¥¯¥©¡¼¥¿¥Ë¥ª¥ó¡Ê»Í¸µ¿ô¡Ë¤Î·×»»
> ¡¡http://www.urban.ne.jp/home/kz4ymnk/seminar/basic/mat.lzh
>
> ¤Ç¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£
>
>
>
> ¤Þ¤¿¡¢·Ç¼¨ÈĤÇȯɽ¤·¤¿¥×¥í¥°¥é¥à¤Î¥á¥ó¥Æ¥Ê¥ó¥¹¡Ê¥Ç¥Ð¥Ã¥°¡¢¥Ð¡¼¥¸¥ç¥ó¥¢¥Ã¥×¤Ê¤É¡Ë¤Ï¤³¤Á¤é¤Ç¤¹¡£
>
> ¡¡http://www.urban.ne.jp/home/kz4ymnk/seminar/basic/
>
> £±¡Á£²½µ´Ö¸å¤Ë·ÇºÜ¤·¤Æ¤¤¤Þ¤¹¡£¥ê¥ó¥¯½¸¤Ë¤â·ÇºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
 

¥¹¥Ô¥í¥°¥é¥Õ¡Ê´ö²¿³Ø¥¢¡¼¥È¡Ë

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ10·î13Æü(·î)22»þ35ʬ55ÉÃ
ÊÖ¿®¡¦°úÍÑ
  !»²¹Í. ¥ê¥ó¥¯½¸¤è¤ê
!¡¡×Ç×ӤοÀÅ¡¡http://stillbe.web.fc2.com/compendium/basic/index.html

FUNCTION GCD(a,b) !ºÇÂç¸øÌó¿ô
   IF b=0 THEN LET GCD=a ELSE LET GCD=GCD(b, MOD(a,b))
END FUNCTION


LET r1=8 !¸ÇÄê±ß¤ÎȾ·Â
LET r2=5 !ư¤¯±ß¤ÎȾ·Â¡¡¢¨r1*r2>0¤Ê¤éÆâ¦¡¢r1*r2<0¤Ê¤é³°Â¦
LET r3=4 !ÅÀP¤Î°ÌÃÖ¡ÊÆ°¤¯±ß¤ÎÃæ¿´¤«¤é¡Ë¡¡¢¨r3=r2¤Ê¤é¥µ¥¤¥¯¥í¥¤¥É¡¢r3¡âr2¤Ê¤é¥È¥í¥³¥¤¥É

IF r1*r2>0 THEN
   LET sz=ABS(r1)+ABS(r3)+1
ELSE
   LET sz=ABS(r1)+ABS(r2)+ABS(r3)+1
END IF
SET WINDOW -sz,sz,-sz,sz !ɽ¼¨Îΰè

DRAW grid !ºÂɸ
DRAW circle WITH SCALE(r1) !Â礭¤Ê±ß

LET iter=r2/GCD(r1,r2) !¼þ²ó¿ô

FOR th=0 TO 360*iter !STEP 0.2 !¢¨Á¤ˤʤë¤Ê¤éÄ´À°
   DRAW p WITH ROTATE(r1/r2*RAD(th))*SHIFT(r1-r2,0)*ROTATE(-RAD(th)) !ÅÀP
NEXT th


PICTURE p !¸¶ÅÀ¡Êư¤¯±ß¤ÎÃæ¿´¡Ë¤ò´ð½à¤ËÅÀP¤òÉÁ¤¯
   DRAW disk WITH SCALE(0.1)*SHIFT(r3,0) !ÅÀP
END PICTURE

END
 

Re: ¥¹¥Ô¥í¥°¥é¥Õ¡Ê´ö²¿³Ø¥¢¡¼¥È¡Ë

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ10·î14Æü(²Ð)07»þ54ʬ28ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.19[¸µµ­»ö¤Ø]

ºî²è¤ÎÍͻҤò¥¢¥Ë¥á¡¼¥·¥ç¥ó¤µ¤»¤Æ¤ß¤Þ¤·¤¿¡£


FUNCTION GCD(a,b) !ºÇÂç¸øÌó¿ô
   IF b=0 THEN LET GCD=a ELSE LET GCD=GCD(b, MOD(a,b))
END FUNCTION


LET r1=8 !¸ÇÄê±ß¤ÎȾ·Â
LET r2=5 !ư¤¯±ß¤ÎȾ·Â¡¡¢¨r1*r2>0¤Ê¤éÆâ¦¡¢r1*r2<0¤Ê¤é³°Â¦
LET r3=4 !ÅÀP¤Î°ÌÃÖ¡ÊÆ°¤¯±ß¤ÎÃæ¿´¤«¤é¡Ë¡¡¢¨r3=r2¤Ê¤é¥µ¥¤¥¯¥í¥¤¥É¡¢r3¡âr2¤Ê¤é¥È¥í¥³¥¤¥É

!LET r1=8 !¸ÇÄê±ß¤Îľ·Â r1:r2=2:1
!LET r2=4
!LET r3=r2

!LET r1=12 !¥¢¥¹¥Æ¥í¥¤¥É 4:1
!LET r2=3
!LET r3=r2

!LET r1=5 !¥«¡¼¥¸¥ª¥¤¥É 1:1
!LET r2=-5
!LET r3=ABS(r2)

!LET r1=4 !¥Í¥Õ¥í¥¤¥É 2:1
!LET r2=-2
!LET r3=ABS(r2)


IF r1*r2>0 THEN
   IF ABS(r1)>ABS(r2) THEN
      LET sz=MAX(ABS(r1),ABS(r1-r2)+ABS(r3))+1
   ELSE
      LET sz=ABS(r1)+ABS(r3)+1
   END IF
ELSE
   LET sz=ABS(r1)+ABS(r2)+ABS(r3)+1
END IF
SET WINDOW -sz,sz,-sz,sz !ɽ¼¨Îΰè

DRAW grid !ºÂɸ
DRAW circle WITH SCALE(r1) !Â礭¤Ê±ß

LET iter=r2/GCD(r1,r2) !¼þ²ó¿ô

SET DRAW MODE NOTXOR

DIM w(4,4) !¥í¡¼¥«¥ëºÂɸ¤ò¥ï¡¼¥ë¥ÉºÂɸ¤ËÊÑ´¹¤¹¤ë
MAT w=SHIFT(r1-r2,0) !£±¤ÄÁ°
DRAW p(0) WITH w

FOR th=0 TO 360*iter !STEP 0.2 !¢¨Á¤ˤʤë¤Ê¤éÄ´À°
   DRAW p(0) WITH w !£±¤ÄÁ°¤ò¾Ã¤¹

   MAT w=ROTATE(-r1/r2*RAD(th)) * SHIFT(r1-r2,0)*ROTATE(RAD(th)) !»ÑÀª¤È°ÌÃÖ
   DRAW p(1) WITH w !¥ï¡¼¥ë¥ÉºÂɸ¤Ë¡¢Æ°¤¯±ß¤ÈÅÀP¤òÉÁ¤¯

   WAIT DELAY 0.02
NEXT th


PICTURE p(f) !¥í¡¼¥«¥ëºÂɸ¤Î¸¶ÅÀ¤ò´ð½à¤Ë¡¢Æ°¤¯±ß¤ÈÅÀP¤òÉÁ¤¯
   IF f=1 THEN !ÉÁ²è½ç¤ò¹Íθ¤·¤Æ¡¢Àè¤ËÅÀP¤òÉÁ¤¯
      SET DRAW MODE OVERWRITE !ÉÁ²èdisk¤ËNOTXOR¤òÈ¿±Ç¤µ¤»¤Ê¤¤
      DRAW disk WITH SCALE(0.2)*SHIFT(r3,0)
      SET DRAW MODE NOTXOR
   END IF
   DRAW circle WITH SCALE(r2) !ư¤¯±ß
   PLOT LINES: 0,0; r3,0
END PICTURE

END
 

²èÁü½Ì¾®ÊäÀµ¥×¥í¥°¥é¥à

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2008ǯ10·î15Æü(¿å)19»þ32ʬ55ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  Âè2·Ç¼¨ÈĤǤϲèÁü¤Î¥¢¥Ã¥×¤â¤Ç¤­¤ë¤è¤¦¤Ê¤Î¤Ç¡¢»î¤·¤Ë²èÁü½Ì¾®¤ÎÊäÀµ¥×¥í¥°¥é¥à¤òÅê¹Æ¤·¤Þ¤¹¡£
MAT PLOT CELLS¤Ç²èÁü¤ò½Ì¾®¤·¤ÆÉÁ²è¤·¤¿¤È¤­¤ËÀ¸¤¸¤ë¥¸¥ã¥®¡¼(¥®¥¶¥®¥¶)¤òÊäÀµ¤¹¤ë¤â¤Î¤Ç¤¹¡£
½Ì¾®¤Ë¤è¤ê·ç»¤¹¤ë²èÁǤο§¾ðÊó¤ò¼þ°Ï¤Î²èÁǤȲýÅÊ¿¶Ñ¤·¤Þ¤·¤¿¡£
ÊäÀµ¤Ç¤­¤ë½Ì¾®Î¨¤Ï¼¡¤Î2Ä̤ê¤Ç¤¹¡£
¡¡1/2,1/3,1/4,...¤È¤¤¤Ã¤¿ 1/n ¤Î¥¿¥¤¥×¡£
¡¡2/3,3/4,4/5,...¤È¤¤¤Ã¤¿ (n-1)/n ¤Î¥¿¥¤¥×¡£
½Ì¾®Î¨¤òÆþÎϤ¹¤ë¤È¡¢¤Þ¤º²èÌ̱¦²¼¤ËÊäÀµ¤Ê¤·¤Î²èÁü¤¬ÉÁ²è¤µ¤ì¤Þ¤¹¡£
¥Ó¡¼¥×²»¤Î¸å¡¢²¿¤«¥­¡¼¤ò²¡¤¹¤Èº¸²¼¤ËÊäÀµ¤·¤¿²èÁü¤¬ÉÁ²è¤µ¤ì¤Þ¤¹¡£
¥×¥í¥°¥é¥à¤ÇÆÉ¤ß¹þ¤ó¤Ç¤¤¤ë²èÁü¤Ï½½¿ÊBASICźÉÕ¥Õ¥¡¥¤¥ë¤Ç¤¹¤¬¡¢¥µ¥¤¥º¤¬¾®¤µ¤¤¤¿¤á¤«ÊäÀµ¤Î¸ú²Ì¤ò¤¢¤Þ¤ê³Îǧ¤Ç¤­¤Þ¤»¤ó¡£
¤¼¤Ò¡¢¥¢¥Ã¥×¤·¤¿¼Ì¿¿¤ò¥Ç¥¹¥¯¥È¥Ã¥×¤Ë¤Ç¤â¥³¥Ô¡¼¡õ¥Ú¡¼¥¹¥È¤·¤Æ»î¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Î¼Ì¿¿¤Ï¸Ä¿Í¤¬»£±Æ¤·¤¿¤â¤Î¤ÇÃøºî¸¢¤ËÌäÂê¤Ï¤¢¤ê¤Þ¤»¤ó¡£

(JPEG·Á¼°¤ÇUp¤·¤¿¤Î¤Ç²è¼Á¤¬Íî¤Á¤Æ¤Þ¤¹¤¬¡¢DownLoad¤¹¤ë¤ÈBMP·Á¼°¤ÇÊݸ¤µ¤ì¤Þ¤¹¡£)
(·Ç¼¨¤µ¤ì¤Æ¤¤¤ë¥µ¥¤¥º¤Ï400¡ß300¡¢³ÈÂ礹¤ë¤È¸µ¤Î¥µ¥¤¥º800¡ß600¤Ë¤Ê¤ê¤Þ¤¹¡£¤É¤Á¤é¤Î¥µ¥¤¥º¤â¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤Þ¤¹)


REM ** ²èÁü½Ì¾®ÊäÀµ¥×¥í¥°¥é¥à **
OPTION ARITHMETIC NATIVE
DECLARE EXTERNAL SUB revision1,revision2
GLOAD "C:\Program Files\Decimal BASIC\BASICw32\SAMPLE\ZENKOUJI.JPG"
LET px0=PIXELX(1)
LET py0=PIXELY(1)
SET WINDOW 0,px0,0,py0
DIM pict0(0 TO px0,0 TO py0)    ! ¸µ²èÁü(ÇÛÎó¤Î²¼¸Â¤Ï0°Ê³°¤â²Ä)
SET COLOR MODE "NATIVE"
ASK PIXEL ARRAY (0,py0) pict0   ! ¸µ²èÁü¤Î¿§»ØÉ¸
DO
   LET err=0
   INPUT PROMPT "[½Ì¾®Î¨ÆþÎÏ] ʬ»Ò,ʬÊì (ʬ»Ò=1 or ʬ»Ò=ʬÊì-1)" : num,denom
   IF num<1 OR INT(num)<>num THEN LET err=1
   IF denom<2 OR INT(denom)<>denom THEN LET err=1
   IF num<>1 AND num<>denom-1 THEN LET err=1
LOOP UNTIL err=0
LET t0=TIME
LET kk=num/denom   ! ½Ì¾®Î¨
MAT PLOT CELLS, IN px0-px0*kk,py0*kk ; px0,0 : pict0  !! ÊäÀµ¤Ê¤·
!
LET px9=INT(SIZE(pict0,1)*kk+0.00001)-1  ! k=1/3,3*k<>1¤ËÂбþ
LET py9=INT(SIZE(pict0,2)*kk+0.00001)-1
DIM pict9(0 TO px9,0 TO py9)    ! ½Ì¾®ÊäÀµ²èÁü(ÇÛÎó¤Î²¼¸Â¤Ï0)
IF num=1 THEN
   CALL revision1(pict0,pict9,denom)   ! ½Ì¾®Î¨=1/n
ELSE
   CALL revision2(pict0,pict9,denom)   ! ½Ì¾®Î¨=(n-1)/n
END IF
IF TIME-t0<0.2 THEN WAIT DELAY 0.2
BEEP
SET TEXT COLOR "RED"
SET TEXT HEIGHT py0/30
PLOT TEXT ,AT 1,1 : "PUSH ANY KEY"
DO
   FOR i=8 TO 239
      IF GetKeyState(i)<0 THEN EXIT DO
   NEXT i
LOOP
MAT PLOT CELLS, IN 0,py9 ; px9,0 : pict9  !! ÊäÀµ¤¢¤ê
BEEP
END


REM  ½Ì¾®Î¨=1/n (1/2,1/3,1/4,...)
EXTERNAL SUB revision1(sp0(,),sp9(,),k)
OPTION ARITHMETIC NATIVE
LET kk=1/k
DIM c9(3)
LET lx0=LBOUND(sp0,1)
LET ly0=LBOUND(sp0,2)
LET ux0=UBOUND(sp0,1)
LET uy0=UBOUND(sp0,2)
LET ux9=UBOUND(sp9,1)
LET uy9=UBOUND(sp9,2)
FOR i=lx0 TO ux0-(k-1) STEP k
   FOR j=ly0 TO uy0-(k-1) STEP k
      MAT c9=ZER
      FOR ii=0 TO k-1
         FOR jj=0 TO k-1
            CALL acm(i+ii,j+jj)
         NEXT jj
      NEXT ii
      LET sp9((i-lx0)*kk,(j-ly0)*kk)=COLORINDEX(c9(1)/k^2,c9(2)/k^2,c9(3)/k^2)
   NEXT j
NEXT i
LET rm2=MOD(uy0,k)  ! ±ï(²£)¤Î½èÍý
IF rm2<>k-1 THEN
   FOR i=lx0 TO ux0-(k-1) STEP k
      MAT c9=ZER
      FOR j=0 TO rm2
         CALL acm(i,uy0-j)
      NEXT j
      LET sp9((i-lx0)*kk,uy9)=COLORINDEX(c9(1)/(rm2+1),c9(2)/(rm2+1),c9(3)/(rm2+1))
   NEXT i
END IF
LET rm1=MOD(ux0,k)  ! ±ï(½Ä)¤Î½èÍý
IF rm1<>k-1 THEN
   FOR j=ly0 TO uy0-(k-1) STEP k
      MAT c9=ZER
      FOR i=0 TO rm1
         CALL acm(ux0-i,j)
      NEXT i
      LET sp9(ux9,(j-ly0)*kk)=COLORINDEX(c9(1)/(rm1+1),c9(2)/(rm1+1),c9(3)/(rm1+1))
   NEXT j
END IF
IF rm1<>k-1 OR rm2<>k-1 THEN  ! ³Ñ¤Î½èÍý
   MAT c9=ZER
   FOR i=0 TO rm1
      FOR j=0 TO rm2
         CALL acm(ux0-i,uy0-j)
      NEXT j
   NEXT i
   LET rm12=(rm1+1)*(rm2+1)
   LET sp9(ux9,uy9)=COLORINDEX(c9(1)/rm12,c9(2)/rm12,c9(3)/rm12)
END IF
SUB acm(x0,y0)
   ASK COLOR MIX(sp0(x0,y0)) b,g,r
   LET c9(1)=c9(1)+b
   LET c9(2)=c9(2)+g
   LET c9(3)=c9(3)+r
END SUB
END SUB

REM  ½Ì¾®Î¨=(n-1)/n (2/3,3/4,4/5,...)
EXTERNAL SUB revision2(sp0(,),sp9(,),k)
OPTION ARITHMETIC NATIVE
DECLARE FUNCTION c_ave
LET kk=(k-1)/k
LET num1=(k-1)-1
LET lx0=LBOUND(sp0,1)
LET ly0=LBOUND(sp0,2)
LET ux0=UBOUND(sp0,1)
LET uy0=UBOUND(sp0,2)
LET ux9=UBOUND(sp9,1)
LET uy9=UBOUND(sp9,2)
FOR i=lx0 TO ux0-k STEP k
   FOR j=ly0 TO uy0-k STEP k
      CALL center
      CALL side1(i,j,1,0)
      CALL side1(i+k,j,-1,num1)
      CALL side2(i,j,1,0)
      CALL side2(i,j+k,-1,num1)
      CALL corner(i,j,1,1,0,0)
      CALL corner(i,j+k,1,-1,0,num1)
      CALL corner(i+k,j,-1,1,num1,0)
      CALL corner(i+k,j+k,-1,-1,num1,num1)
   NEXT j
NEXT i
LET x8=(i-lx0-k)*kk+num1
LET y8=(j-ly0-k)*kk+num1
IF uy9<>y8 THEN CALL edge1
IF ux9<>x8 THEN CALL edge2
IF ux9<>x8 AND uy9<>y8 THEN CALL edge_corner
FUNCTION c_ave(c1,c2)   ! ¿§¶¯ÅٲýÅÊ¿¶Ñ
   ASK COLOR MIX(c1) b1,g1,r1
   ASK COLOR MIX(c2) b2,g2,r2
   LET c_ave=COLORINDEX((b1+2*b2)/3,(g1+2*g2)/3,(r1+2*r2)/3)
END FUNCTION
SUB center
   FOR ii=2 TO num1
      FOR jj=2 TO num1
         LET sp9((i-lx0)*kk+ii-1,(j-ly0)*kk+jj-1)=sp0(i+ii,j+jj)
      NEXT jj
   NEXT ii
END SUB
SUB side1(x,y,ii,m)
   FOR jj=2 TO num1
      LET sp9((i-lx0)*kk+m,(j-ly0)*kk+jj-1)=c_ave(sp0(x,y+jj),sp0(x+ii,y+jj))
   NEXT jj
END SUB
SUB side2(x,y,jj,n)
   FOR ii=2 TO num1
      LET sp9((i-lx0)*kk+ii-1,(j-ly0)*kk+n)=c_ave(sp0(x+ii,y),sp0(x+ii,y+jj))
   NEXT ii
END SUB
SUB corner(x,y,ii,jj,m,n)
   ASK COLOR MIX(sp0(x,y)) b1,g1,r1
   ASK COLOR MIX(sp0(x,y+jj)) b2,g2,r2
   ASK COLOR MIX(sp0(x+ii,y)) b3,g3,r3
   ASK COLOR MIX(sp0(x+ii,y+jj)) b4,g4,r4
   LET bb=(b1+2*b2+2*b3+4*b4)/9
   LET gg=(g1+2*g2+2*g3+4*g4)/9
   LET rr=(r1+2*r2+2*r3+4*r4)/9
   LET sp9((i-lx0)*kk+m,(j-ly0)*kk+n)=COLORINDEX(bb,gg,rr)
END SUB
SUB edge1
   FOR i=lx0 TO ux0-k STEP k  ! ²¼ÊդνèÍý
      FOR ii=0 TO num1
         FOR jj=0 TO uy9-y8-2
            LET sp9((i-lx0)*kk+ii,uy9-jj)=sp0(i+ii+1,uy0-jj)
         NEXT jj
         LET sp9((i-lx0)*kk+ii,uy9-jj)=c_ave(sp0(i+ii+1,uy0-(jj+1)),sp0(i+ii+1,uy0-jj))
      NEXT ii
   NEXT i
END SUB
SUB edge2
   FOR j=ly0 TO uy0-k STEP k  ! ±¦ÊդνèÍý
      FOR jj=0 TO num1
         FOR ii=0 TO ux9-x8-2
            LET sp9(ux9-ii,(j-ly0)*kk+jj)=sp0(ux0-ii,j+jj+1)
         NEXT ii
         LET sp9(ux9-ii,(j-ly0)*kk+jj)=c_ave(sp0(ux0-(ii+1),j+jj+1),sp0(ux0-ii,j+jj+1))
      NEXT jj
   NEXT j
END SUB
SUB edge_corner
   FOR ii=ux9 TO x8+1 STEP-1
      FOR jj=uy9 TO y8+1 STEP-1
         LET sp9(ii,jj)=sp0(ux0-(ux9-ii),uy0-(uy9-jj))
      NEXT jj
   NEXT ii
END SUB
END SUB
 

Re: ²èÁü½Ì¾®ÊäÀµ¥×¥í¥°¥é¥à

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ10·î18Æü(ÅÚ)20»þ06ʬ51ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.21[¸µµ­»ö¤Ø]

¥Ð¥¤¥ê¥Ë¥¢Ë¡¤Ç¤Ï¡¢²èÁü¤ò½Ì¾®¤¹¤ì¤Ð¥¨¥Ã¥¸Éôʬ¤¬¶¯Ä´¤µ¤ì¤ë·¹¸þ¤¬¤¢¤ê¤Þ¤¹¡£

°ìÈÌŪ¤Ê½Ì¾®Î¨¤Î¾ì¹ç¡¢²èÁü½èÍý¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤ÎÁàºî¤Î¤è¤¦¤Ë
½Ì¾®Î¨¤Ë±þ¤¸¤ÆÊ¿³ê²½¡Ê¤Ü¤«¤¹¡Ë¤·¤Æ¡¢¥Ð¥¤¥ê¥Ë¥¢Ë¡¤Ç½Ì¾®¤¹¤ì¤Ð¤è¤¤¤«¤È»×¤¤¤Þ¤¹¡£


Ê̲ò¡¡¢¨MATʸ¤ò»È¤Ã¤Æ½èÍý¤¬Â®¤¯¤Ê¤ê¤Þ¤·¤¿¡£


!Î¥»¶¥³¥µ¥¤¥óÊÑ´¹¡ÊDCT:Discrete Cosine Transform¡Ë¤Ë¤è¤ë³ÈÂç½Ì¾®

OPTION ARITHMETIC NATIVE

LET N=8 !¥Ö¥í¥Ã¥¯¥µ¥¤¥º

FUNCTION phi(k,i,N) !´ðÄì´Ø¿ô¦Õk(i)
   IF k=0 THEN
      LET phi=1/SQR(N)
   ELSE
      LET phi=SQR(2/N)*COS((2*i+1)*k*PI/(2*N))
   END IF
END FUNCTION

SUB DCT(f(,),TBL(,),iTBL(,), FF(,)) !DCTÊÑ´¹
   MAT FF=TBL*f
   MAT FF=FF*iTBL !F(k,l)=¦²[j=0,N-1]¦²[i=0,N-1]f(i,j)*¦Õk(i)*¦Õl(j)
END SUB
SUB iDCT(FF(,),TBL(,),iTBL(,), f(,)) !DCTµÕÊÑ´¹
   MAT f=iTBL*FF
   MAT f=f*TBL !f(i,j)=¦²[l=0,N-1]¦²[k=0,N-1]F(k,l)*¦Õk(i)*¦Õl(j)
END SUB

DIM TBLn(0 TO N-1,0 TO N-1) !ÊÑ´¹¹ÔÎó T
MAT TBLn=ZER
FOR k=0 TO N-1 !N¡ßN¥Ö¥í¥Ã¥¯¤Î¦Õk(i)¤Î¥Æ¡¼¥Ö¥ë¤ò¤Ä¤¯¤ë
   FOR i=0 TO N-1
      LET TBLn(k,i)=phi(k,i,N)
   NEXT i
NEXT k
!!!MAT PRINT TBLn;
DIM iTBLn(N,N) !¢¨T^-1=T^t¡¢¢è¥æ¥Ë¥¿¥ê¡¼¹ÔÎó
MAT iTBLn=TRN(TBLn)
!-------------------- ¤³¤³¤Þ¤Ç¤¬¥µ¥Ö¥ë¡¼¥Á¥ó


SET COLOR MODE "NATIVE"
!GLOAD "c:\BASICw32\SAMPLE\ZENKOUJI.JPG" !²èÁü¤òÆÉ¤ß¹þ¤à
GLOAD "c:\My Documents\test2.bmp" !²èÁü¤òÆÉ¤ß¹þ¤à
ASK PIXEL SIZE (0,0; 1,1) w,h !²èÁü¤Î½Ä²£¤ÎÂ礭¤µ(¥Ô¥¯¥»¥ëñ°Ì)¤òÄ´¤Ù¤ë
DIM p(w,h) !²èÁü¤ÎÂ礭¤µ¤ËÂбþ¤¹¤ëÇÛÎóÍ×ÁǤòÍѰդ¹¤ë
ASK PIXEL ARRAY (0,1) p !²èÁü¤Î³ÆÅÀ¤Î¿§¾ðÊó¤òÇÛÎó¤Ë³ÊǼ¤¹¤ë
PRINT "²èÁü¤ÎÂ礭¤µ ½Ä:";h;" ²£:";w
!SET BITMAP SIZE w,h !¥¦¥£¥ó¥É¥¦¤ÎÂ礭¤µ¤ò²èÁü¤Ë¹ç¤ï¤»¤ë


LET A=5 !³ÈÂç½Ì¾®Î¨ A/N
!LET A=11 !³ÈÂç½Ì¾®Î¨

LET ww=INT(w*A/N+0.5) !ÊÑ´¹¸å¤Î²èÁü¤ÎÂ礭¤µ
LET hh=INT(h*A/N+0.5)
PRINT A;"/";N;"ÇܡʽIJ£Èæ¤Ï¸ÇÄê¡Ë ½Ä:";hh;" ²£:";ww
IF ww<=0 OR hh<=0 THEN
   PRINT "²èÁü¤ÎÂ礭¤µ¤¬£°¤Þ¤¿¤ÏÉé¤Ë¤Ê¤ê¤Þ¤¹¡£"
   STOP
END IF
DIM q(ww,hh) !ÊÑ´¹¸å¤Î²èÁü¤ò³ÊǼ¤¹¤ëÇÛÎó


LET t0=TIME


DIM TBLa(0 TO A-1,0 TO A-1)
MAT TBLa=ZER
FOR k=0 TO A-1 !A¡ßA¥Ö¥í¥Ã¥¯¤Î¦Õk(i)¤Î¥Æ¡¼¥Ö¥ë¤ò¤Ä¤¯¤ë
   FOR i=0 TO A-1
      LET TBLa(k,i)=phi(k,i,A)
   NEXT i
NEXT k
DIM iTBLa(0 TO A-1,0 TO A-1)
MAT iTBLa=TRN(TBLa)

FOR by=0 TO INT((h-1)/N) !¥Ö¥í¥Ã¥¯Ã±°Ì¤Ëʬ³ä¤¹¤ë
   FOR bx=0 TO INT((w-1)/N)

      FOR j=1 TO N !¥Ö¥í¥Ã¥¯Æâ¤Î²èÁü
         LET y=by*N+j
         IF y>h THEN EXIT FOR !²¼Ã¼¤Ê¤é
         FOR i=1 TO N
            LET x=bx*N+i
            IF x>w THEN EXIT FOR !±¦Ã¼¤Ê¤é
            !!!PRINT x;y,i;j

            LET c=p(x,y)
            ASK COLOR MIX(c) r,g,b !RGB¤ò¼èÆÀ¤¹¤ë

            DIM Br(N,N),Bg(N,N),Bb(N,N) !²èÁǤο§Ç»ÅÙ¡¡¢¨²èÁü¿®¹æ f(i,j)
            LET Br(i,j)=r
            LET Bg(i,j)=g
            LET Bb(i,j)=b
         NEXT i
      NEXT j

      DIM BVr(N,N),BVg(N,N),BVb(N,N) !DCT·¸¿ô F(k,l)
      CALL DCT(Br,TBLn,iTBLn, BVr)
      CALL DCT(Bg,TBLn,iTBLn, BVg)
      CALL DCT(Bb,TBLn,iTBLn, BVb)

      !¢¨½Ì¾®¤Ê¤é¹â¼þÇÈÀ®Ê¬¤Î¹Ô¤ÈÎó¤ò½ü¤¯¡¢³ÈÂç¤Ê¤éÉÔ­Éôʬ¤Ï£°¤òÊ䤦
      DIM Tr(A,A),Tg(A,A),Tb(A,A)
      IF A>N THEN !³ÈÂç¤Ê¤é
         MAT Tr=ZER(A,A)
         MAT Tg=ZER(A,A)
         MAT Tb=ZER(A,A)
      END IF
      FOR j=1 TO MIN(N,A) !copy it
         FOR i=1 TO MIN(N,A)
            LET Tr(i,j)=BVr(i,j)
            LET Tg(i,j)=BVg(i,j)
            LET Tb(i,j)=BVb(i,j)
         NEXT i
      NEXT j

      DIM iBr(A,A),iBg(A,A),iBb(A,A) !²èÁǤο§Ç»ÅÙ¡¡¢¨²èÁü¿®¹æ f(i,j)
      CALL iDCT(Tr,TBLa,iTBLa, iBr)
      CALL iDCT(Tg,TBLa,iTBLa, iBg)
      CALL iDCT(Tb,TBLa,iTBLa, iBb)

      FOR j=1 TO A !²èÁü¤Ë³äÅö¤Æ¤ë
         LET yy=by*A+j
         IF yy>hh THEN EXIT FOR !²¼Ã¼¤Ê¤é
         FOR i=1 TO A
            LET xx=bx*A+i
            IF xx>ww THEN EXIT FOR !±¦Ã¼¤Ê¤é

            LET r=MIN(iBr(i,j)*A/N,1) !µ±ÅÙÄ´À°
            LET g=MIN(iBg(i,j)*A/N,1)
            LET b=MIN(iBb(i,j)*A/N,1)

            LET q(xx,yy)=colorindex(r,g,b) !»ØÄê°ÌÃ֤βèÁǤ˽ñ¤­¹þ¤à
         NEXT i
      NEXT j

   NEXT bx
NEXT by


SET BITMAP SIZE ww,hh !¥¦¥£¥ó¥É¥¦¤ÎÂ礭¤µ¤ò²èÁü¤Ë¹ç¤ï¤»¤ë
MAT PLOT CELLS, IN 0,1; 1,0 :q !²èÁü¤òɽ¼¨¤¹¤ë


PRINT
PRINT "·×»»»þ´Ö=";TIME-t0

END
 

¼ÁÌä

 Åê¹Æ¼Ô¡§¤æ¤¦  Åê¹ÆÆü¡§2008ǯ10·î19Æü(Æü)09»þ43ʬ19ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¥°¥é¥Õ¤òÉÁ¤¤¤Æ¤¤¤Þ¤¹¡£
2¤Ä¤Î´Ø¿ôf(x)¤Èg(x)¤Ë¤è¤Ã¤Æ°Ï¤Þ¤ì¤¿¿Þ·Á¤òÅɤê¤Ä¤Ö¤·¤¿¤¤¤Î¤Ç¤¹¤¬¡¢¤É¤¦¤ä¤Ã¤Æ¤ä¤Ã¤¿¤é½ÐÍè¤Þ¤¹¤«¡©²óÅú¤ª´ê¤¤¤·¤Þ¤¹¡£
 

Re: ¼ÁÌä

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ10·î19Æü(Æü)11»þ51ʬ12ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.23[¸µµ­»ö¤Ø]

¤æ¤¦¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£


!ϢΩÉÔÅù¼°f(x)>0¡¢g(x,y)<0¤ÎÎΰè

DEF f(x)=x^2-3*x-1 !´Ø¿ô¤ÎÄêµÁ y=f(x)
DEF g(x,y)=5*x^2-6*x*y+5*y^2-25 !´Ø¿ô¤ÎÄêµÁ f(x,y)=0

LET a=-5 !x=[a,b]¡¡¢¨xyºÂɸ¤Îɽ¼¨Îΰè
LET b=5
LET c=a !y=[c,d]
LET d=b


SET WINDOW a,b,c,d !ɽ¼¨Îΰè¤òÀßÄꤹ¤ë
DRAW grid(1,1) !ºÂɸ¤òÉÁ¤¯
ASK PIXEL SIZE (a,c; b,d) w,h !²èÁü¤Î½Ä²£¤ÎÂ礭¤µ(¥É¥Ã¥Èñ°Ì)¤òÄ´¤Ù¤ë
PRINT w;h

LET cEps=(b-a)/(w-1) !ºÂɸ´Ö³Ö
PRINT cEps

DEF ha(f)=MOD(f,cEps*10) !ɾ²Á´Ø¿ô
SUB hatch(t, x,y,c) !¥Ï¥Ã¥Á·Á¾õ¤Ê¤éÅÀ(x,y)¤òÉÁ¤¯
   LET flg=0
   IF (t=1 OR t=5) AND ha(y)<cEps THEN LET flg=1 !²£
   IF (t=2 OR t=5) AND ha(x)<cEps THEN LET flg=1 !½Ä
   IF (t=3 OR t=6) AND ha(x+y)<cEps THEN LET flg=1 !º¸¼Ð¤á
   IF (t=4 OR t=6) AND ha(x-y)<cEps THEN LET flg=1 !±¦¼Ð¤á
   IF t=0 OR flg=1 THEN !t=0¤Ï¥Ù¥¿Åɤê
      SET POINT COLOR c
      PLOT POINTS: x,y
   END IF
END SUB


!¾ò·ï¤òËþ¤¿¤¹Îΰè¤òÉÁ¤¯
SET POINT STYLE 1 !¥É¥Ã¥È·Á¼°
FOR j=1 TO h !²èÌÌÁ´ÂΤòÁöºº¤¹¤ë
   LET y=WORLDY(j) !¥É¥Ã¥È¤òxyºÂɸ¤ËÊÑ´¹¤¹¤ë
   FOR i=1 TO w
      LET x=WORLDX(i)

      WHEN EXCEPTION IN
      !ÉÔÅù¼°¤¬¼¨¤¹Îΰ衡¢¨y>f(x)¤Ïf(x)>0¡¢y<f(x)¤Ïf(x)<0¤ò°ÕÌ£¤¹¤ë
         IF y>f(x) THEN CALL hatch(4, x,y,4) !¾ò·ï¤òËþ¤¿¤¹¤Ê¤é
         IF g(x,y)<0 THEN CALL hatch(3, x,y,2)

         !ϢΩÉÔÅù¼°¤¬¼¨¤¹Îΰè
         !IF y>f(x) AND g(x,y)<0 THEN CALL hatch(5, x,y,2) !¾ò·ï¤òËþ¤¿¤¹¤Ê¤é
      USE
      END WHEN

   NEXT i
NEXT j



!¶ÊÀþ¤òÉÁ¤¯¡¡¢¨y=f(x)
FOR x=a TO b STEP cEps
   WHEN EXCEPTION IN
      PLOT LINES: x,f(x); !ÀÞ¤ìÀþ¤Ç¶á»÷¤¹¤ë
   USE
      PLOT LINES
   END WHEN
NEXT x
PLOT LINES
PLOT TEXT ,AT -2,4: "f(x)"


!¶ÊÀþ¤òÉÁ¤¯¡¡¢¨Ï¢Â³¤Êf(x,y)=0
SET POINT COLOR 1
FOR y=c TO d STEP cEps
   LET x=a
   LET z=g(x,y)
   FOR x=a TO b STEP cEps
      LET z0=z
      LET z=g(x,y)
      IF z0*z<0 THEN  PLOT POINTS: x,y !É乿¤¬ÊѤï¤ì¤Ð
   NEXT x
NEXT y
PLOT TEXT ,AT -3,-3: "g(x)"


END
 

(̵Âê)

 Åê¹Æ¼Ô¡§¤À¤¤  Åê¹ÆÆü¡§2008ǯ10·î21Æü(²Ð)13»þ50ʬ23ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ½½¿Êbasic¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤¿¤¤¤ó¤Ç¤¹¤¬¡¢¤É¤¦¤·¤¿¤é¤¤¤¤¤«¶µ¤¨¤Æ¤¯¤À¤µ¤¤¡£  

Re: (̵Âê)

 Åê¹Æ¼Ô¡§ÇòÀС¡ÏÂÉ×  Åê¹ÆÆü¡§2008ǯ10·î21Æü(²Ð)17»þ56ʬ20ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.25[¸µµ­»ö¤Ø]

¤À¤¤¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ½½¿Êbasic¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤¿¤¤¤ó¤Ç¤¹¤¬¡¢¤É¤¦¤·¤¿¤é¤¤¤¤¤«¶µ¤¨¤Æ¤¯¤À¤µ¤¤¡£

¤³¤ÎÊǤΰìÈÖ²¼¤Î¤Û¤¦¤Ë¤¢¤ë¡Ö½½¿ÊBASIC¤Î¥Û¡¼¥à¥Ú¡¼¥¸¡×¤Ø¤Î¥ê¥ó¥¯¤ò¥¯¥ê¥Ã¥¯¤·¡¤
½½¿ÊBASIC¤Î¥Û¡¼¥à¥Ú¡¼¥¸¤ÇOSÊ̤ËÍѰդµ¤ì¤¿¥À¥¦¥ó¥í¡¼¥É¤ÎÊǤ˿ʤó¤Ç¤¯¤À¤µ¤¤¡£
 

Re: ²èÁü½Ì¾®ÊäÀµ¥×¥í¥°¥é¥à

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2008ǯ10·î26Æü(Æü)12»þ08ʬ13ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.22[¸µµ­»ö¤Ø]

»³ÃæÏµÁ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

¥¢¥É¥Ð¥¤¥¹¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
²èÁü½èÍý¤ËÂФ·¤Æ¤ÎÃ챤â¤Ê¤¯»×¤¤¤Ä¤­¤Çºî¤Ã¤¿¥×¥í¥°¥é¥à¤Ç¤¹¡£
Î¥»¶¥³¥µ¥¤¥óÊÑ´¹¤Ê¤ëÍѸì¤â½é¤á¤ÆÌܤˤ¹¤ë¤â¤Î¤Ç¡¢¥Í¥Ã¥ÈÅù¤Ç¼«Ê¬¤Ê¤ê¤ËÄ´¤Ù¤Þ¤·¤¿¤¬»Äǰ¤Ê¤¬¤é¹Å¤¯¤Ê¤Ã¤¿Æ¬¤Ç¤Ï¸¶Íý¤òÍý²ò¤¹¤ë¤Þ¤Ç¤Ï¤¤¤¿¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£

²èÁü´Ø·¸¤Ç¤Ï¤Ê¤¤¤Ç¤¹¤¬¡¢¤¤¤¯¤Ä¤«Åê¹Æ¤·¤è¤¦¤«¤È»×°Æ¤·¤Æ¤¤¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
¤Þ¤¿¥¢¥É¥Ð¥¤¥¹¤ª´ê¤¤¤·¤Þ¤¹¡£
 

ÉÔÅù¹æ¤ò¥¿¥°¤È¸íǧ¼±

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2008ǯ10·î27Æü(·î)08»þ31ʬ49ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  Âè2·Ç¼¨ÈĤǤÏHTML¥¿¥°¤ò»È¤¨¤Þ¤¹¤¬¡¢ÉÔÅù¹æ¤ò¥¿¥°¤È¸íǧ¼±¤¹¤ë¤³¤È¤¬¤¢¤ë¤è¤¦¤Ê¤Î¤ÇÊó¹ð¤·¤Þ¤¹¡£
¡Ö±¦³«¤­ÉÔÅù¹æ(<)+¥¿¥°ÍѸì+¶õÇò¡×¤Ç¥¿¥°¤Èǧ¼±¤·¡¢¼¡¤Îº¸³«¤­ÉÔÅù¹æ(>)¤Þ¤Ç¤Î´Ö¤Ë¤¢¤ëʸ»ú¤¬É½¼¨¤µ¤ì¤Þ¤»¤ó¡£
¡Ê¸µ¤Îʸ¤È¤·¤ÆÉ½¼¨¤·¤Æ¤¤¤ë¤Î¤ÏÉÔÅù¹æ¤òÁ´³Ñ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£¡Ë
Åê¹Æ¤¹¤ëºÝ¤Ï¡¢ÊÑ¿ô̾¤ò¥¿¥°ÍѸì¤ÈÊѤ¨¤ë¤«¡¢j<p+0 ¤ÎÍͤˤ·¤ÆÉÔÅù¹æ¤Ë³¤¯ÊÑ¿ô¤Î¸å¤í¤ò¶õÇò¤Ë¤·¤Ê¤¤¡¢¤Þ¤¿¤ÏÉÔÅù¹æ¤Î¸þ¤­¤òÊѤ¨¤ë¤È¤¤¤Ã¤¿¹©Éפ¬É¬Íפˤʤê¤Þ¤¹¡£
»²¹Í¤Þ¤Ç¤Ë1ʸ»ú¤Î¥¿¥°¤Ï¡¢a,b,i,p,q,s,u¡£h1¡Áh6¤â¸«½Ð¤·¤Èǧ¼±¤µ¤ì¤Þ¤¹¡£(ÄûÀµ;·Ç¼¨ÈÄÆâ¤Ç¤Ï¸«½Ð¤·¥¿¥°¤Ï»È¤¨¤Ê¤¤¤è¤¦¤Ç¤¹)

¤³¤ÎÌäÂê¤Î¸¶°ø¤Ï¥ì¥ó¥¿¥ë·Ç¼¨ÈĤˤ¢¤ë¤Î¤Ç¤É¤¦¤·¤è¤¦¤â¤Ê¤¤¤Ç¤¹¤è¤Í¡©



Îã1 : ¥Õ¥©¥ó¥È(font)
10 IF ac THEN LET font=1

¸µ1 :
10 IF a¡ãfont AND b¡äc THEN LET font=1


Îã2 : ²þ¹Ô(br)
20 IF x
z THEN LET br=2

¸µ2 :
20 IF x¡ãbr OR y¡äz THEN LET br=2


Îã3 : ¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯(a)
30 IF di THEN LET h=5

¸µ3 :
30 IF d¡ãa THEN LET d=3
40 LET e=e+1
50 IF f¡ãg THEN LET f=4
60 IF h¡äi THEN LET h=5


Îã4 : ÃÊÍî(p)
70 IF j

l THEN LET j=6

¸µ4 :
70 IF j¡ãp OR k¡äl THEN LET j=6


Îã5 : ¥Ü¡¼¥ë¥ÉÂÎ(b)
80 IF mo THEN LET m=7

¸µ5 :
80 IF m¡ãb AND n¡äo THEN LET m=7


ÌäÂê¤Ê¤· :
10 a<fontx AND b>c THEN LET fontx=1
70 IF j<p+0 OR k>l THEN LET j=6
80 IF b>m AND n>o THEN LET m=7


(¡ãb ¤ÇÂÀ»ú¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¡ã/b¡ä
¤Èµ­½Ò¤µ¤ì¤ë¤Þ¤Çľ¤ê¤Þ¤»¤ó¡£)

 

Re: ÉÔÅù¹æ¤ò¥¿¥°¤È¸íǧ¼±

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ10·î27Æü(·î)12»þ59ʬ39ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.28[¸µµ­»ö¤Ø]

µ¤¤Ë¤Ê¤ëÆÃ¼ìʸ»ú¤Î½ñ¤­¹þ¤ß»î¸³¤Ç¤¹¡£

PRINT "¡õ£Ì£Ô¡¨"
PRINT "¡õ£ì£ô¡¨"
PRINT "123"¡õ£ì£ô$
PRINT "123"¡õ£ì£ô£õ£ö£÷$
IF a¡ãfont AND b>c THEN LET font=1

¤Èµ­½Ò¤·¤¿¥×¥í¥°¥é¥à¤òÅê¹Æ¤·¤¿¤È¤¹¤ë¡£



PRINT "<"
PRINT "<"
PRINT "123"<$
PRINT "123"&ltuvw$
IF ac THEN LET font=1



PRE¥¿¥°¤ò»ØÄꤷ¤Æ¤ß¤ë
PRINT "<"
PRINT "<"
PRINT "123"<$
PRINT "123"&ltuvw$
IF ac THEN LET font=1


¤È¤¤¤¦¤³¤È¤Ï¡¢¡ã¤È¡õ¤ò¡õ£ì£ô¡¨¡¤¡õ£á£í£ð¡¨¤ËÊÑ´¹¤·¤Æ¤ª¤±¤Ð¤¤¤¤¤Î¤Ç¤·¤ç¤¦¤«¡ª¡©
 

Re: ÉÔÅù¹æ¤ò¥¿¥°¤È¸íǧ¼±

 Åê¹Æ¼Ô¡§ÇòÀС¡ÏÂÉ×  Åê¹ÆÆü¡§2008ǯ10·î28Æü(²Ð)08»þ04ʬ13ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.29[¸µµ­»ö¤Ø]

½½¿ÊBASIC FAQ ·Ç¼¨ÈĤλȤ¤Êý¤Ë & ¡¤< ¤ÎÃÖ´¹¼ê½ç¤òÄɲä·¤Þ¤·¤¿¡£
¤Ê¤ª¡¤¤Û¤«¤Ë¤ªµ¤¤Å¤­¤ÎÅÀ¤¬¤¢¤ì¤Ð¤ªÃΤ餻¤¯¤À¤µ¤¤¡£
 

¥â¥ó¥Æ¥«¥ë¥íË¡¤Ë¤è¤ë¿ôÃÍÀÑʬ

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ10·î28Æü(²Ð)11»þ14ʬ32ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  !¥â¥ó¥Æ¥«¥ë¥íË¡¡ÊMonte Carlo Method¡Ë¤Ë¤è¤ë¿ôÃÍÀÑʬ

DEF f(x)=1/(1+x) !ÈïÀÑʬ´Ø¿ô

!¡üÆþÌçŪ¥â¥ó¥Æ¥«¥ë¥íË¡
!¡¡¢é[0,1]f(x)dx=¦²[i=1,N]f(i/N)/N=1/N*¦²[i=1,N]f(xi)
!
!¡¡x=[a,b]ÈϰϤǰìÍÍÍð¿ô¤ÇÅÀ(x,y)¤òN¸ÄȯÀ¸¤µ¤»¤ë¤È
!¡¡¢é[a,b]f(x)dx=(b-a)/N*¦²[i=1,N]f(xi)

LET N=500000 !Íð¿ô¤ÎȯÀ¸¸Ä¿ô

LET a=0
LET b=1

LET ba=b-a
LET h=0
FOR i=1 TO N
   LET x=RND*ba+a !N¸Ä¤Î°ìÍÍÍð¿ô
   LET h=h+f(x) !¦²f
NEXT i
LET S=h*ba/N

PRINT S, LOG(2)



!¡ü¡Ö¤¢¤¿¤ê¤Ï¤º¤ì¡×¤Î¥â¥ó¥Æ¥«¥ë¥íË¡
!¡¡x=[a,b]¡¢y=[0,c]¡¢0<f(x)<c¤ÎÈϰϤÇ
!¡¡°ìÍÍÍð¿ô¤ÇÅÀ(x,y)¤òN¸ÄȯÀ¸¤µ¤»¤Æ¡¢y<f(x)¤Î¿ô¤òn¤È¤¹¤ë¤È
!¡¡¢é[a,b]f(x)dx=c*(b-a)*n/N

LET N=500000 !Íð¿ô¤ÎȯÀ¸¸Ä¿ô

LET a=0
LET b=1
LET c=1

LET ba=b-a
LET hit=0
FOR i=1 TO N
   LET x=RND*ba+a !N¸Ä¤Î°ìÍÍÍð¿ô
   LET y=RND*c
   IF y<f(x) THEN LET hit=hit+1 !f¤è¤ê²¼¤ÎÎΰè
NEXT i
LET S=c*ba * hit/N !ĹÊý·Á¤È¤ÎÌÌÀÑÈæ

PRINT S, LOG(2)


END
 

¡ã ¡õ ¤Îľ¸å¤Ë¤Ï¡¢È¾³Ñ¥¹¥Ú¡¼¥¹¤òɬ¤ºÃÖ¤¯¡£

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ10·î28Æü(²Ð)13»þ02ʬ40ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  £±¡Ë¡ã¤Îľ¸å¤Ë¤Ï¡¢È¾³Ñ¥¹¥Ú¡¼¥¹¤òÃÖ¤¯¡£( ÉÔÅù¹æ¡ã¡ä¤Ï¡¢¤½¤Î¤Þ¤Þ¤ÇÎɤ¤¤è¤¦¤Ç¤¹¡£)
£²¡Ë¡õ¤Îľ¸å¤Ë¤Ï¡¢È¾³Ñ¥¹¥Ú¡¼¥¹¤òÃÖ¤¯¡£

¤ÎÍͤˤ¹¤ë¤È¡¢
¥¿¥°¤È¡¢Ê¸»ú»²¾È¡¢¤Î¥·¡¼¥±¥ó¥¹¤¬»ß¤á¤é¤ì¤Þ¤¹¡£·Ç¼¨ÍѤΥꥹ¥È¤Ç¡Ö¼Â¹Ô¡×¤â·óÍÑ¡£

¥¹¥Ú¡¼¥¹ÁÞÆþ¸ú²Ì¤Î»î¸³¤Ç¤¹¡£

PRINT "¡õ £Ì£Ô¡¨"
PRINT "¡õ £ì£ô¡¨"
PRINT "123"¡õ £ì£ô$
PRINT "123"¡õ £ì£ô£õ£ö£÷$
IF a¡ã font AND b>c THEN LET font=1
IF a¡ã¡äb THEN LET font=2

¤Èµ­½Ò¤·¤¿¥×¥í¥°¥é¥à¤òÅê¹Æ¤·¤¿¤È¤¹¤ë¡£

PRINT "& LT;"
PRINT "& lt;"
PRINT "123"& lt$
PRINT "123"& ltuvw$
IF a< font AND b>c THEN LET font=1
IF a<>b THEN LET font=2

ʸ»ú»²¾È¡¡¤Î»î¸³¤ò¡¢¤â¤¦¾¯¤·Äɲá£(±¦Â¦¤Ï¡¢¥¹¥Ú¡¼¥¹Ìµ¤·¤ÎƱʸ)

print "& #34; & quot;"    ! print "" ""
print "& #38; & amp;"     ! print "& &"
print "& #60; & lt;"      ! print "< <"
print "& #62; & gt;"      ! print "> >"
print "& #160; & nbsp;"   ! print "   "
print "& #161; & iexcl;"  ! print "ޏAÁþޏA¢
print "& #162; & cent;"   ! print "¡ñ ¡ñ"
print "& #163; & pound;"  ! print "¡ò ¡ò"
print "& #164; & curren;" ! print "ޏAïþޏAð¢
print "& #165; & yen;"    ! print "\ \"
print "& #166; & brvbar;" ! print "üü üü"
print "& #167; & sect;"   ! print "¡ø ¡ø"
print "& #168; & uml;"    ! print "¡¯ ¡¯"
print "& #169; & copy;"   ! print "ޏAíþޏAí¢

--------------------------------------------------
&& ¤Î»î¸³¡£

LET copy$="&& ¤ò»ÈÍѤ·¤Æ£±¹Ô¤Ë"

PRINT "£±¹Ô¤Ë½ñ¤­ÀÚ¤ì¤Ê¤¯¤Æ¡¢²þ¹Ô¤·¤Æ¤·¤Þ¤Ã¤¿¤¬¡¢"&
&ޏAí¤ & "¤Ä¤Ê¤¤¤Ç¡¢¤³¤Î¹Ô¤ò¡¢²þ¹Ô¤·¤Æ¤¤¤Ê¤¤£±¹Ô¤Îʸ»úÎó¤Ë¤·¤¿¡£"

PRINT "£±¹Ô¤Ë½ñ¤­ÀÚ¤ì¤Ê¤¯¤Æ¡¢²þ¹Ô¤·¤Æ¤·¤Þ¤Ã¤¿¤¬¡¢"&
&& copy$ & "¤Ä¤Ê¤¤¤Ç¡¢¤³¤Î¹Ô¤ò¡¢²þ¹Ô¤·¤Æ¤¤¤Ê¤¤£±¹Ô¤Îʸ»úÎó¤Ë¤·¤¿¡£"
  ¢¬
¤³¤Î¥¹¥Ú¡¼¥¹¤¬Ìµ¤¤¾ì¹ç(¾å)¤È¡¢Í­¤ë¾ì¹ç(²¼)¡£

--------------------------------------------------
¡ã¤Î»î¸³¡¡¤òÄɲá£(Ⱦ³Ñ¥¹¥Ú¡¼¥¹¸åÉÕ¤±¤Î½ÐÍè¤Ê¤¤¥±¡¼¥¹)

IF X ¡ã¡á 10 THEN PRINT USING "¡ã###" : 123
IF X ¡ã¡ä 10 THEN PRINT USING "¡ã%%%" : 123
IF X¡ã¡á10 THEN PRINT USING "¡ã###":123
IF X¡ã¡ä10 THEN PRINT USING "¡ã%%%":123
PRINT USING "#¡ã" : w10, w1
PRINT USING "#¡ã":w10, w1

¡¡¤È½ñ¤¤¤¿¤È¤¹¤ë¡£

IF X <= 10 THEN PRINT USING "<###" : 123
IF X <> 10 THEN PRINT USING "<%%%" : 123
IF X<=10 THEN PRINT USING "<###":123
IF X<>10 THEN PRINT USING "<%%%":123
PRINT USING "#<" : w10, w1
PRINT USING "#<":w10, w1
 

À¤³¦¤Î¥Ê¥Ù¥¢¥Ä¤ËBASIC¤ÇÄ©À¡¡¤ª¤â¤í¡Á

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ10·î29Æü(¿å)11»þ14ʬ24ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  °ÊÁ°¡¢¥×¥í¥°¥é¥ß¥ó¥°¤ÎÎý½¬¤Ë¡Ö£³¤ÎÇÜ¿ô¡×¤È¡Ö£³¤ÎÉÕ¤¯¿ô¡×¤ÎȽÄêÊýË¡¤ò¸¡Æ¤¤·¤Æ¤ß¤Þ¤·¤¿¡£
º£²ó¤Ï¡¢¿ô¤ò¿¹à¼°¤ä¥Ù¥¯¥È¥ë¤ä¹ÔÎó¤Çɽ¸½¤·¤Æ¡¢¤½¤Î±é»»¤ÇȽÄꤷ¤Æ¤ß¤Þ¤¹¡£


!¼«Á³¿ôn¤Î³Æ°Ì¤ÎÃͤ¬·¸¿ô¤È¤Ê¤ë¿¹à¼°p(x)=k1+k2*x+k3*x^2+ ¡Ä¤Çɽ¤¹¡£
!21¤Î¾ì¹ç
!¡¡p(x)=1+2*x+0*x^2+0*x^3+ ¡Ä
!¸µ¤În¤ËÌ᤹¤Ë¤Ï¡¢x=10¤È¤·¤Æ´Ø¿ôÃͤò·×»»¤¹¤ì¤Ð¤è¤¤¡£
!¡¡p(10)=1*1+2*10+0*100+0*1000+ ¡Ä =21

DEF p(x)=k1+k2*x+k3*x^2+k4*x^3 !¿¹à¼°

FOR k2=0 TO 9 !½½¤Î°Ì
   FOR k1=0 TO 9 !°ì¤Î°Ì

      IF MOD(p(1),3)=0 THEN !³Æ·å¤ÎϤ¬£³¤ÎÇÜ¿ô¤Ê¤é
         PRINT p(10) !x=k1+k2*10+k3*100+ ¡Ä
      ELSEIF k1=3 OR k2=3 THEN !¤¤¤º¤ì¤«¤¬£³¤È¤Ê¤ë
         PRINT p(10) !x=k1+k2*10+k3*100+ ¡Ä
      END IF

   NEXT k1
NEXT k2





!¼«Á³¿ôn¤Î³Æ°Ì¤ÎÃͤ¬À®Ê¬¤È¤Ê¤ë¥Ù¥¯¥È¥ë¤Çɽ¤¹¡£
!21¤Î¾ì¹ç
!¡¡(1 2)
!¸µ¤În¤ËÌ᤹¤Ë¤Ï¡¢10¤Î¤Ù¤­¾è¤òÀ®Ê¬¤È¤¹¤ë¥Ù¥¯¥È¥ë¤ÈÆâÀѤò¤È¤ì¤Ð¤è¤¤¡£
!¡¡(1 2)¡¦(1 10)=1*1+2*10=21

LET K=4 !·å¿ô

DIM CC(K) !Äê¿ô (1 1 1 ¡Ä)
MAT CC=CON
DIM BB(K) !Äê¿ô (1 10 100 ¡Ä)
FOR i=1 TO K
   LET BB(i)=10^(i-1) !°Ì
NEXT i
DIM V(K) !¥Ù¥¯¥È¥ë
FOR k2=0 TO 9 !½½¤Î°Ì
   LET V(2)=k2
   FOR k1=0 TO 9 !°ì¤Î°Ì
      LET V(1)=k1

      IF MOD(DOT(V,CC),3)=0 THEN !³Æ·å¤ÎϤ¬£³¤ÎÇÜ¿ô¤Ê¤é
         PRINT DOT(V,BB) !x=k1+k2*10+k3*100+ ¡Ä
      ELSEIF V(1)=3 OR V(2)=3 THEN !¤¤¤º¤ì¤«¤¬£³¤È¤Ê¤ë
         PRINT DOT(V,BB) !x=k1+k2*10+k3*100+ ¡Ä
      END IF

   NEXT k1
NEXT k2





!¼«Á³¿ôn¤Î³Æ°Ì¤ÎÃͤ¬Í×ÁǤȤʤëÂгѹÔÎó¤Çɽ¤¹¡£
!21¤Î¾ì¹ç
!¡¡¨£ 1 0 ¨¤
!¡¡¨¦ 0 2 ¨¥
!¸µ¤În¤ËÌ᤹¤Ë¤Ï¡¢10¤Î¤Ù¤­¾è¤òÍ×ÁǤȤ¹¤ë¹ÔÎó¤ò¤«¤±¤ì¤Ð¤è¤¤¡£
!¡¡¨£ 1 0 ¨¤¨£ £± ¨¤
!¡¡¨¦ 0 2 ¨¥¨¦ 10 ¨¥
!¡¡¡á¨£ £± ¨¤
!¡¡¡¡¨¦ 20 ¨¥
!¤µ¤é¤Ë¡¢¤¹¤Ù¤Æ¤ÎÍ×ÁǤ¬£±¤Î¹ÔÎó¤ò¤«¤±¤ì¤Ð¤è¤¤¡£
!¡¡[1 1]¨£ £± ¨¤¡á[21]
! ¡¡¡¡¡¡¨¦ 20 ¨¥

FUNCTION tr(A(,)) !¹ÔÎóA¤Î¥È¥ì¡¼¥¹
   LET t=0 !ÂгÑÀ®Ê¬¤ÎÏÂ
   FOR m=1 TO MIN(UBOUND(A,1),UBOUND(A,2))
      LET t=t+A(m,m)
   NEXT m
   LET tr=t
END FUNCTION


LET K=4 !·å¿ô

DIM B(K,1) !Äê¿ô t[1 10 100 ¡Ä]
FOR i=1 TO K
   LET B(i,1)=10^(i-1) !°Ì
NEXT i

DIM C(1,K) !Äê¿ô [1 1 1 ¡Ä]
MAT C=CON

DIM TT(K,1),X(1,1) !ºî¶ÈÍÑ

DIM A(K,K) !ÂгѹÔÎó
MAT A=ZER
FOR k2=0 TO 9 !½½¤Î°Ì
   LET A(2,2)=k2
   FOR k1=0 TO 9 !°ì¤Î°Ì
      LET A(1,1)=k1

      IF MOD(tr(A),3)=0 THEN !³Æ·å¤ÎϤ¬£³¤ÎÇÜ¿ô¤Ê¤é
         MAT TT=A*B !x=k1+k2*10+k3*100+ ¡Ä
         MAT X=C*TT
         MAT PRINT X; !PRINT X(1,1)
      ELSEIF A(1,1)=3 OR A(2,2)=3 THEN !¤¤¤º¤ì¤«¤¬£³¤È¤Ê¤ë
         MAT TT=A*B !x=k1+k2*10+k3*100+ ¡Ä
         MAT X=C*TT
         MAT PRINT X;
      END IF

   NEXT k1
NEXT k2


END
 

µì·Ç¼¨ÈĤÎÅê¹Æ¤ò¥­¥ã¥Ã¥·¥å¤«¤é¥µ¥ë¥Ù¡¼¥¸

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2008ǯ10·î30Æü(ÌÚ)08»þ04ʬ4ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ½½¿ÊBASIC¤Îµì·Ç¼¨ÈĤ¬10·î¾å½Ü¤«¤é±¿±Ä²ñ¼Òaround¤Î³èưÄä»ß¤Ë¤è¤ê»ö¼Â¾åÊĺ¿¤µ¤ì¤Þ¤·¤¿¡£
¡Ö·Ç¼¨ÈIJáµî¥í¥°¡×¤ËÊݴɤµ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿101¡Á110¥Ú¡¼¥¸¤ÎÅê¹Æ¤ò¸¡º÷¥µ¥¤¥È¤Î¥­¥ã¥Ã¥·¥å¤«¤é½¦¤¤½Ð¤¹ÊýË¡¤ò¾Ò²ð¤·¤Þ¤¹¡£
¤¿¤À¤·¥­¥ã¥Ã¥·¥å¤Ç¤¹¤«¤é¡¢¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤¬Êݸ¤µ¤ì¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
ʬ³ä¤·¤ÆÅê¹Æ¤µ¤ì¤¿¥×¥í¥°¥é¥à¤Ê¤É¤Ï¡¢ÉôʬŪ¤Ë¤·¤«½¦¤¨¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£
¤Þ¤¿¡¢¥­¥ã¥Ã¥·¥å¤ÏÆü¡¹¹¹¿·¤µ¤ì¤Þ¤¹¤Î¤Ç¤¢¤È1,2¥ö·î¤â¤·¤¿¤é¤Û¤È¤ó¤É¤Î¥Ú¡¼¥¸¤¬ºï½ü¤µ¤ì¤ë¤È»×¤¤¤Þ¤¹¡£
¿ôÆüÁ°¤ÈÈæ³Ó¤·¤Æ¤â¥Ò¥Ã¥È¿ô¤¬¸º¤Ã¤Æ¤¤¤Þ¤¹¡£
ɬÍפÊÅê¹Æ¤ÏÁá¤á¤Ë¥Ñ¥½¥³¥ó¤ËÊݸ¤·¤Æ¤ª¤¯¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£


1.¸¡º÷¥µ¥¤¥ÈGoogle¤Ç "½½¿ÊBASIC·Ç¼¨ÈÄ" ¤ò¸¡º÷¤·¤Þ¤¹¡£
  (;·×¤Ê¾ðÊó¤òÇÓ½ü¤¹¤ë¤¿¤á¥À¥Ö¥ë¥¯¥©¥Æ¡¼¥·¥ç¥ó(")¤Ç°Ï¤ß¤Þ¤·¤ç¤¦)

2.¸¡º÷·ë²Ì¤ÎºÇ¸å¤Ë¡¢
    ºÇ¤âŪ³Î¤Ê·ë²Ì¤òɽ¼¨¤¹¤ë¤¿¤á¤Ë¡¢¾å¤Î¡û¡û·ï¤È»÷¤¿¥Ú¡¼¥¸¤Ï½ü³°¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
    ¸¡º÷·ë²Ì¤ò¤¹¤Ù¤ÆÉ½¼¨¤¹¤ë¤Ë¤Ï¡¢¤³¤³¤«¤éºÆ¸¡º÷¤·¤Æ¤¯¤À¤µ¤¤¡£

  ¤È¤¢¤ë¤Î¤Ç¥¯¥ê¥Ã¥¯¤·¤Æ²¼¤µ¤¤¡£

3.¸¡º÷·ë²Ì¤Î¤¦¤Á¡¢URL¤¬ freebbs.around.ne.jp ¤Ç»Ï¤Þ¤ë¤â¤Î¤¬µì·Ç¼¨ÈĤÎÅê¹Æ¤Ç¤¹¡£
  /basic/ ¤Þ¤¿¤Ï &pg= ¤Î¸å¤í¤Ë¤¢¤ë¿ô»ú¤¬µì·Ç¼¨ÈĤΥڡ¼¥¸ÈÖ¹æ¤Ç¤¹¡£
  ¡ÊURL¤¬ www.geocities.jp ¤È¤¢¤ë¤Î¤Ï¡Ö·Ç¼¨ÈIJáµî¥í¥°¡×¤Ë¤¢¤ë¤Î¤Ç¤½¤Á¤é¤ò¤´Í÷¤¯¤À¤µ¤¤¡Ë

4.ÆâÍÆ¤ò¸«¤ë¤Ë¤Ïɬ¤º¥­¥ã¥Ã¥·¥å¤ò¥¯¥ê¥Ã¥¯¤·¤Æ²¼¤µ¤¤¡£
  ¡Ê¸«½Ð¤·¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤ÈÀܳ¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡Ë

5.²¼¤Î¸ì¶ç¤«¤é¤â¸¡º÷¤Ç¤­¤Þ¤¹¡£Â¾¤Î¸¡º÷¥µ¥¤¥È¤«¤é¤â¸¡º÷¤·¤Æ¤ß¤Æ²¼¤µ¤¤¡£
    "freebbs.around.ne.jp/article/b/basic/"

    "freebbs.around.ne.jp/kyview","basic"
 

Re: µì·Ç¼¨ÈĤÎÅê¹Æ¤ò¥­¥ã¥Ã¥·¥å¤«¤é¥µ¥ë¥Ù¡¼¥¸

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ10·î31Æü(¶â)18»þ20ʬ1ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.34[¸µµ­»ö¤Ø]

Ìܼ¡¤À¤±¤Ç¡¢Ä¾ÀܤËÃæÌ£¤Ï¸«¤ì¤Þ¤»¤ó¤¬¡¢¸ÄÊ̸¡º÷¤Î¥­¡¼¥ï¡¼¥É¤Ë¡£

Page : 101~110 Á´¥Ú¡¼¥¸¡Ê¥Ä¥ê¡¼É½¼¨¡Ë¤Î¥­¥ã¥Ã¥·¥å¤¬¡¢¤¢¤ê¤Þ¤·¤¿¡£
Live Search ¤Ç¡¢²¼¤Î¥­¡¼¥ï¡¼¥É

"½é¿´¼Ô´¿·Þ¡ª ½½¿ÊBASIC·Ç¼¨ÈÄ" "Page : 110"
  (
   )
"½é¿´¼Ô´¿·Þ¡ª ½½¿ÊBASIC·Ç¼¨ÈÄ" "Page : 101"

¡Ê¤¹¤Ç¤Ë¾Ãµî¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢Êݸ¤·¤Æ¤¢¤ê¤Þ¤¹¤Î¤Ç¸æÍ×˾¤¬¤¢¤ì¤Ð¥³¥³¤Ë·Ç¼¨¤·¤Þ¤¹¡£¡Ë
 

Re: µì·Ç¼¨ÈĤÎÅê¹Æ¤ò¥­¥ã¥Ã¥·¥å¤«¤é¥µ¥ë¥Ù¡¼¥¸

 Åê¹Æ¼Ô¡§ÇòÀС¡ÏÂÉ×  Åê¹ÆÆü¡§2008ǯ10·î31Æü(¶â)18»þ36ʬ7ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.35[¸µµ­»ö¤Ø]

¥á¡¼¥ëÅù¤Ç¥Ç¡¼¥¿¤ò¤¤¤¿¤À¤±¤ì¤Ð¡¤½½¿ÊBASIC²áµî¥í¥°¤ÎÊǤ˷Ǻܤ·¤Þ¤¹¡£
 

¥×¥í¥°¥é¥à¤Î¤ª´ê¤¤

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î 1Æü(ÅÚ)10»þ51ʬ27ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¥ª¥¤¥é¡¼Êý¿Ø¤¬£¶¼¡¤Ç¤Ï¹½À®ÉÔ²Äǽ¤Ç¤¢¤ë¤³¤È¤ò¡¢¤·¤é¤ß¤Ä¤Ö¤·¤Ë¤è¤ê
³Îǧ¤¹¤ë¤³¤È¤ò¤ä¤Ã¤Æ¤ß¤¿¤¤¤Î¤Ç¤¹¡£
¤É¤Ê¤¿¤«½½¿ÊBASIC¤Ë¤Æ¥×¥í¥°¥é¥à¤òÁȤó¤Ç¤¤¤¿¤À¤±¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡©
¥ª¥¤¥é¡¼Êý¿Ø¤È¤Ï5¼¡¤Ê¤é¡Ê£²¼¡¤È£¶¼¡°Ê³°¤Ï¹½À®²Äǽ¤È¾ÚÌÀ¤µ¤ì¤Æ¤¤¤ë¡£¡Ë
12 23 34 45 51
53 14 25 31 42
44 55 11 22 33
35 41 52 13 24
21 32 43 54 15
¤Î¤è¤¦¤Ë¡¢½½°Ì¤È°ì°Ì¤Ë¤¯¤ë¿ô¡Ê£±¡Á£µ¡Ë¤¬
³Æ¹Ô¡¢³ÆÎó¤Ë½ÅÊ£¤¹¤ë¤³¤È¤¬µ¯¤­¤Ê¤¤¡£
¡Ê¤¿¤À¤·£²£µ¸Ä¤Î¿ô»ú¤ÏÁ´¤Æ°Û¤Ê¤ë¤â¤Î¤È¤¹¤ë¡£¡Ë
¼«Ê¬¤Ç¤ä¤Ã¤Æ¤¤¤Æ¡¢¤Ê¤«¤Ê¤«¿ÊŸ¤·¤Ê¤¤¤â¤Î¤Ç¤¹¤Î¤Ç¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£
 

Re: ¥×¥í¥°¥é¥à¤Î¤ª´ê¤¤

 Åê¹Æ¼Ô¡§ÇòÀС¡ÏÂÉ×  Åê¹ÆÆü¡§2008ǯ11·î 1Æü(ÅÚ)20»þ58ʬ48ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.37[¸µµ­»ö¤Ø]

1¡Á6¤Î¿ô»ú¤Çºî¤é¤ì¤ë2·å¤Î¿ô¤ÏÁ´Éô¤Ç36¸Ä¤¢¤ê¤Þ¤¹¡£
¤Ê¤Î¤Ç¡¤¤³¤ì¤é36¸Ä¤Î¿ô¤Î½çÎ󤹤٤ƤˤĤ¤¤Æ¾ò·ï¤òËþ¤¿¤¹¤«¤É¤¦¤«Ä´¤Ù¤ì¤Ð¤è¤¤¤Ï¤º¤Ç¤¹¡£
¤¿¤À¤·¡¤
36!¡á371993326789901217467999448150835200000000 ¢â3.7E41
¤Ê¤Î¤Ç¡¤1ÉäË1Ëü·ï¥Æ¥¹¥È¤·¤¿¤È¤·¤Æ¤â3.7E37Éââ1.12E30ǯ¤«¤«¤ê¤Þ¤¹¡£
 

Re: ¥×¥í¥°¥é¥à¤Î¤ª´ê¤¤

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î 1Æü(ÅÚ)22»þ13ʬ32ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.38[¸µµ­»ö¤Ø]

ÇòÀС¡ÏÂÉפµ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£
/* £¶¼¡¤Î¥ª¥¤¥é¡¼Êý¿Ø¤¬Â¸ºß¤·¤Ê¤¤¤³¤È¤ò³Îǧ¤¹¤ë. */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define N 6

char lb[9408][N][N];
/* N=1¡Á7: 1,1,1,4,56,9408,16942080 N=7¤ÏÈ󸽼ÂŪ */

int lbs;
char wb[N][N];
int p, q;
char xidx[N], yidx[N];

void check1(int n);

void makelb(int x, int y)
{
int i, j;

for(i = 0; i < N; ++i){
for(j = 0; j < x; ++j)
if((char)i == wb[y][j])
break;
if(j >= x){
for(j = 0; j < y; ++j)
if((char)i == wb[j][x])
break;
if(j >= y){
wb[y][x] = (char)i;
if(y == N - 1 && x == N - 1){
memcpy(lb[lbs++], wb, sizeof(wb));
return;
}
if(y == N - 1)
makelb(x + 1, 1);
else
makelb(x, y + 1);
}
}
}
}

void echk(void)
{
static char fb[N][N];
int i, j;

memset(fb, 0, sizeof(fb));
for(i = 0; i < N; ++i)
for(j = 0; j < N; ++j){
if(fb[lb[p][i][j]][lb[q][yidx[i]][xidx[j]]])
return;
fb[lb[p][i][j]][lb[q][yidx[i]][xidx[j]]] = 1;
}
for(i = 0; i < N; ++i)
for(j = 0; j < N; ++j)
printf("%c%c%c", lb[p][i][j] + '0', lb[q][yidx[i]][xidx[j]] + '0',
j == N - 1 ? '\n' : ' ');
exit(0);
}

void check2(int n)
{
int i;
char c;

for(i = n; i < N; ++i){
c = yidx[i];
yidx[i] = yidx[n];
yidx[n] = c;
if(yidx[n] != xidx[n] && (n != 1 || yidx[n] < xidx[n]))
if(n == N - 1)
echk();
else
check1(n + 1);
c = yidx[i];
yidx[i] = yidx[n];
yidx[n] = c;
}
}

void check1(int n)
{
int i;
char c;

for(i = n; i < N; ++i){
c = xidx[i];
xidx[i] = xidx[n];
xidx[n] = c;
check2(n);
c = xidx[i];
xidx[i] = xidx[n];
xidx[n] = c;
}
}

int main(void)
{
int i, count;

for(i = 0; i < N; ++i)
wb[0][i] = wb[i][0] = (char)i;
lbs = 0;
makelb(1, 1);

count = 0;
for(p = 0; p < lbs; ++p)
for(q = p; q < lbs; ++q){
if(++count % 1000 == 0)
printf("%d\r", count);
for(i = 0; i < N; ++i)
xidx[i] = yidx[i] = (char)i;
check1(1);
}
printf("²ò¤Ï¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿.\n");
return 0;
}
¤¬£ã¸À¸ì¤Ç¤Î¥×¥í¥°¥é¥à¤Ç¤Î²ò·èË¡¡Ê£µ»þ´Ö¤Û¤É¤ÇOK¡ª¡Ë¤Ç¤¹¡£
¤³¤ì¤òBASIC¤Ç½ñ¤­Ä¾¤»¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£¡Ê¼«Ê¬¤ÏC¸À¸ì¤ËÉÔÊÙ¶¯¤Ê¤Î¤Ç¡Ë
 

Re: ¥×¥í¥°¥é¥à¤Î¤ª´ê¤¤

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î 2Æü(Æü)08»þ22ʬ9ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.38[¸µµ­»ö¤Ø]

ÁíÅö¤ê¤Î²¦Æ»¤È¤·¤Æ¥Ð¥Ã¥¯¥È¥é¥Ã¥¯Ë¡¤¬¤¢¤ê¤Þ¤¹¡£
¤¿¤À¤·¡¢ÉÔŬ°Ê¹ß¤Ï̵»ë¡Ê»Þ´¢¤ê¡Ë¤¹¤ë¤Î¤Ç¸¡¾Ú¤¹¤ë¾ì¹ç¤Î¿ô¤¬¤¤¤¯¤é¤«¸º¤ê¤Þ¤¹¡£

¤¦¡Á¤ó¡¢¸½¼ÂŪ¤Ç¤Ï¤Ê¤¤¡ª
·ÇºÜ¤µ¤ì¤¿£Ã¸À¸ì¤Î¤è¤¦¤Ëɸ½à·Á¤Î¥é¥Æ¥óÊý¿Ø¤«¤é¤Î¥¢¥×¥í¡¼¥Á¤ò¸¡Æ¤¤·¤Æ¤Û¤·¤¤¡£


LET N=5 !Â礭¤µ N¡ßN

PUBLIC NUMERIC ANSWER_COUNT !²òÅú¿ô
LET ANSWER_COUNT=0

PUBLIC STRING num$
LET num$="0123456789ABCDEF" !N¿ÊË¡¤Î¿ô»ú

DIM M(0 TO N-1,0 TO N-1) !Ê¿Êý¤ÎÊý¿Ø
MAT M=(-1)*CON

SET WINDOW -1,N+1,N+1,-1
DRAW grid

LET t0=TIME
CALL BackTrack(N,M,0) !º¸¾å¤«¤é
PRINT "·×»»»þ´Ö=";TIME-t0

END


EXTERNAL SUB BackTrack(N,M(,),p) !¡Êº¸¾å¤«¤é¤ÎÏ¢È֡˰ÌÃÖp¤òÄ´ºº¤¹¤ë
IF p<N*N THEN !¤¹¤Ù¤Æ¤¬Ëä¤Þ¤ë¤Þ¤Ç
   LET row=INT(p/N) !¹Ô¤ÈÎó¤Ë´¹»»¤¹¤ë
   LET col=MOD(p,N)

   FOR k=0 TO N*N-1 !£°¡ÁN*N-1ÈϰϤοô»ú¤ò
      CALL CheckRule(N,M, row,col,k, rc)!Ì·½â¤Ê¤¯ÃÖ¤±¤ì¤Ð
      IF rc=1 THEN
         SET TEXT COLOR 1
         PLOT TEXT ,AT col+0.5,row+0.5: STR$(k)

         LET M(row,col)=k !¤³¤³¤ËÃÖ¤¤¤Æ¤ß¤ë
         CALL BackTrack(N,M,p+1) !¼¡¤Ø
         LET M(row,col)=-1 !¼è¤ê¾Ã¤¹

         SET TEXT COLOR 0
         PLOT TEXT ,AT col+0.5,row+0.5: STR$(k)
      END IF
   NEXT k

ELSE !¤¹¤Ù¤ÆËä¤Þ¤Ã¤¿¤é
   LET ANSWER_COUNT=ANSWER_COUNT+1 !²òÅú¿ô
   PRINT ANSWER_COUNT

   FOR i=0 TO N-1
      FOR j=0 TO N-1
         LET t=M(i,j)
         LET k1=MOD(t,N)+2 !N¿ÊË¡¤Ç¤Î³Æ·å¤ÎÃÍ¡Êʸ»ú°ÌÃÖ¤ò²ÃÌ£¡Ë
         LET k2=INT(t/N)+2
         PRINT num$(k2:k2); num$(k1:k1); " "; !²ò¤òɽ¼¨¤¹¤ë
      NEXT j
      PRINT
   NEXT i
   PRINT

END IF
END SUB


EXTERNAL SUB CheckRule(N,M(,), row,col,K, rc) !Ʊ¤¸¿ô¤¬¤¢¤ë¤«¤É¤¦¤«³Îǧ¤¹¤ë
LET rc=0

FOR y=0 TO N-1 !Ëä¤Þ¤Ã¤Æ¤¤¤ëÈϰϤÇ̤»ÈÍѤοô»ú¤«
   FOR x=0 TO N-1
      IF y>=row AND x>=col THEN EXIT FOR
      IF M(y,x)=K THEN EXIT SUB !¸«¤Ä¤«¤Ã¤¿¤Î¤Ç¡¢£Î£Ç¡ª
   NEXT x
NEXT y

LET k1=MOD(K,N) !N¿ÊË¡¤Ç¤Î£±·åÌÜ
LET k2=INT(K/N) !N¿ÊË¡¤Ç¤Î£²·åÌÜ
FOR y=0 TO row-1 !Îó
   LET t=M(y,col)
   IF MOD(t,N)=k1 THEN EXIT SUB
   IF INT(t/N)=k2 THEN EXIT SUB
NEXT y

FOR x=0 TO col-1 !¹Ô
   LET t=M(row,x)
   IF MOD(t,N)=k1 THEN EXIT SUB
   IF INT(t/N)=k2 THEN EXIT SUB
NEXT x

LET rc=1 !¸«¤Ä¤«¤é¤Ê¤¤¤Î¤Ç¡¢£Ï£Ë¡ª
END SUB
 

Re: ¥×¥í¥°¥é¥à¤Î¤ª´ê¤¤

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î 2Æü(Æü)13»þ12ʬ5ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.40[¸µµ­»ö¤Ø]

»³ÃæÏµÁ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

¤Þ¤µ¤Ë¤³¤ó¤Ê¤³¤È¤¬¤Ç¤­¤ë¥×¥í¥°¥é¥à¤ò¹½À®¤·¤¿¤«¤Ã¤¿¤Î¤Ç¤¹¡£
¼«Ê¬¤À¤±¤Ç¤¢¤¯¤»¤¯Ï©Æ¬¤Ë̤¦¤è¤ê¡¢Ã¯¤«¤Ë¿Ò¤Í¤ë¤ÈÀ¤¤ÎÃæ
ºÍǽ¤¢¤ë¿Í¤¬É¬¤º¤¤¤ë¤â¤Î¤Ç¡¢¤³¤Á¤é¤¬£±¥ö·î¤«¤«¤Ã¤Æ¤â¤Ç¤­¤Ê¤¤
¤³¤È¤Ç¤â¡¢£±»þ´Ö¤â¤¢¤ì¤Ð¸«Ä̤»¤ë¿Í¤¬¤¤¤ë¤Ê¤ó¤Æ´¶Æ°¤Ç¤¹¡£
¥×¥í¥°¥é¥à¤ò¥³¥Ô¡¼¤µ¤»¤Æ¤â¤é¤¤¡¢Ãæ¿È¤Î»ÅÁȤߤòʬÀϤ·¤Æ¤¤¤­¤Þ¤¹¡£
¤É¤¦¤â¼«Ê¬¤Ï¥³¥ó¥Ô¥å¡¼¥¿¡¼¤Ë»È¤ï¤ì¤Æ¤¤¤ë´¶³Ð¤Ç¤¹¤¬¡¢
»³Ã椵¤ó¤Î¤è¤¦¤Ê¿Í¤Ï¤Þ¤µ¤Ë¥³¥ó¥Ô¥å¡¼¥¿¡¼¤ò¤³¤­»È¤Ã¤Æ¤¤¤ëÊ·°Ïµ¤¤Ç¤¹¡£
»ä¤â¡¢¥³¥ó¥Ô¥å¡¼¥¿¡¼¤ò»×¤¤¤Î¤Þ¤Þư¤«¤¹¤³¤È¤¬½ÐÍè¤ë¥×¥í¥°¥é¥à¹½À®¤Î
ÎϤò¸þ¾å¤Ç¤­¤ë¤è¤¦Àº¿Ê¤·¤Æ¤¤¤­¤¿¤¤¤Ç¤¹¡£
»³Ã椵¤ó¤Ï¼ñÌ£¤Ç¤ä¤é¤ì¤Æ¤­¤¿¤Î¤Ç¤¹¤«¡©
¤½¤ì¤È¤â¤ª»Å»ö¤ÇɬÍפǥޥ¹¥¿¡¼¤µ¤ì¤Æ¤­¤¿¤Î¤Ç¤¹¤«¡©
¤Ç¤­¤¿¤é¥³¥ó¥Ô¥å¡¼¥¿¡¼Îò¤ò¤ªÊ¹¤«¤»¤¯¤À¤µ¤¤¡£
 

Re: ¥×¥í¥°¥é¥à¤Î¤ª´ê¤¤

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î 2Æü(Æü)20»þ25ʬ34ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.41[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

»Å»ö¤È¼ñÌ£¤Ç¥³¥ó¥Ô¥å¡¼¥¿¤Ï°·¤Ã¤Æ¤¤¤Þ¤¹¡£
¤³¤ÎBASIC¤Ï¹â¹»¿ô³Ø¡¢¹©¶È¤òÂêºà¤Ë¥×¥í¥°¥é¥ß¥ó¥°¤ò³Ú¤·¤ó¤Ç¤¤¤Þ¤¹¡£


¡ü·ÇºÜ¤Î£Ã¸À¸ì¥×¥í¥°¥é¥à¤ÎÀâÌÀ
¥é¥Æ¥óÊý¿Ø¤«¤é¤Î¥¢¥×¥í¡¼¥Á
ºî¶È¼ê½ç
Step1. ɸ½à·Á¥é¥Æ¥óÊý¿Ø¤òµá¤á¤ë¡£
¡¡Îã. £³¡ß£³¤Î¾ì¹ç
¡¡¡¡1 2 3
¡¡¡¡2 3 1
¡¡¡¡3 1 2
Step2. £²¤Ä¤Î¥é¥Æ¥óÊý¿Ø¤ÎÁȹ礻¤ë¡£
¡¡É¸½à·Á¥é¥Æ¥óÊý¿Ø¤«¤éÂоΡ¢²óž¤ò´Þ¤ó¤Ç¤¹¤Ù¤Æ¤Î¥é¥Æ¥óÊý¿Ø¤òµá¤á¤ë¡£
¡¡¥ª¥¤¥é¡¼Êý¿Ø¤¬À®Î©¤¹¤ë¤â¤Î¤òºÎÍѤ¹¤ë¡£
¡¡Îã. £³¡ß£³¤Î¾ì¹ç
¡¡¡¡1 2 3¡¡¡¡3 1 2¡¡¡¡13 21 32
¡¡¡¡2 3 1¡¡¡¡2 3 1¡¡¡¡22 33 11
¡¡¡¡3 1 2¡¡¡¡1 2 3¡¡¡¡31 12 23
¡¡¥ª¥¤¥é¡¼Êý¿Ø¤¬À®Î©¤¹¤ë¤Î¤Ç¡¢ºÎÍÑ¡£

¤¿¤È¤¨¤Ð¡¢£³¡ß£³¤Î¾ì¹ç¤Ïɸ½à·Á¤¬£±Ä̤ꡢ¤½¤ÎŸ³«¤¬£±£²Ä̤ꤢ¤ë¤«¤é
1£È2¡ß£±£²Ä̤ê¤ò¸¡¾Ú¤¹¤ëɬÍפ¬¤¢¤ë¡£

¡¡N=1¡¢1=1!¡ß0!¡ß1
¡¡N=2¡¢2=2!¡ß1!¡ß1
¡¡N=3¡¢12=3!¡ß2!¡ß1
¡¡N=4¡¢576=4!¡ß3!¡ß4
¡¡N=5¡¢161,280=5!¡ß4!¡ß56
¡¡N=6¡¢812,851,200=6!¡ß5!¡ß9,408
¡¡N=7¡¢6,147,941,990,400=7!¡ß6!¡ß16,942,080

¡¡¢¨É¸½à·Á¥é¥Æ¥óÊý¿Ø¡Ê£±¹ÔÌܤȣ±ÎóÌܤ¬À°Î󤷤Ƥ¤¤ë¤â¤Î¡Ë¤Ï
¡¡¡¡N=1,2,3,4,5,6,7,¡Ä¤Ê¤é¡¢1,1,1,4,56,9408,16942080,¡Ä¤È¤Ê¤ë¡£

Êý¿Ø¤¬Â礭¤¯¤Ê¤ì¤Ð¤½¤ì¤Ëȼ¤¤ÁýÂ礷¤ÆÍÆÎÌ¡¢·×»»Î̤¬Áý¤¨¤ë¡£


¥¤¥ó¥¿¥×¥ê¥¿·Ï¸À¸ìBASIC¤Ç½èÍý¤ò¹Í¤¨¤ë¤È¡¢
ÍÆÎ̤ÎÌäÂ꤫¤é·ÇºÜ¤µ¤ì¤¿£Ã¸À¸ì¤Î¼ê½ç¤Î¤è¤¦¤ËÁȹ礻¤´¤È¤Ëɸ½à·Á¥é¥Æ¥óÊý¿Ø¤òŸ³«¤·¤¿¤¤¡£
¤Ç¤â¡¢¸¡¾Ú¤¹¤ë¡Ö¾ì¹ç¤Î¿ô¡×¤¬Â¿¤¤¤¿¤á¡¢½èÍý»þ´Ö¤ÎÌäÂ꤫¤é¡¢¥é¥Æ¥óÊý¿Ø¤ò¤½¤Î¤Þ¤Þµ­Ï¿¤·¤¿¤¤¡£

¤³¤ì¤ÏǺ¤Þ¤·¤¤ÌäÂê¤Ç¤¢¤ë¡£



!¡Êɸ½à·Á¡Ë¥é¥Æ¥óÊý¿Ø¤òµá¤á¤ë

LET N=5 !Â礭¤µ N¡ßN

PUBLIC NUMERIC CntOfLM !¤½¤Î¿ô
LET CntOfLM=0

PUBLIC STRING num$
LET num$="0123456789ABCDEF" !N¿ÊË¡¤Î¿ô»ú

DIM M(0 TO N*N-1) !Ê¿Êý¤ÎÊý¿Ø
MAT M=(-1)*CON

FOR i=0 TO N-1 !ɸ½à·Á¤Î¾ì¹ç¡¡¢¨£±¹ÔÌܤȣ±ÎóÌܤ¬À°Î󤷤Ƥ¤¤ë
   LET M(i*N+0)=i
   LET M(0*N+i)=i
NEXT i

LET t0=TIME
CALL BackTrack(N,M,0) !º¸¾å¤«¤é
PRINT "·×»»»þ´Ö=";TIME-t0

END


EXTERNAL SUB BackTrack(N,M(),p) !¡Êº¸¾å¤«¤é¤ÎÏ¢È֡˰ÌÃÖp¤òÄ´ºº¤¹¤ë
IF p<N*N THEN !¤¹¤Ù¤Æ¤¬Ëä¤Þ¤ë¤Þ¤Ç
   IF M(p)>=0 THEN !´û¤ËÃÖ¤¤¤Æ¤¢¤ì¤Ð
      CALL BackTrack(N,M,p+1) !¼¡¤Ø
   ELSE
      FOR k=0 TO N-1 !¿ô»ú£°¡ÁN-1¤ò
         CALL CheckRule(N,M, p,k, rc)!Ì·½â¤Ê¤¯ÃÖ¤±¤ì¤Ð
         IF rc=1 THEN
            LET M(p)=k !¤³¤³¤ËÃÖ¤¤¤Æ¤ß¤ë
            CALL BackTrack(N,M,p+1) !¼¡¤Ø
            LET M(p)=-1 !¼è¤ê¾Ã¤¹
         END IF
      NEXT k
   END IF

ELSE !¤¹¤Ù¤ÆËä¤Þ¤Ã¤¿¤é
   LET CntOfLM=CntOfLM+1 !²òÅú¿ô
   PRINT CntOfLM

   FOR i=0 TO N-1
      FOR j=0 TO N-1
         LET t=M(i*N+j)+1
         PRINT num$(t+1:t+1); " "; !²ò¤òɽ¼¨¤¹¤ë
      NEXT j
      PRINT
   NEXT i
   PRINT

END IF
END SUB


EXTERNAL SUB CheckRule(N,M(), p,K, rc) !Ʊ¤¸¿ô¤¬¤¢¤ë¤«¤É¤¦¤«³Îǧ¤¹¤ë
LET rc=0

LET row=INT(p/N) !¹Ô¤ÈÎó¤Ë´¹»»¤¹¤ë
LET col=MOD(p,N)

FOR i=0 TO row-1 !Îó
   IF M(i*N+col)=K THEN EXIT SUB
NEXT i

FOR i=0 TO col-1 !¹Ô
   IF M(row*N+i)=K THEN EXIT SUB
NEXT i

LET rc=1 !¸«¤Ä¤«¤é¤Ê¤¤¤Î¤Ç¡¢£Ï£Ë¡ª
END SUB
 

»³Ã椵¤ó¤Ø¤ªÎé¤È´¶ÁÛ

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î 2Æü(Æü)23»þ33ʬ46ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ºÆÅ٤ηǺܤ¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
Îã¤Î¿ô»ú¡§£±¡¤£±¡¤£±¡¤£´¡¤£µ£¶¡¤£¹£´£°£¸¡¦¡¦¡¦¤È¤Ï¤É¤¦¤ä¤Ã¤Æ·è¤Þ¤Ã¤Æ¤¤¤ë¤ó¤À¤í¤¦¡©
¤Ê¤Ë¤«¸ø¼°¤Ç¤â¤¢¤ë¤Î¤«¤·¤é¡¢¤Èµ¿Ìä¤Ë»×¤Ã¤Æ¤¤¤Þ¤·¤¿¤¬¤Ä¤Þ¤ê¤³¤ì¤Ï¼ÂºÝ¤Ë¹½À®
¤·¤¿¤È¤­¤Ë¡¢¤³¤Î¿ô¤·¤«ºî¤ì¤Ê¤¤¤È¤¤¤¦¤â¤Î¤Ê¤Î¤Ç¤¹¤Í¡£
¤³¤ì¤Ï·×»»¤«¤éµá¤Þ¤ëÃͤǤϤʤ¤¤Ç¤¹¤è¤Í¡£
¤³¤Î¥×¥í¥°¥é¥à¤Ç¤Ï¤Ã¤­¤ê¤È¤½¤Î¿ô¤Î°ÕÌ£¤¹¤ë¤â¤Î¤òÍý²ò¤Ç¤­¤Þ¤·¤¿¡£
¡¡N=1¡¢1=1!¡ß0!¡ß1
¡¡N=2¡¢2=2!¡ß1!¡ß1
¡¡N=3¡¢12=3!¡ß2!¡ß1
¡¡N=4¡¢576=4!¡ß3!¡ß4
¡¡N=5¡¢161,280=5!¡ß4!¡ß56
¡¡N=6¡¢812,851,200=6!¡ß5!¡ß9,408
¡¡N=7¡¢6,147,941,990,400=7!¡ß6!¡ß16,942,080
¤Î·×»»¤«¤éN=6¤Ç¤Ï£¸²¯°Ê¾å¤ÎÁȤ߹ç¤ï¤»¤òÄ´ºº¤»¤Í¤Ð¤Ê¤é¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ë
¤Ê¤ë¤ï¤±¤Ç¤¹¤«¡©
Ëܤˤè¤ë¤È¡¢£¶¼¡¤Î¥ª¥¤¥é¡¼Êý¿Ø¤¬ÉÔ²Äǽ¤Ç¤¢¤ë¤³¤È¤òÍýÏÀ¤Ç¤Ï¤Ê¤¯¡¢¾ì¹çÎóµó¤Î
ÊýË¡¤Ç¾ÚÌÀ¤·¤¿¡Ê£±£¹£°£°Ç¯º¢G.TARRY¤È¤¤¤¦¿Íʪ¡Ë¤È½ñ¤«¤ì¤Æ¤¤¤Þ¤·¤¿¡£
Åö»þ¹â®¥³¥ó¥Ô¥å¡¼¥¿¡¼¤â¤Ê¤¤»þÂå¤Ë¤³¤ó¤Ê¤³¤È¤¬¤Ç¤­¤ë¤ó¤Ç¤·¤ç¤¦¤«¡©
¤â¤·¤³¤ó¤Ê¤Ë²ÄǽÀ­¤¬ÂçÎ̤ËȯÀ¸¤¹¤ëÌäÂê¤Ë·×»»µ¡Ìµ¤·¤Ë·èÃå¤ò¤Ä¤±¤¿¤È¤·¤¿¤é
¤½¤Îº¬À­¤Ï¤È¤ó¤Ç¤â¤Ê¤¤¤â¤Î¤À¤È¶Ãس¤·¤Þ¤¹¡£
Àè¿Í¤ÎÃηä伹ǰ¤ò³À´Ö¸«¤¿´¶³´¤Ç¤¹¡£
¤½¤ì¤Ë¤·¤Æ¤â¥ª¥¤¥é¡¼¤È¤¤¤¦¿Íʪ¤Ï¡¢¤µ¤é¤Ë²øÊª¤Ë¸«¤¨¤Þ¤¹¡£
 

Re: »³Ã椵¤ó¤Ø¤ªÎé¤È´¶ÁÛ

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î 4Æü(²Ð)13»þ38ʬ41ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.43[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

C¸À¸ìÈǤò°Ü¿¢¤·¤Æ¤ß¤Þ¤·¤¿¡£¤¿¤À¤·¡¢Ä¾Ìõ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
Á´²òµá¤á¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢C¸À¸ìÈǤΤ褦¤ËºÇ½é¤Î²ò¤Î¤ß¤Ï¡¢
¥×¥í¥°¥é¥à¤ÎºÇ¸å¤ÎSTOPʸ¤òÍ­¸ú¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£

N=5¤¬¤¹¤Ç¤Ë¸·¤·¤¤¤è¤¦¤Ç¤¹¡£100ÇÜ!?¤°¤é¤¤¤Î®¤µ¤Îº¹¤ò´¶¤¸¤Þ¤¹¡£
Á°²ó¾Ò²ð¤·¤¿¥Ð¥Ã¥¯¥È¥é¥Ã¥¯Ë¡¤è¤ê¤ÏÎɹ¥¤Ç¤¹¡£


!¥ª¥¤¥é¡¼Êý¿Ø¤òµá¤á¤ë

LET N=5 !Â礭¤µ N¡ßN

!¢¨N=1,2,3,4,5,6,7,¡Ä¤Ê¤é¡¢1,1,1,4,56,9408,16942080,¡Ä¤È¤Ê¤ë¡£
PUBLIC NUMERIC LM(9408,0 TO 35) !ɸ½à·Á¥é¥Æ¥óÊý¿Ø N=6

PUBLIC NUMERIC CntOfLM !¤½¤Î¿ô
LET CntOfLM=0

DIM M(0 TO N*N-1) !Ê¿Êý¤ÎÊý¿Ø
MAT M=(-1)*CON
FOR i=0 TO N-1 !ɸ½à·Á¡¡¢¨£±¹ÔÌܤȣ±ÎóÌܤ¬À°Î󤷤Ƥ¤¤ë
   LET M(i*N+0)=i
   LET M(0*N+i)=i
NEXT i

LET t0=TIME
CALL BackTrack(N,M,0) !º¸¾å¤«¤é
PRINT CntOfLM
PRINT "·×»»»þ´Ö=";TIME-t0



LET t0=TIME

PUBLIC NUMERIC ANSWER_COUNT !²òÅú¿ô
LET ANSWER_COUNT=0

LET cnt=0 !¸¡¾Ú²ó¿ô
LET cc=comb(CntOfLM+2-1,2)

DIM A(0 TO N-1,0 TO N-1),B(0 TO N-1,0 TO N-1)
FOR i=1 TO CntOfLM !ɸ½à·ÁA¤Èɸ½à·ÁB¤ÎŸ³«¤È¤Î½ÅÊ£Áȹ礻 56H2
   FOR y=0 TO N-1 !A¤ò»ØÄꤹ¤ë
      FOR x=0 TO N-1
         LET A(y,x)=LM(i,y*N+x)
      NEXT x
   NEXT y

   FOR j=i TO CntOfLM

      LET cnt=cnt+1 !¿ÊĽ
      PRINT cnt;"/";cc

      FOR y=0 TO N-1 !B¤ò»ØÄꤹ¤ë
         FOR x=0 TO N-1
            LET B(y,x)=LM(j,y*N+x)
         NEXT x
      NEXT y

      DIM R(N) !½çÎó¤Î½é´üÃÍ
      FOR k=1 TO N
         LET R(k)=k
      NEXT k
      CALL RPerm(N,A,B, R,2) !¤Þ¤º¹Ô½ç¤ò»ØÄꤹ¤ë¡¡¢¨£±¹ÔÌܤϸÇÄê
   NEXT j
NEXT i
IF ANSWER_COUNT=0 THEN PRINT "²ò¤Ê¤·"

PRINT "·×»»»þ´Ö=";TIME-t0


END


EXTERNAL SUB BackTrack(N,M(),p) !¡Êº¸¾å¤«¤é¤ÎÏ¢È֡˰ÌÃÖp¤òÄ´ºº¤¹¤ë
IF p<N*N THEN !¤¹¤Ù¤Æ¤¬Ëä¤Þ¤ë¤Þ¤Ç
   IF M(p)>=0 THEN !´û¤ËÃÖ¤¤¤Æ¤¢¤ì¤Ð
      CALL BackTrack(N,M,p+1) !¼¡¤Ø
   ELSE
      FOR k=0 TO N-1 !¿ô»ú£°¡ÁN-1¤ò
         CALL CheckRule(N,M, p,k, rc)!Ì·½â¤Ê¤¯ÃÖ¤±¤ì¤Ð
         IF rc=1 THEN
            LET M(p)=k !¤³¤³¤ËÃÖ¤¤¤Æ¤ß¤ë
            CALL BackTrack(N,M,p+1) !¼¡¤Ø
            LET M(p)=-1 !¼è¤ê¾Ã¤¹
         END IF
      NEXT k
   END IF

ELSE !¤¹¤Ù¤ÆËä¤Þ¤Ã¤¿¤é
   LET CntOfLM=CntOfLM+1 !¿ô¤ÈÇÛÃÖ¤òµ­Ï¿¤¹¤ë
   FOR i=0 TO N*N-1
      LET LM(CntOfLM,i)=M(i)
   NEXT i

END IF
END SUB


EXTERNAL SUB CheckRule(N,M(), p,K, rc) !Ʊ¤¸¿ô¤¬¤¢¤ë¤«¤É¤¦¤«³Îǧ¤¹¤ë
LET rc=0

LET row=INT(p/N) !¹Ô¤ÈÎó¤Ë´¹»»¤¹¤ë
LET col=MOD(p,N)

FOR i=0 TO row-1 !Îó
   IF M(i*N+col)=K THEN EXIT SUB
NEXT i

FOR i=0 TO col-1 !¹Ô
   IF M(row*N+i)=K THEN EXIT SUB
NEXT i

LET rc=1 !¸«¤Ä¤«¤é¤Ê¤¤¤Î¤Ç¡¢£Ï£Ë¡ª
END SUB


EXTERNAL SUB RPerm(N,A(,),B(,), P(),i) !½çÎó¤òÀ¸À®¤·¤Æ¹Ô¤ÎʤÓÂØ¤¨¡¡¢¨¼­½ñ¼°½ç¤Ç¤Ï¤Ê¤¤
IF I<N THEN
   FOR j=i TO N
      LET t=P(i) !iÈÖÌܤÈjÈÖÌܤò¸ò´¹¤¹¤ë
      LET P(i)=P(j)
      LET P(j)=t
      CALL RPerm(N,A,B, P,i+1) !ºÆµ¢¸Æ½Ð¤·
      LET t=P(i) !¸µ¤ËÌ᤹
      LET P(i)=P(j)
      LET P(j)=t
   NEXT j

ELSE !´°Î»¤Ê¤é
   DIM C(N) !½çÎó¤Î½é´üÃÍ
   FOR j=1 TO N
      LET C(j)=j
   NEXT j
   CALL CPerm(N,A,B,P,C,1) !º£ÅÙ¤ÏÎó½ç¤ò»ØÄꤹ¤ë

END IF
END SUB


EXTERNAL SUB CPerm(N,A(,),B(,),R(), P(),i) !½çÎó¤òÀ¸À®¤·¤ÆÎó¤ÎʤÓÂØ¤¨¡¡¢¨¼­½ñ¼°½ç¤Ç¤Ï¤Ê¤¤
IF I<N THEN
   FOR j=i TO N
      LET t=P(i) !iÈÖÌܤÈjÈÖÌܤò¸ò´¹¤¹¤ë
      LET P(i)=P(j)
      LET P(j)=t
      CALL CPerm(N,A,B,R, P,i+1) !ºÆµ¢¸Æ½Ð¤·
      LET t=P(i) !¸µ¤ËÌ᤹
      LET P(i)=P(j)
      LET P(j)=t
   NEXT j

ELSE !¥ª¥¤¥é¡¼Êý¿Ø¤ò¤Ä¤¯¤Ã¤Æ¸¡¾Ú¤¹¤ë

   DIM EM(N,N) !»ÈÍѤǤ­¤ë¿ô»ú¤ÎÁȤȻÈÍѾõ¶·
   MAT EM=ZER

   !¢¨¥é¥Æ¥óÊý¿Ø¤ÎÁȹ礻¤Ê¤Î¤Ç¡¢¹Ô¤ÈÎó¤Î½ÅÊ£¤Ï¤Ê¤¤¡£
   FOR i=0 TO N-1 !Êý¿ØÁ´ÂÎ¤ÇÆ±¤¸¿ô¤¬¤¢¤ë¤«¤É¤¦¤«³Îǧ¤¹¤ë
      FOR j=0 TO N-1
         LET rr=A(i,j)+1 !¥ª¥¤¥é¡¼Êý¿Ø¤ò¤Ä¤¯¤ë
         LET cc=B(R(i+1)-1,P(j+1)-1)+1
         IF EM(rr,cc)=1 THEN EXIT SUB !¤½¤Î¿ô»ú¤Ï»ÈÍÑÃæ¤Ê¤Î¤Ç£Î£Ç¡ª
         LET EM(rr,cc)=1
      NEXT j
   NEXT i


   LET ANSWER_COUNT=ANSWER_COUNT+1 !²òÅú¿ô
   PRINT ANSWER_COUNT

   FOR i=0 TO N-1 !Åú¤¨¤òɽ¼¨¤¹¤ë
      FOR j=0 TO N-1
         PRINT (A(i,j)+1)*10 + B(R(i+1)-1,P(j+1)-1)+1 ;
      NEXT j
      PRINT
   NEXT i

   !!!STOP !ºÇ½é¤Ë¸«¤Ä¤±¤¿Åú¤¨

END IF
END SUB
 

Re: ¥×¥í¥°¥é¥à¤Î¤ª´ê¤¤

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ11·î 4Æü(²Ð)14»þ32ʬ41ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.39[¸µµ­»ö¤Ø]

!·Ç¼¨¤Î£Ã¸À¸ì¤Î¥ê¥¹¥È¤ò¡¢½½¿ÊBASICÈǤ˽ñ¤­Ä¾¤·¤¿¤â¤Î¤Ç¡¢²¿¤âÊѤï¤Ã¤Æ¤¤¤Þ¤»¤ó¡£
!Á´¤¯Æ±¤¸¤â¤Î¤À¤È¡¢»×¤¤¤Þ¤¹¡£°ã¤Ã¤Æ¤¤¤¿¤é¸æÌȤʤµ¤¤¡£

!check1¡¢check2 ¤Î¸òÈÖ¤¹¤ëºÆµ¢¥³¡¼¥ë¤Ï¡¢¸«¤º¤é¤¤¤Î¤Ç¡¢
!check1 £±ËܤÎÃæ¤ËÅý¹ç¤·¤¿¤¬¡¢ÆâÍÆ¤ÏƱ¤¸¤Ç¤¹¡£

OPTION BASE 0
LET N= 3 !¡¡2,3,4,5,6
DIM lb(9408,N,N) !¡¡N=1¡Á7: 1,1,1,4,56,9408,16942080 N=7¤ÏÈ󸽼ÂŪ
DIM wb(N,N), xidx(N), yidx(N), fb(N,N)
!
CALL main

SUB makelb(x, y)
   local i,j
   FOR i=0 TO N-1
      FOR j=0 TO x-1
         IF i=wb(y,j) THEN EXIT FOR ! break;
      NEXT j
      IF j>x-1 THEN
         FOR j=0 TO y-1
            IF i=wb(j,x) THEN EXIT FOR ! break;
         NEXT j
         IF j>y-1 THEN
            LET wb(y,x)= i
            IF y=N-1 AND x=N-1 THEN
            !----memcpy(lb[lbs++], wb, sizeof(wb));
               FOR a=0 TO N
                  FOR b=0 TO N
                     LET lb(lbs,a,b)=wb(a,b)
                  NEXT b
               NEXT a
               LET lbs=lbs+1
               !---------------
               EXIT SUB ! return;
            END IF
            IF y=N-1 THEN CALL makelb(x+1, 1) ELSE CALL makelb((x),y+1)
         END IF
      END IF
   NEXT i
END SUB


SUB echk
   local i,j
   MAT fb=ZER ! memset(fb, 0, sizeof(fb));
   FOR i= 0 TO N-1
      FOR j= 0 TO N-1
         IF fb( lb(p,i,j), lb(q,yidx(i),xidx(j)) )>0 THEN EXIT SUB ! return;
         LET fb( lb(p,i,j), lb(q,yidx(i),xidx(j)) )=1
      NEXT j
   NEXT i
   FOR i= 0 TO N-1
      FOR j= 0 TO N-1
         PRINT USING "%#": lb(p,i,j)+1, lb(q,yidx(i),xidx(j))+1;
         IF j=N-1 THEN PRINT ELSE PRINT " ";
      NEXT j
   NEXT i
   STOP ! exit(0);
END SUB


SUB check1(n_)
   local i
   FOR i=n_ TO N-1
      swap xidx(i),xidx(n_)
      !-----check2(n_)
      local i_
      FOR i_= n_ TO N-1
         swap yidx(i_),yidx(n_)
         IF ( yidx(n_)<>xidx(n_)) AND (n_<>1 OR yidx(n_)< xidx(n_) ) THEN
            IF n_=N-1 THEN CALL echk ELSE CALL check1(n_+1)
         END IF
         swap yidx(i_),yidx(n_)
      NEXT i_
      !------
      swap xidx(i),xidx(n_)
   NEXT i
END SUB


SUB main
   FOR i= 0 TO N-1
      LET wb(i,0)= i
      LET wb(0,i)= i
   NEXT i
   LET lbs = 0
   PRINT "N=";N; ! Äɲä·¤¿É½¼¨
   CALL makelb(1,1)
   PRINT "lbs=";lbs !ÄɲÃ
   MAT PRINT wb !¡¡¡¡ÄɲÃ
   LET count= 0
   FOR p=0 TO lbs-1
      FOR q=p TO lbs-1
         LET count=count+1
         IF MOD(count,1000)=0 THEN PRINT count
         FOR i= 0 TO N-1
            LET yidx(i)= i
            LET xidx(i)= i
         NEXT i
         CALL check1(1)
      NEXT q
   NEXT p
   PRINT "²ò¤Ï¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿."
END SUB

END

!Ãí°Õ¡§¤³¤Î¥ê¥¹¥È¤Ï¡¢for~next¤ÎÃæ¤«¤éºÆµ¢¥³¡¼¥ë¤ò¤·¤Æ¤¤¤ë¤Î¤Ç¡¢½½¿ÊBASIC¤Î
!¡¡¡¡¡¡Ver7.2.0 °Ê¹ß ¤Î¥Ð¡¼¥¸¥ç¥ó¤¬É¬ÍפǤ¹¡£
 

Re: ¥×¥í¥°¥é¥à¤Î¤ª´ê¤¤

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î 4Æü(²Ð)16»þ27ʬ16ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.45[¸µµ­»ö¤Ø]

SECOND¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

SECOND¤µ¤ó¡¢¤ªµ×¤·¤Ö¤ê¤Ç¤¹¡£

£Ã¸À¸ìÈǤΥ³¡¼¥É¤ò¤ß¤Æ»×¤Ã¤¿¤Î¤Ç¤¹¤¬

¡¦N=1¤¬µá¤Þ¤é¤Ê¤¤
¡¦½çÎó¤ÎÀ¸À®¤¬¤ª¤«¤·¤¤¡Ê¹Ô¤äÎó¤Î¸ò´¹¤¬ÉÔ½½Ê¬¡Ë
¡¡¢ªÉ¸½à·Á¤«¤é¤¹¤Ù¤ÆÅ¸³«¤µ¤ì¤Æ¤¤¤Ê¤¤
¡¡¢ªexit¤Î²Õ½ê¤ò¥³¥á¥ó¥È¡Ê̵¸ú¡Ë¤Ë¤·¤Æ¤âÁ´²ò¤¬ÆÀ¤é¤ì¤Ê¤¤
¡¡¢ªN=6¤Ç¸¡¾Ú¤·¤Æ¤¤¤Ê¤¤²Õ½ê¤¬¤¢¤ë
¤Îµ¿Ì䤬¤¢¤ê¤Þ¤¹¡£

GAI¤µ¤ó¤ò·Ðͳ¤·¤Æ£Ã¸À¸ìÈǤκî¼Ô¤Ëʹ¤¯¤Î¤¬¶Ú¤È»×¤¤¤Þ¤¹¤¬¡¢
SECOND¤µ¤ó¤Ï¡¢¤É¤Î¤è¤¦¤Ë´¶¤¸¤Æ¤¤¤Þ¤¹¤«¡©
 

Re: ¥×¥í¥°¥é¥à¤Î¤ª´ê¤¤

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ11·î 4Æü(²Ð)17»þ00ʬ31ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.46[¸µµ­»ö¤Ø]

»³ÃæÏµÁ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

Á´¤¯Æ±´¶¤Ç¤¹¡£¤½¤ÎÍͤˤ·¤ÆÄº¤±¤ì¤Ð¤È¡¢»×¤¤¤Þ¤¹¡£
 

¥«¡¼¥É¥Þ¥¸¥Ã¥¯¤Ç½Ð²ñ¤Ã¤¿¸½¾Ý

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î 4Æü(²Ð)22»þ52ʬ56ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¤ªÆó¿Í¤Î¶¯ÎÏ¤Ê¥×¥í¥°¥é¥Þ¡¼¤Î½Ð¸½¤Ë¤è¤ê¡¢C¸À¸ì¤ÈBASIC¸À¸ì¤È¤ÎÈæ³Ó¤ò¤·¤Ê¤¬¤é¤È¤Ã¤Æ¤â¤¤¤¤ÊÙ¶¯¤¬¤Ç¤­¤Æ¤¤¤Þ¤¹¡£
C¤Î¥¹¥Ô¡¼¥É¤ÏÌ¥ÎÏŪ¤Ç¤¹¤¬¡¢¤É¤¦¤âÌó«»ö¤¬Â¿¤¯¤ÆÆëÀ÷¤ßÆñ¤¤¤Î¤Ç¤¹¡£
¤½¤ÎÅÀBASIC¤Îµ­½Ò¤Ç¤Ï²¿¤ò¤·¤¿¤¤¤Î¤«¤¬C¤Ë³Ó¤Ù¤ë¤ÈÆÉ¤ß¼è¤ê°×¤¤µ¤¤¬¤·¤Þ¤¹¡£
C¸À¸ì¤Ç¥×¥í¥°¥é¥à¤ò½ñ¤¤¤Æ¤¤¤¿¤À¤¤¤¿Êý¤Ë¤Ï¸å¤Û¤É¼ÁÌä¤ò¤·¤Æ¤ª¤­¤Þ¤¹¡£
ÏäÏÊѤï¤ê¤Þ¤¹¤¬¡¦¡¦¡¦
¤³¤Î¾ì¤ò¼Ú¤ê¤ÆÆüº¢µ¿Ìä¤Ë´¶¤¸¤Æ¤¤¤ë¤³¤È¤ò²òÀϤ·¤Æ¤Û¤·¤¤¤ó¤Ç¤¹¤¬¼Â¤Ï¼«Ê¬¤Ï¥«¡¼¥É¥Þ¥¸¥Ã¥¯¤¬Âç¹¥¤­¤Ç¤½¤ì¤Ë´ØÏ¢¤·¤¿ËܤòÆÉ¤ó¤Ç¤¤¤Æ½Ð²ñ¤Ã¤¿µ­½Ò¤Ç¤·¤Æ¡¢¼¡¤Î¤è¤¦¤Ê»ö¤¬µ¯¤­¤Þ¤¹¡£
¤¼¤Ò¡¢¥È¥é¥ó¥×¤Ç³Îǧ¤ò¡ª
¥Ï¡¼¥È¤È¥¹¥Ú¡¼¥É¤ò½ç¤ËA¡¢£²¡¢£³¡¦¡¦¡¦Q¤È½Å¤Í¤ë¡£
¥Ï¡¼¥È¥Ñ¥±¥Ã¥È¤Ï¥Æ¡¼¥Ö¥ë¤Ë΢¸þ¤­¡ÊA¤¬¾å¡Ë¤ÇÃÖ¤¯¡£
´ÑµÒ¤Ë1¡Á£±£²¤Þ¤Ç¤Î¹¥¤­¤Ê¿ô»ú¤ò·è¤á¼ê¤â¤é¤¦¡£
¥¹¥Ú¡¼¥É¥Ñ¥±¥Ã¥È¤ò¼ê¤Ë΢¸þ¤­¡ÊA¤¬¾å¡Ë¤Ë»ý¤Á¡¢¾å¤«¤éɽ¸þ¤­¤Ë¤·¤Ê¤¬¤é¥Æ¡¼¥Ö¥ë¤Øº¸¡¢±¦¡¢º¸¡¢¡¦¡¦¡¦¤È£²¤Ä¤Î»³¤òºî¤ê¤Ê¤¬¤é¥«¡¼¥É¤ò½Å¤Í¤Æ¤¤¤¯¡£
µÒ¤¬·è¤á¤¿¿ô»ú¤ÎËç¿ôÌܤλþ¡¢¤³¤Î¥«¡¼¥É¤Ï¥Æ¡¼¥Ö¥ë¤ÎÊ̤ξì½ê¤Ë¼Î¤Æ¤é¤ì¤¿»¥¤È¤·¤Æ¡¢É½¸þ¤­¤Î¤Þ¤Þ½ü¤¯¡£¤½¤ÎÂå¤ï¤ê¤È¤·¤Æ¡¢¥Ï¡¼¥È¥Ñ¥±¥Ã¥È¤Î°ìÈÖ¾å¤Î¥«¡¼¥É¤ò¤³¤Î¥«¡¼¥É¤ÎÃÖ¤¯¤Ù¤­¤À¤Ã¤¿»³¤ØÉ½¸þ¤­¤Ë¤Î¤»¤ë¡£¸å³¤±¤Æ¤¤¤­¼ê»ý¤Á¤Î¥«¡¼¥É¤¬Ìµ¤¯¤Ê¤ë¤Þ¤Ç¿Ê¤à¡£
º¸¤Î»³¤ò»ý¤Á¾å¤²¡¢±¦¤Î»³¤Ø½Å¤Í¡¢°ì¤Ä¤Ë¤Ê¤Ã¤¿¥Ñ¥±¥Ã¥È¤ò¼ê¤Ë¤È¤ê¡¢Î¢¸þ¤­¤Ç»ý¤Ä¡£
Ʊ¤¸¤³¤È¤ò¤¯¤êÊÖ¤·¡¢ºÇ½ªÅª¤Ë¼ê¤Ë¤Ï¥Ï¡¼¥È¡¢¼Î¤Æ¾ì¤Ë¤Ï¥¹¥Ú¡¼¥É¤¬½¸¤Þ¤ë¡£
¤³¤ÎÆó¤Ä¤Î»³¤ò¥Æ¡¼¥Ö¥ë¤Ëʤ٤ÆÃÖ¤¯¡£
´ÑµÒ¤Ë¥Ï¡¼¥È¤Þ¤¿¤Ï¥¹¥Ú¡¼¥É¤«¤é¹¥¤­¤Ê¥«¡¼¥É¡ÊA¡ÁQ¤Þ¤Ç¤ÎÃæ¤«¤é¡Ë¤Î̾Á°¤ò¸À¤Ã¤Æ¤â¤é¤¦¡£¡ÊÎã¥Ï¡¼¥È¤Î£¸¤ò´ÑµÒ¤¬Áª¤ó¤À¤È¤·¤ÆÀâÌÀ¤·¤Þ¤¹¡£¡Ë
µÒ¤¬¥Ï¡¼¥È¤òÁªÂò¤·¤¿¤Î¤Ê¤é¡¢¤Þ¤º¥¹¥Ú¡¼¥É¤Î»³¤«¤é¡¢¾å¤è¤ê£¸ËçÌܤΥ«¡¼¥É¤ò°ú¤­½Ð¤¹¡£
¡Ê¤â¤·µÒ¤¬¥¹¥Ú¡¼¥É¤ÎÁªÂò¤ò¤·¤¿¤Î¤Ê¤é¥Ï¡¼¥È¤Î»³¤«¤é¥«¡¼¥É¤ò°ú¤­½Ð¤¹¤³¤È¤Ë¤Ê¤ë¡£¡Ë
°ú¤­½Ð¤·¤¿¥«¡¼¥É¤Î¿ô»ú¤Ë½¾¤¤¡¢º£Å٤ϥϡ¼¥È¥Ñ¥±¥Ã¥È¤Î¾å¤«¤é¤½¤Î¿ô»ú¤ÎËç¿ôÌܤΥ«¡¼¥É¤òɽ¸þ¤­¤Ë¤¹¤ë¡£
¤³¤³¤«¤éµÒ¤¬»ØÄꤷ¤Æ¤ª¤¤¤¿¥Ï¡¼¥È¤Î£¸¤¬½Ð¸½¤¹¤ë¡£
¡ã¤ï¤«¤êÆñ¤¤¤Ç¤·¤ç¤¦¤«¡©¡ä
¤³¤ÎµÒ¤ËǤ°Õ¤ÇÁªÂò¤µ¤»¤Æ¤¤¤ë»ö¡Ê£±¡Á£±£²¤òÁª¤Ð¤»¤¿¤ê¡¢¹¥¤­¤Ê¥«¡¼¥É¤ò»ØÄꤵ¤»¤¿¤ê¡Ë¤ò¤ä¤Ã¤Æ¤ª¤­¤Ê¤¬¤é¡¢Åª³Î¤ËµÒ¤Î¥«¡¼¥É¤òÅö¤Æ¤Æ¤·¤Þ¤¦»ÅÁȤߤϤȤäƤâ¿ô³ØÅª¤Ë¹ª¤¯·×»»¤µ¤ì¤Æ¤¤¤ë¤È»×¤ï¤ì¤Þ¤¹¡£
£±£²¤È¤¤¤¦¿ô»ú¤¬²¿¤«¥­¡¼¤Ë¤Ê¤ëÀ­¼Á¤òÍ­¤·¤Æ¤¤¤ë¤«¤é¤À¤í¤¦¤Èͽ´¶¤µ¤ì¤Þ¤¹¡£
¤³¤Î¤³¤È¤ò¥×¥í¥°¥é¥à¤Ç²òÌÀ¤·¤ÆÍߤ·¤¤¤ó¤Ç¤¹¤¬¡¦¡¦¡¦
 

Re: ¥«¡¼¥É¥Þ¥¸¥Ã¥¯¤Ç½Ð²ñ¤Ã¤¿¸½¾Ý

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î 5Æü(¿å)16»þ23ʬ20ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.48[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

¤¿¤Ö¤ó¤³¤ì¤ÇÂç¾æÉפǤ·¤ç¤¦¡£
¾ê;¡Êmod¡Ë¤¬´Ø·¸¤·¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©¡Ê°ì¼ï¤Î¥·¥ã¥Ã¥Õ¥ë¤Ç¤¹¤«¤é¡Ë


LET mk$="SCHD" !¥Þ¡¼¥¯

SUB dec(C(),p, w) !¥Ñ¥±¥Ã¥ÈÆâ¾å¤«¤ép°ÌÃ֤Υ«¡¼¥É¤òºï½ü¤¹¤ë
   LET w=C(p)
   FOR i=p TO C(0)-1 !Á°¤ËµÍ¤á¤ë
      LET C(i)=C(i+1)
   NEXT i
   LET C(0)=C(0)-1
END SUB
SUB inc(C(),p,w) !¥Ñ¥±¥Ã¥ÈÆâ¾å¤«¤ép°ÌÃ֤˥«¡¼¥É¤òÄɲ乤ë
   IF p<=C(0) THEN
      FOR i=C(0) TO p STEP -1 !¸å¤í¤Ë¤º¤é¤¹
         LET C(i+1)=C(i)
      NEXT i
   ELSE
      LET p=C(0)+1 !ºÇ¸å
   END IF
   LET C(p)=w
   LET C(0)=C(0)+1
END SUB
DIM TT(0 TO 13*4+1)
SUB add(C1(),C2(), C()) !C1¤ò¾å¡¢C2¤ò²¼¤Ë¥Ñ¥±¥Ã¥È¤ò½Å¤Í¤ë
   FOR i=1 TO C1(0)
      LET TT(i)=C1(i)
   NEXT i
   FOR i=1 TO C2(0) !³¤±¤Æ
      LET TT(C1(0)+i)=C2(i)
   NEXT i
   LET C(0)=C1(0)+C2(0)
   FOR i=1 TO C(0)
      LET C(i)=TT(i)
   NEXT i
END SUB
SUB clr(C()) !¥Ñ¥±¥Ã¥È¤ò¥¯¥ê¥¢¤¹¤ë
   LET C(0)=0
END SUB
SUB rev(C()) !¥Ñ¥±¥Ã¥È¤ò΢ÊÖ¤¹
   FOR i=1 TO INT(C(0)/2)
      swap C(i),C(C(0)-i+1)
   NEXT i
END SUB
SUB disp(C(),m$) !¥Ñ¥±¥Ã¥È¤ò¾å¤«¤é½ç¤Ëɽ¼¨¤¹¤ë
   PRINT m$;"(";C(0);"Ëç)";
   FOR i=1 TO C(0)
      PRINT C(i);
   NEXT i
   PRINT
END SUB
!-------------------- ¤³¤³¤Þ¤Ç¤¬¥µ¥Ö¥ë¡¼¥Á¥ó


LET N=12 !Ëç¿ô

DIM S(0 TO N),H(0 TO N) !¥¹¥Ú¡¼¥É¡¢¥Ï¡¼¥È¥Ñ¥±¥Ã¥È¤Î½é´ü²½
FOR i=1 TO N !À°Îó
   LET S(i)=i !¥¹¥Ú¡¼¥É 1¡Á13
   LET H(i)=i+13*2 !¥Ï¡¼¥È 27¡Á39
NEXT i
LET H(0)=N !Ëç¿ô
LET S(0)=N

!¥Æ¡¼¥Ö¥ë¤Î½é´ü²½
DIM Y1(0 TO N),Y2(0 TO N),Y3(0 TO N) !»³£±¡¢»³£²¡¢¼Î¤Æ¾ì
CALL clr(Y1) !»³¤Î¥¯¥ê¥¢
CALL clr(Y2)
CALL clr(Y3)

CALL dump !ÆâÍÆ¤ò³Îǧ¤¹¤ë

SUB dump
   CALL disp(S,"¥¹¥Ú¡¼¥É") !¥È¥ì¡¼¥¹
   CALL disp(H,"¥Ï¡¼¥È")
   CALL disp(Y1,"»³£±")
   CALL disp(Y2,"»³£²")
   CALL disp(Y3,"¼Î¤Æ¾ì")
   PRINT
END SUB


!£±²óÌÜ
INPUT PROMPT "¹¥¤­¤Ê¿ô»ú(2¡ÁN)¡©": K !¹¥¤­¤Ê¿ô»ú 1¡ÁN

CALL routine

SUB routine !ºî¶È¤ÎÄêµÁ
   FOR x=1 TO N !¼ê»ý¤Á¤Î¥«¡¼¥É¤¬¤Ê¤¯¤Ê¤ë¤Þ¤Ç
      PRINT x;"ËçÌܤò¥Æ¡¼¥Ö¥ë¤Ø"
      CALL dec(S,1,w) !ºï½ü¤¹¤ë
      IF x=K THEN !°ìÃפ¹¤ëËç¿ôÌܤʤé¼Î¤Æ¾ì¤Ø
      !IF MOD(x,K)=0 THEN !°ìÃפ¹¤ëËç¿ôÌܤʤé¼Î¤Æ¾ì¤Ø
         CALL inc(Y3,1,w)
         CALL dec(H,1,w) !ÂåÂØ¤È¤·¤Æ¾ì¤«¤é
      END IF

      IF MOD(x,2)=0 THEN !º¸±¦¸ò¸ß¤Ç»³¤ËÃÖ¤¯
         CALL inc(Y2,1,w)
      ELSE
         CALL inc(Y1,1,w)
      END IF

      CALL dump !ÆâÍÆ¤ò³Îǧ¤¹¤ë
   NEXT x
   PRINT
END SUB




!£²²óÌܰʹß
DO
   CALL add(Y1,Y2, S) !»³¤ò½Å¤Í¤Æ¼ê¤Ë»ý¤Ä
   CALL rev(S)
   CALL disp(S,"¥¹¥Ú¡¼¥É")
   PRINT

   IF H(0)=0 THEN EXIT DO !¥Ï¡¼¥È¥Ñ¥±¥Ã¥È¤¬¤Ê¤¯¤Ê¤ë¤Þ¤Ç

   CALL clr(Y1) !»³¤Î¥¯¥ê¥¢
   CALL clr(Y2)

   CALL routine
LOOP


MAT H=Y3
CALL rev(H)
CALL disp(H,"¥Ï¡¼¥È")


INPUT PROMPT "¥«¡¼¥É¤Î¥Þ¡¼¥¯¡©": c$
INPUT PROMPT "¿ô»ú(1¡ÁN)¡©": K

IF UCASE$(c$)="H" THEN
   LET w=H(K) !¥¹¥Ú¡¼¥É¤ÎÎó¤Ë¤Ê¤Ã¤Æ¤¤¤ë
   LET w=S(w)
ELSE
   LET w=MOD(S(K),13) !¥Ï¡¼¥È¤ÎÎó¤Ë¤Ê¤Ã¤Æ¤¤¤ë
   LET w=H(w)
END IF
PRINT mid$(mk$,INT(w/13)+1,1); MOD(w,13)


END
 

Re: ¥«¡¼¥É¥Þ¥¸¥Ã¥¯¤Ç½Ð²ñ¤Ã¤¿¸½¾Ý

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ11·î 5Æü(¿å)17»þ59ʬ39ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.48[¸µµ­»ö¤Ø]

!¥È¥é¥ó¥× ¤Ï¡¢¤É¤Î¿ô¤òÁª¤ó¤Ç¤â¡¢
!¸ß¤¤¤Ë ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë¡¡¤Ê¤Ã¤Æ¤·¤Þ¤¦¤è¤¦¤Ç¤¹¡£Æñ²ò¡£

DIM s(12),h(12),w(12),t(12)

PRINT "----- ºÇ½é¤Î¾õÂÖ -----"
CALL ready
CALL printa(s) !¡¡¥¹¥Ú¡¼¥É
CALL printa(h) !¡¡¥Ï¡¼¥È
PRINT
!
FOR R=1 TO 12
   PRINT "----- Request";R;"¤Î¾ì¹ç-----"
   CALL ready
   LET k=1
   DO WHILE k< 13
      FOR i=1 TO 12
         LET j=MOD(i,2)*7+INT(i/2) !¡¡Ê¬¤±¤¿£²¤Ä¤ò½Å¤Í¤¿»þ¤Î°ÌÃÖ¡£
         IF i=R THEN
            LET t(j)=h(k) !¡¡¥Ï¡¼¥È¤ò¥Æ¡¼¥Ö¥ë¤Ø
            LET w(k)=s(i) !¡¡¼ê¸µ(ºÇ½é¥¹¥Ú¡¼¥É)¤ò¡Ö¼Î¤Æ¡×¤Ø
            LET k=k+1
         ELSE
            LET t(j)=s(i) !¡¡¼ê¸µ(ºÇ½é¥¹¥Ú¡¼¥É)¤ò¥Æ¡¼¥Ö¥ë¤Ø
         END IF
      NEXT i
      MAT s=t !¡¡¥Æ¡¼¥Ö¥ë¤ò¼ê¸µ(ºÇ½é¥¹¥Ú¡¼¥É)¤Ø
   LOOP
   CALL printa(s) !¡¡Èæ³Ó¡¦¡¦¡¦¼ê¸µ(ºÇ½é¥¹¥Ú¡¼¥É)
   CALL printa(w) !¡¡Èæ³Ó¡¦¡¦¡¦¡Ö¼Î¤Æ¡×¤Î½Å¤Ê¤ê
   PRINT
NEXT R

SUB printa(a())
   FOR n=1 TO 12
      PRINT USING "## ":a(n);
   NEXT n
   PRINT "¡¡¡Ä¸ß¤¤¤Ë Index."
END SUB

SUB ready
   FOR i=1 TO 12
      LET s(i)=i
      LET h(i)=i
   NEXT i
END SUB

END
 

Re: ¥«¡¼¥É¥Þ¥¸¥Ã¥¯¤Ç½Ð²ñ¤Ã¤¿¸½¾Ý

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î 5Æü(¿å)21»þ53ʬ27ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.49[¸µµ­»ö¤Ø]

¥ê¥Õ¥ë¥·¥ã¥Ã¥Õ¥ë¤ÎÀ­¼Á¤òÍøÍѤ·¤Æ¤¤¤ë¤È»×¤¤¤Þ¤¹¡£

¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤·¤ÆÉ½¼¨¤µ¤ì¤ë£Ë¤Ï¡¢
¡Ö¼ê»ý¤Á¤Î¥«¡¼¥É¤òº¸±¦¤Î»³¤Ëʬ¤±¤Æ¡¢º¸±¦¤È½Å¤Í£±¤Ä¤Î»³¤Ë¤¹¤ë¡×¤ÎÁàºî¤Ë³ºÅö¤·¤Þ¤¹¡£
°ìÈÖ¾å¤Îº÷°úÈֹ椬ºÇ½é¤Ëʹ¤¤¤¿¹¥¤­¤ÊÈÖ¹æ¤Ç¤¹¡£¤É¤ÎÎó¤Ç¤â¹½¤¤¤Þ¤»¤ó¤¬¡¢
¤½¤ÎÎó¤ò¾å¤«¤é½ç¤Ë¸«¤Æ¤¤¤¯¤È¡¢¼Î¤Æ¾ì¤ËÀѤޤì¤ë¡Ê¥¹¥Ú¡¼¥É¤Î¡Ë¥«¡¼¥É¤Î½ç¤Ë¤Ê¤ê¤Þ¤¹¡£

¤È¤³¤í¤ÇÃÖ¤­´¹¤¨¤¿¥Ï¡¼¥È¤Î¥«¡¼¥É¤Ï¡¢¤³¤ÎÈÖ¹æ°ÌÃÖ¤ËÃÖ¤­´¹¤ï¤ê¤Þ¤¹¤¬¡¢
ºÇ½ªÅª¤Ë¡¢12²ó¤ÎÁàºî¤Ç¥¹¥Ú¡¼¥É¤Î¥«¡¼¥É¤ËÂбþ¤·¤¿°ÌÃÖ¤ËÀ°Î󤵤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

¤³¤ì¤Ç»²¾È°ÌÃ֤Ȥ½¤ÎÇÛÃÖ°ÌÃÖ¤ò¤¦¤Þ¤¯Íí¤Þ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¤Á¤ç¤¦¤ÉN²óÌܤǤâ¤È¤ËÌá¤ë¾ì¹ç¡¢¤¿¤È¤¨¤ÐN=2,4,10,12¤¬¤³¤ÎÌäÂê¤òËþ¤¿¤¹¤È»×¤¤¤Þ¤¹¡£



!ÃÖ´¹¡ÊPermutation¡Ë¤Î·×»»

!Êä½õ¥ë¡¼¥Á¥ó
SUB PermPrintOut(A()) !ɽ¼¨¤¹¤ë¡¡¢¨É¸½à·Á¡Ê£²¹Ô£îÎó¤Î¹ÔÎóɽµ­¤¹¤ë¡Ë
!PRINT "¨£";
!FOR i=1 TO UBOUND(A)
!   PRINT USING "###": i;
!NEXT i
!PRINT " ¨¤"
!PRINT "¨¦";
   FOR i=1 TO UBOUND(A)
      PRINT USING "###": A(i);
   NEXT i
   !PRINT " ¨¥";
   PRINT
END SUB

!ÃÖ´¹
SUB PermIdentity(A()) !¹±ÅùÃÖ´¹
   FOR i=1 TO UBOUND(A)
      LET  A(i)=i
   NEXT i
END SUB
SUB PermMultiply(A(),B(), AB()) !ÀÑAB¡¡¢¨AB¡âBA¡¢A(BC)=(AB)C
   LET  ua=UBOUND(A)
   LET  ub=UBOUND(B)
   IF ua=ub THEN
      FOR i=1 TO ua
         LET  AB(i)=A(B(i)) !¢¨¹çÀ®¼ÌÁü(AB)(i)=A(B(i))
      NEXT i
   ELSE
      PRINT "¼¡¸µ¤¬°ã¤¤¤Þ¤¹¡£A=";ua;" B=";ub
      STOP
   END IF
END SUB
!-------------------- ¤³¤³¤Þ¤Ç¤¬¥µ¥Ö¥ë¡¼¥Á¥ó


!main

LET N=12 !¢¨2,4,10,12

!A=¨£ 1 2 3 4 ¨¤=(1 2 4 3)¡¡¢¨£±¹ÔÌܤνçÈ֤ϸÇÄê¤È¤¹¤ë
!¡¡¨¦ 2 4 1 3 ¨¥
DATA 2,4,6,8,10,12,1,3,5,7,9,11 !ÇÛÎóÊÑ¿ô¤Î¡Öꤍ»ú¤ÈÃ͡פËÂбþ¤µ¤»¤ë
!DATA 2,4,6,8,10,1,3,5,7,9 !N=10
!DATA 2,4,1,3 !N=4
!DATA 2,1 !N=2
DIM A(N)
MAT READ A

FOR i=1 TO N
   PRINT USING "###": i;
NEXT i
PRINT

DIM B(N)
CALL PermIdentity(B) !½é´üÃÍ

DIM c(N)
FOR k=1 TO N !²ó¿ô
   CALL PermMultiply(B,A,c) !¥·¥ã¥Ã¥Õ¥ë
   PRINT "K=";k
   CALL PermPrintOut(c) !²¿²ó¤«¼Â¹Ô¤¹¤ë¤È¸µ¤ËÌá¤ë
   MAT B=c
NEXT k


END
 

Re: ¥×¥í¥°¥é¥à¤Î¤ª´ê¤¤

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î 5Æü(¿å)22»þ07ʬ8ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.46[¸µµ­»ö¤Ø]

»³ÃæÏµÁ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> £Ã¸À¸ìÈǤΥ³¡¼¥É¤ò¤ß¤Æ»×¤Ã¤¿¤Î¤Ç¤¹¤¬
>
> ¡¦N=1¤¬µá¤Þ¤é¤Ê¤¤
> ¡¦½çÎó¤ÎÀ¸À®¤¬¤ª¤«¤·¤¤¡Ê¹Ô¤äÎó¤Î¸ò´¹¤¬ÉÔ½½Ê¬¡Ë
> ¡¡¢ªÉ¸½à·Á¤«¤é¤¹¤Ù¤ÆÅ¸³«¤µ¤ì¤Æ¤¤¤Ê¤¤
> ¡¡¢ªexit¤Î²Õ½ê¤ò¥³¥á¥ó¥È¡Ê̵¸ú¡Ë¤Ë¤·¤Æ¤âÁ´²ò¤¬ÆÀ¤é¤ì¤Ê¤¤
> ¡¡¢ªN=6¤Ç¸¡¾Ú¤·¤Æ¤¤¤Ê¤¤²Õ½ê¤¬¤¢¤ë
> ¤Îµ¿Ì䤬¤¢¤ê¤Þ¤¹¡£


¤³¤Î¤³¤È¤òÀ½ºî¼Ô¤ÎÊý¤Ë¤ª¿Ò¤Í¤·¤Þ¤·¤¿¤È¤³¤í¡¢¼¡¤Î¤è¤¦¤Ê¥á¡¼¥ë¤ò夭¤Þ¤·¤¿¡£

¡¦N=1¤¬µá¤Þ¤é¤Ê¤¤

  N=1¤ËÂн褹¤ë¤È¥×¥í¥°¥é¥à¤¬ÌÌÅݤˤʤë¤À¤±¤Ç¤¹¤Î¤Ç
̵»ë¤·¤Æ¤¤¤Þ¤¹¡Ê¼ê´Ö¤ò¤«¤±¤ÆN=1¤Ë¤ï¤¶¤ï¤¶Âн褷¤Æ¤â¡¢
¤Þ¤Ã¤¿¤¯Ìµ°ÕÌ£¤Ç¤¹¤è¤Í¡©¡Ë¡£

> ¡¦½çÎó¤ÎÀ¸À®¤¬¤ª¤«¤·¤¤¡Ê¹Ô¤äÎó¤Î¸ò´¹¤¬ÉÔ½½Ê¬¡Ë
> ¡¡¢ªÉ¸½à·Á¤«¤é¤¹¤Ù¤ÆÅ¸³«¤µ¤ì¤Æ¤¤¤Ê¤¤
> ¡¡¢ªexit¤Î²Õ½ê¤ò¥³¥á¥ó¥È¡Ê̵¸ú¡Ë¤Ë¤·¤Æ¤âÁ´²ò¤¬ÆÀ¤é¤ì¤Ê¤¤
> ¡¡¢ªN=6¤Ç¸¡¾Ú¤·¤Æ¤¤¤Ê¤¤²Õ½ê¤¬¤¢¤ë

  ¤ª¤«¤·¤¯¤Ê¤¤¤Ï¤º¤Ç¤¹¡£
  ¤¹¤Ù¤Æ¤ò¸¡¾Ú¤¹¤ë¤ÈÈó¾ï¤ËŤ¤»þ´Ö¤¬¤«¤«¤ê¤Þ¤¹¤Î¤Ç¡¢
¿ô³ØÅª¤Ë¹Í¤¨¤Æ¸¡¾Ú¤¬É¬Íפʤ¤¤â¤Î¤Ï¾Ê¤¤¤Æ¤¤¤Þ¤¹¡£
¡Ê¾Ê¤«¤Ê¤¤¤È¡¢¸½¼ÂŪ¤Ê»þ´Ö¤Çµá¤Þ¤ê¤Þ¤»¤ó¡£¡Ë

¤È¤Î²óÅú¤Ç¤·¤¿¡£Ï¢Íí¤Þ¤Ç
 

Re: ¥×¥í¥°¥é¥à¤Î¤ª´ê¤¤

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î 6Æü(ÌÚ)07»þ10ʬ30ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.52[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

¤ª¼ê¿ô¤ª¤«¤±¤·¤Þ¤·¤¿¡£¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
 

¥«¡¼¥É¥Þ¥¸¥Ã¥¯¤Î³¤­

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î 6Æü(ÌÚ)10»þ47ʬ33ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¤È¤¤¤¦¤³¤È¤Ï¡¢£±£²Ë示¤Ä·×£²£´Ëç¤Î¥«¡¼¥É¤Ç¤Ê¤¯¤Æ¤â¡¢
£²¡¤£´¡¤£±£°¡¤£±£²¡¤£±£¸¡¤£³£¶¡¤£µ£²¡¤£µ£¸¡¤£¶£°¡¤£¶£¶¡¤£¸£²¡¤£±£°£°¡¤¡¦¡¦¡¦
Ë示¤Ä¤Î¾ì¹ç¤Ç¤âƱÍͤʸ½¾Ý¤¬µ¯¤³¤»¤ë¤È¤¤¤¦¤³¤È¤Ê¤ó¤Ç¤·¤ç¤¦¤«¡©

¤³¤Î¼êÉʤˤϳ¤­¤¬¤¢¤ê¤Þ¤·¤Æ¡¢°ìÅÙ¤³¤Î¸½¾Ý¤ò¸«¤»¤Æ¤âµÒ¤Ï¤¿¤Þ¤¿¤ÞÅö¤¿¤Ã¤¿¤È¤·¤«´¶¤¸¤Æ¤¯¤ì¤Ê¤¤¤Î¤Ç¡¢¼¡¤Î¤è¤¦¤Ë¤µ¤é¤Ë¥«¡¼¥É¤òº®¤¼¤¿¤è¤¦¤Ë¸«¤»¤Æ¤¤¤¯¡£
¤Þ¤º¡¢°ìÊý¤Î¥Ñ¥±¥Ã¥È¡ÊÎã¤È¤·¤Æ¥Ï¡¼¥È¤ÎÊý¤òÁª¤Ö¡Ë¤ËK¡Ê£±£³¡Ë¥«¡¼¥É¤ò°ìËç¤ò¥Ü¥È¥à¤Ë
ÉÕ¤±²Ã¤¨¤ë¡£¡Ê¥Ñ¥±¥Ã¥È¤Ï΢¸þ¤­¾õÂÖ¡Ë
¤³¤ì¤ò¿ô²ó¥«¥Ã¥È¡ÊǤ°Õ¤Î¾ì½ê¤«¤éʬ¤±¡¢¾å¡¢²¼¤Î°ÌÃÖ´Ø·¸¤òµÕ¤Ë¤¹¤ë¡£¡Ë¤·¤¿¸å¡¢
µÒ¤Ë£²¡Á£±£²¤ÎÃæ¤«¤é¹¥¤­¤Ê¿ô»ú¤ò¸À¤Ã¤Æ¤â¤é¤¦¡£¡ÊÎã¡§£¹¤ò¸À¤Ã¤¿¤È¤·¤Æ°Ê²¼ÀâÌÀ¡Ë
¥Ñ¥±¥Ã¥È¤òɽ¸þ¤­¤Ë¤·¤Æ¾å¤«¤é°ìË示¤Ä¥Æ¡¼¥Ö¥ë¤Ø£¹¤Ä¤Î»³¤òºî¤Ã¤Æ¤¤¤¯¡£(º¸¤«¤é±¦¤Ø)
»Ä¤ê¤Î¥«¡¼¥É¤Ï»Ï¤á¤Î»³¤ËÌá¤ê¡¢£²ËçÌܤȤ·¤Æ½Å¤Í¤Æ¤¤¤¯¡£¡Êº¸¤è¤ê£´¤ÄÌܤλ³¤Ç½ª¤ë¡Ë
¤³¤ÎºÇ¸å¤ËÃÖ¤¤¤¿¥«¡¼¥É¤¬°ìÈÖ±¦¤Î»³¤«¤é¿ô¤¨¤Æ²¿ÈÖÌܤξì½ê¤Ç½ª¤ï¤Ã¤¿¤Î¤«¤òÌ©¤«¤Ë³Ð¤¨¤ë¡£
¡Ê£¹¤Î¾ì¹ç¤Ï±¦²ó¤ê¤Ë¥«¥¦¥ó¥È¤¹¤ë¤È£´ÈÖÌÜ¡¢º¸²ó¤ê¤Ë¥«¥¦¥ó¥È¤¹¤ë¤È£µÈÖÌܤȤ¤¤¦¤³¤È¤Ë¤Ê¤ë¡£¡Ë
º¸¤«±¦²ó¤ê¤Ï´Ø·¸¤»¤º¡¢¾¯¤Ê¤¤Êý¤Î¿ô¤ò¥­¡¼¿ô»ú¡Ê£¹¤Ê¤é£´¤È¤Ê¤ë¡£¡Ë¤È¤¹¤ë¡£
¤³¤³¤Ç¡¢µÒ¤Ë£¹¤Ä¤Î»³¤Î°ì¤Ä¤òǤ°Õ¤ËÁª¤Ð¤»¤ë¡£
±é¼Ô¤Ï¤³¤Î»³¤«¤é¼è¤ê¾å¤²¡¢±¦¤Ø¡Ê±¦²ó¤ê¤Ë¥«¥¦¥ó¥È¤·¤ÆÆÀ¤¿¿ô»ú¤À¤«¤é¡Ë£´¤º¤Ä¿Ê¤ó¤Ç
¹Ô¤Ã¤¿»³¤Î¾å¤Ë½Å¤Í¤ë¡£
Ʊ¤¸¤¯½Å¤Ê¤Ã¤¿»³¤ò»ý¤Á¾å¤²¡¢¼¡¤Î£´±¦¤Ø¿Ê¤ó¤À»³¤Î¾å¤Ë½Å¤Í¤ë¡£¡Ê°ìÈÖ±¦¤Þ¤Ç¤­¤¿¤é¡¢°ìÈÖº¸¤Î»³¤Ø¿Ê¤ó¤Ç¥«¥¦¥ó¥È¤¹¤ë¡£¡Ë
¤³¤ì¤ò³¤±¤Æ¤¤¤¯¡£¡Ê¤¿¤À¤·½Å¤Í¤ë»³¤Ï¡¢ºÇ½é¤ËÃÖ¤¤¤Æ¤¤¤¿»³¤Î°ÌÃ֤ǥ«¥¦¥ó¥È¤¹¤ë¤³¤È¡£¡¡½¾¤Ã¤Æ¤â¤¦¥«¡¼¥É¤ò¼è¤êµî¤Ã¤¿°ÌÃ֤⥫¥¦¥ó¥È¤ÎÂоݤˤʤ롣¡Ë
¡ãµÒ¤«¤é¤Ï¥«¡¼¥É¤Î½¸¤áÊý¤¬¥é¥ó¥À¥à¤Ë½¸¤á¤Æ¤¤¤ë¤è¤¦¤Ë´¶¤¸¤ë¡£¡ä
°ì¤Ä¤Ë¤Þ¤È¤Þ¤Ã¤¿¥Ñ¥±¥Ã¥È¡Êɽ¸þ¤­¡Ë¤ò¿ô²ó¥«¥Ã¥È¤¹¤ë¤¬¡¢ºÇ¸å¤Î¥«¥Ã¥È¤ÇK¡Ê£±£³¡Ë¥«¡¼¥É¤¬¥Ü¥È¥à¤Ë¡Êɽ¸þ¤­¤Ê¤é°ìÈÖ¾å¡Ë¤Ê¤ë¤è¤¦¤Ë¡¢Ä´Àᤷ΢¸þ¤­¤Ç¥Æ¡¼¥Ö¥ë¤ËÃÖ¤¯¡£
¤³¤Î¤È¤­¡¢°ìÈÖ²¼¡Ê΢¸þ¤­¤Î¾õÂ֤ʤé°ìÈÖ¾å¡Ë¤Ë¤¯¤ë¥«¡¼¥É¤òÅð¤ß¸«¤·¤Æ¡Ê¿ô»ú¡Ë³Ð¤¨¤Æ¤ª¤¯¡£
¼¡¤Ë¥¹¥Ú¡¼¥É¤Î¥Ñ¥±¥Ã¥È¡Ê¤³¤Á¤é¤Ï£±£²Ëç¡Ë¤ò¼è¤ê¾å¤²¡¢¥¨¡¼¥¹¥«¡¼¥É¤¬Åð¤ß¸«¤ò¤·¤¿¿ô¤Ë¾å¤«¤é¿ô¤¨¤Æ¤ÎËç¿ôÌܤˤʤë¤è¤¦¤Ë¡¢°ÌÃÖ¤òÄ´Àᤷ¤Æ°ìÅÙ¥«¥Ã¥È¤ò¤¹¤ë¡£
΢¸þ¤­¾õÂ֤ǥơ¼¥Ö¥ë¤ËÃÖ¤¯¡£¡Ê¤³¤ì¤Ç¡¢Á´¤Æ¤Î¥«¡¼¥É°ÌÃ֤Ȼؼ¨°ÌÃÖ¤¬Âбþ¤·¤Æ¤¤¤ë¡Ë

¤³¤Îºî¶È¤Ïµ¤¤¬ºÑ¤à¤Þ¤Ç¡¢¤¯¤êÊÖ¤·¤Æ¹Ô¤Ã¤Æ¤è¤¤¡£
¡Ê¤À¤ì¤Ç¤â¥Ï¡¼¥È¤Î¥«¡¼¥É¤Ï¤¬¤Ã¤«¤ê¤¹¤ë¤¯¤é¤¤¤è¤¯º®¤¼¤é¤ì¤¿¤È´¶¤¸¤ë¤À¤í¤¦¡£¡Ë

ºÆ¤Ó¡¢µÒ¤Î¥ê¥¯¥¨¥¹¥È¤ËÁêÅö¤¹¤ë¥«¡¼¥É¤òõ¤·¤À¤¹¤³¤È¤¬¤Ç¤­¤ë¡£
¡Ê¤Þ¤¿¤Þ¤¿¡¢Ê¬¤«¤êÆñ¤¤¤Ç¤·¤ç¤¦¤«¡©¡Ë
 

Re: ¥«¡¼¥É¥Þ¥¸¥Ã¥¯¤Î³¤­

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î 7Æü(¶â)07»þ31ʬ4ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.54[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

>£²¡¤£´¡¤£±£°¡¤£±£²¡¤£±£¸¡¤£³£¶¡¤£µ£²¡¤£µ£¸¡¤£¶£°¡¤£¶£¶¡¤£¸£²¡¤£±£°£°¡¤¡¦¡¦¡¦

¤¿¤Ö¤ó£Ï£Ë¤À¤È»×¤¤¤Þ¤¹¡£


>³¤­¤Î¥Þ¥¸¥Ã¥¯¤Ë¤Ä¤¤¤Æ

¥×¥í¥°¥é¥à¥ß¥¹¤È»×¤¤¤Þ¤¹¤¬¡¢°ìÃפ¹¤ë¤È¤­¤È°ìÃפ·¤Ê¤¤¤È¤­¤¬¤¢¤ê¤Þ¤¹¡£
¸å¤Ç¥×¥í¥°¥é¥à¤ò·ÇºÜ¤·¤Þ¤¹¡£¡ÊĹÊԤǤ¹¡Ë


>³¤­¤Î¥Þ¥¸¥Ã¥¯¤Î¥Æ¡¼¥Ö¥ë¤Ç¤Î¥Ï¡¼¥È¥Ñ¥±¥Ã¥È¤Î¥·¥ã¥Ã¥Õ¥ë¤Ë¤Ä¤¤¤Æ

¥·¥ã¥Ã¥Õ¥ë¤Ë¤è¤Ã¤Æ¸µ¤Î¿ô»ú¤¬¤É¤³¤Ë°Üư¤¹¤ë¤«³Îǧ¤·¤Æ¤ß¤Þ¤·¤¿¡£
£±²óÌܡʺî¤ë»³¤Î¿ô¡Ë¤Î¹¥¤­¤Ê¿ô»ú¤Ë¤è¤Ã¤Æ¡¢¼¡¤Î¥×¥í¥°¥é¥à¤Çɽ¼¨¤µ¤ì¤ëɽ¤Î¿ô»úÎó¡Ê²£¤Ë¤ß¤ë¡Ë¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ë¤è¤¦¤Ç¤¹¡£
£²²óÌܡʻ³¤ÎÁªÂò¡Ë¤Ï¡¢£±£³¤òÄì¤Ë°Üư¤µ¤»¤ëÄ´À°¥«¥Ã¥È¤Ç̵¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£

1  2  3  4  5  6  7  8  9 10 11 12 13
2  4  6  8 10 12  1  3  5  7  9 11 13
3  6  9 12  2  5  8 11  1  4  7 10 13
4  8 12  3  7 11  2  6 10  1  5  9 13
5 10  2  7 12  4  9  1  6 11  3  8 13
6 12  5 11  4 10  3  9  2  8  1  7 13
7  1  8  2  9  3 10  4 11  5 12  6 13
8  3 11  6  1  9  4 12  7  2 10  5 13
9  5  1 10  6  2 11  7  3 12  8  4 13
10  7  4  1 11  8  5  2 12  9  6  3 13
11  9  7  5  3  1 12 10  8  6  4  2 13
12 11 10  9  8  7  6  5  4  3  2  1 13

¤¿¤È¤¨¤Ð¡¢¹¥¤­¤Ê¿ô»ú¤Ë£³¤ò»ØÄꤹ¤ë¤È13-3=£±£°ÈÖÌܤˤʤê¤Þ¤¹¡£
10  7  4  1 11  8  5  2 12  9  6  3 13¡¡¡Ä (1)


¤³¤ì¤¬¥¹¥Ú¡¼¥É¥Ñ¥±¥Ã¥È¤ÎÄ´À°¥«¥Ã¥È¤È¤Î´Ø·¸¤¬¸«¤¨¤Þ¤»¤ó¡£¡ÊÄ´ººÃæ¡Ë
£±ÎóÌܤοô»ú¡Ê10¡Ë¤«¡¢£±¤Î°ÌÃÖ¡Ê4ÈÖÌܡˤ«¡¢²¿¤«¡¢¡¢¡¢



¡ü¥×¥í¥°¥é¥à

!£±£³°Ê³°¤Î¿ô£Î¤Ë¡¢¼«Ê¬¼«¿È£Î¤ò²Ã¤¨¤Æ¿·¤·¤¤¿ô¤òºî¤ë¡£
!¤½¤Î¿ô¤¬£±£³¤è¤êÂ礭¤¤¤È¤­¤Ï¡¢£±£³¤ò°ú¤¯¡£
DIM A(13),B(13)
FOR k=1 TO 12
   LET A(k)=k
   LET B(k)=0
NEXT k
FOR i=1 TO 12
   FOR k=1 TO 12
      LET B(k)=MOD(B(k)+A(k),13)
   NEXT k
   LET B(13)=13
   MAT PRINT B;
NEXT i
END
 

Re: ¥«¡¼¥É¥Þ¥¸¥Ã¥¯¤Î³¤­

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î 7Æü(¶â)09»þ24ʬ8ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.55[¸µµ­»ö¤Ø]

»³ÃæÏµÁ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¥×¥í¥°¥é¥à¥ß¥¹¤È»×¤¤¤Þ¤¹¤¬¡¢°ìÃפ¹¤ë¤È¤­¤È°ìÃפ·¤Ê¤¤¤È¤­¤¬¤¢¤ê¤Þ¤¹¡£

³¤¤¤Æ¼êÉʤò¹Ô¤¦¤È¤¤¤¦¤³¤È¤Ï¡¢ºÇ½é¤Î¥Þ¥¸¥Ã¥¯¤ò½ªÎ»¤·¤¿¤â¤Î¤Î¥Ñ¥±¥Ã¥È¤ò¤½¤Î¤Þ¤Þ
¤Î½ç½ø¤ÇÍøÍѤ¹¤ë¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¡Ê´Ø·¸¤Ê¤¤¤Ç¤¹¤«¤Í¡©¡Ë
¤Ê¤ª¡¢µÒ¤¬»ØÄꤹ¤ë»³¤Î¿ô¤ËÂбþ¤·¤Æ¥«¡¼¥É¤ò½¸¤á¤ë¸þ¤­¤È¤º¤é¤·¿ô¤Ï
£²¡§±¦¤Ø£±
£³¡§±¦¤Ø£±
£´¡§±¦¤Ø£±
£µ¡§º¸¤Ø£²
£¶¡§±¦¤Ø£±
£·¡§º¸¤Ø£±
£¸¡§º¸¤Ø£³
£¹¡§±¦¤Ø£´
£±£°¡§±¦¤Ø£³
£±£±¡§±¦¤Ø£²
£±£²¡§±¦¤Ø£±
¤È¤Ê¤ê¤Þ¤¹¡£
¡Ê¤Þ¤µ¤Ë¤³¤ì¤Ï¡¢£±£³¤¬ÁÇ¿ô¤Ç¤¢¤ë¤³¤È¤ò¾å¼ê¤ËÍøÍѤ·¤¿ÊýË¡¤Ç¤¹¤Í¡£¡Ë
 

Re: ¥«¡¼¥É¥Þ¥¸¥Ã¥¯¤Î³¤­

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î 7Æü(¶â)09»þ25ʬ35ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.55[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

ưºîÉÔÎɤǤ¹¡£´Ö°ã¤Ã¤¿Áàºî¤ò»ØÅ¦¤·¤Æ¤¯¤À¤µ¤¤¡£
1000 !¥È¥é¥ó¥×¤Î¥Þ¥¸¥Ã¥¯
1010
1020 !¥Ñ¥±¥Ã¥ÈÁàºî¤Î¥·¥ß¥å¥ì¡¼¥·¥ç¥ó
1030
1040 SUB dec(C(),p, w) !¾å¤«¤ép°ÌÃ֤Υ«¡¼¥É¤òºï½ü¤¹¤ë¡¡¢¨1¡åp
1050    LET w=C(p)
1060    FOR i=p TO C(0)-1 !Á°¤ËµÍ¤á¤ë
1070       LET C(i)=C(i+1)
1080    NEXT i
1090    LET C(0)=C(0)-1 !Ëç¿ô
1100 END SUB
1110 SUB inc(C(),p,w) !¾å¤«¤ép°ÌÃ֤˥«¡¼¥É¤òÄɲ乤ë
1120    IF p<=C(0) THEN
1130       FOR i=C(0) TO p STEP -1 !¸å¤í¤Ë¤º¤é¤¹
1140          LET C(i+1)=C(i)
1150       NEXT i
1160    ELSE
1170       LET p=C(0)+1 !ºÇ¸å¤Ø
1180    END IF
1190    LET C(p)=w
1200    LET C(0)=C(0)+1 !Ëç¿ô
1210 END SUB
1220 DIM TT(0 TO 13*4+1) !ºî¶ÈÍÑ¡¡¢¨£±¥Ç¥Ã¥­Ê¬
1230 SUB add(C1(),C2(), C()) !C1¤ò¾å¡¢C2¤ò²¼¤Ë½Å¤Í¤ë
1240    FOR i=1 TO C1(0) !C1
1250       LET TT(i)=C1(i)
1260    NEXT i
1270    FOR i=1 TO C2(0) !³¤±¤ÆC2
1280       LET TT(C1(0)+i)=C2(i)
1290    NEXT i
1300    LET TT(0)=C1(0)+C2(0) !Ëç¿ô
1310    CALL copy(TT,TT(0), C)
1320 END SUB
1330 SUB clr(C()) !¶õ¤Ë¤¹¤ë
1340    LET C(0)=0
1350 END SUB
1360 SUB rev(C()) !΢ÊÖ¤¹
1370    FOR i=1 TO INT(C(0)/2)
1380       swap C(i),C(C(0)-i+1) !¾å²¼¤òÆþ¤ìÂØ¤¨¤ë
1390    NEXT i
1400 END SUB
1410 SUB del(C(),p,q) !p°ÌÃÖ¤«¤éq°ÌÃ֤ޤǤΥ«¡¼¥É¤òºï½ü¤¹¤ë¡¡¢¨1¡åp¡åq
1420    IF p>C(0) THEN
1430       PRINT "̵¸ú¤Ç¤¹¡£";p;q
1440    ELSE
1450       IF p>q THEN
1460          PRINT "p>q¤Ç̵¸ú¤Ç¤¹¡£";p;q
1470       ELSE
1480          LET q=MIN(q,C(0))
1490          FOR i=q+1 TO C(0) !»Ä¤ê¤ò·Ò¤²¤ë
1500             LET C(p+i-q-1)=C(i)
1510          NEXT i
1520          LET C(0)=C(0)-(q-p+1) !Ëç¿ô
1530       END IF
1540    END IF
1550 END SUB
1560 SUB shuffle(C()) !¥ê¥Õ¥ë¥·¥ã¥Ã¥Õ¥ë¤ò¹Ô¤¦¡¡¢¨¸åȾ¡¢Á°È¾¤Î½ç¤Ë½Å¤Í¤ë
1570    FOR i=1 TO C(0)
1580       LET TT(i)=C(INT(i/2)+MOD(i,2)*(INT(C(0)/2)+1))
1590       !LET TT(i)=C(INT((i-1)/2)+MOD(i-1,2)*INT(C(0)/2)+1) !¢¨Á°È¾¡¢¸åȾ¤Î½ç
1600    NEXT i
1610    LET TT(0)=C(0) !Ëç¿ô
1620    CALL copy(TT,TT(0), C)
1630 END SUB
1640 SUB cut(C(),p) !¥«¥Ã¥È¤¹¤ë¡¡¢¨p°ÌÃְʹߤ¬¾å¤Ë¤Ê¤ë
1650    LET p=MIN(p,C(0))
1660    FOR i=1 TO p-1 !Á°È¾Éôʬ¤ò¸å¤Ø
1670       LET TT(C(0)+i-p+1)=C(i)
1680    NEXT i
1690    FOR i=p TO C(0) !¸åȾÉôʬ¤òÁ°¤Ø
1700       LET TT(i-p+1)=C(i)
1710    NEXT i
1720    LET TT(0)=C(0) !Ëç¿ô
1730    CALL copy(TT,TT(0), C)
1740 END SUB
1750 SUB copy(C1(),p, C()) !¾å¤«¤ép°ÌÃ֤ޤǤò¥³¥Ô¡¼¤¹¤ë
1760    LET p=MIN(p,C1(0))
1770    FOR i=1 TO p !copy it
1780       LET C(i)=C1(i)
1790    NEXT i
1800    LET C(0)=p !Ëç¿ô
1810 END SUB
1820 SUB move(C1(),p, C()) !¾å¤«¤ép°ÌÃ֤ޤǤò°Üư¤¹¤ë
1830    CALL copy(C1,p,C)
1840    CALL del(C1,1,p)
1850 END SUB
1860 SUB disp(C(),m$) !¾å¤«¤é½ç¤Ëɽ¼¨¤¹¤ë
1870    PRINT m$;"(";C(0);"Ëç)";
1880    FOR i=1 TO C(0)
1890       PRINT C(i);
1900    NEXT i
1910    PRINT
1920 END SUB
1930
1940
1950 DEF MarkOfCard$(w)=mid$(mk$,INT(w/13)+1,1) !¥«¡¼¥É¤òɽ¼¨¤¹¤ë
1960 DEF NumOfCard(w)=MOD(w,13)
1970 DEF CntOfPacket(C())=C(0) !¥Ñ¥±¥Ã¥ÈÆâ¤Î¥«¡¼¥É¤ÎËç¿ô
1980
1990 LET mk$="SCHD" !¥Þ¡¼¥¯
2000 LET nm$=" A 1 2 3 4 5 6 7 8 910 J Q K" !¢¨£²Ê¸»ú¤º¤Ä
2010
2020 !¥¹¥Ú¡¼¥É¡¢¥¯¥é¥Ö¡¢¥Ï¡¼¥È¡¢¥À¥¤¥ä¥Ñ¥±¥Ã¥È¤ò½é´ü²½¤¹¤ë
2030 DIM cS(0 TO 13),cC(0 TO 13),cH(0 TO 13),cD(0 TO 13)
2040 FOR i=1 TO 13 !À°Îó
2050    LET cS(i)=i !¥¹¥Ú¡¼¥É 1¡Á13
2060    LET cC(i)=i+13 !¥¯¥é¥Ö 14¡Á16
2070    LET cH(i)=i+13*2 !¥Ï¡¼¥È 27¡Á39
2080    LET cD(i)=i+13*3 !¥À¥¤¥ä 40¡Á52
2090 NEXT i
2100 LET cS(0)=13 !Ëç¿ô
2110 LET cC(0)=13
2120 LET cH(0)=13
2130 LET cD(0)=13
2140 !-------------------- ¤³¤³¤Þ¤Ç¤¬¥µ¥Ö¥ë¡¼¥Á¥ó
2150
2160
2170 LET N=12 !Ëç¿ô
2180
2190 DIM Y1(0 TO N+1),Y2(0 TO N+1),Y3(0 TO N+1),Y4(0 TO N+1) !»³£±¡Á12
2200 DIM Y5(0 TO N+1),Y6(0 TO N+1),Y7(0 TO N+1),Y8(0 TO N+1)
2210 DIM Y9(0 TO N+1),Y0(0 TO N+1),Yj(0 TO N+1),Yq(0 TO N+1)
2220
2230 DIM S(0 TO N+1),H(0 TO N+1) !¥¹¥Ú¡¼¥É¡¢¥Ï¡¼¥È¥Ñ¥±¥Ã¥È¤Î½é´ü²½
2240 CALL copy(cS,N, S)
2250 CALL copy(cH,N, H)
2260
2270 CALL dump !ÆâÍÆ¤ò³Îǧ¤¹¤ë
2280 SUB dump
2290    CALL disp(S,"¥¹¥Ú¡¼¥É") !¥È¥ì¡¼¥¹
2300    CALL disp(H,"¥Ï¡¼¥È")
2310    CALL disp(Y1,"»³£±")
2320    CALL disp(Y2,"»³£²")
2330    CALL disp(Y3,"¼Î¤Æ¾ì")
2340    PRINT
2350 END SUB
2360
2370
2380 !£±²óÌÜ
2390 INPUT PROMPT "¹¥¤­¤Ê¿ô»ú(1¡ÁN)¡©": K !¹¥¤­¤Ê¿ô»ú 1¡ÁN
2400
2410 CALL routine
2420 SUB routine !ºî¶È¤ÎÄêµÁ
2430    FOR x=1 TO N !¼ê»ý¤Á¤Î¥«¡¼¥É¤¬¤Ê¤¯¤Ê¤ë¤Þ¤Ç
2440    !!!PRINT x;"ËçÌܤò¥Æ¡¼¥Ö¥ë¤Ø"
2450       CALL dec(S,1,w) !ºï½ü¤¹¤ë
2460       IF x=K THEN !°ìÃפ¹¤ëËç¿ôÌܤʤé¼Î¤Æ¾ì¤Ø
2470          CALL inc(Y3,1,w)
2480          CALL dec(H,1,w) !ÂåÂØ¤È¤·¤Æ¾ì¤«¤é
2490       END IF
2500
2510       IF MOD(x,2)=0 THEN !º¸±¦¸ò¸ß¤Ç»³¤ËÃÖ¤¯
2520          CALL inc(Y2,1,w)
2530       ELSE
2540          CALL inc(Y1,1,w)
2550       END IF
2560
2570       !!!CALL dump !ÆâÍÆ¤ò³Îǧ¤¹¤ë
2580    NEXT x
2590    !!!PRINT
2600 END SUB
2610
2620
2630 !£²²ó¡Á£Î²ó¤Þ¤Ç
2640 DO
2650    CALL add(Y1,Y2, S) !»³¤ò½Å¤Í¤Æ¼ê¤Ë»ý¤Ä
2660    CALL rev(S)
2670
2680    CALL clr(Y1) !»³¤Î¥¯¥ê¥¢
2690    CALL clr(Y2)
2700
2710    IF CntOfPacket(H)=0 THEN EXIT DO !¥Æ¡¼¥Ö¥ë¾å¤Î¥Ï¡¼¥È¥Ñ¥±¥Ã¥È¤¬¤Ê¤¯¤Ê¤ë¤Þ¤Ç
2720
2730    CALL routine
2740 LOOP
2750
2760
2770 CALL move(Y3,99, H) !ºÇ½ª¤Î¾õÂÖ
2780 CALL rev(H)
2790
2800 PRINT
2810 CALL dump !ÆâÍÆ¤ò³Îǧ¤¹¤ë
2820
2830
2840 CALL surprise
2850 SUB surprise
2860    INPUT PROMPT "¥«¡¼¥É¤Î¥Þ¡¼¥¯(S,H)¡©": c$
2870    INPUT PROMPT "¿ô»ú(1¡ÁN)¡©": K
2880
2890    IF UCASE$(c$)="H" THEN
2900       LET w=H(K) !¥¹¥Ú¡¼¥É¤ÎÎó¤Ë¤Ê¤Ã¤Æ¤¤¤ë
2910       LET w=S(w)
2920    ELSE
2930       LET w=MOD(S(K),13) !¥Ï¡¼¥È¤ÎÎó¤Ë¤Ê¤Ã¤Æ¤¤¤ë
2940       LET w=H(w)
2950    END IF
2960    PRINT MarkOfCard$(w); NumOfCard(w) !¥«¡¼¥É¤òɽ¼¨¤¹¤ë
2970 END SUB
2980
2990 !---------- ¢¬¢¬¢¬¢¬¢¬ ---------- Á°È¾¤Î¥Þ¥¸¥Ã¥¯
3000
3010
¤³¤³¤Þ¤Ç¤¬Á°È¾¤Î¥Þ¥¸¥Ã¥¯¤Ç¤¹¡£¡Ê³¤¯¡Ë
 

Re: ¥«¡¼¥É¥Þ¥¸¥Ã¥¯¤Î³¤­

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î 7Æü(¶â)09»þ28ʬ59ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.55[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

¡Ê³¤­¡Ë£²²óÌܤΥޥ¸¥Ã¥¯Éôʬ¡¡¢¨N0.56µ­»ö¤òÈ¿±Ç¡¢¹ÔÈÖ¹æ¤ÎÉÕ²Ã
3020
3030
3040
3050 !CALL copy(cS,12, S) !!!!!°ÜưÀè¤ÎÄ´ºº¡¡<-----¤³¤³
3060 !CALL copy(cS,12, H) !!!!!¡¡<-----¤³¤³
3070 PRINT
3080
3090 CALL inc(H,99, 13) !£Ë¡Ê¥­¥ó¥°¡Ë¤òÄì¤ËÄɲ乤ë
3100
3110
3120 PRINT "¡Ê¥Ï¡¼¥È¥Ñ¥±¥Ã¥È¤ò¡Ë¿ô²ó¥«¥Ã¥È¤¹¤ë¡£"
3130 FOR x=1 TO 5
3140    CALL cut(H,INT(RND*(N+1))+1)
3150 NEXT x
3160
3170 CALL dump2 !ÆâÍÆ¤ò³Îǧ¤¹¤ë
3180 SUB dump2
3190    CALL disp(S,"¥¹¥Ú¡¼¥É") !¥È¥ì¡¼¥¹
3200    CALL disp(H,"¥Ï¡¼¥È")
3210    CALL disp(Y1,"»³£±")
3220    CALL disp(Y2,"»³£²")
3230    CALL disp(Y3,"»³£³")
3240    CALL disp(Y4,"»³£´")
3250    CALL disp(Y5,"»³£µ")
3260    CALL disp(Y6,"»³£¶")
3270    CALL disp(Y7,"»³£·")
3280    CALL disp(Y8,"»³£¸")
3290    CALL disp(Y9,"»³£¹")
3300    CALL disp(Y0,"»³10")
3310    CALL disp(Yj,"»³11")
3320    CALL disp(Yq,"»³12")
3330    PRINT
3340 END SUB
3350
3360
3370
3380 INPUT PROMPT "¹¥¤­¤Ê¿ô»ú¡Ê2¡Á12¡Ë": K
3390
3400 CALL routine2_1(H) !³Æ»³¤ØÊ¬ÇÛ¤¹¤ë
3410 SUB routine2_1(C())
3420    FOR x=1 TO N+1
3430       CALL dec(C,1,w) !£±Ë示¤Ä
3440       !SELECT CASE K-MOD(x-1,K) !¤½¤ì¤¾¤ì¤Î»³¤Ø
3450       SELECT CASE MOD(x-1,K)+1 !¤½¤ì¤¾¤ì¤Î»³¤Ø
3460       CASE 1
3470          CALL inc(Y1,1,w)
3480       CASE 2
3490          CALL inc(Y2,1,w)
3500       CASE 3
3510          CALL inc(Y3,1,w)
3520       CASE 4
3530          CALL inc(Y4,1,w)
3540       CASE 5
3550          CALL inc(Y5,1,w)
3560       CASE 6
3570          CALL inc(Y6,1,w)
3580       CASE 7
3590          CALL inc(Y7,1,w)
3600       CASE 8
3610          CALL inc(Y8,1,w)
3620       CASE 9
3630          CALL inc(Y9,1,w)
3640       CASE 10
3650          CALL inc(Y0,1,w)
3660       CASE 11
3670          CALL inc(Yj,1,w)
3680       CASE 12
3690          CALL inc(Yq,1,w)
3700       CASE ELSE
3710          PRINT "ÃÖ¤¯»³¤¬¤¢¤ê¤Þ¤»¤ó¡£"
3720          STOP
3730       END SELECT
3740    NEXT x
3750    CALL dump2 !ÆâÍÆ¤ò³Îǧ¤¹¤ë
3760 END SUB
3770
3780
3790 PRINT "±¦¤«¤é";MOD(N+1,K);"ÈÖÌܤ˺Ǹå¤Î¥«¡¼¥É¤òÃÖ¤­¤Þ¤·¤¿¡£"
3800 PRINT
3810
3820
3830
3840 INPUT PROMPT "¹¥¤­¤Ê»³¤òÁª¤Ö¡Ê1¡ÁK¡Ë": x
3850
3860 DIM dx(N)
3870 DATA 1,1,1,1,-2,1,-1,-3,4,3,2,1 !²ó¼ýÊýË¡¡¡¢¨£±¤Ê¤é±¦¤Ø£±¡¢¡Ý£²¤Ê¤éº¸¤Ø£²¤Î°Õ
3880 MAT READ dx
3890
3900 DIM yy(0 TO N+1)
3910 CALL routine2_2 !³Æ»³¤«¤é²ó¼ý¤¹¤ë
3920 SUB routine2_2
3930    DO
3940       SELECT CASE MOD(x-1,K)+1
3950       CASE 1
3960          CALL move(Y1,99, yy)
3970       CASE 2
3980          CALL move(Y2,99, yy)
3990       CASE 3
4000          CALL move(Y3,99, yy)
4010       CASE 4
4020          CALL move(Y4,99, yy)
4030       CASE 5
4040          CALL move(Y5,99, yy)
4050       CASE 6
4060          CALL move(Y6,99, yy)
4070       CASE 7
4080          CALL move(Y7,99, yy)
4090       CASE 8
4100          CALL move(Y8,99, yy)
4110       CASE 9
4120          CALL move(Y9,99, yy)
4130       CASE 10
4140          CALL move(Y0,99, yy)
4150       CASE 11
4160          CALL move(Yj,99, yy)
4170       CASE 12
4180          CALL move(Yq,99, yy)
4190       CASE ELSE
4200          PRINT "ÃÖ¤¯»³¤¬¤¢¤ê¤Þ¤»¤ó¡£"
4210          STOP
4220       END SELECT
4230
4240       IF CntOfPacket(yy)=13 THEN EXIT SUB !£±¤Ä¤Ë¤Þ¤È¤Þ¤ë¤Þ¤Ç
4250
4260       PRINT "»³";x;"¤«¤é";
4270       CALL disp(yy,"²ó¼ý¤·¤¿¥«¡¼¥É")
4280       LET x=x+dx(K) !±¦¤Þ¤¿¤Ïº¸¤Ø°Üư¤µ¤»¤Æ³ºÅö¤¹¤ë»³¤Ø½Å¤Í¤ë
4290       PRINT "»³";x;"¤Ë½Å¤Í¤Þ¤¹¡£"
4300       SELECT CASE MOD(x-1,K)+1
4310       CASE 1
4320          CALL add(yy,Y1, Y1)
4330       CASE 2
4340          CALL add(yy,Y2, Y2)
4350       CASE 3
4360          CALL add(yy,Y3, Y3)
4370       CASE 4
4380          CALL add(yy,Y4, Y4)
4390       CASE 5
4400          CALL add(yy,Y5, Y5)
4410       CASE 6
4420          CALL add(yy,Y6, Y6)
4430       CASE 7
4440          CALL add(yy,Y7, Y7)
4450       CASE 8
4460          CALL add(yy,Y8, Y8)
4470       CASE 9
4480          CALL add(yy,Y9, Y9)
4490       CASE 10
4500          CALL add(yy,Y0, Y0)
4510       CASE 11
4520          CALL add(yy,Yj, Yj)
4530       CASE 12
4540          CALL add(yy,Yq, Yq)
4550       CASE ELSE
4560       END SELECT
4570
4580       CALL dump2 !ÆâÍÆ¤ò³Îǧ¤¹¤ë
4590    LOOP
4600 END SUB
4610
4620
4630 PRINT "¡Ê²ó¼ý¤·¤¿¥Ï¡¼¥È¥Ñ¥±¥Ã¥È¤ò¡Ë¿ô²ó¥«¥Ã¥È¤¹¤ë¡£"
4640 FOR x=1 TO 5 !¿ô²ó¥«¥Ã¥È¤¹¤ë
4650    CALL cut(yy,INT(RND*(N+1))+1)
4660 NEXT x
4670 CALL disp(yy,"")
4680
4690
4700 PRINT "£Ë¡Ê¥­¥ó¥°¡Ë¤òÄì¤Ø°Üư¤µ¤»¤ë¤¿¤á¤ËÄ´À°¥«¥Ã¥È¤¹¤ë¡£"
4710 FOR x=1 TO N !°ÌÃÖ¤òõ¤¹
4720    IF MOD(yy(x),N+1)=0 THEN EXIT FOR
4730 NEXT x
4740 IF x=13 THEN !´û¤ËÄì¤Î¾ì¹ç¤Ï²¿¤â¤·¤Ê¤¤
4750 ELSE
4760    CALL cut(yy,x+1) !º¹Ê¬¤ò¥«¥Ã¥È¤¹¤ë
4770 END IF
4780 CALL disp(yy,"")
4790
4800
4810 CALL move(yy,99, H) !ºÇ½ª¤Î¾õÂÖ
4820
4830 LET KEY2=MOD(H(1),N+1) !°ìÈÖ¾å¤Î¿ô»ú¤òµ­²±¤¹¤ë
4840
4850 CALL dump2 !ÆâÍÆ¤ò³Îǧ¤¹¤ë
4860
4870
4880
4890
4900 PRINT KEY2;"¤Î°ÌÃ֤ˡ֣±¡×¤Î¥«¡¼¥É¤¬¤¯¤ë¤è¤¦¤Ë¡Ê¥¹¥Ú¡¼¥É¥Ñ¥±¥Ã¥È¤ò¡Ë¥«¥Ã¥È¤¹¤ë¡£"
4910 FOR x=1 TO N !°ÌÃÖ¤òõ¤¹
4920    IF MOD(S(x),N+1)=1 THEN EXIT FOR
4930 NEXT x
4940 PRINT "¸½ºß¤Î°ÌÃÖ";x
4950 IF x>KEY2 THEN !º¹Ê¬¤ò¥«¥Ã¥È¤¹¤ë
4960    CALL cut(S,x-KEY2+1)
4970 ELSEIF x<KEY2 THEN
4980    CALL cut(S,N-(KEY2-x)+1)
4990 END IF
5000
5010 CALL dump2 !ÆâÍÆ¤ò³Îǧ¤¹¤ë
5020
5030
5040 CALL surprise
5050
5060 !---------- ¢¬¢¬¢¬¢¬¢¬ ----------¡¡¸åȾ¤Î¥Þ¥¸¥Ã¥¯
5070
5080
5090 END
°Ê¾å¡¢Ä¹ÊÔÎϺ
 

´¶ÁÛ

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î 7Æü(¶â)19»þ00ʬ44ÉÃ
ÊÖ¿®¡¦°úÍÑ
  »ä¤Ï¤è¤¯¥×¥í¥°¥é¥à¤¬ºî¤ì¤Ê¤¤¤ó¤Ç¤¹¤¬¡¢´¶³Ð¤È¤·¤Æ¤º¤ì¤òÀ¸¤¸¤Æ¤¤¤ë²Õ½ê¤È¤·¤Æ
»³¤òºî¤é¤»¤ë¿ô»ú¤Ï£²¡Á£±£²¤ÎÈϰϤǤ·¤«¤Ê¤¤¤«¤é¡¢²¼µ­¤ÎÊÕ¤ê¤ÎÄ´À°¤«

¡É
INPUT PROMPT "¹¥¤­¤Ê¿ô»ú¡Ê2¡ÁN:N<=12¡Ë": K
2450
2460 CALL routine2_1(H) !³Æ»³¤ØÊ¬ÇÛ¤¹¤ë
2470 SUB routine2_1(C())
2480    FOR x=1 TO N+1
2490       CALL dec(C,1,w) !£±Ë示¤Ä
2500       SELECT CASE MOD(x-1,K)+1 !¤½¤ì¤¾¤ì¤Î»³¤Ø
¡É
¹¥¤­¤Ê»³¤òÁªÂò¤¹¤ë¤È¤­¤Ï¡¢£±¤Ê¤éư¤­¤Ï¤Ê¤¤¤«¤éDATA ¤ÎºÇ½é¤Ï£°¡©
¤¢¤È2920¹Ô¤Ç¤Ï¡¡wlk(K)¢ªwlk(x)?


2870 INPUT PROMPT "¹¥¤­¤Ê»³¤òÁª¤Ö¡Ê1¡ÁK:K<=N,¤¿¤À¤·0¤Ï½ªÎ»¡Ë": x
2880
2890 DIM wlk(N)
2900 DATA 1,1,1,1,-2,1,-1,-3,4,3,2,1 !²ó¼ýÊýË¡¡¡¢¨£±¤Ê¤é±¦¤Ø£±¡¢¡Ý£²¤Ê¤éº¸¤Ø£²¤Î°Õ
2910 MAT READ wlk
2920 LET KEY1=wlk(K) !½ªÃ¼°ÌÃÖ¤òµ­²±¤¹¤ë
2930
2940 DIM yy(0 TO N+1)
2950 CALL routine2_2 !³Æ»³¤«¤é²ó¼ý¤¹¤ë

¤Î¤è¤¦¤Êµ¤¤¬¤·¤Þ¤¹¡£
¤Ç¤â¤É¤³¤¬¤É¤¦Ä¾¤¹¤«¤Ï¤Þ¤Ã¤¿¤¯¤ï¤«¤ê¤Þ¤»¤ó¡£
 

Re: ´¶ÁÛ

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î 7Æü(¶â)19»þ21ʬ52ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.59[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

£²²óÌܤΥޥ¸¥Ã¥¯Éôʬ¡ÊNo.58µ­»ö¡Ë¤ÎÀèÆ¬²Õ½ê¤Î¥³¥á¥ó¥È¤òºï½ü¤·¤Æ¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
¥¹¥Ú¡¼¥É¡¢¥Ï¡¼¥È¤È¤â¡¢1,2,3,4,5,6,7,8,9,10,11,12¤Ç¥«¡¼¥É¤Îư¤­¤¬¤ï¤«¤ê¤Þ¤¹¡£
¤³¤ì¤¬¼ÂºÝ¤Îư¤­¤ÈƱ¤¸¤Ç¤Ê¤¤²Õ½ê¤¬¥×¥í¥°¥é¥à¥ß¥¹¤È¤Ê¤ê¤Þ¤¹¡£

¤ª¼ê¿ô¤Ç¤¹¤¬¡¢³Îǧ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£



!CALL copy(cS,12,S) !!!!!°ÜưÀè¤ÎÄ´ºº¡¡<----- ¤³¤³
!CALL copy(cS,12,H) !!!!!¡¡<----- ¤³¤³
PRINT

CALL inc(H,99, N+1) !£Ë¡Ê¥­¥ó¥°¡Ë¤òÄì¤ËÄɲ乤ë


PRINT "¡Ê¥Ï¡¼¥È¥Ñ¥±¥Ã¥È¤ò¡Ë¿ô²ó¥«¥Ã¥È¤¹¤ë¡£"
FOR x=1 TO 5
   CALL cut(H,INT(RND*(N+1))+1)
NEXT x

¡Ê°Ê²¼Î¬¡Ë
 

£±£¸¼¡¤Î¥ª¥¤¥é¡¼Êý¿Ø

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î 7Æü(¶â)19»þ31ʬ26ÉÃ
ÊÖ¿®¡¦°úÍÑ
              £±£¸¼¡¤Î¥ª¥¤¥é¡¼Ä¾¸òÊý¿Ø

0X AB T9 W7 Z5 BT 8W 5C 2A Y8 X6 6Z 3Y 92 C3 11 40 74
BY 8X 56 T4 W2 Z0 6T 3W 07 A5 Y3 X1 1Z 4A 7B 99 C8 2C
9Z 6Y 3X 01 TC WA Z8 1T BW 82 50 YB X9 C5 26 44 73 A7
X4 4Z 1Y BX 89 T7 W5 Z3 9T 6W 3A 08 Y6 70 A1 CC 2B 52
Y1 XC CZ 9Y 6X 34 T2 W0 ZB 4T 1W B5 83 28 59 77 A6 0A
3B Y9 X7 7Z 4Y 1X BC TA W8 Z6 CT 9W 60 A3 04 22 51 85
18 B6 Y4 X2 2Z CY 9X 67 T5 W3 Z1 7T 4W 5B 8C AA 09 30
CW 93 61 YC XA AZ 7Y 4X 12 T0 WB Z9 2T 06 37 55 84 B8
AT 7W 4B 19 Y7 X5 5Z 2Y CX 9A T8 W6 Z4 81 B2 00 3C 63
ZC 5T 2W C6 94 Y2 X0 0Z AY 7X 45 T3 W1 39 6A 88 B7 1B
W9 Z7 0T AW 71 4C YA X8 8Z 5Y 2X C0 TB B4 15 33 62 96
T6 W4 Z2 8T 5W 29 C7 Y5 X3 3Z 0Y AX 78 6C 90 BB 1A 41
23 T1 WC ZA 3T 0W A4 72 Y0 XB BZ 8Y 5X 17 48 66 95 C9
80 38 B3 6B 16 91 49 C4 7C 27 A2 5A 05 XX YY ZZ WW TT
7A 25 A0 58 03 8B 36 B1 69 14 9C 47 C2 YT ZX WY TZ XW
57 02 8A 35 B0 68 13 9B 46 C1 79 24 AC ZW WT TX XY YZ
65 10 98 43 CB 76 21 A9 54 0C 87 32 BA WZ TW XT YX ZY
42 CA 75 20 A8 53 0B 86 31 B9 64 1C 97 TY XZ YW ZT WX

£¶¼¡¤Ç¤Ï¹½À®ÉÔ²Äǽ¤Ç¤¢¤ë¤Î¤ËÂФ·¡¢£±£¸¼¡¤â¤ÎÂ礭¤µ¤Ç¤Ï
¤³¤Î¤è¤¦¤Ë¤Ç¤­¤Æ¤·¤Þ¤¦¤³¤È¤Ë£¶¤ÎÉԻ׵Ĥµ¤ò´¶¤¸¤Þ¤¹¡£
£²¼¡¤È£¶¼¡¤À¤±¤Ïºî¤ì¤º¡¢¤½¤ì°Ê³°¤Ç¤Ï²Äǽ¤Ç¤¢¤ë¤³¤È¤¬
¤µ¤é¤ËÉԻ׵ĤǤ¹¡£
 

Re: ´¶ÁÛ

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î 7Æü(¶â)20»þ14ʬ51ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.60[¸µµ­»ö¤Ø]

»³ÃæÏµÁ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> £²²óÌܤΥޥ¸¥Ã¥¯Éôʬ¡ÊNo.58µ­»ö¡Ë¤ÎÀèÆ¬²Õ½ê¤Î¥³¥á¥ó¥È¤òºï½ü¤·¤Æ¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
> ¥¹¥Ú¡¼¥É¡¢¥Ï¡¼¥È¤È¤â¡¢1,2,3,4,5,6,7,8,9,10,11,12¤Ç¥«¡¼¥É¤Îư¤­¤¬¤ï¤«¤ê¤Þ¤¹¡£
> ¤³¤ì¤¬¼ÂºÝ¤Îư¤­¤ÈƱ¤¸¤Ç¤Ê¤¤²Õ½ê¤¬¥×¥í¥°¥é¥à¥ß¥¹¤È¤Ê¤ê¤Þ¤¹¡£



¥¹¥Ú¡¼¥É»¥¤È¥Ï¡¼¥È»¥¤¬µÕ¤Ë¤Ê¤Ã¤¿¾õÂ֤ˤ¢¤ë¤è¤¦¤Êµ¤¤¬¤·¤Þ¤¹¡£
¥Ï¡¼¥È¤ÎK¡Ê£±£³¡Ë¤òÉÕ¤±²Ã¤¨¤ë¤È¤­¤Ë¡¢¤Ê¤Ë¤«¥¹¥Ú¡¼¥É»¥¤ÎÊý¤Ë²Ã¤ï¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë
´¶¤¸¤Þ¤¹¡£
ºÇ½é¤Î»¥¤Î¸ò´¹¤Î¤È¤­¡¢¸µ¡¹¼ê¤Ë¤·¤Æ¤¤¤¿¥¹¥Ú¡¼¥É¥Ñ¥±¥Ã¥È¤¬¡¢·ë²ÌŪ¤Ë¥Ï¡¼¥È¥«¡¼¥É
¤Î½¸¤Þ¤ê¤ËÊѲ½¤·¤Æ¤·¤Þ¤¦¤³¤È¤¬±Æ¶Á¤·¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©
 

ÄɲÃ

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î 7Æü(¶â)20»þ37ʬ36ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.62[¸µµ­»ö¤Ø]

¥Ï¡¼¥È¥«¡¼¥É¤È¤·¤Æ½èÍý¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤ò¥¹¥Ú¡¼¥É¤ËÆÉ¤ßÂØ¤¨¤Æ¥«¡¼¥É¤ÎʤӤò¤ß¤Æ¤ß¤Þ¤¹¤È¡¢ºÇ¸å ¤ÎK¤ò²Ã¤¨»³¤ò¹½À®¤·¤Æ¡¢½¸¤á¤Æ°ì¤Ä¤Ë¤·¤¿¥Ñ¥±¥Ã¥È¤ÇK¤ò°ìÈÖ²¼¤Ë¥³¥ó¥È¥í¡¼¥ë¤·¤¿¥«¥Ã¥È¤Î¸å¤Î¿ô¤ÎʤӤ¬¡¢K¤À¤±¤Ï£±£³ÈÖÌܤÇÀµ¤·¤¤¤Ç¤¹¤¬¡¢£±¡Á£±£²ÈÖ Ìܤˤ¢¤ë¥«¡¼¥É°ÌÃÖ¤¬¤Þ¤Ã¤¿¤¯µÕ¤Ç£±ÈÖ¤¬£±£²ÈÖÌÜ¡¢£²ÈÖÌܤ¬£±£±ÈÖÌÜ¡¢£³ÈÖ¤¬£±£°ÈÖÌÜ¡¢¡¦¡¦¡¦
¤È¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£
 

Re: ÄɲÃ

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î 7Æü(¶â)20»þ53ʬ27ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.63[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¥¹¥Ú¡¼¥É»¥¤È¥Ï¡¼¥È»¥¤¬µÕ¤Ë¤Ê¤Ã¤¿¾õÂ֤ˤ¢¤ë¤è¤¦¤Êµ¤¤¬¤·¤Þ¤¹¡£
> ¥Ï¡¼¥È¤ÎK¡Ê£±£³¡Ë¤òÉÕ¤±²Ã¤¨¤ë¤È¤­¤Ë¡¢¤Ê¤Ë¤«¥¹¥Ú¡¼¥É»¥¤ÎÊý¤Ë²Ã¤ï¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë
> ´¶¤¸¤Þ¤¹¡£
> ºÇ½é¤Î»¥¤Î¸ò´¹¤Î¤È¤­¡¢¸µ¡¹¼ê¤Ë¤·¤Æ¤¤¤¿¥¹¥Ú¡¼¥É¥Ñ¥±¥Ã¥È¤¬¡¢·ë²ÌŪ¤Ë¥Ï¡¼¥È¥«¡¼¥É

¤Ï¤¤¡¢¤½¤¦¤Ç¤¹¡£
¥¹¥Ú¡¼¥É¡¢¥Ï¡¼¥È¥Ñ¥±¥Ã¥È¤ÏÏÀÍýŪ¤Ê̾¤Þ¤¨¤È¤·¤Æ°·¤Ã¤Æ¤¯¤À¤µ¤¤¡£
¡ÊÊ̤ˤɤÁ¤é¤½¤¦¤À¤È¸À¤¦É¬ÍפϤʤ¤¤Ï¤º¤Ç¤¹¡£¸ß¤¤¤Ë»²¾È¤µ¤ì¹ç¤Ã¤Æ¤¤¤Þ¤¹¤«¤é¡Ë
¼ÂºÝ¤ÎÁàºî¤Ï¡¢¥«¡¼¥É¤Ç¤Î¥Þ¡¼¥¯¤Ç½èÍý¤¹¤ë¤Î¤Ç¤¹¤Í¡©
³«»Ï¤¹¤ëÁ°¤ËSWAP¤µ¤ì¤ì¤Ð¤¤¤¤¤À¤±¤Ç¤¹¤Î¤Ç¡¢¥×¥í¥°¥é¥à¤Ïľ¤·¤Þ¤¹¡£


> ¥Ï¡¼¥È¥«¡¼¥É¤È¤·¤Æ½èÍý¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤ò¥¹¥Ú¡¼¥É¤ËÆÉ¤ßÂØ¤¨¤Æ¥«¡¼¥É¤ÎʤӤò¤ß¤Æ¤ß¤Þ¤¹¤È¡¢ºÇ¸å¤ÎK¤ò²Ã¤¨»³¤ò¹½À®¤·¤Æ¡¢½¸¤á¤Æ°ì¤Ä¤Ë¤·¤¿¥Ñ¥±¥Ã¥È¤ÇK¤ò °ìÈÖ²¼¤Ë¥³¥ó¥È¥í¡¼¥ë¤·¤¿¥«¥Ã¥È¤Î¸å¤Î¿ô¤ÎʤӤ¬¡¢K¤À¤±¤Ï£±£³ÈÖÌܤÇÀµ¤·¤¤¤Ç¤¹¤¬¡¢£±¡Á£±£²ÈÖÌܤˤ¢¤ë¥«¡¼¥É°ÌÃÖ¤¬¤Þ¤Ã¤¿¤¯µÕ¤Ç£±ÈÖ¤¬£±£²ÈÖÌÜ¡¢£²ÈÖÌÜ ¤¬£±£±ÈÖÌÜ¡¢£³ÈÖ¤¬£±£°ÈÖÌÜ¡¢¡¦¡¦¡¦
> ¤È¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£


¶ñÂÎŪ¤Ë¡Ö¹¥¤­¤Ê¿ô¡×¡ÖÁªÂò¤·¤¿»³¤ÎÈÖ¹æ¡×¤Ê¤É¤ò¶µ¤¨¤Æ¤¯¤À¤µ¤¤¡£
Á°½Ð¤Î¡Ö£±£³¤Î¥Æ¡¼¥Ö¥ë¡×¤Î¿ô¤À¤±Ê¤ÓÂØ¤¨¤¬µ¯¤³¤ê¤Þ¤¹¤Î¤Ç¡¢¶èÊ̤¹¤ë¤¿¤á¤Ë¡£

¤½¤ì¤¬¼ÂºÝ¤Î¥«¡¼¥É¤Ç¤Îư¤­¤È°ã¤¤¤¬¤¢¤ê¤Þ¤¹¤«¡©
 

ÅÀ¸¡

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î 7Æü(¶â)22»þ18ʬ20ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ºÇ½é¤ÎÃʳ¬¤ÎµÒ¤ÎÁª¤ó¤À¿ô¤ò£µ
¸åȾ¤Ç¤Î¹¥¤­¤Ê¿ô¤ò£³
¤È¤·¤Æ¥«¡¼¥É¤¬ÇÛ¤é¤ì¤Æ¤¤¤¯»³¤Î½ç½ø¤ò¸«¤¿¤é¡¢£±¡¤£²¡¤£³¡¤£±¡¤£²¡¤£³¤È¥«¡¼¥É¤òÇÛ¤é¤Í¤Ð¤Ê¤é¤Ì¤È¤³¤í¤ò¡¢£±¡¤£³¡¤£²¡¤£±¡¤£³¡¤£²¡¦¡¦¡¦¤ÈÇÛ¤é¤ì¤Æ¤¤¤Ã¤Æ¤¤¤ë¤è¤¦¤ÊÍͻҤǤ¹¡£
¤¿¤Ö¤ó¤³¤Î½ç½ø¤Ï¥«¡¼¥É¤òÇۤ꽪¤ï¤Ã¤¿¤È¤­¡¢»³¤ò²ó¼ý¤·¤Æ¤¤¤¯½ç½ø¤È»×¤ï¤ì¤Þ¤¹¡£
 

ÄɲÃ

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î 7Æü(¶â)22»þ47ʬ46ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¤½¤·¤Æ»³¤Ë¤Ê¤Ã¤¿¥«¡¼¥É¤ò½Å¤Í¤ë¤È¤­¡¢»³¤Î¥«¡¼¥É¤ò¤º¤é¤·¤¿°ÌÃ֤λ³¤Î¾å¤Ë½Å¤Í¤ë¤È¤³¤í¤¬¡¢»³¤Î²¼¤Ë¤Ê¤Ã¤Æ½Å¤Ê¤Ã¤Æ¤¤¤¯½ç½ø¤Ë¸«¤¨¤Þ¤¹¡£¡Ê²èÌ̤ǥ«¡¼¥É¤Î¿ô»ú¤ÎʤӤòº¸¤«¤é½ç¤Ë¸«¤ë¤È¤­¡¢Î¢¸þ¤­¤Ë¤·¤Æ¾å¤Ë¤Ê¤ë½çÈ֤Ȥ·¤Æ²ò¼á¤·¤Æ¸«¤Æ¤¤¤Þ¤¹¡£¡Ë  

Re: ÅÀ¸¡

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î 7Æü(¶â)22»þ53ʬ41ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.65[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ºÇ½é¤ÎÃʳ¬¤ÎµÒ¤ÎÁª¤ó¤À¿ô¤ò£µ
> ¸åȾ¤Ç¤Î¹¥¤­¤Ê¿ô¤ò£³


¥³¥á¥ó¥È¤Ï̵¸ú¤·¤Æ¡¢º£·ÇºÜ¤·¤Æ¤¤¤ë¥×¥í¥°¥é¥à¤Ç¼Â¹Ô¤·¤Æ¤ß¤Þ¤·¤¿¡£
¡¡3050 CALL copy(cS,12, S) !!!!!°ÜưÀè¤ÎÄ´ºº¡¡<-----¤³¤³
¡¡3060 CALL copy(cS,12, H) !!!!!¡¡<-----¤³¤³

¥È¥ì¡¼¥¹¤Î¤É¤³¤«¶ñÂÎŪ¤Ë»ØÅ¦¤·¤Æ¤¯¤À¤µ¤¤¡£
¥¹¥Ú¡¼¥É( 12 Ëç) 1  2  3  4  5  6  7  8  9  10  11  12
¥Ï¡¼¥È( 12 Ëç) 27  28  29  30  31  32  33  34  35  36  37  38
»³£±( 0 Ëç)
»³£²( 0 Ëç)
¼Î¤Æ¾ì( 0 Ëç)

¹¥¤­¤Ê¿ô»ú(1¡ÁN)¡©5¡¡<-----¢¨

¥¹¥Ú¡¼¥É( 12 Ëç) 30  31  34  32  27  35  29  33  38  28  37  36
¥Ï¡¼¥È( 12 Ëç) 5  10  7  1  2  4  8  3  6  12  11  9
»³£±( 0 Ëç)
»³£²( 0 Ëç)
¼Î¤Æ¾ì( 0 Ëç)

¥«¡¼¥É¤Î¥Þ¡¼¥¯(S,H)¡©s¡¡<-----¢¨
¿ô»ú(1¡ÁN)¡©3¡¡<-----¢¨
S 3

¡Ê¥Ï¡¼¥È¥Ñ¥±¥Ã¥È¤ò¡Ë¿ô²ó¥«¥Ã¥È¤¹¤ë¡£
¥¹¥Ú¡¼¥É( 12 Ëç) 1  2  3  4  5  6  7  8  9  10  11  12
¥Ï¡¼¥È( 13 Ëç) 8  9  10  11  12  13  1  2  3  4  5  6  7
»³£±( 0 Ëç)
»³£²( 0 Ëç)
»³£³( 0 Ëç)
»³£´( 0 Ëç)
»³£µ( 0 Ëç)
»³£¶( 0 Ëç)
»³£·( 0 Ëç)
»³£¸( 0 Ëç)
»³£¹( 0 Ëç)
»³10( 0 Ëç)
»³11( 0 Ëç)
»³12( 0 Ëç)

¹¥¤­¤Ê¿ô»ú¡Ê2¡Á12¡Ë3¡¡<-----¢¨
¥¹¥Ú¡¼¥É( 12 Ëç) 1  2  3  4  5  6  7  8  9  10  11  12
¥Ï¡¼¥È( 0 Ëç)
»³£±( 5 Ëç) 7  4  1  11  8 ¡¡<-----¢¨¤³¤³¤¬¤ª¤«¤·¤¤¤Î¤Ç¤¹¤«¡ª¡©
»³£²( 4 Ëç) 5  2  12  9
»³£³( 4 Ëç) 6  3  13  10
»³£´( 0 Ëç)
»³£µ( 0 Ëç)
»³£¶( 0 Ëç)
»³£·( 0 Ëç)
»³£¸( 0 Ëç)
»³£¹( 0 Ëç)
»³10( 0 Ëç)
»³11( 0 Ëç)
»³12( 0 Ëç)

±¦¤«¤é 1 ÈÖÌܤ˺Ǹå¤Î¥«¡¼¥É¤òÃÖ¤­¤Þ¤·¤¿¡£

¹¥¤­¤Ê»³¤òÁª¤Ö¡Ê1¡ÁK¡Ë2
»³ 2 ¤«¤é²ó¼ý¤·¤¿¥«¡¼¥É( 4 Ëç) 5  2  12  9
»³ 3 ¤Ë½Å¤Í¤Þ¤¹¡£
¥¹¥Ú¡¼¥É( 12 Ëç) 1  2  3  4  5  6  7  8  9  10  11  12
¥Ï¡¼¥È( 0 Ëç)
»³£±( 5 Ëç) 7  4  1  11  8
»³£²( 0 Ëç)
»³£³( 8 Ëç) 5  2  12  9  6  3  13  10
»³£´( 0 Ëç)
»³£µ( 0 Ëç)
»³£¶( 0 Ëç)
»³£·( 0 Ëç)
»³£¸( 0 Ëç)
»³£¹( 0 Ëç)
»³10( 0 Ëç)
»³11( 0 Ëç)
»³12( 0 Ëç)

»³ 3 ¤«¤é²ó¼ý¤·¤¿¥«¡¼¥É( 8 Ëç) 5  2  12  9  6  3  13  10
»³ 4 ¤Ë½Å¤Í¤Þ¤¹¡£
¥¹¥Ú¡¼¥É( 12 Ëç) 1  2  3  4  5  6  7  8  9  10  11  12
¥Ï¡¼¥È( 0 Ëç)
»³£±( 13 Ëç) 5  2  12  9  6  3  13  10  7  4  1  11  8
»³£²( 0 Ëç)
»³£³( 0 Ëç)
»³£´( 0 Ëç)
»³£µ( 0 Ëç)
»³£¶( 0 Ëç)
»³£·( 0 Ëç)
»³£¸( 0 Ëç)
»³£¹( 0 Ëç)
»³10( 0 Ëç)
»³11( 0 Ëç)
»³12( 0 Ëç)

¡Ê²ó¼ý¤·¤¿¥Ï¡¼¥È¥Ñ¥±¥Ã¥È¤ò¡Ë¿ô²ó¥«¥Ã¥È¤¹¤ë¡£
( 13 Ëç) 8  5  2  12  9  6  3  13  10  7  4  1  11
£Ë¡Ê¥­¥ó¥°¡Ë¤òÄì¤Ø°Üư¤µ¤»¤ë¤¿¤á¤ËÄ´À°¥«¥Ã¥È¤¹¤ë¡£
( 13 Ëç) 10  7  4  1  11  8  5  2  12  9  6  3  13
¥¹¥Ú¡¼¥É( 12 Ëç) 1  2  3  4  5  6  7  8  9  10  11  12
¥Ï¡¼¥È( 13 Ëç) 10  7  4  1  11  8  5  2  12  9  6  3  13
»³£±( 0 Ëç)
»³£²( 0 Ëç)
»³£³( 0 Ëç)
»³£´( 0 Ëç)
»³£µ( 0 Ëç)
»³£¶( 0 Ëç)
»³£·( 0 Ëç)
»³£¸( 0 Ëç)
»³£¹( 0 Ëç)
»³10( 0 Ëç)
»³11( 0 Ëç)
»³12( 0 Ëç)

 10 ¤Î°ÌÃ֤ˡ֣±¡×¤Î¥«¡¼¥É¤¬¤¯¤ë¤è¤¦¤Ë¡Ê¥¹¥Ú¡¼¥É¥Ñ¥±¥Ã¥È¤ò¡Ë¥«¥Ã¥È¤¹¤ë¡£
¸½ºß¤Î°ÌÃÖ 1
¥¹¥Ú¡¼¥É( 12 Ëç) 4  5  6  7  8  9  10  11  12  1  2  3
¥Ï¡¼¥È( 13 Ëç) 10  7  4  1  11  8  5  2  12  9  6  3  13
»³£±( 0 Ëç)
»³£²( 0 Ëç)
»³£³( 0 Ëç)
»³£´( 0 Ëç)
»³£µ( 0 Ëç)
»³£¶( 0 Ëç)
»³£·( 0 Ëç)
»³£¸( 0 Ëç)
»³£¹( 0 Ëç)
»³10( 0 Ëç)
»³11( 0 Ëç)
»³12( 0 Ëç)

¥«¡¼¥É¤Î¥Þ¡¼¥¯(S,H)¡©s
¿ô»ú(1¡ÁN)¡©5
S 2
 

¿·È¯¸«

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î 7Æü(¶â)23»þ35ʬ17ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ºÇ½é¤ÎÃʳ¬¤ÎµÒ¤Î¿ô»ú¤ò£µ¤È¤·¤Æ¡¢¥Ï¡¼¥È¤È¥¹¥Ú¡¼¥É¤Î¥Ñ¥±¥Ã¥È¤Î¹½À®¤ò¤·¤Æ¤ß¤ë¤È
¥Ï¡¼¥È¡§£´,£µ,£¸,£¶,£±¡¤£¹¡¤£³¡¤£·¡¤£±£²¡¤£²¡¤£±£±¡¤£±£°
¥¹¥Ú¡¼¥É¡§£µ,£±£°,£·,£±,£²¡¤£´¡¤£¸¡¤£³¡¤£¶¡¤£±£²¡¤£±£±¡¤£¹
¤È¤Ê¤ê¤Þ¤¹¡£¡Ê¿ô»ú¤Ïº¸¤è¤ê΢¸þ¤­¤Ç½Å¤Í¤¿¤È¤­¾å¤«¤é¤Î½çÈ֤Ǥ¹¡£¡Ë
¤³¤³¤ÇÌÌÇò¤¤¤³¤È¤Ëµ¤¤¬¤Ä¤­¤Þ¤·¤¿¡£
¥Ï¡¼¥È¤Î¥Ü¥È¥à¤ËK¤òÄɲ䷤ơ¢Å¬Åö¤Ë¿ô²ó¥«¥Ã¥È¸å
µÒ¤Î¿ô»ú¤ò£³¤È¤·¤Æ¡¢£³¤Ä¤Î»³¤ËÇÛ¤ê¡Ê¥Ñ¥±¥Ã¥È¤Ïɽ¸þ¤­¤Ë»ý¤Ã¤ÆÇۤ뤳¤È¤Ë¤Ê¤ë¡Ë
»ØÄꤹ¤ë»³¤ò£²¤È¤·¤Æ¡¢²ó¼ý¤·¤Æ¡¢ºÇ¸å¤Î¥«¥Ã¥È¤ÇK¤ò¥Ü¥È¥à¤ËÇÛÃÖ¤¹¤ë¤È
¥Ï¡¼¥È¡§£²,£³,£¶,£´,£±£±¡¤£·¡¤£±¡¤£µ¡¤£±£°¡¤£±£²¡¤£¹¡¤£¸¡¤£±£³
A¤ÎÄ´À°¤Ç¥¹¥Ú¡¼¥É¥Ñ¥±¥Ã¥È¤Î¥«¥Ã¥È¡ÊA¤ò£²ËçÌܤ˻ý¤Ã¤ÆÍè¤ë¡Ë¸å¤Ï
¥¹¥Ú¡¼¥É¡§£·,£±,£²,£´,£¸¡¤£³¡¤£¶¡¤£±£²¡¤£±£±¡¤£¹¡¤£µ¡¤£±£°
¤ÎÇÛÎó¤ò¤Ê¤·¤Æ¡¢¤ª¸ß¤¤¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬Âбþ¤¹¤ë¡£
¤·¤«¤·¡¢
¥¹¥Ú¡¼¥É¤ÎÇÛÎó¤ÎºÇ¸å¤ËK¤ò²Ã¤¨¡¢Æ±¤¸Íͤ˿ôÅ٤Υ«¥Ã¥È¸å
£³¤Ä¤Î»³¤ò¤Ä¤¯¤ê¡¢£²¤Î»³¤«¤é²ó¼ý¤ò»Ï¤á°ì¤Ä¤Ë¤Þ¤È¤á¡¢K¤ò¥Ü¥È¥à¤Ç¥«¥Ã¥È¤¹¤ë¤È
¥¹¥Ú¡¼¥É¡§£±£²,£¸,£±,£µ,£±£±¡¤£³¡¤£²¡¤£±£°¡¤£¹¡¤£¶¡¤£´¡¤£·¡¤£±£³
¤³¤ì¤Ë¹ç¤ï¤»¤Æ¥Ï¡¼¥È¥Ñ¥±¥Ã¥È¤òA¤¬£±£²ËçÌܤˤʤë¤è¤¦¤Ë¥«¥Ã¥È¤·¤Æ¤ä¤ë¤È
¥Ï¡¼¥È¡§£¹,£³,£·,£±£²¡¤£²¡¤£±£±¡¤£±£°¡¤£´¡¤£µ¡¤£¸¡¤£¶¡¤£±
¤Ç¤³¤ì¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë¤Ï¤Ê¤ó¤Î´Ø·¸¤âÊݸ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¡ÊÉԻ׵ġª¡ª¡ª¡Ë

¤¹¤Ê¤ï¤Á¡¢Áê¸ßƱÃͤ˸«¤¨¤Æ¼Â¤Ï¤Þ¤Ã¤¿¤¯°Û¤Ê¤ë¹½Â¤¤Ç¤¢¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
Äɲ乤٤­¤Ï¥Ï¡¼¥È¤ÎK¤Ç¤¢¤ê¡¢¤³¤Î¤³¤È¤¬º®Í𤷤Ƥ¤¤ë¸¶°ø¤È»×¤¤¤Þ¤¹¡£
 

Re: ÅÀ¸¡

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î 8Æü(ÅÚ)00»þ14ʬ26ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.67[¸µµ­»ö¤Ø]

»³ÃæÏµÁ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£
>
> > ºÇ½é¤ÎÃʳ¬¤ÎµÒ¤ÎÁª¤ó¤À¿ô¤ò£µ
> > ¸åȾ¤Ç¤Î¹¥¤­¤Ê¿ô¤ò£³
>
>
> ¥³¥á¥ó¥È¤Ï̵¸ú¤·¤Æ¡¢º£·ÇºÜ¤·¤Æ¤¤¤ë¥×¥í¥°¥é¥à¤Ç¼Â¹Ô¤·¤Æ¤ß¤Þ¤·¤¿¡£
> ¡¡3050 CALL copy(cS,12, S) !!!!!°ÜưÀè¤ÎÄ´ºº¡¡<-----¤³¤³
> ¡¡3060 CALL copy(cS,12, H) !!!!!¡¡<-----¤³¤³
>
> ¥È¥ì¡¼¥¹¤Î¤É¤³¤«¶ñÂÎŪ¤Ë»ØÅ¦¤·¤Æ¤¯¤À¤µ¤¤¡£
>
> <PRE>
> ¥¹¥Ú¡¼¥É( 12 Ëç) 1  2  3  4  5  6  7  8  9  10  11  12
> ¥Ï¡¼¥È( 12 Ëç) 27  28  29  30  31  32  33  34  35  36  37  38
> »³£±( 0 Ëç)
> »³£²( 0 Ëç)
> ¼Î¤Æ¾ì( 0 Ëç)
>
> ¹¥¤­¤Ê¿ô»ú(1¡ÁN)¡©5¡¡<-----¢¨
>
> ¥¹¥Ú¡¼¥É( 12 Ëç) 30  31  34  32  27  35  29  33  38  28  37  36
> ¥Ï¡¼¥È( 12 Ëç) 5  10  7  1  2  4  8  3  6  12  11  9
> »³£±( 0 Ëç)
> »³£²( 0 Ëç)¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ö¥Ï¡¼¥È¥Ñ¥±¥Ã¥È¤Î¿ô»ú¤ÎʤÓ
> ¼Î¤Æ¾ì( 0 Ëç)¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡        ¡¡4,5,8,6,1,9,3,7,12,2,11,10
>                                       ¤³¤³¤Ç¤Ï¥¹¥Ú¡¼¥É¤Î30,31,34,¡¦¡¦¤Ç¥È¥ì¡¼¥¹
> ¥«¡¼¥É¤Î¥Þ¡¼¥¯(S,H)¡©s¡¡<-----¢¨¡¡¡¡¡¡¡¡¡ö¥¹¥Ú¡¼¥É¥Ñ¥±¥Ã¥È¤Î¿ô»ú¤ÎʤÓ
> ¿ô»ú(1¡ÁN)¡©3¡¡<-----¢¨¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡5,10,7,1,2,4,8,3,6,12,11,9
> S 3                                 ¤³¤³¤Ç¤Ï¥Ï¡¼¥È¤ÎÎó¤È¤·¤Æ¥È¥ì¡¼¥¹¤µ¤ì¤Æ¤¤¤ë
>
> ¡Ê¥Ï¡¼¥È¥Ñ¥±¥Ã¥È¤ò¡Ë¿ô²ó¥«¥Ã¥È¤¹¤ë¡£
> ¥¹¥Ú¡¼¥É( 12 Ëç) 1  2  3  4  5  6  7  8  9  10  11  12
> ¥Ï¡¼¥È( 13 Ëç) 8  9  10  11  12  13  1  2  3  4  5  6  7
> »³£±( 0 Ëç)¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ö¤³¤³¤Ï¥«¡¼¥É¤¬1,2,3,¡¦¡¦¤È½ç½ø¤è¤¯¤Ê¤Ã¤Æ¤¤¤Þ
> »³£²( 0 Ëç)¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤¹¤¬¡¢¤µ¤­¤Î¥«¡¼¥É¤Î½çÈ֤dz¤­¤ò¤ä¤ë¤³¤È¤Ë
> »³£³( 0 Ëç)¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤Ê¤ê¤Þ¤¹¡£
> »³£´( 0 Ëç)
> »³£µ( 0 Ëç)
> »³£¶( 0 Ëç)
> »³£·( 0 Ëç)
> »³£¸( 0 Ëç)
> »³£¹( 0 Ëç)
> »³10( 0 Ëç)
> »³11( 0 Ëç)
> »³12( 0 Ëç)
>
> ¹¥¤­¤Ê¿ô»ú¡Ê2¡Á12¡Ë3¡¡<-----¢¨
> ¥¹¥Ú¡¼¥É( 12 Ëç) 1  2  3  4  5  6  7  8  9  10  11  12
> ¥Ï¡¼¥È( 0 Ëç)
> »³£±( 5 Ëç) 7  4  1  11  8 ¡¡<-----¢¨¤³¤³¤¬¤ª¤«¤·¤¤¤Î¤Ç¤¹¤«¡ª¡©
> »³£²( 4 Ëç) 5  2  12  9¡¡¡¡¡¡¡¡¡¡É½¸þ¤­¤ÇÇÛ¤ê¤Þ¤¹¤«¤é¡¢»³£±¡¤£²¡¤£³¤Ë¤Ï
> »³£³( 4 Ëç) 6  3  13  10¡¡¡¡¡¡¡¡¡¡7,6,5,¡¦¡¦¡¦¤È¥«¡¼¥É¤¬Æþ¤ë¤È»×¤¤¤Þ¤¹¡£
> »³£´( 0 Ëç)
> »³£µ( 0 Ëç)
> »³£¶( 0 Ëç)
> »³£·( 0 Ëç)
> »³£¸( 0 Ëç)
> »³£¹( 0 Ëç)
> »³10( 0 Ëç)
> »³11( 0 Ëç)
> »³12( 0 Ëç)
>
> ±¦¤«¤é 1 ÈÖÌܤ˺Ǹå¤Î¥«¡¼¥É¤òÃÖ¤­¤Þ¤·¤¿¡£
>
> ¹¥¤­¤Ê»³¤òÁª¤Ö¡Ê1¡ÁK¡Ë2
> »³ 2 ¤«¤é²ó¼ý¤·¤¿¥«¡¼¥É( 4 Ëç) 5  2  12  9
> »³ 3 ¤Ë½Å¤Í¤Þ¤¹¡£
> ¥¹¥Ú¡¼¥É( 12 Ëç) 1  2  3  4  5  6  7  8  9  10  11  12
> ¥Ï¡¼¥È( 0 Ëç)
> »³£±( 5 Ëç) 7  4  1  11  8
> »³£²( 0 Ëç)
> »³£³( 8 Ëç) 5  2  12  9  6  3  13  10¡¡¡¡¡¡¡ö»³¤ò¾å¤Ë½Å¤Í¤Þ¤¹¤«¤é¤³¤³¤Ï
> »³£´( 0 Ëç)¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡6,3,13,10,5,2,12,9
> »³£µ( 0 Ëç)                                 ¤Î½ç½ø¤Ë¤Ê¤ë¤È»×¤¤¤Þ¤¹¡£
> »³£¶( 0 Ëç)
> »³£·( 0 Ëç)
> »³£¸( 0 Ëç)
> »³£¹( 0 Ëç)
> »³10( 0 Ëç)
> »³11( 0 Ëç)
> »³12( 0 Ëç)
>
> »³ 3 ¤«¤é²ó¼ý¤·¤¿¥«¡¼¥É( 8 Ëç) 5  2  12  9  6  3  13  10
> »³ 4 ¤Ë½Å¤Í¤Þ¤¹¡£
> ¥¹¥Ú¡¼¥É( 12 Ëç) 1  2  3  4  5  6  7  8  9  10  11  12
> ¥Ï¡¼¥È( 0 Ëç)
> »³£±( 13 Ëç) 5  2  12  9  6  3  13  10  7  4  1  11  8 ¡¡¡öƱÍͤˤ³¤³¤â¤½¤¦¤Ç¤¹
> »³£²( 0 Ëç)
> »³£³( 0 Ëç)
> »³£´( 0 Ëç)
> »³£µ( 0 Ëç)
> »³£¶( 0 Ëç)
> »³£·( 0 Ëç)
> »³£¸( 0 Ëç)
> »³£¹( 0 Ëç)
> »³10( 0 Ëç)
> »³11( 0 Ëç)
> »³12( 0 Ëç)
>
> ¡Ê²ó¼ý¤·¤¿¥Ï¡¼¥È¥Ñ¥±¥Ã¥È¤ò¡Ë¿ô²ó¥«¥Ã¥È¤¹¤ë¡£
> ( 13 Ëç) 8  5  2  12  9  6  3  13  10  7  4  1  11
> £Ë¡Ê¥­¥ó¥°¡Ë¤òÄì¤Ø°Üư¤µ¤»¤ë¤¿¤á¤ËÄ´À°¥«¥Ã¥È¤¹¤ë¡£
> ( 13 Ëç) 10  7  4  1  11  8  5  2  12  9  6  3  13
> ¥¹¥Ú¡¼¥É( 12 Ëç) 1  2  3  4  5  6  7  8  9  10  11  12
> ¥Ï¡¼¥È( 13 Ëç) 10  7  4  1  11  8  5  2  12  9  6  3  13
> »³£±( 0 Ëç)
> »³£²( 0 Ëç)
> »³£³( 0 Ëç)
> »³£´( 0 Ëç)
> »³£µ( 0 Ëç)
> »³£¶( 0 Ëç)
> »³£·( 0 Ëç)
> »³£¸( 0 Ëç)
> »³£¹( 0 Ëç)
> »³10( 0 Ëç)
> »³11( 0 Ëç)
> »³12( 0 Ëç)
>
>  10 ¤Î°ÌÃ֤ˡ֣±¡×¤Î¥«¡¼¥É¤¬¤¯¤ë¤è¤¦¤Ë¡Ê¥¹¥Ú¡¼¥É¥Ñ¥±¥Ã¥È¤ò¡Ë¥«¥Ã¥È¤¹¤ë¡£
> ¸½ºß¤Î°ÌÃÖ 1
> ¥¹¥Ú¡¼¥É( 12 Ëç) 4  5  6  7  8  9  10  11  12  1  2  3
> ¥Ï¡¼¥È( 13 Ëç) 10  7  4  1  11  8  5  2  12  9  6  3  13
> »³£±( 0 Ëç)
> »³£²( 0 Ëç)
> »³£³( 0 Ëç)
> »³£´( 0 Ëç)
> »³£µ( 0 Ëç)
> »³£¶( 0 Ëç)
> »³£·( 0 Ëç)
> »³£¸( 0 Ëç)
> »³£¹( 0 Ëç)
> »³10( 0 Ëç)
> »³11( 0 Ëç)
> »³12( 0 Ëç)
>
> ¥«¡¼¥É¤Î¥Þ¡¼¥¯(S,H)¡©s
> ¿ô»ú(1¡ÁN)¡©5
> S 2
> </PRE>
 

Re: ÅÀ¸¡

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î 8Æü(ÅÚ)08»þ04ʬ0ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.69[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

¤ª¼ê¿ô¤ª¤«¤±¤·¤Þ¤·¤¿¡£¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
 

Re: ¿·È¯¸«

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î 8Æü(ÅÚ)11»þ49ʬ44ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.68[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

¥Ï¡¼¥È¤Î£Ë¡Ê¥­¥ó¥°¡Ë¤Ë¤è¤ë¥·¥ã¥Ã¥Õ¥ë¤ò¤¹¤Ù¤ÆÄ´¤Ù¤Æ¸«¤Þ¤·¤¿¡£
¤¹¤Ù¤Æ´Ø·¸À­¤ÏÊݤ¿¤ì¤ë¤è¤¦¤Ç¤¹¡£

·ë²Ì¤«¤é¡Ö£±£³¤Ç¤Î¥·¥ã¥Ã¥Õ¥ë¡×¤È¡Ö¤½¤Î¥«¥Ã¥È¡×¡Ê¤½¤¦¸Æ¤Ö¤³¤È¤Ë¤·¤Þ¤¹¡Ë¤Î´Ø·¸À­¤Ï
³Îǧ¤Ç¤­¤Þ¤¹¤¬¡¢¿ôÍýŪ¤Ë¤Ï¤¦¤Þ¤¯ÀâÌÀ¤Ç¤­¤Þ¤»¤ó¡£¡Ê¹çƱ¼°¤«¤Ê¡©¡Ë

¤Þ¤¿¥¹¥Ú¡¼¥É¤ÎÊý¤â³Îǧ¤Ï¤Ç¤­¤Þ¤¹¡£

!ÃÖ´¹¡ÊPermutation¡Ë¤Î·×»»
!¢¨µ»½Ñ¥á¥â
!¡¡A=¨£ 1 2 3 4 ¨¤=(1 2 4 3)¡¡¢¨£±¹ÔÌܤνçÈ֤ϸÇÄê¤È¤¹¤ë
!¡¡¡¡¨¦ 2 4 1 3 ¨¥
!¤Î¾ì¹ç¡¢
!¡¡DATA 2,4,1,3 !ÇÛÎóÊÑ¿ô¤Î¡Öꤍ»ú¤ÈÃ͡פËÂбþ¤µ¤»¤ë
!¡¡MAT READ A
!¤È¥×¥í¥°¥é¥à¤Ç¤Ïµ­½Ò¤¹¤ë¡£

SUB PermPrintOut(A()) !ɽ¼¨¤¹¤ë¡¡¢¨É¸½à·Á¡Ê£²¹Ô£îÎó¤Î¹ÔÎóɽµ­¤¹¤ë¡Ë
   MAT PRINT USING(REPEAT$(" ##",UBOUND(A))): A;
   PRINT
END SUB
SUB PermIdentity(A()) !¹±ÅùÃÖ´¹
   FOR i=1 TO UBOUND(A)
      LET  A(i)=i
   NEXT i
END SUB
SUB PermInverse(A(), iA()) !µÕÃÖ´¹¡¡¢¨iA¤ÏA°Ê³°¤ÎÇÛÎó¤ò»ØÄꤹ¤ë¤³¤È
   FOR i=1 TO UBOUND(A)
      LET  iA(A(i))=i
   NEXT i
END SUB
SUB PermMultiply(A(),B(), AB()) !ÀÑAB¡¡¢¨AB¤ÏA¤«¤ÄB°Ê³°¤ÎÇÛÎó¤ò»ØÄꤹ¤ë¤³¤È
   LET  ua=UBOUND(A)
   LET  ub=UBOUND(B)
   IF ua=ub THEN
      FOR i=1 TO ua
         LET  AB(i)=A(B(i)) !¢¨¹çÀ®¼ÌÁü(AB)(i)=A(B(i))
      NEXT i
   ELSE
      PRINT "¼¡¸µ¤¬°ã¤¤¤Þ¤¹¡£A=";ua;" B=";ub
      STOP
   END IF
END SUB

SUB PermReverse(A()) !ʤӽç¤òȿž¤µ¤»¤ë
   LET  ua=UBOUND(A)
   FOR i=1 TO INT(ua/2)
      swap A(i),A(ua-i+1)
   NEXT i
END SUB
!-------------------- ¤³¤³¤Þ¤Ç¤¬¥µ¥Ö¥ë¡¼¥Á¥ó



!main

LET N=12 !¢¨¸ÇÄê

DIM cc(N)
SUB check(SS(),HH()) !»²¾È¤ò³Îǧ¤¹¤ë¡¡¢¨¶¦¤ËÏ¢ÈÖ¤Çɽ¼¨¤µ¤ì¤ì¤Ð£Ï£Ë
   PRINT "check!"
   CALL PermMultiply(HH,SS,cc) !AB=BA=I¡¡¢¨¹±ÅùÃÖ´¹
   CALL PermPrintOut(cc)

   CALL PermMultiply(SS,HH,cc)
   CALL PermPrintOut(cc)
END SUB


DIM Rev(N) !ȿž¤ËÁêÅö¤¹¤ëÃÖ´¹
CALL PermIdentity(Rev)
CALL PermReverse(Rev)

DIM shuffle(N) !¥ê¥Õ¥ë¥·¥ã¥Ã¥Õ¥ë¤ËÁêÅö¤¹¤ëÃÖ´¹
DATA 2,4,6,8,10,12,1,3,5,7,9,11
MAT READ shuffle


DIM H(N),S(N) !¥Ï¡¼¥È¡¢¥¹¥Ú¡¼¥É¤Î«

FOR R1=1 TO N !Á°È¾¤Î¥Þ¥¸¥Ã¥¯¤Ç¤Î¡Ö¹¥¤­¤Ê¿ô¡×

   PRINT "----- Request";R1;"¤Î¾ì¹ç-----"

   !¡ü¥¹¥Ú¡¼¥É¤ò¥·¥ã¥Ã¥Õ¥ë¤¹¤ë
   DIM B(N),c(N)
   CALL PermIdentity(B) !½é´üÃÍ
   FOR k=1 TO 12 !²ó¿ô¡¡¢¨²¿²ó¤«¼Â¹Ô¤¹¤ë¤È¸µ¤ËÌá¤ë
      LET S(k)=B(R1)
      CALL PermMultiply(B,shuffle,c)
      MAT B=c
   NEXT k
   CALL PermInverse(S,H) !SH=HS=I¤è¤ê

   DIM RH(N)
   CALL PermMultiply(H,Rev,RH) !¥Ï¡¼¥È¤ò£Ë¡Ê¥­¥ó¥°¡Ë¤Ç¥·¥ã¥Ã¥Õ¥ë¤¹¤ë¾ì¹ç
   !!!CALL PermMultiply(S,Rev,RH) !¥¹¥Ú¡¼¥É¤ò£Ë¡Ê¥­¥ó¥°¡Ë¤Ç¥·¥ã¥Ã¥Õ¥ë¤¹¤ë¾ì¹ç
   !!!MAT S=H


   FOR R2=1 TO N
      PRINT "ɽ";R2;"¤Î¾ì¹ç"

      !¡ü¥Ï¡¼¥È¤ò¥·¥ã¥Ã¥Õ¥ë¤¹¤ë
      DIM M(N) !¸åȾ¤Î¥Þ¥¸¥Ã¥¯¤Ç¤Î¡Ö¹¥¤­¤Ê¿ô¡×¡Ö»³¤ÎÁªÂò¡×
      MAT M=ZER
      FOR i=1 TO R2 !RÈÖÌÜ
         FOR k=1 TO 12
            LET M(k)=MOD(M(k)+k,13)
         NEXT k
      NEXT i
      !¢¨¡Ö»³¤ÎÁªÂò¡×¤Ï¡¢£±£³¤òÄì¤Ë°Üư¤µ¤»¤ëÄ´À°¥«¥Ã¥È¤Ç̵¸ú¤Ë¤Ê¤ë¤Î¤Ç¡¢¤³¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ë¡£

      DIM c1(N)
      CALL PermMultiply(RH,M,c1)
      CALL PermPrintOut(c1)

      !¡ü¥¹¥Ú¡¼¥É¤ò¥«¥Ã¥È¤¹¤ë
      LET KEY2=c1(1) !°ÜưÀè
      FOR x=1 TO N !¸½ºß°ÌÃÖ¤òõ¤¹
         IF S(x)=1 THEN EXIT FOR
      NEXT x
      PRINT x;"¤«¤é";KEY2;"¤Ø"
      DIM cut(N) !¥«¥Ã¥È¤ËÁêÅö¤¹¤ëÃÖ´¹
      FOR i=1 TO N
         LET cut(i)=MOD(i+(x-KEY2)-1,12)+1
      NEXT i
      !!!MAT PRINT cut;
      DIM c2(N)
      CALL PermMultiply(S,cut,c2)
      CALL PermPrintOut(c2)

      CALL check(c1,c2)
   NEXT R2

NEXT R1

END



!-----Á°È¾¤Î¥Þ¥¸¥Ã¥¯¤Ç¤Î¡Ö¹¥¤­¤Ê¿ô¡×¤¬ 1 ¤Î¾ì¹ç¤Î¥·¥ã¥Ã¥Õ¥ë·ë²Ì-----
!DATA 1, 2, 5, 3,10, 6,12, 4, 9,11, 8, 7 !¥Ï¡¼¥È
!DATA 1, 2, 4, 8, 3, 6,12,11, 9, 5,10, 7 !¥¹¥Ú¡¼¥É
!----- 2 ¤Î¾ì¹ç-----
!DATA 12, 1, 4, 2, 9, 5,11, 3, 8,10, 7, 6
!DATA  2, 4, 8, 3, 6,12,11, 9, 5,10, 7, 1
!----- 3 ¤Î¾ì¹ç-----
!DATA 9,10, 1,11, 6, 2, 8,12, 5, 7, 4, 3
!DATA 3, 6,12,11, 9, 5,10, 7, 1, 2, 4, 8
!----- 4 ¤Î¾ì¹ç-----
!DATA 11,12, 3, 1, 8, 4,10, 2, 7, 9, 6, 5
!DATA  4, 8, 3, 6,12,11, 9, 5,10, 7, 1, 2
!----- 5 ¤Î¾ì¹ç-----
!DATA 4, 5, 8, 6, 1, 9, 3, 7,12, 2,11,10 !¢¨ÂåÂØ¤È¤·¤Æº®¤¶¤é¤ì¤ë°ÌÃÖ
!DATA 5,10, 7, 1, 2, 4, 8, 3, 6,12,11, 9 !¢¨¼Î¤Æ¾ì¤Ø°Ü¤µ¤ì¤ë½ç
!----- 6 ¤Î¾ì¹ç-----
!DATA 8, 9,12,10, 5, 1, 7,11, 4, 6, 3, 2
!DATA 6,12,11, 9, 5,10, 7, 1, 2, 4, 8, 3
!----- 7 ¤Î¾ì¹ç-----
!DATA 2, 3, 6, 4,11, 7, 1, 5,10,12, 9, 8
!DATA 7, 1, 2, 4, 8, 3, 6,12,11, 9, 5,10
!----- 8 ¤Î¾ì¹ç-----
!DATA 10,11, 2,12, 7, 3, 9, 1, 6, 8, 5, 4
!DATA  8, 3, 6,12,11, 9, 5,10, 7, 1, 2, 4
!----- 9 ¤Î¾ì¹ç-----
!DATA 5, 6, 9, 7, 2,10, 4, 8, 1, 3, 12,11
!DATA 9, 5,10, 7, 1, 2, 4, 8, 3, 6, 12,11
!----- 10 ¤Î¾ì¹ç-----
!DATA  3, 4, 7, 5,12, 8, 2, 6,11, 1,10, 9
!DATA 10, 7, 1, 2, 4, 8, 3, 6,12,11, 9, 5
!----- 11 ¤Î¾ì¹ç-----
!DATA  6, 7,10, 8, 3,11, 5, 9, 2, 4, 1,12
!DATA 11, 9, 5,10, 7, 1, 2, 4, 8, 3, 6,12
!----- 12 ¤Î¾ì¹ç-----
!DATA  7, 8,11, 9, 4,12, 6,10, 3, 5, 2, 1
!DATA 12,11, 9, 5,10, 7, 1, 2, 4, 8, 3, 6




!¸åȾ¤Î¥Þ¥¸¥Ã¥¯¤Ç¤Î¥·¥ã¥Ã¥Õ¥ë¤ËÁêÅö¤¹¤ëÃÖ´¹
!DATA  1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12 !¡Ö£±£³¤Ç¤Î¥·¥ã¥Ã¥Õ¥ë¡×
!DATA  2, 4, 6, 8,10,12, 1, 3, 5, 7, 9,11
!DATA  3, 6, 9,12, 2, 5, 8,11, 1, 4, 7,10
!DATA  4, 8,12, 3, 7,11, 2, 6,10, 1, 5, 9
!DATA  5,10, 2, 7,12, 4, 9, 1, 6,11, 3, 8
!DATA  6,12, 5,11, 4,10, 3, 9, 2, 8, 1, 7
!DATA  7, 1, 8, 2, 9, 3,10, 4,11, 5,12, 6
!DATA  8, 3,11, 6, 1, 9, 4,12, 7, 2,10, 5
!DATA  9, 5, 1,10, 6, 2,11, 7, 3,12, 8, 4
!DATA 10, 7, 4, 1,11, 8, 5, 2,12, 9, 6, 3
!DATA 11, 9, 7, 5, 3, 1,12,10, 8, 6, 4, 2
!DATA 12,11,10, 9, 8, 7, 6, 5, 4, 3, 2, 1

 

Re: ¿·È¯¸«

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î 8Æü(ÅÚ)12»þ24ʬ29ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.71[¸µµ­»ö¤Ø]

»³ÃæÏµÁ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£


¡¡³Îǧºî¶È¸æÈè¤ì¤µ¤ó¤Ç¤·¤¿¡£

> ¤Þ¤¿¥¹¥Ú¡¼¥É¤ÎÊý¤â³Îǧ¤Ï¤Ç¤­¤Þ¤¹¡£   ¡ö¥¨¡¼¡ª¡ª¥¹¥Ú¡¼¥É¤Ç¤â²Äǽ¤Ç¤¹¤«¡©
>
>
>
> !ÃÖ´¹¡ÊPermutation¡Ë¤Î·×»»
> !¢¨µ»½Ñ¥á¥â
> !¡¡A=¨£ 1 2 3 4 ¨¤=(1 2 4 3)¡¡¢¨£±¹ÔÌܤνçÈ֤ϸÇÄê¤È¤¹¤ë
> !¡¡¡¡¨¦ 2 4 1 3 ¨¥
> !¤Î¾ì¹ç¡¢
> !¡¡DATA 2,4,1,3 !ÇÛÎóÊÑ¿ô¤Î¡Öꤍ»ú¤ÈÃ͡פËÂбþ¤µ¤»¤ë
> !¡¡MAT READ A
> !¤È¥×¥í¥°¥é¥à¤Ç¤Ïµ­½Ò¤¹¤ë¡£
>
> SUB PermPrintOut(A()) !ɽ¼¨¤¹¤ë¡¡¢¨É¸½à·Á¡Ê£²¹Ô£îÎó¤Î¹ÔÎóɽµ­¤¹¤ë¡Ë
>    MAT PRINT USING(REPEAT$(" ##",UBOUND(A))): A;
> END SUB
>
> SUB PermMultiply(A(),B(), AB()) !ÀÑAB¡¡¢¨AB¡âBA¡¢A(BC)=(AB)C
>    LET  ua=UBOUND(A)
>    LET  ub=UBOUND(B)
>    IF ua=ub THEN
>       FOR i=1 TO ua
>          LET  AB(i)=A(B(i)) !¢¨¹çÀ®¼ÌÁü(AB)(i)=A(B(i))
>       NEXT i
>    ELSE
>       PRINT "¼¡¸µ¤¬°ã¤¤¤Þ¤¹¡£A=";ua;" B=";ub
>       STOP
>    END IF
> END SUB
> !-------------------- ¤³¤³¤Þ¤Ç¤¬¥µ¥Ö¥ë¡¼¥Á¥ó
>
>
>
> !main
>
> LET N=12 !¢¨¸ÇÄê
>
> DIM TT(N)
> SUB cut(C(),p) !¥«¥Ã¥È¤¹¤ë¡¡¢¨p°ÌÃְʹߤ¬¾å¤Ë¤Ê¤ë
>    FOR i=1 TO p-1 !Á°È¾Éôʬ¤ò¸å¤Ø
>       LET TT(N+i-p+1)=C(i)
>    NEXT i
>    FOR i=p TO N !¸åȾÉôʬ¤òÁ°¤Ø
>       LET TT(i-p+1)=C(i)
>    NEXT i
>    FOR i=1 TO N !copy it
>       LET C(i)=TT(i)
>    NEXT i
> END SUB
>
>
> !----- Á°È¾¤Î¥Þ¥¸¥Ã¥¯¤Ç¤Î¡Ö¹¥¤­¤Ê¿ô¡×¤¬ 1 ¤Î¾ì¹ç-----
> DATA 1, 2, 5, 3,10, 6,12, 4, 9,11, 8, 7 !¥Ï¡¼¥È
> DATA 1, 2, 4, 8, 3, 6,12,11, 9, 5,10, 7 !¥¹¥Ú¡¼¥É
>
> !----- 2 ¤Î¾ì¹ç-----
> DATA 12, 1, 4, 2, 9, 5,11, 3, 8,10, 7, 6
> DATA  2, 4, 8, 3, 6,12,11, 9, 5,10, 7, 1
>
> !----- 3 ¤Î¾ì¹ç-----
> DATA 9,10, 1,11, 6, 2, 8,12, 5, 7, 4, 3
> DATA 3, 6,12,11, 9, 5,10, 7, 1, 2, 4, 8
>
> !----- 4 ¤Î¾ì¹ç-----
> DATA 11,12, 3, 1, 8, 4,10, 2, 7, 9, 6, 5
> DATA  4, 8, 3, 6,12,11, 9, 5,10, 7, 1, 2
>
> !----- 5 ¤Î¾ì¹ç-----
> DATA 4, 5, 8, 6, 1, 9, 3, 7,12, 2,11,10 !¢¨ÂåÂØ¤È¤·¤Æº®¤¶¤é¤ì¤ë¥¹¥Ú¡¼¥É¥Ñ¥±¥Ã¥È¤Î°ÌÃÖ
> DATA 5,10, 7, 1, 2, 4, 8, 3, 6,12,11, 9 !¢¨¼Î¤Æ¾ì¤Ø°Ü¤µ¤ì¤ë½ç
>
> !----- 6 ¤Î¾ì¹ç-----
> DATA 8, 9,12,10, 5, 1, 7,11, 4, 6, 3, 2
> DATA 6,12,11, 9, 5,10, 7, 1, 2, 4, 8, 3
>
> !----- 7 ¤Î¾ì¹ç-----
> DATA 2, 3, 6, 4,11, 7, 1, 5,10,12, 9, 8
> DATA 7, 1, 2, 4, 8, 3, 6,12,11, 9, 5,10
>
> !----- 8 ¤Î¾ì¹ç-----
> DATA 10,11, 2,12, 7, 3, 9, 1, 6, 8, 5, 4
> DATA  8, 3, 6,12,11, 9, 5,10, 7, 1, 2, 4
>
> !----- 9 ¤Î¾ì¹ç-----
> DATA 5, 6, 9, 7, 2,10, 4, 8, 1, 3, 12,11
> DATA 9, 5,10, 7, 1, 2, 4, 8, 3, 6, 12,11
>
> !----- 10 ¤Î¾ì¹ç-----
> DATA  3, 4, 7, 5,12, 8, 2, 6,11, 1,10, 9
> DATA 10, 7, 1, 2, 4, 8, 3, 6,12,11, 9, 5
>
> !----- 11 ¤Î¾ì¹ç-----
> DATA  6, 7,10, 8, 3,11, 5, 9, 2, 4, 1,12
> DATA 11, 9, 5,10, 7, 1, 2, 4, 8, 3, 6,12
>
> !----- 12 ¤Î¾ì¹ç-----
> DATA  7, 8,11, 9, 4,12, 6,10, 3, 5, 2, 1
> DATA 12,11, 9, 5,10, 7, 1, 2, 4, 8, 3, 6
>


¤³¤ÎÁ°È¾¤Î¥Ñ¥¿¡¼¥ó¤Îɽ¤Ï¤Ê¤ó¤È¤«¼ê¤Ë¤·¤Þ¤·¤¿¡£

¸åȾ¤Î´°À®¤µ¤ì¤¿¥×¥í¥°¥é¥à¤ÎÁ´ÂΤ¬¸«¤¿¤¤¤Ç¤¹¡£
Îã¤Î¥«¡¼¥É¥·¥å¥ß¥ì¡¼¥·¥ç¥ó¤Î¡ÊÁ°È¾¤â´Þ¤à¡Ë¥ê¥¹¥È¤òÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£
 

¼ÁÌä

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î 8Æü(ÅÚ)15»þ32ʬ9ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.71[¸µµ­»ö¤Ø]

»³ÃæÏµÁ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£


request£²¤Ç¤Îɽ£²¤Î¾ì¹ç¤ÎºÇ½ª¥Ñ¥±¥Ã¥È¤ÎÇÛÎó¤¬
¥È¥é¥ó¥×¤Ç¼Â¸³¤·¤Æ¤ß¤ë¤È¡Êº¸¤è¤ê΢¸þ¤­¤Ë¤·¤¿¾ì¹ç¤Ë¾å¤«¤éʤֽç¤ÇÆÉ¤à¡£¡Ë
¥Ï ¡¼ ¥È¡§7,8,11,9,4,12,6,10,3,5,2,1,(13)
¥¹¥Ú¡¼¥É¡§12,11,9,5,10,7,1,2,4,8,3,6
¤Ç¤¢¤Ã¤¿¤Î¤ËÂФ·
ÃÖ´¹¤Î¥×¥í¥°¥é¥à¤Çɽ¼¨¤µ¤ì¤¿·ë²Ì¤Îɽ¤Ç¤Ï
¥Ï ¡¼ ¥È¡§1,2,5,3,10,6,12,4,9,11,8,7,(13)
¥¹¥Ú¡¼¥É¡§2,4,8,3,6,12,11,9,5,10,7,1
¤È¤Ê¤ê¤Þ¤·¤¿¡£
¤Ç¤â¥Á¥§¥Ã¥¯¤Ç¤ÏOK¤Ç¹ç¤Ã¤Æ¤Ï¤¤¤ë¤Î¤Ç¤¹¤¬¡¦¡¦¡¦

¾¤Ë¤â
request5,
ɽ£µ¤Î¾ì¹ç¤Ç
¼Â¸³¤Ç¤Ï
¥Ï ¡¼ ¥È¡§7,8,11,9,4,12,6,10,3,5,2,1,(13)
¥¹¥Ú¡¼¥É¡§12,11,9,5,10,7,1,2,4,8,3,6
½ÐÎϤÎɽ¤Ç¤Ï
----- Request 5 ¤Î¾ì¹ç-----

ɽ 4 ¤Î¾ì¹ç
  6  7 10  8  3 11  5  9  2  4  1 12
11  9  5 10  7  1  2  4  8  3  6 12
check!
1  2  3  4  5  6  7  8  9  10  11  12
1  2  3  4  5  6  7  8  9  10  11  12
ɽ 5 ¤Î¾ì¹ç
  1  2  5  3 10  6 12  4  9 11  8  7¡¡¡¡¡Ê¥Ï¡¼¥ÈÎó¡Ë
  1  2  4  8  3  6 12 11  9  5 10  7¡¡¡¡¡Ê¥¹¥Ú¡¼¥ÉÎó¡Ë
check!
1  2  3  4  5  6  7  8  9  10  11  12
1  2  3  4  5  6  7  8  9  10  11  12

¤ÈºÇ½ª·ë²Ì¤ÈÈù̯¤Ë¤º¤ì¤Æ¤¤¤Þ¤¹¡£
 

Re: ¼ÁÌä

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î 8Æü(ÅÚ)17»þ27ʬ15ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.73[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£


> request£²¤Ç¤Îɽ£²¤Î¾ì¹ç¤ÎºÇ½ª¥Ñ¥±¥Ã¥È¤ÎÇÛÎó¤¬
> ¥È¥é¥ó¥×¤Ç¼Â¸³¤·¤Æ¤ß¤ë¤È¡Êº¸¤è¤ê΢¸þ¤­¤Ë¤·¤¿¾ì¹ç¤Ë¾å¤«¤éʤֽç¤ÇÆÉ¤à¡£¡Ë
> ¥Ï ¡¼ ¥È¡§7,8,11,9,4,12,6,10,3,5,2,1,(13)
> ¥¹¥Ú¡¼¥É¡§12,11,9,5,10,7,1,2,4,8,3,6
> ¤Ç¤¢¤Ã¤¿¤Î¤ËÂФ·
> ÃÖ´¹¤Î¥×¥í¥°¥é¥à¤Çɽ¼¨¤µ¤ì¤¿·ë²Ì¤Îɽ¤Ç¤Ï
> ¥Ï ¡¼ ¥È¡§1,2,5,3,10,6,12,4,9,11,8,7,(13)
> ¥¹¥Ú¡¼¥É¡§2,4,8,3,6,12,11,9,5,10,7,1
> ¤È¤Ê¤ê¤Þ¤·¤¿¡£

¼ºÎ餷¤Þ¤·¤¿¡£¤³¤³¤Ç¤âʤӽç¤ÎȽÃǥߥ¹¤Ç¤·¤¿¡£
¥×¥í¥°¥é¥à¤ò½¤Àµ¤·¤Æ¤ª¤­¤Þ¤·¤¿¡£
 

Re: ¿·È¯¸«

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î 9Æü(Æü)11»þ52ʬ0ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.72[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¸åȾ¤Î´°À®¤µ¤ì¤¿¥×¥í¥°¥é¥à¤ÎÁ´ÂΤ¬¸«¤¿¤¤¤Ç¤¹¡£
> Îã¤Î¥«¡¼¥É¥·¥å¥ß¥ì¡¼¥·¥ç¥ó¤Î¡ÊÁ°È¾¤â´Þ¤à¡Ë¥ê¥¹¥È¤òÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£

ÃÙ¤¯¤Ê¤ê¤Þ¤·¤¿¡£
¸½¾õ¤Î¥×¥í¥°¥é¥à¤Ï¤³¤³¤«¤é¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£

¤Þ¤¿¿ôÍýŪ¤ÊÀâÌÀ¤È¤·¤Æ¤Ï¡¢ÃÖ´¹¤Çɽ¸½¡Ê¥×¥í¥°¥é¥à No.71µ­»ö¡Ë¤·¤¿¤³¤È¤ò¤â¤Ã¤ÆÂ夨¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤¹¡£

¿ô³ØÅª¤Ë£±¤Ä¤Î¤³¤È¤ò¡¢¤¿¤È¤¨¤Ð
¼ê¤ÎÃæ¤Ç¥·¥ã¥Ã¥Õ¥ë¤·¤¿¤ê¡¢¾ì¤Ç¥·¥ã¥Ã¥Õ¥ë¤·¤¿¤ê
ÌÜÀè¤òÊѤ¨¤Æ¤¢¤¿¤«¤â°ã¤Ã¤¿¤³¤È¤ä¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë¸«¤»¤ë¤Î¤¬¥Þ¥¸¥Ã¥¯¤Î£±¤Ä¤Î¾ïÅå¼êÃʤǤ¹¤Í¡£
 

¤ªÎé

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î 9Æü(Æü)13»þ12ʬ40ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¤¹¤´¤¤¡ª
¥È¥é¥ó¥×¤ò¤¤¤Á¤¤¤ÁÁàºî¤¹¤ë¤³¤È¤Ê¤¯¡¢¸½¾Ý¤òÄÉÀפǤ­¤ë¤Ê¤ó¤Æ¡¦¡¦¡¦
¤³¤ó¤Ê¤Ë¼«Í³¤Ë¥³¥ó¥Ô¥å¡¼¥¿¡¼¤ò»È¤¤¤³¤Ê¤»¤¿¤é³Ú¤·¤¤¤À¤í¤¦¤Ê¡¼¡Ê»ä¤â´èÄ¥¤í¤¦¡ª¡Ë
¤Ò¤ç¤ó¤Ê¼ÁÌ䤫¤é¤³¤³¤Þ¤Ç¥×¥í¥°¥é¥à¤òÁȤó¤Ç¤¯¤ì¤¿¤³¤È¤Ë´¶¼Õ¤¤¤¿¤·¤Þ¤¹¡£
¤³¤Î¥½¥Õ¥È¤Ï»ä¤ÎÊõʪ¤Ë¤Ê¤ê¤Þ¤¹¡£
¤¤¤í¤¤¤í¤Ê¼ÁÌä¤Ë¤ªÅú¤¨Äº¤­¡¢À¿¤Ë¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£
 

¼ÁÌä¤Ç¤¹¡¦¡¦¡¦

 Åê¹Æ¼Ô¡§NINA  Åê¹ÆÆü¡§2008ǯ11·î 9Æü(Æü)22»þ54ʬ19ÉÃ
ÊÖ¿®¡¦°úÍÑ
  Âç³Ø¤Î¿ô³Ø¤Î²ÝÂê¤Ç¡¢

¡Ö1¡¤2¡¤3¡¤¡Ä¡¤£î¡¡¤Î½ç¤Ëʤó¤Ç¤¤¤ë¿ôÎó¤Î¤Ê¤«¤Ç¡¢¡È¡Ü¡É¤È¡È¡á¡É¤òÆþ¤ì¤Æ¼°¤ò´°À®¤µ¤»¤è¡£¡×

¤È¤¤¤¦¤è¤¦¤Ê¡¢²ÝÂ꤬¤Ç¤Þ¤·¤¿¡£ÌäÂê¤ÎÅú¤¨¤ÎÎã¤È¤·¤Æ¤Ï

1¡Ü2¡á3
1¡Ü2¡Ü3¡Ü¡Ä¡Ü14¡á15¡Ü16¡Ü17¡Ü¡Ä¡Ü20¡¡¡Ê¡á105¡Ë

¤È¤¤¤¦Íͤʴ¶¤¸¤Ç¤¹¡£


¤³¤ì¤ò½½¿ÊBASIC¤Ç1,000,000·å¤Þ¤Ç¤¯¤é¤¤¤ÎÅù¼°¤ò¤Ä¤¯¤ì¡¡¤È¤¤¤¦¤³¤È¸À¤ï¤ì¡¢¤ä¤Ã¤Æ¤ß¤¿¤Î¤Ç¤¹¤¬¡¢
BASIC¤ò»È¤¦¤Î¤Ï½é¤á¤Æ¤Ê¤Î¤Ç¡¢¤É¤ó¤ÊÉ÷¤Ë¥×¥í¥°¥é¥à¤òºî¤ì¤Ð¤¤¤¤¤Î¤«¤ï¤«¤ê¤Þ¤»¤ó¡£

¤É¤Ê¤¿¤«¤´»ØÆ³¤¤¤¿¤À¤±¤ì¤Ð¤È»×¤¤¡¢Åê¹Æ¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤·¤¿¡£
¤ï¤«¤ë¤«¤¿¡¢¤¼¤Ò¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡ª¡ª
 

Re: ¼ÁÌä¤Ç¤¹¡¦¡¦¡¦

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2008ǯ11·î10Æü(·î)14»þ45ʬ25ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.77[¸µµ­»ö¤Ø]

NINA¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

¤Þ¤º¡¢1,000,000·å¤Ç¤Ï¤Ê¤¯n=1,000,000¤Þ¤Ç¤Î´Ö°ã¤¤¤Ç¤¹¤è¤Í¡£

Åù¼°

  1+2+¡Ä+(k-1)+k=(k+1)+(k+2)+¡Ä+(n-1)+n

¤ò¡¢¼¡¤Î¤è¤¦¤Ën¤Ë¤Ä¤¤¤Æ¤Î2¼¡ÊýÄø¼°¤È¹Í¤¨¤ì¤Ð

  (k^2+k)/2=(n^2+n)/2-(k^2+k)/2

n¤¬À°¿ô²ò¤ò»ý¤Æ¤ÐÅù¼°¤ÏÀ®¤êΩ¤Á¤Þ¤¹¡£

  FOR k=1 TO 1000000 ¡Á NEXT k

¤È¤·¤Æ¡¢n¤¬À°¿ô²ò¤ò»ý¤Ä¤«Ä´¤Ù¤ì¤Ð¤è¤¤¤Î¤Ç¤Ï¡£
(1,000,000¤Þ¤Ç¤Ë8¸Ä¤¢¤ê¤Þ¤·¤¿)
 

Re: ¼ÁÌä¤Ç¤¹¡¦¡¦¡¦

 Åê¹Æ¼Ô¡§NINA  Åê¹ÆÆü¡§2008ǯ11·î10Æü(·î)23»þ39ʬ46ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.78[¸µµ­»ö¤Ø]

¹ÓÅĹÀÆó¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£



> NINA¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£
>
> ¤Þ¤º¡¢1,000,000·å¤Ç¤Ï¤Ê¤¯n=1,000,000¤Þ¤Ç¤Î´Ö°ã¤¤¤Ç¤¹¤è¤Í¡£

¤½¤¦¤Ç¤·¤¿¡£¤´»ØÅ¦¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£


> Åù¼°
>
>   1+2+¡Ä+(k-1)+k=(k+1)+(k+2)+¡Ä+(n-1)+n
>
> ¤ò¡¢¼¡¤Î¤è¤¦¤Ën¤Ë¤Ä¤¤¤Æ¤Î2¼¡ÊýÄø¼°¤È¹Í¤¨¤ì¤Ð
>
>   (k^2+k)/2=(n^2+n)/2-(k^2+k)/2
>
> n¤¬À°¿ô²ò¤ò»ý¤Æ¤ÐÅù¼°¤ÏÀ®¤êΩ¤Á¤Þ¤¹¡£
>
>   FOR k=1 TO 1000000 ¡Á NEXT k
>
> ¤È¤·¤Æ¡¢n¤¬À°¿ô²ò¤ò»ý¤Ä¤«Ä´¤Ù¤ì¤Ð¤è¤¤¤Î¤Ç¤Ï¡£
> (1,000,000¤Þ¤Ç¤Ë8¸Ä¤¢¤ê¤Þ¤·¤¿)


¤È¤Æ¤â¤ï¤«¤ê¤ä¤¹¤¤²òÀ⤢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡ªµá¤áÊý¡¢¼°¤Î½ñ¤­Êý¤ÏÍý²ò¤Ç¤­¤Þ¤·¤¿¡£

¤µ¤Ã¤½¤¯¤ä¤Ã¤Æ¤ß¤¿¤Î¤Ç¤¹¤¬¡¢ (k^2+k)/2=(n^2+n)/2-(k^2+k)/2¡¡¤ÈÂǤ俤Ȥ³¤í¡¢¥¨¥é¡¼¤Îɽ¼¨¤¬¤Ç¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£
¤½¤Î¤Þ¤ÞÆþÎϤ·¤¿¤Î¤¬¤¤¤±¤Ê¤«¤Ã¤¿¤Î¤Ç¤·¤ç¤¦¤«¡©¡©

¤Þ¤¿¡¢À°¿ô²ò¤ò¤â¤Ä¤«Ä´¤Ù¤ë¤Î¤ÏIFʸ¤ÇÎɤ¤¤Î¤Ç¤·¤ç¤¦¤«¡©¡©

¶µ¤¨¤Æ¤¤¤¿¤À¤±¤Þ¤¹¤Ç¤·¤ç¤¦¤«¡©¡©
 

Re: ¼ÁÌä¤Ç¤¹¡¦¡¦¡¦

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î11Æü(²Ð)11»þ10ʬ6ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.77[¸µµ­»ö¤Ø]

NINA¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> Âç³Ø¤Î¿ô³Ø¤Î²ÝÂê¤Ç¡¢
> ¡Ö1¡¤2¡¤3¡¤¡Ä¡¤£î¡¡¤Î½ç¤Ëʤó¤Ç¤¤¤ë¿ôÎó¤Î¤Ê¤«¤Ç¡¢¡È¡Ü¡É¤È¡È¡á¡É¤òÆþ¤ì¤Æ¼°¤ò´°À®¤µ¤»¤è¡£¡×

Ê̲ò¤ò¾Ò²ð¤·¤Æ¤ª¤­¤Þ¤¹¡£

¡ü²ò¤­Êý
¤¿¤È¤¨¤ÐN=10¤Î¾ì¹ç¡¢1¡û2¡û3¡û4¡û5¡û6¡û7¡û8¡û9¡û10 ¤È¿ôÎ󤬤Ǥ­¤ë¡£
¡û¡Ê±é»»µ­¹æ¡á¤òÆþ¤ë¾ì½ê¡Ë¤Î¿ô¤Ï¡¢10-1=9¸Ä¤¢¤ë¤«¤é¾ì½ê¤Î²ÄǽÀ­¤Ï£±¡Á£¹¤Ç¤¢¤ë¡£

¼¡¤Ë¾ò·ï¤òËþ¤¿¤¹È½ÃÇÊýË¡¤Ï¡¢¤¿¤È¤¨¤Ð¡¢£³ÈÖÌܤȤ¹¤ë¤È
¡¡1¡û2¡û3=4¡û5¡û6¡û7¡û8¡û9¡û10
¤È¤Ê¤ë¤«¤é¡¢¡á¤Ç¸µ¤Î¿ôÎó¤Ï¡Öº¸Êաפȡֱ¦Êաפˣ²Ê¬³ä¤µ¤ì¤ë¡£
¤·¤¿¤¬¤Ã¤Æ¡¢1¡û2¡û3¡¡¤È¡¡4¡û5¡û6¡û7¡û8¡û9¡û10¡¡¤Î£²¤Ä¤ÎÅùº¹¿ôÎó¤ÎϤòµá¤á¤Æ¡Öº¸ÊաᱦÊաפÇȽÃǤ¹¤ì¤Ð¤è¤¤¡£
¤³¤³¤Ç¤Ïº¸Êդȱ¦ÊÕ¤ÎϤòµá¤á¤ë¤Î¤Ç¤Ï¤Ê¤¯¡Öº¸ÊÕ¤¬Á´ÂΤÎϤÎȾʬ¤ËÅù¤·¤¤¡×¤È¤¤¤¦¤³¤È¤Ç¾ò·ï¤òËþ¤¿¤¹¤ÈȽÃǤ¹¤ë¡£
¦²k=n*(n+2)/2¤Î¸ø¼°¤ò»È¤Ã¤Æ¤½¤ì¤¾¤ìµá¤á¤ë¡£

¤³¤³¤Ç¡¢S1=1¡¢S2=1+2¡¢S3=1+2+3¡¢¡Ä ¡¢Sn=1+2+3+ ¡Ä +n¡¢¤¹¤Ê¤ï¤Á¥Ç¡¼¥¿Îó{Sn}¤ò¹Í¤¨¤ë¡£
¤³¤ì¤Ïº¸ÊÕ¤ÎϤ¬½ç¤Ëʤó¤À¤â¤Î¤Ç¤¢¤ë¡£
¤·¤¿¤¬¤Ã¤Æ¡¢¡Öº¸ÊÕ¤¬Á´ÂΤÎϤÎȾʬ¤ËÅù¤·¤¤¡×¤Ï
¡¡¤³¤Î1¡Án¸Ä¤Î¥Ç¡¼¥¿Î󤫤顢Sn/2¤ÎÃͤò¸«¤Ä¤±¤ë¡Öõº÷¡×¤ÎÌäÂê
¤ËÃÖ¤­´¹¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
Ã༡õº÷¤¹¤ë¤ÈËè²ó¤ÎÁöºº¤¬É¬Íפǻþ´Ö¤¬¤«¤«¤ë¡£
S1,S2,¡Ä,Sn¤ÏÀ°Î󤵤줿¡Ê¾®¤µ¤¤½ç¡Ë¥Ç¡¼¥¿Îó¤À¤«¤é¡¢£²Ê¬Ãµº÷¤¬²Äǽ¤Ç¤¢¤ë¡£

¡ü¡Ö´ðËÜ¥¢¥ë¥´¥ê¥º¥à¤Î²ÝÂê¡×¤È¤·¤Æ¤Î¥µ¥ó¥×¥ë
!OPTION ARITHMETIC decimal_high

LET t0=TIME

DIM S(1000000) !S1,S2,¡Ä,Sn
LET S(1)=1
FOR k=2 TO 1000000
   LET S(k)=S(k-1)+k !º¸ÊÕ 1+ ¡Ä +(k-1)+k ¤ÎÃÍ
NEXT k


LET c=0 !¸Ä¿ô
FOR n=1 TO 1000000

   LET key=S(n)/2 !¡ÖÁ´ÂΤÎȾʬ¤ÎÃ͡פò¸«¤Ä¤±¤ë

   LET L=1 !²¼¸Â
   LET H=n !¾å¸Â
   DO WHILE L<=H !µÕž¤·¤¿¤é½ªÎ»
      LET M=INT((L+H)/2) !Ãæ±û
      IF S(M)<=key THEN LET L=M+1 !¹Ê¤ê¹þ¤à
      IF S(M)>=key THEN LET H=M-1
   LOOP
   !!!PRINT n;L;H

   IF L=H+2 THEN !¸«¤Ä¤«¤Ã¤¿¤é
      LET c=c+1
      PRINT c;"¸ÄÌÜ"

      PRINT "1 + ¡Ä +";M;"=";M+1; !º¸Êդȡá
      IF M<n-1 THEN !À°·Á¤Î¤¿¤á
         PRINT "+ ¡Ä +";n; !±¦ÊÕ
      END IF
      PRINT "¡Ê=";S(M);"¡Ë" !ÏÂ
   END IF

NEXT n


PRINT "·×»»»þ´Ö=";TIME-t0

END

¡Ê¼Â¹Ô·ë²Ì¡Ë
 1 ¸ÄÌÜ
1 + ¡Ä + 2 = 3 ¡Ê= 3 ¡Ë
 2 ¸ÄÌÜ
1 + ¡Ä + 14 = 15 + ¡Ä + 20 ¡Ê= 105 ¡Ë
 3 ¸ÄÌÜ
1 + ¡Ä + 84 = 85 + ¡Ä + 119 ¡Ê= 3570 ¡Ë
 4 ¸ÄÌÜ
1 + ¡Ä + 492 = 493 + ¡Ä + 696 ¡Ê= 121278 ¡Ë
 5 ¸ÄÌÜ
1 + ¡Ä + 2870 = 2871 + ¡Ä + 4059 ¡Ê= 4119885 ¡Ë
 6 ¸ÄÌÜ
1 + ¡Ä + 16730 = 16731 + ¡Ä + 23660 ¡Ê= 139954815 ¡Ë
 7 ¸ÄÌÜ
1 + ¡Ä + 97512 = 97513 + ¡Ä + 137903 ¡Ê= 4754343828 ¡Ë
 8 ¸ÄÌÜ
1 + ¡Ä + 568344 = 568345 + ¡Ä + 803760 ¡Ê= 161507735340 ¡Ë


¡ü¡Ö£²¼¡ÊýÄø¼°¤ò²ò¤¯¡×¤ÎÊ̲ò¤È¤·¤Æ¤Î¥µ¥ó¥×¥ë
FOR k=1 TO 1000000
¡¡£î¤Ë¤Ä¤¤¤Æ¤Î£²¼¡ÊýÄø¼° n^2+n-2*(k^2+k)=0 ¤ò²ò¤¤¤ÆÀµ¤ÎÀ°¿ô²ò¤òÆÀ¤ë
NEXT k
¤³¤ì¤Ï¡¢¿ôÎó{Sk,Sk+1,¡Ä}¤ÎÃæ¤«¤é¡¢2*Sk¤òõ¤¹¤³¤È¤Ç¤¹¡£
̵¸Â¸Ä¤ÎÃæ¤òõº÷¤Ç¤­¤Ê¤¤¤Î¤Ç¡¢¡Ê¼ÂºÝ¤Ï¾®¤µ¤¤½ç¤ËÀ°Î󤷤Ƥ¤¤ë¤Î¤ÇÅÓÃæ¤ÇÃæ»ß¤¹¤ë¡Ë

¡¡Sk,Sk+1,¡Ä,Sn-1,Sn,Sn+1,¡Ä
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¢¬
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡2*Sk¡©
¤³¤ÎÌð°õ¤Î¤Î°ÌÃÖ¤ò£²¼¡ÊýÄø¼°¤ò²ò¤¯¤³¤È¤Ç¿äÄꤷ¤Æ¤¤¤ë¡£


¼ÂºÝ¤É¤³¤Ë¥Ç¡¼¥¿¤¬¤¢¤ë¤«¤Ï¡¢S=¦²k=n*(n+2)/2¤è¤êSQR(S)¤Î°ÌÃ֤ȿäÄꤵ¤ì¤ë¤Î¤Ç¡¢
¾åµ­¥µ¥ó¥×¥ëƱÍͤ˿ôÎó{S1,S2,¡Ä,Sn}¤ÇSn/2¤òõ¤¹¥¢¥×¥í¡¼¥Á¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ë¡£
!OPTION ARITHMETIC decimal_high

LET t0=TIME


LET c=0 !¸Ä¿ô
FOR N=2 TO 1000000

   LET S=N*(N+1)/2 !Á´Éô¤ÎÏÂ

   LET a=INT(SQR(S)) !¡á¤¬Æþ¤ë²Õ½ê¤Î²ÄǽÀ­
   FOR k=a TO a+1
      LET L=k*(k+1)/2 !º¸ÊÕ¤ÎÏÂ

      IF 2*L=S THEN !2*º¸ÊÕ¡áÁ´Éô¤ÎϤʤ顢¾ò·ï¤ò¤ß¤¿¤¹
         LET c=c+1
         PRINT c;"¸ÄÌÜ"

         PRINT "1 + ¡Ä +";k;"="; !º¸Êդȡá
         IF i=N-1 THEN !À°·Á¤Î¤¿¤á
            PRINT k+1;"¡Ê=";L;"¡Ë" !±¦ÊÕ¤ÈÏÂ
         ELSE
            PRINT k+1;"+ ¡Ä +";N;"¡Ê=";L;"¡Ë"
         END IF
      END IF
   NEXT k

NEXT N


PRINT "·×»»»þ´Ö=";TIME-t0

END
 

Re: ¼ÁÌä¤Ç¤¹¡¦¡¦¡¦

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2008ǯ11·î11Æü(²Ð)18»þ32ʬ18ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.79[¸µµ­»ö¤Ø]

NINA¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£


> ¤µ¤Ã¤½¤¯¤ä¤Ã¤Æ¤ß¤¿¤Î¤Ç¤¹¤¬¡¢ (k^2+k)/2=(n^2+n)/2-(k^2+k)/2¡¡¤ÈÂǤ俤Ȥ³¤í¡¢¥¨¥é¡¼¤Îɽ¼¨¤¬¤Ç¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£


¡¡BASIC¤Ç¤Ï¡¢Åù¹æ¤ÏÊÑ¿ô¤Ë¿ôÃͤòÍ¿¤¨¤ë¤È¤­¤Ë»È¤¤¤Þ¤¹(ÂåÆþʸ)¡£

¤¿¤È¤¨¤Ð¡ÖLET a=b+3¡×¤È¤¤¤¦Ê¸¤Ï¡¢ÊÑ¿ôa¤Ë¿ôÃͼ°b+3¤ÎÃͤòÂåÆþ¤¹¤ë¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£(ÊÑ¿ôb¤¬4¤Ê¤é¤Ða¤ÎÃͤÏ7¤Ë¤Ê¤ê¤Þ¤¹)

º¸Êդϰì¤Ä¤ÎÊÑ¿ô¤Ç¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£¡ÖLET b+3=a¡×¤Èµ­½Ò¤¹¤ë¤Èʸˡ¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£
(½½¿ÊBASIC¤Î¥Ø¥ë¥×¤Î[ÆþÌç][ÊÑ¿ô][letʸ]¤ò»²¾È¤·¤Æ²¼¤µ¤¤)


  ¤Þ¤¿¡¢BASIC¤Ï¼°¤ÎÊÑ·Á¤äÊýÄø¼°¤ò²ò¤¯¤È¤¤¤Ã¤¿¿ô¼°½èÍý¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£
¤½¤ÎÉôʬ¤Ï¼«Ê¬¤Ç²ò¤¯¤«¡¢²ò¤¯¤¿¤á¤Î¥×¥í¥°¥é¥à¤òºî¤é¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£

Á°½Ð¤ÎÌäÂê¤Ç¸À¤¨¤Ð¡¢

  (k^2+k)/2=(n^2+n)/2-(k^2+k)/2

¤ò²¼¤Î¤è¤¦¤ËÊÑ·Á¤¹¤ë¤³¤È¤ÏBASIC¤Ï¤·¤Æ¤¯¤ì¤Þ¤»¤ó¡£

  n^2+n-2*(k^2+k)=0

¤³¤Î²ò¤òµá¤á¤ë¤Î¤â¡¢¤½¤Î¤¿¤á¤Î¥×¥í¥°¥é¥à¤òºî¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£


¡¡²¼¤Ï¡¢2¼¡ÊýÄø¼° a*x^2+b*x+c=0 ¤Î²ò¤Î°ì¤Ä¤òµá¤áÀ°¿ôÀ­¤òȽÄꤹ¤ë¥×¥í¥°¥é¥à¤Ç¤¹¡£»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£

  10 LET a=1
  20 LET b=3
  30 LET c=-4
  40 LET D=b^2-4*a*c  ! ȽÊ̼°
  50 LET x=(-b+SQR(D))/(2*a)  ! ²ò¤Î¸ø¼°
  60 PRINT x
  70 IF INT(x)=x THEN PRINT "À°¿ô"
  80 END

*70¹Ô¤ÎIFʸ¤ÇÀ°¿ô¤ÎȽÄê¤ò¤·¤Æ¤¤¤Þ¤¹¡£(IFʸ¤Ç¤ÎÅù¹æ¤ÏξÊÕ¤¬Åù¤·¤¤¤«¤ÎȽÄê¤Ë»È¤ï¤ì¤ë¤Î¤Çº¸ÊÕ¤¬ÊÑ¿ô¤Ç¤¢¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡Ë
*INT(x)¤äSQR(D)¤ÏÁȹþ¤ß´Ø¿ô¤Ç¤¹¡£(¥Ø¥ë¥×[¿ôÃÍ][Áȹþ¤ß´Ø¿ô][¿ôÃÍ´Ø¿ô]»²¾È)
*40¹Ô¤È50¹Ô¤Î¡Ö!¡×¤ÏÃí¼áµ­¹æ¤Ç¤¹¡£¤³¤Îµ­¹æ°Ê¹ß¤Ï²¿¤ò½ñ¤¤¤Æ¤â¥×¥í¥°¥é¥à¤Î¼Â¹Ô¤Ë±Æ¶Á¤òÍ¿¤¨¤Þ¤»¤ó¡£
 

³Îǧ

 Åê¹Æ¼Ô¡§¾®ÄÍÄçŵ  Åê¹ÆÆü¡§2008ǯ11·î12Æü(¿å)14»þ25ʬ6ÉÃ
ÊÖ¿®¡¦°úÍÑ
  £Ç£Í£Ï¡Ê¥°¥í¡¼¥Ð¥ë¥á¥Ç¥¤¥¢¥ª¥ó¥é¥¤¥ó¡Ë¤Ï³°ÀǤǤ¹¡£  

Re: ¼ÁÌä¤Ç¤¹¡¦¡¦¡¦

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î13Æü(ÌÚ)15»þ53ʬ38ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.77[¸µµ­»ö¤Ø]

NINA¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> Âç³Ø¤Î¿ô³Ø¤Î²ÝÂê¤Ç¡¢
>
> ¡Ö1¡¤2¡¤3¡¤¡Ä¡¤£î¤Î½ç¤Ëʤó¤Ç¤¤¤ë¿ôÎó¤Î¤Ê¤«¤Ç¡¢¡È¡Ü¡É¤È¡È¡á¡É¤òÆþ¤ì¤Æ¼°¤ò´°À®¤µ¤»¤è¡£¡×

¥Ç¡¼¥¿Îó¤Î½èÍý¤È¤·¤Æ¡¢¤â¤¦£±¤ÄÊ̲ò¤ò¾Ò²ð¤·¤Æ¤ª¤­¤Þ¤¹¡£


¡ü¡Ö´ðËÜ¥¢¥ë¥´¥ê¥º¥à¤Î²ÝÂê¡×¤È¤·¤Æ¤Î¥µ¥ó¥×¥ë¡Ê¤½¤Î£²¡Ë

ÊýÄø¼° n*(n+1)/2=2*k*(k+1)/2 ¤è¤ê
£²¤Ä¤Î¿ôÎó
¡¡¿ôÎó S1={1,3,6,10,15,21,¡Ä,n*(n+1)/2,¡Ä}¡¢n=1¡Á1000000
¡¡¿ôÎó S2={2,6,12,20,30,42,¡Ä,2*k*(k+1)/2,¡Ä}¡¢k=1¡Á1000000-1
¤ò¹Í¤¨¤ë¡£
¤³¤Î£²¤Ä¤Î¿ôÎó¡Ê¥Ç¡¼¥¿Îó¡Ë¤Ï¾®¤µ¤¤½ç¤ËÀ°Îó¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢
£±¤Ä¤ÎÀ°Î󤵤줿¥Ç¡¼¥¿Îó¤ËÊ»¹ç¡Ê¥Þ¡¼¥¸¡Ë¤¹¤ë¤³¤È¤ËÃåÌܤ¹¤ë¡£
!OPTION ARITHMETIC decimal_high

LET t0=TIME

LET a=1000000

LET n=1 !ÀèÆ¬¤«¤é
LET k=1

LET c=0 !¸Ä¿ô
DO UNTIL n>a OR k>a-1 !¤É¤Á¤é¤«¤Î¥Ç¡¼¥¿Î󤬽ª¤ï¤ë¤Þ¤Ç
   LET s1=n*(n+1)/2 !¥Ç¡¼¥¿Îó¤òÆÀ¤ë
   LET s2=2*k*(k+1)/2

   IF s1=s2 THEN !¥Þ¡¼¥¸¤¹¤ë
      LET c=c+1
      PRINT c;"¸ÄÌÜ"

      PRINT "1 + ¡Ä +";k;"=";k+1; !º¸Êդȡá
      IF k<n-1 THEN !À°·Á¤Î¤¿¤á
         PRINT "+ ¡Ä +";n; !±¦ÊÕ
      END IF
      PRINT "¡Ê=";s1/2;"¡Ë" !ÏÂ

      LET k=k+1
      LET n=n+1
   ELSEIF s1>s2 THEN
      LET k=k+1
   ELSE
      LET n=n+1
   END IF
LOOP

PRINT "·×»»»þ´Ö=";TIME-t0

END

 

µ¿Ìä

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î16Æü(Æü)07»þ09ʬ52ÉÃ
ÊÖ¿®¡¦°úÍÑ
  £±¤«¤é£³¤ò¡¡¡¡¡¡£±¡¡£³
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£²
¤ÈÇÛÎ󤹤ì¤Ð¡¢¾å¤ÎÃʤΣ²¿ô¤Îº¹¤¬¡Ê¤¿¤À¤·Â礭¤¤Êý¤«¤é¾®¤µ¤¤Êý¤ò°ú¤¯¡££³¡Ý£±¡Ë
²¼¤Î¿ô¤È¤Ê¤ë¡£
¤³¤Îµ¬Â§¤òÉßÞ§¤·
£±¤«¤é£¶¤Þ¤Ç¤Î¿ô»ú¤ò°ìÅÙ¤À¤±»ÈÍѤ·¤Æ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ü¡¡¡ü¡¡¡ü
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ü¡¡¡ü
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ü
¤Î°ÌÃÖ¤ËÆþ¤ì¤¿¤¤¡£
»î¹Ôºø¸í¤Î¸å¡¢£¶¡¡£²¡¡£µ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£´¡¡£³
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£±
¤Ê¤ëÇÛÎ󤬡ʤâ¤Á¤í¤ó¾¤Î¥Ñ¥¿¡¼¥ó¤â¸ºß¤¹¤ë¤È»×¤¦¡£¡Ëµá¤á¤é¤ì¤ë¡£
¤·¤«¤·¡¢
¼¡¤«¤é¤¬¿Í´Ö¤Ë¤Ï¸Â³¦¤¬½Ð¤Æ¤­¤Æ¡¢
¤Ç¤Ï¡¢£±¡Á£±£°¤Î¿ô»ú¤ò°ìÅÙ¤À¤±»ÈÍѤ·¤Æ
¡¡¡¡¡¡¡¡¡¡¡¡¡ü¡¡¡ü¡¡¡ü¡¡¡ü
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ü¡¡¡ü¡¡¡ü
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ü¡¡¡ü
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ü
¤ÎÇÛÎó¤ò¹½À®
¤µ¤é¤Ë¡¢£±¡Á£±£µ¤Î¿ô»ú¤Ç
¡¡¡¡¡¡¡¡¡¡¡ü¡¡¡ü¡¡¡ü¡¡¡ü¡¡¡ü
¡¡¡¡¡¡¡¡¡¡¡¡¡ü¡¡¡ü¡¡¡ü¡¡¡ü
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ü¡¡¡ü¡¡¡ü
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ü¡¡¡ü
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ü
£±¡Á£²£±¤Ç
¡¡¡¡¡¡¡¡¡ü¡¡¡ü¡¡¡ü¡¡¡ü¡¡¡ü¡¡¡ü
¡¡¡¡¡¡¡¡¡¡¡ü¡¡¡ü¡¡¡ü¡¡¡ü¡¡¡ü
¡¡¡¡¡¡¡¡¡¡¡¡¡ü¡¡¡ü¡¡¡ü¡¡¡ü
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ü¡¡¡ü¡¡¡ü
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ü¡¡¡ü
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ü
¡¦¡¦¡¦¡¦
¡¦¡¦¡¦¡¦
¤Ï¹½À®²Äǽ¤Ê¤Î¤À¤í¤¦¤«¡©
¤³¤ÎÌäÂê¤ò²ò·è¤·¤Æ¤â¤é¤¤¤¿¤¤¡£
 

Re: µ¿Ìä

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2008ǯ11·î16Æü(Æü)12»þ05ʬ29ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.84[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

n=10¤Ç¤Ï¸ºß¤·¤Þ¤·¤¿¡£

  9  10   3   8
    1   7   5
      6   2
        4

¼¡¤Î¥×¥í¥°¥é¥à¤Çȯ¸«¤·¤Þ¤·¤¿¤¬¡¢¾¯¤·¹©Éפ¹¤ì¤ÐÁ´¿ôÄ´ºº¤â²Äǽ¤Ç¤Ï¤Ê¤¤¤«¤È»×¤¤¤Þ¤¹¡£

LET k=4  ! 4¹Ô
LET n=k*(k+1)/2  ! n=10
DIM a(k,k),check(n)
FOR maxn=1 TO CEIL(k/2)
   FOR r=1 TO n^(n/2)
      MAT check=ZER
      LET a(1,maxn)=n
      LET check(n)=1
      FOR i=1 TO k
         FOR j=1 TO k+1-i
            IF NOT (i=1 AND j=maxn) THEN
               DO
                  LET num=INT((n-1)*RND)+1
               LOOP UNTIL check(num)=0
               LET a(i,j)=num
               LET check(num)=1
            END IF
         NEXT j
      NEXT i
      !MAT PRINT a
      CALL diff
      IF p=0 THEN MAT PRINT a
      LET p=0
   NEXT r
NEXT maxn
SUB diff
   FOR i=1 TO k-1
      FOR j=1 TO k-i
         IF ABS(a(i,j)-a(i,j+1))<>a(i+1,j) THEN
            LET p=1
            EXIT SUB
         END IF
      NEXT j
   NEXT i
END SUB
END
 

½õ¤±¤Æ²¼¤µ¤¤¡£

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î16Æü(Æü)20»þ54ʬ54ÉÃ
ÊÖ¿®¡¦°úÍÑ
  Áᮥꥹ¥È¤ò¥³¥Ô¡¼¤·¤ÆÆ°¤«¤·¤Æ¤ß¤¿¤é¡¢OK¤Ç¤·¤¿¡£
k=5 ¤Ç¤ä¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢Ä«¤«¤éư¤«¤·¤Æ¤¤¤Þ¤¹¤¬¤Þ¤À½ª¤ï¤ê¤Þ¤»¤ó¡£¡Ê£±£²»þ´Ö¶á¤¯¡£¡Ë
¤»¤á¤Æ¡¢£±»þ´Ö°Ì¤ÇÄ´ºº¤Ç¤­¤Ê¤¤¤â¤Î¤Ç¤·¤ç¤¦¤«¡©
¤É¤³¤ò¤É¤¦²þÎɤ·¤¿¤é¤è¤¤¤Î¤«¡¦¡¦¡¦¡¢Ã¯¤«½õ¤±½®¤¬Íߤ·¤¤¡ª¡ª¡ª
 

Re: ½õ¤±¤Æ²¼¤µ¤¤¡£

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2008ǯ11·î16Æü(Æü)22»þ07ʬ56ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.86[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£


¤´¤á¤ó¤Ê¤µ¤¤¡£
¤¢¤ì¤Ï20ʬ¤¯¤é¤¤¤Ç¼è¤ê¹ç¤¨¤ººî¤Ã¤¿¤â¤Î¤Ç¡¢ºî¤ê¤Ê¤¬¤é¤â¡Ö̵Â̤¬Â¿¤¤¡×¤È¹Í¤¨¤Æ¤Ï¤¤¤Þ¤·¤¿¡£
¥é¥ó¥À¥àÄ´ºº¤Ç»î¹Ô²ó¿ô¤¬CEIL(k/2)*SQR(n^n)¤Ç¤¹¤«¤é¡¢n=15¤Ç¤Ï¤Ê¤«¤Ê¤«½ª¤ï¤é¤Ê¤¤¤È»×¤¤¤Þ¤¹¡£

¤µ¤Ã¤½¤¯²þÎÉÈǤòºî¤ê¤Þ¤¹¡£
ÌÀÆü¤Þ¤Ç¤Ë¤Ï¤Ç¤­¤ë¤«¤È»×¤¤¤Þ¤¹¡£
 

Re: µ¿Ìä

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î17Æü(·î)09»þ14ʬ59ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.84[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

¡ü¥µ¥ó¥×¥ë¡¡¤½¤Î£±
Á°²ó¾Ò²ð¤·¤¿¥Ð¥Ã¥¯¥È¥é¥Ã¥¯Ë¡¤Ë¤è¤ëÁíÅö¤ê¤Ç¤¹¡£
KÃʤξì¹ç¡¢K*(K+1)/2¤Î³¬¾è¤Ë¤Ê¤ê¤Þ¤¹¡£¡ÊK=5¡¢15!=1,307,674,368,000¡Ë

¤³¤Î¼ê¤Î¥Ñ¥º¥ë¤Ï¥Ð¥Ã¥¯¥È¥é¥Ã¥¯Ë¡¤Ç²ò¤±¤Þ¤¹¡Ê»þ´Ö¤Ï¤«¤«¤ë¡Ë¤Î¤Ç¡¢¤¼¤Ò¥Þ¥¹¥¿¡¼¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
PUBLIC NUMERIC ANSWER_COUNT !²òÅú¿ô
LET ANSWER_COUNT=0

LET K=5 !ÃÊ¿ô¡¡¢¨1¡Á

LET N=K*(K+1)/2 !£±¡Á£Ë¤Þ¤Ç¤Î¿ô»ú
DIM A(N)
MAT A=ZER

LET t0=TIME
PRINT K;"ÃÊ"
PRINT "1 ¡Á";N;"¤Þ¤Ç¤Î¿ô»ú"
CALL backtrack(1,K,N,A)
IF ANSWER_COUNT=0 THEN PRINT "²ò¤Ê¤·"
PRINT "·×»»»þ´Ö=";TIME-t0

END


EXTERNAL SUB backtrack(p,K,N,A())
FOR nm=1 TO N
   LET A(p)=nm !²¾¤ËÀßÄꤷ¤Æ¤ß¤ë

   CALL checkrule(p,nm,N,A, rc) !¾ò·ï¤òËþ¤¿¤¹¤Ê¤é
   IF rc=1 THEN

      IF p=N THEN !¤¹¤Ù¤ÆËä¤Þ¤Ã¤¿¤é
         LET ANSWER_COUNT=ANSWER_COUNT+1
         PRINT ANSWER_COUNT;"¸ÄÌÜ"

         FOR i=K TO 1 STEP -1 !¾åÃʤ«¤é
            PRINT REPEAT$(" ",K-i); !±¦¤Ø¥·¥Õ¥È
            FOR j=1 TO i !¤³¤ÎÃʤοô»ú¤Î¿ô
               PRINT USING "###": A((i-1)*i/2+j);
            NEXT j
            PRINT
         NEXT i
         !!!MAT PRINT A;

      ELSE
         CALL backtrack(p+1,K,N,A) !¼¡¤Ø

      END IF

   END IF
   LET A(p)=0 !¸µ¤ËÌ᤹
NEXT nm
END SUB


EXTERNAL SUB checkrule(p,nm,N,M() ,rc) !¾ò·ï¤¬Ëþ¤¿¤¹¤«¤É¤¦¤«³Îǧ¤¹¤ë
LET rc=0

!¡ü¿ô»ú¤Ï½ÅÊ£¤·¤Æ¤¤¤Ê¤¤¤«¡©
FOR i=1 TO p-1
   IF nm=M(i) THEN EXIT SUB !¸«¤Ä¤«¤Ã¤¿¤Î¤Ç£Î£Ç¡ª
NEXT i

!¡ü¾åÃʤΣ²¿ô¤Îº¹¡©
!M(p)¤Îꤍ»úÈÖ¹æ¤ÈÇÛÃÖ
!11 12 ¡Ä¡¡¡¡¡¡£µÃÊÌÜ s=11
!¡¡7 8 9 10¡¡¡¡£´ÃÊÌÜ s=7
!¡¡ 4 5 6¡¡¡¡¡¡£³ÃÊÌÜ s=4
!¡¡¡¡2 3¡¡¡¡¡¡ £²ÃÊÌÜ s=2
!¡¡¡¡ 1¡¡¡¡¡¡¡¡£±ÃÊÌÜ s=1
!
!M(p-1)¡¡M(p)¡¡¡¡xÃÊÌÜ
!¡¡¡¡M(p-x)

LET a=1/2 !ÃÊ¿ô¤òÆÀ¤ë¡¡¢¨x¤Î£²¼¡ÊýÄø¼°(x-1)*x/2+1-p=0¤Î²ò
LET b=-1/2
LET c=1-p
LET D=b^2-4*a*c !ȽÊ̼°¡¡¢¨¤³¤Î²ò¤Ï¼Â¿ô¤Î¤ß
LET x=INT((-b+SQR(D))/(2*a))

IF x>1 THEN !£²ÃÊÌܰʹߤʤé
   IF p>(x-1)*x/2+1 THEN !¤³¤ÎÃʤΣ²ÎóÌܰʹߤʤé
      IF ABS(M(p-1)-M(p))<>M(p-x) THEN EXIT SUB !ÉÔÀ®Î©¤Ê¤Î¤Ç£Î£Ç¡ª
   END IF
END IF

!¡üº¸±¦ÂоÎ
IF p=N AND M(p)<M(p-x+1) THEN EXIT SUB !¾åÃʤκ¸Ã¼¤È±¦Ã¼

LET rc=1 !£Ï£Ë¡ª
END SUB
¡Ê¼Â¹Ô·ë²Ì¡Ë
 5 ÃÊ
1 ¡Á 15 ¤Þ¤Ç¤Î¿ô»ú
 1 ¸ÄÌÜ
  6 14 15  3 13
   8  1 12 10
    7 11  2
     4  9
      5
·×»»»þ´Ö= 36.36
¢¨WindowsME¡¢CPU Pentium­·700MHz¤Ë¤Æ
 

Re: µ¿Ìä

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î17Æü(·î)10»þ46ʬ44ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.88[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

¡ü¥µ¥ó¥×¥ë¡¡¤½¤Î£²
KÃʤξì¹ç¡¢»ÈÍѤ¹¤ë¿ô»ú¤Ï1¡ÁN=K*(K+1)/2¤È¤Ê¤ë¡£
¾åÃʤοô»ú¤Î¤ß¤¬¼«Í³¤ËÀßÄê¤Ç¤­¤ë¡£¤¿¤À¤·¡¢½ÅÊ£¤Ï¤·¤Ê¤¤¡£
¤³¤Î¾åÃʤοô»úÎó¤Ï¡¢½çÎóP(N,K)¤Ç·è¤á¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
¤½¤ì¤Ë¤è¤Ã¤Æ¡¢²¼Ãʤϳ¬º¹¤È¤·¤Æ½ç¤Ë·è¤Þ¤ë¡£
¤³¤Î¤È¤­¡¢¿ô»ú¤Î½ÅÊ£¤¬¤Ê¤¤¤«³Îǧ¤¹¤ë¡£

K=3¤Ê¤é¡¢N=3*(3+1)/2=6¡£
¾åÃÊ 2 4 5 ¤È¤¹¤ë¤È

¡¡2 4 5
¡¡ 2 1¡¡¢«¾åÃÊ£²¤Ä¤Îº¹
¡¡¡¡1¡¡¢«¾åÃÊ£²¤Ä¤Îº¹

¤¿¤È¤¨¤Ð¡¢£²ÃÊÌÜ£±ÈÖÌܤΣ²¤¬½ÅÊ£¤·¤Æ¤¤¤ë¤¿¤á¡¢£Î£Ç¤È¤Ê¤ë¡£

£²ÃÊ¡¡3P2=          6
£³ÃÊ¡¡6P3=        120
£´ÃÊ¡¡10P4=     5,040
£µÃÊ¡¡15P5=   360,360
£¶ÃÊ¡¡21P6=39,070,080¡¡¢«¤«¤Ê¤ê¥­¥Ä¥¤
¡¡¡§
¤Î¿ô¤ò³Îǧ¤¹¤ë¡£
PUBLIC NUMERIC ANSWER_COUNT !²òÅú¿ô
LET ANSWER_COUNT=0

LET K=5 !ÃÊ¿ô¡¡¢¨1¡Á

LET N=K*(K+1)/2 !£±¡Á£Î¤Þ¤Ç¤Î¿ô»ú
DIM F(N),FF(N),B(K),BB(K)
MAT F=ZER
MAT B=ZER

LET t0=TIME

PRINT K;"ÃÊ"
PRINT "1 ¡Á";N;"¤Þ¤Ç¤Î¿ô»ú"
CALL perm(1,N,K, F,B,FF,BB)
IF ANSWER_COUNT=0 THEN PRINT "²ò¤Ê¤·"

PRINT "·×»»»þ´Ö=";TIME-t0

END


EXTERNAL SUB perm(p,N,R, F(),B(),FF(),BB()) !½çÎónPr¤òÀ¸À®¤¹¤ë
FOR nm=1 TO N !¾åÃʤΣ˸Ĥοô¤ò·è¤á¤ë

   IF F(nm)=0 THEN !¿ô»ú¤Ï½ÅÊ£¤Ê¤·¤ËËä¤á¤ë

      LET F(nm)=1 !»ÈÍÑÃæ¤È¤¹¤ë
      LET B(p)=nm !²¾¤ËÀßÄꤷ¤Æ¤ß¤ë

      IF p=R THEN !¤¹¤Ù¤ÆËä¤Þ¤Ã¤¿¤é
         CALL checkrule(R,F,B,FF,BB, rc) !¾ò·ï¤òËþ¤¿¤¹¤Ê¤é
         IF rc=1 THEN

            LET ANSWER_COUNT=ANSWER_COUNT+1
            PRINT ANSWER_COUNT;"¸ÄÌÜ"

            MAT BB=B
            FOR j=1 TO R !¾åÃÊ
               PRINT USING "###": BB(j);
            NEXT j
            PRINT
            FOR i=R-1 TO 1 STEP -1 !²¼ÃʤØ
               PRINT REPEAT$(" ",R-i); !±¦¤Ø¥·¥Õ¥È
               FOR j=1 TO i !¤³¤ÎÃʤοô»ú¤Î¿ô
                  LET BB(j)=ABS(BB(j)-BB(j+1))
                  PRINT USING "###": BB(j);
               NEXT j
               PRINT
            NEXT i

         END IF
      ELSE
         CALL perm(p+1,N,R, F,B,FF,BB) !¼¡¤Ø
      END IF

      LET B(p)=0 !¸µ¤ËÌ᤹
      LET F(nm)=0

   END IF

NEXT nm
END SUB


EXTERNAL SUB checkrule(K,F(),B(),FF(),BB(), rc) !¾ò·ï¤¬Ëþ¤¿¤¹¤«¤É¤¦¤«³Îǧ¤¹¤ë
LET rc=0

!¡üº¸±¦ÂоÎ
IF B(1)>B(K) THEN EXIT SUB !¾åÃʤκ¸Ã¼¤È±¦Ã¼

!¡ü¾åÃʤΣ²¿ô¤Îº¹¡©
MAT BB=B !ºî¶ÈÇÛÎó¤Ø
MAT FF=F
FOR x=K-1 TO 1 STEP -1 !xÃÊÌÜ
   FOR j=1 TO x !£±¤Ä²¼¤ÎÃÊ
      LET p=ABS(BB(j)-BB(j+1))
      IF FF(p)=1 THEN EXIT SUB !¿ô»ú¤¬½ÅÊ£¤·¤Æ¤¤¤Ê¤¤¤«
      LET BB(j)=p
      LET FF(p)=1 !»ÈÍÑÃæ¤È¤¹¤ë
   NEXT j
NEXT x

LET rc=1 !£Ï£Ë¡ª
END SUB

¡Ê¼Â¹Ô·ë²Ì¡Ë
¡ü  5 ÃÊ
1 ¡Á 15 ¤Þ¤Ç¤Î¿ô»ú
 1 ¸ÄÌÜ
  6 14 15  3 13
   8  1 12 10
    7 11  2
     4  9
      5
·×»»»þ´Ö= 23.13 ¡¡¢«Â¿¾¯Á᤯¤Ê¤Ã¤¿


¡ü  6 ÃÊ
1 ¡Á 21 ¤Þ¤Ç¤Î¿ô»ú
²ò¤Ê¤·
·×»»»þ´Ö= 2978.17
¢¨WindowsME¡¢CPU Pentium­·700MHz¤Ë¤Æ



¡ü²þÎɰÆ
¿ô»úN¤Ïɬ¤º¾åÃʤ˸ºß¤¹¤ë¡£¤³¤ÎÇÛÃÖ¤ÏKÄ̤ꡣ
»Ä¤êK-1²Õ½ê¤Ë»Ä¤ê¤Î¿ô»ú¤òËä¤á¤ë½çÎó¤ÏP(N-1,K-1)¤È¤Ê¤ë¡£
¤³¤ì¤Ë¤è¤Ã¤Æ¡¢

£²ÃÊ¡¡2¡ß2P1=             4
£³ÃÊ¡¡3¡ß5P2=            30
£´ÃÊ¡¡4¡ß9P3=         2,016
£µÃÊ¡¡5¡ß14P4=      120,120
£¶ÃÊ¡¡6¡ß20P5=   11,162,880
£·ÃÊ¡¡7¡ß27P6=1,491,890,400¡¡¢«¤«¤Ê¤ê¥­¥Ä¥¤

¤È¤Ê¤ê¡¢£·Ãʤεá²ò¤¬¸½¼Â¤È¤Ê¤ë¡©¡ª
 

¤ªÎé

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î17Æü(·î)15»þ17ʬ47ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¿§¡¹Ä´¤Ù¤Þ¤·¤¿¤é£µÃʤޤǤϹ½À®¤Ç¤­¤ë¤¬¡¢£¶ÃʰʹߤÏÉÔ²Äǽ¡Ê¾ÚÌÀ¤Ï¤É¤¦¤ä¤ë¤Î¤À¤í¤¦¤«¡©¡Ë¤È¤Î¤³¤È¤Ç¤·¤¿¡£
·ë²Ì¤ò¤ß¤ë¤È¤Ê¡¼¤ó¤À¡ª¤Ê¤ó¤Ç¤¹¤¬¤³¤ì¤ò»î¹Ôºø¸í¤À¤±¤Ç¤ä¤Ã¤Æ¤ß¤ë¤È¡¢ºÇ½é¤Î£µ¤Ä¤Î¿ô»ú¤òÈù̯¤ËÊѲ½¤µ¤»¤Ê¤¬¤é¤¤¤¯¤é¤ä¤Ã¤Æ¤â¡¢¿ôÃʸå¤Ë¤Ï½ÅÊ£¤¹¤ë¿ô»ú¤¬½Ð¸½¤·¤Æ¤¯¤ë¤Î¤Ç¤¹¡£
¤Þ¤µ¤ËÀ®¸ù¤¹¤ë¤Ë¤Ïº¬À­¤Î²¿¼Ô¤Ç¤â¤¢¤ê¤Þ¤»¤ó¡£¡Ê»ä¤â£³Æü¤Û¤É¼è¤êÁȤߤޤ·¤¿¤¬¤É¤¦¤·¤Æ¤â£µÃʤòȯ¸«¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£¥È¥Û¥Û¡¦¡¦¡¦¡Ë
¤³¤Î¥Ñ¥º¥ë¤Ïï¤Ë¤Ç¤â¤Ç¤­¡¢¤¢¤­¤é¤á¤Ê¤¤µ¤»ý¤Á¤È¿¾¯¤Î¹¬±¿¤È¤¤¤¦¥®¥ã¥ó¥Ö¥ëŪÍ×ÁǤò´Þ¤ó¤À¤È¤Ã¤Æ¤â¤¤¤¤¥Ñ¥º¥ë¤À¤È»×¤¤¤Þ¤·¤¿¡£
¤À¤ì¤¬¤³¤ó¤Êȯ¸«¤ò¤·¤ÆÀ¤¤ÎÃæ¤Ë¾Ò²ð¤·¤Æ¤¤¤ë¤ó¤Ç¤·¤ç¤¦¤«¡©
¤Þ¤¿¤³¤ì¤¬£µÃʤǽª¤ï¤ê¤È¤¤¤¦¤³¤È¤â¤¢¤ê¤¬¤¿¤¤¤Ç¤¹¡£
¤â¤¦¤³¤ì°Ê¾å¹Í¤¨¤¿¤¯¤â¤¢¤ê¤Þ¤»¤ó¤â¤Î¡¦¡¦¡¦
¤·¤«¤·
¾ÚÌÀ¤µ¤ì¤¿¤È¤Ï¥Û¥ó¥È¤Ï¥¦¥½¤Ç¡¢Í¾¤ê¤Ë¤â¥Ñ¥¿¡¼¥ó¿ô¤¬Â¿¤¯£¶¡¤£·¡¤£¸¡¦¡¦¡¦¤Þ¤Ç¹½À®¤Ç¤­¤Ê¤¤¤«¤é°Ê¹ß¤â¤¢¤êÆÀ¤Ê¤¤¤À¤í¤¦¤È¤Î´¶³Ð¤À¤±¤«¤é¤½¤¦·ëÏÀ¤ò½Ð¤·¤Æ¤¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
¤¢¤ë»×¤¤¤¬¤±¤Ê¤¤Ãʤˤª¤¤¤Æ¹½À®²Äǽ¤Ç¤Ï¤Ê¤«¤í¤¦¤«¤È¤¤¤¦»×¤¤¤â¤É¤³¤«¤Ë»Ä¤ê¤Þ¤¹¡£
¤É¤Ê¤¿¤«¿ô³ØÅª¤Ê¾ÚÌÀ¤ò½Ð¤·¤Æ²¼¤µ¤¤¡£
 

Re: ½õ¤±¤Æ²¼¤µ¤¤¡£

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2008ǯ11·î17Æü(·î)23»þ52ʬ29ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.86[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£


Á´¿ôÄ´ººÍÑ¥×¥í¥°¥é¥à´°À®¤·¤Þ¤·¤¿¡£

¤Þ¤º1¹ÔÌܤò·è¤á¤Æ¡¢º¹¤ò¼è¤Ã¤Æ¤¤¤­¿ô»ú¤Î½ÅÊ£¤¬¤Ê¤¤¤«Ä´ºº¤·¤Þ¤¹¡£

k¹Ô¤Çn¸Ä¤Î¿ô»ú¤È¤¹¤ë¤È¡¢(n-1)¸Ä¤«¤é(k-1)¸Ä¤ò¼è¤ê½Ð¤·¤¿½çÎóp¤ÎÁ°È¾Éôʬ¤Ën¤òÁÞÆþ¤·¤Æ1¹ÔÌܤò¹½À®¤·¤Þ¤¹¡£

Ä´ºº²ó¿ô¤ò¸º¤é¤¹¤¿¤á¤Ë¡¢ÂоÎŪ¤Ê¿ôÎó¤Ï¥­¥ã¥ó¥»¥ë¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£

¤¿¤È¤¨¤Ð¡¢k=5,n=15¤ÇÇÛÎóp¤¬ 7,11,6,9 ¤À¤È¤·¤Þ¤¹¡£

Ä´ºº¤¹¤ë¤Î¤Ï¡¢

  15,7,11,6,9
  7,15,11,6,9
  7,11,15,6,9

¤³¤Î3Ä̤ê¤È¤·¤Þ¤¹¡£

7,11,6,15,9 ¤È 7,11,6,9,15 ¤Ï¡¢ÇÛÎóp¤¬ 9,6,11,7 ¤Î¤È¤­¤ËÄ´ºº¤·¤Þ¤¹¡£

¤Þ¤¿¡¢¤³¤Î¤È¤­¤Ï 9,6,15,11,7 ¤ÏÄ´ºº¤·¤Þ¤»¤ó¡£


  ¹Ô¿ô     ¼Â¹Ô»þ´Ö   Ä´ºº²ó¿ô     ²ò
  k=2 --->   0.03 Éà        2 ²ó   2¸Ä
  k=3 --->   0.08 Éà       30 ²ó   4¸Ä
  k=4 --->   0.14 Éà     1008 ²ó   4¸Ä
  k=5 --->   2.05 Éà    60060 ²ó   1¸Ä
  k=6 ---> 192.16 Éà  5581440 ²ó   0¸Ä (2¿Ê¥â¡¼¥É¤Ç100.20ÉÃ)
  k=7 ---> ̤Ĵºº    745945200 ²ó   ?¸Ä (2¿Ê¥â¡¼¥É¤Ç¤â4»þ´Ö¶á¤¯¤«?)
  k=8 ---> ̤Ĵºº 135566323200 ²ó   ?¸Ä


DECLARE EXTERNAL SUB combi
PUBLIC NUMERIC k,n,h,pt,count
LET t0=TIME
LET k=5         ! ¹Ô¿ô
LET n=k*(k+1)/2 ! ºÇÂçÃÍ
LET h=INT(k/2)  ! Ⱦʬ
LET pt=MOD(k,2) ! ´ñ¶ö
DIM nn(n-1),c(k-1)
MAT nn=ZER
LET count=0
LET j=0
CALL combi(nn,1,k-1,j,c)
PRINT TIME-t0;"ÉÃ",count;"²ó"
END

EXTERNAL SUB differ(p()) !Ãí°Õ:°ìÉô²þÎɤ·¤Þ¤·¤¿
DIM a(k,k),ck(n-1)
LET a(1,1)=n
FOR j=2 TO k
   LET a(1,j)=p(j-1)
NEXT j
CALL check
FOR j=2 TO h
   SWAP a(1,j-1),a(1,j)
   CALL check
NEXT j
IF pt=1 AND p(1)<p(k-1) THEN ! n¤¬Ãæ±û¤Î¤È¤­
   SWAP a(1,h),a(1,h+1)
   CALL check
END IF
SUB check
   LET count=count+1
   MAT ck=ZER
   FOR r=1 TO k-1
      LET ck(p(r))=1
   NEXT r
   FOR ii=1 TO k-1
      FOR jj=1 TO k-ii
         LET d=ABS(a(ii,jj)-a(ii,jj+1))
         IF ck(d)=1 THEN EXIT SUB ! ¿ôÃͽÅÊ£
         LET ck(d)=1
         LET a(ii+1,jj)=d
      NEXT jj
   NEXT ii
   MAT PRINT a;  ! ²ò¤¢¤ê
END SUB
END SUB

REM ½½¿ÊBASICźÉÕ"\BASICw32\SAMPLE\COMBINAT.BAS"¤è¤ê
REM 1¡Án-1¤Î½¸¹ç¤«¤ér¸Ä¤òÁª¤ÖÁȹ礻¤òÀ¸À®¤¹¤ë¡£
EXTERNAL SUB combi(nn(),kk,r,j,c())
DECLARE EXTERNAL SUB permu
! kk°Ê¹ß¤Î¿ô¤«¤ér¸Ä¤òÁªÂò¤¹¤ë
IF r=0 THEN
   FOR i=1 TO n-1
      IF nn(i)=1 THEN
         LET j=j+1
         LET c(j)=i
      END IF
   NEXT i
   !MAT PRINT c;
   CALL permu(c,1)
   LET j=0
ELSE
   FOR i=kk TO n-r
      LET nn(i)=1
      CALL combi(nn,i+1,r-1,j,c)
      LET nn(i)=0
   NEXT i
END IF
END SUB

REM ½½¿ÊBASICźÉÕ"\BASICw32\SAMPLE\PERMUTAT.BAS"¤è¤ê
REM (k-1)¸Ä¤Î¿ôÃͤνçÎó¤ò¼­½ñ¼°½ç½ø¤ÇÀ¸À®¤¹¤ë¡£
EXTERNAL SUB permu(p(),r)
DECLARE EXTERNAL SUB differ
IF r=k-1 THEN
!MAT PRINT p;
   CALL differ(p)
ELSE
   FOR i=r TO k-1
      LET t=p(i)
      FOR j=i-1 TO r STEP -1
         LET p(j+1)=p(j)
      NEXT j
      LET p(r)=t
      CALL permu(p,r+1)
      LET t=p(r)
      FOR j=r TO i-1
         LET p(j)=p(j+1)
      NEXT j
      LET p(i)=t
   NEXT i
END IF
END SUB
 

µ¡³£¸ì¤Ç®ÅÙ¤ò¾å¤²¤¿¤¬

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ11·î18Æü(²Ð)04»þ24ʬ8ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.39[¸µµ­»ö¤Ø]

!ÃÙ¤¤Êý¤Î check1,check2,echk ¥ë¡¼¥Á¥ó ¤À¤±¡¢µ¡³£¸ì¤Ç®ÅÙ¤ò¾å¤²¤¿¤¬¡¢
!1.7GHz Pentium-4 128MB ¤Ç£¸»þ´Ö¤â¤«¤«¤ë¡££Ã¸À¸ì¤è¤ê®¤¤¤Ï¤º¤Ê¤Î¤À¤¬¡¢
!»ä¤Î½ñ¤­Êý¤¬ÉÔÌ£¤¤¤Î¤«¡©
! http://homepage2.nifty.com/neutro/asm/hojin_43.dll   ...Ʊ¤¸¥Õ¥©¥ë¥À¤ËÃÖ¤¯¡£
! http://homepage2.nifty.com/neutro/asm/hojin_43.asm   ...¥½¡¼¥¹
!----------------------------------------------------------------------------
!/* £¶¼¡¤Î¥ª¥¤¥é¡¼Êý¿Ø¤¬Â¸ºß¤·¤Ê¤¤¤³¤È¤ò³Îǧ¤¹¤ë. */

OPTION CHARACTER byte
SET TEXT BACKGROUND "opaque"
SET TEXT font"",14
OPTION BASE 0
DIM wb(8,8)
!
LET lb$=REPEAT$( CHR$(0),10000*8*8) !  N=1¡Á7: 1,1,1,4,56,9408,16942080
LET N= 6 !  2,3,4,5,6
LET cp= 1000 ! ¥«¥¦¥ó¥¿¡¼¤Îɽ¼¨´Ö³Ö(1~20000)¡¢¾®¤µ¤¤¤È®ÅÙÄã²¼¡£Â礭¤¤¤ÈÃæ»ß¤¬º¤Æñ¡£
!
CALL main

SUB makelb(x,y)
   local element
   FOR element=0 TO N-1
      FOR i=0 TO x-1
         IF element=wb(y,i) THEN EXIT FOR ! break;
      NEXT i
      IF i>x-1 THEN
         FOR i=0 TO y-1
            IF element=wb(i,x) THEN EXIT FOR ! break;
         NEXT i
         IF i>y-1 THEN
            LET wb(y,x)=element
            IF y=N-1 AND x=N-1 THEN
            !----memcpy(lb[lbs++], wb, sizeof(wb));
               LET w=1+64*lbs
               FOR i=0 TO N-1
                  FOR j=0 TO N-1
                     LET lb$(w+j:w+j)=CHR$(wb(i,j))
                  NEXT j
                  LET w=w+8
               NEXT i
               !--------¥â¥Ë¥¿¡¼
               IF MOD(lbs,1000)=0 THEN PRINT "ºîÀ®Ãæ¡£N=";N;"lbs=";lbs
               !--------
               LET lbs=lbs+1
               EXIT SUB ! return;
            END IF
            IF y=N-1 THEN CALL makelb(x+1,1) ELSE CALL makelb((x),y+1)
         END IF
      END IF
   NEXT element
END SUB

SUB main
   FOR i=0 TO N-1
      LET wb(i,0)=i ! =element
      LET wb(0,i)=i ! =element
   NEXT i
   !------
   PRINT "ɸ½à¤Î¥é¥Æ¥óÊý¿Ø¤ÎºîÀ®¡£"
   LET lbs=0
   CALL makelb(1,1)
   PRINT "ºîÀ®½ªÎ»¡£"
   PRINT
   PRINT "¼¡¿ô N=";N;"lbs=";lbs;"¸Ä"
   PRINT "ɸ½à¤Î¥é¥Æ¥óÊý¿Ø¡¡2¤Ä¤Ç¡¢"
   PRINT "¡¡¡¡¥ª¥¤¥é¡¼Êý¿Ø¤ò¹½À®²Ä¡©"
   LET w$=STR$(lbs)
   IF lbs>2 THEN LET w$=w$& "+"& STR$(lbs-1)
   IF lbs>3 THEN LET w$=w$& "+"& STR$(lbs-2)
   IF lbs>4 THEN LET w$=w$& "+..."
   IF lbs>1 THEN LET w$=w$& "+1"
   PLOT TEXT,AT 0.1,0.9 :w$& " ¤¬¸¡ºº²ó¿ô¤Ç¤¹¡£"
   PLOT TEXT,AT 0.1,0.8 :"("& STR$(lbs) &"+1)*"& STR$(lbs)& "/2= "& STR$((lbs+1)*lbs/2)& "²ó¤Þ¤Ç¡¢²¿»þ´Ö¡©"
   PRINT "µ¡³£¸ì¼Â¹ÔÃæ"
   IF check1( CallBackAdr(9), N+16*cp, lbs, lb$)=0 THEN PRINT "²ò¤Ï¡¢Í­¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£"
   PRINT "½ªÎ»¤·¤Þ¤·¤¿¡£"
END SUB

!-------------------------------------
FUNCTION check1( moni¤Î¥¢¥É¥ì¥¹, Ncp, lbs, lb$ )
   ASSIGN "hojin_43.dll","start00"
END FUNCTION

!-------------------------------------
!  hojin.dll ¤¬»ÈÍѤ¹¤ëʸ¤Ç¡¢¾õÂÖɽ¼¨ÍÑ¡£
SUB moni(message$,count), callback 9
   PRINT message$;
   PLOT TEXT,AT 0.1, 0.7 :"count= "&STR$(count)
END SUB

END

!Ãí°Õ¡§½½¿ÊBASIC¤Î Ver7.2.0 °Ê¹ß ¤Î¥Ð¡¼¥¸¥ç¥ó¤¬É¬ÍפǤ¹¡£
 

Re: ½õ¤±¤Æ²¼¤µ¤¤¡£

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î18Æü(²Ð)10»þ38ʬ17ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.91[¸µµ­»ö¤Ø]

¹ÓÅĹÀÆó¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

>
>   ¹Ô¿ô     ¼Â¹Ô»þ´Ö   Ä´ºº²ó¿ô     ²ò
>   k=2 --->   0.03 Éà        2 ²ó   2¸Ä
>   k=3 --->   0.08 Éà       30 ²ó   4¸Ä
>   k=4 --->   0.14 Éà     1008 ²ó   4¸Ä
>   k=5 --->   2.05 Éà    60060 ²ó   1¸Ä
>   k=6 ---> 192.16 Éà  5581440 ²ó   0¸Ä (2¿Ê¥â¡¼¥É¤Ç100.20ÉÃ)
>   k=7 ---> ̤Ĵºº    745945200 ²ó   ?¸Ä (2¿Ê¥â¡¼¥É¤Ç¤â4»þ´Ö¶á¤¯¤«?)
>   k=8 ---> ̤Ĵºº 135566323200 ²ó   ?¸Ä

Á°²ó£ë¡á£µ¤Ç´Ý°ìÆü¤Ç¤â·×»»ÅÓÃæ¤È½ªÎ»¤»¤º¤Ë¤Ê¤Ã¤Æ¤¤¤¿¤â¤Î¤¬¡¢
º£²ó¤Î¥×¥í¥°¥é¥à¤Ç4.28Éáʤʤó¤È¤¤¤¦Ã»»þ´Ö¡Ë¤Ç·ë²Ì¤¬½Ð¤Æ¤­¤Þ¤·¤¿¡£
£¶Ëü²ó°Ê¾å¤Î¥Á¥§¥Ã¥¯¤¬¤³¤ó¤Êû»þ´Ö¤Ë¤Ê¤µ¤ì¤Æ¤¤¤ë¤Ê¤ó¤Æ¡¢¤ª¤¤¤é¤ÎƬ¤Ï¤Ê¤ó¤Ê¤ó¤À¡ª
¥×¥í¥°¥é¥à°ì¤Ä¤Ç¤³¤¦¤â°ã¤¦¤³¤È¤Ë¤Ê¤ë¤È¤Ï¡¢¥×¥í¥°¥é¥à¤ÎÀ¤³¦¤â±ü¿¼¤¤¤Ç¤¹¤Í¡£
 

Re: µ¡³£¸ì¤Ç®ÅÙ¤ò¾å¤²¤¿¤¬

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î18Æü(²Ð)10»þ44ʬ11ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.92[¸µµ­»ö¤Ø]

SECOND¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

µ¡³£¸ì¡©¡©¡©
»ä¤Ë¤Ï¡¢¤³¤Î¥×¥í¥°¥é¥à¤ò¤É¤¦»È¤Ã¤¿¤é¤è¤¤¤Î¤«¸¡Æ¤¤â¤Ä¤­¤Þ¤»¤ó¡£
°ì±þ¥³¥Ô¡¼¤ò¤·¤Æ£Â£Á£Ó£É£Ã¾å¤ÇÁö¤é¤»¤Þ¤·¤¿¤¬¡¢²¿¤«¤Î¥Õ¥¡¥¤¥ë¤¬ÆÉ¤á¤Þ¤»¤ó¤ÈÊÖ»ö¤¬Ê֤äƤ­¤Þ¤·¤¿¡£
¤³¤ì¤ò»È¤¦¤Ë¤Ï¤É¤¦¤·¤¿¤é¤è¤¤¤«¶µ¤¨¤Æ²¼¤µ¤¤¡£
 

matÌ¿Îá¤ÈÊ£ÁÇ¿ôɽ¼¨

 Åê¹Æ¼Ô¡§Âç·§¡¡Àµ  Åê¹ÆÆü¡§2008ǯ11·î18Æü(²Ð)11»þ28ʬ38ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ºÇ¶á10¿ÊBASIC¤Î¥Ö¥ë¡¼¥Ð¥Ã¥¯¥¹¤ÎËܤò¹ØÆþ¡¢¤½¤Îκ¤Ë¤Ê¤Ã¤Æ¤Þ¤¹¡£
½ê¤Ç¡¢Åŵ¤´Ø·¸¤Ç¤Ï¡¢4ü»ÒÌÖ¤ò¥Þ¥È¥ê¥¯¥¹[A,B,C,D]ɽ¼¨¤·¤Þ¤¹¡£10¿ÊBASIC¤ÎMATʸ¤ËÊ£ÁÇɽ¼¨¤ÎÃͤòÆþ¤ì¤Æ·×»»¤µ¤»¤ë¤Ë¤Ï¡¢¤É¤¦¤·¤¿¤é ¤è¤¤¤Ç¤·¤ç¤¦¤«¡£A=5¡Ü3i B=4-6i C=7+2i D=2-3i¤Ê¤É¤ÈÆþ¤ì¤¿¤é[¼Â¿ô¤Ç¤Ê¤¤¤ÈÂÌÌÜ]¤ÈµñÈݤµ¤ì¤Þ¤·¤¿¡£¤Þ¤¿Ê£ÁÇ¿ôɽ¼¨¤ÎMAT¤ÎÀѤäµÕ¹ÔÎó¡¢Åù¤â¤É¤¦¤¹¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£
 

Re: ½õ¤±¤Æ²¼¤µ¤¤¡£

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î18Æü(²Ð)11»þ41ʬ45ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.93[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¥×¥í¥°¥é¥à°ì¤Ä¤Ç¤³¤¦¤â°ã¤¦¤³¤È¤Ë¤Ê¤ë¤È¤Ï¡¢¥×¥í¥°¥é¥à¤ÎÀ¤³¦¤â±ü¿¼¤¤¤Ç¤¹¤Í¡£


º£²ó¾Ò²ð¤µ¤ì¤¿¥×¥í¥°¥é¥à¤Ï°Ê²¼¤Î¼êË¡¤òÍѤ¤¤Æ¤¤¤Þ¤¹¡£

¡¦¥â¥ó¥Æ¥«¥ë¥íË¡
¡¡¥é¥ó¥À¥à¤Ë¿ô»ú¤òËä¤á¤Æ¾ò·ï¤Ë¹ç¤¦¤«³Îǧ¤¹¤ë¡£
¡¡³ÎΨ¤Ç¤¹¤«¤é¡¢¡Ö¶öÁ³¤Ë¤ß¤Ä¤«¤ë¡×¤ò´üÂÔ¤¹¤ë¡£
¡¡¢ª¹ÓÅĹÀÆó¤µ¤ó¤Î£±²óÌÜ

¡¦¥Ð¥Ã¥¯¥È¥é¥Ã¥¯Ë¡
¡¡½çÎó¤äÁȹ礻¤Ë¤è¤ë¿ô»ú¤òȯÀ¸¤·¤Æ¡¢¾ò·ï¤Ë¹ç¤¦¤è¤¦¤Ë½ç¤Ë¿ô»ú¤òËä¤á¤Æ¤¤¤¯¡£¡Êº£²ó¤Ï²¼¤«¤é¡Ë
¡¡»Þ´¢¤ê¸ú²Ì¡ÊÌ·½âȯÀ¸°Ê¹ß¤ÏÂоݳ°¤È¤¹¤ë½èÍý¡Ë¤ò´üÂÔ¤¹¤ë¡£¡Ê¸¡¾Ú²ó¿ô¤¬¸º¤ë¡Ë
¡¡¢ª»ä¤Î£±²óÌÜ

¡¦¡Ö¾ì¹ç¤Î¿ô¡×Ë¡
¡¡ÌäÂê¤Ë±þ¤¸¤¿¡Ö¾ì¹ç¤Î¿ô¡×¤ò¡¢½çÎó¤äÁȹ礻¤ò¹Í¤¨¤ÆºÇ¾®²ó¿ô¤Î¸¡¾Ú¤ò¹Ô¤¦¡£
¡¡¢ª¹ÓÅĹÀÆó¤µ¤ó¤Î£²²óÌÜ
¡¡¢ª»ä¤Î£²²óÌÜ


¥×¥í¥°¥é¥ß¥ó¥°¤Ï¡¢¥³¡¼¥Ç¥£¥ó¥°¡Ê¸À¸ì¤Ë¤è¤ëɽ¸½¡Ë¤è¤ê¡¢
¥¢¥ë¥´¥ê¥º¥à¡Ê²ò¤­Êý¡Ë¤ò¸¡Æ¤¤¹¤ë¤Î¤¬¼ç¤À¤È»×¤¤¤Þ¤¹¡£
 

Re: matÌ¿Îá¤ÈÊ£ÁÇ¿ôɽ¼¨

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î18Æü(²Ð)11»þ55ʬ10ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.95[¸µµ­»ö¤Ø]

Âç·§¡¡Àµ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£


BASIC¤ÎÊÔ½¸²èÌ̤ˡÖÊ£ÁÇ¿ô¡×¥Ü¥¿¥ó¤¬¤¢¤ê¤Þ¤¹¡£¥ª¥ó¤Î¾õÂÖ¤ÇÊ£ÁÇ¿ô¤Î·×»»¤¬²Äǽ¤Ç¤¹¡£
Ä̾ï¤Ï¡¢²¼µ­¤Î¤è¤¦¤Ë¥×¥í¥°¥é¥à¤Ëµ­½Ò¤·¤Þ¤¹¡£

£²¡ß£²ÀµÊý¹ÔÎó¤Î³ÆÍ×ÁǤËÃͤòÀßÄꤹ¤ë¥×¥í¥°¥é¥à

¡üÎ㣱

OPTION ARITHMETIC COMPLEX !Ê£ÁÇ¿ô¤ò°·¤¦

LET j=SQR(-1) !µõ¿ôñ°Ì¡¡¢¨Åŵ¤·Ï¤Ï£ê¤ò»È¤¦

!M=(a b)
!  (c d)
DIM M(2,2) !£²¡ß£²¤ÎÀµÊý¹ÔÎó

LET M(1,1)=5+3*j !a
LET M(1,2)=4-6*j !b
LET M(2,1)=7+2*j !c
LET M(2,2)=2-3*j !d

MAT PRINT M;

END


¡üÎ㣲¡¡¢¨¤³¤Î¾ì¹ç¤Ï£ê¤ÏɬÍפʤ¤

OPTION ARITHMETIC COMPLEX !Ê£ÁÇ¿ô¤ò°·¤¦

!M=(a b)
!  (c d)
DIM M(2,2) !£²¡ß£²¤ÎÀµÊý¹ÔÎó

LET M(1,1)=COMPLEX(5,3) !a
LET M(1,2)=COMPLEX(4,-6) !b
LET M(2,1)=COMPLEX(7,2) !c
LET M(2,2)=COMPLEX(2,-3) !d

MAT PRINT M;

END

Ê£ÁÇ¿ô¤Ï¡¢³ç¸ÌÉÕ¤­¤Î¿ô»ú¤ÎÁȡʼÂÉô¡¢µõÉô¡Ë¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£


³Ý¤±»»¤Ï
  DIM A(2,2),B(2,2),C(2,2),T(2,2)
  MAT T=A*B !T=AB

  MAT T=A*B !T=ABC
  MAT T=T*C
¤Èµ­½Ò¤·¤Þ¤¹¡£
²Ã¸º¾è¤Ï£²¹à¤Î±é»»¤Î¤ß¤Ç¤¹¤«¤é¡¢£³¹à°Ê¾å¤Ï£²¹à¤º¤Ä¤Ëʬ²ò¤·¤¿µ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£


Äê¿ôÇܤϡ¢MAT T=(2)*A !T=2A
µÕ¹ÔÎó¤Ï¡¢MAT T=INV(A) !T=A^-1
žÃÖ¹ÔÎó¤Ï¡¢MAT T=TRN(A) !T=tA
¹ÔÎ󼰤ϡ¢LET p=DET(A) !p=|A|
¤³¤ì¤é¤Ï£±¹à¤Î¤ß¤Ç¤¹¡£

¹ÔÎó¤Î·×»»¤Ë¤Ï¼Â¹ÔÎó¤ÈÊ£ÁǹÔÎó¤Î¶èÊ̤Ϥ¢¤ê¤Þ¤»¤ó¡£
 

Re: µ¡³£¸ì¤Ç®ÅÙ¤ò¾å¤²¤¿¤¬

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ11·î18Æü(²Ð)14»þ14ʬ21ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.94[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> SECOND¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£
>
> µ¡³£¸ì¡©¡©¡©
> »ä¤Ë¤Ï¡¢¤³¤Î¥×¥í¥°¥é¥à¤ò¤É¤¦»È¤Ã¤¿¤é¤è¤¤¤Î¤«¸¡Æ¤¤â¤Ä¤­¤Þ¤»¤ó¡£
> °ì±þ¥³¥Ô¡¼¤ò¤·¤Æ£Â£Á£Ó£É£Ã¾å¤ÇÁö¤é¤»¤Þ¤·¤¿¤¬¡¢²¿¤«¤Î¥Õ¥¡¥¤¥ë¤¬ÆÉ¤á¤Þ¤»¤ó¤ÈÊÖ»ö¤¬Ê֤äƤ­¤Þ¤·¤¿¡£
> ¤³¤ì¤ò»È¤¦¤Ë¤Ï¤É¤¦¤·¤¿¤é¤è¤¤¤«¶µ¤¨¤Æ²¼¤µ¤¤¡£

  http://homepage2.nifty.com/neutro/asm/hojin_43.dll

¤³¤Îµ¡³£¸ì¥Õ¥¡¥¤¥ë¤ò¡¢¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¡¢·Ç¼¨¤Î¥×¥í¥°¥é¥à¤ÈƱ¤¸¥Õ¥©¥ë¥À¡¼¤ËÃÖ¤¯¤È
Áö¤ê¤Þ¤¹¡£

¢¨¡Öµ¡³£¸ì¤Ï¡¢Ì¿Îá¸ì¼«ÂΤò¡¢¥×¥í¥°¥é¥à¤·¤ÆÂ®ÅÙ¤òõ¤¹À¤³¦¤Ç¡¢
¡¡¡¡½ñ¤­Êý¡Ê¥¢¥ë¥´¥ê¥º¥à¡Ë¤Ë¤è¤Ã¤Æ¡¢£±£°Çܤâ¤Î®¤µ¤¬¡¢Æ±¤¸¥½¡¼¥¹¤Ç¡¢
¡¡¡¡Æ±¤¸¿ô³Ø¥¢¥ë¥´¥ê¥º¥à¤Ç¤â¡¢°ã¤Ã¤¿¤ê¤â¤·¤Þ¤¹¡£
 

¤µ¤¤¤³¤í¤òž¤¬¤¹

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î18Æü(²Ð)18»þ56ʬ39ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  »ä¤«¤é¤â£±¤Ä¥Ñ¥º¥ë¤ò¾Ò²ð¤·¤Þ¤¹¡£

¡üÌäÂê
£´¡ß£´¤Î³Ê»Ò¤¬¤¢¤ë¡£º¸¾å¤ò¥¹¥¿¡¼¥È¡¢±¦²¼¤ò¥´¡¼¥ë¤Î°ÌÃ֤Ȥ¹¤ë¡£
¤µ¤¤¤³¤í¤ÎÌܡ֣±¡×¤ò¾å¤Ë¤·¤Æ¥¹¥¿¡¼¥È¤ËÃÖ¤­¡¢¥´¡¼¥ë¤Ë¸þ¤±¤ÆÅ¾¤¬¤¹¡£
¤³¤Î¤È¤­¡¢¥´¡¼¥ë¤Ç¤ÎÌܤοô¤¬£±¡Á£¶¤Ë¤Ê¤ëž¤¬¤·Êý¡Ê·ÐÏ©¡Ë¤òµá¤á¤ë¡£

·ÐÏ©¤Î·è¤áÊý¤Ë¡¢½ÅÊ£Ä̲ᡢ±ª²ó¡¢Ä̲áÅÀ¤Ê¤É¤ÎÀ©¸Â¤òÀߤ±¤Æ¤â¤è¤¤¡£


¥·¥ß¥å¥ì¡¼¥¿¤ò¤Ä¤¯¤Ã¤Æ³Îǧ¤·¤Æ¤ß¤Þ¤·¤¿¡£Â¾¤Ë¤â¤¢¤ë¤È»×¤¤¤Þ¤¹¡£

!¡Ö¤µ¤¤¤³¤í¤Î²óž¡×¤Î¥·¥ß¥å¥ì¡¼¥·¥ç¥ó

!ÃÖ´¹¡ÊPermutation¡Ë¤Î·×»»
SUB PermPrintOut(A()) !ɽ¼¨¤¹¤ë
   MAT PRINT USING(REPEAT$(" ##",UBOUND(A))): A;
   PRINT
END SUB
SUB PermIdentity(A()) !¹±ÅùÃÖ´¹
   FOR i=1 TO UBOUND(A)
      LET A(i)=i
   NEXT i
END SUB
SUB PermInverse(A(), iA()) !µÕÃÖ´¹¡¡¢¨iA¤ÏA°Ê³°¤ÎÇÛÎó¤ò»ØÄꤹ¤ë¤³¤È
   FOR i=1 TO UBOUND(A)
      LET iA(A(i))=i
   NEXT i
END SUB
SUB PermMultiply(A(),B(), AB()) !ÀÑAB¡¡¢¨AB¤ÏA¤«¤ÄB°Ê³°¤ÎÇÛÎó¤ò»ØÄꤹ¤ë¤³¤È
   LET ua=UBOUND(A)
   LET ub=UBOUND(B)
   IF ua=ub THEN
      FOR i=1 TO ua
         LET AB(i)=A(B(i)) !¢¨¹çÀ®¼ÌÁü(AB)(i)=A(B(i))
      NEXT i
   ELSE
      PRINT "¼¡¸µ¤¬°ã¤¤¤Þ¤¹¡£A=";ua;" B=";ub
      STOP
   END IF
END SUB
!-------------------- ¤³¤³¤Þ¤Ç¤¬¥µ¥Ö¥ë¡¼¥Á¥ó


LET N=6

!Ÿ³«¿Þ¤ÎÇÛÃÖ¤ÈÌÌÈÖ¹æ¡ÊÇÛÎó¤Îꤍ»ú¡Ë¤È¤Î´Ø·¸
!¡¡¢¢¡¡¡¡¡¡¡¡¸å¡¡¡¡¡¡¡¡£±
!¢¢¢¢¢¢¢¢¡¡º¸¾å±¦²¼¡¡£²£³£´£µ
!¡¡¢¢¡¡¡¡¡¡¡¡Àµ¡¡¡¡¡¡¡¡£¶

!---------- ¢­¢­¢­¢­¢­ ----------
DIM A(N)
DATA 5,4,1,3,6,2 !ÌܤÎÇÛÃÖ¡¡¢¨Å¸³«¿Þ»²¾È
MAT READ A

!LET s$="DRDRDR" !¼ê½ç 1
!LET s$="RRRDDD" !¼ê½ç 2
!LET s$="RRDDDR" !¼ê½ç 3
!LET s$="RRDRDD" !¼ê½ç 4
!LET s$="RDDDRR" !¼ê½ç 5
LET s$="RDLDRRRD" !¼ê½ç 6
!---------- ¢¬¢¬¢¬¢¬¢¬ ----------


DIM U(N),D(N),L(N),R(N) !ÃÖ´¹
!    1,2,3,4,5,6
DATA 3,2,6,4,1,5 !¾å¡¡¢¨ÀµÌ̤ò¾åÌ̤ˤ¹¤ë¤Î¡Ê¿Þ¤Ç¤Î¿åÊ¿¼´¡Ë²óž
!!!DATA 5,2,1,4,6,3 !²¼
DATA 1,3,4,5,2,6 !º¸
!!!DATA 1,5,2,3,4,6 !±¦

MAT READ U
CALL PermInverse(U,D)
!!!MAT READ D
MAT READ L
CALL PermInverse(L,R)
!!!MAT READ R


SET WINDOW -1,5,5,-1 !ɽ¼¨Îΰè
DRAW grid !³Ê»Ò

DIM T(N),TT(N) !ºî¶ÈÇÛÎó
LET x=0.5 !º¸¾å
LET y=0.5

MAT T=A !½é´ü¾õÂÖ¤òɽ¼¨¤¹¤ë
CALL disp(T)

FOR k=1 TO LEN(s$) !¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤¹¤ë

   PLOT LINES: x,y; !·ÐÏ©¤Î·ëÀþ¡¡»ÏÅÀ

   SELECT CASE UCASE$(s$(k:k)) !³ÆÊý¸þ¤Ø
   CASE "U","N"
      CALL PermMultiply(T,U,TT)
      LET y=y-1
   CASE "D","S"
      CALL PermMultiply(T,D,TT)
      LET y=y+1
   CASE "L","W"
      CALL PermMultiply(T,L,TT)
      LET x=x-1
   CASE "R","E"
      CALL PermMultiply(T,R,TT)
      LET x=x+1
   CASE ELSE
   END SELECT
   MAT T=TT !¼¡¤Ø

   PLOT LINES: x,y; !½ªÅÀ

   CALL disp(T)

NEXT k

SUB disp(T()) !¸½ºß¤Î¾õÂÖ¤òɽ¼¨¤¹¤ë
   CALL PermPrintOut(T)

   LET nm=T(3) !¥°¥é¥Õ¥£¥Ã¥¯¥¹¤Ë¤è¤ë
   IF nm=1 THEN !Ãæ±û
      DRAW eye(4) WITH SHIFT(x,y)
   END IF
   IF nm=3 OR nm=5 THEN
      DRAW eye(1) WITH SHIFT(x,y)
   END IF
   IF nm=2 OR nm=4 OR nm=5 OR nm=6 THEN !º¸¼Ð¤á
      DRAW eye(1) WITH SHIFT(x+0.25,y+0.25)
      DRAW eye(1) WITH SHIFT(x-0.25,y-0.25)
   END IF
   IF nm=3 OR nm=4 OR nm=5 OR nm=6 THEN !±¦¼Ð¤á
      DRAW eye(1) WITH SHIFT(x+0.25,y-0.25)
      DRAW eye(1) WITH SHIFT(x-0.25,y+0.25)
   END IF
   IF nm=6 THEN !ÃæÃÊ
      DRAW eye(1) WITH SHIFT(x+0.25,y)
      DRAW eye(1) WITH SHIFT(x-0.25,y)
   END IF

   !!!SET TEXT JUSTIFY "center","half"
   !!!PLOT TEXT ,AT x,y: STR$(T(3))
END SUB

PICTURE eye(c) !ÌܤΣ±¤Ä¤òɽ¼¨¤¹¤ë
   SET AREA COLOR c
   DRAW disk WITH SCALE(0.1)
END PICTURE

END
 

> No.95[¸µµ­»ö¤Ø]

 Åê¹Æ¼Ô¡§Âç·§¡¡Àµ  Åê¹ÆÆü¡§2008ǯ11·î18Æü(²Ð)19»þ03ʬ13ÉÃ
ÊÖ¿®¡¦°úÍÑ
  Áᮤθæ²óÅúÍ­Æñ¤¦¤´¤¶¤¤¤Þ¤¹¡£
Áá®ÌÀÆü¤«¤é¡¢¿§¡¹¤ä¤Ã¤Æ¸«¤Þ¤¹¡£
¤³¤ó¤Ê¤Ë´Êñ¤ËÊ£ÁÇ¿ô¤ÎMAT¥¬¤Ç¤­¤ë¤Ê¤é¡¢¤Þ¤¹¤Þ¤¹10¿ÊBASIC¤Ë¤Ï¤Þ¤ê¤½¤¦¤Ç¤¹¡£
Ãæ»³ÍÍ¡¡Í­Æñ¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£
 

ư¤­¤Þ¤·¤¿¡£

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î19Æü(¿å)06»þ55ʬ25ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.98[¸µµ­»ö¤Ø]

SECOND¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

¸À¤ï¤ì¤¿¤è¤¦¤Ë¡¢¥À¥¦¥ó¥í¡¼¥É¤·Æ±¤¸¥Õ¥©¥ë¥À¡¼¤ËÆþ¤ì¤¿¤éÁö¤ê¤À¤·¤Þ¤·¤¿¡£
¤À¤¤¤¿¤¤£³»þ´ÖÄøÅÙ¤ÇÁ´¥Ñ¥¿¡¼¥ó¤ÎÁȤ߹ç¤ï¤»¤ÎÄ´ºº¤òºÑ¤Þ¤»¡¢¤É¤ÎÁȤ߹ç¤ï¤»¤â
¥ª¥¤¥é¡¼Êý¿Ø¤ÎÍÑ·ï¤òËþ¤¿¤µ¤Ê¤¤Êó¹ð¤¬¤Ê¤µ¤ì¤Þ¤·¤¿¡£
Ä´ººÁí¿ô¤¬£´ÀéËü¤òͤ¨¤ë¤â¤Î¤¬¤¢¤ë¤Î¤ò¡¢ºÇ½é¤Ë¾ÚÌÀ¤·¤¿¿Í¤Ï¥³¥ó¥Ô¥å¡¼¥¿¡¼¤Î
Æ»¶ñ¤¬¤Ê¤¤»þÂå¤Ë¤¤¤Ã¤¿¤¤¤É¤¦¤ä¤Ã¤ÆÄ´¤Ù¤¿¤È¤¤¤¦¤Î¤Ç¤·¤ç¤¦¤«¡©
ºÇ½é¥ª¥¤¥é¡¼¤µ¤ó¤â£±ËüÄ̤ê°Ì¤ÏÄ©À路¤¿¤Ç¤·¤ç¤¦¤¬¤È¤Æ¤âÁ´¥Ñ¥¿¡¼¥ó¤Þ¤Ç¤Ï¤ä¤Ã¤Æ¤ß¤è¤¦¤È¤Ï»×¤ï¤Ê¤«¤Ã¤¿¤Ç¤·¤ç¤¦¤Í¡£
¤½¤³¤Ç¡¢°ìÈ̤ˤϣ´k¡Ü£²¡¡¡Êk=0,1,2,3,¡¦¡¦¡¦¡Ë
¤Î¾ì¹ç¤Ë¤Ï¸ºß¤·¤Ê¤¤¤À¤í¤¦¤ÈͽÁÛ¤òΩ¤Æ¤¿¤Î¤Ç¤·¤ç¤¦¡£¡Ê£±£·£¸£²Ç¯¡Ë
¤½¤ì¤«¤é¡¢Ìó£²£°£°Ç¯¥ª¥¤¥é¡¼¤µ¤ó¤Î¸ÀÍÕ¤¬¿®¤¸¤é¤ì¤Æ¤¤¤¿¡£
¤·¤«¤·¡¢£ë¡á£²¡Ê£±£°¼¡¤Î¥ª¥¤¥é¡¼Êý¿Ø¡Ë¤¬

00 47 18 76 29 93 85 34 61 52
86 11 57 28 70 39 94 45 02 63
95 80 22 67 38 71 49 56 13 04
59 96 81 33 07 48 72 60 24 15
73 69 90 82 44 17 58 01 35 26
68 74 09 91 83 55 27 12 46 30
37 08 75 19 92 84 66 23 50 41
14 25 36 40 51 62 03 77 88 99
21 32 43 54 65 06 10 89 97 78
42 53 64 05 16 20 31 98 79 87


00 17 28 39 94 85 76 61 52 43
71 22 37 48 59 96 80 13 04 65
82 73 44 57 68 09 91 35 26 10
93 84 75 66 07 18 29 50 41 32
49 95 86 70 11 27 38 02 63 54
58 69 90 81 72 33 47 24 15 06
67 08 19 92 83 74 55 46 30 21
16 31 53 05 20 42 64 77 88 99
25 40 62 14 36 51 03 89 97 78
34 56 01 23 45 60 12 98 79 87


46 57 68 70 81 02 13 24 35 99
71 94 37 65 12 40 29 06 88 53
93 26 54 01 38 19 85 77 60 42
15 43 80 27 09 74 66 58 92 31
32 78 16 89 63 55 47 91 04 20
67 05 79 52 44 36 90 83 21 18
84 69 41 33 25 98 72 10 56 07
59 30 22 14 97 61 08 45 73 86
28 11 03 96 50 87 34 62 49 75
00 82 95 48 76 23 51 39 17 64

¤Î¤è¤¦¤Ë¹½À®²Äǽ¤Ç¤¢¤ë¤³¤È¤¬¼¨¤µ¤ì¡¢¥ª¥¤¥é¡¼¤ÎͽÁÛ¤¬Ê¤¤µ¤ì¤Þ¤·¤¿¡£
¤Þ¤¿£ë¡á£´¡Ê£±£¸¼¡¤Î¥ª¥¤¥é¡¼Êý¿Ø¡Ë¤â


0X AB T9 W7 Z5 BT 8W 5C 2A Y8 X6 6Z 3Y 92 C3 11 40 74

BY 8X 56 T4 W2 Z0 6T 3W 07 A5 Y3 X1 1Z 4A 7B 99 C8 2C

9Z 6Y 3X 01 TC WA Z8 1T BW 82 50 YB X9 C5 26 44 73 A7

X4 4Z 1Y BX 89 T7 W5 Z3 9T 6W 3A 08 Y6 70 A1 CC 2B 52

Y1 XC CZ 9Y 6X 34 T2 W0 ZB 4T 1W B5 83 28 59 77 A6 0A

3B Y9 X7 7Z 4Y 1X BC TA W8 Z6 CT 9W 60 A3 04 22 51 85

18 B6 Y4 X2 2Z CY 9X 67 T5 W3 Z1 7T 4W 5B 8C AA 09 30

CW 93 61 YC XA AZ 7Y 4X 12 T0 WB Z9 2T 06 37 55 84 B8

AT 7W 4B 19 Y7 X5 5Z 2Y CX 9A T8 W6 Z4 81 B2 00 3C 63

ZC 5T 2W C6 94 Y2 X0 0Z AY 7X 45 T3 W1 39 6A 88 B7 1B

W9 Z7 0T AW 71 4C YA X8 8Z 5Y 2X C0 TB B4 15 33 62 96

T6 W4 Z2 8T 5W 29 C7 Y5 X3 3Z 0Y AX 78 6C 90 BB 1A 41

23 T1 WC ZA 3T 0W A4 72 Y0 XB BZ 8Y 5X 17 48 66 95 C9

80 38 B3 6B 16 91 49 C4 7C 27 A2 5A 05 XX YY ZZ WW TT

7A 25 A0 58 03 8B 36 B1 69 14 9C 47 C2 YT ZX WY TZ XW

57 02 8A 35 B0 68 13 9B 46 C1 79 24 AC ZW WT TX XY YZ

65 10 98 43 CB 76 21 A9 54 0C 87 32 BA WZ TW XT YX ZY

42 CA 75 20 A8 53 0B 86 31 B9 64 1C 97 TY XZ YW ZT WX

¤ÎÍͤ˽ÐÍè¤Á¤ã¤¤¤Þ¤¹¡£¡Ê¤³¤ó¤ÊÇÛÎó¤Ï¿ÀÍͤ·¤«¤Ç¤­¤Ê¤¤¡£¡Ë

¤¤¤ä¡¼¿Í´Ö¤ÎǾ¤ÎÎϡʿô³Ø¤ÎÀ¨¤µ¡Ë¤ò»×¤¤ÃΤê¤Þ¤¹¡£
 

Re: ư¤­¤Þ¤·¤¿¡£

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ11·î19Æü(¿å)17»þ06ʬ33ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.101[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

¤´Êó¹ð¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£¡É£Ã¡É¤è¤êÃÙ¤«¤Ã¤¿¤é¤É¤¦¤·¤è¤¦¤«¤È»×¤Ã¤Æ¤¤¤Þ¤·¤¿¡£
»ä¤Î¥Ñ¥½¥³¥ó¤Ç£¸»þ´Ö¤«¤«¤ê¤Þ¤¹¤Î¤Ç¡¢¤É¤¦¤Ê¤Î¤«¤¬¡¢¤ï¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£
¤â¤Ã¤È¡¢Â®¤¤Â®ÅÙ¤ò¸¦µæ¤·¤Æ¤ß¤Þ¤¹¡£

¢¨2008.11.21¡¡hojin_45.dll ¤Ë¼èÂØ¤¨¤ë¤È¡¢£³»þ´Ö¢ª£²»þ´Ö£²£°Ê¬¤°¤é¤¤¤Ë¤Ê¤ê¤Þ¤¹¡£
  http://homepage2.nifty.com/neutro/asm/hojin_45.dll    ¡¦¡¦¡¦Êѹ¹¤·¤¿µ¡³£¸ì¥Õ¥¡¥¤¥ë
  http://homepage2.nifty.com/neutro/asm/hojin_45.asm    ¡¦¡¦¡¦¾å¤Î¥½¡¼¥¹Ž¥¥ê¥¹¥È
  http://homepage2.nifty.com/neutro/asm/HOJIN_45.BAS    ¡¦¡¦¡¦assign½¤Àµ¡¢½½¿ÊBASIC¥Õ¥¡¥¤¥ë
¡¡.asm ¤ä.BAS¥Õ¥¡¥¤¥ë¤Ï¡¢
¡¡¥À¥¦¥ó¡¦¥í¡¼¥ÉÁ뤬½Ð¤º¡¢²½¤±Ê¸»ú¤Ç³«¤¯¤³¤È¤¬Í­¤ê¤Þ¤¹¡£¤½¤Î¾ì¹ç¤Ï¡¢
¡¡¡Öɽ¼¨¡×¢ª¡Ö¥¨¥ó¥³¡¼¥É¡×¢ª¡ÖÆüËܸì(¥·¥Õ¥ÈJIS)¡×¤Ë¤·¤Æ¡¢
¡¡¡Ö¤¹¤Ù¤ÆÁªÂò¡×¥³¥Ô¡¼¡¦¥Ú¡¼¥¹¥È¤·¤Æ²¼¤µ¤¤¡£¡Ê¥á¥âÄ¢¤Ê¤É¤Ë¡Ë
 

£²Ã¼»ÒÂÐÄê¿ô¡Ê£´Ã¼»ÒÄê¿ô¡Ë¤Î·×»»

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î20Æü(ÌÚ)13»þ40ʬ22ÉÃ
ÊÖ¿®¡¦°úÍÑ
  Åŵ¤²óÏ©·×»»¤Î±é½¬ÌäÂê¤ò²ò¤¤¤Æ¤¤¤Þ¤¹¡£
ÅÅÂî¤Ë¤è¤ëÉ®»»¤Î¸¡»»¤È¤·¤Æ¤Î¥×¥í¥°¥é¥à¤ò¤Ä¤¯¤Ã¤Æ¤ß¤Þ¤·¤¿¡£

°ÊÁ°¶ìÏ«¤·¤¿¥é¥À¡¼²óÏ©¤Î¹çÀ®Äñ¹³Ãͤ¬¡Ö£Æ¹ÔÎó¤ÎÀѡפȡ֣ڤؤÎÊÑ´¹¡×¤Ç»»½Ð¤Ç¤­¤Þ¤¹¡£
!£²Ã¼»ÒÂвóÏ©¡Ê£´Ã¼»Ò²óÏ©¡Ë
!¡¡i1¢ª¨£¨¡¨¡¨¤i2¢ª
!¡¡a ¨¡¨©A¡¡B¨§¨¡ b
!E1¢¬¡¡¨¢¡¡¡¡¨¢¡¡¢¬E2
!¡¡a'¨¡¨©C¡¡D¨§¨¡ b'
!¡¡¡¡¡¡¨¦¨¡¨¡¨¥
!´ðËܹÔÎóF¤òÍѤ¤¤Æ
! (E1)=(A B)(E2)
! (i1) (C D)(i2)

OPTION ARITHMETIC COMPLEX !Ê£ÁÇ¿ô¤ò°·¤¦

LET j=SQR(-1) !µõ¿ôñ°Ì¡¡¢¨Åŵ¤·Ï¤Ï£ê¤ò»È¤¦

!¡ü¸òή²óÏ©

LET f=60 !¼þÇÈ¿ô[Hz]
LET w=2*PI*f !³Ñ¼þÇÈ¿ô¦Ø

DEF H2Ohm(L)=j*w*L ![H]¤ò[¦¸]¤Ø
DEF F2Ohm(C)=1/(j*w*C) ![F]¤ò[¦¸]¤Ø
DEF xL(L)=w*L !ͶƳ¥ê¥¢¥¯¥¿¥ó¥¹
DEF xC(C)=1/(w*C) !ÍÆÎ̥ꥢ¥¯¥¿¥ó¥¹

SUB DispS(z) !Ê£ÁÇ¿ô¤òSɽ¼¨¤¹¤ë¡¡¢¨¥¹¥¿¥¤¥ó¥á¥Ã¥Ä¡ÊSteinmetz¡Ë
   PRINT ABS(z);
   IF ABS(z)<>0 THEN
      IF arg(z)<>0 THEN PRINT "¢Ü";DEG(arg(z));"¡ë";
   END IF
   PRINT
END SUB

FUNCTION S2COMPLEX(l,th) !Sɽ¼¨¡Ê¶ËºÂɸ·Á¼°¡Ë¤òÊ£ÁÇ¿ô¤Ø
   LET S2COMPLEX=COMPLEX(l*COS(RAD(th)),l*SIN(RAD(th)))
END FUNCTION


!¡ü£²Ã¼»Ò¥¤¥ó¥Ô¡¼¥À¥ó¥¹²óÏ©¹ÔÎó
!¡¡¨¡Z¨¡¡¡¤Î¾ì¹ç¡¡F=(1 Z)
!¡¡¨¡-¨¡¡¡¡¡¡¡¡¡¡¡¡¡(0 1)
SUB seriesF(Z,F(,))
   LET F(1,1)=1
   LET F(1,2)=Z
   LET F(2,1)=0
   LET F(2,2)=1
END SUB
!¡¡¨¡¨¨¨¡¡¡¤Î¾ì¹ç¡¡F=(1¡¡ 0)
!¡¡¡¡Z ¡¡¡¡¡¡¡¡¡¡¡¡¡¡(1/Z 1)
!¡¡¨¡¨ª¨¡
SUB shuntF(Z,F(,))
   WHEN EXCEPTION IN
      LET F(1,1)=1
      LET F(1,2)=0
      LET F(2,1)=1/Z
      LET F(2,2)=1
   USE
      PRINT "£°¤Ç³ä¤ì¤Þ¤»¤ó¡£"
      STOP
   END WHEN
END SUB

!¡ü¥Ñ¥é¥á¡¼¥¿¤ÎÁê¸ßÊÑ´¹¡¡¢¨°ìÉô
SUB F2Z(F(,), Z(,)) !£Æ¥Ñ¥é¥á¡¼¥¿¤ò£Ú¥Ñ¥é¥á¡¼¥¿¤Ø
   LET Z(1,1)=F(1,1) !A
   LET Z(1,2)=DET(F) !AD-BC
   LET Z(2,1)=1
   LET Z(2,2)=F(2,2) !D
   WHEN EXCEPTION IN
      MAT Z=(1/F(2,1))*Z !(1/C)ÇÜ
   USE
      PRINT "£Ú¥Ñ¥é¥á¡¼¥¿¤Ï¸ºß¤·¤Þ¤»¤ó¡£"
      STOP
   END WHEN
END SUB
SUB F2Y(F(,),Y(,)) !£Æ¥Ñ¥é¥á¡¼¥¿¤ò£Ù¥Ñ¥é¥á¡¼¥¿¤Ø
   LET Y(1,1)=F(2,2) !D
   LET Y(1,2)=-DET(F) !BC-AD
   LET Y(2,1)=-1
   LET Y(2,2)=F(1,1) !A
   WHEN EXCEPTION IN
      MAT Y=(1/F(1,2))*Y !(1/B)ÇÜ
   USE
      PRINT "£Ù¥Ñ¥é¥á¡¼¥¿¤Ï¸ºß¤·¤Þ¤»¤ó¡£"
      STOP
   END WHEN
END SUB

SUB Z2Y(Z(,),Y(,)) !£Ú¥Ñ¥é¥á¡¼¥¿¤ò£Ù¥Ñ¥é¥á¡¼¥¿¤Ø
   WHEN EXCEPTION IN
      MAT Y=INV(Z) !Y=Z^-1
   USE
      PRINT "£Ù¥Ñ¥é¥á¡¼¥¿¤Ï¸ºß¤·¤Þ¤»¤ó¡£"
      STOP
   END WHEN
END SUB
!-------------------- ¤³¤³¤Þ¤Ç¤¬¥µ¥Ö¥ë¡¼¥Á¥ó


DIM mF(2,2),mZ(2,2),mY(2,2) !F,Z,Y¥Ñ¥é¥á¡¼¥¿
DIM T1(2,2),T2(2,2) !ºî¶ÈÍÑ

!¡ü¤Ï¤·¤´²óÏ©¤Î¹çÀ®Äñ¹³¡¡a-bü»Ò´Ö

!a¨¡R1¨¨R3¨¨R5¨¨ ¡Ä ¨¨Rn¨¨¨¡¨¨ ¡Ä
! ¡¡¡¡R2¡¡R4¡¡R6¡¡ Rn-1 Rn+1
!b¨¡¨¡¨ª¨¡¨ª¨¡¨ª ¡¡ ¨ª¨¡¨ª¨¡¨ª
!
LET R1=1 !1,2,1,2,¡Ä,1,2,1
LET R2=2

CALL seriesF(R1,T1) !¨¡R1¨¨
CALL shuntF(R2,T2)  !¡¡¡¡R2

MAT mF=IDN !ñ°Ì¹ÔÎó
FOR i=1 TO 5 !ÃÊ¿ô
   MAT mF=mF*T1 !¨¡R1¨¨R1¨¨ ¡Ä ¨¨R1¨¨
   MAT mF=mF*T2 !¡¡ R2¡¡R2¡¡¡¡ R2¡¡R2
NEXT i
MAT mF=mF*T1 !¨¡R1¨¤

CALL F2Z(mF,mZ) !Í×ÁÇa
MAT PRINT mZ;



!¡üT·¿LC²óÏ©
!¡¡¨¡L¨¡¨¨¨¡L¨¡
!¡¡¡¡¡¡ C
!¡¡¨¡-¨¡¨ª¨¡-¨¡
!¦Ø=1[rad/sec]¡¢L=2[H]¡¢C=1[F]
LET L=2
LET C=1
LET w=1 !ÌäÂê¤Ë¹ç¤ï¤»¤ë


!¡ü£Æ¥Ñ¥é¥á¡¼¥¿¡¢´ðËܹÔÎó
MAT mF=IDN !ñ°Ì¹ÔÎó

CALL seriesF(H2Ohm(L),T1)
MAT mF=mF*T1

CALL shuntF(F2Ohm(C),T2)
MAT mF=mF*T2

MAT mF=mF*T1

PRINT "£Æ¥Ñ¥é¥á¡¼¥¿"
MAT PRINT mF;


!¡ü£Ú¥Ñ¥é¥á¡¼¥¿¡¢¥¤¥ó¥Ô¡¼¥À¥ó¥¹¹ÔÎó V=Z*I
CALL F2Z(mF,mZ)
PRINT "£Ú¥Ñ¥é¥á¡¼¥¿"
MAT PRINT mZ;


!¡ü£Ù¥Ñ¥é¥á¡¼¥¿¡¢¥¢¥É¥ß¥¿¥ó¥¹¹ÔÎó I=Y*V
CALL F2Y(mF,mY)
PRINT "£Ù¥Ñ¥é¥á¡¼¥¿"
MAT PRINT mY;


!¡ü£Ù¥Ñ¥é¥á¡¼¥¿¡ÊÊ̲ò¡ËY=Z^-1
CALL Z2Y(mZ,mY)
PRINT "£Ù¥Ñ¥é¥á¡¼¥¿"
MAT PRINT mY;


END
 

matÌ¿Îá¤ÈÊ£ÁÇ¿ô·×»»

 Åê¹Æ¼Ô¡§Âç·§¡¡Àµ  Åê¹ÆÆü¡§2008ǯ11·î21Æü(¶â)15»þ11ʬ26ÉÃ
ÊÖ¿®¡¦°úÍÑ
  Âç·§¡¡¤Ç¤¹¡£

Á°²ó¡¡NO95 NO¤Î¸æ²óÅúÍ­Æñ¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£»³Ã椵¤ó¤òÃæ»³¤µ¤ó¤È´Ö°ã¤¨¤ÆÅê¹Æ¤·¤Þ¤·¤¿¡£¼ºÎé¤ò¸æµö¤·¤¯¤À¤µ¤¤¡£
¤½¤Î¸å¤À¤¤¤Ö10¿ÊBASIC¤ò¿Ê¤á¤Æ¤Þ¤¹¤¬¡¢²¼µ­¤ÎÉÔ¶ñ¹ç¤Ç¥¹¥È¥Ã¥×¤·¤Æ¤Þ¤¹¡£
MAT T=INV(A)¡¡¤¬½ÐÍè¤Ê¤¤¤Î¤Ç¤¹¡£


OPTION ARITHMETIC COMPLEX
LET j=SQR(-1)
LET R1=5000
LET R2=5000
LET C1=0.1*10^( -6 )
LET C2=0.1*10^( -6 )
LET F=100
LET SZ=0.001
LET NP=4
LET ZC1=1/(2*PI*F*C1)
LET ZC2=1/(2*PI*F*C2)
OPTION BASE 1
PRINT "ZCI=";ZC1

DIM A(NP,NP),B(NP,NP),T(NP,NP),E1(NP)

LET A(1,2)=1/R1+SZ*j
LET A(2,3)=1/R2+SZ*j
LET A(2,4)=SZ+1/ZC1*j
LET A(3,4)=SZ+1/ZC2*j
MAT PRINT A

LET E1(1)=1
LET E1(4)=0
PRINT"²¼µ­¤Î¤´¤È¤¯MAT PRINT E1¤È¤ä¤ë¤È²£¤Ë°ìʸ»ú¤Ë¤Ê¤ë¡£"
MAT PRINT E1
PRINT"²¼µ­¤Î¤´¤È¤¯MAT PRINT USING REPEAT$RI¤Ç½Ä¤Ë°ìʸ»úʤÓÎÉ

¹¥¡£"
MAT PRINT USING REPEAT$(" #.#### ",1):E1
MAT T=INV(A)


STOP

ÁᮤǤ¹¤¬¡¢¾åµ­¤Îʸ¤òºî¤ê¡¢¥Þ¥È¥ê¥¯¥¹[A]¤òºî¤ê¼Â¹Ô¤¹¤ë¤È¡¢ºÇ¸å¤Î¡¡MAT T=INV(A)¤Ç
¡ÖEXTYPE 3009 °ú¿ô¤¬ÄêµÁ³°¤ÎÃ͡פȤʤꡢ¥¹¥È¥Ã¥×¤·¤Þ¤¹¡£
¤É¤³¤¬ÉÔÎɤθ¶°ø¤Ç¤·¤ç¤¦¤«¡£
¤Þ¤¿¡¢°ìÎó¤ÎE(5)¤Ê¤É¤òºî¤ê¡¢PRINT E ¡¡¤ò¤ä¤ë¤È¡¢²£°ìÎó¤Ëɽ¼¨¤·¤Þ¤¹¡£
»Íü»ÒÌ֤Ρ¡A*E Åù¤ÏÂç¾æÉפǤ·¤ç¤¦¤«¡£½Ä¤ËÊѹ¹¤·¤ÆT=TRAN(E) ¤½¤·¤ÆA*T ¤Ç¤·¤ç¤¦¤«¡£
 

Re: matÌ¿Îá¤ÈÊ£ÁÇ¿ô·×»»

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î21Æü(¶â)16»þ36ʬ32ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.104[¸µµ­»ö¤Ø]

Âç·§¡¡Àµ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ÁᮤǤ¹¤¬¡¢¾åµ­¤Îʸ¤òºî¤ê¡¢¥Þ¥È¥ê¥¯¥¹[A]¤òºî¤ê¼Â¹Ô¤¹¤ë¤È¡¢ºÇ¸å¤Î¡¡MAT T=INV(A)¤Ç
> ¡ÖEXTYPE 3009 °ú¿ô¤¬ÄêµÁ³°¤ÎÃ͡פȤʤꡢ¥¹¥È¥Ã¥×¤·¤Þ¤¹¡£
> ¤É¤³¤¬ÉÔÎɤθ¶°ø¤Ç¤·¤ç¤¦¤«¡£

¹ÔÎóA¤¬¡¢µÕ¹ÔÎó¤ò»ý¤¿¤Ê¤¤¹ÔÎó¤À¤«¤é¤Ç¤¹¡£
A¤ÏÉ®»»¤ÇµÕ¹ÔÎó¤Ï¸ºß¤·¤Þ¤¹¤«¡©


> ¤Þ¤¿¡¢°ìÎó¤ÎE(5)¤Ê¤É¤òºî¤ê¡¢PRINT E ¡¡¤ò¤ä¤ë¤È¡¢²£°ìÎó¤Ëɽ¼¨¤·¤Þ¤¹¡£
> »Íü»ÒÌ֤Ρ¡A*E Åù¤ÏÂç¾æÉפǤ·¤ç¤¦¤«¡£½Ä¤ËÊѹ¹¤·¤ÆT=TRAN(E) ¤½¤·¤ÆA*T ¤Ç¤·¤ç¤¦¤«¡£

DIM A(3,3)
DIM X(3),B(3)
MAT B=A*X !(3¹Ô,3Îó)(3¹Ô,1Îó)=(3¹Ô,1Îó)¤È¤·¤Æ·×»»¤µ¤ì¤ë
MAT PRINT B !²£¤Ø
MAT B=X*A !(1¹Ô,3Îó)(3¹Ô,3Îó)=(1¹Ô,3Îó)¤È¤·¤Æ·×»»¤µ¤ì¤ë
MAT PRINT B !²£¤Ø
END
¤³¤Î¾ì¹ç¡¢X,B¤Ï¥Ù¥¯¥È¥ë°·¤¤¤Ë¤Ê¤ê¤Þ¤¹¡£
X,B¤ò¹ÔÎó¤È¤·¤Æ°·¤¦¾ì¹ç¤Ï¡¢¡ÊX,B¤ËÂФ·¤ÆTRN¤òŬÍѤ¹¤ë¾ì¹ç¡Ë
¹Ô¤Þ¤¿¤ÏÎó¤Î¤ß¤Î¹ÔÎó¤Ï¡¢¤¿¤È¤¨¤Ð
¡¡£³¹Ô£±Îó¤Ê¤é DIM B(3,1)
¡¡£±¹Ô£³Îó¤Ê¤é DIM B(1,3)
¤È¤·¤Æ¤¯¤À¤µ¤¤¡£
 

Re: µì·Ç¼¨ÈĤÎÅê¹Æ¤ò¥­¥ã¥Ã¥·¥å¤«¤é¥µ¥ë¥Ù¡¼¥¸

 Åê¹Æ¼Ô¡§teriam  Åê¹ÆÆü¡§2008ǯ11·î21Æü(¶â)20»þ03ʬ4ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.34[¸µµ­»ö¤Ø]

Âç»ö¤Ê¾ðÊó¤À¤È»×¤¦¤Î¤Ç¤´ËܿͤÎλ²ò¤ÏÆÀ¤Æ¤Þ¤»¤ó¤¬ºÆ·Ç¤·¤Þ¤¹¡£

> ½½¿ÊBASIC¤Îµì·Ç¼¨ÈĤ¬10·î¾å½Ü¤«¤é±¿±Ä²ñ¼Òaround¤Î³èưÄä»ß¤Ë¤è¤ê»ö¼Â¾åÊĺ¿¤µ¤ì¤Þ¤·¤¿¡£
> ¡Ö·Ç¼¨ÈIJáµî¥í¥°¡×¤ËÊݴɤµ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿101¡Á110¥Ú¡¼¥¸¤ÎÅê¹Æ¤ò¸¡º÷¥µ¥¤¥È¤Î¥­¥ã¥Ã¥·¥å¤«¤é½¦¤¤½Ð¤¹ÊýË¡¤ò¾Ò²ð¤·¤Þ¤¹¡£
> ¤¿¤À¤·¥­¥ã¥Ã¥·¥å¤Ç¤¹¤«¤é¡¢¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤¬Êݸ¤µ¤ì¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
> ʬ³ä¤·¤ÆÅê¹Æ¤µ¤ì¤¿¥×¥í¥°¥é¥à¤Ê¤É¤Ï¡¢ÉôʬŪ¤Ë¤·¤«½¦¤¨¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£
> ¤Þ¤¿¡¢¥­¥ã¥Ã¥·¥å¤ÏÆü¡¹¹¹¿·¤µ¤ì¤Þ¤¹¤Î¤Ç¤¢¤È1,2¥ö·î¤â¤·¤¿¤é¤Û¤È¤ó¤É¤Î¥Ú¡¼¥¸¤¬ºï½ü¤µ¤ì¤ë¤È»×¤¤¤Þ¤¹¡£
> ¿ôÆüÁ°¤ÈÈæ³Ó¤·¤Æ¤â¥Ò¥Ã¥È¿ô¤¬¸º¤Ã¤Æ¤¤¤Þ¤¹¡£
> ɬÍפÊÅê¹Æ¤ÏÁá¤á¤Ë¥Ñ¥½¥³¥ó¤ËÊݸ¤·¤Æ¤ª¤¯¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£
>
>
> 1.¸¡º÷¥µ¥¤¥ÈGoogle¤Ç "½½¿ÊBASIC·Ç¼¨ÈÄ" ¤ò¸¡º÷¤·¤Þ¤¹¡£
>   (;·×¤Ê¾ðÊó¤òÇÓ½ü¤¹¤ë¤¿¤á¥À¥Ö¥ë¥¯¥©¥Æ¡¼¥·¥ç¥ó(")¤Ç°Ï¤ß¤Þ¤·¤ç¤¦)
>
> 2.¸¡º÷·ë²Ì¤ÎºÇ¸å¤Ë¡¢
>     ºÇ¤âŪ³Î¤Ê·ë²Ì¤òɽ¼¨¤¹¤ë¤¿¤á¤Ë¡¢¾å¤Î¡û¡û·ï¤È»÷¤¿¥Ú¡¼¥¸¤Ï½ü³°¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
>     ¸¡º÷·ë²Ì¤ò¤¹¤Ù¤ÆÉ½¼¨¤¹¤ë¤Ë¤Ï¡¢¤³¤³¤«¤éºÆ¸¡º÷¤·¤Æ¤¯¤À¤µ¤¤¡£

>   ¤È¤¢¤ë¤Î¤Ç¥¯¥ê¥Ã¥¯¤·¤Æ²¼¤µ¤¤¡£
>
> 3.¸¡º÷·ë²Ì¤Î¤¦¤Á¡¢URL¤¬ freebbs.around.ne.jp ¤Ç»Ï¤Þ¤ë¤â¤Î¤¬µì·Ç¼¨ÈĤÎÅê¹Æ¤Ç¤¹¡£
>   /basic/ ¤Þ¤¿¤Ï &pg= ¤Î¸å¤í¤Ë¤¢¤ë¿ô»ú¤¬µì·Ç¼¨ÈĤΥڡ¼¥¸ÈÖ¹æ¤Ç¤¹¡£
>   ¡ÊURL¤¬ www.geocities.jp ¤È¤¢¤ë¤Î¤Ï¡Ö·Ç¼¨ÈIJáµî¥í¥°¡×¤Ë¤¢¤ë¤Î¤Ç¤½¤Á¤é¤ò¤´Í÷¤¯¤À¤µ¤¤¡Ë
>
> 4.ÆâÍÆ¤ò¸«¤ë¤Ë¤Ïɬ¤º¥­¥ã¥Ã¥·¥å¤ò¥¯¥ê¥Ã¥¯¤·¤Æ²¼¤µ¤¤¡£
>   ¡Ê¸«½Ð¤·¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤ÈÀܳ¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡Ë
>
> 5.²¼¤Î¸ì¶ç¤«¤é¤â¸¡º÷¤Ç¤­¤Þ¤¹¡£Â¾¤Î¸¡º÷¥µ¥¤¥È¤«¤é¤â¸¡º÷¤·¤Æ¤ß¤Æ²¼¤µ¤¤¡£
>     "freebbs.around.ne.jp/article/b/basic/"
>
>     "freebbs.around.ne.jp/kyview","basic"
 

Re: matÌ¿Îá¤ÈÊ£ÁÇ¿ô·×»»

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ11·î23Æü(Æü)07»þ44ʬ19ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.104[¸µµ­»ö¤Ø]

Âç·§¡¡Àµ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> MAT T=INV(A)¡¡¤¬½ÐÍè¤Ê¤¤¤Î¤Ç¤¹¡£

IF DET(A)<>0 THEN !¡¡¹ÔÎó¼°¡ÃA¡Ã¤ÎÃÍ
   MAT T=INV(A)
ELSE
   PRINT "A ¤Ï¡¢µÕ¹ÔÎó¤ò»ý¤¿¤Ê¤¤"
END IF


¢¨½½¿ÊBASIC ¤Î¡¢£±¼¡¸µÇÛÎó¡¢¹Ô¥Ù¥¯¥È¥ë¤ÈÎó¥Ù¥¯¥È¥ë

¹ÔÎó (a)
¨£              ¨¤
¨¢ 1.000   2.000¨¢
¨¢ 3.000   4.000¨¢
¨¦              ¨¥
¥Ù¥¯¥È¥ë (v1)
(  1.000   2.000 )¡¡Ž¥Ž¥Ž¥¤³¤Î¾õÂ֤ϡ¢¹Ô¤«¡¢Î󤫤¬¡¢ÉÔÄê¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£

MAT v2=a*v1¡¡Ž¥Ž¥Ž¥±¦¤Ø½ñ¤±¤Ð¡¢Îó¥Ù¥¯¥È¥ë v1 ¤È¤·¤Æ·×»»¤µ¤ì¤ë¡£
¨£              ¨¤¨£      ¨¤
¨¢ 1.000   2.000¨¢¨¢ 1.000¨¢
¨¢ 3.000   4.000¨¢¨¢ 2.000¨¢
¨¦              ¨¥¨¦      ¨¥
v2¡á(  5.000  11.000 )

MAT v2=v1*a¡¡Ž¥Ž¥Ž¥º¸¤Ø½ñ¤±¤Ð¡¢¹Ô¥Ù¥¯¥È¥ë v1 ¤È¤·¤Æ·×»»¤µ¤ì¤ë¡£
¨£              ¨¤¨£              ¨¤
¨¢ 1.000   2.000¨¢¨¢ 1.000   2.000¨¢
¨¦              ¨¥¨¢ 3.000   4.000¨¢
                  ¨¦              ¨¥
v2¡á(  7.000  10.000 )
 

Re: matÌ¿Îá¤ÈÊ£ÁÇ¿ô·×»»

 Åê¹Æ¼Ô¡§Åç¼1243  Åê¹ÆÆü¡§2008ǯ11·î23Æü(Æü)10»þ38ʬ16ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.104[¸µµ­»ö¤Ø]

Âç·§¡¡Àµ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> Âç·§¡¡¤Ç¤¹¡£
> ***ÃæÎ¬***
> ¤½¤Î¸å¤À¤¤¤Ö10¿ÊBASIC¤ò¿Ê¤á¤Æ¤Þ¤¹¤¬¡¢²¼µ­¤ÎÉÔ¶ñ¹ç¤Ç¥¹¥È¥Ã¥×¤·¤Æ¤Þ¤¹¡£
> MAT T=INV(A)¡¡¤¬½ÐÍè¤Ê¤¤¤Î¤Ç¤¹¡£
> ***ÃæÎ¬***
> LET A(1,2)=1/R1+SZ*j
> LET A(2,3)=1/R2+SZ*j
> LET A(2,4)=SZ+1/ZC1*j
> LET A(3,4)=SZ+1/ZC2*j
> MAT PRINT A
> ***ÃæÎ¬***
> ÁᮤǤ¹¤¬¡¢¾åµ­¤Îʸ¤òºî¤ê¡¢¥Þ¥È¥ê¥¯¥¹[A]¤òºî¤ê¼Â¹Ô¤¹¤ë¤È¡¢ºÇ¸å¤Î¡¡MAT T=INV(A)¤Ç
> ¡ÖEXTYPE 3009 °ú¿ô¤¬ÄêµÁ³°¤ÎÃ͡פȤʤꡢ¥¹¥È¥Ã¥×¤·¤Þ¤¹¡£
> ¤É¤³¤¬ÉÔÎɤθ¶°ø¤Ç¤·¤ç¤¦¤«¡£

¥¢¥É¥ß¥¿¥ó¥¹¹ÔÎó[A]¤ÈÀáÅÀË¡¤ò»È¤Ã¤Æ¡¢Åŵ¤²óÏ©ÌÖ¤ÎÅÅή[I]=[A][E]¡¢¥¤¥ó¥Ô¡¼¥À¥ó¥¹[Z]=INV(A)¤ò·×»»¤¹¤ë¥×¥í¥°¥é¥à¤òºîÀ®¤¹¤ë¤Ä¤â¤ê¤ÎÍͤǤ¹¤Í¡£
¥×¥í¥°¥é¥à¸¶¹Æ¤ò¸«¤ë¤È¡¢²¼µ­ÀáÅÀ´Ö¥¢¥É¥ß¥¿¥ó¥¹¤¬Ì¤ÀßÄê¤Ç¤¢¤ë¤³¤È¤¬¥¨¥é¡¼¤Î¸¶°ø¤Ç¤¹¡£

̤ÀßÄê¤ÎÀáÅÀ´Ö¥¢¥É¥ß¥¿¥ó¥¹
A(2,1)!=A(1,2)
A(3,2)!=A(2,3)
A(4,3)!=A(3,4)

¤·¤¿¤¬¤Ã¤Æ¡ÖINV(A)¡×¤è¤ê¤âÁ°¤Ë
A(2,1)=A(1,2)
A(3,2)=A(2,3)
A(4,3)=A(3,4)

¤òÄɵ­¤¹¤ì¤Ð¥¨¥é¡¼¤Ï½Ð¤Þ¤»¤ó¡£
¤Ê¤ª¡¢ËÜÍè¤ÏÂÐÃÏ´Ö¥¢¥É¥ß¥¿¥ó¥¹¡ÐA(1,1),A(2,2),A(3,3),A(4,4)¡Ñ¤ä¡¢¥¢¥É¥ß¥¿¥ó¥¹¤¬Àܳ¤µ¤ì¤Ê¤¤ÀáÅÀ´Ö¤Î¥¢¥É¥ß¥¿¥ó¥¹¤Ï£°¤È ÀßÄꤹ¤Ù¤­¤Ç¤¹¡ÊËÜ·ï¤Ç¤ÏBASIC¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬Ì¤»ØÄê¤ÎÀáÅÀ´Ö¥¢¥É¥ß¥¿¥ó¥¹¡á£°¤È¼«Æ°½é´üÃÍÀßÄê¤ò¤·¤Æ¤·¤Þ¤¦¤Î¤Ç¥È¥é¥Ö¥ë¤Ë¤Ï¤Ê¤ê¤Þ¤»¤ó¤¬Ãí°Õ¤¬ ɬÍפǤ¹¡Ë¡£
 

¤¢¤ë¥·¥ã¥Ã¥Õ¥ëÊýË¡¤Îµ¬Â§À­

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î23Æü(Æü)12»þ46ʬ19ÉÃ
ÊÖ¿®¡¦°úÍÑ
  Îã¡§£±¤«¤é£±£¸¤ÎÈÖ¹æ½ç¤Ë¥«¡¼¥É¤¬Ê¤ó¤Ç¤¤¤ë¤È¤¹¤ë¡£¡Ê΢¸þ¤­¥È¥Ã¥×¤¬£±¡Ë
¤³¤Î¥«¡¼¥É·²¤ò΢¸þ¤­¤Ë»ý¤Á¡¢¾å¤«¤é1Ë示¤Ä΢¸þ¤­¤Î¤Þ¤Þ¥Æ¡¼¥Ö¥ë¤Øº¸¤«¤é±¦¤Ø£³ËçʤÙ
¤¿¤é¡¢¸µ¤ËÌá¤Ã¤Æ£²ËçÌܤò¤Þ¤¿º¸¤«¤é±¦¤Î»³¤ØÇۤ롣
¤³¤ì¤ò·«¤êÊÖ¤·¤½¤ì¤¾¤ì¤Î»³¤ÎËç¿ô¤¬£¶Ë示¤Ä¤Ë¤Ê¤ê¡¢¼ê»ý¤Á¤Î¥«¡¼¥É¤¬Ìµ¤¯¤Ê¤ë¡£
¼¡¤Ëº¸¤Î»³¤ò»ý¤Á¾å¤²¡¢Î٤λ³¤Ë½Å¤Í¡¢½Å¤Ê¤Ã¤¿»³¤ò»ý¤Á¾å¤²¡¢±¦¤Î»³¤Ø½Å¤Í°ì¤Ä¤Ë¤¹¤ë¡£
¤³¤Î¥·¥ã¥Ã¥Õ¥ë¤ò·«¤êÊÖ¤¹¤È£¹²ó·«¤êÊÖ¤·¤¿»þÅÀ¤Ç¡¢¥«¡¼¥É¤Î½çÈÖ¤¬¸µ¤ËÌá¤ë¡£
¤³¤Î¥·¥ã¥Ã¥Õ¥ë¤Îµ¬Â§¤òÄ´¤Ù¤¿¤¤¡Ê¸µ¤Î¾õÂ֤ˤɤξò·ï¤ÇÌá¤ë¤Î¤«¡Ë¤Î¤Ç¤¹¤¬¡¢
°ìÈ̤˥«¡¼¥É¤¬£îË礢¤ê
»³¤òp¸Ä¡Êp<=n¤È¤¹¤ë¡Ëºî¤Ã¤Æ¡¢¤³¤Î¥·¥ã¥Ã¥Õ¥ë¤ò¤·¤Æ¤¤¤¯¾ì¹ç¡¢²¿²ó·«¤êÊÖ¤»¤Ð¸µ¤ËÌá¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©
¡Ên=7,p=3¤Ê¤é£³²ó¤Ç¸µ¤ËÌá¤ê¤Þ¤·¤¿¡£¡Ë

¤³¤ì¤òÃΤ뤿¤á¤Î¥×¥í¥°¥é¥à¤òºî¤Ã¤ÆÌ㤨¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡©
¤³¤ì¤ò»È¤Ã¤Æ¿·ºî¤Î¥«¡¼¥É¥Þ¥¸¥Ã¥¯¤òºî¤ê¤¿¤¤¤Î¤Ç¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£
¤Á¤Ê¤ß¤Ë¡¢¥È¥é¥ó¥×Á´Éô£µ£²Ëç¤Î¾ì¹ç£²»³¡¢£³»³¡¢£´»³¡¢¡¦¡¦¡¦¡¢£±£³»³
¤Ç¤ÎÉü¸µ²ó¿ô¤âÃΤꤿ¤¤¤Î¤Ç¤¹¤¬¡¦¡¦¡¦
 

!Ëü²Ú¶À

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ11·î23Æü(Æü)16»þ05ʬ47ÉÃ
ÊÖ¿®¡¦°úÍÑ
  !Ëü²Ú¶À

OPTION ARITHMETIC NATIVE
DIM px(12),py(12)

MAT READ px
DATA 0.20, 0.40, 0.60, 0.80, 0.70, 0.60, 0.50, 0.40, 0.30, 0.20, 0.40, 0.60
MAT READ py
DATA 0.11, 0.11, 0.11, 0.11, 0.29, 0.47, 0.65, 0.47, 0.29, 0.11, 0.11, 0.11

SET WINDOW -1/4,1/4, -1/4,1/4
!----------
LET N=3
DO
   LET s=MOD(s,36)+1
   LET s2=INT((s-1)/4)+1
   SET DRAW mode hidden
   CLEAR
   DRAW D4(N) WITH SHIFT(-0.5,-0.5/SQR(3))*ROTATE(PI*2/36*s+PI)
   SET DRAW mode explicit
   WAIT DELAY 0.2
LOOP

!------
PICTURE D4(k)
   IF 0< k THEN
      DRAW D4(k-1) WITH SCALE(1/2,1/2)*SHIFT(1/4,SQR(3)/4) !¡¡¾å
      DRAW D4(k-1) WITH SCALE(1/2,-1/2)*SHIFT(1/4,SQR(3)/4) !¡¡Ãæ
      DRAW D4(k-1) WITH SCALE(1/2,1/2)*ROTATE(-PI*2/3)*SHIFT(1/4,SQR(3)/4) !¡¡º¸
      DRAW D4(k-1) WITH SCALE(1/2,1/2)*ROTATE(PI*2/3)*SHIFT(1,0) !¡¡±¦
   ELSE
      DRAW Set01
   END IF
END PICTURE

!------ ¼ï¤Î»°³Ñ¿Þ
PICTURE Set01
   PLOT LINES: 0,0; 1,0 ;0.5,SQR(3)/2 ;0,0
   SET AREA COLOR 5 !2
   DRAW disk WITH SCALE(0.1)*SHIFT(px(s2),py(s2)) ! ¾þ¤ê£±
   SET AREA COLOR 6 !3
   DRAW disk WITH SCALE(0.1)*SHIFT(px(s2+1),py(s2+1)) ! ¾þ¤ê£²
   SET AREA COLOR 7 !4
   DRAW disk WITH SCALE(0.1)*SHIFT(px(s2+2),py(s2+2)) ! ¾þ¤ê£³
   SET AREA COLOR 1
   DRAW disk WITH SCALE(0.1)*SHIFT(px(s2+3),py(s2+3)) ! ¾þ¤ê£´
END PICTURE

END
 

Re: ¤¢¤ë¥·¥ã¥Ã¥Õ¥ëÊýË¡¤Îµ¬Â§À­

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î24Æü(·î)08»þ50ʬ50ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.109[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£
¼«Ê¬¤ØÊÖ»ö¤ò½Ð¤¹¤Î¤âÊѤǤ¹¤¬¡¢»ä¤Ê¤ê¤Î¥×¥í¥°¥é¥à¤òºî¤Ã¤ÆÄ´¤Ù¤Æ¤ß¤Þ¤·¤¿¡£

¡ª£´»³¤Ç¤Î¥·¥ã¥Ã¥Õ¥ëÄ´ºº
100 OPTION BASE 1
110 INPUT  PROMPT "¥«¡¼¥É¤ÎËç¿ô¤Ï¡©":n
120 INPUT  PROMPT "»³¤Î¿ô¤Ï¡©:£´¤òÆþÎϤ·¤Æ¤ª¤¤¤Æ²¼¤µ¤¤¡£":p
130 INPUT  PROMPT "¥·¥ã¥Ã¥Õ¥ë²ó¿ô¡©":t
140
150 DIM a(n)
160 DIM b(n)
170 DIM c(n)
180 DIM d(n)
190 DIM e(n)
200 DIM f(n)
210
220 FOR i=1 TO n
230    LET a(i)=i
240 NEXT i
250
260 FOR q=1 TO t
270    FOR k=1 TO INT(n/p)
280       LET b(k)=a(p*(k-1)+1)
290       LET c(k)=a(p*(k-1)+2)
300       LET d(k)=a(p*(k-1)+3)
310       LET e(k)=a(p*(k-1)+4)
320       PRINT USING "####":b(k);
330       PRINT USING "####":c(k);
340       PRINT USING "####":d(k);
350       PRINT USING "####":e(k);
360       PRINT
370    NEXT k
380
390    FOR i=1 TO n/p
400       LET f(i)=b(n/p-i+1)
410       LET f(n/p+i)=c(n/p-i+1)
420       LET f(2*n/p+i)=d(n/p-i+1)
430       LET f(3*n/p+i)=e(n/p-i+1)
440    NEXT i
450
460    FOR i=1 TO n
470       LET a(i)=f(i)
480       PRINT ;q;"²ó";
490       PRINT USING "####":a(i);
500       PRINT
510    NEXT i
520
530 NEXT q
540 END
550

¡ª£³»³¤Ç¤Î¥·¥ã¥Ã¥Õ¥ëÄ´ºº
100 OPTION BASE 1
110 INPUT  PROMPT "¥«¡¼¥É¤ÎËç¿ô¤Ï¡©":n
120 INPUT  PROMPT "»³¤Î¿ô¤Ï¡©:£³¤òÆþÎϤ·¤Æ¤ª¤¤¤Æ²¼¤µ¤¤¡£":p
130 INPUT  PROMPT "¥·¥ã¥Ã¥Õ¥ë²ó¿ô¡©":t
140
150 DIM a(n)
160 DIM b(n)
170 DIM c(n)
180 DIM d(n)
190!DIM e(n)
200 DIM f(n)
210
220 FOR i=1 TO n
230    LET a(i)=i
240 NEXT i
250
260 FOR q=1 TO t
270    FOR k=1 TO INT(n/p)
280       LET b(k)=a(p*(k-1)+1)
290       LET c(k)=a(p*(k-1)+2)
300       LET d(k)=a(p*(k-1)+3)
310       !    LET e(k)=a(p*(k-1)+4)
320       PRINT USING "####":b(k);
330       PRINT USING "####":c(k);
340       PRINT USING "####":d(k);
350       !   PRINT USING "####":e(k);
360       PRINT
370    NEXT k
380
390    FOR i=1 TO n/p
400       LET f(i)=b(n/p-i+1)
410       LET f(n/p+i)=c(n/p-i+1)
420       LET f(2*n/p+i)=d(n/p-i+1)
430       !  LET f(3*n/p+i)=e(n/p-i+1)
440    NEXT i
450
460    FOR i=1 TO n
470       LET a(i)=f(i)
480       PRINT ;q;"²ó";
490       PRINT USING "####":a(i);
500       PRINT
510    NEXT i
520
530 NEXT q
540 END
550

¥«¡¼¥É¥Þ¥¸¥Ã¥¯¤ò¤ä¤ë¾å¤Ç¤Ï¡¢¤³¤ì°Ì¤¬ÂÅÅö¤Ç¤¢¤í¤¦¡£

¤³¤¦¤ä¤Ã¤ÆÄ´¤Ù¤Þ¤·¤¿¤é¼¡¤ÎÍͤʷë²Ì¤òÆÀ¤Þ¤·¤¿¡£
             ¡ã£³»³¤Ç¤Î¥·¥ã¥Ã¥Õ¥ë¡ä
¥È¥é¥ó¥×Ëç¿ô     Àµ½çÉü¸µ²ó¿ô         µÕ½çÉü¸µ²ó¿ô
¡¡¡¡¡¡¡¡¡¡6                3
¡¡¡¡¡¡¡¡¡¡ 9                4                   2
¡¡¡¡¡¡¡¡¡¡ 12               6                   3
¡¡¡¡¡¡¡¡¡¡15               4
¡¡¡¡¡¡¡¡¡¡18               9
¡¡¡¡¡¡¡¡¡¡ 21              10                   5
¡¡¡¡¡¡¡¡¡¡ 24              20                  10
¡¡¡¡¡¡¡¡¡¡27               3
¡¡¡¡¡¡¡¡¡¡30              15
¡¡¡¡¡¡¡¡¡¡ 33              16                   8
¡¡¡¡¡¡¡¡¡¡36               9
¡¡¡¡¡¡¡¡¡¡39               4
¡¡¡¡¡¡¡¡¡¡42              21
¡¡¡¡¡¡¡¡¡¡ 45              22                  11
¡¡¡¡¡¡¡¡¡¡48              21
¡¡¡¡¡¡¡¡¡¡51               6


              ¡ã£´»³¤Ç¤Î¥·¥ã¥Ã¥Õ¥ë¡ä
¥È¥é¥ó¥×Ëç¿ô      Àµ½çÉü¸µ²ó¿ô       µÕ½çÉü¸µ²ó¿ô
¡¡¡¡¡¡¡¡¡¡ 8                6                  3
¡¡¡¡¡¡¡¡¡¡12               3
¡¡¡¡¡¡¡¡¡¡ 16               4                  2
¡¡¡¡¡¡¡¡¡¡ 20               6                  3
¡¡¡¡¡¡¡¡¡¡24               5
¡¡¡¡¡¡¡¡¡¡28               7
¡¡¡¡¡¡¡¡¡¡ 32              10                  5
¡¡¡¡¡¡¡¡¡¡36               9
¡¡¡¡¡¡¡¡¡¡40               5
¡¡¡¡¡¡¡¡¡¡44               6
¡¡¡¡¡¡¡¡¡¡48              21
¡¡¡¡¡¡¡¡¡¡52              13


¤³¤ì¤òį¤á¤ë¤È°Ê³°¤Ë¤âº®¤¼¤Æ¤¤¤ë¤è¤¦¤Ë¸«¤»¤«¤±¤Æ¡¢¸µ¤ËÌ᤹¤³¤È¤¬µ¯¤³¤ë
¸½¾Ý¤ò¤Ä¤¯¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤·¤¿¡£
£²£·Ëç¤Ç¤Î£³»³¤«¡¢£²£°Ëç¤Ç¤Î£´»³¤¢¤¿¤ê¤¬»È¤¨¤½¤¦¤Ç¤¹¡£
 

Re: ¤¢¤ë¥·¥ã¥Ã¥Õ¥ëÊýË¡¤Îµ¬Â§À­

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î24Æü(·î)17»þ07ʬ13ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.111[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¤³¤ì¤òį¤á¤ë¤È°Ê³°¤Ë¤âº®¤¼¤Æ¤¤¤ë¤è¤¦¤Ë¸«¤»¤«¤±¤Æ¡¢¸µ¤ËÌ᤹¤³¤È¤¬µ¯¤³¤ë
> ¸½¾Ý¤ò¤Ä¤¯¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤·¤¿¡£


µÕÃÖ´¹¤Ç¸µ¤ËÌ᤹¤³¤È¤ò¹Í¤¨¤ë¡£

£îËç£ð»³¤Î¤È¤­¡¢n=k*p¤Ê¤é£îËç£ë»³¤ËʬÇÛ¡¦¼ý½¸¤¬¹Í¤¨¤é¤ì¤ë¡£

¤¿¤È¤¨¤Ð
18Ëç3»³¤Î¾ì¹ç¡¢³Æ»³6Ë示¤Ä
¡¡16,13,10,7,4,1 !»³£±¡¡¢¨¾å¤«¤é½ç¤Ë
¡¡17,14,11,8,5,2 !»³£²
¡¡18,15,12,9,6,3 !»³£³
¤È¤Ê¤ëÃÖ´¹¤Ë¤Ê¤ë¡£¡Ê½ÐÂê¤Î»²¹ÍÎã¤Î¥·¥ã¥Ã¥Õ¥ë¡Ë
¤³¤ì¤ËÂФ·¤Æ¡¢18Ëç6»³¡¢³Æ»³3Ë示¤Ä
¡¡6,12,18 !»³£±
¡¡5,11,17 !»³£²
¡¡4,10,16 !»³£³
¡¡3, 9,15 !»³£´
¡¡2, 8,14 !»³£µ
¡¡1, 7,13 !»³£¶
¤È¤Ê¤ëµÕÃÖ´¹¤Ç¤¢¤ë¡£

¤³¤ÎÃÖ´¹¤Ï¡¢¾åµ­¤ÎÃÖ´¹¤Î¸å¤ËŬÍѤ¹¤ë¤È·×£²²ó¤Ç¸µ¤ËÌá¤ë¡£
¥«¡¼¥ÉÁàºî¤Ï¡¢¤Û¤ÜƱ¤¸Áàºî¤Ç¼Â¸½¤Ç¤­¤ë¡£¡Ö¥«¡¼¥É¤ò²¼¤«¤é½ç¤Ë¡×¤È¤«¡¢¡¢¡¢


¡£¡£¡£¤È¸À¤¦¶ñ¹ç¤Ë¡¢»ä¤â¾¯¤·¹Í¤¨¤Æ¤ß¤Þ¤·¤¿¡£
¤Þ¤¿¡¢µÕ½ç¤Î¤È¤­¤Ë£±²ó¤ÇµÕ½ç¤µ¤»¤ë¥·¥ã¥Ã¥Õ¥ë¤ò¹Ô¤¦¡ÊÅÓÃæ¤ÇËç¿ô¤ò¿ô¤¨¤ë¿¶¤ê¤ò¤·¤Æ¡¢£±»³¤Ë¥«¡¼¥É¤òÃÖ¤¤¤Æ¤¤¤¯¤Ê¤É¡Ë
¤Ê¤É¤ÎÁȹ礻¤Ç¡¢²ó¿ô¤È¤«¤ò¸º¤é¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¤Í¡£
 

¥·¥ã¥Ã¥Õ¥ëˡ§¹çÅÀ¡ª¡ª¡ª

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î24Æü(·î)18»þ41ʬ33ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¥ª¥Ã¡¼¡ª¡ª¡ª¡¡¥ï¥ó¥À¥Õ¥ë
£î¡ß£íËç¤Î¥«¡¼¥É¤ò¤Þ¤º£î»³¤Ëʬ¤±¤ë¥·¥ã¥Ã¥Õ¥ë¤ò¹Ô¤Ê¤Ã¤¿¸å
¼¡¤Ï£í»³¤Ç¤Î¥·¥ã¥Ã¥Õ¥ë¤ò¤·¤¿¤é¡¢ºÇ¸å¤ËËç¿ô¤ò³Îǧ¤¹¤ëÁàºî¤Ëʶ¤ì¤Æ½çÈÖ¤òµÕž¤·¤Æ¤ä¤ì¤Ð¤É¤ÎËç¿ô¤Ç¤â£³²ó¤ÎÁàºî¤Ç¥Õ¥©¡¼¥ë¥¹¥·¥ã¥Ã¥Õ¥ë¤¬²Äǽ¤È¤¤¤¦Ìõ¤Ç¤¹¤Í¡£
¤³¤ì¤Ê¤é¡¢Ëç¿ô¤Ç¤ÎÀµ½çÉü¸µ²ó¿ô¤ò¤¤¤Á¤¤¤Á³Ð¤¨¤Æ¤ª¤«¤Ê¤¯¤Æ¤âÂç¾æÉפÀ¡ª
£´¡ß£µ¡á£²£°ËçÄøÅÙ¤¬¤¤¤¤¤«¤â¡ª¡ÊǤ°Õ¤ÎËç¿ô¤Ç¤â£²¤Ä¿ô¤Î³Ý¤±»»¤µ¤¨¤ä¤ì¤ÐºÑ¤à¤ó¤À¡£¡Ë
¿ô³Ø¤¬ÆÀ°Õ¤ÊÊý¤Ï¤É¤¦¤·¤Æ¤³¤¦¤âƬ¤¬½ÀÆð¤Ê¤ó¤À¤í¤¦¡£
¼«Ê¬¤Ï¤¢¤ë»³¤À¤±¤Ë¸ÂÄꤷ¤Æ»×¹Í¤ò¤·¤Æ¤·¤Þ¤¦¡¦¡¦¡¦
¤¿¤¤¤Ø¤ó»²¹Í¤Ë¤Ê¤ë¥¢¥É¥Ð¥¤¥¹¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£
 

matÌ¿Îá¤ÈÊ£ÁÇ¿ô·×»»

 Åê¹Æ¼Ô¡§Âç·§¡¡Àµ  Åê¹ÆÆü¡§2008ǯ11·î24Æü(·î)18»þ50ʬ22ÉÃ
ÊÖ¿®¡¦°úÍÑ
  Âç·§¡¡¤Ç¤¹¡£
»³ÃæÍÍ¡¢Åç¼ÍÍ¡¢¤½¤·¤ÆSECONDÍÍ
¿§¤¤¤í¤Î¸æ¶µ¼ø¡¡ËÜÅö¤ËÍ­Æñ¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£

¤½¤ÎÁí¤Æ¤¬¡¢¸½ºß¤Î»ä¤ËÍý²ò¤Ç¤­¤¿¤È¤Ï¡¢ÅþÄì»×¤Ã¤Æ¤Þ¤»¤ó¤¬¡¢
10¿ÊBASIC¤¬¹¹¤Ë¹¥¤­¤Ë¤Ê¤Ã¤¿¤³¤È¤Ï³Î¤«¤Ç¤¹¡£¡Ö»ý¤Ä¤Ù¤­¤Ï¡¢
Àèã¤Ê¤ê¡×¡¦¡¦¡¦¤È´¶¼Õ¤¤¤¿¤·¤Æ¤ª¤ê¤Þ¤¹¡£

¤½¤³¤Ç¡¢Åŵ¤²óÏ©{A}¤Ç¤Ï¡¢¥³¥ó¥Ç¥ó¥µ¡¼¤Ê¤É¤Î¥¢¥É¥ß¥Ã¥¿¥ó¥¹
¤¬¼þÇÈ¿ô¡Ê£Æ¡ËÆÃÀ­¤ò»ý¤Á¤Þ¤¹¡¢¹¹¤ËÅŸ»[B}¤âƱÍͤǤ¹¡£

¡Ê£±¡Ë¥Þ¥È¥ê¥¯¥¹[A]¤ÎÃæ¤Ë¥³¥ó¥Ç¥ó¥µ¡¼¤Ê¤É¤Î¥¢¥É¥ß¥Ã¥¿¥ó¥¹
¡¡¡¡¡¡¤ò¥¹¥Þ¡¼¥È¤ËÆþ¤ì¤ëÊýË¡¡£
¡Ê£²¡ËƱ¤¸¤¯¡¡ÅŸ»¤Î¥Þ¥È¥ê¥¯¥¹[B}¤Ë¡¢SIN¡ÊF,T)ɽ¼¨Åù¤Ç
¡¡¡¡¡¡¥¹¥Þ¡¼¥È¤ËÆþ¤ì¤ëÊýË¡¡£
¡Ê£³¡ËÅŸ»¤Î¼þÇÈ¿ô¤ÈÂ礭¤µ¡¢½ÐÎϤδط¸¡¢¾­Íè¤Î¥°¥é¥Õ²½¤Ë
¡¡¡¡¡¡È÷¤¨¡¢INV(A)*B¡¡Åù¤È¤·¤¿¾å¤Ç¹¹¤Ë¡¢Á´ÂΤò
¡¡¡¡¡¡¡¡¡¡FOR F=100 TO 10000 STEP 100¡¦¡¦¡ÖINB (A)*B¡×¡¦
¡¡¡¡¡¡¡¡¡¡¡¦¡¦¡¦NEXT F
       Åù¤È¤ä¤ë¤Î¤Ç¤·¤ç¤¦¤«¡¢Á´ÂΤÎÊýË¡¤¬»ä¤Ë¤Ï¤Þ¤À¸«¤¨
¡¡¡¡¡¡¡¡¤Æ¤Þ¤»¤ó¡£
¡Ê£´¡ËºÇ½ªÅª¤Ë¤Ï¡¢ÊÒÂпôɽ¤Î¥°¥é¥Õɽ¼¨¤ËÀ®¤ë¤Î¤Ç¤·¤ç¤¦¤¬¡¢
¡¡¡¡¡¡¤³¤ì¤ò¡¡¡¡¡¡¤ä¤Ã¤¿¡¢»²¹Í»ñÎÁ¤ä¡¢Ê¸¸¥¤Ê¤É¤¬¤¢¤ê¤Þ¤·
¡¡¡¡¡¡¤¿¤é¸æ¶µ¤¨¤¯¤À¤µ¤¤¡£
¡¡¡¡¡¡£Ã£Ò¡¡°ìÃʤβóÏ©¤Ç¤â¸½ºß¤Î»ä¤Ë¤Ï¡¢ÂçÊÑ»²¹Í¤Ë¤Ê¤ê¤Þ¤¹¡£
¡Ê£µ¡Ë¼Â¤Ï¡¢ºÇ½ªÅª¤Ë¤Ï¡ÖÍ­¸ÂÍ×ÁÇË¡¡×¤Ë¤Þ¤Ç¤¿¤É¤êÃ夭¤¿
¡¡¡¡¡¡¤¤¤Î¤Ç¤¹¤¬¡¢¡¡¡¡¡¡10¿ÊBASIC¤Ç¤³¤ì¤ò¤ä¤Ã¤¿¡¢Àèã¤Îʸ¸¥
¡¡¡¡¡¡¤Ê¤É¤¢¤ê¤Þ¤·¤¿¤é¸æ¶µ¤¨¤¯¤À¤µ¤¤¡£½¾Íè¤Î¡¡[N88 BASIC ??]
¡¡¡¡¡¡¤Ç¤ä¤Ã¤¿»²¹Í½ñ¤Ï¤¢¤ë¤Î¤Ç¤¹¤¬¡¢¿¿»÷¤·¤Æ¥×¥í¥°¥é¥à¤¹¤ë¤È
¡¡¡¡¡¡¡Öʸˡ¤ÎÁê°ã¤«¡¢¤¢¤Á¤³¤Á¤Ç¤Ä¤Ã¤«¤¨Á´¤¯Æ°¤«¤º¡×
¡¡¡¡¡¡¸½ºß¤Ï¡¢Äü¤á¤Æ¤¤¤ë¾õ¶·¤Ç¤¹¡£

¡Ö¤â¤Ã¤È¡¢¼«Ê¬¤Ç¶ìÏ«¤·¡¢¿¿ÌÌÌܤˤä¤ì¡×¤È¤Î¤ª¼¸¤ê¤Î¸ÀÍÕ¤â
¡¡¤­¤³¤¨¤Þ¤¹¤¬¡¢¤Ê¤ë¤Ù¤¯Á᤯¡Ö½éÊâ¤ÎÃʳ¬¡×¤òºÑ¤Þ¤»Àè¤Ë
¡¡¹Ô¤­¤¿¤¤¤Î¤Ç¡¡¤è¤í¤·¤¯¸æ´ê¤¤¤·¤Þ¤¹¡£

·É¶ñ
 

¸ÅÂåÀ¸Êª

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ11·î25Æü(²Ð)03»þ38ʬ43ÉÃ
ÊÖ¿®¡¦°úÍÑ
  !¸ÅÂåÀ¸Êª( ºÆÅê¹Æ¥³¥ó¥Ñ¥¯¥È)

SET TEXT FONT "£Í£Ó ÌÀÄ«",12
SET TEXT BACKGROUND "OPAQUE"
SET POINT STYLE 1
!----------------
LET t$="¥¢¥ó¥â¥Ê¥¤¥È"
LET N=101
LET xm=-0.63
LET ym=0.5
LET h=1.5
RANDOMIZE 19650218
SET WINDOW xm-h,xm+h, ym-h,ym+h
PLOT TEXT,AT xm+h*0.1,ym+h*0.85:t$& "    N="& USING$("###",N)
SET POINT COLOR 44
CALL fa(N, 0.4, 0.2)
beep
!----------------
LET t$="¥·¥À¤ÎÍÕ"
LET N=19
LET xm=0.32
LET ym=0.5
LET h=0.6
RANDOMIZE 19650218
SET WINDOW xm-h,xm+h, ym-h,ym+h
DRAW axes
PLOT TEXT,AT xm+h*0.1,ym+h*0.7:t$& "    N="& USING$("###",N)
PLOT TEXT,AT xm-h*0.75, ym+h*0.85:"¤·¤Ð¤é¤¯¸æÂÔ¤Á²¼¤µ¤¤¡£"
SET POINT COLOR 10
CALL fs(N, 0,0)
CALL fs(N, 0,0)
beep
PLOT TEXT,AT xm-h*0.75, ym+h*0.85:"¡¡ÉÁ²è¤Î½ªÎ»¡¡¡¡¡¡¡¡¡¡"

!------------------------------------------------------------
!¡¡Ê£¿ô¤Î½Ì¾®¥¢¥Õ¥¡¥¤¥óÊÑ´¹ (¥¢¥ó¥â¥Ê¥¤¥È)
DEF A1x(x,y)=-0.289993*x-0.001347*y+0.593333
DEF A1y(x,y)= 0.001986*x-0.196662*y-0.32 !¡¡p1=0.06124
DEF A2x(x,y)=-0.073058*x-0.024834*y+0.793333
DEF A2y(x,y)=-0.006353*x+0.285589*y-0.056667 !¡¡p2=0.022236
DEF A3x(x,y)= 0.939186*x-0.218787*y-0.046667
DEF A3y(x,y)= 0.214337*x+0.958685*y+0.01 !¡¡p3=0.916524
!------------------------------------------------------------
SUB fa(k, x,y)
   IF 0< k THEN
      CALL fa(k-1, A3x(x,y),A3y(x,y))
      IF RND< 0.0668176 THEN CALL fa(k-1, A1x(x,y),A1y(x,y))
      IF RND< 0.024261 THEN CALL fa(k-1, A2x(x,y),A2y(x,y))
   END IF
   PLOT POINTS: x,y
END SUB

!------------------------------------------------------------
! Ê£¿ô¤Î½Ì¾®¥¢¥Õ¥¡¥¤¥óÊÑ´¹ (¥·¥À¤ÎÍÕ)
DEF W1x(x,y)= 0.836*x+0.044*y
DEF W1y(x,y)=-0.044*x+0.836*y+0.169 ! p1=0.4
DEF W2x(x,y)=-0.141*x+0.302*y
DEF W2y(x,y)= 0.302*x+0.141*y+0.127 ! p2=0.2
DEF W3x(x,y)= 0.141*x-0.302*y
DEF W3y(x,y)= 0.302*x+0.141*y+0.169 ! p3=0.2
DEF W4x(x,y)= 0
DEF W4y(x,y)= 0.175337*y ! p4=0.2
!------------------------------------------------------------
!³ÎΨŪ¥×¥í¥Ã¥È(p1~p4)¤Ï¡¢ÊÑ·Á¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
SUB fs(k, x,y)
   IF 0< k THEN
      CALL fs(k-1, W1x(x,y),W1y(x,y))
      IF RND< 0.3 THEN CALL fs(k-1, W2x(x,y),W2y(x,y))
      IF RND< 0.3 THEN CALL fs(k-1, W3x(x,y),W3y(x,y))
      IF RND< 0.3 THEN CALL fs(k-1, W4x(x,y),W4y(x,y))
   END IF
   PLOT POINTS: x,y
END SUB

END
 

Re: matÌ¿Îá¤ÈÊ£ÁÇ¿ô·×»»

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î25Æü(²Ð)11»þ29ʬ9ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.114[¸µµ­»ö¤Ø]

Âç·§¡¡Àµ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¡Ê£±¡Ë¥Þ¥È¥ê¥¯¥¹[A]¤ÎÃæ¤Ë¥³¥ó¥Ç¥ó¥µ¡¼¤Ê¤É¤Î¥¢¥É¥ß¥Ã¥¿¥ó¥¹¤ò¥¹¥Þ¡¼¥È¤ËÆþ¤ì¤ëÊýË¡¡£
> ¡Ê£²¡ËƱ¤¸¤¯¡¡ÅŸ»¤Î¥Þ¥È¥ê¥¯¥¹[B}¤Ë¡¢SIN¡ÊF,T)ɽ¼¨Åù¤Ç¥¹¥Þ¡¼¥È¤ËÆþ¤ì¤ëÊýË¡¡£

£±Í×ÁǤº¤ÄÂåÆþʸ¤ÇÀßÄꤹ¤ë¤Î¤¬´ðËܤˤʤê¤Þ¤¹¡£
¥µ¥Ö¥ë¡¼¥Á¥ó¤ä´Ø¿ô¤ò»È¤Ã¤Æ¡¢ºÇ¾®¸Â¤ÎÍ×ÁǤò»Ø¼¨¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£¡Ê¥µ¥ó¥×¥ë»²¾È¡Ë

RC²óÏ©¡¢¤³¤ì¤Ç¤¤¤¤¤Î¤Ç¤·¤ç¤¦¤«¡©¡¡¶ñÂÎŪ¤ËÄ󼨤·¤¿Êý¤¬ÌäÂê²ò·è¤¬Áᤤ¤È»×¤¤¤Þ¤¹¡£


> ¡Ê£´¡ËºÇ½ªÅª¤Ë¤Ï¡¢ÊÒÂпôɽ¤Î¥°¥é¥Õɽ¼¨¤ËÀ®¤ë¤Î¤Ç¤·¤ç¤¦¤¬¡¢

¼þÇÈ¿ôÆÃÀ­¤Î¥°¥é¥Õ¤Ç¤¹¤«¡©


> ¡Ê£µ¡Ë¼Â¤Ï¡¢ºÇ½ªÅª¤Ë¤Ï¡ÖÍ­¸ÂÍ×ÁÇË¡¡×¤Ë¤Þ¤Ç¤¿¤É¤êÃ夭¤¿¤¤¤Î¤Ç¤¹¤¬¡¢

t¤Ë¤Ä¤¤¤Æ¤ÎÈùʬÊýÄø¼°¤ò²ò¤¯¤È¤¤¤¦¤³¤È¤Ç¤¹¤«¡©


£²Ã¼»ÒÂвóÏ©¡Ê£´Ã¼»Ò²óÏ©¡Ë¤È¤·¤Æ½èÍý¤·¤¿¥µ¥ó¥×¥ë
1000 !£²Ã¼»ÒÂвóÏ©¡Ê£´Ã¼»Ò²óÏ©¡Ë
1010 !¡¡i1¢ª¨£¨¡¨¡¨¤i2¢ª
1020 !¡¡a ¨¡¨©A¡¡B¨§¨¡ b
1030 !E1¢¬¡¡¨¢¡¡¡¡¨¢¡¡¢¬E2
1040 !¡¡a'¨¡¨©C¡¡D¨§¨¡ b'
1050 !¡¡¡¡¡¡¨¦¨¡¨¡¨¥
1060 !´ðËܹÔÎóF¤òÍѤ¤¤Æ
1070 ! (E1)=(A B)(E2)
1080 ! (i1) (C D)(i2)
1090
1100 OPTION ARITHMETIC COMPLEX !Ê£ÁÇ¿ô¤ò°·¤¦
1110
1120 LET j=SQR(-1) !µõ¿ôñ°Ì¡¡¢¨Åŵ¤·Ï¤Ï£ê¤ò»È¤¦
1130
1140 !¡ü¸òή²óÏ©
1150
1160 LET f=60 !¼þÇÈ¿ô[Hz]
1170 DEF w=2*PI*f !³Ñ¼þÇÈ¿ô¦Ø
1180 DEF w2f=w/(2*PI) !¦Ø¤«¤éf¤òµá¤á¤ë
1190
1200 DEF H2Ohm(L)=j*w*L ![H]¤ò[¦¸]¤Ø
1210 DEF F2Ohm(C)=1/(j*w*C) ![F]¤ò[¦¸]¤Ø
1220 DEF xL(L)=w*L !ͶƳ¥ê¥¢¥¯¥¿¥ó¥¹
1230 DEF xC(C)=1/(w*C) !ÍÆÎ̥ꥢ¥¯¥¿¥ó¥¹
1240
1250 SUB DispS(z) !Ê£ÁÇ¿ô¤òSɽ¼¨¤¹¤ë¡¡¢¨¥¹¥¿¥¤¥ó¥á¥Ã¥Ä¡ÊSteinmetz¡Ë
1260    PRINT ABS(z);
1270    IF ABS(z)<>0 THEN
1280       IF arg(z)<>0 THEN PRINT "¢Ü";DEG(arg(z));"¡ë";
1290    END IF
1300    PRINT
1310 END SUB
1320
1330 FUNCTION S2COMPLEX(l,th) !Sɽ¼¨¡Ê¶ËºÂɸ·Á¼°¡Ë¤òÊ£ÁÇ¿ô¤Ø
1340    LET S2COMPLEX=COMPLEX(l*COS(RAD(th)),l*SIN(RAD(th)))
1350 END FUNCTION
1360 FUNCTION i2COMPLEX(im,th) !½Ö»þÃͼ°¤òÊ£ÁÇ¿ô¤Ø¡¡¢¨ºÇÂçÃÍ¡¢½é´ü°ÌÁê
1370    LET i2COMPLEX=S2COMPLEX(im/SQR(2),th) !¼Â¸úÃÍ¡¢½é´ü°ÌÁê
1380 END FUNCTION
1390
1400
1410 !¡ü´ðËÜ£²Ã¼»ÒÂвóÏ©
1420 !¡¡¨¡Z¨¡¡¡¤Î¾ì¹ç¡¡F=(1 Z)
1430 !¡¡¨¡-¨¡¡¡¡¡¡¡¡¡¡¡¡¡(0 1)
1440 SUB seriesF(Z,F(,)) !ľÎóÁÞÆþ
1450    MAT F=IDN
1460    LET F(1,2)=Z !¥¤¥ó¥Ô¡¼¥À¥ó¥¹
1470 END SUB
1480 !¡¡¨¡¨¨¨¡¡¡¤Î¾ì¹ç¡¡F=(1¡¡ 0)
1490 !¡¡¡¡Z ¡¡¡¡¡¡¡¡¡¡¡¡¡¡(1/Z 1)
1500 !¡¡¨¡¨ª¨¡
1510 SUB shuntF(Z,F(,)) !ÊÂÎóÁÞÆþ
1520    WHEN EXCEPTION IN
1530       MAT F=IDN
1540       LET F(2,1)=1/Z !¥¢¥É¥ß¥¿¥ó¥¹
1550    USE
1560       PRINT "£°¤Ç¤Ï³ä¤ì¤Þ¤»¤ó¡£"
1570       STOP
1580    END WHEN
1590 END SUB
1600
1610 !¡ü¥Ñ¥é¥á¡¼¥¿¤ÎÁê¸ßÊÑ´¹¡¡¢¨°ìÉô
1620 SUB F2Z(F(,), Z(,)) !£Æ¥Ñ¥é¥á¡¼¥¿¤ò£Ú¥Ñ¥é¥á¡¼¥¿¤Ø
1630    LET Z(1,1)=F(1,1) !A
1640    LET Z(1,2)=DET(F) !AD-BC
1650    LET Z(2,1)=1
1660    LET Z(2,2)=F(2,2) !D
1670    WHEN EXCEPTION IN
1680       MAT Z=(1/F(2,1))*Z !(1/C)ÇÜ
1690    USE
1700       PRINT "£Ú¥Ñ¥é¥á¡¼¥¿¤Ï¸ºß¤·¤Þ¤»¤ó¡£"
1710       STOP
1720    END WHEN
1730 END SUB
1740 SUB F2Y(F(,),Y(,)) !£Æ¥Ñ¥é¥á¡¼¥¿¤ò£Ù¥Ñ¥é¥á¡¼¥¿¤Ø
1750    LET Y(1,1)=F(2,2) !D
1760    LET Y(1,2)=-DET(F) !BC-AD
1770    LET Y(2,1)=-1
1780    LET Y(2,2)=F(1,1) !A
1790    WHEN EXCEPTION IN
1800       MAT Y=(1/F(1,2))*Y !(1/B)ÇÜ
1810    USE
1820       PRINT "£Ù¥Ñ¥é¥á¡¼¥¿¤Ï¸ºß¤·¤Þ¤»¤ó¡£"
1830       STOP
1840    END WHEN
1850 END SUB
1860 !-------------------- ¤³¤³¤Þ¤Ç¤¬¥µ¥Ö¥ë¡¼¥Á¥ó
1870
1880
1890 DIM mF(2,2),mZ(2,2),mY(2,2) !F,Z,Y¥Ñ¥é¥á¡¼¥¿
1900 DIM vi(2),vo(2) !ÅÅή¤äÅ۵¤Î¥Ù¥¯¥È¥ë
1910 DIM T1(2,2),T2(2,2) !ºî¶ÈÍÑ
1920
1930
1940 !¡ü£±¼¡£Ò£Ã²óÏ©¡¢Ä¾Îó£Ò£Ã²óÏ©¡¢¥í¡¼¥Ñ¥¹¥Õ¥£¥ë¥¿
1950 !i1¢ª¡¡¡¡¡¡i2¢ª
1960 !¡¡¨¡R¨¡¨¨¨¡
1970 !E1¢¬¡¡ C¡¡¢¬E2
1980 !¡¡¨¡-¨¡¨ª¨¡
1990 !i1=3*SQR(2)*SIN(377*t)[A]¡¢R=30[¦¸]¡¢C=66.3[¦ÌF]
2000
2010 LET R=30
2020 LET C=66.3e-6
2030
2040
2050 !¡ü£Æ¥Ñ¥é¥á¡¼¥¿¡¢´ðËܹÔÎó
2060 MAT mF=IDN !ñ°Ì¹ÔÎó
2070
2080 CALL seriesF(R,T1)
2090 MAT mF=mF*T1 !½Ä³Àܳ
2100
2110 CALL shuntF(F2Ohm(C),T2)
2120 MAT mF=mF*T2
2130
2140 PRINT "£Æ¥Ñ¥é¥á¡¼¥¿"
2150 MAT PRINT mF;
2160
2170
2180 !¡ü£Ú¥Ñ¥é¥á¡¼¥¿¡¢¥¤¥ó¥Ô¡¼¥À¥ó¥¹¹ÔÎó V=Z*I
2190 CALL F2Z(mF,mZ)
2200 PRINT "£Ú¥Ñ¥é¥á¡¼¥¿"
2210 MAT PRINT mZ;
2220
2230
2240 !¡ü(E1)=[F](E2)¤è¤ê
2250 !¡¡(i1)¡¡¡¡(i2)
2260 LET vi(2)=i2COMPLEX(3*SQR(2),0) !3[A}
2270 PRINT "i1=";
2280 CALL DispS(vi(2))
2290 LET vi(1)=mZ(1,1)*vi(2) !E=R*i¡¢150¢Ü-53.1¡ë[V]
2300 PRINT "E1=";
2310 CALL DispS(vi(1))
2320 PRINT
2330
2340 MAT T1=INV(mF) !½ÐÎϦ¤ò»»½Ð¤¹¤ë
2350 MAT vo=T1*vi
2360
2370 PRINT "E2=";
2380 CALL DispS(vo(1))
2390 PRINT "i2=";
2400 CALL DispS(vo(2))
2410 PRINT
2420
2430
2440 !¡ü£Ù¥Ñ¥é¥á¡¼¥¿¡¢¥¢¥É¥ß¥¿¥ó¥¹¹ÔÎó I=Y*V
2450 CALL F2Y(mF,mY)
2460 PRINT "£Ù¥Ñ¥é¥á¡¼¥¿"
2470 MAT PRINT mY;
2480
2490
2500 END
 

¥ì¥¹¡¢ÃÙ¤¯¤Ê¤ê¤Þ¤·¤¿¡£

 Åê¹Æ¼Ô¡§NINA  Åê¹ÆÆü¡§2008ǯ11·î25Æü(²Ð)23»þ07ʬ41ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¹ÓÅÄÍÍ¡¢»³ÃæÍÍ¡¢¿ÆÀڤʤ´ÀâÌÀ¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡ª¡ª

¤ªÆó¿Í¤Î¤ª¤«¤²¤Ç¡¢½½¿ÊBASIC¤Î¤¹¤´¤µ¤¬¤ï¤«¤Ã¤¿¤è¤¦¤Êµ¤¤¬¤·¤Þ¤¹¡£
¤½¤·¤Æ¡¢¼«Ê¬¤ÎÊÙ¶¯ÉÔ­¤â¡Ä¡£
¤³¤ì¤òµ¡¤Ë¡¢½½¿ÊBASIC¤ò¾¯¤·¤Ç¤â»È¤¨¤ë¤è¤¦¤ËÊÙ¶¯¤·¤¿¤¤¤È»×¤¤¤Þ¤¹¡£


ÊÖ»ö¤¬ÃÙ¤¯¤Ê¤Ã¤¿¤³¤È¡¢Ï¢Ì¾¤Ç¤Î¤ªÊÖ»öËÜÅö¤Ë¿½¤·Ìõ¤¢¤ê¤Þ¤»¤ó¡£
¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£
 

Re: matÌ¿Îá¤ÈÊ£ÁÇ¿ô·×»»

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î26Æü(¿å)08»þ19ʬ38ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.114[¸µµ­»ö¤Ø]

Âç·§¡¡Àµ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£
> ¡Ê£±¡Ë¥Þ¥È¥ê¥¯¥¹[A]¤ÎÃæ¤Ë¥³¥ó¥Ç¥ó¥µ¡¼¤Ê¤É¤Î¥¢¥É¥ß¥Ã¥¿¥ó¥¹¤ò¥¹¥Þ¡¼¥È¤ËÆþ¤ì¤ëÊýË¡¡£
> ¡Ê£²¡ËƱ¤¸¤¯¡¡ÅŸ»¤Î¥Þ¥È¥ê¥¯¥¹[B}¤Ë¡¢SIN¡ÊF,T)ɽ¼¨Åù¤Ç¥¹¥Þ¡¼¥È¤ËÆþ¤ì¤ëÊýË¡¡£

ÀáÅÀÅŰÌË¡¤Ë¤è¤ë¥µ¥ó¥×¥ë¤Ç¤¹¡£
°ÊÁ°Â裱·Ç¼¨ÈĤËÅê¹Æ¤·¤¿Ä¾Î®²óÏ©¤Î²þ½¤ÈǤˤʤê¤Þ¤¹¡£
1000 !Åŵ¤²óÏ©¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¡ÊÀáÅÀÅŰÌË¡¡Ë¡¡¸òή²óÏ©
1010
1020 !¡¦³ÆÀáÅÀ¤ÎÅṲ̋òɽ¼¨¤¹¤ë
1030 !¡¦³ÆÁǻҤؤÎÅÅή¡¢ÅṲ̋òɽ¼¨¤¹¤ë
1040
1050 OPTION ARITHMETIC COMPLEX
1060
1070 LET j=SQR(-1) !µõ¿ôñ°Ì¡¡¢¨Åŵ¤·Ï¤Ï£ê¤ò»È¤¦
1080
1090 LET f=60 !¼þÇÈ¿ô[Hz]
1100 DEF w=2*PI*f !³Ñ¼þÇÈ¿ô¦Ø
1110
1120 DEF H2Ohm(L)=j*w*L ![H]¤ò[¦¸]¤Ø
1130 DEF F2Ohm(C)=1/(j*w*C) ![F]¤ò[¦¸]¤Ø
1140 DEF xL(L)=w*L !ͶƳ¥ê¥¢¥¯¥¿¥ó¥¹
1150 DEF xC(C)=1/(w*C) !ÍÆÎ̥ꥢ¥¯¥¿¥ó¥¹
1160
1170 SUB DispS(z) !Ê£ÁÇ¿ô¤òSɽ¼¨¤¹¤ë¡¡¢¨¥¹¥¿¥¤¥ó¥á¥Ã¥Ä¡ÊSteinmetz¡Ë
1180    PRINT ABS(z);
1190    IF ABS(z)<>0 THEN
1200       IF arg(z)<>0 THEN PRINT "¢Ü";DEG(arg(z));"¡ë";
1210    END IF
1220    !PRINT
1230 END SUB
1240
1250 FUNCTION S2COMPLEX(l,th) !Sɽ¼¨¡Ê¶ËºÂɸ·Á¼°¡Ë¤òÊ£ÁÇ¿ô¤Ø
1260    LET S2COMPLEX=COMPLEX(l*COS(RAD(th)),l*SIN(RAD(th)))
1270 END FUNCTION
1280 FUNCTION i2COMPLEX(im,th) !½Ö»þÃͼ°¤òÊ£ÁÇ¿ô¤Ø¡¡¢¨ºÇÂçÃÍ¡¢½é´ü°ÌÁê
1290    LET i2COMPLEX=S2COMPLEX(im/SQR(2),th) !¼Â¸úÃÍ¡¢½é´ü°ÌÁê
1300 END FUNCTION
1310 !-------------------- ¤³¤³¤Þ¤Ç¤¬¥µ¥Ö¥ë¡¼¥Á¥ó
1320
1330 !---------- ¢­¢­¢­¢­¢­ ----------
1340 LET Ns=0 !Å۵¸»¤Î¿ô
1350 LET Nd=3 !ÀáÅÀ¤Î¿ô
1360 !---------- ¢¬¢¬¢¬¢¬¢¬ ----------
1370
1380 LET N=Nd+Ns
1390
1400 !¡ü¥­¥ë¥Ò¥Û¥Ã¥Õ¤ÎÅÅή§¤è¤ê¡¢ÀáÅÀÊýÄø¼°¤òÁȤßΩ¤Æ¤ë
1410 DIM A(N,N),x(N),b(N) !ϢΩÊýÄø¼° Ax=b
1420 MAT A=ZER
1430 MAT b=ZER
1440
1450
1460 DIM el_tmp$(100),ev_tmp(100),nd1_tmp(100),nd2_tmp(100) !ÁǻҤΰÀ­
1470 LET K=0
1480
1490 SUB AddElements(el$,ev,nd1,nd2) !²óÏ©¤òµ­Ï¿¤¹¤ë
1500    LET K=K+1 !Ï¢È֤DzóÏ©¤òµ­Ï¿¤¹¤ë¡¡¢¨Ãí°Õ. ÊýÄø¼°¤ÎÀ®Ê¬ÈÖ¹æ¤È°ìÃפ·¤Ê¤¤
1510    LET el_tmp$(K)=el$
1520    LET ev_tmp(K)=ev
1530    LET nd1_tmp(K)=nd1
1540    LET nd2_tmp(K)=nd2
1550
1560
1570    !ϢΩÊýÄø¼°¤òÁȤßΩ¤Æ¤ë
1580    ! ¨£¡¡ ¨¢¡¡ ¨¤¨£¡¡¨¤ ¨£¡¡¨¤
1590    ! ¨¢£Ç ¨¢¡Þ1¨¢¨¢V ¨¢=¨¢I ¨¢
1600    !¨¡¨¡¨¡¨«¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡
1610    ! ¨¢¡Þ1¨¢-Zp¨¢¨¢Ip¨¢ ¨¢Ep¨¢
1620    ! ¨¦¡¡ ¨¢¡¡ ¨¥¨¦¡¡¨¥ ¨¦¡¡¨¥
1630
1640    SELECT CASE UCASE$(el$(1:1)) !ÁǻҤ˱þ¤¸¤Æ
1650    CASE "V" !Å۵¸»¤Ê¤é
1660       LET p=VAL(el$(2:LEN(el$)))+Nd !ÈÖ¹æ¤òÆÀ¤ë
1670       LET A(nd1,p)=A(nd1,p)-1 !ÅÅήIp¤¬ÀáÅÀi¤«¤éÀáÅÀj¤ØÎ®¤ì¤¿¤È¤·¤Æ¡¢(Vi-Vj)-Ip*Zp=Ep
1680       LET A(p,nd1)=A(p,nd1)-1
1690       LET A(nd2,p)=A(nd2,p)+1
1700       LET A(p,nd2)=A(p,nd2)+1
1710       LET A(p,p)=A(p,p)+0 !ÆâÉôÄñ¹³Zp¤Ï£°¤È¤¹¤ë
1720       LET b(p)=b(p)+ev !µ¯ÅÅÎÏ
1730
1740    CASE "I" !ÅÅή¸»¤Ê¤é
1750       LET b(nd1)=b(nd1)-ev
1760       LET b(nd2)=b(nd2)+ev
1770
1780    CASE ELSE !ÁǻҤʤé
1790       LET Gij=1/ev
1800       !ÂгÑÀ®Ê¬¡¡¢¨ÀáÅÀ¤ËÀܳ¤µ¤ì¤¿Áǻҡʥ¢¥É¥ß¥¿¥ó¥¹¡Ë¤ÎÏÂ
1810       LET A(nd1,nd1)=A(nd1,nd1)+Gij
1820       LET A(nd2,nd2)=A(nd2,nd2)+Gij
1830       !¤½¤Î¾¤ÎÀ®Ê¬¡¡¢¨ÀáÅÀ¤ËÀܳ¤µ¤ì¤¿Áǻҡʥ¢¥É¥ß¥¿¥ó¥¹¡Ë¤Ë-1¤ò¤«¤±¤¿¤â¤Î¤ÎÏÂ
1840       LET A(nd1,nd2)=A(nd1,nd2)-Gij
1850       LET A(nd2,nd1)=A(nd2,nd1)-Gij
1860
1870    END SELECT
1880 END SUB
1890 !-------------------- ¤³¤³¤Þ¤Ç¤¬¥µ¥Ö¥ë¡¼¥Á¥ó
1900
1910 !---------- ¢­¢­¢­¢­¢­ ----------
1920
1930 !¡ü²óÏ©¿Þ¡¡¢¨£±¼¡£Ò£Ã²óÏ©¡¢Ä¾Îó£Ò£Ã²óÏ©¡¢¥í¡¼¥Ñ¥¹¥Õ¥£¥ë¥¿
1940 !¡¡¨¡£²¨¡R1¨¡£³¨¡
1950 !¡¡¡¡¨¢¡¡¡¡¡¡¨¢
1960 !¡¡¡¡i3¡¡¡¡¡¡C2
1970 !¡¡¡¡¨¢¡¡¡¡¡¡¨¢
1980 !¡¡¨¡£±¨¡¨¡¨¡¨ª¨¡
1990 !¡¡¡¡¨¢
2000 !¡¡¡¡¢á¥¢¡¼¥¹
2010 !¡¡i3=3*SQR(2)*SIN(377*t)[A]¡¢R1=30[¦¸]¡¢C2=66.3[¦ÌF]
2020
2030 !ÁÇ»Ò: Rn,Vn,In¡¢n:ÈÖ¹æ¡ÊÏ¢ÈÖ¡Ë¡¡¢¨£²Ê¸»úÌܰʹߤÏÈÖ¹æ
2040 !ÃÍ:
2050 !ü»ÒÈÖ¹æ¡Êµ¯ÅÀ¡Ë: £±°Ê¾å¤ÎÃÍ¡¡¢¨ÀáÅÀ
2060 !ü»ÒÈÖ¹æ: £±°Ê¾å¤ÎÃÍ¡¡¢¨ÀáÅÀ
2070
2080 CALL AddElements("R1",30,2,3) !30[¦¸]¡¢»ÞÏ©ÅÅή¤Ï2¢ª3¤È²¾Äꤹ¤ë
2090 CALL AddElements("C2",F2Ohm(66.3e-6),3,1) !C=66.3[¦ÌF]
2100 CALL AddElements("i3",i2COMPLEX(3*SQR(2),0),1,2) !3[A]
2110
2120 !¢¨Å۵¸»¤ÎÈÖ¹æ¤Ï£±¤«¤é¤ÎÏ¢ÈÖ¡¡Îã. CALL AddElements("V1",?,?,?) !?[V]
2130 !¤Ê¤·
2140
2150 LET GND=1 !¢¨¥¢¡¼¥¹
2160
2170 !---------- ¢¬¢¬¢¬¢¬¢¬ ----------
2180
2190
2200 FOR i=1 TO Nd !·ëÀþ¤µ¤ì¤Æ¤¤¤Ê¤¤ÀáÅÀ¡¡1*Vi=0
2210    IF A(i,i)=0 THEN LET A(i,i)=1
2220 NEXT i
2230 LET A(GND,GND)=0 !ÅṲ̋ò£°¤È¤¹¤ë
2240
2250 MAT PRINT A;
2260 MAT PRINT b;
2270
2280
2290 DIM Ai(N,N) !ϢΩÊýÄø¼°¤ò²ò¤¯
2300 MAT Ai=INV(A)
2310 MAT x=Ai*b
2320
2330
2340 FOR i=1 TO Nd !³ÆÀáÅÀ¤ÎÅŰ̡¢Î®¤ì¹þ¤àÅÅή¤òɽ¼¨¤¹¤ë
2350    PRINT "ÀáÅÀ";STR$(i);":";
2360    CALL DispS(x(i))
2370    PRINT "[V] ,";
2380    CALL DispS(b(i))
2390    PRINT "[A]"
2400 NEXT i
2410 PRINT
2420
2430 FOR i=1 TO K-Ns !³ÆÁǻҤËή¤ì¤ëÅÅή¡¢ÅṲ̋òɽ¼¨¤¹¤ë
2440    PRINT el_tmp$(i);":";
2450    LET t$=el_tmp$(i)(1:1)
2460    IF UCASE$(t$)="I" THEN !ÅÅή¸»¤Ê¤é
2470       CALL DispS(ev_tmp(i))
2480       PRINT "[A]",
2490       CALL DispS(x(nd2_tmp(i))-x(nd1_tmp(i)))
2500       PRINT "[V]"
2510    ELSE
2520       CALL DispS((x(nd1_tmp(i))-x(nd2_tmp(i)))/ev_tmp(i))
2530       PRINT "[A]",
2540       CALL DispS(x(nd1_tmp(i))-x(nd2_tmp(i)))
2550       PRINT "[V]"
2560    END IF
2570 NEXT i
2580 PRINT
2590
2600 FOR i=1 TO Ns !Å۵¸»¤Ëή¤ì¤ëÅÅή¡¢ÅṲ̋òɽ¼¨¤¹¤ë
2610    PRINT el_tmp$(K-Ns+i);":";
2620    CALL DispS(x(Nd+i))
2630    PRINT "[A]",
2640    CALL DispS(ev_tmp(K-Ns+i))
2650    PRINT "[V]"
2660 NEXT i
2670
2680
2690 END
 

(̵Âê)

 Åê¹Æ¼Ô¡§Âç·§¡¡Àµ  Åê¹ÆÆü¡§2008ǯ11·î26Æü(¿å)12»þ16ʬ55ÉÃ
ÊÖ¿®¡¦°úÍÑ
  »³ÃæÍÍ
Âç·§¤Ç¤¹¡£Ëè²ó¡¢¸æÃúÇ«¤Ê²óÅú¤òÍ­Æñ¤¦¤´¤¶¤¤¤Þ¤¹¡£
Áí¤Æ¤ò¤Þ¤ÀÍý²ò¤Ç¤­¤Ê¤¤¤Ç¤¤¤Þ¤¹¤¬¡¢SUBÌ¿Îá¤Î¥¹¥¿¥¤¥ë¤Ê¤É¤ò
°ìÊդ˳Ф¨¤Þ¤·¤¿¡£

½ê¤Ç¡¢¸æ²óÅú¤Çµ¤¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ë¤Î¤Ç¼ÁÌ䤤¤¿¤·¤Þ¤¹¡£

¡Ê£±¡Ë¡¡ÅÅή¤Ç¤ä¤Ã¤Æ¤Þ¤¹¤¬¡¢¤½¤Î¤¿¤á¡¡E1¤Ë°ÌÁ꤬ÉÕ¤¤¤Æ¤¤¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¼þÇÈ¿ôÆÃÀ­¡Ê¥Ü¡¼¥ÉÀþ¿Þ¡Ë¤Ê¤É¤Ç¤Ï¡¢
        E1 100V¤Ç°ÌÁê0ÅÙ¤ò²Ã¤¨¤ë¤È¡¡E2 I2 ¡¢¤½¤·¤ÆºÇ¸å¤ËI1
¡¡¡¡¡¡¡¡¤Ï¤É¤¦¤«¡¦¡¦¡¦¡¦¡£
¡¡¡¡¡¡¡¡¤Î¤è¤¦¤ËµÕ¤ËÀ®¤ë¤È»×¤¤¤Þ¤¹¡£Å۵¤ÈÅÅή¤ÎÈæÎã´Ø·¸¤«¤é
¡¡¡¡¡¡¡¡E1¤Î·ë²Ì¤òñ½ã¤ËµÕ·×»»¡¢E1¤ò100V¤Ëľ¤·¡¢E1¤Î°ÌÁê¤ò
¡¡¡¡¡¡¡¡E2¤Ë²Ã¸º¤¹¤ë¤È¤¤¤¦»ö¤Ë¤Ê¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£

¡Ê£²¡Ë¡¡1090 LET f=60 !¼þÇÈ¿ô
¡¡¡¡¡¡¡¡¤È¤Ê¤Ã¤Æ¤Þ¤¹¤¬¡¢¼þÇÈ¿ôÆÃÀ­¡Ê¥Ü¡¼¥ÉÀþ¿Þ¡Ë¤Ê¤É¤Ç¤Ï¡¢
¡¡¡¡¡¡¡¡¼þÇÈ¿ô¡¡£æ¡á£±£°¡¡¤«¤é¡¡£±£°£°£°£°¤Þ¤Ç
¡¡¡¡¡¡¡¡Åù¤ÈÀ®¤ê¤Þ¤¹¡£
¡¡¡¡¡¡¡¡²¼¤Ë¡¡DATA¡¡Ê¸¤òÉÕ¤±¡¢READ DATA Åù¤È¤ä¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£
¡¡¡¡¡¡¡¡¼þÇÈ¿ô¤ò¡¡DIM FF(£æ¤Î»ØÄê,1)
        ½ÐÎϤ⡡¡¡DIM EE2(½ÐÎϤγÊǼ,1)
¡¡¡¡¡¡¡¡Åù¤È¤ä¤ë¤È¡¢²Äǽ¤È¤ª¤â¤¤¤Þ¤¹¤¬¡¢¤¤¤«¤¬¤Ç¤·¤ç¤¦¤«¡£


¡Ê£³¡Ë¡¡Î㤨¤Ð¡¢¤³¤Î¥í¡¼¥Ñ¥¹¥Õ¥£¥ë¥¿¡¼¤¬5ÃʤĤº¤¤¤¿¤é¡¢
¡¡¡¡¡¡¡¡£Æ¹ÔÎó¤ò5¾è¤¹¤ë¤Î¤Ç¤¹¤«¡¢
¡¡¡¡¡¡¡¡Â¶¤Î»þ¡¡(A)^5 ¤Ç¤·¤ç¤¦¤«¡£¤Þ¤¿¤Ï¡¢FOR --NEXT¤Ç¤¹¤«¡£


¡Ê£´¡Ë¡¡»ä¤Î¡ÖÍ­¸ÂÍ×ÁÇË¡¡×¤È¤Ï¡¢¡¦¡¦¡¦Ç®¤È¤«¡¢¼§µ¤¤äÅṲ̋Îɽ¼¨¤Ç
¡¡¡¡¡¡¡¡¤¿¤È¤¨¤Ð¡¢Âʱ߷Á¤ÎÈĤ¬ºß¤Ã¤¿¤È¤­¡¢¤½¤Î·Á¾õ¤ò¾®¤µ¤Ê»°³Ñ¢¦¤Ë
¡¡¡¡¡¡¡¡Ê¬³ä¤·¡¢Ï¢Î©ÊýÄø¼°¤òΩ¤Æ¤ë¡£¡¦¡¦¡¦»þ´Öt¤Ë¤â´Ø·¸¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡ÂʱߤÎÈĤÎA(X,Y)¤Ë100ÅÙ¤ò²Ã¤¨¤ë¤È¾¤ÎÉôʬA(P,Q)¤Î²¹ÅÙ¤Ï
        ¤É¤¦¤Ê¤ë¤«,¡¦¡¦¡¦¤Þ¤¿¡¢¤½¤ì¤ò¿§¤Çɽ¼¨¤»¤è¡¦¡¦¡¦¡£
¡¡¡¡¡¡¡¡»þ´ÖŪ¤Ë¤Ï¤É¤¦¤«¡¦¡¦¡¦¡¦¤È¸À¤Ã¤¿¤è¤¦¤ÊÌäÂê¤Ç¤¹¡£
¡¡¡¡¡¡¡¡¼Â¤Ï¡¢ÌµÎÁ¤Î¥½¥Õ¥È¤¬¤¢¤ë¤è¤¦¤Ê¤Î¤Ç¤¹¤¬¡¢¡Ö¥ê¥Ê¥Ã¥¯¥¹¡×¤È¤«
¡¡¡¡¡¡¡¡¤Çºî¤é¤ì¡¢Áí¤Æ¤ÎÌäÂê¤ËÂФ·¤Þ¤Àº£¤Ï¡¢´°Á´¤Ë¤Ï´°À®½ÐÍè¤Æ¤Ê¤¤
¡¡¡¡¡¡¡¡¤Èʹ¤­¤Þ¤·¤¿¡£N88¤Ç¤Î¥½¥Õ¥È¤Ë,¶á¤¤ÌäÂê¤Î¥½¥Õ¥ÈÎ㤬¤¢¤ê
¡¡¡¡¡¡¡¡¤Þ¤¿ÀΤǤ¹¤¬¡¢Ëܡʡï2,300)¤â½Ð¤Æ¤¤¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡ÖBASIC¤Ë¤è¤ë¡¡Í­¸ÂÍ×ÁÇË¡¤Î´ðÁá׸ÍÀî È»¿Í¡¡¥µ¥¤¥¨¥ó¥¹¼Ò
¡¡¡¡¡¡¡¡¤³¤ì¤Ï¡¢¥Þ¥È¥ê¥¯¥¹¤Ç²ò¤¤¤Æ¤¤¤Þ¤»¤ó¡£½¾¤Ã¤Æ¥½¥Õ¥È¤Î¸«Ä̤·
¡¡¡¡¡¡¡¡¤¬°­¤¯¡¢¤³¤ÎÉôʬ¤Ï°ìÂβ¿¤ò¤·¤Æ¤ë¤Î¤«Îɤ¯Ê¬¤é¤Ê¤¤¡¦¡¦¡¦
¡¡¡¡¡¡¡¡¤È¤¤¤¦·çÅÀ¤¬¤¢¤ê¤Þ¤¹¡£¥Þ¥È¥ê¥¯¥¹¤ÈÊ£ÁÇ¿ô¤ÎξÊý¤¬¤Ç¤­¤ë
¡¡¡¡¡¡¡¡10¿ÊBASIC¤Ê¤é¡¢¤½¤ì¤¬²Äǽ¤Ç¡¢¤¢¤ë¤¤¤Ï¤â¤¦´û¤Ë½ÐÍè¤Æ¤ë
¡¡¡¡¡¡¡¡¤Î¤«¤È»×¤¤¼ÁÌ䡦Åê¹Æ¤·¤Þ¤·¤¿¡£

¡Ê£µ¡Ë¡¡Ã¦Àþ¤Ç¤¹¤¬¡¢¤³¤ÎÅê¹ÆÍó¤Ëµ¡³£¸ì¤Î¤³¤È¤¬¤¢¤ê¤Þ¤·¤¿¡£SECONDÍÍ
¡¡¡¡¡¡¡¡¤³¤Î¥½¥Õ¥È¤ÏËüǽ¤Ç¡¢¤¿¤È¤¨¤Ð¡¢º£²ó¤Î¥í¡¼¥Ñ¥¹¥Õ¥£¥ë¥¿¤Ç¤â
¡¡¡¡¡¡¡¡Â¶¤Î¥½¥Õ¥È¤Î¤¢¤ëƱ¤¸¥Û¥ë¥À¡¼¤Ë¤ª¤±¤Ð¡¢Æ°ºî²Äǽ¤Ê¤Î¤Ç¤¹¤«¡£
 

Re: (̵Âê)

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î26Æü(¿å)13»þ42ʬ16ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.119[¸µµ­»ö¤Ø]

Âç·§¡¡Àµ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£


>¡Ê£±¡Ë¡¡ÅÅή¤Ç¤ä¤Ã¤Æ¤Þ¤¹¤¬¡¢¤½¤Î¤¿¤á¡¡E1¤Ë°ÌÁ꤬ÉÕ¤¤¤Æ¤¤¤Þ¤¹¡£
>
>¡Ê£²¡Ë¡¡1090 LET f=60 !¼þÇÈ¿ô
>¡¡¡¡¡¡¡¡¤È¤Ê¤Ã¤Æ¤Þ¤¹¤¬¡¢¼þÇÈ¿ôÆÃÀ­¡Ê¥Ü¡¼¥ÉÀþ¿Þ¡Ë¤Ê¤É¤Ç¤Ï¡¢
>¡¡¡¡¡¡¡¡¼þÇÈ¿ô¡¡£æ¡á£±£°¡¡¤«¤é¡¡£±£°£°£°£°¤Þ¤Ç¡¡Åù¤ÈÀ®¤ê¤Þ¤¹¡£

f¤ÎFOR ¡ÁNEXTʸ¤ÇËè²ó·×»»¤·Ä¾¤»¤Ð¤¤¤¤¤«¤È»×¤¤¤Þ¤¹¡£
·«¤êÊÖ¤·Éôʬ¤ò¥µ¥Ö¥ë¡¼¥Á¥ó²½¤¹¤ë¤È¥×¥í¥°¥é¥à¤Î¸«Ä̤·¤¬Îɤ¯¤Ê¤ë¤È»×¤¤¤Þ¤¹¡£


Îã.

¢¨¥µ¥Ö¥ë¡¼¥Á¥óÉôʬ¤Ï¾Êά
DIM mF(2,2),mZ(2,2) !F,Z¥Ñ¥é¥á¡¼¥¿
DIM vi(2),vo(2) !ÅÅή¤äÅ۵¤Î¥Ù¥¯¥È¥ë
DIM T1(2,2),T2(2,2) !ºî¶ÈÍÑ

!¡ü£±¼¡£Ò£Ã²óÏ©¡¢Ä¾Îó£Ò£Ã²óÏ©¡¢¥í¡¼¥Ñ¥¹¥Õ¥£¥ë¥¿¡¢ÀÑʬ²óÏ©
!i1¢ª¡¡¡¡¡¡i2¢ª
!¡¡¨¡R¨¡¨¨¨¡
!E1¢¬¡¡ C¡¡¢¬E2
!¡¡¨¡-¨¡¨ª¨¡
!E1=5[V]¡¢R=1k[¦¸]¡¢C=0.1[¦ÌF]

LET R=1e3
LET C=0.1e-6

SUB routine
!¢¨£Æ¥Ñ¥é¥á¡¼¥¿¡¢´ðËܹÔÎó
   MAT mF=IDN !ñ°Ì¹ÔÎó
   CALL seriesF(R,T1) !½Ä³Àܳ
   MAT mF=mF*T1
   CALL shuntF(F2Ohm(C),T2)
   MAT mF=mF*T2


   !¢¨£Ú¥Ñ¥é¥á¡¼¥¿¡¢¥¤¥ó¥Ô¡¼¥À¥ó¥¹¹ÔÎó V=Z*I
   CALL F2Z(mF,mZ)


   !¢¨(E1)=[F](E2)¤è¤ê
   !¡¡(i1)¡¡¡¡(i2)
   LET vi(1)=5 !5[V]
   LET vi(2)=vi(1)/mZ(1,1) !i=V/R¡¢?[A]

   MAT T1=INV(mF) !½ÐÎϦ¤ò»»½Ð¤¹¤ë
   MAT vo=T1*vi
END SUB


SET bitmap SIZE 800,400 !²èÌ̤ò²£Ä¹¤Ø
!¢¨£²SET bitmap SIZE 300,600 !²èÌ̤ò²£Ä¹¤Ø
SET WINDOW -1,6, -1,2 !ɽ¼¨Îΰè
!¢¨£²SET WINDOW -1,6, -91,1 !ɽ¼¨Îΰè
!¢¨£³SET WINDOW -1,6, -20,1 !ɽ¼¨Îΰè
DRAW grid !ÌÜÀ¹¤ê

FOR f=1 TO 6 !£ø¼´¤¬Âпô
   PLOT TEXT ,AT f-0.3,-0.15: mid$("10  100 1k  10k 100k1M  ",4*(f-1)+1,4)
NEXT f
FOR f=10 TO 100000 STEP 100 !¼þÇÈ¿ô[Hz]
   CALL routine

   LET vv=vo(1)/vi(1)
   PLOT LINES: LOG10(f),ABS(vv); !¿¶ÉýÆÃÀ­
   !¢¨£²PLOT LINES: LOG10(f),DEG(ATN(Im(vv)/Re(vv))); !°ÌÁê¦È
   !¢¨£³PLOT LINES: LOG10(f),20*LOG10(ABS(vv)); !ÍøÆÀ[dB]
NEXT f


END



>¡Ê£³¡Ë¡¡Î㤨¤Ð¡¢¤³¤Î¥í¡¼¥Ñ¥¹¥Õ¥£¥ë¥¿¡¼¤¬5ÃʤĤº¤¤¤¿¤é¡¢

¹ÔÎó¤Î¤Ù¤­¾è¤ÏMATʸ¤Ç¤Ïµ­½Ò¤Ç¤­¤Þ¤»¤ó¤Î¤Ç¡¢FOR¡ÁNEXTʸ¤Ç¾è»»¤ò·«¤êÊÖ¤·¤Þ¤¹¡£


Îã.
!¡ü¤Ï¤·¤´²óÏ©¤Î¹çÀ®Äñ¹³¡¡a-bü»Ò´Ö

!a¨¡R1¨¨R3¨¨R5¨¨ ¡Ä ¨¨Rn¨¨ ¡Ä
! ¡¡¡¡R2¡¡R4¡¡R6¡¡ Rn-1 Rn+1
!b¨¡¨¡¨ª¨¡¨ª¨¡¨ª ¡¡ ¨ª¨¡¨ª
!
LET R1=1 !1,2,1,2,¡Ä,1,2,1
LET R2=2

CALL seriesF(R1,T1) !¨¡R1¨¨
CALL shuntF(R2,T2)  !¡¡¡¡R2

MAT mF=IDN !ñ°Ì¹ÔÎó
FOR i=1 TO 5 !ÃÊ¿ô
   MAT mF=mF*T1 !¨¡R1¨¨R1¨¨ ¡Ä ¨¨R1¨¨
   MAT mF=mF*T2 !¡¡ R2¡¡R2¡¡¡¡ R2¡¡R2
NEXT i
MAT mF=mF*T1 !¨¡R1¨¤

PRINT "£Æ¥Ñ¥é¥á¡¼¥¿"
MAT PRINT mF;
 

Re: (̵Âê)

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ11·î26Æü(¿å)18»þ25ʬ24ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.119[¸µµ­»ö¤Ø]

Âç·§¡¡Àµ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¡Ê£µ¡Ë¡¡Ã¦Àþ¤Ç¤¹¤¬¡¢¤³¤ÎÅê¹ÆÍó¤Ëµ¡³£¸ì¤Î¤³¤È¤¬¤¢¤ê¤Þ¤·¤¿¡£SECONDÍÍ
> ¡¡¡¡¡¡¡¡¤³¤Î¥½¥Õ¥È¤ÏËüǽ¤Ç¡¢¤¿¤È¤¨¤Ð¡¢º£²ó¤Î¥í¡¼¥Ñ¥¹¥Õ¥£¥ë¥¿¤Ç¤â
> ¡¡¡¡¡¡¡¡Â¶¤Î¥½¥Õ¥È¤Î¤¢¤ëƱ¤¸¥Û¥ë¥À¡¼¤Ë¤ª¤±¤Ð¡¢Æ°ºî²Äǽ¤Ê¤Î¤Ç¤¹¤«¡£


µ¡³£¸ì¤Ë¤Ä¤¤¤Æ¡¢¤¢¤ä¤Þ¤Ã¤¿¸æÍý²ò¤¬¡¢¸«¼õ¤±¤é¤ì¤Þ¤¹¤¬¡¢»ä¤Î¥«¥ó°ã¤¤¤«¤âÃΤì¤Þ¤»¤ó¡£
¤½¤Î¾ì¹ç¤Ï¡¢°Ê²¼¡¢Ê¹¤­Î®¤·¤Æ¤¯¤À¤µ¤¤¡£

µ¡³£¸ì¤Ï¡¢¥¢¥»¥ó¥Ö¥é¡¼(Assembler) ¤È¤â¸Æ¤Ð¤ì¡¢¤½¤ÎÀΡ¢BASIC ¤â £Ã¸À¸ì¤â̵¤«¤Ã¤¿»þÂå¤Ë¡¢
ºÇ½é¤ËÍ­¤Ã¤¿¸À¸ì¡¢Â¨¤Á¡¢£Ã£Ð£Õ¡¢¥×¥í¥»¥Ã¥µ¤¬¡¢Ä¾ÀÜǧ¼±¤Ç¤­¤ë¡¢Í£°ì¤Î¸À¸ì¤Ç¤¹¡£

µ¡³£¸ì¤Ï£±£¶¿Ê¥³¡¼¥É¤½¤Î¤â¤Î¤Ç¸«¤Å¤é¤¤¡£
¤½¤³¤Ç¡¢mov ax,1234h ¤È¤«¡¢push ax ¤Ê¤É¤Î¡¢¥·¥ó¥Ü¥ë¤ò¡¢£±ÂУ±¤Çµ¡³£¸ì¤Ë¡¢Âбþ¤µ¤»¤Æ¡¢
¸«¤ä¤¹¤¯¤·¤¿¤â¤Î¤ò¡¢¥¢¥»¥ó¥Ö¥é¡¼¸À¸ì ¤È¸Æ¤ó¤Ç¤¤¤Þ¤¹¡£

½½¿Ê BASIC.EXE ËÜÂΤϡ¢¤½¤Îµ­½Ò¤ò¡¢µ¡³£¸ì¤ËËÝÌõ¤¹¤ë¤¿¤á¤Î¡Ö¥·¥¹¥Æ¥à¸À¸ì¥×¥í¥°¥é¥à¡×
¤È¤¤¤¦»ö¤Ç¤¹¡£¤½¤Î¾¤ÎÊýÌ̤θÀ¸ì¤Ê¤É¤âÁ´¤Æ¡¢Æ±ÍͤǤ¹¡£

ºÇ½ªÅª¤Ë¡¢µ¡³£¸ì¤Ë¤Ê¤é¤Ê¤¤¤È¡¢£Ã£Ð£Õ¤Ï¡¢Ç§¼±¡¢¼Â¹Ô¤Ç¤­¤Þ¤»¤ó¡£

-------------------------------------------------------------------
Åê¹Æ¤·¤¿µ¡³£¸ì¤Ï¡¢ËÜÍè¡¢BASIC.EXE ¤¬¡¢ËÝÌõ¤¹¤ëʸ¤Î°ìÉô¤ò¡¢
¼ê¤Ç¡¢Ä¾ÀܤËËÝÌõÂå¹Ô¤·¤¿¤â¤Î¤È¸À¤¨¤Þ¤¹¡£

¤Ê¤¼¡¢¤½¤ó¤Ê»ö¤ò¤·¤¿¤Î¤«¤È¡¢¤¤¤¦¤Î¤Ï¡¢
ËÝÌõ¤Î¾éĹÀ­¤ò³°¤·¤¿¤ê¡¢¹â®¤Î¤¿¤á¤Î½ñ¤­Êý¡¢Äɵá¤Ç¤·¤¿¡£
¤´¼ÁÌä¤Î·ï¤Ï¡¢¤´¿ä»¡¤µ¤ì¤ë¤È¤ª¤ê¤Ç¡¢ÀìÍѤ˽ñ¤­Ä¾¤µ¤Ê¤¤¤È¡¢»ÈÍѤǤ­¤Þ¤»¤ó¡£
 

¼þÇÈ¿ô¥×¥í¥°¥é¥à

 Åê¹Æ¼Ô¡§Âç·§¡¡Àµ  Åê¹ÆÆü¡§2008ǯ11·î27Æü(ÌÚ)15»þ48ʬ15ÉÃ
ÊÖ¿®¡¦°úÍÑ
  »³ÃæÍÍ¡¡¡¡¡¡Âç·§¤Ç¤¹¡£
¼þÇÈ¿ô¤Î¥×¥í¥°¥é¥à¤òÍ­Æñ¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£
¥µ¥Ö¥ë¡¼¥Á¥ó¤Ë¤Ä¤Ê¤²¤¿¤éľ¤°·Ú²÷¤Ëư¤­¤Þ¤·¤¿¡£

¡Ê£±¡ËºÇ¸å¤Î£Ä£Âɽ¼¨¤Î¡ô£³¤È°ÌÁêɽ¼¨¤Î¡ô£²¤Î¥°¥é¥Õ
¡¡¡¡¡¡¤ò°ì½ï¤Ëɽ¼¨¤·¤¿¤¤¤Î¤Ç¤¹¤¬¡¢
¡¡¡¡¡¡º£¤Î¤Þ¤Þ¤Ç¡¢¡Ö¡ª¡×¥Þ¡¼¥¯¤ò³°¤·¡¢¤½¤Î¤Þ¤Þ
¡¡¡¡¡¡¤Ä¤Ê¤²¤Æ¤âư¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£
¡¡¡¡¡¡£Ä£Â¤Î½ÄÌÜÀ¹¤ê¤Ïº¸Â¦¤Ë¡¢°ÌÁê¤Î0¡Ý90ÅÙÌÜÀ¹¤ê¤Ï
¡¡¡¡¡¡±¦Â¦¤Ë¤È¤¤¤Ã¤¿¶ñ¹ç¤Ç¤¹¡£
¡¡¡¡¡¡¤³¤¦¤¹¤ë¤È¡¢Ëܤˤ¢¤ë¡Ö¥Ü¡¼¥ÉÀþ¿Þ¡×¤º¤Ð¤ê¤Ë
¡¡¡¡¡¡¤Ê¤ê¤Þ¤¹¡£


¡Ê£²¡Ë°ÌÁêɽ¼¨¤Ï¡¢¤Ê¤Ë¤«¼þÇÈ¿ô¤Îʸ»ú¤Î¾å¤¬É½¼¨¤µ¤ì¤Æ
¡¡¡¡¡¡¤Þ¤»¤ó¡£
¡¡¡¡¡¡»ä¤Î¡¡¥Ð¡¼¥¸¥ç¥ó¤Ï¡¢VER 5.02¡¡¤Ç¤¹¤¬¡¢
¡¡¡¡¡¡ºÇ¿·¤ÏVER 7.2.8 ¤Î¤è¤¦¤Ç¤¹¡£
¡¡¡¡¡¡¤³¤ì¤¬¸¶°ø¤Ç¤·¤ç¤¦¤«¡£
¡¡¡¡¡¡»ä¤Ï¡¢¥Ï¡¼¥É¥Ç¥¹¥¯¤Î¡Ö£Ä¡×¤ËËܡ֥֥롼¥Ð¥Ã¥¯¥¹¡×
¡¡¡¡¡¡¤ËźÉդΣãġ¡ROM ¤ò»Ø¼¨¤Ë½¾¤¤Å¸³«¤·¤¿¤Î¤Ç¤¹¤¬¡¢
¡¡¡¡¡¡¥¤¥ó¥¿¡¼¥Í¥Ã¥È¾å¤Î¡Ö¡Ê²¾¾Î¡Ë10¿ÊBASIC¡×¤Ë¤¢¤ë
¡¡¡¡¡¡VER 7.2.8 ¤Î¤ò¡¢¤½¤Î¤Þ¤ÞƱ¤¸¡Ö¥Õ¥©¥ë¥À¡¼¡×¤Ë
¡¡¡¡¡¡¥³¥Ô¡¼¡ÖŸ³«¡©¡Ñ¤·¤¿¤éÂÌÌܤǤ·¤ç¤¦¤«¡£
¡¡¡¡¡¡Á°¤ÎVER 5.02 ¤Ï¡¢¤³¤ÎËܤΥµ¥ó¥×¥ë¤â°ì½ï¤Ë
¡¡¡¡¡¡Æþ¤Ã¤Æ¤ë¤Î¤Ç¤É¤³¤Þ¤Ç¤¬VER 5.02 ËÜÂΤʤΤ«
¡¡¡¡¡¡Ê¬¤é¤ºVER 5.02 ¤À¤±¾Ã¤¹¤Î¤Ïº¤Æñ¤Ê¤Î¤Ç¤¹¡£

¡¡¡¡¡¡VER 5.02¤òVER 7.2.8 ¤Ç¾å½ñ¤­¤¹¤ë¤Î¤Ï¤É¤¦
¡¡¡¡¡¡¤¹¤ë¤Î¤Ç¤¹¤«¡£

¡Ê£³¡ËÆÍÁ³¤Ç¤¹¤¬¡¢Æ±¤¸¹Ô¿ô¤ÈÎó¿ô¤ÎMAT¤Ë¤Ï¡¢
       ¸ÇÍ­ÃÍÀ®¤ë¤â¤Î¤¬¡¢¤¢¤ë¤½¤¦¤Ç¤¹¤¬¡¢
¡¡¡¡¡¡¤³¤Î
 

¼þÇÈ¿ôÆÃÀ­¡¡Â³¤­¡¡Âç·§

 Åê¹Æ¼Ô¡§Âç·§¡¡Àµ  Åê¹ÆÆü¡§2008ǯ11·î27Æü(ÌÚ)15»þ55ʬ50ÉÃ
ÊÖ¿®¡¦°úÍÑ
  »³Ãæ¡¡ÍÍ¡¡¡¡Âç·§¤Ç¤¹¡£
³Îǧ¤Î¤Ä¤â¤ê¤¬´Ö°ã¤Ã¤ÆÅê¹Æ¤ò²¡¤·¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£



¡Ê£³¡ËÆÍÁ³¤Ç¤¹¤¬¡¢Æ±¤¸¹Ô¿ô¤ÈÎó¿ô¤ÎMAT¤Ë¤Ï¡¢
       ¸ÇÍ­Ãͤʤë¤â¤Î¤¬¡¢¤¢¤ë¤½¤¦¤Ç¤¹¤¬¡¢
¡¡¡¡¡¡ ¤³¤ÎÌ¿Îá¸ì¤ÏñÆÈ¤Çºß¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£
¡¡¡¡¡¡¤Þ¤¿¤Ï¡¢º¡¤ì¤ò²ò¤¤¤ÆÉ½¼¨¤¹¤ë¥×¥í¥°¥é¥à
¡¡¡¡¡¡¤¬¤¢¤ì¤Ð¸æ¶µ¤¨¤¯¤À¤µ¤¤¡£



¡¡·É¶ñ
 

¥ê¥é¥Ã¥¯¥¹

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ11·î27Æü(ÌÚ)19»þ09ʬ8ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  !£´¤Ä¤Î¿¶¤ê»Ò¡ÊºÆÅê¹Æ ¼º¤ï¤ì¤¿¥í¥°¡Ë

!£²½Å¿¶»ÒChaos
LET g= 9.8 !m/s^2
LET m1=0.1 !kg
LET m2=0.1 !kg
LET L1= 5 !m
LET L2= 5 !m
!
LET dt=0.05 !sec. ±é»»¥Ô¥Ã¥Á¡£
!
LET ¦Ì2=m2/(m1+m2)
LET L21=L2/L1
DEF ss1(w2,¦È1,¦È2)=-g/L1*SIN(¦È1) -¦Ì2*L21*w2^2*SIN(¦È1-¦È2)
DEF ss2(w1,¦È1,¦È2)=-g/L2*SIN(¦È2) +w1^2*SIN(¦È1-¦È2)/L21
DEF D(¦È1,¦È2)=1-¦Ì2*COS(¦È1-¦È2)^2
DEF ¦Á1(w1,w2,¦È1,¦È2)=( ss1(w2,¦È1,¦È2) -L21*¦Ì2*COS(¦È1-¦È2)*ss2(w1,¦È1,¦È2) )/D(¦È1,¦È2)
DEF ¦Á2(w1,w2,¦È1,¦È2)=(-ss1(w2,¦È1,¦È2)*COS(¦È1-¦È2)/L21 +ss2(w1,¦È1,¦È2) )/D(¦È1,¦È2)

SUB RK(¦È1,¦È2,w1,w2)
   LET w11=w1
   LET w12=w2
   LET ¦Á11=¦Á1(w1,w2,¦È1,¦È2)
   LET ¦Á12=¦Á2(w1,w2,¦È1,¦È2)
   !
   LET w21=w1+¦Á11*dt/2
   LET w22=w2+¦Á12*dt/2
   LET ¦Á21=¦Á1(w21,w22,¦È1+w11*dt/2,¦È2+w12*dt/2)
   LET ¦Á22=¦Á2(w21,w22,¦È1+w11*dt/2,¦È2+w12*dt/2)
   !
   LET w31=w1+¦Á21*dt/2
   LET w32=w2+¦Á22*dt/2
   LET ¦Á31=¦Á1(w31,w32,¦È1+w21*dt/2,¦È2+w22*dt/2)
   LET ¦Á32=¦Á2(w31,w32,¦È1+w21*dt/2,¦È2+w22*dt/2)
   !
   LET w41=w1+¦Á31*dt
   LET w42=w2+¦Á32*dt
   LET ¦Á41=¦Á1(w41,w42,¦È1+w31*dt,¦È2+w32*dt)
   LET ¦Á42=¦Á2(w41,w42,¦È1+w31*dt,¦È2+w32*dt)
   !
   LET ¦È1=¦È1+(w11+2*w21+2*w31+w41)*dt/6
   LET ¦È2=¦È2+(w12+2*w22+2*w32+w42)*dt/6
   LET w1=w1+(¦Á11+2*¦Á21+2*¦Á31+¦Á41)*dt/6
   LET w2=w2+(¦Á12+2*¦Á22+2*¦Á32+¦Á42)*dt/6
END SUB

!----init.
LET a_1=PI*0.8 !½é´ü³ÑÅÙ£±
LET a_2=PI*0.9 !¡¡¡¡¡Á¡¡£²
LET a_3=0 !¡¡½é´ü³Ñ®ÅÙ£±
LET a_4=0 !¡¡¡¡¡¡¡¡¡Á¡¡£²
!
LET b_1=-a_1+0.001
LET b_2=-a_2
LET b_3=0
LET b_4=0
!
LET c_1=a_1
LET c_2=a_2+0.002
LET c_3=0
LET c_4=0
!
LET d_1=-a_1
LET d_2=-a_2+0.003
LET d_3=0
LET d_4=0
!
!----run
LET w=14
SET WINDOW -w,w,-w,w
SET LINE width 2 !4
SET LINE COLOR 2 !43
LET r1=SQR(m1)
LET r2=SQR(m2)
LET t0=TIME
DO
   LET t=TIME
   IF dt=< ABS(t-t0) THEN
      SET DRAW mode hidden
      CLEAR
      PLOT TEXT,AT 0.25*w,0.9*w:"¥Þ¥¦¥¹ ±¦¥Ü¥¿¥ó¤Ç¡¢½ªÎ»¡£"
      PLOT TEXT,AT -0.98*w,0.93*w,USING"±é»»¥Ô¥Ã¥Á=#.### ÉÃ":dt
      PLOT TEXT,AT -0.98*w,0.87*w,USING"ÉÁ²è¥Ô¥Ã¥Á=#.### ÉÃ":t-t0
      LET t0=t
      SET AREA COLOR 15
      DRAW disk WITH SCALE(3.86,4.67)
      SET AREA COLOR 1
      DRAW PDL1X2(a_1,a_2) WITH ROTATE(a_1)*SHIFT(-3,3)
      DRAW PDL1X2(b_1,b_2) WITH ROTATE(b_1)*SHIFT(3,3)
      DRAW PDL1X2(c_1,c_2) WITH ROTATE(c_1)*SHIFT(-3,-3)
      DRAW PDL1X2(d_1,d_2) WITH ROTATE(d_1)*SHIFT(3,-3)
      CALL RK(a_1,a_2,a_3,a_4)
      CALL RK(b_1,b_2,b_3,b_4)
      CALL RK(c_1,c_2,c_3,c_4)
      CALL RK(d_1,d_2,d_3,d_4)
      SET DRAW mode explicit
   END IF
   WAIT DELAY 0 !¥Î¡¼¥È¥Ñ¥½¥³¥óÅù¤Î¾ÃÈñÅÅÎϤò²¡¤¨¤ë¡£
   MOUSE POLL mx,my,mlb,mrb
LOOP UNTIL mrb=1

PICTURE PDL1X2(¦È1,¦È2)
   DRAW circle WITH SCALE(0.3)
   DRAW PDLM(L1,r1)
   DRAW PDLM(L2,r2) WITH ROTATE(¦È2-¦È1)*SHIFT(0,-L1)
END PICTURE

PICTURE PDLM(L,r)
   PLOT LINES: 0,0;0,-L
   DRAW disk WITH SCALE(r)*SHIFT(0,-L)
END PICTURE

END
 

Re: ¥ê¥é¥Ã¥¯¥¹

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î27Æü(ÌÚ)19»þ35ʬ53ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.125[¸µµ­»ö¤Ø]

SECOND¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

Á°²ó¤Î¸ÅÂåÀ¸Êª¤È¤¤¤¤¡¢º£²ó¤Î¤â¤Î¤È¤¤¤¤ÂçÊÑÌÌÇò¤¯Í·¤Ó¿´ËþºÜ¤Ç¤¹¡£
SECOND¤µ¤ó¤¬ºî¤é¤ì¤¿ºîÉʤò¤É¤ó¤É¤ó¥¢¥Ã¥×¤·¤Æ¾Ò²ð¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ó¤Ê¤³¤È¤¬¥×¥í¥°¥é¥à¤òÁȤळ¤È¤Ç²Äǽ¤Ê¤ó¤À¤È¤¤¤Ä¤â¶Ã¤«¤µ¤ì¤Þ¤¹¡£
¤ª»Å»ö¤Ï¥×¥í¥°¥é¥Þ¡¼¤Ê¤ó¤Ç¤¹¤«¡©
 

Re: ¼þÇÈ¿ô¥×¥í¥°¥é¥à

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î27Æü(ÌÚ)19»þ37ʬ25ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.123[¸µµ­»ö¤Ø]

Âç·§¡¡Àµ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£


> ¡Ê£±¡ËºÇ¸å¤Î£Ä£Âɽ¼¨¤Î¡ô£³¤È°ÌÁêɽ¼¨¤Î¡ô£²¤Î¥°¥é¥Õ¤ò°ì½ï¤Ëɽ¼¨¤·¤¿¤¤¤Î¤Ç¤¹¤¬¡¢


½Ä¼´¤ÎÌÜÀ¹¤ê¤¬°ã¤¦¤Î¤Ç¡¢Ä´À°¤¬É¬Íפ«¤È»×¤¤¤Þ¤¹¡£È¾¸ÇÄê¤Çɽ¼¨¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤Þ¤·¤¿¡£

Îã.

¸åȾ¤Î¥°¥é¥ÕÉÁ²è¤ÎÉôʬ
!SET bitmap SIZE 600,600 !²èÌ̤òÂ礭¤¯¤¹¤ë
SET WINDOW -0.5,6.5, -50,5 !ɽ¼¨Îΰè
DRAW grid(1,5) !º¸Ã¼¤ÎÌÜÀ¹¤ê

FOR f=1 TO 6 !£ø¼´¤¬Âпô
   PLOT TEXT ,AT f-0.3,-0.15: mid$("10  100 1k  10k 100k1M  ",4*(f-1)+1,4)
NEXT f

FOR f=10 TO 100000 STEP 100 !¼þÇÈ¿ô[Hz]
   CALL routine
   LET vv=vo(1)/vi(1)
   PLOT LINES: LOG10(f),20*LOG10(ABS(vv)); !ÍøÆÀ[dB]
NEXT f
PLOT LINES


SET TEXT COLOR 2
FOR i=5 TO -45 STEP -5 !±¦Ã¼¤Î½Ä¼´ÌÜÀ¹¤ê
   PLOT TEXT ,AT 6,i: STR$(i*2)&"¡ë"
NEXT i

SET LINE COLOR 2
FOR f=10 TO 100000 STEP 100 !¼þÇÈ¿ô[Hz]
   CALL routine
   LET vv=vo(1)/vi(1)
   PLOT LINES: LOG10(f),DEG(ATN(Im(vv)/Re(vv)))/2; !°ÌÁê¦È¡¡¢¨1/2ÇÜ
NEXT f
PLOT LINES


END


> ¡Ê£²¡Ë°ÌÁêɽ¼¨¤Ï¡¢¤Ê¤Ë¤«¼þÇÈ¿ô¤Îʸ»ú¤Î¾å¤¬É½¼¨¤µ¤ì¤Æ¤Þ¤»¤ó¡£


¼þÇÈ¿ô¤Î¥°¥é¥Õ¤Ï¡¢ÌÜÀ¹¤ê¤¬£±ÅÙ¤º¤Ä¶¹¤¤¤È¤³¤í¤Ë½Å¤Í½ñ¤­¤µ¤ì¤Æ²òÆÉ¤Ç¤­¤Ê¤¤¾õÂ֤ˤʤê¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢£³£°ÅÙ¤º¤Ä´Ö³Ö¤Î»ØÄê¤â¤Ç¤­¤Þ¤¹¤¬¡¢º£²ó¤Ï¤·¤Æ¤¤¤Þ¤»¤ó¡£¡Ê¼êÈ´¤­¤Ç¤¹¡Ë


> ¡¡¡¡¡¡VER 5.02¤òVER 7.2.8 ¤Ç¾å½ñ¤­¤¹¤ë¤Î¤Ï¤É¤¦¤¹¤ë¤Î¤Ç¤¹¤«¡£


¡¦BASICËÜÂΤΥե©¥ë¥À D:\BASIC32w Á´ÂΤǤ¹¡£¤³¤ì¤ò¥¨¥¯¥¹¥×¥í¡¼¥é¤Çºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¦¤½¤Î¸å¡¢¥À¥¦¥ó¥í¡¼¥É¤·¤¿¿·¤·¤¤BASIC¤ò¤³¤Î¥Õ¥©¥ë¥À¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£
¡¦ËܤΥµ¥ó¥×¥ë¥×¥í¥°¥é¥à¡¢¤¿¤Ö¤óÊ̤Υե©¥ë¥À¤Ë¤Þ¤È¤á¤é¤ì¤Æ¤¤¤ë¤È»×¤¤¤Þ¤¹¤Î¤Ç¡¢
¡¡BASICËÜÂΤò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¸å¡¢¡ÊBASICËÜÂΤȤÏÊ̤Υե©¥ë¥À¤Ë¡Ë¥³¥Ô¡¼¤¹¤ì¤Ð¤¤¤¤¤È»×¤¤¤Þ¤¹¡£
¡¡¢¨BASICËÜÂΤˤ⤫¤Ê¤ê¤Î¥µ¥ó¥×¥ë¤¬ÅºÉÕ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£


> ¡Ê£³¡ËÆÍÁ³¤Ç¤¹¤¬¡¢Æ±¤¸¹Ô¿ô¤ÈÎó¿ô¤ÎMAT¤Ë¤Ï¡¢¸ÇÍ­Ãͤʤë¤â¤Î¤¬¡¢¤¢¤ë¤½¤¦¤Ç¤¹¤¬¡¢
> ¡¡¡¡¡¡¤³¤ÎÌ¿Îá¸ì¤ÏñÆÈ¤Çºß¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£
> ¡¡¡¡¡¡¤Þ¤¿¤Ï¡¢º¡¤ì¤ò²ò¤¤¤ÆÉ½¼¨¤¹¤ë¥×¥í¥°¥é¥à¤¬¤¢¤ì¤Ð¸æ¶µ¤¨¤¯¤À¤µ¤¤¡£


Ì¿Îá¸ì¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥×¥í¥°¥é¥à¤ò¤Ä¤¯¤Ã¤Æµá¤á¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£


BASIC VER5.02ËÜÂÎ
 

Re: ¥ê¥é¥Ã¥¯¥¹

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ11·î27Æü(ÌÚ)20»þ05ʬ43ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.126[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

¤´¤á¤ó¤Ê¤µ¤¤.¤â¤¦¼ïÀÚ¤ì¤Ç¤¹¡£(^ ^; ¥×¥í¥°¥é¥Þ¡¼¤Ç¤â¤Ê¤ó¤Ç¤â¤¢¤ê¤Þ¤»¤ó¡£

¤³¤ì¤é¤Ï¡¢Á´¤Æ¡¢¿ô³Ø¤ÎÀè¿Í¤¿¤Á¤¬¡¢»Ä¤·¤Æ¤¯¤ì¤¿°ä»º¤Ç¤¹¡£
¤Í¤à¤¯¤Ê¤ë¤è¤¦¤Ê¿ôÍýŪ¤ÊÀ¤³¦¤ò¡¢³Ú¤·¤¯¤Ç¤­¤ì¤Ð¡¢¤Ê¤Ë¤è¤ê¤Ç¤¹¡£
 

º¤ÏÇ¡©

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î28Æü(¶â)10»þ18ʬ16ÉÃ
ÊÖ¿®¡¦°úÍÑ
  º£¤Þ¤Ç²¿»ö¤â¤Ê¤¯Î©¤Á¾å¤¬¤Ã¤Æ¤¤¤¿½½¿Ê£Â£Á£Ó£É£Ã¤Î²èÌ̤¬¡¢ÆÍÁ³²¼¤Î¥¿¥¹¥¯¥Ð¡¼¤Ë¤ÏÆþ¤ê¹þ¤à¤Î¤Ç¤¹¤¬¡¢¥×¥í¥°¥é¥à¤òޤêÉÕ¤±¤ë²èÌ̤¬¹­¤¬¤é¤º¡Ê¥Æ¥­¥¹¥È²èÌ̤ȥ°¥é¥Õ¥£¥Ã¥¯²èÌ̤Ϲ­¤¬¤ë¡£¡Ë¥³¥Ô¡¼¤·¤¿¥×¥í¥°¥é¥à¤òư¤«¤½¤¦¤È¤·¤Æ¤âư¤«¤»¤Ê¤¤¾õÂ֤ˤʤäƤ·¤Þ¤¤¤Þ¤·¤¿¡£
¤É¤¦¤ä¤Ã¤Æ¸µ¤Î¾õÂ֤˽ÐÍè¤ë¤Î¤«²ò¤é¤º¤Ë¤¤¤Þ¤¹¡£
¤Á¤Ê¤ß¤Ë°ìÅÙÁ´¤Æ¤òºï½ü¤·¤Æ¡¢¤â¤¦°ìÅÙ¥¤¥ó¥¹¥È¥¥¡¼¥ë¤ò·«¤êÊÖ¤·¤Þ¤·¤¿¤¬¡¢·ë²Ì¤ÏƱ¤¸¤Ç¤·¤¿¡£
²ò·èÊýË¡¤¬¤¢¤ê¤Þ¤·¤¿¤é¤è¤í¤·¤¯¤´¶µ¼ø²¼¤µ¤¤¡£
¤Ê¤ª£ï£ó¤ÏWINDOW xp ¤Ç¤¹¡£
 

Re: º¤ÏÇ¡©

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î28Æü(¶â)10»þ56ʬ15ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.129[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

Windows Me¤Ç¤ÎÏäǤ¹¤¬¡¢
¡¦Â¾¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÈÊ»ÍÑ¡ÊÆ±»þ¡¢¤½¤Î¸å¤â´Þ¤à¡Ë¤¹¤ë¤È¤³¤Î¸½¾Ý¡ÊƱ¤¸¡©¡Ë¤¬µ¯¤³¤ê¤Þ¤¹¡£
¡¡½½¿ÊBASIC¤Ç¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¤È¥ê¥½¡¼¥¹¥á¥â¥ê¡Ê¼ÂÁõ¥á¥â¥ê¤È¤Ï°ã¤¦¡Ë¤ò¾ÃÈñ¤·¤Æ¤¤¤ë¤ß¤¿¤¤¤Ç¤¹¡£
¡¡¤³¤Î¥ê¥½¡¼¥¹ÉÔ­¾õÂÖ¤ÇȯÀ¸¤·¤ä¤¹¤¤¤Ç¤¹¡£¤Þ¤¿¡¢µ¯Æ°¤â¤Ç¤­¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
¡¡Îã. ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥¨¥¯¥¹¥×¥í¡¼¥é¤ÇPDF¥Õ¥¡¥¤¥ë¤ò±ÜÍ÷¤·¤Ê¤¬¤é¡¢¥×¥í¥°¥é¥à¤¹¤ë¡£

Âнè
¡¦OS¡Ê¥Ñ¥½¥³¥ó¡Ë¤òºÆµ¯Æ°¤·¤Æ¡¢Ê»ÍѤ·¤Ê¤¤¡£
 

¼þÇÈ¿ô¥×¥í¥°¥é¥à ¤½¤Î¾

 Åê¹Æ¼Ô¡§Âç·§¡¡Àµ  Åê¹ÆÆü¡§2008ǯ11·î28Æü(¶â)13»þ40ʬ34ÉÃ
ÊÖ¿®¡¦°úÍÑ
  »³Ãæ¡¡ÍÍ¡¡¡¡¡¡Âç·§¤Ç¤¹¡£

¡Ê£±¡Ë¿¶Éý¤È°ÌÁê¤ÎƱ»þɽ¼¨¤ÎÄÉ²Ã¥×¥í¥°¥é¥à¤òÍ­Æñ¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£
¡¡¡¡¡¡Ä¾¤°¼Â»Ü¤·¤¿¤é¡¢¾å¼ê¤¯Æ°¤­¤Þ¤·¤¿¡£
¡Ê£²¡Ëver ¤ÎÊѹ¹¤Î·ï¤Ç¤¹¤¬¡¢

¡¡¡¡¡¡BASIC VER5.02ËÜÂÎ
¡¡¡¡¤È¤¢¤ë35¤Î¥Õ¥¡¥¤¥ëÁí¤Æ¤ò¡¢°ì¤Ä¤Å¤Ä¾Ã¤¹¤Î¤Ç¤·¤ç¤¦¤«¡¢

¡¡¡¡¡¡¾Ã¤¹¾ì¹ç¡Ö¤´¤ßÈ¢¡×¤ÏÂÌÌܤȤ­¤¤¤Æ¤¤¤Þ¤·¤¿¤¬¡¢
¡¡¡¡¡¡¡Ö¥¨¥¯¥¹¥×¥í¡¼¥é¡¼¡×¤Ï¤É¤³¤Ë¤¢¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£

¡Ê£³¡Ëver5.02¤Î¤¢¤ë¡¢¥Õ¥¡¥¤¥ë¥Û¥ë¥À¡¼¤«¤é
¡¡¡¡¡¡¡Ö¥¨¥¯¥¹¥×¥í¡¼¥é¡¼¡×¤Ç°ì¤Ä¤Å¤Ä35¸Ä¤Î¥Õ¥¡¥¤¥ë
¡¡¡¡¡¡¤ò¾Ã¤·¤Æ¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Ë¤¢¤ë¡¡ver7.2.8¤ò
¡¡¡¡¡¡»ØÄꡢŸ³«À褬¡¢¸µ¤Îver5.02¤Î¤¢¤ë¡¢
¡¡¡¡¡¡¥Õ¥¡¥¤¥ë¥Û¥ë¥À¡¼¤ÈÍý²ò¤·¤Æµ¹¤·¤¤¤Ç¤¹¤«¡£
¡Ê£´¡Ë¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Î¡Ö²¾¾Î10¿Êbasic]¤Ç¤Ï¡¢
¡¡¡¡¡¡£²¤Ä¤Î¥×¥í¥°¥é¥à¤¬¡Ö¡¦¡¦¡¦¤Î¾ì¹ç¤Ï¡¢¤³¤Á¤é¡¦¡¦¡×
¡¡¡¡¡¡¤È½ñ¤¤¤Æ¤¢¤ê¤Þ¤¹¤¬¡¢¥Ï¡¼¥É¥Ç¥¹¥¯¤Î¡Ö£Ä¡×¤Ç¤Ï¡¢
¡¡¡¡¡¡²¼¤ÎÆóÈÖÌܤǤ·¤ç¤¦¤«¡£

·É¶ñ¡£
 

Re: ¼þÇÈ¿ô¥×¥í¥°¥é¥à ¤½¤Î¾

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î28Æü(¶â)14»þ40ʬ32ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.131[¸µµ­»ö¤Ø]

Âç·§¡¡Àµ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¡¡¡¡¡¡BASIC VER5.02ËÜÂÎ
>  ¡¡¡¡¤È¤¢¤ë35¤Î¥Õ¥¡¥¤¥ëÁí¤Æ¤ò¡¢°ì¤Ä¤Å¤Ä¾Ã¤¹¤Î¤Ç¤·¤ç¤¦¤«¡¢
>


£±¤Ä¤º¤Äºï½ü¤·¤Æ¤¤¤¯¤Î¤¬ÌµÆñ¤Ç¤·¤ç¤¦¡£
¤Þ¤È¤á¤Æ¤Î¥Õ¥¡¥¤¥ëºï½ü¤Ï¤¤¤í¤¤¤í¤Ê¤ä¤êÊý¤¬¤¢¤ê¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢¥É¥é¥°¡¢Shift¤äCtrl¥­¡¼²¡¤·¤Ê¤¬¤é¤ò¥¯¥ê¥Ã¥¯¤Ç¤ÎÈϰϻØÄê¤Ê¤É¡£

5.02¤¬Æþ¤Ã¤Æ¤¤¤ë¥Õ¥©¥ë¥À¤Ë¡¢¼«ºî¤Ê¤É¤Î¥Õ¥¡¥¤¥ë¤¬¤Ê¤±¤ì¤Ð¡¢¤½¤Î¥Õ¥©¥ë¥À¤ò¤Þ¤ë¤´¤Èºï½ü¤·¤Æ¤âÎɤ¤¤Ç¤¹¡£
¡ÊÆþ¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤Æ¸å¤Ç¸µ¤Ë¤â¤É¤»¤ÐÎɤ¤¤À¤±¤Ç¤¹¤¬¡¢¡¢¡¢¡Ë


> ¡¡¡¡¡¡¾Ã¤¹¾ì¹ç¡Ö¤´¤ßÈ¢¡×¤ÏÂÌÌܤȤ­¤¤¤Æ¤¤¤Þ¤·¤¿¤¬¡¢
>

ºï½ü¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ê¤É¤Ï°ìü¤´¤ßÈ¢¤ËÆþ¤ë¤È»×¤¤¤Þ¤¹¤¬¡¢¸å¤Ç¤´¤ßÈ¢¤ò¶õ¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£


> ¡¡¡¡¡¡¡Ö¥¨¥¯¥¹¥×¥í¡¼¥é¡¼¡×¤Ï¤É¤³¤Ë¤¢¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£
>

¥Ç¥¹¥È¥Ã¥×¾å¤Î¡Ö¥Þ¥¤¥³¥ó¥Ô¥å¡¼¥¿¡×¡Ê¥³¥ó¥Ô¥å¡¼¥¿¤Î¥¢¥¤¥³¥ó¡Ë¤ò±¦¥¯¥ê¥Ã¥¯¤·¤ÆÉ½¼¨¤µ¤ì¤ë¥á¥Ë¥å¡¼¤Ë¤¢¤ê¤Þ¤¹¡£
¥¨¥¯¥¹¥×¥í¡¼¥é¤Î²èÌ̤ϡ¢¥Þ¥¤¥³¥ó¥Ô¥å¡¼¥¿¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¡Ê¥·¥ó¥°¥ë¥¯¥ê¥Ã¥¯ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤â¤¢¤ë¡Ë
¤·¤ÆÉ½¼¨¤µ¤ì¤ë²èÌ̡ʥե¡¥¤¥ë¡¢¥Õ¥©¥ë¥À¤Ê¤É¤Î°ìÍ÷¤ò¸«¤ë²èÌ̡ˤΤ³¤È¤Ç¤¹¡£


> ¡Ê£³¡Ëver5.02¤Î¤¢¤ë¡¢¥Õ¥¡¥¤¥ë¥Û¥ë¥À¡¼¤«¤é
> ¡¡¡¡¡¡¡Ö¥¨¥¯¥¹¥×¥í¡¼¥é¡¼¡×¤Ç°ì¤Ä¤Å¤Ä35¸Ä¤Î¥Õ¥¡¥¤¥ë
> ¡¡¡¡¡¡¤ò¾Ã¤·¤Æ¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Ë¤¢¤ë¡¡ver7.2.8¤ò
> ¡¡¡¡¡¡»ØÄꡢŸ³«À褬¡¢¸µ¤Îver5.02¤Î¤¢¤ë¡¢
> ¡¡¡¡¡¡¥Õ¥¡¥¤¥ë¥Û¥ë¥À¡¼¤ÈÍý²ò¤·¤Æµ¹¤·¤¤¤Ç¤¹¤«¡£

¤Ï¤¤¡£


> ¡Ê£´¡Ë¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Î¡Ö²¾¾Î10¿Êbasic]¤Ç¤Ï¡¢
> ¡¡¡¡¡¡£²¤Ä¤Î¥×¥í¥°¥é¥à¤¬¡Ö¡¦¡¦¡¦¤Î¾ì¹ç¤Ï¡¢¤³¤Á¤é¡¦¡¦¡×
> ¡¡¡¡¡¡¤È½ñ¤¤¤Æ¤¢¤ê¤Þ¤¹¤¬¡¢¥Ï¡¼¥É¥Ç¥¹¥¯¤Î¡Ö£Ä¡×¤Ç¤Ï¡¢
> ¡¡¡¡¡¡²¼¤ÎÆóÈÖÌܤǤ·¤ç¤¦¤«¡£
>


¾å¤Î¡ÖWindows95/98/Me/NT4.0/2000/XP/Vista¡¡¥¤¥ó¥¹¥È¡¼¥éÈǡפÎÊý¤¬Îɤ¤¤È»×¤¤¤Þ¤¹¡£

ZIP¥Õ¥¡¥¤¥ë¤Î²òÅब²Äǽ¤Ê¤é¡¢²¼¤Î¡ÖWindows95/98/Me/NT4.0/2000/XP/Vista¡¡¥¢¡¼¥«¥¤¥ÖÈǡפǤâÂç¾æÉפǤ¹¡£
 

Re: ¼þÇÈ¿ôÆÃÀ­¡¡Â³¤­¡¡Âç·§

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î28Æü(¶â)20»þ05ʬ5ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.124[¸µµ­»ö¤Ø]

Âç·§¡¡Àµ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¡Ê£³¡ËÆÍÁ³¤Ç¤¹¤¬¡¢Æ±¤¸¹Ô¿ô¤ÈÎó¿ô¤ÎMAT¤Ë¤Ï¡¢¸ÇÍ­Ãͤʤë¤â¤Î¤¬¡¢¤¢¤ë¤½¤¦¤Ç¤¹¤¬¡¢
>¡¡¡¡¡¡¡¡Î¬
> ¡¡¡¡¡¡¤Þ¤¿¤Ï¡¢º¡¤ì¤ò²ò¤¤¤ÆÉ½¼¨¤¹¤ë¥×¥í¥°¥é¥à¤¬¤¢¤ì¤Ð¸æ¶µ¤¨¤¯¤À¤µ¤¤¡£

!ľÀÜË¡¤Ë¤è¤ë¹ÔÎó¤Î¸ÇÍ­Ãͤòµá¤á¤ë

OPTION ARITHMETIC COMPLEX

LET i=SQR(-1) !µõ¿ôñ°Ì

LET cEps=1e-8 !¸íº¹¡¡¢¨Ã±ÀºÅÙ


LET N=3 !N¼¡ÀµÊý¹ÔÎó

FUNCTION tr(A(,)) !¹ÔÎóA¤Î¥È¥ì¡¼¥¹
   LET t=0
   FOR j=1 TO N
      LET t=t+A(j,j)
   NEXT j
   LET tr=t
END FUNCTION


DIM c(N) !¿¹à¼° X^N+c(1)*X^(N-1)+c(2)*X^(N-2)+ ¡Ä +c(N-1)*X+c(N) ¤Î·¸¿ô
SUB DKA_00(A(),Xr()) !DKAË¡¡ÊDurand Kerner Aberth¡Ë
   LET r=1 !½é´üÃͤò²¾Äꤹ¤ë
   FOR j=2 TO N
      LET rn=ABS(A(j))^(1/j)
      if r<rn then LET r=rn
   NEXT j
   FOR j=1 TO N !Ⱦ·Âr¤Î±ß¤ËÅù´Ö³Ö¤ËÇÛÃÖ¤¹¤ë
      LET Xr(j)=-A(1)/N+r*EXP( 2*PI*i/N *(j-3/4) ) !¥¢¡¼¥Ð¥¹¤Î½é´üÃÍ
   NEXT j

   FOR m=0 TO 100 !È¿Éü¡¡¢¨Ä´À°Í×
      LET mfx=0
      LET maj=0
      FOR j=1 TO N
         LET Xk=1
         LET fx=1
         FOR w=1 TO N
            LET fx=fx*Xr(j)+A(w)
            IF w<>j THEN LET Xk=Xk*(Xr(j)-Xr(w))
         NEXT w
         LET Xr(j)=Xr(j)-fx/Xk
         IF mfx<ABS(fx) THEN LET mfx=ABS(fx)
         IF maj<ABS(fx/Xk) THEN LET maj=ABS(fx/Xk)
      NEXT j
      IF mfx<cEps AND maj<cEps THEN EXIT FOR !¼ý«¤·¤¿¤é
   NEXT m
END SUB
!-------------------- ¤³¤³¤Þ¤Ç¤¬¥µ¥Ö¥ë¡¼¥Á¥ó


DIM A(N,N) !¹ÔÎóA
!DATA 1,0,0 !¦Ë=1¡Ê£³½Åº¬¡Ë
!DATA 0,1,1
!DATA 0,0,1

!DATA 0,1,1 !¦Ë=2,-1¡Ê½Åº¬¡Ë
!DATA 1,0,1
!DATA 1,1,0

!DATA 3,0,0 !¦Ë=3,¡Þi
!DATA 0,2,-5
!DATA 0,1,-2

DATA 2,1,-1 !¦Ë=3,2,1
DATA 0,3,0
DATA 0,2,1

MAT READ A

MAT PRINT A;


!n¼¡ÀµÊý¹ÔÎóA¤Î¸Çͭ¿¹à¼° det(tE-A)=t^n+c1*t^(n-1)+ ¡Ä + cn ¤òµá¤á¤ë¡£
DIM X(N,N),cE(N,N)
MAT X=IDN !frameˡ
FOR k=1 TO N
   MAT X=A*X
   LET c(k)=-tr(X)/k
   MAT cE=(c(k))*IDN
   MAT X=X+cE
NEXT k
MAT PRINT c;

!¥Ë¥å¡¼¥È¥óË¡¤Ê¤É¤Ç²ò¤¯¡£²ò¤¬¸ÇÍ­Ãͤˤʤ롣
DIM lmd(N)
CALL DKA_00(c,lmd)

FOR k=1 TO N
   PRINT "¸ÇÍ­ÃÍ=";lmd(k)
NEXT k



!¢¨N¸Äµá¤Þ¤Ã¤¿¾ì¹ç¤Î¸¡»»
LET s=1
FOR k=1 TO N
   LET s=s*lmd(k)
NEXT k
PRINT s, DET(A) !¸ÇÍ­ÃͤÎÀÑ=¹ÔÎó¤Î¹ÔÎó¼°¡¡¦°¦Ëi=|A|

LET s=0
FOR k=1 TO N
   LET s=s+lmd(k)
NEXT k
PRINT s, tr(A) !¸ÇÍ­ÃͤÎÏÂ=¹ÔÎó¤Î¥È¥ì¡¼¥¹¡¡¦²¦Ëi=trA


END
 

¥Ð¡¼¥¸¥ç¥ó¥¢¥Ã¥×¤Î·ï

 Åê¹Æ¼Ô¡§Âç·§¡¡Àµ  Åê¹ÆÆü¡§2008ǯ11·î29Æü(ÅÚ)12»þ45ʬ44ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¡Ê£±¡Ë»³ÃæÍÍ¡¡Âç·§¤Ç¤¹¡£
¡¡¡¡¡¡¥Ð¡¼¥¸¥ç¥ó¥¢¥Ã¥×¤Ï¡¢¤ª°þÍͤǾå¼ê¤¯¹Ô¤­¤Þ¤·¤¿¡£
¡¡¡¡¡¡¸ÇÍ­Ãͤâ´Þ¤áº£¤Þ¤Ç¤Î¥½¥Õ¥È¤â½çÄ´¤Ëư¤­¤Þ¤·¤¿¡£
      Í­Æñ¤¦¤´¤¶¤¤¤Þ¤¹¡£

¡Ê£²¡ËSECONDÍÍ¡¡¤·¤À¤È¥¢¥ó¥â¥Ê¥¤¥È¤Î²è¤âåºÎï¤Ë½Ð¤Þ
      ¤·¤¿¡£
 

¥È¥é¥ó¥×¥Þ¥¸¥Ã¥¯¤ÎÁϺî

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î29Æü(ÅÚ)19»þ30ʬ52ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ½½¿ÊBASIC¤È¤Ï²¿¤Î´Ø·¸¤â¤¢¤ê¤Þ¤»¤ó¤¬¡¢
º£Æü°ìÆü¡¢¿ô³ØÅª¹½Â¤¤ò³è¤«¤»¤ë¥Þ¥¸¥Ã¥¯¤¬¤Ç¤­¤Ê¤¤¤«¤ÈÄ©À路¤Æ¤ß¤Æ¡¢¼¡¤Î¼ê½ç¤ò¹Í¤¨¤Þ¤·¤¿¤Î¤Ç¡¢À§Èó°ìÅ٥ȥé¥ó¥×¤ò¼ê¤Ë¤·¤Æ¤ä¤Ã¤Æ¤ß¤Æ²¼¤µ¤¤¡£

¡ö¥Ç¥Ã¥¯¤Î¥»¥Ã¥ÈÊýË¡¡Ê΢¸þ¤­¥È¥Ã¥×¤è¤ê¤Î½ç¡Ë
ÀÖ¥«¡¼¥É¡§£³¡¤£´¡¤£¸, J , K ¡Ê¥Þ¡¼¥¯¤Ï¤Ê¤ó¤Ç¤â¤è¤¤¡£¡Ë
¹õ¥«¡¼¥É¡§£²¡¤£³, £´¡¤£¶¡¤£¸, K¡ÊƱ¤¸¤¯¥Þ¡¼¥¯¤Ï¤Ê¤ó¤Ç¤â¤è¤¤¡£¡Ë
4Ëç¤ÎA¤ò¤Þ¤ºÈ´¤­½Ð¤·¤Æ¤ª¤­¡¢¥È¥Ã¥×¤«¤é¤ÎËç¿ôÌܤ˼¡¤Î¥«¡¼¥É¤òÇÛÃÖ¤·¤Æ¤¯¤À¤µ¤¤¡£

¡Ê΢¸þ¤­¥È¥Ã¥×¤«¤é¤ÎËç¿ôÌܤΥ«¡¼¥É¤ÎÇÛÃÖ¡§¡ü¥«¡¼¥É¤Ï¤Ê¤ó¤Ç¤â¤è¤¤¡£¡Ë
£±¡ü¡¡¡¡¡¡¡¡£±£±¡ü¡¡¡¡¡¡¡¡£²£±¥Ï¡¼¥ÈA¡¡¡¡£³£±¡ü¡¡¡¡¡¡¡¡ £´£±ÀÖ£´¡¡¡¡¡¡¡¡£µ£±ÀÖJ

£²¡ü¡¡¡¡¡¡¡¡£±£²¡ü¡¡¡¡¡¡¡¡£²£²¡ü¡¡¡¡ ¡¡¡¡£³£²¥¯¥é¥ÖA¡¡¡¡£´£²¡ü¡¡¡¡¡¡¡¡  £µ£²¡ü

£³¡ü¡¡¡¡¡¡¡¡£±£³¹õ£´¡¡¡¡¡¡£²£³¡ü¡¡ ¡¡¡¡¡¡£³£³¹õ£³   ¡¡¡¡£´£³¡ü

£´¡ü¡¡    ¡¡£±£´¥À¥¤¥¢A   £²£´¡ü¡¡¡¡   ¡¡£³£´¡ü¡¡   ¡¡¡¡£´£´¡ü

£µÀÖK   ¡¡¡¡£±£µ¡ü¡¡    ¡¡£²£µ¹õ£²   ¡¡¡¡£³£µ¡ü¡¡   ¡¡¡¡£´£µ¹õ£¶

£¶¡ü¡¡¡¡  ¡¡£±£¶¡ü    ¡¡¡¡£²£¶¡ü¡¡     ¡¡£³£¶¡ü¡¡   ¡¡¡¡£´£¶¡ü

£·¡ü¡¡  ¡¡¡¡£±£·¹õK   ¡¡¡¡£²£·¡ü     ¡¡¡¡£³£·¹õ£¸¡¡   ¡¡£´£·¡ü

£¸¡ü¡¡  ¡¡¡¡£±£¸¡ü    ¡¡¡¡£²£¸¡ü     ¡¡¡¡£³£¸¡ü¡¡     ¡¡£´£¸¡ü

£¹ÀÖ£¸  ¡¡¡¡£±£¹¡ü¡¡  ¡¡¡¡£²£¹ÀÖ£³ ¡¡¡¡¡¡£³£¹¡ü     ¡¡¡¡£´£¹¥¹¥Ú¡¼¥ÉA

£±£°¡ü¡¡  ¡¡£²£°¡ü    ¡¡¡¡£³£°¡ü   ¡¡¡¡¡¡£´£°¡ü     ¡¡¡¡£µ£°¡ü

¡Ê¤ä¤êÊý¡Ë
¤³¤Î¤è¤¦¤Ë¥»¥Ã¥È¤·¤¿¥Ñ¥±¥Ã¥È¤ò¤Ê¤Ë¤²¤Ë¥Æ¡¼¥Ö¥ë¤Ëɽ¸þ¤­¤Ë¥ê¥Ü¥ó¥¹¥×¥ì¥Ã¥É¤·¤Æ
ÉáÄ̤Υ«¡¼¥É¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£
½çÈÖ¤¬¶¸¤ï¤Ì¤è¤¦¤Ë½¸¤á¡¢Î¢¸þ¤­¤Ë¼ê¤Ë»ý¤Ä¡£
¤³¤³¤Ç°ìÅÙ¥Õ¥©¡¼¥ë¥¹¥«¥Ã¥È¡Ê½çÈ֤ϸµ¤Î¾õÂÖ¤ËÌá¤ë¤è¤¦¤Ë¤¹¤ë¡¢µ¶¤Î¥«¥Ã¥È¡Ë¤ò¤¹¤ë¡£
´ñ¿ôÈÖÌܤΥ«¡¼¥É¤ò¥¢¥Ã¥×¤¹¤ë¡Ê£±¡¤£³¡¤£µ¡¦¡¦¡¦ËçÌܤΥ«¡¼¥É¤ò¾å¤Ë¾¯¤·¤º¤é¤¹¡£¡Ë
¤³¤ì¤òºÇ¸å¤Þ¤Ç¥«¡¼¥É¤¬¸ß¤¤°ã¤¤¤Ë¤Ê¤ë¤Þ¤Ç·«¤êÊÖ¤·¡¢¾å¤Ë¾å¤²¤¿¥«¡¼¥É¤òÁ´¤ÆÈ´¤­½Ð¤·
¥Æ¡¼¥Ö¥ë¤Ë΢¸þ¤­¤Î¤Þ¤ÞÃÖ¤¯¡£¡Ê½çÈÖ¤¬Êø¤ì¤Ê¤¤¤è¤¦¤ËÃí°Õ¡£¡Ë¡ã¥ê¥Ð¡¼¥¹¥Õ¥§¥í¡¼¥·¥ã¥Ã¥Õ¥ë¤È¸Æ¤Ö¡£¡ä
¼ê¤Ë»Ä¤Ã¤¿¥Ñ¥±¥Ã¥È¤ÇºÆ¤ÓƱ¤¸¤è¤¦¤Ë¥ê¥Ð¡¼¥¹¥Õ¥§¥í¡¼¥·¥ã¥Ã¥Õ¥ë¤ò¤¹¤ë¡£
È´¤­½Ð¤·¤¿¥«¡¼¥É·²¤ÏÁ°¤Î¼è¤ê½Ð¤·¤Æ¥Æ¡¼¥Ö¥ë¤ËÃÖ¤¤¤Æ¤¤¤ë¾å¤Ë½Å¤Í¤Æ¤ª¤¯¡£
¤³¤ì¤ò·«¤êÊÖ¤¹¤È¼ê¸µ¤Ë¤Ï°ìËç¤Î¥«¡¼¥É¤¬»Ä¤ë¡£
¤³¤ì¤ò¥Æ¡¼¥Ö¥ë¤Ëɽ¸þ¤­¤Ë½Ð¤¹¤È¥¯¥é¥Ö¤ÎA¤¬¸½¤ì¤ë¡£
¼¡¤Ë¡¢¥Æ¡¼¥Ö¥ë¤Ë½Å¤Í¤Æ¤¤¤¿¥Ñ¥±¥Ã¥È¤òÂçÂÎȾʬ¤Ë¤Ê¤ë¤è¤¦¤ËµÒ¤Ëʬ¤±¤Æ¤â¤é¤¦¡£
¡ÊÀµ³Î¤ËȾʬ¤Ç¤Ê¤¯¤Æ¤è¤¯¡¢¾åȾʬ24Ëç¡Á27Ëç¤Þ¤Çµö¤µ¤ì¤ë¡£¡Ë
¾åȾʬ¤ò±é¼Ô¤¬¤â¤é¤¤¡¢µÒ¤Î¥Ñ¥±¥Ã¥È¤Î²¼È¾Ê¬¤ÎËç¿ô¤ò¿ô¤¨¤ë¿¶¤ê¤ò¤·¤Æ¥Ñ¥±¥Ã¥È¤Î¾å¤«¤é°ìË示¤Ä¥Æ¡¼¥Ö¥ë¤Ë¥«¥¦¥ó¥È¤·¤Ê¤¬¤é½ç½ø¤òµÕž¤µ¤»¤ë¡£
²¼È¾Ê¬¤ÎËç¿ô¤¬£²£·Ëç¡Á£²£´Ëç¤ËÆþ¤é¤Ê¤¤»þ¤Ï¡ÊËç¿ô¤¬¥ª¡¼¥Ð¡¼¤¹¤ë»þ¡Ë¡¢¥«¥¦¥ó¥È¤·½ª¤ï¤Ã¤¿µÒ¤Î¥Ñ¥±¥Ã¥È¤Î¥Ü¥È¥à¤«¤é¡¢±é¼Ô¤Î¥Ñ¥±¥Ã¥È¤Î¥Ü¥È¥à¤Ø¿ôËç¤ò²¿ µ¤¤Ë°Üư¤µ¤»¤ë¡£¤¢¤ë¤¤¤Ï¤½¤ÎµÕ¤Ë¾¯¤Ê¤¤¾ì¹ç¤Ï±é¼Ô¤Î¥Ñ¥±¥Ã¥È¤Î¥Ü¥È¥à¤«¤é¿ôËçÈ´¤­½Ð¤·¡¢¤½¤ì¤Î½ç½ø¤òµÕž¤·¤¿¿ôËç¤Î¥«¡¼¥É¤òµÒ¤Î¥Ñ¥±¥Ã¥È¤Î¥Ü¥È¥à¤ËÄɲà ¤·¤Æ¤ª¤¯¡£
¤¤¤º¤ì¤Ë¤·¤Æ¤â¡¢µÒ¤Î¥Ñ¥±¥Ã¥È¤ÎËç¿ô¤ò£²£·Ëç¡Á£²£´Ëç¤ÎÈϰϤËÄ´Àᤷ¤Æ¤ª¤¯¡£
Ä´À°¤·¤¿¥Ñ¥±¥Ã¥È¤òµÒ¤ËÅϤ¹¡£
±é¼Ô¤ÈµÒ¤Ï¤ª¸ß¤¤¤Î¥Ñ¥±¥Ã¥È¤òÁ°¤ÎÁàºî¤ÈƱÍͤ˥ê¥Ð¡¼¥¹¥Õ¥§¥í¡¼¥·¥ã¥Ã¥Õ¥ë¤ò¤·¤Æ¤¤¤¯¡£
¤½¤ì¤¾¤ì°ìË示¤Ä¤Î¥«¡¼¥É¤¬»Ä¤ë¤Î¤Ç¡¢¤½¤ì¤ò¥Æ¡¼¥Ö¥ë¤Ëɽ¸þ¤­¤Ë¤¹¤ë¡£
±é¼Ô¤Ï¥À¥¤¥¢¤ÎA¡¢µÒ¤Ï¥Ï¡¼¥È¤ÎA¤¬½Ð¸½¤¹¤ë¡£
¤³¤ì¤Ç¥Æ¡¼¥Ö¥ë¤Ë¤Ï£³Ëç¤ÎA¤¬Â·¤Ã¤¿¤Î¤Ç¡¢»Ä¤ê¤¬¥¹¥Ú¡¼¥É¤ÎA
¤³¤³¤ÇµÒ¤Ë£²¤Ä¤Î¥Ñ¥±¥Ã¥È¤Î¤¦¤Á¡¢±é¼Ô¤¬¼Î¤Æ¤Æ½Å¤Í¤Æ¤¤¤ë¥Ñ¥±¥Ã¥È¤«¡¢µÒ¤¬¼Î¤Æ¤¿Êý¤Î¥Ñ¥±¥Ã¥È¤«¤òÁªÂò¤µ¤»¤ë¡£¡Ê¤³¤³¤Ï¾¯¤·ÅÒ¤±¤Ç¤¢¤ë¤¬¡¢µÒ¤¬¼«Ê¬¤ÎÊý¤Î¥Ñ¥±¥Ã¥È¤òÁª¤Ö¤È¿´ÍýŪ¤Ë¤ß¤Æ¹½À®¤·¤Æ¤¤¤ë¡£¡Ë
¤³¤Á¤é¤Î»×ÏǤɤ¦¤ê¤ËµÒ¤¬¼«Ê¬¤Î¥Ñ¥±¥Ã¥È¤òÁª¤ó¤À¤é¡Ê¥Þ¥¸¥·¥ã¥ó¥º¥Á¥ç¥¤¥¹¤ÇµÒ¤Î¥Ñ¥±¥Ã¥È¤ÎÊý¤òÁª¤ó¤À¤è¤¦¤Ë¸«¤»¤«¤±¤ë¤È¤è¤¤¤À¤í¤¦¡£¡Ë¡¢¥Ñ¥±¥Ã¥È¤ò¼õ¤±¼è¤ê¥Æ¡¼¥Ö¥ë¤Ë
»þ·×¤Îʸ»úÈפÎÍͤˣ±¡¤£²¡¤£³¡¢¡¦¡¦¡¦£±£²»þ¤Î°ÌÃ֤˥«¡¼¥É¤ò¾å¤«¤é΢¸þ¤­¤Î¤Þ¤ÞÇÛÃÖ¤·¤Æ¤¤¤¯¡£
»Ä¤Ã¤¿¥«¡¼¥É¤ÏÃæ±û¤Î¿Ë¤Î°ÌÃÖ¤Ëɽ¸þ¤­¤Ë¤·¤ÆÃÖ¤¯¡£±é¼Ô¤ÎÊý¤Î¥Ñ¥±¥Ã¥È¤âɽ¸þ¤­¤Ç½Å¤Í¤Æ¤ª¤¯¡£
¤³¤³¤ÇµÒ¤Ë£±£²»þ¤Î°ÌÃÖ¤ËÃÖ¤¤¤¿¥«¡¼¥É°Ê³°¤¬Áª¤Ð¤ì¤ë¤è¤¦¤ËͶƳ¤·¤Ê¤¬¤é¡¢Ê¸»úÈפΰÌÃ֤ˤ¢¤ë¥«¡¼¥É¤ò°ì¤Ä¤òÁª¤Ð¤»¤ë¡£¡Ê£±£²»þ¤òÁª¤Ð¤»¤Æ¤¤¤¤»þ¤Ï¡¢µÒ¤Î¥Ñ¥±¥Ã¥ÈËç¿ô¤¬£²£´Ëç¤Þ¤¿¤Ï£²£µËç¤Î»þ¤Ë¸Â¤ë¡£¡Ë
¡Ê¤â¤·¡¢µÒ¤¬£¶»þ¤Î°ÌÃÖ¤òÁª¤ó¤À¤éµ®Êý¤Î´ª¤Ï¤¹¤Ð¤é¤·¤¤¤ÈË«¤á¤Æ¤½¤Î¥«¡¼¥É¤ò¤á¤¯¤Ã¤Æ¡¢ºÇ¸å¤Î¥¹¥Ú¡¼¥É¤ÎA¤ò½Ð¤·¤Æ½ªÎ»¤¹¤ë¡£¡Ë
µÒ¤¬Áª¤ó¤À¥«¡¼¥É¤òɽ¸þ¤­¤Ë¤·¤Æ¡¢¤½¤Î¥«¡¼¥É¤Î¿ô»ú¤¬
¹õ¤Ê¤é¤½¤Î¥«¡¼¥É¤Î¼¡¤«¤é¿ô¤¨¤Æ»þ·×²ó¤ê¤Î¸þ¤­¤Ë¤½¤Î¿ô¤À¤±¿Ê¤ß¡¢¤½¤³¤Î¥«¡¼¥É¤ò¤á¤¯¤Ã¤Æ¼è¤ê½ü¤¤¤Æ¤¤¤¯¡£¡Ê¤á¤¯¤Ã¤¿¥«¡¼¥É¤ÏÃæ±û¤Ëɽ¸þ¤­¤Ç½Å¤Í¤Æ¤¤¤¯¡£¡Ë
¤Þ¤¿µÒ¤¬»ØÄꤷ¤¿¥«¡¼¥É¤¬À֤Υ«¡¼¥É¤Ê¤éÈ¿»þ·×²ó¤ê¤Ë¿Ê¤ó¤Ç¤á¤¯¤ê¡¢¼è¤ê½ü¤¤¤Æ¤¤¤¯¡£
¤³¤ì¤ò·«¤êÊÖ¤·¤Æ¤¤¤¯¡Ê¼è¤ê½ü¤¤¤¿¥«¡¼¥É¤Î¼¡¤«¤é¤Þ¤¿¿Ê¤ó¤Ç¡ãºÇ½é¤ÎµÒ¤¬Áª¤ó¤À¥«¡¼¥É¤Î¿ô¤Ö¤ó¡ä¼¡¤Î¥«¡¼¥É¤ò¤á¤¯¤ë¡£¡Ë¤ÈºÇ¸å¤Ë£¶»þ¤Î°ÌÃ֤ˤ¢¤Ã¤¿¥«¡¼¥É¤¬°ìËç¤À¤±»Ä¤ë¡£
¤³¤Î¥«¡¼¥É¤ò»×¤ï¤»¤Ö¤ê¤Ë¾Ç¤é¤»¤ÆÉ½¤Ë¤¹¤ë¤È¡¢¤Þ¤µ¤ËºÇ¸å¤Î¥¹¥Ú¡¼¥É¤ÎA¤¬½Ð¸½¤¹¤ë¡£
¾¤Î¥«¡¼¥É¤Ë£²Ëç¤È¤·¤ÆÆ±¤¸¥«¡¼¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò¡¢Ãæ±û¤Ë¤¢¤ëɽ¸þ¤­¤Ë½Å¤Ê¤Ã¤Æ¤¤¤ë¥Ñ¥±¥Ã¥È¤ò¥Æ¡¼¥Ö¥ë¤Ë¥ê¥Ü¥ó¥¹¥×¥ì¥Ã¥É¤·¤Æ±éµ»¤ò½ª¤ï¤ë¡£

¸¶ÍýŪ¤Ë¤ÏÆó¿ÊË¡¤ÎÍøÍѤȡ¢·Ñ»ÒΩ¤Æ¤ÎÍ·¤Ó¤òÁȤ߹ç¤ï¤»¤¿Íͤʼê½ç¤Ë¤Ê¤ê¤Þ¤¹¡£
Ä«¤«¤é¼è¤êÁȤߡ¢º£¤è¤¦¤ä¤¯¤É¤¦¤Ë¤«¤Þ¤È¤á¤Þ¤·¤¿¡£
²¿¤«¼ê°ã¤¤¤¬À¸¤¸¤¿¤é¡¢¤ª¶µ¤¨¤¯¤À¤µ¤¤¡£
¹¹¤Ë²þÎÉÉôʬ¤¬¤¢¤ê¤Þ¤·¤¿¤é¥Ò¥ó¥È¤ò¤ª´ê¤¤¤·¤Þ¤¹¡£
 

¡Ö¸ÅÂåÀ¸Êª¡×¤Ë¤Ä¤¤¤Æ¡£

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ11·î29Æü(ÅÚ)20»þ07ʬ15ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  £Ö7.2.1 ¤Þ¤Ç¤Ï¡¢Íð¿ô¤¬°Û¤Ê¤ê¡¢Æ°ºî¤Ç¤­¤Þ¤»¤ó¡¢°Ê¹ß¤Î¥Ð¡¼¥¸¥ç¥ó¤¬É¬ÍפǤ¹¡£

¢¨¤¢¤ä¤Þ¤Ã¤Æ¡¢cookie ¤ò¡¢¾Ã¤·¤Æ¤·¤Þ¤¤¡¢½¤Àµ¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡¢¤¹¤ß¤Þ¤»¤ó¡£
¡¡ÌµÍý¤Ëư¤«¤¹¤È¡¢¿Þ¤¬±ø¤¯¤Ê¤ë¤È»×¤¤¤Þ¤¹¡£
 

Re: ¥È¥é¥ó¥×¥Þ¥¸¥Ã¥¯¤ÎÁϺî

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ11·î30Æü(Æü)17»þ53ʬ57ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.135[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¤³¤³¤ÇµÒ¤Ë£±£²»þ¤Î°ÌÃÖ¤ËÃÖ¤¤¤¿¥«¡¼¥É°Ê³°¤¬Áª¤Ð¤ì¤ë¤è¤¦¤ËͶƳ¤·¤Ê¤¬¤é¡¢Ê¸»úÈפΰÌÃ֤ˤ¢¤ë¥«¡¼¥É¤ò°ì¤Ä¤òÁª¤Ð¤»¤ë¡£¡Ê£±£²»þ¤òÁª¤Ð¤»¤Æ¤¤¤¤»þ¤Ï¡¢µÒ¤Î¥Ñ¥±¥Ã¥ÈËç¿ô¤¬£²£´Ëç¤Þ¤¿¤Ï£²£µËç¤Î»þ¤Ë¸Â¤ë¡£¡Ë


»þ·×¾õ¤ËÇÛÃÖ¤¹¤ë¤È¤­¤Î¥Ñ¥±¥Ã¥È¤ÎÆâÍÆ
¸µ¤Î¥«¡¼¥É¤ÎÇÛÃÖ°ÌÃ֤ʤé
£²£¶¤Î¾ì¹ç
  37  5  45  29  13  49  41  33  25  17  9  1  51  47  43  39  35  31  27  23  19  15  11  7  3
£²£·¤Î¾ì¹ç
  37  5  45  29  13  49  41  33  25  17  9  1  51  47  43  39  35  31  27  23  19  15  11  7  3  50

¼ÂºÝ¤Î¥«¡¼¥É¤Ç¤Ï¡¢¹õ¤ÏÀµ¡¢ÀÖ¤ÏÉé¤È¤¹¤ë¤È
  8 -13  6 -3  4 sA -4  3  2  13 -8  ? -11  ?  ? ¡Ä
¤È¤Ê¤ë¡£

£±ÈÖÌܤΥ«¡¼¥É¤¬¤³¤Î°ÌÃ֤ˤ¯¤ë¤Î¤Ç¡¢¤â¤¦£±¤Ä¤Î¡ÖÀ֣ʡפˤ¹¤ì¤Ð¤è¤¤¤È»×¤¤¤Þ¤¹¡£



> ¸¶ÍýŪ¤Ë¤ÏÆó¿ÊË¡¤ÎÍøÍѤȡ¢·Ñ»ÒΩ¤Æ¤ÎÍ·¤Ó¤òÁȤ߹ç¤ï¤»¤¿Íͤʼê½ç¤Ë¤Ê¤ê¤Þ¤¹¡£


²ò¤ê¤Å¤é¤«¤Ã¤¿¤Î¤Ç¡¢¥·¥ß¥å¥ì¡¼¥¿¤ò¤Ä¤¯¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
·Ñ»ÒΩ¤Æ¤Ë¤Ï¤¤¤í¤¤¤í¤Ê¼êË¡¤¬¤¢¤ë¤Î¤Ç¡¢¾¯¤·¥×¥í¥°¥é¥à¤ò½¤Àµ¤¹¤ë¤ÈÂбþ¤Ç¤­¤ë¤È»×¤¤¤Þ¤¹¡£
!·Ñ»ÒΩ¤Æ¡Ê¥è¥»¥Õ¥¹¤ÎÌäÂê¡Ë¤ò¥·¥ß¥å¥ì¡¼¥È¤¹¤ë

LET N=12 !ÀФοô¡¡¢¨
LET P=-3 !½ü¤¤¤Æ¤¤¤¯°ÌÃÖ¡¡¢¨<----------
LET a=4 !³«»Ï°ÌÃÖ¡¡¢¨<----------


!¡ü¿ôÍýŪ

IF P>0 THEN !»þ·×¤Þ¤ï¤ê¤Ê¤é
   PRINT MOD(a-1+f(N,P),N)+1
ELSE !È¿»þ·×¤Þ¤ï¤ê¤Ê¤é
   PRINT MOD((N-a)-1+f(N,ABS(P)),N)+1 !º¸±¦È¿Å¾¤·¤Æ»þ·×¤Þ¤ï¤ê¤Ë¤¹¤ë
END IF
PRINT
FUNCTION f(n,p) !£±ÈÖ¤«¤é»þ·×¤Þ¤ï¤ê¤ËpÈÖÌܤò¼è¤ê½ü¤¯
   IF n=1 THEN LET f=1 ELSE LET f=MOD(p-1+f(n-1,p),n)+1
END FUNCTION



!¡ü¥·¥ß¥å¥ì¡¼¥¿

DIM s(N) !ÀФξõÂÖ
FOR i=1 TO N !Ï¢ÈÖ¤ò¤Ä¤±¤ë
   LET s(i)=i
NEXT i

SET WINDOW -2,2,-2,2 !ɽ¼¨²èÌÌ
LET r=1.5 !ÀФΰÌÃÖ
SET TEXT JUSTIFY "center","half" !ʸ»ú¤Î°ÌÃÖ
LET r2=1.8

CALL disp_stone !½é´ü¾õÂÖ

PRINT "³«»Ï°ÌÃÖ=";a
PRINT "½ü¤¤¤Æ¤¤¤¯°ÌÃÖ=";P

!LET s(a)=0
!CALL disp_stone
LET k=N !»Ä¤ê¤Î¸Ä¿ô

DO UNTIL k=1 !»Ä¤ê¤ÎÀФ¬£±¤Ä¤Ë¤Ê¤ë¤Þ¤Ç
   LET c=0 !¥«¥¦¥ó¥¿
   DO UNTIL c=ABS(P) !³ºÅö°ÌÃÖ¤ò¸«¤Ä¤±¤ë
      LET a=a+SGN(P) !¡Þ£±¡¡¢¨Àµ¤Î¾ì¹ç¡¢»þ·×¤Þ¤ï¤ê
      LET b=MOD(a-1,N)+1 !ÇÛÃÖ°ÌÃÖ¤ò´¹»»¤¹¤ë
      IF s(b)>0 THEN LET c=c+1 !ÀФ¬¤¢¤ë¾ì¹ç¤Î¤ß¥«¥¦¥ó¥È¤¹¤ë
   LOOP
   PRINT b !¼è¤ê½ü¤¯
   LET s(b)=-1
   LET k=k-1

   CALL disp_stone !¸½ºß¤Î¾õÂÖ
LOOP


SUB disp_stone !´Ä¾õ¤Ëʤ٤ë
   SET DRAW mode hidden !¤Á¤é¤Ä¤­¤òÍÞ¤¨¤ë¡Ê³«»Ï¡Ë
   CLEAR
   FOR i=1 TO N
      LET th=RAD(90-i/N*360) !£Ù¼´¤«¤é»þ·×¤Þ¤ï¤ê
      LET x=COS(th) !°ÌÃÖ
      LET y=SIN(th)
      PLOT TEXT ,AT r2*x,r2*y: STR$(i) !ÈÖ¹æ
      IF s(i)>=0 THEN DRAW disk WITH SCALE(0.1)*SHIFT(r*x,r*y) !ÀÐ
   NEXT i
   SET DRAW mode explicit !¤Á¤é¤Ä¤­¤òÍÞ¤¨¤ë¡Ê½ªÎ»¡Ë
   WAIT DELAY 0.5
END SUB

END
 

¤½¤¦¤À¡ª

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ11·î30Æü(Æü)22»þ29ʬ22ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¤½¤¦¤À¡ª¡ª¡ª
1ËçÌܤȣµ£±ËçÌܤò¶¦¤ËÀÖ¤ÎJ¤Ç¤¢¤ì¤Ð£²£´¡Á£²£·Ëç¤Î¤¤¤º¤ì¤Ç¤âÂбþ¤Ç¤­¤ë¤ó¤Ç¤¹¤Í¡£
¡Ê£±ËçÌܤˤϵ¤ÉÕ¤¤¤Æ¤Ï¤¤¤ë¤Î¤À¤¬¡¢¤É¤¦¤·¤Æ¶¦¤Ë¥»¥Ã¥È¤·¤Æ¤ª¤±¤Ð¤¤¤¤¤È»×¤¤¤Ä¤«¤Ê¤¤¤ó¤À¤í¤¦¡¢¾ð¤±¤Ê¤¤¡£¡Ë
¤¤¤Ä¤âµÞ½ê¤ò²¡¤µ¤¨¤ë¥Ò¥ó¥È¤òÍ¿¤¨¤Æ¤â¤é¤¤¡¢¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
¤Û¤ó¤È¤Ë½õ¤«¤ê¤Þ¤¹¡£
 

ºÆÅ٥ȥé¥ó¥×¤Ç

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ12·î 1Æü(·î)22»þ44ʬ34ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¥È¥é¥ó¥×¤¬Â³¤¤¤Æ¤¹¤ß¤Þ¤»¤ó¤¬¡¢¼¡¤Î¼ê½ç¤òºÆ¸½¤Ç¤­¤ë¥×¥í¥°¥é¥à¤¬¤Ç¤­¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡©
£±¡¥°ìÁȤΥ«¡¼¥É¡Ê£µ£²Ëç¡Ë¤ò¤Þ¤º¤è¤¯¥·¥ã¥Ã¥Õ¥ë¤¹¤ë¡£
£²¡¥¥Ç¥Ã¥¯¤òɽ¸þ¤­¤Ë»ý¤Á¡¢´ñ¿ô¤Î¥«¡¼¥É¤ò¥¢¥Ã¥×¥¸¥ç¥°¡Ê¾å¤Ë¤¹¤³¤·¤º¤é¤¹¡Ë¤·¤Æ¤¤¤­
¡¡¡¡¤³¤ì¤é¤Î¥«¡¼¥ÉÁ´¤Æ¤òÈ´¤­¼è¤ê¡Ê½çÈÖ¤òÊѤ¨¤Ê¤¤¤Ç¡Ë¡¢¥Ü¥È¥à¦¤Ø²ó¤¹¡£
£³¡¥¾åȾʬ¡Ê¶ö¿ô·²¡Ë¤«¤é£´¡¤£¸¡¤Q¡¡¤Î¥«¡¼¥É¤ò¡¢
¡¡¡¡²¼È¾Ê¬¡Ê´ñ¿ô·²¡Ë¤«¤é£³¡¤£·¡¤J¡¡¤Î¥«¡¼¥É¤ò¥¢¥Ã¥×¥¸¥ç¥°¤·¤Æ¤¤¤­¡¢¤³¤ì¤é¤òÈ´¤­¼è¤ê¡¢¥Ü¥È¥à¤Ø
£´¡¥¾å»°Ê¬¤Î°ì°Ì¤«¤é£²¡¤£±£°¤Î¥«¡¼¥É
¡¡¡¡Ã滰ʬ¤Î°ì°Ì¤«¤éA¡¤£¹¤Î¥«¡¼¥É
¡¡¡¡²¼»°Ê¬¤Î°ì°Ì¤«¤é£·¡¤£¸¤Î¥«¡¼¥É¤ò¥¢¥Ã¥×¥¸¥ç¥°¤·¤Æ¡¢¤³¤ì¤òÈ´¤­¼è¤ê¥Ü¥È¥à¤Ø
£µ¡¥¾å¤«¤é½ç¤Ë¡¢£¶¡¤£µ¡¤£´¡¤£³¡¤£²¡¤A¤Î¥«¡¼¥É¤ò¥¢¥Ã¥×¥¸¥ç¥°¤·¤ÆÈ´¤­¼è¤ê¥Ü¥È¥à¤Ø
£¶¡¥ÀÖ¥«¡¼¥É¤ò¥¢¥Ã¥×¥¸¥ç¥°¤·¤Æ¥Ü¥È¥à¤Ø
£·¡¥¾åȾʬ¡Ê¹õ¥«¡¼¥É·²¡Ë¤«¤é¥¯¥é¥Ö¡¢²¼È¾Ê¬¡ÊÀÖ¥«¡¼¥É·²¡Ë¤«¤é¥À¥¤¥¢¥«¡¼¥É¤ò¥¢¥Ã¥×¥¸¥ç¥°¤·¤Æ¥Ü¥È¥à¤Ø
°Ê¾å¤Î¼ê½ç¤ò¹Ô¤Ê¤¦¤È¡¢¥Ç¥Ã¥¯¤Ï΢¸þ¤­¥È¥Ã¥×¤«¤é
¥À¥¤¥¢¡¢¥¯¥é¥Ö¡¢¥Ï¡¼¥È¡¢¥¹¥Ú¡¼¥É¤Î½ç¤Ë
A,2,3,¡¦¡¦¡¦J,Q,k¡¡¤È·¤¦¡£¡Ê¸¶Íý¤Ï£²¿ÊË¡¤Î±þÍÑ¡Ë
¤³¤ì¤ò¤É¤Î¥«¡¼¥É¤òÁª¤Ó¤Þ¤¹¤«¡©
¤Î¼ÁÌä¤ò¼õ¤±¤Ê¤¬¤éÆþÎÏÂÔ¤Á¤È¤·¤Æ¡Ê2È֤Ǥϴñ¿ô¡¢£¶È֤ǤÏÀÖ¡¢7È֤Ǥϥޡ¼¥¯¡¢Â¾¤Ï¿ô»ú¡Ë¿Ê¹Ô¤·¤Æ¤¤¤±¤ë¤è¤¦¤Ë¤·¤¿¤¤¡£
¾¤ÎǤ°Õ¤Î¥«¡¼¥É¤ÎÇÛÎó¤â¤³¤ÎÊýË¡¤ò»È¤Ã¤ÆÄ´¤Ù¤¿¤¤¤Î¤Ç¡¢¿ô»ú¤È¿§¤È¥Þ¡¼¥¯¤¬ÆÈΩ¤ËÁªÂò¤Ç¤­¤Æ¤¤¤±¤ë¤è¤Ç¤¢¤ì¤Ð¤¦¤ì¤·¤¤¤Î¤Ç¤¹¤¬...
 

Re: ºÆÅ٥ȥé¥ó¥×¤Ç

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ12·î 3Æü(¿å)11»þ06ʬ36ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.139[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¥È¥é¥ó¥×¤¬Â³¤¤¤Æ¤¹¤ß¤Þ¤»¤ó¤¬¡¢¼¡¤Î¼ê½ç¤òºÆ¸½¤Ç¤­¤ë¥×¥í¥°¥é¥à¤¬¤Ç¤­¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡©

> ¤³¤ì¤ò¤É¤Î¥«¡¼¥É¤òÁª¤Ó¤Þ¤¹¤«¡©
> ¤Î¼ÁÌä¤ò¼õ¤±¤Ê¤¬¤éÆþÎÏÂÔ¤Á¤È¤·¤Æ¡Ê2È֤Ǥϴñ¿ô¡¢£¶È֤ǤÏÀÖ¡¢7È֤Ǥϥޡ¼¥¯¡¢Â¾¤Ï¿ô»ú¡Ë¿Ê¹Ô¤·¤Æ¤¤¤±¤ë¤è¤¦¤Ë¤·¤¿¤¤¡£


¥á¥Ë¥å¡¼·Á¼°¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢ºÆ¸½¤¹¤ë¥×¥í¥°¥é¥à¤ò»îºî¤·¤Æ¤ß¤Þ¤·¤¿¡£
¥³¡¼¥Ç¥£¥ó¥°·Á¼°¤¬¥Þ¥ó¥Í¥ê¤Ê¤Î¤Ç¡¢º£²ó¤Ï¡Öʸ»úÎóÁàºî¡×¤Ç¥«¡¼¥É¤Îư¤­¤ò¼Â¸½¤·¤Æ¤¤¤Þ¤¹¡£
¤Þ¤¿¡¢¥Ó¥¸¥å¥¢¥ëɽ¼¨¤âÄɲ䷤Ƥ¤¤Þ¤¹¤¬¡¢É¬Íפ˱þ¤¸¤Æ¤½¤ÎÉôʬ¤òºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£
½½¿ÊBASIC¤Ï¡¢¥Ó¥Ã¥È¥Þ¥Ã¥×²èÁü¤Î½èÍý¤¬¶ì¼ê¤Ç¤¹¤«¤é½èÍý®Å٤ϴüÂԤǤ­¤Þ¤»¤ó¡£

¤³¤³¤«¤é¥À¥¦¥ó¥í¡¼¥É

¡Ê¼Â¹Ô²èÌÌ¡Ë
 

¥«¡¼¥É¤¬Ê¤ó¤Ç¤¤¤Þ¤¹

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ12·î 3Æü(¿å)19»þ28ʬ13ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¤ª¤ª¤ª¤ª¡¼¥ï¥ó¥À¥Õ¥ë¡£
¥È¥é¥ó¥×¤¬¼ÂºÝ¤Ëʤó¤Ç¤¤¤Þ¤¹¡£¡Ê¤É¤³¤«¤é¸½¤ì¤¿¤Î¤«¡©¡Ë
¤¤¤Á¤¤¤Á¼êºî¶È¤Ç¤ä¤Ã¤Æ¤¤¤¿Áàºî¤¬°ì½Ö¤Ç½ªÎ»¤·¤Þ¤¹¡£
¤·¤«¤âËè²ó¥«¡¼¥É¤Ï¸«»ö¤Ë¤Ð¤é¤Ð¤é¤Ç¥¹¥¿¡¼¥È¤Ç¤­¤Þ¤¹¡£
Ãæ¤Î¹½Â¤¤Ï¤ª¤Ü¤í¤²¤Ê¤¬¤éÆÉ¤ß²ò¤±¤Þ¤¹¤¬¡¢ºÙÉô¤Ï¤Þ¤À²òÆÉ¤¹¤ëÎϤ¬»ä¤Ë¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¤³¤ó¤ÊŤ¤²áÄø¤Î¥×¥í¥°¥é¥à¤¬¤è¤¯¤³¤ó¤Êû»þ´Ö¤Ë¤Ç¤­¤Þ¤¹¤Í¡£
ÌäÂê¤ò¸«¤¿½Ö´Ö¡¢¤À¤¤¤¿¤¤¤³¤¦¥×¥í¥°¥é¥à¤òÁȤá¤Ð¤¤¤¤¤ó¤À¤È¤ï¤«¤ë¤â¤ó¤Ê¤ó¤Ç¤¹¤«¡©
¥×¥í¥°¥é¥à¤ò¶²¤ë¶²¤ë°ìÉô¼êľ¤·¤ò¤·¤Æ¡¢Î㤨¤Ð¥À¥¤¥¢¤Î£²¡¤£´¡¤£µ¤Î¥«¡¼¥É¤À¤±¤ò¥¢¥¦¥È¥¸¥ç¥°¤·¤Æ¥Ü¥È¥à¤Ø²ó¤½¤¦¤È¤¢¤ì¤³¤ìÄ©À路¤¿¤Î¤Ç¤¹¤¬¡¢¤¤¤º¤ì¤âµ¡³£¤¬¤¤¤¦¤³¤È¤òʹ¤¤¤Æ¤¯¤ì¤Þ¤»¤ó¡£
¥À¥¤¥¢¤È¾¤Î¥Þ¡¼¥¯¤ò´Þ¤á¤¿£²¡¤£´¡¤£µ¤Î¥«¡¼¥É¤¬¥¢¥¦¥È¥¸¥ç¥°¤µ¤ì¤¿¤ê¤·¤Þ¤¹¡£
AND ¤Ç·Ò¤´¤¦¤È»î¤ß¤Æ¤â¡¢¡É¤³¤³¤Ë¤ÏAND¤ÏÆþ¤ì¤é¤ì¤Þ¤»¤ó¡É¤Ê¤É¤Î¥³¥á¥ó¥È¤ò¼õ¤±¤Þ¤¹¡£
¥×¥í¥°¥é¥à¤ÇÆÃÄê¤Î¥«¡¼¥É¡Ê¥Þ¡¼¥¯¤È¿ô»ú¤Î»ØÄê¡Ë¤ò¡¢¥¢¥¦¥È¥¸¥ç¥°¤¹¤ë¤Ë¤Ï¤É¤Î¤è¤¦¤Ë
µ­½Ò¤·¤¿¤é¤è¤¤¤«¶µ¤¨¤Æ¤¯¤À¤µ¤¤¡£
 

Re: ¥«¡¼¥É¤¬Ê¤ó¤Ç¤¤¤Þ¤¹

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ12·î 3Æü(¿å)20»þ09ʬ59ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.141[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> Î㤨¤Ð¥À¥¤¥¢¤Î£²¡¤£´¡¤£µ¤Î¥«¡¼¥É¤À¤±¤ò¥¢¥¦¥È¥¸¥ç¥°¤·¤Æ¥Ü¥È¥à¤Ø²ó¤½¤¦

> ¥×¥í¥°¥é¥à¤ÇÆÃÄê¤Î¥«¡¼¥É¡Ê¥Þ¡¼¥¯¤È¿ô»ú¤Î»ØÄê¡Ë¤ò¡¢¥¢¥¦¥È¥¸¥ç¥°¤¹¤ë¤Ë¤Ï¤É¤Î¤è¤¦¤Ëµ­½Ò¤·¤¿¤é¤è¤¤¤«¶µ¤¨¤Æ¤¯¤À¤µ¤¤¡£


FOR i=1 TO N !³ºÅö¤¹¤ë¥«¡¼¥É¡¡¢¨¥Þ¡¼¥¯¤È¿ô»ú
   k=CNum(c$,i)
   IF CMark$(c$,i)="D" AND ( k=2 OR k=4 OR k=5 ) THEN LET flg(i)=1
NEXT i
CALL shuffle(c$,flg)


¤Þ¤¿¤Ï

FOR i=1 TO N !³ºÅö¤¹¤ë¥«¡¼¥É¡¡¢¨¥«¡¼¥É
   SELECT CASE CGet$(c$,i)
   CASE "D2","D4","D5"
      LET flg(i)=1
   CASE ELSE
   END SELECT
NEXT i
CALL shuffle(c$,flg)
 

µì·Ç¼¨ÈÄ

 Åê¹Æ¼Ô¡§ÇòÀС¡ÏÂÉ×  Åê¹ÆÆü¡§2008ǯ12·î 4Æü(ÌÚ)20»þ48ʬ13ÉÃ
ÊÖ¿®¡¦°úÍÑ
  µì·Ç¼¨ÈĤ¬Éü³è¤·¤Æ¤¤¤Þ¤¹¡£
¥Õ¥ê¡¼¥½¥Õ¥ÈWeBox¤òÍøÍѤ·¤ÆWebÁ´ÂΤò¼è¤ê¹þ¤ó¤Ç²áµî¥í¥°¤Î¥Ú¡¼¥¸¤Ë¥¢¥Ã¥×¤·¤Þ¤·¤¿¡£

http://www.geocities.jp/thinking_math_education/log/logs.html

 

¥°¥é¥Õ¥£¥Ã¥¯¤Ç¤ª´ê¤¤¤·¤Þ¤¹¡£

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ12·î 5Æü(¶â)07»þ34ʬ7ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¥«¡¼¥É¤Ç¤Î¥°¥é¥Õ¥£¥Ã¥¯¤¬²Äǽ¤Ê¤³¤È¤òÍøÍѤ·¤Æ¡¢¼¡¤Î¸½¾Ý¤òºÆ¸½¤·¤¿¤¤¤Î¤Ç¤¹¤¬
³¨»¥¡ÊJ,Q,K)¤ÈA¤Î£±£¶Ëç¤ò»È¤¦¡£
¤³¤Î¥«¡¼¥É¤ò΢¸þ¤­¤Ë£´¡ß£´¤Î¹ÔÎó·Á¼°¤ËʤÙ(²¼¤ÎÈÖ¹æ½ç¤Ëʤ٤ë¡Ë
¥«¡¼¥É¤Î°ÌÃÖ¤ò¡Ê±é¼Ô¦¤«¤é¸«¤¿ÈÖ¹æ¡Ë
1  2  3  4
5  6  7  8
9  10 11 12
13 14 15 16
¤È¤¹¤ë¡£
¤³¤ìÁ´ÂΤò°ìËç¤Î»æ¤È¸«Î©¤Æ¤Æ°ìËç¤Î¥«¡¼¥É¤ÎÂ礭¤µ¤ËÀÞ¤ëÁàºî¤ò¹Ô¤Ê¤¦¡£
¡ãÀÞ¤êÊý¤ÎÊýË¡¡ä
²¿½è¤Î°ÌÃÖ¡Ê¥«¡¼¥É¤È¥«¡¼¥É¤Î´Ö¤Î½Ä¤Þ¤¿¤Ï²£Àþ¡Ë
¤Ç¤â¤«¤Þ¤ï¤Ê¤¤Éôʬ¤ò»ØÄꤷ¤Æ¤â¤é¤¤
Î㤨¤Ð 1  2  3  4
     --------------
¡¡¡¡¡¡ 5  6  7  8
¤Î´Ö¤ÎÀþ¤Ê¤é¤Ð¡¢1  2  3  4
¤Î¥«¡¼¥É¤ò¤Ò¤Ã¤¯¤êÊÖ¤·¤Æ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡5  6  7  8
¤Î¥«¡¼¥É¤Î¾å¤Ë½Å¤Í¤ë¡£
¤Þ¤¿¡¡2 |  3
      6 |  7
     10 | 11
     14 | 15
¤ÎÀþ¤Ê¤é±¦È¾Ê¬¡Ê¤Þ¤¿¤Ïº¸È¾Ê¬¤Ç¤â¤è¤¤¡£¡Ë
¤òÁ´¤ÆÀÞ¤êÊÖ¤·¤Æ(¥«¡¼¥É¤Ï¤Ò¤Ã¤¯¤êÊ֤뤳¤È¤Ë¤Ê¤ë¡£¡Ë

3 ¢ª  2
4 ¢ª  1
7 ¢ª  6
8 ¢ª  5
11 ¢ª 10
12 ¢ª  9
15 ¢ª 14
16 ¢ª 13
¤È½Å¤Í¤ë¤³¤È¤È¤¹¤ë¡£

¤³¤ì¤òµÒ¤Ë¤½¤ÎÅÔÅÙÀþ¤ò»ØÄꤵ¤»¡¢£±£¶Ëç¤Î¥«¡¼¥É¤¬°ì¤Ä¤Ë½Å¤Ê¤ë¤Þ¤Ç³¤±¤ë¡£
¡Ê¥Ñ¥±¥Ã¥È¤Ïɽ¸þ¤­¡¢Î¢¸þ¤­¤¬º®¤¶¤Ã¤¿¾õÂ֤ˤ¢¤ë¡£¡Ë
¤³¤Î¥Ñ¥±¥Ã¥È¤Ë¤ª¤Þ¤¸¤Ê¤¤¤ò¤«¤±¡¢¥Æ¡¼¥Ö¥ë¤Ë¥ê¥Ü¥ó¥¹¥×¥ì¥Ã¥É¤·¤Æ¤ß¤ë¡£
¡Ê¤³¤Î¤È¤­¡¢¥Ñ¥±¥Ã¥ÈÁ´ÂΤò¤Ò¤Ã¤¯¤êÊÖ¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë»þ¤¬µ¯¤­¤ë¤³¤È¤â¤¢¤ë¡£¡Ë

¡Ê¥Ñ¥¿¡¼¥óK¡Ë
»Å¹þ¤ß¡§£±£¶Ëç¤Î¥Ñ¥±¥Ã¥È¤Î¾å¤«¤é3,4,9,12ËçÌܤËK¤òÇÛÃÖ¤·¤Æ¤ª¤¯¡£
¥¹¥¿¡¼¥È¡§£´¡ß£´¤Ëʤ٤¿¥«¡¼¥É¤Î
¡¡¡¡¡¡¡¡¡¡1,4,6,8,11,12,14,16ÈÖ¤òɽ¸þ¤­¤Ë¤¹¤ë¡£¡Ê¤³¤ì¤ÏµÒ¤«¤é¸«¤ÆK¤Ë¸«¤¨¤ë¡£¡Ë

¡Ê¥Ñ¥¿¡¼¥óA¡Ë
»Å¹þ¤ß¡§£±£¶Ëç¤Î¥Ñ¥±¥Ã¥È¤Î¾å¤«¤é5,7,8,16ËçÌܤËA¤òÇÛÃÖ¤·¤Æ¤ª¤¯¡£
¥¹¥¿¡¼¥È¡§£´¡ß£´¤Ëʤ٤¿¥«¡¼¥É¤Î
¡¡¡¡¡¡¡¡¡¡1,3,5,6,7,9,11,14ÈÖ¤òɽ¸þ¤­¤Ë¤¹¤ë¡£¡Ê¤³¤ì¤ÏµÒ¤«¤é¸«¤ÆA¤Ë¸«¤¨¤ë¡£¡Ë

¡Ê¥Ñ¥¿¡¼¥óJ¡Ë
»Å¹þ¤ß¡§£±£¶Ëç¤Î¥Ñ¥±¥Ã¥È¤Î¾å¤«¤é4,9,10,15ËçÌܤËJ¤òÇÛÃÖ¤·¤Æ¤ª¤¯¡£
¥¹¥¿¡¼¥È¡§£´¡ß£´¤Ëʤ٤¿¥«¡¼¥É¤Î
¡¡¡¡¡¡¡¡¡¡2,5,7,9,12,13ÈÖ¤òɽ¸þ¤­¤Ë¤¹¤ë¡£¡Ê¤³¤ì¤ÏµÒ¤«¤é¸«¤ÆJ¤Ë¸«¤¨¤ë¡£¡Ë

¡Ê¥Ñ¥¿¡¼¥óQ¡Ë
»Å¹þ¤ß¡§£±£¶Ëç¤Î¥Ñ¥±¥Ã¥È¤Î¾å¤«¤é1,4,14,16ËçÌܤËQ¤òÇÛÃÖ¤·¤Æ¤ª¤¯¡£
¥¹¥¿¡¼¥È¡§£´¡ß£´¤Ëʤ٤¿¥«¡¼¥É¤Î
¡¡¡¡¡¡¡¡¡¡3,4,6,8,9,11ÈÖ¤òɽ¸þ¤­¤Ë¤¹¤ë¡£¡Ê¤³¤ì¤ÏµÒ¤«¤é¸«¤ÆQ¤Ë¸«¤¨¤ë¡£¤³¤ì¤Ï¾¯¤·¶ì¤·¤¤¡Ë

¤³¤ì¤é¤Î»Å¹þ¤ß¤ÈºÇ½é¤Î½é´üÀßÄ꤫¤é¤ÎÀÞ¤êÊÖ¤·¤ò·«¤êÊÖ¤·¤Æ¡¢ºÇ¸å¤Î¥Ñ¥±¥Ã¥È¤Ç¤Î
¥¹¥×¥ì¥Ã¥É¤ò¤¹¤ë¤È¤½¤ì¤¾¤ì¤Î¥Ñ¥¿¡¼¥ó¤Ç¤Î£´Ëç¤À¤±¤Î¥«¡¼¥É¤¬ ɽ¸þ¤­¤Ç½Ð¸½¤·¡¢
¾¤Î¥«¡¼¥É¤Ï΢¸þ¤­¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£

¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£¡Ê¤¹¤ß¤Þ¤»¤ó¡¢ÀâÌÀ¤¬Ä¹¤¹¤®¤Æ¡¦¡¦¡¦¡Ë
 

Re: ¥°¥é¥Õ¥£¥Ã¥¯¤Ç¤ª´ê¤¤¤·¤Þ¤¹¡£

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ12·î 5Æü(¶â)19»þ39ʬ34ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.144[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¡Ê¥Ñ¥¿¡¼¥óK¡Ë
> »Å¹þ¤ß¡§£±£¶Ëç¤Î¥Ñ¥±¥Ã¥È¤Î¾å¤«¤é3,4,9,12ËçÌܤËK¤òÇÛÃÖ¤·¤Æ¤ª¤¯¡£
> ¥¹¥¿¡¼¥È¡§£´¡ß£´¤Ëʤ٤¿¥«¡¼¥É¤Î
> ¡¡¡¡¡¡¡¡¡¡1,4,6,8,11,12,14,16ÈÖ¤òɽ¸þ¤­¤Ë¤¹¤ë¡£¡Ê¤³¤ì¤ÏµÒ¤«¤é¸«¤ÆK¤Ë¸«¤¨¤ë¡£¡Ë


ÀÞ¤ê»æ¤Î¿ôÍý¤Ç¤¹¤Í¡£

¡ü²òÀÏ·ë²Ì
¸þ¤­¤¬ÉÔÆ°¤Ê²Õ½ê¤Ï¡¢1,3,6,8,9,11,14,16¤Ç¤¢¤ë¡£¡¡2,4,5,7,10,12,13,15¤Ï¡¢È¿Å¾¤¹¤ë¡£
£´¡ß£´ÇÛÃ֤ʤé
1  *  3  *
*  6  *  8
9  * 11  *
* 14  * 16
¤È¤Ê¤ë¡£

¤È¤³¤í¤Ç¡¢³Æ¥«¡¼¥É¤ÎÇÛÃÖ¾ì½ê¤Ï¡¢

  1  *  *  4  *  6  *  8  *  * 11 12  * 14  * 16 <-- £Ë¤Î¥Ñ¥¿¡¼¥ó
¡¡ ¢­ ¡¡ ¢­ ¢­ ¡¡ ¢­ ¡¡ ¡¡ ¢­ ¡¡ ¢­ ¢­ ¡¡ ¢­
  1  2  *  *  5  6  7  8  * 10 11  * 13 14 15 16 <-- ¥·¥ã¥Ã¥Õ¥ë¸å
¤·¤¿¤¬¤Ã¤Æ¡¢3,4,9,12¤Ë£Ë¤òÇÛÃÖ¤·¤Æ¤ª¤±¤Ð¤è¤¤¡£

  1  *  3  *  5  6  7  *  9  * 11  *  * 14  *  * <-- £Á¤Î¥Ñ¥¿¡¼¥ó
¡¡ ¢­ ¡¡ ¢­ ¢­ ¡¡ ¢­ ¡¡ ¡¡ ¢­ ¡¡ ¢­ ¢­ ¡¡ ¢­
  1  2  3  4  *  6  *  *  9 10 11 12 13 14 15  * <-- ¥·¥ã¥Ã¥Õ¥ë¸å
¤·¤¿¤¬¤Ã¤Æ¡¢5,7,8,16¤Ë£Á¤òÇÛÃÖ¤·¤Æ¤ª¤±¤Ð¤è¤¤¡£

  *  2  *  *  5  *  7  *  9  *  * 12 13  *  *  * <-- £Ê¤Î¥Ñ¥¿¡¼¥ó
¡¡ ¢­ ¡¡ ¢­ ¢­ ¡¡ ¢­ ¡¡ ¡¡ ¢­ ¡¡ ¢­ ¢­ ¡¡ ¢­
  *  *  *  4  *  *  *  *  9 10  *  *  *  * 15  * <-- ¥·¥ã¥Ã¥Õ¥ë¸å
¤·¤¿¤¬¤Ã¤Æ¡¢4,9,10,15¤Ë£Ê¤òÇÛÃÖ¤·¤Æ¤ª¤±¤Ð¤è¤¤¡£

  *  2  3  *  *  6  *  8  9  * 11  * 13 14  *  * <-- £Ñ¤Î¥Ñ¥¿¡¼¥ó
¡¡ ¢­ ¡¡ ¢­ ¢­ ¡¡ ¢­ ¡¡ ¡¡ ¢­ ¡¡ ¢­ ¢­ ¡¡ ¢­
  *  *  3  4  5  6  7  8  9 10 11 12  * 14 15  * <-- ¥·¥ã¥Ã¥Õ¥ë¸å
¤·¤¿¤¬¤Ã¤Æ¡¢1,2,13,16¤Ë£Ñ¤òÇÛÃÖ¤·¤Æ¤ª¤±¤Ð¤è¤¤¡£¡ÊÄûÀµ¤òÈ¿±Ç¡Ë


¼¡¤Î¥×¥í¥°¥é¥à¤Ç³Îǧ¤Ç¤­¤Þ¤¹¡£¤É¤Á¤é¤òÀޤꤿ¤¿¤à¤«¤Ç°ÌÃÖ(a,b)¤ÏÊѤï¤ê¤Þ¤¹¡£
LET N=4 !N¹ÔNÎó
LET a=-2 !Àޤꤿ¤¿¤à°ÌÃÖ(a,b)
LET b=2
DATA 0,1,1,0 !£Ñ¥Ñ¥¿¡¼¥ó¡¡¢¨1:ɽ¡¢0:΢
DATA 0,1,0,1
DATA 1,0,1,0
DATA 1,1,0,0
DIM M(N,N)
MAT READ M
FOR y=1 TO N !¹Ô
   FOR x=1 TO N !Îó
      IF MOD(ABS(x-a)+ABS(y-b),2)=1 THEN !³Ê»Ò¾å¤Ç¤Îµ÷Î¥¡¡¢¨1:ȿž¡¢0:¤½¤Î¤Þ¤Þ
         LET M(y,x)=1-M(y,x) !ÏÀÍýÈÝÄê
      END IF
      PRINT M(y,x); !¡Ö£°¤¬£´¤Ä¡×¤Þ¤¿¤Ï¡Ö£±¤¬£´¤Ä¡×¤Î°ÌÃÖ
   NEXT x
   PRINT
NEXT y
END


¥·¥ß¥å¥ì¡¼¥¿¤Ë¤è¤ë¥×¥í¥°¥é¥à¤Ï¤³¤Á¤é¤«¤é¥À¥¦¥ó¥í¡¼¥É¡ÊÁ°²ó¤ÈƱ¤¸¡¢Á°²óʬ¤âƱº­¡Ë
 

¸æÎé

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ12·î 5Æü(¶â)20»þ33ʬ6ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¤µ¤Ã¤½¤¯À½ºî¤·¤ÆÄº¤¤¤ÆÌã¤Ã¤Æ¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
³Ú¤·¤¯»È¤ï¤»¤Æ¤¤¤¿¤À¤¤¤Æ¤ª¤ê¤Þ¤¹¡£
Æüº¢¥«¡¼¥É¤Ç¤ä¤Ã¤Æ¤¤¤ë¥Þ¥¸¥Ã¥¯¤ò¥×¥í¥°¥é¥à¤Ë¤¹¤ë¤È¡¢¤³¤ó¤ÊÉ÷¤Ë¹½À®¤·¤Æ¤¤¤¯¤Î¤«¤È
BASIC¤òÊÙ¶¯¤¹¤ë¤Î¤Ë¤È¤Ã¤Æ¤âÌò¤ËΩ¤Á¤Þ¤¹¤·¡¢¤½¤Î°ÕÌ£¤òÄϤà¤Î¤Ë¹¥ÅÔ¹ç¤Ç¤¹¡£
¼«Ê¬¤Ï¤¿¤«¤¬¥È¥é¥ó¥×¤Ç¤¹¤¬¡¢¤½¤³¤Ë¤¤¤í¤¤¤í¤Ê¿ôÍý¤äˡ§¡¢ÁȤ߹ç¤ï¤»¤Î̯¤Ê¤É¤Îµ»¹ª¤¬¹½À®¤·¤Æ¤¤¤±¤ëÅÀ¤Ë¶½Ì£¤¬¤¢¤ê¡¢¿·¤·¤¤ºîÉʤòÁϤ¤·¤Æ¤¤¤¯¤³¤È¤¬³Ú¤·¤ß¤Ç¤¹¡£
¤³¤ì¤ò¥³¥ó¥Ô¥å¡¼¥¿¤Ç¥·¥å¥ß¥ì¡¼¥È¤Ç¤­¤ì¤Ð»î¹Ôºø¸í¤ò±Þ¤ï¤Ê¤¤¶¯¤ß¤¬¼ê¤ËÆþ¤ê¤Þ¤¹¡£
ÉôʬŪ¤Ë½ñ¤­´¹¤¨¤Æ¸½¾Ý¤¬¤É¤¦ÊѲ½¤·¤Æ¤¤¤¯¤Î¤«¤òÃΤ뤳¤È¤¬¤Ç¤­¡¢²þÎɤä²þÁ±ÅÀ¤Îȯ¸«¤ËÂ礤¤ËÌòΩ¤Á¤Þ¤¹¡£
¤³¤ì¤«¤é¤â²¿¤«¤È¤ª´ê¤¤¤¹¤ë¤«¤È»×¤¤¤Þ¤¹¤Î¤Ç¤ª½õ¤±²¼¤µ¤¤¡£
¼¡¤«¤é¼¡¤Ø¤ÎÀ½ºî°ÍÍê¤Ë±þ¤¸¤Æ²¼¤µ¤¤¤Þ¤·¤Æ¡¢½Å¤Í½Å¤Í¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£
 

ÄûÀµ

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ12·î 5Æü(¶â)22»þ58ʬ14ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¥¢¥Ã¥×¤·¤¿¸å¡¢¿ôÃͤδְ㤤¤Ëµ¤ÉÕ¤­ÄûÀµ¤ò¤·¤Æ¤ª¤¤¤Æ²¼¤µ¤¤¡£
¡Ê¥Ñ¥¿¡¼¥óQ¡Ë¤Ç
»Å¹þ¤ß¡§£±¡¤£²¡¤£±£³¡¤£±£¶ËçÌܤȤ·
¥¹¥¿¡¼¥È¡§£²¡¤£³¡¤£¶¡¤£¸¡¤£¹¡¤£±£±¡¤£±£³¡¤£±£´ÈÖ
¤Ø¤ÎÊѹ¹¤ò¤ª´ê¤¤¤·¤Þ¤¹¡£
 

¤µ¤¤¤³¤íÅÒÇî

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ12·î 7Æü(Æü)20»þ46ʬ54ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¡ã¥Ñ¥¿¡¼¥ó­µ¡ä
£´¤Ä¤Î¤µ¤¤¤³¤í¤¬¤¢¤ê
A={2,3,3,9,10,11}¡¢B={0,1,7,8,8,8}¡¢C={5,5,6,6,6,6}¡¢D={4,4,4,4,12,12}
¤ÎÌܤ¬³ÆÌ̤˰õ»ú¤µ¤ì¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£
¤¢¤Ê¤¿¤È»ä¤Ï¤³¤ÎÃæ¤«¤é¤½¤ì¤¾¤ì°ì¤Ä¤Î¤µ¤¤¤³¤í¤òÁª¤ó¤Ç¤µ¤¤¤³¤í¤ò¿¶¤ê¤Þ¤¹¡£
½Ð¤¿Ìܤ¬Â礭¤¤¤Û¤¦¤¬Áê¼ê¤«¤éÀé±ß¤ò¼õ¤±¼è¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤Ç¤â¾¯¤Ê¤¯¤È¤â£±£°£°²ó¤Ï¾¡É餹¤ë¤³¤È¤Ë¤·¤Þ¤¹¡£¡ÊÁª¤ó¤À¤µ¤¤¤³¤í¤ÏÊѤ¨¤Ê¤¤¡£¡Ë
¤µ¤Æµ®Êý¤Ï¤É¤Î¤µ¤¤¤³¤í¤òÁª¤Ó¤Þ¤¹¤«¡©


¡ã¥Ñ¥¿¡¼¥ó­¶¡ä
Ʊ¤¸¤¯£´¤Ä¤Î¤µ¤¤¤³¤í¤¬
X={5,5,6,6,7,7}¡¢Y={1,2,3,9,10,11}¡¢Z={0,1,7,8,8,9}¡¢W={3,4,4,5,11,12}
¤ÎÌܤǤǤ­¤Æ¤¤¤Þ¤¹¡£
Ʊ¤¸¤¯¾¡É餷¤Þ¤¹¤¬¡Ê¤³¤ì¤â£±£°£°²ó¤ÏÀ臘¾ò·ï¤Ä¤­¡ËƱ¤¸Ìܤ¬½Ð¤ì¤Ð¥¢¥¤¥³¤Ç¤ä¤êľ¤·¤ò¤·¤Þ¤¹¡£
¤µ¤Æ¤¢¤Ê¤¿¤¬Áª¤Ö¤µ¤¤¤³¤í¤Ï¤É¤ì¡©
 

Re: ¤µ¤¤¤³¤íÅÒÇî

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2008ǯ12·î 8Æü(·î)09»þ22ʬ26ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.148[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

10Ëü²ó¤Î¼Â¸³¤Ç¤Ï£Ä¤È£×¤¬¤ï¤º¤«¤ËÍ­Íø¤È¤Ç¤Þ¤·¤¿¡£
´üÂÔÃͤÎ1.324¤È¤Ï¡¢1²ó¤Ë1000±ß¤«¤±¤ë¤ÈÊ¿¶Ñ1324±ßÌá¤Ã¤Æ¤¯¤ë¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£
²¼¤Î¥×¥í¥°¥é¥à¤Ç¤ÏÂÐÀï¿Í¿ô¤ò2¡Á4¿Í¤Ë»ØÄê¤Ç¤­¤Þ¤¹¡£
¤¿¤À¤·Á´°÷°ã¤¦¥µ¥¤¥³¥í¤òÁªÂò¤¹¤ë¤È¤·¤Þ¤¹¡£
3¿Í¡¢4¿Í¤Ç¤Ï£Á¤È£Ù¤¬Í­Íø¤È¤Ç¤Þ¤·¤¿¡£
ÍýÏÀÃͤòµá¤á¤ë¤Î¤â¤½¤ì¤Û¤ÉÆñ¤·¤¯¤Ï¤Ê¤¤¤È»×¤¤¤Þ¤¹¤¬¡¢¤É¤¦¤Ç¤·¤ç¤¦¡©


DECLARE EXTERNAL SUB combination
LET k=100000 ! ÂÐÀï²ó¿ô
LET p=2 ! ¥Ñ¥¿¡¼¥ó
LET n=4 ! ¥µ¥¤¥³¥í¤Î¼ïÎà
LET f=6 ! ¥µ¥¤¥³¥í¤ÎÌÌ¿ô
INPUT PROMPT "ÂÐÀï¿Í¿ô¤Ï¡© " : r
IF r<2 OR r>n THEN STOP
DIM code$(p,n),dice(p,n,f),d(r),win(r),sumwin(p,n),a(n),com(COMB(n,r),r)
MAT READ code$,dice
MAT a=ZER(n)
MAT sumwin=ZER
LET total=(COMB(n,r)-COMB(n-1,r))*k
LET count=0 ! COMB(n,r)
CALL combination(a,n,1,r,com,count)
FOR pp=1 TO p
   FOR i=1 TO count
      MAT win=ZER
      FOR j=1 TO k
         LET maxd=-1
         FOR ri=1 TO r
            LET d(ri)=dice(pp,com(i,ri),INT(f*RND)+1)
            IF d(ri)>maxd THEN
               LET maxd=d(ri)
               LET w=ri
            ELSEIF d(ri)=maxd THEN ! °ú¤­Ê¬¤±
               LET w=0
            END IF
         NEXT ri
         IF w=0 THEN LET j=j-1 ELSE LET win(w)=win(w)+1
      NEXT j
      LET maxw=0
      FOR ri=1 TO r
         LET sumwin(pp,com(i,ri))=sumwin(pp,com(i,ri))+win(ri)
         PRINT code$(pp,com(i,ri));win(ri);"  ";
         IF win(ri)>maxw THEN
            LET w=ri
            LET maxw=win(ri)
         END IF
      NEXT ri
      PRINT "¾¡¼Ô ";code$(pp,com(i,w));win(w);"¾¡";k-win(w);"ÇÔ";
      PRINT USING " ´üÂÔÃÍ #.####":r*win(w)/k
   NEXT i
   PRINT "Áí¹ç¾¡ÇÔ"
   FOR ni=1 TO n
      PRINT code$(pp,ni);sumwin(pp,ni);"¾¡";total-sumwin(pp,ni);"ÇÔ";
      PRINT USING " ´üÂÔÃÍ #.####":r*sumwin(pp,ni)/total
   NEXT ni
   PRINT
NEXT pp
DATA A,B,C,D,X,Y,Z,W
DATA 2,3,3,9,10,11  ! A
DATA 0,1,7,8,8,8    ! B
DATA 5,5,6,6,6,6    ! C
DATA 4,4,4,4,12,12  ! D
DATA 5,5,6,6,7,7    ! X
DATA 1,2,3,9,10,11  ! Y
DATA 0,1,7,8,8,9    ! Z
DATA 3,4,4,5,11,12  ! W
END

REM ½½¿ÊBASICźÉÕ"\BASICw32\SAMPLE\COMBINAT.BAS"¤è¤ê
REM 1¡Án¤Î½¸¹ç¤«¤ér¸Ä¤òÁª¤ÖÁȹ礻¤òÀ¸À®¤¹¤ë¡£ÇÛÎócom(,)
EXTERNAL SUB combination(a(),n,k,r,com(,),count)
! k°Ê¹ß¤Î¿ô¤«¤ér¸Ä¤òÁªÂò¤¹¤ë
IF r=0 THEN
   LET count=count+1
   LET ri=1
   FOR i=1 TO n
      IF a(i)=1 THEN
         LET com(count,ri)=i
         LET ri=ri+1
      END IF
   NEXT i
ELSE
   FOR i=k TO n-r+1
      LET a(i)=1
      CALL combination(a,n,i+1,r-1,com,count)
      LET a(i)=0
   NEXT i
END IF
END SUB
 

Re: ¤µ¤¤¤³¤íÅÒÇî

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ12·î 8Æü(·î)11»þ26ʬ21ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.149[¸µµ­»ö¤Ø]

¹ÓÅĹÀÆó¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

£±£°Ëü²ó¤Î¾¡Éé¤È¤Ï¤¹¤´¤¤¡£
£²¿Í¤Ç¤ä¤ë¾ì¹ç¤·¤«¹Íθ¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢£³¡¤£´¿Í¤Ç¤Î¥×¥í¥°¥é¥à¤Þ¤Ç¹½À®¤µ¤ì¤Æ¤¤¤ë¤Î¤Ë¶Ã¤­¤Þ¤·¤¿¡£
¼«Ê¬¤ÇÁȤó¤À¥×¥í¥°¥é¥à¤Ë³Ó¤Ù¡¢¤Ê¤ó¤È¸úΨ¤è¤¯ÁÈ¤Þ¤ì¤Æ¤¤¤ë¤«¤È´¶¿´¤¤¤¿¤·¤Þ¤·¤¿¡£
¤µ¤Æ¤³¤³¤ÏÅÒÇî¤Ç¤¹¡£
ÅöÁ³Æ¹¸µ¤¬Í­Íø¤Ë¤Ê¤ë¤è¤¦¤ÊÀïά¤òΩ¤Æ¤Æ²¼¤µ¤¤¡£
Îã¤Î·×»»·ë²Ì¤òį¤á¡¢´üÂÔÃͤ¬¹â¤¯¤Ê¤ëÁȤ߹ç¤ï¤»¤ÇºîÀï¤òÎý¤ê¤Þ¤¹¡£
¡ã¥Ò¥ó¥È¡ä¡§Æó¿Í¤ÇƱ»þ¤ËÁª¤Ö¤è¤¦¤Ë¸«¤»¤«¤±¡¢µÒ¤¬Àè¤Ë¤µ¤¤¤³¤í¤òÁª¤Ð¤»¤Þ¤¹¡£
 

¥Õ¥¡¥¤¥ë¤Î³«¤­Êý

 Åê¹Æ¼Ô¡§½é¿´¼ÔA  Åê¹ÆÆü¡§2008ǯ12·î 8Æü(·î)12»þ05ʬ31ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ½½¿ÊBasic¤ÇÊݸ¤·¤¿¥Õ¥¡¥¤¥ë¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤Æ¤â³«¤­¤Þ¤»¤ó¡£
¤É¤¦¤·¤¿¤é¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤Ç³«¤±¤ë¤Î¤Ç¤¹¤«¡©
¥×¥í¥°¥é¥à¤òµ¯Æ°¤·¤Æ¤«¤é¡¢¥Õ¥¡¥¤¥ë¤ò³«¤¯¤Î¤Ï¼Â»Ü¤Ç¤­¤Þ¤¹¡£
½é¿´¼Ô¤Ê¤Î¤Ç¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£
 

Re: ¥Õ¥¡¥¤¥ë¤Î³«¤­Êý

 Åê¹Æ¼Ô¡§ÇòÀС¡ÏÂÉ×  Åê¹ÆÆü¡§2008ǯ12·î 8Æü(·î)14»þ37ʬ17ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.151[¸µµ­»ö¤Ø]

¤¤¤¯¤Ä¤«ÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
£±¤Ä¤á¤Ï¡¤¥¤¥ó¥¹¥È¡¼¥éÈÇ¥À¥¦¥ó¥í¡¼¥É¤Î¥Ú¡¼¥¸¤«¤éBASIC728setup.exe¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¼Â¹Ô¤¹¤ë¤³¤È¤Ç¤¹¡£¤³¤ì¤¬°ìÈÖ´Êñ¤Ç¤¹¡£
£²¤Ä¤á2¤Ï¡¤BASIC¤Î¥Õ¥©¥ë¥À¤Ë¤¢¤ë,SETUP.BAT¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¤¹¡£¤Ê¤ª¡¤¥¨¥¯¥¹¥×¥í¡¼¥é¤Ç³ÈÄ¥»Ò¤òɽ¼¨¤¹¤ëÀßÄê¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤È¡È.BAT¡É¤ÎÉôʬ¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£
£³¤Ä¤á¤Ï¡¤FAQ¤Î¥Ú¡¼¥¸¤ÎBAS¥Õ¥¡¥¤¥ë¤Î´ØÏ¢ÉÕ¤±¤Î½¤Àµ¤Ë¤¢¤ê¤Þ¤¹¡£
 

Re: ¥Õ¥¡¥¤¥ë¤Î³«¤­Êý

 Åê¹Æ¼Ô¡§½é¿´¼ÔA  Åê¹ÆÆü¡§2008ǯ12·î 8Æü(·î)15»þ38ʬ6ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.152[¸µµ­»ö¤Ø]

ÇòÀС¡ÏÂÉ×ÀèÀ¸¤Ø

½½¿ÊBASIC¤Î³«È¯¼Ô¤Ç¤¢¤ëÇòÀÐÏÂÉ×ÀèÀ¸¤«¤é¡¢Á᮲óÅú¤ò¤¤¤¿¤À¤­¡¢¶²½Ì¤·¤Æ¤ª¤ê¤Þ¤¹¡£
¹â¹»¶µ»Õ¤ò¤·¤Æ¤¤¤ë¤Î¤Ç¡¢Æü¾ï¤Î¼ø¶È¶µºà¤È¤·¤Æ³èÍѤµ¤»¤Æ¤¤¤¿¤À¤­¤¿¤¤¤È»×¤¤¤Þ¤¹¡£

»Ø¼¨¤µ¤ì¤¿£²¤Ä¤á¤ÎÊýË¡¤Ç¡¢¾å¼ê¤¯¼Â¹Ô¤Ç¤­¤Þ¤·¤¿¡£
ËÜÅö¤Ë¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£
º£¸å¤È¤â¤è¤í¤·¤¯¤´»ØÆ³²¼¤µ¤¤¡£


> ¤¤¤¯¤Ä¤«ÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
> £±¤Ä¤á¤Ï¡¤¥¤¥ó¥¹¥È¡¼¥éÈÇ¥À¥¦¥ó¥í¡¼¥É¤Î¥Ú¡¼¥¸¤«¤éBASIC728setup.exe¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¼Â¹Ô¤¹¤ë¤³¤È¤Ç¤¹¡£¤³¤ì¤¬°ìÈÖ´Êñ¤Ç¤¹¡£
> £²¤Ä¤á2¤Ï¡¤BASIC¤Î¥Õ¥©¥ë¥À¤Ë¤¢¤ë,SETUP.BAT¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¤¹¡£¤Ê¤ª¡¤¥¨¥¯¥¹¥×¥í¡¼¥é¤Ç³ÈÄ¥»Ò¤òɽ¼¨¤¹¤ëÀßÄê¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤È¡È.BAT¡É¤ÎÉôʬ¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£
> £³¤Ä¤á¤Ï¡¤FAQ¤Î¥Ú¡¼¥¸¤ÎBAS¥Õ¥¡¥¤¥ë¤Î´ØÏ¢ÉÕ¤±¤Î½¤Àµ¤Ë¤¢¤ê¤Þ¤¹¡£
 

½½¿ÊBASIC¤Î¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ

 Åê¹Æ¼Ô¡§¥ÉÁÇ¿Í  Åê¹ÆÆü¡§2008ǯ12·î11Æü(ÌÚ)11»þ59ʬ5ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ½½¿ÊBASIC¤Çµ¼»÷Íð¿ô¤ò»È¤Ã¤¿¥×¥í¥°¥é¥à¤òºîÀ®¤·¤¿¤¤¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£ÂÇΨ¤Î¥Ç¡¼¥¿¤ò´ð¤Ë¡¢¤É¤¦¤¤¤¦Âǽç¤òÁȤá¤Ð¸úΨ¤è¤¯ÅÀ¤¬¼è¤ì¤ë¤Î¤«¤ò¡¢Íð¿ô¤òȯÀ¸¤µ¤»¤Æºî¤ê¤¿¤¤¤Î¤Ç¤¹¤¬¡¢¤É¤¦¤·¤¿¤é¤¤¤¤¤Ç¤·¤ç¤¦¤«¡©  

Re: ½½¿ÊBASIC¤Î¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ12·î11Æü(ÌÚ)19»þ54ʬ8ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.154[¸µµ­»ö¤Ø]

¥ÉÁǿͤµ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

ÂǤä¿¡¢Á÷¤Ã¤¿¤Îñ½ã¤Ç¡¢5000»î¹ç¤ÎÊ¿¶Ñ¤òɽ¼¨¤·¤Þ¤¹¡£
£±»î¹ç¤´¤È¤ÎÆâÌõ¤Ï¡¢PRINTʸ¤ÎÃí¼á¤òºï½ü¤¹¤ì¤Ðɽ¼¨¤µ¤ì¤Þ¤¹¡£
¤¿¤À¤·¡¢5000²ó»î¹ç¤Îɽ¼¨¤Ë¤Ï»þ´Ö¤¬¤«¤«¤ê¤Þ¤¹¡£¡Ê¼ÂÍÑŪ¤Ç¤Ê¤¤¡Ë
!Âǽç¹Í»¡¤Î¤¿¤á¤Î¥·¥ß¥å¥ì¡¼¥·¥ç¥ó

DATA 0.2, 0.2, 0.3, 0.3, 0.3, 0.2, 0.2, 0.1, 0.1
!DATA 0.1, 0.2, 0.2, 0.3, 0.2, 0.1, 0.3, 0.2, 0.3
!DATA 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2
DIM D(9) !£¹¿Íʬ¤ÎÂÇΨ
MAT READ D

RANDOMIZE

LET N=5000 !»î¹ç¿ô
FOR x=1 TO N

   DIM SM(N) !Áí¹çÆÀÅÀ
   LET P=1 !Âǽç

   FOR w=1 TO 9 !£¹²ó¤Þ¤Ç

      LET B=0 !ÎݤξõÂÖ
      LET S1=0 !ÆÀÅÀ
      LET O=0
      DO UNTIL O=3 !£³¥¢¥¦¥È¤Þ¤Ç
      !PRINT P;"ÈÖÂǼԡ§";
         IF RND<D(P) THEN !¥Ò¥Ã¥È¤Ê¤é
            LET t=INT(RND*10)+1 !ĹÂÇΨ¤Ê¤É¡¡¢¨£±¡Á10
            SELECT CASE t
            CASE 1,2,3,4
               LET v=1
            CASE 5,6,7
               LET v=2
            CASE 8,9
               LET v=3
            CASE ELSE
               LET v=4
            END SELECT
            !PRINT v;"ÎÝÂÇ", !£±¡Á£´

            LET B=B*10+1 !vÎÝÂǤÇÁö¼Ô¤òÁ÷¤ë
            LET S1=S1+INT(B/10^3)
            LET B=MOD(B,10^3)
            FOR i=0 TO v-2
               LET B=B*10
               LET S1=S1+INT(B/10^3)
               LET B=MOD(B,10^3)
            NEXT i
         ELSE
            LET O=O+1
            !PRINT "¥¢¥¦¥È",
         END IF
         !PRINT USING "# %%%": S1,B !ÎݤξõÂÖ

         LET P=P+1 !¼¡¤Ø
         IF P>9 THEN LET P=1
      LOOP

      !PRINT w;"²ó";S1;"ÅÀ"
      !PRINT
      LET SM(w)=SM(w)+S1
   NEXT w

NEXT x


LET S=0 !ÆÀÅÀ¤ÎʬÉÛ
FOR w=1 TO 9
   PRINT w;"²ó";SM(w)/N;"ÅÀ"
   LET S=S+SM(w)
NEXT w
PRINT "Áí¹çÆÀÅÀ=";S/N


END
 

Re: ½½¿ÊBASIC¤Î¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ

 Åê¹Æ¼Ô¡§¥ÉÁÇ¿Í  Åê¹ÆÆü¡§2008ǯ12·î15Æü(·î)16»þ11ʬ49ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.155[¸µµ­»ö¤Ø]

»³ÃæÏµÁ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

ÁÇÁᤤ¤ªÊÖ»ö¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£¤È¤Æ¤â½õ¤«¤ê¤Þ¤·¤¿¡£¤Þ¤¿¤ï¤«¤é¤Ê¤¤¤³¤È¤¬¤¢¤Ã¤¿¤éÅê¹Æ¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤¹¡£
 

Re: ½½¿ÊBASIC¤Î¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2008ǯ12·î16Æü(²Ð)12»þ15ʬ34ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.154[¸µµ­»ö¤Ø]

¥ÉÁǿͤµ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

9¿Í¤Ç¤ÎÂǽç¤Ï 9!=362880Ä̤ꤢ¤ê¤Þ¤¹¤¬¡¢³ÆÂǽ礴¤È¤Ë1000»î¹ç¤ò¥·¥ß¥å¥ì¡¼¥È¤·¤Þ¤·¤¿¡£
»î¹ç¤Î¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤Ïñ½ã¤Ë¥Ò¥Ã¥È3ËܤÇ1ÅÀ¡¢°Ê²¼¥Ò¥Ã¥È1Ëܤ´¤È¤Ë1ÅÀÄɲá£
¼Â¹Ô¤Ë¤Ï2¿Ê¥â¡¼¥É¤ÇÌó2»þ´Ö20ʬ¤«¤«¤ê¤Þ¤·¤¿¡£
¤¿¤À¤·1000»î¹ç¤Ç¤Ï»î¹Ô²ó¿ô¤¬¾¯¤Ê¤¯¡¢¤È¤¯¤Ë³ÆÂǼԤÎÂÇΨ¤Î¥Ð¥é¤Ä¤­¤¬¾®¤µ¤¤¤È¤­¤Ï·ë²Ì¤Î¿®ÍêÀ­¤ÏÄ㤤¤È»×¤¤¤Þ¤¹¡£
¾å°Ì100°Ì¤ò½ÐÎϤ·¤Þ¤·¤¿¤¬¡¢¤¢¤¯¤Þ¤Ç¤â·¹¸þ¤òÃÎ¤ë¤Æ¤¤¤É¤À¤È¾µÃΤ·¤Æ²¼¤µ¤¤¡£

DECLARE EXTERNAL SUB perm
PUBLIC NUMERIC player,games,rank,total_point,worst_point
PUBLIC NUMERIC ave(9),best_order(100,9),best_point(100)
PRINT TIME$
LET t=TIME
LET player=9   ! 9!=362880Ä̤ê
LET games=1000 ! »î¹ç¿ô
LET rank=100   ! ¥é¥ó¥¯
MAT READ ave
DATA .460,.420,.380,.340,.300,.260,.220,.180,.140
!DATA .380,.360,.340,.320,.300,.280,.260,.240,.220
DIM a(player)
FOR i=1 TO player
   LET a(i)=i
NEXT i
MAT best_order=ZER
MAT best_point=ZER
LET total_point=0
LET worst_point=10*games
CALL perm(a,1)
FOR i=1 TO rank
   PRINT USING "No##  Âǽç" : i;
   FOR j=1 TO player
      PRINT best_order(i,j);
   NEXT j
   PRINT USING "  ´üÂÔÃÍ-%.### ÅÀ":best_point(i)/games
NEXT i
PRINT "ºÇÄã´üÂÔÃÍ =";worst_point/games;"ÅÀ"
PRINT "Ê¿¶Ñ =";total_point/(games*FACT(player));"ÅÀ"
PRINT TIME-t;"sec"
END

EXTERNAL SUB simulation(order())
LET sum_point=0
FOR i=1 TO games
   LET at_bat=0
   FOR inning=1 TO 9 ! 9²ó
      LET out_count=0
      LET hit=0
      DO
         IF ave(order(MOD(at_bat,player)+1))>RND THEN
            LET hit=hit+1
            IF hit>=3 THEN LET sum_point=sum_point+1
         ELSE
            LET out_count=out_count+1
         END IF
         LET at_bat=at_bat+1
      LOOP UNTIL out_count=3
   NEXT inning
NEXT i
LET total_point=total_point+sum_point
IF sum_point>best_point(rank) THEN ! ¥é¥ó¥¯ÉÕ¤±
   LET best_point(rank)=sum_point
   FOR j=1 TO player
      LET best_order(rank,j)=order(j)
   NEXT j
   FOR i=rank TO 2 STEP -1
      IF best_point(i)>best_point(i-1) THEN
         SWAP best_point(i),best_point(i-1)
         FOR j=1 TO player
            SWAP best_order(i,j),best_order(i-1,j)
         NEXT j
      ELSE
         EXIT SUB
      END IF
   NEXT i
ELSEIF sum_point<worst_point THEN
   LET worst_point=sum_point
END IF
END SUB

REM ½½¿ÊBASICźÉÕ"\BASICw32\SAMPLE\PERMUTAT.BAS"¤è¤ê
REM 1¡Án¤Î½çÎó¤ò¼­½ñ¼°½ç½ø¤ÇÀ¸À®¤¹¤ë¡£
EXTERNAL SUB perm(a(),n)
DECLARE EXTERNAL SUB simulation
IF n=player THEN
   CALL simulation(a)
ELSE
   FOR i=n TO player
      LET t=a(i)
      FOR j=i-1 TO n STEP -1
         LET a(j+1)=a(j)
      NEXT j
      LET a(n)=t
      CALL perm(a,n+1)
      LET t=a(n)
      FOR j=n TO i-1
         LET a(j)=a(j+1)
      NEXT j
      LET a(i)=t
   NEXT i
END IF
END SUB

No 1  Âǽç 2  1  3  4  6  5  7  9  8   ´üÂÔÃÍ 2.952 ÅÀ
No 2  Âǽç 3  4  1  2  5  6  9  8  7   ´üÂÔÃÍ 2.914 ÅÀ
No 3  Âǽç 4  3  5  1  2  6  8  7  9   ´üÂÔÃÍ 2.905 ÅÀ
No 4  Âǽç 6  3  4  1  2  5  9  8  7   ´üÂÔÃÍ 2.902 ÅÀ
No 5  Âǽç 7  6  3  2  1  5  4  8  9   ´üÂÔÃÍ 2.895 ÅÀ
No 6  Âǽç 3  1  2  4  5  6  7  9  8   ´üÂÔÃÍ 2.889 ÅÀ
No 7  Âǽç 1  5  4  3  2  6  9  8  7   ´üÂÔÃÍ 2.880 ÅÀ
No 8  Âǽç 4  1  3  2  5  6  8  9  7   ´üÂÔÃÍ 2.879 ÅÀ
No 9  Âǽç 4  2  3  1  5  6  8  9  7   ´üÂÔÃÍ 2.879 ÅÀ
No10  Âǽç 6  5  3  1  2  4  7  8  9   ´üÂÔÃÍ 2.879 ÅÀ
No11  Âǽç 2  5  4  1  3  6  7  9  8   ´üÂÔÃÍ 2.878 ÅÀ
No12  Âǽç 4  2  5  1  3  6  9  8  7   ´üÂÔÃÍ 2.875 ÅÀ
No13  Âǽç 1  2  5  4  3  7  6  9  8   ´üÂÔÃÍ 2.871 ÅÀ
No14  Âǽç 5  3  4  2  1  6  7  9  8   ´üÂÔÃÍ 2.870 ÅÀ
No15  Âǽç 5  4  2  1  3  9  7  8  6   ´üÂÔÃÍ 2.869 ÅÀ
No16  Âǽç 2  1  3  4  5  6  7  9  8   ´üÂÔÃÍ 2.867 ÅÀ
No17  Âǽç 4  2  3  1  5  6  9  8  7   ´üÂÔÃÍ 2.865 ÅÀ
No18  Âǽç 5  1  3  4  2  6  7  8  9   ´üÂÔÃÍ 2.865 ÅÀ
No19  Âǽç 2  3  4  5  1  7  6  8  9   ´üÂÔÃÍ 2.864 ÅÀ
No20  Âǽç 6  2  4  3  1  5  9  8  7   ´üÂÔÃÍ 2.864 ÅÀ
No21  Âǽç 3  6  4  1  2  8  9  5  7   ´üÂÔÃÍ 2.863 ÅÀ
No22  Âǽç 5  4  2  1  3  6  7  9  8   ´üÂÔÃÍ 2.862 ÅÀ
No23  Âǽç 6  2  1  4  3  7  9  5  8   ´üÂÔÃÍ 2.861 ÅÀ
No24  Âǽç 7  5  3  1  2  4  6  8  9   ´üÂÔÃÍ 2.861 ÅÀ
No25  Âǽç 3  1  2  5  4  6  7  9  8   ´üÂÔÃÍ 2.860 ÅÀ
No26  Âǽç 2  1  5  4  9  8  7  6  3   ´üÂÔÃÍ 2.859 ÅÀ
No27  Âǽç 2  3  1  4  5  6  8  9  7   ´üÂÔÃÍ 2.858 ÅÀ
No28  Âǽç 7  3  4  1  2  9  8  5  6   ´üÂÔÃÍ 2.857 ÅÀ
No29  Âǽç 2  4  1  3  5  7  6  8  9   ´üÂÔÃÍ 2.856 ÅÀ
No30  Âǽç 9  5  4  1  3  2  6  7  8   ´üÂÔÃÍ 2.856 ÅÀ
No31  Âǽç 2  1  5  3  4  7  6  9  8   ´üÂÔÃÍ 2.853 ÅÀ
No32  Âǽç 4  1  3  5  2  6  7  9  8   ´üÂÔÃÍ 2.852 ÅÀ
No33  Âǽç 4  1  5  3  2  9  7  8  6   ´üÂÔÃÍ 2.852 ÅÀ
No34  Âǽç 4  5  3  2  1  6  9  8  7   ´üÂÔÃÍ 2.852 ÅÀ
No35  Âǽç 2  5  1  4  3  6  9  7  8   ´üÂÔÃÍ 2.851 ÅÀ
No36  Âǽç 3  4  2  1  7  6  9  5  8   ´üÂÔÃÍ 2.850 ÅÀ
No37  Âǽç 5  3  4  2  1  6  9  8  7   ´üÂÔÃÍ 2.850 ÅÀ
No38  Âǽç 2  3  1  4  5  6  9  8  7   ´üÂÔÃÍ 2.849 ÅÀ
No39  Âǽç 4  2  3  5  1  6  7  9  8   ´üÂÔÃÍ 2.849 ÅÀ
No40  Âǽç 2  4  1  5  3  7  9  8  6   ´üÂÔÃÍ 2.848 ÅÀ
No41  Âǽç 5  7  4  1  3  2  8  9  6   ´üÂÔÃÍ 2.847 ÅÀ
No42  Âǽç 2  4  1  5  3  7  8  9  6   ´üÂÔÃÍ 2.846 ÅÀ
No43  Âǽç 4  3  2  1  5  7  8  9  6   ´üÂÔÃÍ 2.845 ÅÀ
No44  Âǽç 1  4  2  3  8  7  9  5  6   ´üÂÔÃÍ 2.844 ÅÀ
No45  Âǽç 4  3  1  2  5  6  9  7  8   ´üÂÔÃÍ 2.844 ÅÀ
No46  Âǽç 7  3  2  1  4  5  6  9  8   ´üÂÔÃÍ 2.844 ÅÀ
No47  Âǽç 4  2  3  1  5  9  7  8  6   ´üÂÔÃÍ 2.843 ÅÀ
No48  Âǽç 5  2  3  1  4  6  8  7  9   ´üÂÔÃÍ 2.843 ÅÀ
No49  Âǽç 5  3  2  4  1  7  6  8  9   ´üÂÔÃÍ 2.842 ÅÀ
No50  Âǽç 2  1  4  3  5  8  6  7  9   ´üÂÔÃÍ 2.841 ÅÀ
No51  Âǽç 4  6  3  1  2  8  5  9  7   ´üÂÔÃÍ 2.841 ÅÀ
No52  Âǽç 5  4  1  2  3  9  8  7  6   ´üÂÔÃÍ 2.841 ÅÀ
No53  Âǽç 2  4  3  1  5  8  9  6  7   ´üÂÔÃÍ 2.840 ÅÀ
No54  Âǽç 3  2  1  4  5  8  9  7  6   ´üÂÔÃÍ 2.840 ÅÀ
No55  Âǽç 9  2  3  4  1  5  6  7  8   ´üÂÔÃÍ 2.839 ÅÀ
No56  Âǽç 6  5  2  1  4  3  8  9  7   ´üÂÔÃÍ 2.838 ÅÀ
No57  Âǽç 7  3  6  1  2  4  5  8  9   ´üÂÔÃÍ 2.838 ÅÀ
No58  Âǽç 3  5  7  2  1  4  6  8  9   ´üÂÔÃÍ 2.837 ÅÀ
No59  Âǽç 4  3  1  2  7  5  8  9  6   ´üÂÔÃÍ 2.837 ÅÀ
No60  Âǽç 4  6  2  3  1  5  7  8  9   ´üÂÔÃÍ 2.837 ÅÀ
No61  Âǽç 4  6  3  2  1  5  8  9  7   ´üÂÔÃÍ 2.837 ÅÀ
No62  Âǽç 6  1  2  4  3  8  5  9  7   ´üÂÔÃÍ 2.837 ÅÀ
No63  Âǽç 2  4  3  1  5  8  6  9  7   ´üÂÔÃÍ 2.836 ÅÀ
No64  Âǽç 4  3  5  2  1  6  9  8  7   ´üÂÔÃÍ 2.836 ÅÀ
No65  Âǽç 4  5  1  2  3  6  7  9  8   ´üÂÔÃÍ 2.836 ÅÀ
No66  Âǽç 1  4  3  5  6  8  9  7  2   ´üÂÔÃÍ 2.835 ÅÀ
No67  Âǽç 4  3  1  2  5  6  9  8  7   ´üÂÔÃÍ 2.835 ÅÀ
No68  Âǽç 4  6  1  2  3  5  8  9  7   ´üÂÔÃÍ 2.835 ÅÀ
No69  Âǽç 5  4  1  3  6  9  8  7  2   ´üÂÔÃÍ 2.835 ÅÀ
No70  Âǽç 6  3  4  1  2  7  5  8  9   ´üÂÔÃÍ 2.835 ÅÀ
No71  Âǽç 1  3  2  4  6  9  8  5  7   ´üÂÔÃÍ 2.834 ÅÀ
No72  Âǽç 3  2  1  4  6  7  5  8  9   ´üÂÔÃÍ 2.834 ÅÀ
No73  Âǽç 4  1  3  2  5  6  7  8  9   ´üÂÔÃÍ 2.834 ÅÀ
No74  Âǽç 6  5  3  4  1  2  7  8  9   ´üÂÔÃÍ 2.834 ÅÀ
No75  Âǽç 7  4  5  1  2  3  6  9  8   ´üÂÔÃÍ 2.834 ÅÀ
No76  Âǽç 3  1  2  6  5  4  7  8  9   ´üÂÔÃÍ 2.833 ÅÀ
No77  Âǽç 6  1  2  3  4  5  8  9  7   ´üÂÔÃÍ 2.833 ÅÀ
No78  Âǽç 6  3  1  2  5  4  9  7  8   ´üÂÔÃÍ 2.833 ÅÀ
No79  Âǽç 7  3  6  1  2  5  4  8  9   ´üÂÔÃÍ 2.833 ÅÀ
No80  Âǽç 5  2  3  1  4  7  8  9  6   ´üÂÔÃÍ 2.832 ÅÀ
No81  Âǽç 7  4  5  3  1  2  6  8  9   ´üÂÔÃÍ 2.832 ÅÀ
No82  Âǽç 3  1  2  7  4  6  9  8  5   ´üÂÔÃÍ 2.831 ÅÀ
No83  Âǽç 3  1  4  2  7  8  9  6  5   ´üÂÔÃÍ 2.831 ÅÀ
No84  Âǽç 3  2  1  4  5  7  9  8  6   ´üÂÔÃÍ 2.831 ÅÀ
No85  Âǽç 5  3  1  2  4  6  9  7  8   ´üÂÔÃÍ 2.831 ÅÀ
No86  Âǽç 5  6  1  2  4  3  7  8  9   ´üÂÔÃÍ 2.831 ÅÀ
No87  Âǽç 6  3  4  1  2  7  5  9  8   ´üÂÔÃÍ 2.831 ÅÀ
No88  Âǽç 1  2  3  5  4  9  7  8  6   ´üÂÔÃÍ 2.830 ÅÀ
No89  Âǽç 2  5  1  3  4  7  9  8  6   ´üÂÔÃÍ 2.830 ÅÀ
No90  Âǽç 6  5  3  1  4  2  7  9  8   ´üÂÔÃÍ 2.830 ÅÀ
No91  Âǽç 6  9  3  4  2  1  5  7  8   ´üÂÔÃÍ 2.830 ÅÀ
No92  Âǽç 2  1  4  5  7  9  8  6  3   ´üÂÔÃÍ 2.829 ÅÀ
No93  Âǽç 5  1  4  3  2  7  9  8  6   ´üÂÔÃÍ 2.829 ÅÀ
No94  Âǽç 8  5  1  4  2  3  6  9  7   ´üÂÔÃÍ 2.829 ÅÀ
No95  Âǽç 1  2  3  4  6  9  8  7  5   ´üÂÔÃÍ 2.828 ÅÀ
No96  Âǽç 3  4  1  2  6  7  9  5  8   ´üÂÔÃÍ 2.828 ÅÀ
No97  Âǽç 1  3  5  2  4  6  7  8  9   ´üÂÔÃÍ 2.827 ÅÀ
No98  Âǽç 2  1  3  5  4  7  9  8  6   ´üÂÔÃÍ 2.827 ÅÀ
No99  Âǽç 3  4  1  2  5  6  7  9  8   ´üÂÔÃÍ 2.826 ÅÀ
No100 Âǽç 4  2  1  3  5  8  9  7  6   ´üÂÔÃÍ 2.826 ÅÀ

ºÇÄã´üÂÔÃÍ = 2.073 ÅÀ
Ê¿¶Ñ = 2.44374 ÅÀ
 

¥×¥í¥°¥é¥à¤Î½ñ¤­Ä¾¤·

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ12·î16Æü(²Ð)22»þ55ʬ17ÉÃ
ÊÖ¿®¡¦°úÍÑ
  UBASIC¤Ë¤è¤ë¼¡¤Î¥×¥í¥°¥é¥à¤ò½½¿ÊBASIC¤Ë½ñ¤­Ä¾¤·¤Æ¤â¤é¤¤¤¿¤¤¤Î¤Ç¤¹¤¬¡¢¤É¤Ê¤¿¤«¤è¤í¤·¤¯¤ª´ê¤¤¤¤¤¿¤·¤Þ¤¹¡£

10 !euler function
20 input "n=";M
30 Mw=M:Phi=1
40 repeat
50   P=prmdiv(Mw)
60   Phi*=P-1:Mw\=P
70   while Mw@P=0:Phi*=P:Mw\=P:wend
80 until Mw=1
90 print Phi
100 end


¥ª¥¤¥é¡¼´Ø¿ô¡Ê1 ¤«¤é n ¤Þ¤Ç¤Î¼«Á³¿ô¤Î¤¦¤Á n ¤È¸ß¤¤¤ËÁǤʤâ¤Î¤Î¸Ä¿ô¡Ë
¤òµá¤á¤ëÌÜŪ¤Ç¤¹¡£
 

Re: ¥×¥í¥°¥é¥à¤Î½ñ¤­Ä¾¤·

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ12·î17Æü(¿å)05»þ50ʬ56ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.158[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

!¡¡´Ø¿ô prmdiv() ¤ÎËÜÍè¤Ï¡¢ÁÇ¿ô¤Ç³ä¤Ã¤Æ¤¤¤¯¤è¤¦¤Ç¤¹¡£

! euler function
!------------------
INPUT PROMPT "n=":M
LET Mw=M
LET Phi=1
DO
   LET P=prmdiv(Mw)
   LET Phi=Phi*(P-1)
   LET Mw=INT(Mw/P)
   DO WHILE MOD(Mw,P)=0
      LET Phi=Phi*P
      LET Mw=INT(Mw/P)
   LOOP
LOOP UNTIL Mw=1
PRINT Phi

FUNCTION prmdiv(Mw) !£±¡ã¤ÎºÇ¾®¤ÎÌó¿ô
   FOR i=2 TO Mw
      IF MOD(Mw,i)=0 THEN EXIT FOR
   NEXT i
   LET prmdiv=i
END FUNCTION

END

¡ã¥×¥í¥°¥é¥à¤Î¾È¹çÍÑ¤Ë¡ä ¸¶Ê¸¤ò uBASIC ¤Ç¡¢¼Â¹Ô¤·¤¿·ë²Ì¡£
run
n=2~400
   1   2   2   4   2   6   4   6   4  10   4  12   6   8   8  16   6  18   8  12
  10  22   8  20  12  18  12  28   8  30  16  20  16  24  12  36  18  24  16  40
  12  42  20  24  22  46  16  42  20  32  24  52  18  40  24  36  28  58  16  60
  30  36  32  48  20  66  32  44  24  70  24  72  36  40  36  60  24  78  32  54
  40  82  24  64  42  56  40  88  24  72  44  60  46  72  32  96  42  60  40 100
  32 102  48  48  52 106  36 108  40  72  48 112  36  88  56  72  58  96  32 110
  60  80  60 100  36 126  64  84  48 130  40 108  66  72  64 136  44 138  48  92
  70 120  48 112  72  84  72 148  40 150  72  96  60 120  48 156  78 104  64 132
  54 162  80  80  82 166  48 156  64 108  84 172  56 120  80 116  88 178  48 180
  72 120  88 144  60 160  92 108  72 190  64 192  96  96  84 196  60 198  80 132
100 168  64 160 102 132  96 180  48 210 104 140 106 168  72 180 108 144  80 192
  72 222  96 120 112 226  72 228  88 120 112 232  72 184 116 156  96 238  64 240
110 162 120 168  80 216 120 164 100 250  72 220 126 128 128 256  84 216  96 168
130 262  80 208 108 176 132 268  72 270 128 144 136 200  88 276 138 180  96 280
  92 282 140 144 120 240  96 272 112 192 144 292  84 232 144 180 148 264  80 252
150 200 144 240  96 306 120 204 120 310  96 312 156 144 156 316 104 280 128 212
132 288 108 240 162 216 160 276  80 330 164 216 166 264  96 336 156 224 128 300
108 294 168 176 172 346 112 348 120 216 160 352 116 280 176 192 178 358  96 342
180 220 144 288 120 366 176 240 144 312 120 372 160 200 184 336 108 378 144 252
190 382 128 240 192 252 192 388  96 352 168 260 196 312 120 396 198 216 160
OK
 

Re: ¥×¥í¥°¥é¥à¤Î½ñ¤­Ä¾¤·

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2008ǯ12·î17Æü(¿å)10»þ56ʬ47ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.159[¸µµ­»ö¤Ø]

SECOND¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£


> FUNCTION prmdiv(Mw) !£±¡ã¤ÎºÇ¾®¤ÎÌó¿ô
>    FOR i=2 TO Mw
>       IF MOD(Mw,i)=0 THEN EXIT FOR
>    NEXT i
>    LET prmdiv=i
> END FUNCTION



´Ø¿ôÄêµÁ¤ò²þÎɤ·¤Þ¤·¤¿¡£
°ú¿ô¤¬Â礭¤¯¡¢ºÇ¾®¤ÎÌó¿ô¤âÂ礭¤¤¤È¤­¸ú²Ì¤¬¤¢¤ê¤Þ¤¹¡£

FUNCTION prmdiv(Mw) !£±¡ã¤ÎºÇ¾®¤ÎÌó¿ô
   IF MOD(Mw,2)=0 THEN
      LET prmdiv=2
      EXIT FUNCTION
   ELSEIF MOD(Mw,3)=0 THEN
      LET prmdiv=3
      EXIT FUNCTION
   END IF
   FOR i=5 TO SQR(Mw) STEP 6
      IF MOD(Mw,i)=0 THEN
         LET prmdiv=i
         EXIT FUNCTION
      ELSEIF MOD(Mw,i+2)=0 THEN
         LET prmdiv=i+2
         EXIT FUNCTION
      END IF
   NEXT i
   LET prmdiv=Mw
END FUNCTION
 

¸ÇÍ­¥Ù¥¯¥È¥ë¤Î»»Ë¡

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ12·î17Æü(¿å)12»þ42ʬ29ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  ¸ÇÍ­¥Ù¥¯¥È¥ë¤ò¹â®¤Ë»»½Ð¤¹¤ëÊýË¡¤ò¡¢¤´»ØÆ³¤¯¤À¤µ¤¤¡£
¢¨¶á»÷ÃͤǤâ¤è¤¤¤Ç¤¹¡££Ã£Á£Ä¤Ê¤É¡¢¤«¤Ê¤ê®¤¤¤Ç¤¹¤¬¡¢
¡¡¤É¤ó¤Ê¥¢¥ë¥´¥ê¥º¥à¤¬¡¢»È¤ï¤ì¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£
 

Re: ¸ÇÍ­¥Ù¥¯¥È¥ë¤Î»»Ë¡

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ12·î17Æü(¿å)13»þ23ʬ36ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.161[¸µµ­»ö¤Ø]

SECOND¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¤É¤Ê¤¿¤«¡¢¸ÇÍ­¥Ù¥¯¥È¥ë¤ò¹â®¤Ë»»½Ð¤¹¤ëÊýË¡¤ò¡¢¤´»ØÆ³¤¯¤À¤µ¤¤¡£
> £Ã£Á£Ä¤Ê¤É¤Ï¡¢Â®¤¤¤Ç¤¹¤¬¡¢¤É¤ó¤Ê¥¢¥ë¥´¥ê¥º¥à¤¬¡¢»È¤ï¤ì¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£


¡¦ÂоιÔÎó
¡¡¥ä¥³¥ÓË¡

¥¢¥ë¥´¥ê¥º¥à¤ÎËܤ˷Ǻܤµ¤ì¤Æ¤¤¤ë¡£¼ê¸µ¤Ë¥³¡¼¥É¤Ê¤·¡£


¡¦ºÇÂç¤Î¸ÇÍ­ÃÍ¡¦¸ÇÍ­¥Ù¥¯¥È¥ë¤Î»»½Ð
¡¡¤Ù¤­¾èË¡¡Ê¥Ñ¥ï¡¼Ë¡¡Ë

¥¢¥ë¥´¥ê¥º¥à¤ÎËܤ˷Ǻܤµ¤ì¤Æ¤¤¤ë¡£
¿ôÃÍ·×»»¤ÎÀìÌç½ñ¤Ë¤Ï¡¢Ê£ÁÇ¿ô¤Ø¤Î³ÈÄ¥¤¬¤µ¤ì¤Æ¤¤¤ë¡£

!¤Ù¤­¾èË¡¤Ë¤è¤ë¹ÔÎó¤Î¸ÇÍ­ÃͤȸÇÍ­¥Ù¥¯¥È¥ë¤òµá¤á¤ë
!¢¨¸ÇÍ­Ãͤ¬£°¡¢½ÅÊ£¤¹¤ë¾ì¹ç¤ÏŬÍѤǤ­¤Ê¤¤¡£
!¢¨¼Â¿ô¤Î¸ÇÍ­ÃͤΤߡ£µõ¿ô¤ò´Þ¤à²ò¤ÏÆÀ¤é¤ì¤Ê¤¤¡£

!Ax=¦ËIx¡¢¦Ë:¸ÇÍ­ÃÍ¡¢x:¸ÇÍ­¥Ù¥¯¥È¥ë

LET N=3 !N¼¡ÀµÊý¹ÔÎó


DATA 2,1,-1 !¦Ë=3,2,1
DATA 0,3,0
DATA 0,2,1

!DATA 0,1,1 !¦Ë=2,1,0
!DATA -4,4,2
!DATA 4,-3,-1

!DATA 1,0,0 !¦Ë=1¡Ê£³½Åº¬¡Ë
!DATA 0,1,1
!DATA 0,0,1

DIM A(N,N) !¹ÔÎóA
MAT READ A
MAT PRINT A;


LET cEps=1e-6 !¸íº¹¡¡¢¨Ä´À°Íס¢Ã±ÀºÅÙ

DIM u(N) !¸ÇÍ­¥Ù¥¯¥È¥ë

DIM AA(N,N) !ºî¶ÈÍÑ
MAT AA=A
FOR s=1 TO N !sÈÖÌÜ
   CALL EigenPower(N,AA, lambda,u)
   PRINT "¸ÇÍ­ÃÍ=";lambda
   PRINT "¸ÇÍ­¥Ù¥¯¥È¥ë"
   MAT PRINT u;

   FOR i=1 TO N !»Äº¹¹ÔÎó¤òµá¤á¤Æ¡¢¼¡¤Ø
      FOR j=1 TO N
         LET AA(i,j)=AA(i,j)-lambda*u(i)*u(j)
      NEXT j
   NEXT i
NEXT s




DEF norm(v())=SQR(DOT(v,v)) !¥Î¥ë¥à

SUB EigenPower(N,A(,), lambda,u()) !¸ÇÍ­ÃÍ¡ÊÀäÂÐÃͺÇÂç¡Ë¡¢¸ÇÍ­¥Ù¥¯¥È¥ë¤òµá¤á¤ë
   DIM u0(100),u2(100) !¢¨ºÇÂç100¼¡

   MAT u=CON !½é´üÃÍ¡¡¢¨¥Î¥ë¥à¤¬£±
   MAT u=(1/norm(u))*u

   LET cMax=100
   FOR i=1 TO cMax !ºÇÂç²ó¿ô¤Þ¤Ç·«¤êÊÖ¤¹
      MAT u0=u !ľÁ°¤Îu

      MAT u=A*u0
      WHEN EXCEPTION IN
         MAT u=(1/norm(u))*u !Àµµ¬²½¤¹¤ë
      USE
         PRINT "£°¥Ù¥¯¥È¥ë¤Ë¤Ê¤ê¤Þ¤·¤¿¡£"
         STOP
      END WHEN

      MAT u2=u-u0 !¼ý«¤·¤¿¤«³Îǧ¤¹¤ë
      IF norm(u2)<cEps THEN EXIT FOR
      MAT u2=u+u0
      IF norm(u2)<cEps THEN EXIT FOR
   NEXT i
   IF i>cMax THEN
      PRINT "¼ý«¤·¤Þ¤»¤ó¡£"
      STOP
   END IF

   MAT u2=A*u
   LET lambda=DOT(u2,u)/DOT(u,u) !¸ÇÍ­ÃÍ
END SUB


END
 

Re: ¸ÇÍ­¥Ù¥¯¥È¥ë¤Î»»Ë¡

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ12·î17Æü(¿å)14»þ10ʬ15ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.162[¸µµ­»ö¤Ø]

»³ÃæÏµÁ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£

¤Ê¤¼¤³¤ó¤Ê¤â¤Î¤ò¡¢¤È¤¤¤¦¤Î¤Ï¡¢
¿®¹æ¥Ù¥¯¥È¥ë¤Î¼«¸ÊÁê´Ø¥Þ¥È¥ê¥¯¥¹¤Î¸ÇÍ­¥Ù¥¯¥È¥ë¤ò´ðÄì¤È¤·¤Æ¡¢¼ÌÁü¤·¤¿¿®¹æ¥Ù¥¯¥È¥ë¤¬¡¢
¿®¹æ¥Ù¥¯¥È¥ë¤Î°µ½Ì¤Î¸Â³¦¡Ê£Ë£Ì£ÔÊÑ´¹¡Ë¤Ë¤Ê¤ë¤Î¤ò¼Â¸³¤·¤è¤¦¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£
¤Ç¤â¡¢¥ê¥¢¥ë¥¿¥¤¥à¤Ë¡¢£±£°£ø£±£°¤¯¤é¤¤¤Î¹ÔÎ󡡤Ȥ¤¤¦¤Î¤Ï¡¢¤­¤Ä¤¤¤Ç¤¹¡£
 

Re: ½½¿ÊBASIC¤Î¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ

 Åê¹Æ¼Ô¡§¥ÉÁÇ¿Í  Åê¹ÆÆü¡§2008ǯ12·î17Æü(¿å)15»þ02ʬ48ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.155[¸µµ­»ö¤Ø]

»³ÃæÏµÁ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

ÃúÇ«¤Ë¥×¥í¥°¥é¥à¤ò·ÇºÜ¤·¤Æ¤¤¤¿¤À¤­¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
¤Ò¤È¤Ä¼ÁÌ䤬¤¢¤ë¤Î¤Ç¤¹¤¬¡¢¡Ö£±»î¹ç¤´¤È¤ÎÆâÌõ¤Ï¡¢PRINTʸ¤ÎÃí¼á¤òºï½ü¤¹¤ì¤Ðɽ¼¨¤µ¤ì¤Þ¤¹¡£¡×¤È½ñ¤¤¤Æ¤¢¤ëÉôʬ¤Ï¡¢¶ñÂÎŪ¤Ë¤Ï¤É¤ÎÉôʬ¤Î¤³¤È¤ò¤µ¤·¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©£±»î¹ç¤´¤È¤ÎÆâÌõ¤òÃΤꤿ¤¤¤Î¤Ç¤¼¤Ò¶µ¤¨¤Æ¤¤¤¿¤À¤±¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡©¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£
 

Re: ½½¿ÊBASIC¤Î¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ12·î17Æü(¿å)15»þ42ʬ26ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.164[¸µµ­»ö¤Ø]

¥ÉÁǿͤµ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¤Ò¤È¤Ä¼ÁÌ䤬¤¢¤ë¤Î¤Ç¤¹¤¬¡¢¡Ö£±»î¹ç¤´¤È¤ÎÆâÌõ¤Ï¡¢PRINTʸ¤ÎÃí¼á¤òºï½ü¤¹¤ì¤Ðɽ¼¨¤µ¤ì¤Þ¤¹¡£¡×¤È½ñ¤¤¤Æ¤¢¤ëÉôʬ¤Ï¡¢¶ñÂÎŪ¤Ë¤Ï¤É¤ÎÉôʬ¤Î¤³¤È¤ò¤µ¤·¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©


!PRINT ¡Á¡¡¤Î·Á¤ÎÉôʬ¤Ç¤¹¡£½½¿ÊBASIC¤ÎÃí¼á¡Ê¥³¥á¥ó¥È¡Ë¤Ï´¶Ã²Éä¡Ê!¥Þ¡¼¥¯¡Ë¤Ç¤¹¡£

²¼µ­¤Ëºï½ü¤·¤¿¥×¥í¥°¥é¥à¤ò·ÇºÜ¤·¤Æ¤ª¤­¤Þ¤¹¡£

!Âǽç¹Í»¡¤Î¤¿¤á¤Î¥·¥ß¥å¥ì¡¼¥·¥ç¥ó

DATA 0.2, 0.2, 0.3, 0.3, 0.3, 0.2, 0.2, 0.1, 0.1
!DATA 0.1, 0.2, 0.2, 0.3, 0.2, 0.1, 0.3, 0.2, 0.3
!DATA 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2
DIM D(9) !£¹¿Íʬ¤ÎÂÇΨ
MAT READ D

RANDOMIZE

LET N=10 !»î¹ç¿ô¡¡¢¨Ä´À°Í×
FOR x=1 TO N
   PRINT !<----- ¤³¤³
   PRINT "***";x;"»î¹çÌÜ ***" !<----- ¤³¤³

   DIM SM(N) !Áí¹çÆÀÅÀ
   LET P=1 !Âǽç

   FOR w=1 TO 9 !£¹²ó¤Þ¤Ç

      LET B=0 !ÎݤξõÂÖ
      LET S1=0 !ÆÀÅÀ
      LET O=0
      DO UNTIL O=3 !£³¥¢¥¦¥È¤Þ¤Ç
         PRINT P;"ÈÖÂǼԡ§"; !<----- ¤³¤³
         IF RND<D(P) THEN !¥Ò¥Ã¥È¤Ê¤é
            LET t=INT(RND*10)+1 !ĹÂÇΨ¤Ê¤É¡¡¢¨£±¡Á10
            SELECT CASE t
            CASE 1,2,3,4
               LET v=1
            CASE 5,6,7
               LET v=2
            CASE 8,9
               LET v=3
            CASE ELSE
               LET v=4
            END SELECT
            PRINT v;"ÎÝÂÇ", !£±¡Á£´ <----- ¤³¤³

            LET B=B*10+1 !vÎÝÂǤÇÁö¼Ô¤òÁ÷¤ë
            LET S1=S1+INT(B/10^3)
            LET B=MOD(B,10^3)
            FOR i=0 TO v-2
               LET B=B*10
               LET S1=S1+INT(B/10^3)
               LET B=MOD(B,10^3)
            NEXT i
         ELSE
            LET O=O+1
            PRINT "¥¢¥¦¥È", !<----- ¤³¤³
         END IF
         PRINT USING "# %%%": S1,B !ÎݤξõÂÖ <----- ¤³¤³

         LET P=P+1 !¼¡¤Ø
         IF P>9 THEN LET P=1
      LOOP

      PRINT w;"²ó";S1;"ÅÀ" !<----- ¤³¤³
      PRINT !<----- ¤³¤³
      LET SM(w)=SM(w)+S1
   NEXT w

NEXT x


PRINT
LET S=0 !ÆÀÅÀ¤ÎʬÉÛ
FOR w=1 TO 9
   PRINT w;"²ó";SM(w)/N;"ÅÀ"
   LET S=S+SM(w)
NEXT w
PRINT "Áí¹çÆÀÅÀ=";S/N


END
 

Re: ½½¿ÊBASIC¤Î¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ

 Åê¹Æ¼Ô¡§¥ÉÁÇ¿Í  Åê¹ÆÆü¡§2008ǯ12·î17Æü(¿å)15»þ52ʬ47ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.155[¸µµ­»ö¤Ø]

»³ÃæÏµÁ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

¤¿¤Ó¤¿¤Ó¤¹¤ß¤Þ¤»¤ó¡£DATA¤Î¼¡¤Î¹Ô¤Ë½ñ¤¤¤Æ¤¢¤ë¡ªDATA¤Ï¤É¤Î¤è¤¦¤Ê°ÕÌ£¤¬¤¢¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©¤³¤³¤Ë¤Ï¤É¤Î¤è¤¦¤Ê¥Ç¡¼¥¿¤ò½ñ¤­¹þ¤á¤Ð¤¤¤¤¤Î¤Ç¤·¤ç¤¦¤«¡©Ìµ¤¯¤Æ¤âÌäÂê¤Ï¤Ê¤¤¤Î¤Ç¤·¤ç¤¦¤«¡©
 

Re: ½½¿ÊBASIC¤Î¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ12·î17Æü(¿å)16»þ23ʬ21ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.166[¸µµ­»ö¤Ø]

¥ÉÁǿͤµ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> DATA¤Î¼¡¤Î¹Ô¤Ë½ñ¤¤¤Æ¤¢¤ë¡ªDATA¤Ï¤É¤Î¤è¤¦¤Ê°ÕÌ£¤¬¤¢¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©¤³¤³¤Ë¤Ï¤É¤Î¤è¤¦¤Ê¥Ç¡¼¥¿¤ò½ñ¤­¹þ¤á¤Ð¤¤¤¤¤Î¤Ç¤·¤ç¤¦¤«¡©Ìµ¤¯¤Æ¤âÌäÂê¤Ï¤Ê¤¤¤Î¤Ç¤·¤ç¤¦¤«¡©


´¶Ã²É䤫¤é»Ï¤Þ¤ë¹Ô¤Ç¤¹¤«¤é¡¢¤³¤Î¹ÔÁ´ÂΤÏÃí¼á¤¹¤Ê¤ï¤Á¡Ö¼Â¹Ô¤µ¤ì¤Ê¤¤Ê¸¡×¤È¤Ê¤ê¤Þ¤¹¡£
¤·¤¿¤¬¤Ã¤Æ¡¢¤¢¤Ã¤Æ¤â̵¤¯¤Æ¤âÌäÂê¤Ë¤Ê¤ê¤Þ¤»¤ó¡£


¤³¤ÎÃí¼á¹Ô¤òÊѹ¹¤¹¤ë¤³¤È¤Ç¡¢Ê̤Υѥ¿¡¼¥ó¤¬¤¹¤Ð¤ä¤¯³Îǧ¤Ç¤­¤Þ¤¹¡£¡Ê¥á¥â¤â·ó¤Í¤ë¡Ë

Îã

DATA ¥Ñ¥¿¡¼¥ó£± <---- ¤³¤³¤¬¼Â¹Ô¤µ¤ì¤ë
!DATA ¥Ñ¥¿¡¼¥ó£²
!DATA ¥Ñ¥¿¡¼¥ó£³

¤ò

!DATA ¥Ñ¥¿¡¼¥ó£±
DATA ¥Ñ¥¿¡¼¥ó£²  <---- ¤³¤³¤¬¼Â¹Ô¤µ¤ì¤ë
!DATA ¥Ñ¥¿¡¼¥ó£³

¤ÈÊѹ¹¤·¤Æ¡¢¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¡£
 

ÊüʪÀþ£Ù¡á£Ø¡°£²¤ÎÍøÍÑ

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ12·î17Æü(¿å)17»þ46ʬ1ÉÃ
ÊÖ¿®¡¦°úÍÑ
  Y=X^2 ¤ÎÊüʪÀþ¤Î»×¤ï¤ÌÍøÍѤǡ¢£²¤Ä¤Î¿ô¤Î¤«¤±»»¤Î·ë²Ì¤ò¼¡¤Îºî¿Þ¤Çµá¤á¤ë¤³¤È¤ò¤ä¤ì¤ë¤³¤È¤òÃΤê¤Þ¤·¤¿¡£
Îã¡§£³¡ß£µ¡á£±£µ
¤Ç¤¢¤ë·×»»¤¬
ÊüʪÀþ¾å¤Ë£²ÅÀ£Á(-3,9)¤È£Â(5,25)¤ò¼è¤ê¡¢£Á¡¤£Â¤Î£²ÅÀ¤ò·ë¤ÖľÀþ¤¬£Ù¼´¤È¸ò¤ï¤ëÅÀ£Ð
¤òºî¿Þ¤Çµá¤á¤ë¡£
¤³¤Î£ÐÅÀ¤Î£ÙºÂɸ¤¬µá¤á¤ëÀѤÎÃͤòÃΤ餻¤ë¡£
°ìÈ̤ˣÁ(-a,(-a)^2),£Â(b,b^2)¤ò·ë¤ÖľÀþ¤¬£Ù¼´¤È¸ò¤ï¤ëÅÀ¤¬ÀÑa¡ßb¤ÎÃͤò¼¨¤¹¡£

¤³¤Î¸½¾Ý¤ò¥×¥í¥°¥é¥à¤Ë¤·¤Æ¡¢³ØÀ¸¤Ë²ò¤é¤»¤Æ³Îǧ¤·¤Æ¸«¤»¤ë¤â¤Î¤òºî¤Ã¤ÆÄº¤­¤¿¤¯Â¸¤¸¤Þ¤¹¡£
 

Re: ÊüʪÀþ£Ù¡á£Ø¡°£²¤ÎÍøÍÑ

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ12·î17Æü(¿å)20»þ25ʬ11ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.168[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¤³¤Î¸½¾Ý¤ò¥×¥í¥°¥é¥à¤Ë¤·¤Æ¡¢³ØÀ¸¤Ë²ò¤é¤»¤Æ³Îǧ¤·¤Æ¸«¤»¤ë¤â¤Î¤òºî¤Ã¤ÆÄº¤­¤¿¤¯Â¸¤¸¤Þ¤¹¡£

ÊüʪÀþ¤òÉÁ²è¤Ç¤­¤ëÈϰϤ¬¸¶ÅÀ¶á˵¤Ë¸Â¤é¤ì¤Þ¤¹¤¬¡¢¡¢¡¢


ÊüʪÀþy=x^2¤ÈľÀþy=m*x+n¤Î£²¤Ä¤Î¸òÅÀA(a,?)¤ÈB(b,?)¤Ï¡¢£²¼¡ÊýÄø¼°x^2-m*x-n=0¤ò²ò¤±¤Ð¤è¤¤¡£
²ò¤È·¸¿ô¤È¤Î´Ø·¸¤«¤é¡¢a*b=-n¡¢a+b=m¡£

a+b¤â·×»»¤Ç¤­¤ë!?¡¡·¹¤­!?

DEF f(x)=x^2 !´Ø¿ôy=x^2
DEF g(x,a,b)=(f(b)-f(a))/(b-a)*(x-a)+f(a) !ÅÀA¤ÈÅÀB¤òÄ̤ëľÀþ

LET a=-2
LET b=4

SET bitmap SIZE 300,600
SET WINDOW -10,10,-20,20 !ɽ¼¨Îΰè
DRAW grid !ºÂɸ

FOR x=-10 TO 10 STEP 0.2 !ÊüʪÀþy=x^2¤òÉÁ¤¯
   PLOT LINES: x,f(x);
NEXT x
PLOT LINES

SUB ten(x,y,s$)
   PLOT TEXT ,AT x+0.4,y: s$
   DRAW disk WITH SCALE(0.2)*SHIFT(x,y)
END SUB
CALL ten(-a,f(-a),"A")
CALL ten(b,f(b),"B")

FOR x=-10 TO 10 STEP 0.2 !ľÀþ¤òÉÁ¤¯
   PLOT LINES: x,g(x,-a,b);
NEXT x
PLOT LINES

CALL ten(0,g(0,-a,b),"P") !yÀÚÊÒ


PRINT g(0,-a,b), a*b !¸¡»»



DEF h(a,b)=(f(b)-f(a))/(b-a) !·¹¤­
PRINT h(a,b), a+b


END
 

ÊüʪÀþ¤ÇÍ·¤Ö

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ12·î18Æü(ÌÚ)07»þ21ʬ0ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ·ÇºÜ¤·¤Æ¤â¤é¤Ã¤¿¥×¥í¥°¥é¥à¤ò»²¹Í¤Ë¤µ¤»¤ÆÄº¤¤¤Æ¡¢»ä¤Ê¤ê¤Ë¤ä¤Ã¤Æ¸«¤¿¤«¤Ã¤¿¸½¾Ý¤òºî¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
´¶³Ð¤È¤·¤Æ¡¢·×»»¼Ü¤Ç·×»»¤·¤Æ¤¤¤ë¤è¤¦¤ÊÊ·°Ïµ¤¤¬½Ð¤Þ¤¹¡£
£±£²£³£´£µ£¶£·£¹¡ß£¶£³
¤Ê¤É¤Î·×»»¤ò¤ª³Ú¤·¤ß¤¯¤À¤µ¤¤¡£



10 DEF f(x)=x^2 !´Ø¿ôy=x^2
20 DEF g(x,a,b)=(f(b)-f(a))/(b-a)*(x-a)+f(a) !ÅÀA¤ÈÅÀB¤òÄ̤ëľÀþ
30 INPUT PROMPT "2¿ô¤òÁª¤Ö":x,y
40 LET x1=INT(LOG10(x))
50 LET y1=INT(LOG10(y))
60 LET x=x/10^x1
70 LET y=y/10^y1
80 LET a=x
90 LET b=y
100 IF a>b THEN LET t=a ELSE LET t=b
110 SET bitmap SIZE 300,600
120 SET WINDOW -(t+1),t+1,-2,(t+1)^2+5 !ɽ¼¨Îΰè
130 DRAW grid !ºÂɸ
140 FOR x=-10 TO 10 STEP 0.2 !ÊüʪÀþy=x^2¤òÉÁ¤¯
150    PLOT LINES: x,f(x);
160 NEXT x
170 PLOT LINES
180 SUB ten(x,y,s$)
190    PLOT TEXT ,AT x+0.4,y: s$
200    DRAW disk WITH SCALE(0.2)*SHIFT(x,y)
210 END SUB
220 CALL ten(-a,f(-a),"A")
230 CALL ten(b,f(b),"B")
240 FOR x=-10 TO 10 STEP 0.2 !ľÀþ¤òÉÁ¤¯
250    PLOT LINES: x,g(x,-a,b);
260 NEXT x
270 PLOT LINES
280 CALL ten(0,g(0,-a,b),"P") !yÀÚÊÒ
290 PRINT "YÀÚÊÒ¤ÎÃÍ";g(0,-a,b);
300 PRINT "·×»»·ë²Ì"; a*b*10^(x1+y1) !¸¡»»
310 DEF h(a,b)=(f(b)-f(a))/(b-a) !·¹¤­
320 !PRINT h(a,b), a+b
330 END
 

Re: ¥×¥í¥°¥é¥à¤Î½ñ¤­Ä¾¤·

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ12·î18Æü(ÌÚ)15»þ43ʬ28ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.158[¸µµ­»ö¤Ø]

UBASIC¤ÎÀ°¿ôÏÀ´ØÏ¢¤ÎÁȹþ¤ß´Ø¿ô¤ò°Ü¿¢¤·¤Þ¤·¤¿¡£

!RSA¸ø³«¸°°Å¹æ¤Î·×»»

PRINT modpow(1371,1241,2279) !1371¤ò°Å¹æ²½¤¹¤ë¡£¸ø³«¸°43*53=2279¤È1241

PRINT eul(2279) !=2184¡¢43¤È53¤È2184¤ÏÈëÌ©
PRINT gcd(43,53) !¸ß¤¤¤ËÁÇ
PRINT gcd(2184,1241) !¸ß¤¤¤ËÁÇ

PRINT modinv(1241,2184) !ÈëÌ©¸°1649

PRINT modpow(2003,1649,2279) !2003¤òÊ£¹ç²½¤¹¤ë


!£î¤Î£±¤è¤êÂ礭¤ÊºÇ¾®¤ÎÌó¿ô
PRINT prmdiv(1234567) !127
PRINT prmdiv(23456789) !23456789
!PRINT prmdiv(11111111111111111) !2071723


!ÁÇ¿ô¤ÎÀ¸À®
PRINT prm(100) !541
PRINT nxtprm(999) !prm(1000)=7919
!PRINT nxtprm(9999) !prm(10000)=104729


!¥ª¥¤¥é¡¼´Ø¿ô¡Ê£±¤«¤é£î¤Þ¤Ç¤Î¼«Á³¿ô¤Î¤¦¤Á£î¤È¸ß¤¤¤ËÁǤʤâ¤Î¤Î¸Ä¿ô¡Ë
FOR N=2 TO 100
   LET S=0
   FOR i=1 TO N-1
      IF GCD(N,i)=1 THEN LET S=S+1
   NEXT i
   PRINT N;S, eul(N)
NEXT N


FOR i=2 TO 100
   PRINT USING "#### #### #### ####": i,fnSigma(i),eul(i),moeb(i)
NEXT i


END



!À°¿ôÏÀ´ØÏ¢¡¡¢¨ubasic¤è¤ê

EXTERNAL FUNCTION prmdiv(n) !£±¤è¤êÂ礭¤ÊºÇ¾®¤ÎÌó¿ô
IF MOD(n,2)=0 THEN !£²¤ÎÇÜ¿ô
   LET prmdiv=2
ELSEIF MOD(n,3)=0 THEN !£³¤ÎÇÜ¿ô
   LET prmdiv=3
ELSE
   FOR i=5 TO SQR(n) STEP 6
   !!!FOR i=5 TO INTSQR(n) STEP 6 !<----- ¢¨Í­Íý¿ô¥â¡¼¥É
      IF MOD(n,i)=0 THEN !5,11,17,23,29,¡Ä
         LET prmdiv=i
         EXIT FUNCTION
      ELSEIF MOD(n,i+2)=0 THEN !7,13,19,25,31,¡Ä
         LET prmdiv=i+2
         EXIT FUNCTION
      END IF
   NEXT i
   LET prmdiv=n !¤½¤Î¿ô¼«¿È
END IF
END FUNCTION

EXTERNAL FUNCTION eul(n) !¥ª¥¤¥é¡¼´Ø¿ô ¦Õ(n)¡Ê£±¤«¤é£î¤Þ¤Ç¤Î¼«Á³¿ô¤Î¤¦¤Á£î¤È¸ß¤¤¤ËÁǤʤâ¤Î¤Î¸Ä¿ô¡Ë
LET t=n
IF MOD(n,2)=0 THEN
   LET t=t/2
   DO
      LET n=n/2
   LOOP WHILE MOD(n,2)=0
END IF
LET d=3
DO WHILE n/d>=d
   IF MOD(n,d)=0 THEN
      LET t=t/d*(d-1)
      DO
         LET n=n/d
      LOOP WHILE MOD(n,d)=0
   END IF
   LET d=d+2
LOOP
IF n>1 THEN LET t=t/n*(n-1)
LET eul=t
END FUNCTION

EXTERNAL FUNCTION moeb(n) !¥á¥Ó¥¦¥¹´Ø¿ô ¦Ì(n)
LET W=1
DO WHILE n>1
   LET P=prmdiv(n)
   IF MOD(n,P^2)=0 THEN
      LET W=0
      EXIT DO
   END IF
   LET W=-W
   LET n=INT(n/P)
LOOP
LET moeb=W
END FUNCTION

EXTERNAL FUNCTION modpow(a,b,n) !a^b¢áx mod n ¤Îx¤òÊÖ¤¹
IF b=0 THEN
   LET modpow=1
ELSE
   LET S=1
   DO WHILE b>0
      IF MOD(b,2)=1 THEN LET S=MOD(S*a,n) !¥Ó¥Ã¥È¤¬£±¤Ê¤é·×»»¤¹¤ë
      LET b=INT(b/2) !¤Ù¤­¾èb¤ò£²¿ÊŸ³«¤¹¤ë
      LET a=MOD(a*a,n)
   LOOP
END IF
LET modpow=S
END FUNCTION

EXTERNAL FUNCTION modinv(a,n) !n¤òË¡¤È¤·¤¿a¤ÎµÕ¸µ¡¡a*x (mod n)=1
LET M=n
LET Sa=1
LET Ta=0
DO WHILE M<>0
   LET Q=INT(a/M)
   LET U=a-Q*M
   LET Ua=Sa-Q*Ta
   LET a=M
   LET Sa=Ta
   LET M=U
   LET Ta=Ua
LOOP
IF a<>1 THEN
   LET modinv=0
ELSE
   IF Sa<0 THEN LET Sa=Sa+n
   LET modinv=Sa
END IF
END FUNCTION

EXTERNAL FUNCTION prm(n) !nÈÖÌܤÎÁÇ¿ô¡¡¢¨n¤Ï£±°Ê¾å
DIM prime(n) !ÁÇ¿ôÎó
LET prime(1)=2 !£±ÈÖÌܤϣ²
LET k=2 !kÈÖÌÜ
LET x=1 !¸¡¾Ú¤¹¤ë¼«Á³¿ô
DO WHILE k<=n !NÈÖÌܤޤÇ
   LET x=x+2 !´ñ¿ô¤¬ÂоÝ
   LET j=1 !¸«¤Ä¤«¤Ã¤¿ÁÇ¿ô¤ÎÇÜ¿ô¤«¤É¤¦¤«³Îǧ¤¹¤ë
   DO WHILE j<k AND MOD(x,prime(j))<>0 !ÇÜ¿ô¤Ê¤éÅÓÃæ¤Ç½ªÎ»
      LET j=j+1
   LOOP
   IF j=k THEN !¿·¤·¤¯¸«¤Ä¤«¤Ã¤¿ÁÇ¿ô¤òµ­Ï¿¤¹¤ë
      LET prime(k)=x
      LET k=k+1
   END IF
LOOP
LET prm=prime(n)
END FUNCTION

EXTERNAL FUNCTION nxtprm(n) !n+1ÈÖÌܤÎÁÇ¿ô
LET nxtprm=prm(n+1)
END FUNCTION

EXTERNAL FUNCTION gcd(a,b) !ºÇÂç¸øÌó¿ô
DO UNTIL b=0
   LET t=b
   LET b=MOD(a,b)
   LET a=t
LOOP
LET gcd=a
END FUNCTION

EXTERNAL FUNCTION lcm(a,b) !ºÇ¾®¸øÇÜ¿ô
LET lcm=a*b/gcd(a,b)
END FUNCTION


!¥æ¡¼¥¶¡¼ÄêµÁ

EXTERNAL FUNCTION fnSigma(n) !Ìó¿ô¤ÎÏ ¦Ò(n)
LET S=1
DO WHILE n>1
   LET W=1
   LET P=prmdiv(n)
   DO
      LET W=W*P+1
      LET n=INT(n/P)
   LOOP WHILE MOD(n,P)=0
   LET S=S*W
LOOP
LET fnSigma=S
END FUNCTION
 

Re: ¥×¥í¥°¥é¥à¤Î½ñ¤­Ä¾¤·

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ12·î18Æü(ÌÚ)19»þ29ʬ52ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.171[¸µµ­»ö¤Ø]

»³ÃæÏµÁ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> UBASIC¤ÎÀ°¿ôÏÀ´ØÏ¢¤ÎÁȹþ¤ß´Ø¿ô¤ò°Ü¿¢¤·¤Þ¤·¤¿¡£

ËÜ¡ÊUBASIC¤Ë¤è¤ë¥³¥ó¥Ô¥å¡¼¥¿À°¿ôÏÀ¡§ÌÚÅÄÍ´»Ê¡¦ËÒÌî·éÉ×Ãø¡ãÆüËÜɾÏÀ¼Ò¡ä¡Ë
¤ÇÊÙ¶¯¤·¤Æ¤¤¤Æ¤ëºÇÃæ¤Ë¡¢¤³¤ÎÃæ¤Ç»È¤ï¤ì¤Æ¤¤¤ë´Ø¿ô¤¬½½¿Êbasic¤Ç¤â»È¤¨¤¿¤é¤Ê¤È»×¤Ã¤Æ¤¤¤ë½ê¤Ë¡¢»³Ã椵¤ó¤«¤é´ê¤Ã¤Æ¤â¤Ê¤¤°Ü¿¢¤Î¥×¥í¥°¥é¥à¤òÄ󶡤·¤ÆÄº¤¤¤¿¤È¤³¤í¤Ç¤·¤¿¡£

À°¿ôÏÀ¤Ï¤ä¤ì¤Ð¤ä¤ë¤À¤±±ü¿¼¤µ¤¬´¶¤¸¤é¤ì¡¢¥¬¥¦¥¹¤ä¥ª¥¤¥é¡¼¤Ê¤É̾¤À¤¿¤ëÅ·ºÍ¤¬ºÇ¤â¼æ¤­¤Ä¤±¤é¤ì¤¿Ì¥ÎϤ¬Àø¤ó¤Ç¤¤¤ë¤³¤È¤¬¤ª¤Ü¤í¤²¤Ê¤¬¤é±®¤¤ÃΤì¤Þ¤¹¡£
Åö»þ¡¢¥³¥ó¥Ô¥å¡¼¥¿¤È¤¤¤¦Æ»¶ñ̵¤·¤Ëľ´¶¡ÊÎî´¶¡©¡Ë¤òƯ¤«¤»¤ÆÇظå¤ËÀø¤à¿ÀÈ뤵¤Ë¿´¤òÃ¥¤ï¤ì¤Æ¤¤¤Ã¤¿Àè¿Í¤¿¤Á¤Î´¶Æ°¤ò¸½Âå¤ÎËâË¡¤Î¥Þ¥·¡¼¥ó¤òÍøÍѤ·¤ÆËÞ¿Í¤Ç¤âºÆ·Ð¸³¤·¤Æ¹Ô¤­¤¿¤¤¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£
¤Ê¤Ë¤»ÆÈ³Ø¤Ç¤ä¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¸í²ò¤ä²ó¤êÆ»¤ò¤·¤Æ¤¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£

À°¿ôÏÀ¤òï¤Ë¤Ç¤âÍý²ò¤·¤Æ¤¤¤±¤ë¤è¤¦¤Ë¥³¥ó¥Ô¥å¡¼¥¿¥×¥í¥°¥é¥à¤òÁȤó¤Ç¤¤¤¯»ö¤Ï¤È¤Æ¤âÂçÀÚ¤ÊʬÌî¤Ç¤Ï¤Ê¤¤¤«¤È»×¤¦¼¡Âè¤Ç¤¹¡£
¤³¤ÎʬÌî¤Î½ñÀÒ¤¬¤¢¤Þ¤ê̵¤¤¤è¤¦¤Ë´¶¤¸¤Þ¤¹¡£¡Ê»ä¤ÎÉÔÊÙ¶¯¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¦¡¦¡¦¡Ë
À°¿ôÏÀ¤Ç»È¤ï¤ì¤ë¤¤¤í¤¤¤í¤Ê´Ø¿ô¤òEXTERNAL FUNCTION ¤È¤·¤ÆÆ»¶ñÈ¢¤Ë¤¤¤ì¤Æ¤ª¤±¤Ð¡¢¤¤¤í¤¤¤í¤Ê¸½¾Ý¤òºÆ¸½¤Ç¤­¤ë²ÄǽÀ­¤¬½Ð¤Æ¤­¤Þ¤¹¡£
¤³¤ó¤ÊÆ»¶ñ¤¬¤¢¤Ã¤¿¤éÊØÍø¤À¤í¤¦¤Ê¤È´¶¤¸¤Þ¤·¤¿¤é¤ªÍê¤ß¤·¤Þ¤¹¤Î¤Ç¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£
¤Þ¤¿¡¢¤³¤ÎʬÌî¤Ç¶Ã¤¯¤Ù¤­¼°¤ä·ëÏÀ¤ò¤´Â¸ÃΤǤ·¤¿¤é¤¼¤Ò¤È¤â¤ª¶µ¤¨¤¯¤À¤µ¤¤¡£
 

Re: ¥×¥í¥°¥é¥à¤Î½ñ¤­Ä¾¤·

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2008ǯ12·î19Æü(¶â)12»þ24ʬ41ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.171[¸µµ­»ö¤Ø]

»³ÃæÏµÁ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£


> !ÁÇ¿ô¤ÎÀ¸À®
> PRINT prm(100) !541
> PRINT nxtprm(999) !prm(1000)=7919
> !PRINT nxtprm(9999) !prm(10000)=104729
>
> EXTERNAL FUNCTION prm(n) !nÈÖÌܤÎÁÇ¿ô¡¡¢¨n¤Ï£±°Ê¾å
> DIM prime(n) !ÁÇ¿ôÎó
> LET prime(1)=2 !£±ÈÖÌܤϣ²
> LET k=2 !kÈÖÌÜ
> LET x=1 !¸¡¾Ú¤¹¤ë¼«Á³¿ô
> DO WHILE k<=n !NÈÖÌܤޤÇ
>    LET x=x+2 !´ñ¿ô¤¬ÂоÝ
>    LET j=1 !¸«¤Ä¤«¤Ã¤¿ÁÇ¿ô¤ÎÇÜ¿ô¤«¤É¤¦¤«³Îǧ¤¹¤ë
>    DO WHILE j<k AND MOD(x,prime(j))<>0 !ÇÜ¿ô¤Ê¤éÅÓÃæ¤Ç½ªÎ»
>       LET j=j+1
>    LOOP
>    IF j=k THEN !¿·¤·¤¯¸«¤Ä¤«¤Ã¤¿ÁÇ¿ô¤òµ­Ï¿¤¹¤ë
>       LET prime(k)=x
>       LET k=k+1
>    END IF
> LOOP
> LET prm=prime(n)
> END FUNCTION
>
> EXTERNAL FUNCTION nxtprm(n) !n+1ÈÖÌܤÎÁÇ¿ô
> LET nxtprm=prm(n+1)
> END FUNCTION


nÈÖÌܤÎÁÇ¿ô¤òÊÖ¤¹´Ø¿ô¤ò²þÎɤ·¤Þ¤·¤¿¡£
prm(10000)¤Ê¤é¤Ð5Éá¢prm(100000)¤Ê¤é¤Ð35Éäۤɤǵá¤Þ¤ê¤Þ¤¹¡£
prm(5761455)=99999989(10^8°Ê²¼ºÇÂçÁÇ¿ô) ¤òµá¤á¤ë¤Ë¤Ï2¿Ê¥â¡¼¥É¤ÇÌó37ʬ¤Ç¤¹¡£

EXTERNAL FUNCTION prm(n) ! nÈÖÌܤÎÁÇ¿ô
DIM prime(n)
FOR i=1 TO MIN(n,10)
   READ prime(i)
NEXT i
DATA 2,3,5,7,11,13,17,19,23,29
FOR i=11 TO n
   LET m30=MOD(prime(i-1),30)
   IF m30=1 OR m30=23 THEN LET a=prime(i-1)+6 ELSE LET a=prime(i-1)-2*MOD(m30,3)+6
   DO
      LET sqra=SQR(a)
      FOR j=4 TO i-1
         IF MOD(a,prime(j))=0 THEN EXIT FOR
         IF prime(j)>=sqra THEN
            LET prime(i)=a
            EXIT DO
         END IF
      NEXT j
      LET m30=MOD(a,30)
      IF m30=1 OR m30=23 THEN LET a=a+6 ELSE LET a=a-2*MOD(m30,3)+6
   LOOP
NEXT i
LET prm=prime(n)
END FUNCTION
 

Re: ¥×¥í¥°¥é¥à¤Î½ñ¤­Ä¾¤·

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ12·î19Æü(¶â)16»þ34ʬ17ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.173[¸µµ­»ö¤Ø]

¹ÓÅĹÀÆó¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

>  nÈÖÌܤÎÁÇ¿ô¤òÊÖ¤¹´Ø¿ô¤ò²þÎɤ·¤Þ¤·¤¿¡£

½õ¤«¤ê¤Þ¤¹¡£ÁÇ¿ô¤òÁÇÁ᤯°·¤¦¤«¤¬¤³¤Î¼ê¤Î¥×¥í¥°¥é¥à¤Ë¤ÏɬÍפǤ¹¤Í¡£

nxtprm(x)´Ø¿ô¤Ï¡¢´Ö°ã¤Ã¤Æ¤¤¤Þ¤·¤¿¤Î¤Çº¹¤·Âؤ¨¤Æ¤ª¤­¤Þ¤¹¡£
EXTERNAL FUNCTION nxtprm(x) !x¤è¤êÂ礭¤¤ÁÇ¿ô¤ÎºÇ¾®¤Î¤â¤Î
   DIM prime(x)

   FOR i=1 TO 10 !ºÇ½é¤Î10¸Ä
      READ prime(i)
      IF x<prime(i) THEN
         LET nxtprm=prime(i)
         EXIT FUNCTION
      END IF
   NEXT i
   DATA 2,3,5,7,11,13,17,19,23,29

   FOR i=11 TO INT(x) !11¸ÄÌܰʹß
      LET m30=MOD(prime(i-1),30)
      IF m30=1 OR m30=23 THEN LET a=prime(i-1)+6 ELSE LET a=prime(i-1)-2*MOD(m30,3)+6
      DO
         LET sqra=SQR(a)
         !!!LET sqra=INTSQR(a) !<----- ¢¨Í­Íý¿ô¥â¡¼¥É
         FOR j=4 TO i-1
            IF MOD(a,prime(j))=0 THEN EXIT FOR
            IF prime(j)>=sqra THEN
               LET prime(i)=a
               EXIT DO
            END IF
         NEXT j
         LET m30=MOD(a,30)
         IF m30=1 OR m30=23 THEN LET a=a+6 ELSE LET a=a-2*MOD(m30,3)+6
      LOOP

      IF x<prime(i) THEN
         LET nxtprm=prime(i)
         EXIT FUNCTION
      END IF
   NEXT i

   PRINT "¸«¤Ä¤«¤ê¤Þ¤»¤ó¡£"
   STOP
END FUNCTION



¡üprm(n)´Ø¿ô¤ò»È¤Ã¤¿¤â¤Î¤òÄɲ䷤Ƥª¤­¤Þ¤¹¡£¡ÊÄêµÁºÑ¤ß¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤Ï¾Êά¡Ë
!ÁÇ¿ô¤Î¸Ä¿ô
!PRINT fnPrimePi(77777)


!¸¶»Ïº¬ genshi3
FOR LP=1 TO 100
   LET P=prm(LP) !ºÇ½é¤Î100¸Ä¤ÎÁÇ¿ô¤ËÂФ·¤Æ

   PRINT USING "##### ### |": P,fnGenshi(P);
   IF MOD(LP,5)=0 THEN PRINT
NEXT LP
PRINT


!¸¶»Ïº¬ genshi2
FOR LP=1 TO 100
   LET P=prm(LP) !ºÇ½é¤Î100¸Ä¤ÎÁÇ¿ô¤ËÂФ·¤Æ

   LET G=1
   IF P<>2 THEN
50       LET G=G+1
         LET W=1
         FOR i=1 TO P-2
            LET W=MOD(W*G,P)
            IF W=1 THEN GOTO 50
         NEXT i
      END IF

      PRINT USING "##### ### |": P,G;
      IF MOD(LP,5)=0 THEN PRINT
   NEXT LP
   PRINT


END


EXTERNAL FUNCTION fnPrimePi(X) !¼Â¿ôx¤ËÂФ·x°Ê²¼¤ÎÁÇ¿ô¤Î¸Ä¿ô
   LET S=1
   LET E=10000 !100,000°Ê²¼¤ÎÁÇ¿ô¤Ï10,000¸Ä̤Ëþ¤À¤«¤é¡¡¢¨
   DO WHILE E>S+1
      LET K=INT((S+E)/2) !£²Ê¬Ãµº÷
      IF prm(K)<=X THEN LET S=K ELSE LET E=K
   LOOP
   LET fnPrimePi=S
END FUNCTION

EXTERNAL FUNCTION fnGenshi(P) !¸¶»Ïº¬
   LET G=1
   LET N=P-1
   IF P<>2 THEN
180    LET G=G+1
       LET Nw=N
       DO
          LET Div=prmdiv(Nw)
          DO WHILE MOD(Nw,Div)=0
             LET Nw=INT(Nw/Div)
          LOOP
          IF modpow(G,INT(N/Div),P)=1 THEN GOTO 180
       LOOP UNTIL Nw=1
    END IF
    LET fnGenshi=G
 END FUNCTION
 

uBASIC ¤«¤é¤Î¡¢°Ü¿¢

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ12·î19Æü(¶â)17»þ30ʬ43ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  !
! uBASIC ¤«¤é¤Î¡¢°Ü¿¢¡£¢¨¸¶Ëܤϡ¢¥³¥³¤Ë¤¢¤ê¤Þ¤¹¡£(¤½¤Î¾¡¢Â¿¿ôƱº­)
!  http://www.rkmath.rikkyo.ac.jp/~kida/ubgraph.lzh

!  ¥¢¥¹¥­¡¼¡¦¥»¡¼¥Ö ¤·¤Ê¤ª¤·¤¿¤â¤Î¡£
!  http://homepage2.nifty.com/neutro/asm/ubgraph(ASC).lzh

! MAZE.UB
!---------------------------------
!¡¡ÌÂÏ©¤òºî¤ë
!¡¡Pascal version from
!¡¡±ü¼À²É§¡¡¥³¥ó¥Ô¥å¡¼¥¿¥¢¥ë¥´¥ê¥º¥à»öŵ¡Êµ»½ÑɾÏÀ¼Ò¡Ë 349-350
!¡¡¡ÌÉÕ¡ÍÌÂÏ©¤ò²ò¤¯  by ´äÀ¥½ç°ì

OPTION BASE 0
SET WINDOW 0,500, 500,0
!
LET Xmax=90
LET Ymax=90
LET MaxCan=INT(Xmax*Ymax/4) !¡¡must Ymax<=Xmax
LET Bsize=4
LET Xoff=INT((500-Xmax*Bsize)/2)
LET Yoff=INT((500-Ymax*Bsize)/3) ! 20
DIM Map_(Xmax,Ymax)
DIM CanX_(MaxCan),CanY_(MaxCan),DirX_(MaxCan),DirY_(MaxCan)
RANDOMIZE
!
FOR I=0 TO 1
   FOR J=0 TO Ymax
      LET Map_(I,J)=1
      LET Map_(Xmax-I,J)=1
   NEXT J
NEXT I
FOR J=0 TO 1
   FOR I=0 TO Xmax
      LET Map_(I,J)=1
      LET Map_(I,Ymax-J)=1
   NEXT I
NEXT J
LET X=2
FOR Y=4 TO Ymax-2
   CALL DOT_(X,Y)
NEXT Y
LET X=Xmax-2
FOR Y=2 TO Ymax-4
   CALL DOT_(X,Y)
NEXT Y
LET Y=2
FOR X=2 TO Xmax-2
   CALL DOT_(X,Y)
NEXT X
LET Y=Ymax-2
FOR X=2 TO Xmax-2
   CALL DOT_(X,Y)
NEXT X
LET Ncan=0
FOR I=2 TO INT(Xmax/(2)) -2
   CALL InsCan_(I*2,2)
   CALL InsCan_(I*2,Ymax-2)
NEXT I
FOR J=2 TO INT(Ymax/(2)) -2
   CALL InsCan_(2,J*2)
   CALL InsCan_(Xmax-2,J*2)
NEXT J
LET Ndir=4
LET DirX_(1)=2
LET DirY_(1)=0
LET DirX_(2)=0
LET DirY_(2)=2
LET DirX_(3)=-2
LET DirY_(3)=0
LET DirX_(4)=0
LET DirY_(4)=-2
DO WHILE Ncan>0
   CALL Selcan_(I,J)
   DO
      LET Ndir=4
      DO
         CALL SelDir_(DI,DJ)
         LET Ok=1-Map_(I+DI,J+DJ)
      LOOP UNTIL Ok<>0 OR Ndir=0
      IF Ok<>0 THEN
         CALL DOT_(I+INT(DI/(2)),J+INT(DJ/(2)) )
         LET I=I+DI
         LET J=J+DJ
         CALL DOT_(I,J)
         CALL InsCan_(I,J)
      END IF
   LOOP UNTIL NOT Ok<>0
LOOP

SUB DOT_(X,Y)
   LET Map_(X,Y)=1
   ! SET AREA COLOR 5
   PLOT AREA: Bsize*X+Xoff,Bsize*Y+Yoff;Bsize*X+Xoff+Bsize-1,Bsize*Y+Yoff;Bsize*X+Xoff+Bsize-1,Bsize*Y+Yoff+Bsize-1;Bsize*X+Xoff,Bsize*Y+Yoff+Bsize-1
END SUB

SUB InsCan_(I,J)
   LET Ncan=Ncan+1
   LET CanX_(Ncan)=I
   LET CanY_(Ncan)=J
END SUB

SUB Selcan_(I,J)
   local R
   LET R=int(Ncan*rnd)+1
   LET I=CanX_(R)
   LET J=CanY_(R)
   LET CanX_(R)=CanX_(Ncan)
   LET CanY_(R)=CanY_(Ncan)
   LET Ncan=Ncan-1
END SUB

SUB SelDir_(I,J)
   local R
   LET R=int(Ndir*rnd)+1
   LET I=DirX_(R)
   LET J=DirY_(R)
   LET DirX_(R)=DirX_(Ndir)
   LET DirY_(R)=DirY_(Ndir)
   LET DirX_(Ndir)=I
   LET DirY_(Ndir)=J
   LET Ndir=Ndir-1
END SUB

!--------------------------------------------------
!¡¡¡¡¡¡¡¡¡¡¡¡¤³¤ÎÀè¤Ï¡¢´äÀ¥¤¬½ñ¤¤¤¿¡£
!¡¡¡¡¡¡¡¡¡¡¡¡Êý¿Ë¡§ÂÞ¾®Ï©¤¬¤¢¤Ã¤¿¤é¡¢¤Ì¤ê¤Ä¤Ö¤¹
!
PLOT TEXT,AT Xoff*1.2,20 :"²¿¤«¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£ÌÂÏ©¤ò²ò¤­¤Þ¤¹¡£"
PLOT TEXT,AT Xoff*1.2,40 :"Push any key to solve the maze."
CHARACTER INPUT s$
SET AREA COLOR 0
PLOT AREA :Xoff,0; 500,0; 500,40; Xoff,40
!
LET Map_(2,3)=0
LET Map_(Xmax-2,Ymax-3)=0 !¡¡½Ð¸ý¡¢Æþ¸ý¤Ï£°¤Ë¤¹¤ë
FOR I=0 TO Xmax !¡¡¡¡¡¡¡¡¡¡¡¡ÌÂÏ©¤Î³°¤Ï£±¤Ë¤¹¤ë
   FOR J=0 TO 1
      LET Map_(I,J)=0
   NEXT J
   FOR J=Ymax-1 TO Ymax
      LET Map_(I,J)=0
   NEXT J
NEXT I
FOR J=0 TO Ymax
   FOR I=0 TO 1
      LET Map_(I,J)=0
   NEXT I
   FOR I=Xmax-1 TO Xmax
      LET Map_(I,J)=0
   NEXT I
NEXT J
!
!
!$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
!$$$$$$$$$ MAIN ROUTINE TO SOLVE THE MAZE $$$$$$$$$$$$$$$$$$$$$$$$$$$
!$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
!
FOR K=6 TO Ymax
   FOR J=3 TO K-3
      CALL Routine_
   NEXT J
NEXT K
FOR K=Ymax+1 TO Xmax
   FOR J=3 TO Ymax-3
      CALL Routine_
   NEXT J
NEXT K
FOR K=Xmax+1 TO Xmax+Ymax-6
   FOR J=K-Xmax+3 TO Ymax-3
      CALL Routine_
   NEXT J
NEXT K

SUB Routine_
   LET I=K-J
   IF fnCheck(I,J)< 3 THEN EXIT SUB
   LET Ii=I
   LET Jj=J
   DO
      CALL Fil_(Ii,Jj)
      IF Map_(Ii-1,Jj)=0 THEN
         LET Ii=Ii-1
      ELSEIF Map_(Ii,Jj+1)=0 THEN
         LET Jj=Jj+1
      ELSEIF Map_(Ii+1,Jj)=0 THEN
         LET Ii=Ii+1
      ELSEIF Map_(Ii,Jj-1)=0 THEN
         LET Jj=Jj-1
      END IF
   LOOP UNTIL fnCheck(Ii,Jj)<>3
END SUB

SUB Fil_(X,Y)
   LET Map_(X,Y)=1
   SET AREA COLOR 4 !3
   PLOT AREA: Bsize*X+Xoff,Bsize*Y+Yoff;Bsize*X+Xoff+Bsize-1,Bsize*Y+Yoff;Bsize*X+Xoff+Bsize-1,Bsize*Y+Yoff+Bsize-1;Bsize*X+Xoff,Bsize*Y+Yoff+Bsize-1
END SUB

FUNCTION fnCheck(I,J) !¡¡ÂÞ¾®Ï©¤Î»þ£³¤ò¤«¤¨¤¹
   LET fnCheck=0
   IF Map_(I,J)=1 THEN EXIT FUNCTION
   LET fnCheck=Map_(I-1,J)+Map_(I,J+1)+Map_(I+1,J)+Map_(I,J-1)
END FUNCTION

END
 

¥È¥é¥ó¥×Àꤤ¤Ç¤Î³ÎΨ

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ12·î20Æü(ÅÚ)08»þ05ʬ32ÉÃ
ÊÖ¿®¡¦°úÍÑ
  £±¡¥¥È¥é¥ó¥×¡Ê£µ£²Ëç¡Ë¤ò¤è¤¯Àڤäơ¢»þ·×²ó¤ê¤Ë£±»þ¤Î°ÌÃÖ¤«¤éʸ»úÈפΤ褦¤Ë¥«¡¼¥É¤ò΢¤Ë¤·¤Æ£±£²Ëçʤ١¢Ãæ¿´¤Ë£±£³ËçÌܤΥ«¡¼¥É¤òÃÖ¤¯¡£¤³¤ì¤ò·«¤êÊÖ¤·Á´¤Æ¤Î¥«¡¼¥É¤òÇۤ롣

£²¡¥£±£³ËçÌܤΰìÈÖ²¼¤Î¥«¡¼¥É¤ò°ú¤¯¡£
¤½¤Î¥«¡¼¥É¤¬£µ¤Î»þ¤Ï£µ»þ¤Î°ÌÃ֤ΰìÈÖ¾å¤Ëɽ¸þ¤­¤Ë¤·¤ÆÃÖ¤­¡¢£µ»þ¤Î°ÌÃ֤ΰìÈÖ²¼¤Î¥«¡¼¥É¤ò°ú¤¯¡£
¤³¤Î¥«¡¼¥É¤Î¿ô»ú¤Î¼¨¤¹°ÌÃÖ¤Ëɽ¸þ¤­¤ËÃÖ¤­¡¢¤½¤Î°ÌÃ֤ΰìÈÖ²¼¤Î¥«¡¼¥É¤ò°ú¤¯¡£

£³¡¥£±£³ËçÌܤΰÌÃ֤Σˤ¬£´Ëç¤Ç¤ë¤Þ¤Ç£²¡¥¤ò·«¤êÊÖ¤¹¡£


¤³¤Î¥ë¡¼¥ë¤Ç£±£²ÁÈ¡Ê1»þ¤«¤é£±£²»þ¤ÎÁȡˤ¬Á´¤ÆÉ½¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦³ÎΨ¤ò¤ß¤Æ¤ß¤¿¤¤¤Î¤Ç¤¹¤¬¡¢¡Ê¤Ç¤­¤¿¤é£°ÁÈ¡Á£±£²ÁȤǤγÎΨʬÉÛ¤âÃΤꤿ¤¤¡£¡Ë
¤³¤ÎÀꤤ¤ò¥³¥ó¥Ô¥å¡¼¥¿¤Ë¤µ¤»¤ÆÄº¤±¤Þ¤»¤ó¤«¡©
 

Re: ¥È¥é¥ó¥×Àꤤ¤Ç¤Î³ÎΨ

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ12·î20Æü(ÅÚ)13»þ12ʬ19ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.176[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

ºò¶á¤Î£Ô£Ö¤Ç¸«¤é¤ì¤ë¡¢¥«¡¼¥É¡¦¥Þ¥¸¥Ã¥¯¤ÎÃæ¤Ë¡¢ÊªÍýŪ¤Ë¤Ï¡¢Í­¤êÆÀ¤Ê¤¤¤â¤Î¤¬¡¢
¿¡¹¸«¤é¤ì¤Þ¤¹¡¢Ä»È©Î©¤Æ¤Æ¸«¤Æ¤¤¤ë¤è¤ê¤Ï¡¢Ã٤줿Ƭ¤ò¤«¤«¤¨¤ë¾ì¹ç¡¢¤Ê¤Î¤«¡©¡©

Ϫ¹ü¤ËÉԻ׵Ĥʥޥ¸¥Ã¥¯¡¢Ä¶¾ï¸½¾Ý¤Ê¤É¤â¡¢Âå¿ô³Ø¾å¤Îµ­½Ò¡¢°Û¼¡¸µ´Ö¤Î¼ÌÁü¡¢
¨¤Á¡¢¹ÔÎ󡢥ޥȥꥯ¥¹¤Ç¡¢²ò¤­ÌÀ¤«¤µ¤ì¤ëÆü¤¬¡¢¾­ÍèÍè¤ë¤è¤¦¤Ë¤â¡¢»×¤¤¤Þ¤¹¡£
À¤³¦¤â¡¢»ä¤¿¤Á¼«¿È¤â¡¢¤Ò¤ç¤Ã¤È¤·¤Æ¡¢µðÂç¤Ê¤À¤±¤Î¿ô³Ø¥â¥Ç¥ë¤«¤â¡¦¡¦¡ª¡©
»ä¤Ï¡¢Æ¬°­¤¯¤ÆÂå¿ô³Ø¤ò¡¢Ëؤó¤ÉÍý²ò¤Ç¤­¤Þ¤»¤ó¤¬¡¢¤½¤Î̤Íè¤ËÌ¥¤»¤é¤ì¤Æ¤¤¤Þ¤¹¡£
 

Re: ¥È¥é¥ó¥×Àꤤ¤Ç¤Î³ÎΨ

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ12·î20Æü(ÅÚ)14»þ56ʬ45ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.176[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¤³¤Î¥ë¡¼¥ë¤Ç£±£²ÁÈ¡Ê1»þ¤«¤é£±£²»þ¤ÎÁȡˤ¬Á´¤ÆÉ½¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦³ÎΨ¤ò¤ß¤Æ¤ß¤¿¤¤¤Î¤Ç¤¹¤¬¡¢¡Ê¤Ç¤­¤¿¤é£°ÁÈ¡Á£±£²ÁȤǤγÎΨʬÉÛ¤âÃΤꤿ¤¤¡£¡Ë


¥Ñ¡¼¥Õ¥§¥¯¥È¡Ê¤¹¤Ù¤Æ¤Î¥«¡¼¥É¤¬¤á¤¯¤é¤ì¤¿¾õÂ֡ˤˤʤë¤Ë¤Ï¡¢
¥«¡¼¥É¤ò¤á¤¯¤Ã¤Æ¤¤¤Ã¤¿½ç¤ò¹Í¤¨¤ë¤È¡¢ºÇ¸å¤Î52ËçÌܤˣˤΥ«¡¼¥É¤¬¤¢¤ì¤Ð¤è¤¤¡£
¤³¤ì¤¬4Ä̤ê¤Ç¡¢»Ä¤ê51Ëç¤Îʤӽç¡Ê¤á¤¯¤Ã¤¿½ç¡Ë¤Ï51!Ä̤ê¤À¤«¤é¡¢4*51!Ä̤ê¤È¤Ê¤ë¡£

¤Þ¤¿¡¢52Ëç¤Î¥«¡¼¥É¤òʤ٤ë½ç¤Ï¡¢52!Ä̤ꡣ

¤·¤¿¤¬¤Ã¤Æ¡¢¥Ñ¡¼¥Õ¥§¥¯¥È¤Ï¡¢4*51!/52!=4/52=1/13¤È¤Ê¤ë¤È»×¤¤¤Þ¤¹¡£



¤á¤¯¤Ã¤¿²ó¿ô¤Î´üÂÔÃͤϡ¢42²ó¡£Ê¬Éۤϡ¢£±»þ¤«¤é£±£²»þ¤Ï¡¢3.2Ëç¡££±£³»þ¤Ï4Ëç¡£
 

Re: ¥È¥é¥ó¥×Àꤤ¤Ç¤Î³ÎΨ

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2008ǯ12·î20Æü(ÅÚ)20»þ21ʬ44ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.176[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

10Ëü²ó¤Î»î¹Ô¤Ç¡¢4Ëç¤È¤âɽ¤Ë¤Ê¤ëÁÈ¿ô¤Ï¤¹¤Ù¤ÆÆ±¤¸³ÎΨ¤Ç½Ð¸½¤¹¤ë¤È½Ð¤Þ¤·¤¿¡£


  ÁÈ   ³ÎΨ  Ê¿¶ÑËç¿ô
   0  .07669  25.06Ëç
   1  .07519  31.20Ëç
   2  .07792  35.14Ëç
   3  .07686  38.10Ëç
   4  .07674  40.48Ëç
   5  .07722  42.48Ëç
   6  .07848  44.25Ëç
   7  .07573  45.84Ëç
   8  .07778  47.28Ëç
   9  .07741  48.59Ëç
  10  .07723  49.81Ëç
  11  .07564  50.94Ëç
  12  .07711  52.00Ëç
              42.41Ëç


DECLARE EXTERNAL SUB sort
PUBLIC NUMERIC c
LET tt=TIME
LET s=4
LET n=13
LET c=s*n
DIM check(c),card(c),position(n,s),face(n),total(0 TO n-1),count(0 TO n-1)
LET test=100000 ! 100000¤Ç125ÉÃ
FOR t=1 TO test
   CALL prep
   CALL play
NEXT t
LET cc=0
PRINT " ÁÈ   ³ÎΨ  Ê¿¶ÑËç¿ô"
FOR i=0 TO n-1
   PRINT USING " ##  .#####  ##.##Ëç" : i,total(i)/test,count(i)/total(i)
   LET cc=cc+count(i)
NEXT i
PRINT USING "             ##.##Ëç" : cc/test
PRINT INT(TIME-tt);"sec"

SUB prep
   FOR i=1 TO c
      LET check(i)=RND
   NEXT i
   CALL sort(check,card)
   !MAT PRINT card;
   FOR j=1 TO s
      FOR i=1 TO n
         LET position(i,j)=card((j-1)*n+i)
      NEXT i
   NEXT j
   !MAT PRINT position;
END SUB
SUB play
   MAT face=ZER
   LET cc=0
   CALL open_card(n)
   !MAT PRINT face;
   LET f=0
   FOR i=1 TO n-1
      IF face(i)=s THEN LET f=f+1
   NEXT i
   LET total(f)=total(f)+1
   LET count(f)=count(f)+cc
END SUB
SUB open_card(nn)
   LET cc=cc+1
   LET look=position(nn,1)
   FOR j=1 TO s-1
      LET position(nn,j)=position(nn,j+1)
   NEXT j
   LET p=MOD(look,n)+1
   !PRINT p;
   LET face(p)=face(p)+1
   IF face(n)=s THEN EXIT SUB
   CALL open_card(p)
END SUB
END

REM ½½¿ÊBASICźÉÕ"\BASICw32\Library\SORT2.LIB"¤è¤ê
! ix¤Ë¤Ïm¤È²¼¸Â¡¤¾å¸Â¤ò°ìÃפµ¤»¤¿¶õ¤ÎÇÛÎó¤ò»ØÄꤹ¤ë¡£
! m¤Ï»²¾È¤µ¤ì¤ë¤Î¤ß¡£
! ix¤Ëm¤Îź»ú¤òÂ礭¤µ¤Î½ç¤Ëʤ٤ÆÊÖ¤¹¡£
! ¤Ä¤Þ¤ê¡¤m(ix(1))¡åm(ix(2))¡åm(ix(3))¡åޥޥޥ¤È¤Ê¤ë¡£
EXTERNAL SUB sort(m(),ix())
FOR i=1 TO c
   LET ix(i)=i
NEXT i
CALL q_sort(m,ix,1,c)
END SUB
EXTERNAL SUB q_sort(m(),a(),l,r)
IF r<=l THEN
   EXIT SUB
ELSE
   LET i=l-1
   LET j=r
   LET pv=m(a(r))
   DO
      DO
         LET i=i+1
      LOOP UNTIL pv<=m(a(i))
      DO
         LET j=j-1
      LOOP UNTIL j<=i OR m(a(j))<=pv
      IF j<=i THEN EXIT DO
      LET t=a(i)
      LET a(i)=a(j)
      LET a(j)=t
   LOOP
   LET t=a(i)
   LET a(i)=a(r)
   LET a(r)=t
   CALL q_sort(m,a,l,i-1)
   CALL q_sort(m,a,i+1,r)
END IF
END SUB
 

Re: ¥È¥é¥ó¥×Àꤤ¤Ç¤Î³ÎΨ

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ12·î21Æü(Æü)07»þ58ʬ9ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.178[¸µµ­»ö¤Ø]

»³ÃæÏµÁ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

ÌäÂ꤬¡¢¤è¤¯¤ï¤«¤é¤Ê¤¤¤Î¤Ç¡¢¤«¤ó°ã¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢
¥Ñ¡¼¥Õ¥§¥¯¥È¤Î¡¢4*51! Ä̤ê¤ÎÃæ¤Ç¡¢
£±£³»þ¤Î°ÌÃ֤ˡ¢£´Ëç¤Î£Ë¤¬Á´¤Æ½¸¤Þ¤ëÇÛÃ֤Ρ¢4!*48! Ä̤ê¤Ï¡¢
¥¹¥¿¡¼¥È»þÅÀ¤Ç¡¢Ìµ¸Â¥ë¡¼¥×¤ËÍî¤Á¤ë¤¿¤á¡¢½ü¤«¤Ê¤¯¤Æ¤è¤í¤·¤¤¤Ç¤¹¤«¡£

¤¹¤ß¤Þ¤»¤ó¡¢¥«¥ó°ã¤¤¤Ç¤·¤¿¡£
 

¥ë¡¼¥ë¤Î¾ÜºÙ

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ12·î21Æü(Æü)08»þ24ʬ49ÉÃ
ÊÖ¿®¡¦°úÍÑ
  £±¡¥¥È¥é¥ó¥×¡Ê£µ£²Ëç¡Ë¤ò¤è¤¯Àڤäơ¢»þ·×²ó¤ê¤Ë£±»þ¤Î°ÌÃÖ¤«¤éʸ»úÈפΤ褦¤Ë¥«¡¼¥É¤ò΢¤Ë¤·¤Æ£±£²Ëçʤ١¢Ãæ¿´¤Ë£±£³ËçÌܤΥ«¡¼¥É¤òÃÖ¤¯¡£¤³¤ì¤ò·«¤êÊÖ¤·Á´¤Æ¤Î¥«¡¼¥É¤òÇۤ롣
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ö
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ö¡¡¡ö
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ö¡¡¡¡¡¡¡ö
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ö¡¡¡¡¡ö¡¡¡¡¡ö
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ö¡¡¡¡¡¡¡ö
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ö¡¡¡ö
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ö


£²¡¥£±£³ËçÌܡʿ¿¤óÃæ¤Î¥Ñ¥±¥Ã¥È¡Ë¤Î°ìÈÖ²¼¤Î¥«¡¼¥É¤ò°ú¤¯¡£
¤½¤Î¥«¡¼¥É¤¬£µ¤Î»þ¤Ï£µ»þ¤Î°ÌÃ֤ΰìÈÖ¾å¤Ëɽ¸þ¤­¤Ë¤·¤ÆÃÖ¤­¡¢£µ»þ¤Î°ÌÃ֤ΰìÈÖ²¼¤Î¥«¡¼¥É¤ò°ú¤¯¡£
¤³¤Î¥«¡¼¥É¤Î¿ô»ú¤¬Q¤Ê¤é£±£²»þ¤Î¼¨¤¹°ÌÃÖ¤Ëɽ¸þ¤­¤ËÃÖ¤­¡¢£±£²»þ¤Î°ÌÃ֤ΰìÈÖ²¼¤Î¥«¡¼¥É¤ò°ú¤¯¡£
¤³¤ì¤¬K¤Ê¤é¿¿¤óÃæ¤Î»³¡Ê»þ·×¤Î¿Ë¤ÎÃæ¿´¡Ë¤Î°ìÈÖ¾å¤Ëɽ¸þ¤­¤ÇÃÖ¤¯¡£
¼¡¤Ë¡¢¤³¤Î»³¡ÊÃæ¿´Éôʬ¤Î¥Ñ¥±¥Ã¥È¡Ë¤Î°ìÈÖ²¼¤Î¥«¡¼¥É¤ò°ú¤­½Ð¤·¤½¤Î¥«¡¼¥É¤Î¿ô»ú¤Ë½¾¤¤¼¡¤Îºî¶È¤ò¤·¤Æ¤¤¤¯¡£
¡ã¤³¤ì¤ò³¤±¤Æ¤¤¤¯¤È¡¢³Æ»þ¹ï¤Îʸ»úÈ׿ô¤ËÂбþ¤¹¤ëɽ¸þ¤­¤Î¥«¡¼¥É¤¬½¸¤Þ¤Ã¤Æ¤¤¤¯¡£¡ä

£³¡¥£±£³ËçÌܤΰÌÃÖ¡ÊÃæ¿´¤ËÃÖ¤«¤ì¤¿¥Ñ¥±¥Ã¥È¡Ë¤Ë4Ëç¤Î£Ë¤¬É½¸þ¤­¤ËÃÖ¤«¤ì¤ë¤Þ¤Ç£²¡¥¤ò·«¤êÊÖ¤¹¡£


°ìÈÖ²¼¤ËK¤ò»Å¹þ¤ó¤Ç¤ä¤Ã¤Æ¤ß¤Þ¤·¤¿¤¬¡¢ºÇ¸å¤Þ¤Ç¹Ô¤«¤ºÅÓÃæ¤Ç½ª¤ï¤Ã¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£
 

Re: ¥ë¡¼¥ë¤Î¾ÜºÙ

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2008ǯ12·î21Æü(Æü)09»þ32ʬ27ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.181[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

¼¡¤Î¤è¤¦¤Ë²¼¤«¤é¥«¡¼¥É¤òÇÛÃÖ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£¥Ñ¡¼¥Õ¥§¥¯¥È¤Ë¤Ê¤ë¤Ï¤º¤Ç¤¹¡£
»ä¤Î¤¢¤²¤¿¥×¥í¥°¥é¥à¤Ç3²óÌÜ¡¢18²óÌÜ¡¢20²óÌܤÎÎã¤Ç¤¹¡£
¥Ñ¡¼¥Õ¥§¥¯¥È¤ÏºÇ¸å¤Ë£Ë¤ò°ú¤¯¤ï¤±¤Ç¤¹¤«¤é¡¢£Ë¤ò°ìÈÖ¾å¤Ë»Å¹þ¤á¤ÐãÀ®¤¹¤ë³ÎΨ¤¬¾å¤¬¤ê¤Þ¤¹¡£
  
   1»þ   12 11  6 12
   2»þ    2  2  8  6
   3»þ    4  9  1  2
   4»þ    1  1  9 13
   5»þ   12 10 11  2
   6»þ    9  5 10  7
   7»þ    4 10  3  4
   8»þ   12  7 11 11
   9»þ    6  7  3  8
  10»þ    7  8  9  3
  11»þ    8 10  1  6
  12»þ    5 13 13 13
  13»þ    5  4  3  5

   1»þ    7  4  1  9
   2»þ    7  9  1  6
   3»þ    1  5  3  9
   4»þ    5 11  4  6
   5»þ   13  2  2  3
   6»þ    4  8 10 13
   7»þ   11  3 12 11
   8»þ   10  8  6  2
   9»þ    5  9  7  4
  10»þ    6 11  5  7
  11»þ    8  8 13 13
  12»þ    3 12 10  2
  13»þ    1 12 12 10

   1»þ   10  3  9  3
   2»þ    2  8  8 12
   3»þ    4  1  2 10
   4»þ    4  6  1 12
   5»þ   13 11  6  7
   6»þ   11  1  1 12
   7»þ    4  5  2 13
   8»þ    8  6  8  2
   9»þ   12  9  6  5
  10»þ    7  3 11 13
  11»þ   11 10  4  3
  12»þ    7 10  7  5
  13»þ   13  9  9  5
 

º£Æü¤Î±¿Àª¤òºÇ¹â¤Ë

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ12·î21Æü(Æü)12»þ16ʬ46ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.182[¸µµ­»ö¤Ø]

¹ÓÅĹÀÆó¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£


¼ÂºÝ¤Ë¥È¥é¥ó¥×¤Ç¤ä¤é¤Ê¤¤¤Ç¤âÀꤨ¤Á¤ã¤¦¤È¤Ï¤¢¤ê¤¬¤¿¤¤¤Ç¤¹¡£
³ÎΨ¤¬Åùʬ¤Ç¤¢¤ë¤È¤Ï»×¤Ã¤Æ¤â¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£
¥Ñ¡¼¥Õ¥§¥¯¥È¤¬Ã£À®¤¹¤ë¤¿¤á¤Ë¤Ï£±£³²ó¤ò¤á¤É¤Ë¤ä¤ì¤Ð¤¤¤¤¤Î¤«¡ª
¹ÓÅĤµ¤ó¤Î¥×¥í¥°¥é¥à¤Çtest=1¤È¤ª¤¤¤Æ¥Ñ¡¼¥Õ¥§¥¯¥È¤Ë¤Ê¤ë¤Þ¤Ç¤ä¤Ã¤Æº£Æü¤Î±¿Àª¤òËèÆü
ºÇ¹â¤Ë¤·¤è¤¦¤Ã¤È¡ª¡ª

¤È¤³¤í¤Ç
¥Ñ¡¼¥Õ¥§¥¯¥ÈãÀ®¤Î¤¿¤á¤Î¥Ñ¥¿¡¼¥ó¤ò²Äǽ¤Ê¤À¤±½¸¤á¤¿¤¤¤Î¤Ç¤¹¤¬¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¤è¤í¤·¤¤¤Î¤Ç¤·¤ç¤¦¤«¡©
¤½¤³¤«¤é¤É¤ó¤Ê¾ò·ï¤¬É¬ÍפʤΤ«ÃΤꤿ¤¤¤Ç¤¹¤¬¡£
 

»þ·×¤Î¥×¥í¥°¥é¥ß¥ó¥°

 Åê¹Æ¼Ô¡§Å﹬½õ  Åê¹ÆÆü¡§2008ǯ12·î22Æü(·î)11»þ09ʬ20ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ½½¿ÊBASIC¤Ç»þ·×¤òºî¤ê¤¿¤¤¤Î¤Ç¤¹¤¬¡¢
¥×¥í¥°¥é¥à¤ò¶µ¤¨¤Æ¤¤¤¿¤À¤±¤Þ¤»¤ó¤«¡©
»þ·×¤Ï¥¢¥Ê¥í¥°»þ·×¤Ç¤¹¡£
 

Re: »þ·×¤Î¥×¥í¥°¥é¥ß¥ó¥°

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ12·î22Æü(·î)11»þ45ʬ27ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.184[¸µµ­»ö¤Ø]

Å﹬½õ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> »þ·×¤Ï¥¢¥Ê¥í¥°»þ·×¤Ç¤¹¡£

¥·¥ó¥×¥ë¤Ç¤¹¡£Ã±°Ì±ß¾å¤Ëʸ»úÈפòÉÁ¤¤¤Æ¤¤¤Þ¤¹¡£¤¤¤í¤¤¤í²þÎɤ·¤Æ¤¯¤À¤µ¤¤¡£

ÉäˤĤ¤¤Æ
¾¤Î¼êË¡¡Ê¤¿¤È¤¨¤Ð¡¢TIME´Ø¿ô¡Ë¤Ç¾®¿ôÅÀ°Ê²¼¡Ê¥ß¥êÉáˤò¼èÆÀ¤Ç¤­¤Þ¤¹¤¬¡¢
Àµ³Î¤ÊÃͤϴüÂԤǤ­¤Þ¤»¤ó¤Î¤Ç¡¢Éÿˤò¤Ê¤á¤é¤«¤Ëư¤«¤¹¤³¤È¤ÏÆñ¤·¤¤¤«¤È»×¤¤¤Þ¤¹¡£

!¥¢¥Ê¥í¥°»þ·×

SET WINDOW -1.2,1.2,-1.2,1.2 !ɽ¼¨Îΰè
SET TEXT JUSTIFY "center","half" !ʸ»úɽ¼¨¤Î½ñ¼°

DO
   LET t$=TIME$ !»þ¹ï¤òhh:mm:ss·Á¼°¤ÇÆÀ¤ë
   LET h=VAL(t$(1:2)) !¿ôÃͤØ
   LET m=VAL(t$(4:5))
   LET s=VAL(t$(7:8))

   SET DRAW mode hidden !¤Á¤é¤Ä¤ßËɻߡʳ«»Ï¡Ë
   CLEAR

   FOR i=1 TO 12 !ʸ»úÈ×
      LET th=PI/2-2*PI*i/12 !£Ù¼´¤«¤é»þ·×¤Þ¤ï¤ê
      PLOT TEXT ,AT COS(th),SIN(th): STR$(i) !±ß¼þ¾å
   NEXT i

   LET th=PI/2-2*PI*(h + m/60)/12 !»þ¿Ë
   PLOT LINES: 0,0; 0.6*COS(th),0.6*SIN(th)

   LET th=PI/2-2*PI*m/60 !ʬ¿Ë
   PLOT LINES: 0,0; 0.9*COS(th),0.9*SIN(th)

   LET th=PI/2-2*PI*s/60 !ÉÿË
   PLOT LINES: 0,0; 0.8*COS(th),0.8*SIN(th)

   SET DRAW mode explicit !¤Á¤é¤Ä¤­ËɻߡʽªÎ»¡Ë
LOOP

END
 

Re: »þ·×¤Î¥×¥í¥°¥é¥ß¥ó¥°

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2008ǯ12·î22Æü(·î)18»þ34ʬ45ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.185[¸µµ­»ö¤Ø]

»³ÃæÏµÁ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£


¾å½ñ¤­¤»¤Æ¤¤¤¿¤À¤­¤Þ¤·¤¿¡£
Ä´¤Ù¤¿¤é1ʬ´Ö¤ËÌó8200²ó¤ÎÉÁ²è¤ò¤·¤Æ¤¤¤¿¤Î¤Ç¡¢Éäι¹¿·¤¬¤¢¤Ã¤¿¤È¤­¤ËÉÁ²è¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£
ʸ»úÈ×Éôʬ¤âLOOP¤«¤é½Ð¤·¤ÆÉÁ²è»þ´Ö¤òÀáÌó¡£
Ĺ¿Ë¡¦Ã»¿Ë¤ò³¨ÄêµÁ¤Ë¤·¡¢PICTURE hand ¤ò½ñ¤­´¹¤¨¤ë¤³¤È¤Ë¤è¤ê¿Ë¤Î¥Ç¥¶¥¤¥óÊѹ¹¤òÍÆ°×¤Ë¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£


!¥¢¥Ê¥í¥°»þ·×(²þ)

SET WINDOW -1.2,1.2,-1.2,1.2 !ɽ¼¨Îΰè
SET TEXT JUSTIFY "center","half" !ʸ»úɽ¼¨¤Î½ñ¼°
SET TEXT HEIGHT 1.2/10
SET AREA COLOR 5 ! ¿å¿§
SET POINT STYLE 4 ! ¡£
DRAW disk WITH SCALE(1.1)
FOR i=1 TO 12 !ʸ»úÈ×
   LET th=PI/2-2*PI*i/12 !£Ù¼´¤«¤é»þ·×¤Þ¤ï¤ê
   PLOT TEXT ,AT COS(th),SIN(th): STR$(i) !±ß¼þ¾å
   FOR j=1 TO 4
      LET th=PI/2-2*PI*(5*i+j)/60
      PLOT POINTS : 0.94*COS(th),0.94*SIN(th)
   NEXT j
NEXT i

SET LINE COLOR "RED"
LET t0=INT(TIME)
DRAW clock(t0)

DO
   IF TIME-t0>=1 THEN ! Éäι¹¿·¤ÇÉÁ²è
      LET t0=INT(TIME)
      DRAW clock(t0)
   END IF
LOOP

PICTURE clock(t0)
   LET h=INT(t0/3600) !¿ôÃͤØ
   LET m=INT((t0-3600*h)/60)
   LET s=MOD(t0,60)

   SET DRAW mode hidden !¤Á¤é¤Ä¤­Ëɻߡʳ«»Ï¡Ë
   SET AREA COLOR 0 ! Çò
   DRAW disk WITH SCALE(0.9) !¿ËÉÁ²èÉôʬ¤Î¤ß¥¯¥ê¥¢

   LET th=PI/2-2*PI*(h + m/60)/12 !»þ¿Ë
   DRAW hand(3) WITH SCALE(0.6,1)*ROTATE(th)

   LET th=PI/2-2*PI*m/60 !ʬ¿Ë
   DRAW hand(2) WITH SCALE(0.86,1)*ROTATE(th)

   LET th=PI/2-2*PI*s/60 !ÉÿË
   PLOT LINES: 0,0; 0.8*COS(th),0.8*SIN(th)

   SET DRAW mode explicit !¤Á¤é¤Ä¤­ËɻߡʽªÎ»¡Ë
END PICTURE

PICTURE hand(col) !¿ËÉÁ²è
   SET AREA COLOR col
   PLOT AREA : -0.05,-0.03;1,-0.03;1,0.03;-0.05,0.03
END PICTURE

END
 

±ÕÂÎËü²Ú¶À

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ12·î23Æü(²Ð)01»þ01ʬ5ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  !
!¡¡±ÕÂÎËü²Ú¶À
!
!¡¡ºø»ë¤¬¡¢À¸¤¸Æñ¤¤¤è¤¦£±²óžËè¤Ë¡¢µÕ²óž¤µ¤»¤ë¤è¤¦¤Ë¤·¤¿¡£
!¡¡±ÕÌ̤ÎÊѲ½¤Ëȼ¤¦ÍÆÀÑÊÑÆ°¤ò¡¢¡Þ3.85% °Ê²¼¤Þ¤Ç²¡¤¨¤¿¡£

!-----------------
!¢¨Àµ³Î¤Ê±ÕÌ̤ˤϡ¢¤Ê¤Ã¤Æ¤¤¤Þ¤»¤ó¡£²þ¤´¿·Þ¡£

SET TEXT BACKGROUND "OPAQUE"
SET WINDOW -1/4,1/4, -1/4,1/4
DIM x(2),y(2)

!Ãæ¿´(1/2,1/sqr(3)/2)¡¢È¾·Â r ¤Î±ß¼þ¾å¤ÎÅÀ(x0(¦È),y0(¦È))
DEF x0(¦È)=r*COS(¦È)+1/2
DEF y0(¦È)=r*SIN(¦È)+1/SQR(3)/2

!Ãæ¿´(1/2,1/sqr(3)/2)¡¢È¾·Â r ¤Î±ß¼þ¾å¤ÎÅÀ(x0(¦È),y0(¦È))¡¢¤ËÀܤ¹¤ëľÀþ
DEF f(x)=TAN(¦È+PI/2)*(x-x0(¦È))+y0(¦È)

!¡²Ä¾Àþ£±¤Èf(x)¤È¤Î¸òÅÀ(x1,y1)
!y=0 =TAN(¦È+PI/2)*(x-x0(¦È))+y0(¦È)
DEF x1(¦È)= -y0(¦È)/TAN(¦È+PI/2)+x0(¦È)
LET y1=0

!¡¿Ä¾Àþ£²¤Èf(x)¤È¤Î¸òÅÀ(x2,y2)
!y=SQR(3)*x =TAN(¦È+PI/2)*(x-x0(¦È))+y0(¦È)
DEF x2(¦È)=(-y0(¦È)+TAN(¦È+PI/2)*x0(¦È))/(TAN(¦È+PI/2)-SQR(3))
DEF y2(¦È)=SQR(3)*x2(¦È)

!¡ÀľÀþ£³¤Èf(x)¤È¤Î¸òÅÀ(x3,y3)
!y=-SQR(3)*(x-1) =TAN(¦È+PI/2)*(x-x0(¦È))+y0(¦È)
DEF x3(¦È)=(SQR(3)-y0(¦È)+TAN(¦È+PI/2)*x0(¦È))/(TAN(¦È+PI/2)+SQR(3))
DEF y3(¦È)=-SQR(3)*(x3(¦È)-1)

SET AREA COLOR 5
LET s00=SQR(3)/4
LET ¦Õ=0.001
LET stp=PI/180
DO
   IF 2*PI<=ABS(¦Õ) THEN LET stp=-stp !¡¡(¡Ü)º¸²óž (¡Ý)±¦²óž
   LET ¦Õ=REMAINDER(¦Õ, 2*PI) +stp
   !-----
   LET ¦È=¦Õ+SIN(¦Õ*51)*0.1+SIN(¦Õ*49)*0.05 !¡¡¿åÌÌÍɤì..Í­¤ê
   !LET ¦È=¦Õ !¡¡¿åÌÌÍɤì..̵¤·
   !-----
   LET r=0.19985-0.00355*COS(¦È*6) !¡¡±ÕÌÌÊäÀµ¡¢»Ä¸íº¹¡Þ3.85%
   LET x00=0
   LET y00=0
   LET i=1
   LET x(i)=x1(¦È)
   LET y(i)=y1
   IF 0<=x(i) AND x(i)<=1 AND 0<=y(i) AND y(i)<=SQR(3)/2 THEN LET i=i+1
   LET x(i)=x2(¦È)
   LET y(i)=y2(¦È)
   IF 0<=x(i) AND x(i)<=1 AND 0<=y(i) AND y(i)<=SQR(3)/2 THEN LET i=i+1.01
   IF i< 3 THEN
      LET x(i)=x3(¦È)
      LET y(i)=y3(¦È)
      IF 2< i THEN
         LET x00=1/2
         LET y00=SQR(3)/2
      ELSE
         LET x00=1
         LET y00=0
      END IF
   END IF
   LET ss2=ABS((x(1)-x00)*(y(2)-y00)-(y(1)-y00)*(x(2)-x00))
   SET DRAW mode hidden
   CLEAR
   DRAW D4(3) WITH SHIFT(-1/2,-1/SQR(3)/2)*ROTATE(¦Õ-PI/2)
   DRAW center WITH SHIFT(-1/2,-1/SQR(3)/2)*ROTATE(-¦Õ-PI/2)*SCALE(-1/8,1/8)
   PLOT TEXT,AT 0.13,0.23:"±¦¥¯¥ê¥Ã¥¯¤Ç½ªÎ»"
   SET DRAW mode explicit
   WAIT DELAY 0.05
   MOUSE POLL mx,my,mlb,mrb
LOOP UNTIL mrb>=1

PICTURE center
   SET LINE COLOR 2
   SET LINE width 2
   PLOT LINES:0,0;1,0;1/2,SQR(3)/2;0,0
   SET LINE width 1
   SET LINE COLOR 1
END PICTURE

!------
PICTURE D4(k)
   IF 0< k THEN
      DRAW D4(k-1) WITH SCALE(1/2,1/2)*SHIFT(1/4,SQR(3)/4) !¡¡¾å
      DRAW D4(k-1) WITH SCALE(1/2,-1/2)*SHIFT(1/4,SQR(3)/4) !¡¡Ãæ
      DRAW D4(k-1) WITH SCALE(1/2,1/2)*ROTATE(-PI*2/3)*SHIFT(1/4,SQR(3)/4) !º¸
      DRAW D4(k-1) WITH SCALE(1/2,1/2)*ROTATE(PI*2/3)*SHIFT(1,0) !¡¡±¦
   ELSE
      DRAW Set01
   END IF
END PICTURE

!------ ¼ï¤Î»°³Ñ¿Þ
PICTURE Set01
   IF s00< ss2 THEN
      IF x00=0 THEN PLOT AREA:x(1),y(1);x(2),y(2);1/2,SQR(3)/2;1,0
      IF x00=1 THEN PLOT AREA:x(1),y(1);x(2),y(2);1/2,SQR(3)/2;0,0
      IF x00=1/2 THEN PLOT AREA:x(1),y(1);x(2),y(2);1,0;0,0
   ELSE
      PLOT AREA:x(1),y(1);x(2),y(2);x00,y00
   END IF
   PLOT LINES:x(1),y(1);x(2),y(2)
   PLOT LINES:0,0;1,0;1/2,SQR(3)/2;0,0
END PICTURE

END
 

Re: º£Æü¤Î±¿Àª¤òºÇ¹â¤Ë

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ12·î23Æü(²Ð)10»þ35ʬ56ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.183[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¥Ñ¡¼¥Õ¥§¥¯¥ÈãÀ®¤Î¤¿¤á¤Î¥Ñ¥¿¡¼¥ó¤ò²Äǽ¤Ê¤À¤±½¸¤á¤¿¤¤¤Î¤Ç¤¹¤¬¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¤è¤í¤·¤¤¤Î¤Ç¤·¤ç¤¦¤«¡©
> ¤½¤³¤«¤é¤É¤ó¤Ê¾ò·ï¤¬É¬ÍפʤΤ«ÃΤꤿ¤¤¤Ç¤¹¤¬¡£


¤á¤¯¤é¤ì¤ë¥«¡¼¥É¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ÊñÊý¸þ¥ê¥¹¥È¡Ê¥ê¥ó¥¯¡Ë¤¬¹½À®¤µ¤ì¤Æ¤¤¤ì¤Ð¤è¤¤¤È»×¤¤¤Þ¤¹¡£

¡ü¡Ö£îËç¤ò¤á¤¯¤ë¡×¥«¡¼¥É«¤Î¤Ä¤¯¤êÊý
£´Ëç¤Î£Ë¤ò´Þ¤à£îËç¡Ên=4¡Á52¡Ë¤Î¥«¡¼¥É¤òÍѰդ¹¤ë¡£¡Ê£µ£²¡Ý£îËç¤Ï½ü¤¤¤Æ¤ª¤¯¡Ë
¥Ñ¡¼¥Õ¥§¥¯¥È¤Ê¤é£µ£²Ëç¤È¤Ê¤ë¡£

¡Êstep.1¡Ëɽ¸þ¤­¤Ë¡¢¾å¤«¤é£Ë¢¢¢£¡þ¡¦¡¦¡¦¡û¢¡¤Î½ç¤Î«¤È¤¹¤ë¡£¢¢¤Ê¤É¤ÎÉôʬ¤Ï²¿¤Ç¤â¤è¤¤¡£
¡¡¡¡¡¡¡¡ºÇ½é¤Î£Ë¤Ï£´Ë礫¤é£±¤Ä¤òÁª¤Ö¡£¢¢¢£¡þ¡¦¡¦¡¦¡û¢¡¤Ë¤Ï»Ä¤ê£³Ëç¤Î£Ë¤¬´Þ¤Þ¤ì¤ë¡£

¡Êstep.2¡Ë¼¡¤Î¼ê½ç¤Ç¡¢µÕÇÛÃ֤λþ·×¤Î¤è¤¦¤Ë¥«¡¼¥É¤òÃÖ¤¯¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡12
¡¡¡¡¡¡¡¡¡¡¡¡£±¡¡11
¡¡¡¡¡¡¡¡¡¡£²¡¡¡¡¡¡10
¡¡¡¡¡¡¡¡£³¡¡¡¡13¡¡¡¡£¹
¡¡¡¡¡¡¡¡¡¡£´¡¡¡¡¡¡£¸
¡¡¡¡¡¡¡¡¡¡¡¡£µ¡¡£·
¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¶

¡¡¡¡¡¡¡¡¾å¤«¤é£±ÈÖÌܤΥ«¡¼¥É¡Ê£Ë¡Ë¤ò¡¢£²ÈÖÌܤΥ«¡¼¥É¡Ê¢¢¡Ë¤Î»Ø¤¹°ÌÃÖ¤ËÃÖ¤¯¡£
¡¡¡¡¡¡¡¡¾å¤«¤é£²ÈÖÌܤΥ«¡¼¥É¡Ê¢¢¡Ë¤ò¡¢£³ÈÖÌܤΥ«¡¼¥É¡Ê¢£¡Ë¤Î»Ø¤¹°ÌÃÖ¤ËÃÖ¤¯¡£
¡¡¡¡¡¡¡¡¾å¤«¤é£³ÈÖÌܤΥ«¡¼¥É¡Ê¢£¡Ë¤ò¡¢£´ÈÖÌܤΥ«¡¼¥É¡Ê¡þ¡Ë¤Î»Ø¤¹°ÌÃÖ¤ËÃÖ¤¯¡£

¡¡¡¡¡¡¡¡¡¡¡§
¡¡¡¡¡¡¡¡¡¡¡§
¡¡¡¡¡¡¡¡¡¡¡§

¡¡¡¡¡¡¡¡¾å¤«¤é£î¡Ý£±ÈÖÌܤΥ«¡¼¥É¡Ê¡û¡Ë¤ò¡¢£îÈÖÌܤΥ«¡¼¥É¡Ê¢¡¡Ë¤Î»Ø¤¹°ÌÃÖ¤ËÃÖ¤¯¡£
¡¡¡¡¡¡¡¡¾å¤«¤é£îÈÖÌܤΥ«¡¼¥É¡Ê¢¡¡Ë¤ò¡¢£±£³ÈÖÌܤΰÌÃÖ¤ËÃÖ¤¯¡£

¡¡¡¡¡¡¡¡¥Æ¡¼¥Ö¥ë¤Î΢¦¤«¤é¸«¤¿ÇÛÃ֤ˤʤäƤ¤¤ë¡£


¡Êstep.3¡Ë¥Æ¡¼¥Ö¥ë¤Îɽ¤«¤é¸«¤¿ÇÛÃ֤ˤ¹¤ë¤¿¤á¡¢¥«¡¼¥É¤ò«¤´¤È΢ÊÖ¤·¤Ê¤¬¤éº¸±¦¤Î°ÌÃÖ¤òÆþ¤ìÂØ¤¨¤ë¡£
¡¡¡¡¡¡¡¡£±£²¡¢£±£³¡¤£¶»þ¤Î°ÌÃÖ¤Ï΢ÊÖ¤¹¤Î¤ß¤È¤Ê¤ë¡£

¡Êstep.4¡ËÁȤ¬£´Ë示¤Ä¤Ë¤Ê¤ë¤è¤¦¤Ë¡¢½ü¤¤¤Æ¤ª¤¤¤¿£µ£²¡Ý£îËç¤Î¥«¡¼¥É¤ò¡¢¡Ê̵ºî°Ù¤Ë¡Ë΢¸þ¤­¤Ç¾å¤Ë½Å¤Í¤Æ¤¤¤¯¡£
¡¡¡¡¡¡¡¡¥Ñ¡¼¥Õ¥§¥¯¥È¤Î¾ì¹ç¤Ï¤³¤ÎÁàºî¤Ï¤Ê¤¤¡£

¡¡¡¡¡¡¡¡¤á¤¯¤ëÁ°¤Î¾õÂ֤ˤʤ롣

¡Êstep.5¡Ë£±£³»þ°ÌÃÖ¤«¤é£±£²»þ¡¢£±£±»þ¡¢¡¦¡¦¡¦¤Î¤è¤¦¤Ë¡ÊÄ̾ï¤Î¡ËÈ¿»þ·×¤Þ¤ï¤ê¤Ë£±Ë示¤Ä¤½¤Î¤Þ¤Þ¤Î¾õÂ֤Ǿå¤Ë½Å¤Í¤Ê¤¬¤é²ó¼ý¤¹¤ë¡£



¡ü¤á¤¯¤é¤ì¤ëËç¿ô¤´¤È¤Î³ÎΨ
¡Ö»Ä¤ë¥«¡¼¥É¡¢£Ë¡¢¤á¤¯¤é¤ì¤Æ¤¤¤¯¥«¡¼¥É¡Ê£³Ëç¤Î£Ë¤ò´Þ¤à¡Ë¡×¤Îʤӽç¤È¤·¤Æ¹Í¤¨¤ë¡£
±¦Ã¼¤¬ºÇ½é¤Ë¤á¤¯¤é¤ì¤ë¥«¡¼¥É¡Ê£±£³»þ¤Î°ÌÃÖ¤ÎÄì¤Î¥«¡¼¥É¡Ë¤Ë¤Ê¤ë¡£
OPTION ARITHMETIC RATIONAL

LET t=fact(52)


LET s=0
FOR i=4 TO 52
   LET b=perm(48,52-i) * 4 * fact(i-1) !»Ä¤ë¥«¡¼¥É¡¢£Ë¡¢¤á¤¯¤é¤ì¤Æ¤¤¤¯¥«¡¼¥É¡Ê£³Ëç¤Î£Ë¤ò´Þ¤à¡Ë
   PRINT i;"Ëç¡¡³ÎΨ=";b/t
   LET s=s+b/t
NEXT i


PRINT "³ÎΨ=";s !¸¡»»

END


ºî°Ù¤Î¡Ö¼ï¡×¤ò¼¬¤¯¤³¤È¤Ç¡¢²Ö¤òËþ³«¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¡Êºé¤­Êý¤âƱÍÍ¡Ë
 

Re: »þ·×¤Î¥×¥í¥°¥é¥ß¥ó¥°

 Åê¹Æ¼Ô¡§Å﹬½õ  Åê¹ÆÆü¡§2008ǯ12·î23Æü(²Ð)19»þ50ʬ37ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.186[¸µµ­»ö¤Ø]

»³Ã椵¤ó¹ÓÅĤµ¤ó
¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£
 

¾ê;¤Î·×»»

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ12·î24Æü(¿å)12»þ02ʬ1ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¤É¤ó¤ÊÂ礭¤Ê¡Ê£±£°·å¤Û¤É¤ÏÍߤ·¤¤¡Ëx,n,a¤ËÂФ·¤Æ¤â¡¢¼¡¤Î¾ê;¤¬µá¤Þ¤ë¥×¥í¥°¥é¥à
¤òºî¤Ã¤ÆÄº¤­¤¿¤¤¤Ç¤¹¡£
x^n mod a
 

Re: ¾ê;¤Î·×»»

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ12·î24Æü(¿å)12»þ52ʬ41ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.190[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¤É¤ó¤ÊÂ礭¤Ê¡Ê£±£°·å¤Û¤É¤ÏÍߤ·¤¤¡Ëx,n,a¤ËÂФ·¤Æ¤â¡¢¼¡¤Î¾ê;¤¬µá¤Þ¤ë¥×¥í¥°¥é¥à
> ¤òºî¤Ã¤ÆÄº¤­¤¿¤¤¤Ç¤¹¡£
> x^n mod a


¡¦Ä󶡺ѤßUBASIC´Ø¿ô¤Îmodpow(1234,56,789)


¡¦PRINT MOD(1234^56,789) !1234^56 mod 789
¡¡Â¿·å¤ÎÀ°¿ô¤Ê¤éÍ­Íý¿ô¥â¡¼¥É¤Ç¼Â¹Ô¤·¤Þ¤¹¡£
¡¡x^n¤¬Â礭¤¤¤È»þ´Ö¤¬¤«¤«¤ê¤Þ¤¹¡£


n¤¬Éé¤ä¼Â¿ô¤Ê¤é¸¡Æ¤¤·¤Ê¤¤¤È¤¤¤±¤Þ¤»¤ó¡£
 

Re: ¾ê;¤Î·×»»

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2008ǯ12·î25Æü(ÌÚ)00»þ05ʬ19ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.190[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¤É¤ó¤ÊÂ礭¤Ê¡Ê£±£°·å¤Û¤É¤ÏÍߤ·¤¤¡Ëx,n,a¤ËÂФ·¤Æ¤â¡¢¼¡¤Î¾ê;¤¬µá¤Þ¤ë¥×¥í¥°¥é¥à
> ¤òºî¤Ã¤ÆÄº¤­¤¿¤¤¤Ç¤¹¡£
> x^n mod a

  (x mod a) = r ¤È¤¹¤ì¤Ð¡¢
  (x^n mod a) = (r^n mod a) ¤È¤¤¤¨¤ë¤Î¤Ç¡¢
   x>a ¤Î¤È¤­¤Ï¿ôÃͤ¬Â礭¤¯¤Ê¤ê¤¹¤®¤º¸ú²Ì¤¬¤¢¤ê¤Þ¤¹¡£

  [Ãí°Õ] ½½¿ÊBASIC¤Î¥Ø¥ë¥×¤Ë¤è¤ë¤È¡¢Í­Íý¿ô¥â¡¼¥É¤Ç¤Ï
  ¡Ö¤Ù¤­»Ø¿ô¤Ï-2147483647¡Á2147483647¤ÎÈϰϤÎÀ°¿ô¤Ë¸ÂÄê¡×
  ¤µ¤ì¤ë¤½¤¦¤Ç¤¹¡£

! mod(x^n,a) Í­Íø¿ô¥â¡¼¥É¤Ç¼Â¹Ô
LET x=1234
LET n=56
LET a=789
PRINT "x=";x
PRINT "n=";n
PRINT "a=";a
PRINT
PRINT "x^n=";x^n
PRINT "mod(x^n,a)=";MOD(x^n,a)
PRINT
LET r=MOD(x,a)
PRINT "r=mod(x,a)=";MOD(x,a)
PRINT "r^n=";r^n
PRINT "mod(r^n,a)=";MOD(r^n,a)
END
 

±ÕÂÎËü²Ú¶À¤Î¥³¥Þ¡¼¥·¥ã¥ë

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ12·î25Æü(ÌÚ)01»þ57ʬ10ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.187[¸µµ­»ö¤Ø]

¡¡ºø»ë¤¬¡¢À¸¤¸Æñ¤¤¤è¤¦£±²óžËè¤Ë¡¢µÕ²óž¤µ¤»¤ë¤è¤¦¤Ë¤·¤¿¡£
¡¡±ÕÌ̤ÎÊѲ½¤Ëȼ¤¦ÍÆÀÑÊÑÆ°¤ò¡¢¡Þ3.85% °Ê²¼¤Þ¤Ç²¡¤¨¤¿¡£
¡¡±ÕÂÎ¤ÎÆþ¤Ã¤Æ¤¤¤ë¿¿Ãæ¤Î»°³Ñ¤Ë¥³¥ó¥È¥é¥¹¥È¤òÉÕ¤±¤¿¡£¢¨²þ¤´¿·Þ
 

Re: ¾ê;¤Î·×»»

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2008ǯ12·î25Æü(ÌÚ)02»þ09ʬ38ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.190[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¤É¤ó¤ÊÂ礭¤Ê¡Ê£±£°·å¤Û¤É¤ÏÍߤ·¤¤¡Ëx,n,a¤ËÂФ·¤Æ¤â¡¢¼¡¤Î¾ê;¤¬µá¤Þ¤ë¥×¥í¥°¥é¥à
> ¤òºî¤Ã¤ÆÄº¤­¤¿¤¤¤Ç¤¹¡£
> x^n mod a

  ²¼¤Î¥×¥í¥°¥é¥à¤Ê¤é¡¢·×»»Ãæ¤ÎºÇÂçÃͤÏr^2¤Ë¤Ê¤ê¤Þ¤¹¡£
  r¤¬8·å°Ê²¼¤Ê¤é10¿Ê¥â¡¼¥É¤ä2¿Ê¥â¡¼¥É¤Ç¼Â¹Ô¤Ç¤­¤Þ¤¹¡£
  r¤¬8·å¤òͤ¨¤ë¾ì¹ç¤Ï1000·å¥â¡¼¥É¤Ë¤Ê¤ê¤Þ¤¹¡£

  x,n,a¤¬¤È¤â¤Ë10·å¤Î²¼¤ÎÎã¤Ç¤Ï¡¢1000·å¥â¡¼¥É¤ÇÌó40ʬ¤«¤«¤ê¤Þ¤·¤¿¡£

! mod(x^n,a)
LET x=9876543201
LET n=1234567890
LET a=6789012345

LET r=MOD(x,a)
LET k=r
FOR i=2 TO n
   LET k=MOD(k*r,a)
NEXT i
PRINT k
END
 

Re: ¾ê;¤Î·×»»

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ12·î25Æü(ÌÚ)04»þ29ʬ36ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.190[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

»³Ãæ»á¤Î¡¢EXTERNAL FUNCTION modpow(a,b,n) !a^b mod n ¤Ç¤¹¤¬¡¢
£±£³·å¤Þ¤Ç¡¢UBASIC ¤Î¼Â¹Ô·ë²Ì¤È°ìÃפ·¤Þ¤¹¡£¡Ê½½¿Ê15·ådefault¤Î¤Þ¤Þ¡Ë
£±£´·å¤Ï¡¢°ìÃפ·¤Ê¤¤¡£
   10   print modpow(9999999999990,9999999999991,9999999999992)
   20   print modpow(9999999999991,9999999999992,9999999999993)
   30   print modpow(9999999999992,9999999999993,9999999999994)
   40   print modpow(9999999999993,9999999999994,9999999999995)
   50   print modpow(1999999999999,2999999999999,3999999999999)
   60   print modpow(2999999999999,3999999999999,4999999999999)
   70   print modpow(3999999999999,4999999999999,5999999999999)
   80   print modpow(4999999999999,5999999999999,6999999999999)
run
4328812006896
6296396057422
709006245058
6925339067979
2162020581010
1769850372477
5139725946770
6768106064755
OK
 

Re: ¾ê;¤Î·×»»

 Åê¹Æ¼Ô¡§ÇòÀС¡ÏÂÉ×  Åê¹ÆÆü¡§2008ǯ12·î25Æü(ÌÚ)09»þ11ʬ50ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.190[¸µµ­»ö¤Ø]

¡Ö´ðËܤΥ¢¥ë¥´¥ê¥º¥à¡×¤Î¥Ú¡¼¥¸¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£
http://hp.vector.co.jp/authors/VA008683/F_Algor.htm

¤³¤Î¥×¥í¥°¥é¥à¤Ï¡¤a^n mod k ¤ò·×»»¤·¤Þ¤¹¡£
k¤ÎÃͤ¬8·å¤òͤ¨¤ë¤È¤­¤ÏÍ­Íý¿ô¥â¡¼¥É¤Ç¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£

100 INPUT k
110 INPUT a,n
120 LET p=1
130 LET b=MOD(a,k)
140 DO UNTIL n=0
150    IF MOD(n,2)=1 THEN LET p=MOD(p*b,k)
160    LET b=MOD(b*b,k)
170    LET n=INT(n/2)
180 LOOP
190 PRINT p
200 END
 

Re: ¾ê;¤Î·×»»

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2008ǯ12·î25Æü(ÌÚ)11»þ23ʬ39ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.190[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

  x^n¤Ç¤Ù¤­»Ø¿ô¤òn=s*t*u¤Èʬ²ò¤¹¤ì¤Ð¡¢¾ê;·×»»¤Î²ó¿ô¤¬s+t+u¤Ë¸º¤é¤»¤ë¤Î¤Çn¤òÁǰø¿ôʬ²ò¤·¤Þ¤·¤¿¡£
n¤¬ÁÇ¿ô¤Ç¤Ê¤±¤ì¤Ð¹â®¤Ç¤¹¡£1000·å¥â¡¼¥É¤Ç¤â¿ôÉäǤ¹¡£

[Åê¹Æ¤·¤è¤¦¤È·Ç¼¨ÈĤò³«¤¤¤¿¤éÇòÀÐÀèÀ¸¤ÎÅê¹Æ¤¬¤¢¤ê¤Þ¤·¤¿¡£ÇòÀÐÀèÀ¸¤Î¥×¥í¥°¥é¥à¤Ç¤Ïn¤¬ÁÇ¿ô¤Ç¤¢¤ë¤«¤Ë̵´Ø·¸¤Ç¹â®¤Ç¤¹¡£¤Þ¤¢¡¢¤»¤Ã¤«¤¯ºî¤Ã¤¿¤Î¤ÇÅê¹Æ¤·¤Þ¤¹¡£]

ÄɲÃÊÔ½¸[SECOND¤µ¤ó¤ÎÅê¹Æ¤Ç¤µ¤«¤Î¤Ü¤Ã¤Æ³Îǧ¤·¤Þ¤·¤¿¤¬¡¢»³ÃæÏµÁ¤µ¤ó¤¬¤¹¤Ç¤ËÇòÀÐÀèÀ¸¤ÈƱÍͤÎÅê¹Æ¤ò¤µ¤ì¤Æ¤¤¤Þ¤·¤¿¡£]

DECLARE EXTERNAL SUB prime_factor
PUBLIC NUMERIC prn(2000000),pf(100),f
DECLARE FUNCTION modn
LET x=9876543201
LET n=1234567890
LET a=6789012345
LET r=MOD(x,a)
CALL prime_factor(n) ! Áǰø¿ôʬ²ò
LET k=r
FOR i=1 TO f
   LET k=modn(k,pf(i),a)
NEXT i
PRINT k
!
FUNCTION modn(r,n,a) ! mod(r^n,a)
   LET kk=r
   FOR ii=2 TO n
      LET kk=MOD(kk*r,a)
   NEXT ii
   LET modn=kk
END FUNCTION
END

REM ** Áǰø¿ôʬ²ò **
EXTERNAL SUB prime_factor(n)
DECLARE EXTERNAL SUB prime
LET f=0 ! Áǰø¿ô¤Î¸Ä¿ô
LET q=n ! q¤Ï¡¢¾¦
LET m=1 ! ¸¡¾ÚÍÑÊÑ¿ô
FOR i=1 TO 10
   READ prn(i)
NEXT i
DATA 2,3,5,7,11,13,17,19,23,29
LET i=1
DO WHILE MOD(q,prn(i))=0 ! °ø¿ôȽÄê¥ë¡¼¥Á¥ó
   LET f=f+1
   LET pf(f)=prn(i) ! pf(f)¤Ïn¤ÎfÈÖÌܤÎÁǰø¿ô
   LET q=q/prn(i)
   LET m=m*prn(i)
LOOP
LET i=2
DO WHILE prn(i)<=SQR(q)
   DO WHILE MOD(q,prn(i))=0 ! °ø¿ôȽÄê¥ë¡¼¥Á¥ó
      LET f=f+1
      LET pf(f)=prn(i) ! pf(f)¤Ïn¤ÎfÈÖÌܤÎÁǰø¿ô
      LET q=q/prn(i)
      LET m=m*prn(i)
   LOOP
   IF q=1 THEN EXIT DO
   LET i=i+1
   IF i>10 THEN CALL prime(i) ! iÈÖÌܤÎÁÇ¿ô
LOOP
IF q<>1 THEN
   LET f=f+1
   LET pf(f)=q
   LET m=m*q
END IF
IF m<>n THEN PRINT "error !!"
END SUB
!
REM ** ÁÇ¿ôÎóÀ¸À®(kÈÖÌܤÎÁÇ¿ô) **
EXTERNAL SUB prime(k)
LET m30=MOD(prn(k-1),30)
IF m30=1 OR m30=23 THEN LET a=prn(k-1)+6 ELSE LET a=prn(k-1)-2*MOD(m30,3)+6
DO
   LET sqra=SQR(a)
   FOR j=4 TO k-1
      IF MOD(a,prn(j))=0 THEN EXIT FOR
      IF prn(j)>=sqra THEN
         LET  prn(k)=a
         EXIT SUB
      END IF
   NEXT j
   LET m30=MOD(a,30)
   IF m30=1 OR m30=23 THEN LET a=a+6 ELSE LET a=a-2*MOD(m30,3)+6
LOOP
END SUB
 

¾ê;·×»»¤ÎÄ´ºº¤è¤ê

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ12·î25Æü(ÌÚ)15»þ23ʬ30ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¿ô³Ø¤Ë¾Ü¤·¤¤Êý¤Ï°Ê²¼¤Î¤³¤È¤ÏÌÀÇò¤Ê¤³¤È¤Ç¤¢¤ë¤Ç¤·¤ç¤¦¤¬¡¢»ä¤Ë¤È¤Ã¤Æ¤ÏÂçȯ¸«¤Ç¤·¤¿¡£
°ÊÁ°
¥È¥é¥ó¥×¤Î¥·¥ã¥Ã¥Õ¥ë¤Ë¶½Ì£¤¬¤¢¤Ã¤¿¤È¤­¡¢¼¡¤Î¤³¤È¤òÄ´¤Ù¤Æ¤¤¤Þ¤·¤¿¡£
¥«¡¼¥É¡Ê2nËç¡Ë¤Ç¥¤¥ó¤Î¥ê¥Õ¥ë¥·¥ã¥Ã¥Õ¥ë¤ò¤·¤¿¤È¤­¡¢
¡ã¤¤¤Þ¡¢¥«¡¼¥É¤¬ £²£îËç
£á1¡¢£á2¡¢¡¦¡¦¡¦¡¢£á£î¡¢£â1¡¢£â2¡¢¡¦¡¦¡¦¡¢£â£î
¤¢¤ë¤È¤­¡¢¤½¤Î½ç½ø¤òʤÙÂØ¤¨¤Æ¡¢
£â1¡¢£á1¡¢£â2¡¢£á2¡¢¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¢£â£î¡¢£á£î
¤È¤Ê¤ë¤È¤­¡¢
£²£î Ëç¤Î¥«¡¼¥É¤¬¡Ö¥¤¥ó¤Ç¥ê¥Õ¥ë¥·¥ã¥Ã¥Õ¥ë¡×¤µ¤ì¤¿¤È¤¤¤¦¤³¤È¤Ë¤¹¤ë¡£¡ä

¤³¤ì¤Ë¤Ä¤¤¤ÆÄ´¤Ù¤Æ¤¤¤¯¤È¡Ê£²¡Á£±£°£°Ëç¤ÇÄ´ºº¡Ë

Ëç¿ô Ʊ½çÉü¸µ²ó¿ô µÕ½çÉü¸µ²ó¿ô ¡¡ ¡¡Ëç¿ô Ʊ½çÉü¸µ²ó¿ô µÕ½çÉü¸µ²ó¿ô
£²   £²           £±           ¡¡ ¡¡£µ£² £µ£²         £²£¶
£´   £´           £²           ¡¡ ¡¡£µ£´ £²£°
£¶   £³     ¡¡ ¡¡                  ¡¡£µ£¶ £±£¸           £¹
£¸   £¶           £³           ¡¡ ¡¡£µ£¸ £µ£¸         £²£¹
£±£° £±£°         £µ           ¡¡ ¡¡£¶£° £¶£°         £³£°
£±£² £±£²         £¶           ¡¡ ¡¡£¶£²   £¶
£±£´   £´ ¡¡                    ¡¡ ¡¡£¶£´ £±£²           £¶
£±£¶   £¸         £´           ¡¡ ¡¡£¶£¶ £¶£¶         £³£³
£±£¸ £±£¸         £¹           ¡¡ ¡¡£¶£¸ £²£²
£²£°   £¶ ¡¡                    ¡¡ ¡¡£·£° £³£µ
£²£² £±£±                   ¡¡ ¡¡ ¡¡£·£²   £¹
£²£´ £²£°       £±£°           ¡¡ ¡¡£·£´ £²£°
£²£¶ £±£¸         £¹           ¡¡ ¡¡£·£¶ £³£°
£²£¸ £²£¸       £±£´           ¡¡ ¡¡£·£¸ £³£¹
£³£°   £µ ¡¡                    ¡¡ ¡¡£¸£° £µ£´         £²£·
£³£² £±£°         £µ           ¡¡¡¡ £¸£² £¸£²         £´£±
£³£´ £±£² ¡¡                    ¡¡ ¡¡£¸£´   £¸
£³£¶ £³£¶       £±£¸           ¡¡ ¡¡£¸£¶ £²£¸
£³£¸ £±£² ¡¡                   ¡¡ ¡¡£¸£¸ £±£±
£´£° £²£°       £±£°           ¡¡ ¡¡£¹£° £±£²
£´£² £±£´         £·           ¡¡ ¡¡£¹£² £±£°
£´£´ £±£² ¡¡ ¡¡                   ¡¡£¹£´ £³£¶
£´£¶ £²£³ ¡¡ ¡¡                    ¡¡£¹£¶ £´£¸         £²£´
£´£¸ £²£± ¡¡ ¡¡                    ¡¡£¹£¸ £³£°         £±£µ
£µ£° ¡¡£¸ ¡¡ ¡¡                  ¡¡£±£°£°1£°£°  ¡¡     £µ£°

¤Ê¤ëÄ´ºº·ë²Ì¤òÆÀ¤Æ¤¤¤Þ¤·¤¿¡£

¤³¤Î¤³¤È¤«¤é¡¢¥È¥é¥ó¥×¡Ê£µ£²Ëç¡Ë¤Ç
¥¢¥¦¥È¤Î¥ê¥Õ¥ë¥·¥ã¥Ã¥Õ¥ë¡Ê¸µ¤Î¥È¥Ã¥×¤È¥Ü¥È¥à¤ò¾ï¤ËºÆ¤Ó¥ê¥Õ¥ë¸å¤Î¥È¥Ã¥×¤È¥Ü¥È¥à¤Ë¤¹¤ë¡£¡Ë¤ò¤¹¤ì¤Ð¡¢£µ£²Ëç¤Î¥¢¥¦¥È¥·¥ã¥Ã¥Õ¥ë¡á£µ£°Ëç¤Î¥¤¥ó¥·¥ã¥Ã¥Õ¥ë¤ËƱ¤¸¤Ê¤Î¤Ç¡¢£¸²ó
¤Ç¸µ¤ËÌá¤ë¤³¤È¤¬µ¯¤­¤ë¤³¤È¤Ë¤Ê¤ë¡£

¤È¤³¤í¤Ç¤³¤³¤Ë½Ð¤Æ¤¯¤ë¿ô»ú¤¬¥é¥ó¥À¥à¤Ëʤó¤Ç¤¤¤¯¤³¤È¤ËÉԻ׵Ĥµ¤ò´¶¤¸¤Æ¤¤¤Þ¤·¤¿¡£
º£ÅÙ¡¢ºîÀ®¤·¤ÆÄº¤¤¤¿a^n(mod k)¤ò·×»»¤·¤ÆÉ½¤òºîÀ®¤·¤Æ¡¢Ä¯¤á¤Æ¤¤¤Æ¤¢¤ë´Ø·¸¤¬¤¢¤ë¤³¤È¤Ëµ¤¤Å¤­¤Þ¤·¤¿¡£

¤³¤ÎƱ½çÉü¸µ²ó¿ô¤¬
a=2,k=¥«¡¼¥É¤ÎËç¿ô¡Ü£±¤Ç·×»»¤µ¤»¤¿¤È¤­¡¢Í¾¤ê¤ÎÃͤ¬£±¤òºÇ½é¤Ë¤È¤ë»þ¤Î£î¤ËÂбþ¤·¤¿¡£
¡ãÎã¡ä
¥«¡¼¥É£µ£²Ëç¤Ê¤é
¡¡£²¡°£î¢á£±¡ÊMOD53)
¤Ê¤ëºÇ¾®¤Î£î¤¬Æ±½çÉü¸µ²ó¿ô¤Ë¤Ê¤Ã¤Æ¤¤¤¿¡£
¤Þ¤¿
¡¡£²¡°£î¢á£µ£²¡¡¡ÊMOD53)
¤Ê¤ëºÇ¾®£î¤¬µÕ½çÉü¸µ²ó¿ô¤òÃΤ餻¤ë¡£

¥È¥é¥ó¥×¥·¥ã¥Ã¥Õ¥ë¤È¾ê;¤¬»×¤ï¤Ì¤È¤³¤í¤Ç·Ò¤¬¤Ã¤¿¤³¤È¤Ë¤µ¤é¤ËÉԻ׵Ĥµ¤¬¿¼¤Þ¤ê¤Þ¤·¤¿
 

Re: ¾ê;·×»»¤ÎÄ´ºº¤è¤ê

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ12·î25Æü(ÌÚ)16»þ50ʬ57ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.198[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¥«¡¼¥É£µ£²Ëç¤Ê¤é
> ¡¡£²¡°£î¢á£±¡ÊMOD53)
> ¤Ê¤ëºÇ¾®¤Î£î¤¬Æ±½çÉü¸µ²ó¿ô¤Ë¤Ê¤Ã¤Æ¤¤¤¿¡£
> ¤Þ¤¿
> ¡¡£²¡°£î¢á£µ£²¡¡¡ÊMOD53)
> ¤Ê¤ëºÇ¾®£î¤¬µÕ½çÉü¸µ²ó¿ô¤òÃΤ餻¤ë¡£



£±²ó¤Î¥·¥ã¥Ã¥Õ¥ë¤Ç¥«¡¼¥Ék¤¬¸½¤ì¤ë°ÌÃÖ¤òf(k)¤Ï¡Ê¥«¡¼¥Ék¤Ïf(k)ÈÖÌܤˤ¢¤ë¡Ë
¡¡f(k)=MOD(2*k,n+1)
¤Èɽ¤»¤ë¡£

m²ó¥·¥ã¥Ã¥Õ¥ë¤ò·«¤êÊÖ¤¹¤È
f(f(f(¡Ä(f(k)))))=2*(2*(2*¡Ä(2*k mod n+1) mod n+1) mod n+1) mod n+1=2^m*k mod n+1


°ìÍ÷ɽ¤ò¤Ä¤¯¤ë¥×¥í¥°¥é¥à
!¥ê¥Õ¥ë¥·¥ã¥Ã¥Õ¥ë

!nËç¤Î¥«¡¼¥É¤ò1,2,3,¡Ä,n-1,n¤Ëʤ٤롣
!£±²ó¤Î¥·¥ã¥Ã¥Õ¥ë¤Ç¥«¡¼¥Ék¤¬¸½¤ì¤ë°ÌÃÖ¤òf(k)¤Èɽ¤¹¡£¡Ê¥«¡¼¥Ék¤Ïf(k)ÈÖÌܤˤ¢¤ë¡Ë
DEF f(k)=MOD(2*k,n+1)

FOR n=2 TO 100 STEP 2 !¶ö¿ô
   PRINT USING "### Ëç¡§":n;

   LET x=1 !¥«¡¼¥Éx¤ËÃåÌÜ
   LET iter=1000
   FOR m=1 TO iter !m²ó¤Î¥·¥ã¥Ã¥Õ¥ë¡¡¢¨
      LET x=f(x) !2^m*k (mod n+1)
      !!!PRINT m;x
      IF x=n THEN PRINT USING "### ²óÌܤǵս硢":m; !µÕ½ç
      IF x=1 THEN EXIT FOR !¤â¤È¤ËÌá¤ë
   NEXT m
   IF m>iter THEN
      PRINT USING "### ²ó¤Ç¤Ï¸µ¤ËÌá¤ê¤Þ¤»¤ó¡£":m
   ELSE
      PRINT USING "### ²óÌܤ˸µ¤ËÌá¤ë":m
   END IF

NEXT n

END


UBASIC¤Îmodinv´Ø¿ô¤ò»È¤Ã¤¿¾ì¹ç¡Ê¥µ¥Ö¥ë¡¼¥Á¥ó¤Ï¾Êά¡Ë
FOR n=2 TO 100 STEP 2 !¶ö¿ô
   PRINT USING "### Ëç¡§":n;

   LET iter=1000
   FOR m=1 TO iter
      LET x=modinv(2^m,n+1) !£±ËçÌܤΥ«¡¼¥É¤Î¸µ¤Î°ÌÃÖ¤òÆÀ¤ë
      IF x=n THEN PRINT USING "### ²óÌܤǵս硢":m; !µÕ½ç
      IF x=1 THEN EXIT FOR !¤â¤È¤ËÌá¤ë
   NEXT m
   IF m>iter THEN
      PRINT USING "### ²ó¤Ç¤Ï¸µ¤ËÌá¤ê¤Þ¤»¤ó¡£":m
   ELSE
      PRINT USING "### ²óÌܤ˸µ¤ËÌá¤ë":m
   END IF

NEXT n
END
 

Re: ¥×¥í¥°¥é¥à¤Î½ñ¤­Ä¾¤·

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ12·î25Æü(ÌÚ)20»þ28ʬ59ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.171[¸µµ­»ö¤Ø]

»³ÃæÏµÁ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

b=0 ¤Î¤È¤­¤ÎÃͤ¬ÊѤǤ¹¡£EXTERNAL FUNCTION modpow(a,b,n) !a^b¢áx mod n ¤Îx¤òÊÖ¤¹
 

Re: ¥×¥í¥°¥é¥à¤Î½ñ¤­Ä¾¤·

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ12·î25Æü(ÌÚ)21»þ19ʬ17ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.200[¸µµ­»ö¤Ø]

SECOND¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> b=0 ¤Î¤È¤­¤ÎÃͤ¬ÊѤǤ¹¡£EXTERNAL FUNCTION modpow(a,b,n) !a^b¢áx mod n ¤Îx¤òÊÖ¤¹

b=0¤Ç¤Î¾ì¹çʬ¤±¤ÏɬÍפʤ·¤Ç¤¹¤Í¡£¡Ê¸¶·Á¤Ç¤Ïmodpow=1¤Ç¤Ï¤Ê¤¯¤Æ¡¢S=1¤Ç¤·¤¿¡£¡Ë


EXTERNAL FUNCTION modpow(a,b,n) !a^b¢áx mod n ¤Îx¤òÊÖ¤¹
   LET S=1
   DO WHILE b>0
      IF MOD(b,2)=1 THEN LET S=MOD(S*a,n) !¥Ó¥Ã¥È¤¬£±¤Ê¤é·×»»¤¹¤ë
      LET b=INT(b/2) !¤Ù¤­¾èb¤ò£²¿ÊŸ³«¤¹¤ë
      LET a=MOD(a*a,n)
   LOOP
   LET modpow=S
END FUNCTION
 

Re: ¾ê;·×»»¤ÎÄ´ºº¤è¤ê

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ12·î26Æü(¶â)15»þ25ʬ9ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.198[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£


°ÊÁ°¡¢»³¤ò»È¤Ã¤¿¥·¥ã¥Ã¥Õ¥ë¤¬¤¢¤Ã¤¿¤È»×¤¤¤Þ¤¹¡£

¡Ö¤¢¤ë¥·¥ã¥Ã¥Õ¥ëÊýË¡¤Îµ¬Â§À­¡× > No.109 [¸µµ­»ö¤Ø]


¤³¤Î¾ì¹ç¤Ï¡¢

¡¡LET p=3 !»³¤Î¿ô
¡¡DEF f(k)=MOD(p*(n-k+1),n+1)

¡¡¤¿¤À¤·¡¢n=m*p¡Ên¤Ïp¤ÎÇÜ¿ô¡Ë¡£

¤È¤Ê¤ë¤Î¤Ç¡¢modpow´Ø¿ô¤Þ¤¿¤Ïmodinv´Ø¿ô¤ò»È¤¦¤Ê¤é¡Ê¥µ¥Ö¥ë¡¼¥Á¥ó¤Ï¾Êά¡Ë
!»³¤ò»È¤Ã¤¿¥·¥ã¥Ã¥Õ¥ë
LET p=3 !»³¤Î¿ô

FOR n=p TO 100 STEP p !p¤ÎÇÜ¿ô
   PRINT USING "### Ëç¡§":n;

   LET iter=1000
   FOR m=1 TO iter
   !!!LET x=modinv((n*p)^m,n+1) !£±ËçÌܤΥ«¡¼¥É¤Î¸µ¤Î°ÌÃÖ¡Ê¥«¡¼¥ÉÈÖ¹æ¡Ë¤òÆÀ¤ë
      LET x=modpow(n*p,m,n+1) !£±È֤Υ«¡¼¥É¤Î°ÌÃÖ¤òÆÀ¤ë
      IF x=n THEN PRINT USING "### ²óÌܤǵս硢":m; !µÕ½ç
      IF x=1 THEN EXIT FOR !¤â¤È¤ËÌá¤ë
   NEXT m
   IF m>iter THEN
      PRINT USING "##### ²ó¤Ç¤Ï¸µ¤ËÌá¤ê¤Þ¤»¤ó¡£":m
   ELSE
      PRINT USING "### ²óÌܤ˸µ¤ËÌá¤ë":m
   END IF

NEXT n

END

¤Ç²ó¿ô¤¬µá¤Þ¤ë¤È»×¤¤¤Þ¤¹¡£
 

¤ª¡¼¡¼¡¼¡¼¡¼

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ12·î26Æü(¶â)18»þ30ʬ43ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.202[¸µµ­»ö¤Ø]

»³ÃæÏµÁ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

¥Û¥ó¥È¤À¡ª¡ª¡ª
°ÊÁ°¤Î»³Ê¬¤±¥·¥ã¥Ã¥Õ¥ë¤âmodinv¤ämodpow´Ø¿ô¤ò»È¤¦¤³¤È¤Ç²òÌÀ¤Ç¤­¤ë¤ó¤Ç¤¹¤Í¡£
¿ô¼°¤À¤±¤À¤È¶á´ó¤êÆñ¤¤°õ¾Ý¤¬¤¢¤ê¤Þ¤¹¤¬¡¢¤³¤ó¤Ê¤Ë¤âÌòΩ¤Äµ¡Ç½¤òÍ­¤·¤Æ¤¤¤ë¤Ê¤ó¤Æ¤¹¤Ð¤é¤·¤¤¡£
À°¿ôÏÀ¤ÎËܤò¤¢¤é¤¿¤á¤ÆÆÉ¤ß¤¿¤¯¤Ê¤ê¤Þ¤·¤¿¡£
¿ô»ú¤È¤Ï¤Þ¤Ã¤¿¤¯ÉԻ׵Ĥʿ¶¤ëÉñ¤¤¤ò¤¹¤ë¤â¤ó¤À¡£¡Ê¿ô»ú¤Ë¤·¤Æ¤ß¤ì¤Ð¡¢ÅöÁ³¤Î¹Ôư¤Ê¤ó¤Ç¤·¤ç¤¦¤¬¡¦¡¦¡¦¡Ë
¤³¤ì¤Ï¿Í´ÖÂÐ¥³¥ó¥Ô¥å¡¼¥¿¤Î´Ø·¸¤Ë»÷¤Æ¤¤¤ë¤Î¤«¤â¤·¤ì¤Ê¤¤¡£
¥³¥ó¥Ô¥å¡¼¥¿¤Ï»Ø¼¨¤µ¤ì¤¿Ä̤ê¤Î¹Ôư¤ò¤·¤Æ¤¤¤ë¤Î¤Ë¡¢»×¤¦¤è¤¦¤Ëư¤«¤Ê¤»¤Ê¤¤¤³¤Î¤â¤É¤«¤·¤µ¤Ë»÷¤Æ¤¤¤Þ¤¹¡£
 

»ÅÍͤǤ·¤ç¤¦¤«¡£

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ12·î27Æü(ÅÚ)00»þ15ʬ51ÉÃ
ÊÖ¿®¡¦°úÍÑ
  !
!ʸ»ú¤¬¡¢¶ÀÁü¤Ë¤Ê¤ê¤Þ¤»¤ó¡¢»ÅÍͤǤ·¤ç¤¦¤«¡£
!
SET TEXT JUSTIFY "center","half"
SET WINDOW -2, 2, -2, 2
SET COLOR MIX(15) 0.5,0.5,0.5
DRAW grid

DRAW test WITH SCALE( 1, 1)
DRAW test WITH SCALE(-1, 1)
DRAW test WITH SCALE( 1,-1)

PICTURE test
   PLOT LINES: 0,0; 1,0; 0.7,0.8; 0,0
   PLOT POINTS: 0.2,0.1
   PLOT TEXT,AT 0.6,0.4 :"1234"
END PICTURE

END
 

»þ·×¡¢»þ·×¡¢»þ·×

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ12·î27Æü(ÅÚ)01»þ50ʬ5ÉÃ
ÊÖ¿®¡¦°úÍÑ
  !£±¤Ä³Ð¤¨¤Ë²á¤®¤ë¤«¡©¼è¤ê¤¢¤¨¤º¥ß¥é¡¼¤ÎÃæ¤ËÆþ¤ì¤Æ¤ß¤¿¡£plot text ¤òÈò¤±¤Æ¡¢
!plot label ¤ò»ÈÍѤ·¤¿¤Î¤Ç¡¢Ê¸»ú¤Ø¤Î¸ú²Ì¤Ï¡¢¤¢¤ê¤Þ¤»¤ó¡£

!¡¡»þ·×¡¢»þ·×¡¢»þ·×
!-------------------
LET N=2
LET NN=2^N
SET TEXT font "Century",11
SET TEXT JUSTIFY "center","half"
SET TEXT BACKGROUND "OPAQUE"
SET WINDOW -250/NN,250/NN,250/NN,-250/NN

LET ¦Õ=0
LET stp=-PI/180*6
DO
   LET t=INT(TIME)
   IF t0<>t THEN
      LET t0=t
      IF 2*PI<=ABS(¦Õ) THEN LET stp=-stp
      LET ¦Õ=REMAINDER(¦Õ, 2*PI) +stp
      !-----
      SET DRAW mode hidden
      CLEAR
      DRAW D4(N) WITH SHIFT(-300/2,-300/2/SQR(3))*ROTATE(¦Õ*(-1)^N)*SCALE(1,(-1)^N)
      DRAW center WITH SHIFT(-300/2/NN,-300/2/NN/SQR(3))*ROTATE(¦Õ)
      PLOT TEXT,AT 180/NN,-240/NN:"Right Click to Stop"
      SET DRAW mode explicit
   ELSE
      WAIT DELAY 0.05 !¡¡¾ÊÅÅÎϸú²Ì
   END IF
   MOUSE POLL mx,my,mlb,mrb
LOOP UNTIL mrb>=1 !¡¡±¦¥¯¥ê¥Ã¥¯¤ÇÄä»ß

PICTURE center
   SET LINE COLOR 2
   SET LINE width 2
   PLOT LINES:0,0;300/NN,0;300/2/NN,300/2/NN*SQR(3);0,0
   SET LINE width 1
   SET LINE COLOR 1
END PICTURE

!------
PICTURE D4(k)
   IF 0< k THEN
      DRAW D4(k-1) WITH SCALE(1/2,1/2)*SHIFT(300/4,SQR(3)*300/4) !¡¡Æâ¦¤Î¾å
      DRAW D4(k-1) WITH SCALE(1/2,-1/2)*SHIFT(300/4,SQR(3)*300/4) !¡¡Æâ¦¤ÎÃæ
      DRAW D4(k-1) WITH SCALE(1/2,1/2)*ROTATE(-PI*2/3)*SHIFT(300/4,SQR(3)*300/4) !Æâ¦¤Îº¸
      DRAW D4(k-1) WITH SCALE(1/2,1/2)*ROTATE(PI*2/3)*SHIFT(300,0) !¡¡Æâ¦¤Î±¦
   ELSE
      DRAW »þ·×¿Þ WITH ROTATE(-¦Õ)*SHIFT(300/2,300/2/SQR(3))
      PLOT LINES:0,0;300,0;300/2,SQR(3)*300/2;0,0 !¡¡³°Â¦¤Î´ð½à»°³Ñ·Á¡ÊľÀܤÎÉÁ²è¤Ï̵¤·¡£)
   END IF
END PICTURE

!------
PICTURE »þ·×¿Þ
   SET AREA COLOR 1
   FOR i=1 TO 60
      LET a=PI/30*(i-15)
      IF MOD(i,5)=0 THEN
         PLOT label,AT 60*COS(a)+1, 60*SIN(a) :STR$(i/5) !¿ô»ú
         DRAW disk WITH SCALE(1)*SHIFT(72*COS(a),72*SIN(a)) !£µÊ¬ÌÜÀ¹¤ê
      ELSE
         DRAW disk WITH SCALE(.5)*SHIFT(72*COS(a),72*SIN(a)) !£±Ê¬ÌÜÀ¹¤ê
      END IF
   NEXT i
   !---¡¡00:00 ¤«¤é£ôÉà ¤Î¿Ë²óž Gear
   DRAW hand(1) WITH SCALE(2.5, 0.75)*ROTATE(t*PI/21600) !¡¡»þ¿Ë
   DRAW hand(1) WITH ROTATE(t*PI/1800) !¡¡Ê¬¿Ë
   DRAW hand(1) WITH SCALE(0, 1.1)*ROTATE(t*PI/30) !¡¡ÉÿË
   !---¡¡Ãæ¿´¤Î¾þ¤ê
   DRAW disk WITH SHIFT(0,0)*SCALE(4)
END PICTURE

PICTURE hand(c) !¡¡£³¿Ë¶¦ÍÑ
   SET AREA COLOR c
   PLOT AREA: -1,15; 1,15; 1,-60; -1,-60
END PICTURE

END
 

µ¿Ìä

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ12·î27Æü(ÅÚ)13»þ38ʬ59ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.205[¸µµ­»ö¤Ø]

SECOND¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

Ëü²Ú¶À¤ËËü²Ú¶À¤òÆþ¤ì¹þ¤à¤³¤È¤Ï¤Ç¤­¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©
Ãæ¤Ë¿å¤ä»þ·×¤¬Æþ¤ì¤é¤ì¤ë¤Ê¤é¡¢Ãæ¤Ë¸«¤Æ¤¤¤ëËü²Ú¶À¤Î±ÇÁü¤òÆþ¤ì¤Æ¤ß¤Æ¸«¤¿¤¤¡£
 

Re: µ¿Ìä

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ12·î27Æü(ÅÚ)14»þ18ʬ26ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.206[¸µµ­»ö¤Ø]

GAI¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> Ëü²Ú¶À¤ËËü²Ú¶À¤òÆþ¤ì¹þ¤à¤³¤È¤Ï¤Ç¤­¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©
> Ãæ¤Ë¿å¤ä»þ·×¤¬Æþ¤ì¤é¤ì¤ë¤Ê¤é¡¢Ãæ¤Ë¸«¤Æ¤¤¤ëËü²Ú¶À¤Î±ÇÁü¤òÆþ¤ì¤Æ¤ß¤Æ¸«¤¿¤¤¡£

¼Â¤Ï¡¢¤½¤Î¤´ÊÖ»ö¤ò¤¹¤ëÁ°¤Ë¡¢
°ÊÁ°¤Ë¡¢Åê¹Æ¤·¤¿¤â¤Î¤Ç¤¹¤¬¡¢²¼¤Î¥×¥í¥°¥é¥à¤òÁö¤é¤»¤Æ¸«¤Æ²¼¤µ¤¤¡£

!-----------------------------------------------------
!¥·¥ë¥Ô¥ó¥¹¥­¡¼¤Î¥¬¥¹¥±¥Ã¥È¤ÈÊÂ¤Ù¤ÆÆ°¤«¤·¤Æ¤ß¤ë¡£

OPTION ARITHMETIC NATIVE
DIM px(11),py(11)

MAT READ px
DATA 0.20, 0.40, 0.60, 0.80, 0.70, 0.60, 0.50, 0.40, 0.30, 0.20, 0.40
MAT READ py
DATA 0.11, 0.11, 0.11, 0.11, 0.29, 0.47, 0.65, 0.47, 0.29, 0.11, 0.11

!----------
FOR N=0 TO 4
   FOR s=9 TO 1 STEP -1
      SET DRAW mode hidden
      CLEAR
      SET WINDOW -0.4,1.6, -1.1,0.9
      PLOT TEXT,AT 0.6,0.8:"¥ß¥é¡¼½Ì¾®£´Ê¬´ô"
      PLOT TEXT,AT 0.8,0.7, USING "N= %%":N
      DRAW D4(N)
      SET WINDOW -1.0,1.0, -0.05,1.95
      PLOT TEXT,AT 0.6,0.8:"Ãæ¤òÈ´¤¤¤¿¤â¤Î"
      PLOT TEXT,AT 0.8,0.7, USING "N= %%":N
      DRAW D42(N)
      SET WINDOW 0.0,4.0, -0.1,3.9
      PLOT TEXT,AT 0.1,1.8:"¥·¥ë¥Ô¥ó¥¹¥­¡¼¤Î¥¬¥¹¥±¥Ã¥È"
      PLOT TEXT,AT 1.2,1.6, USING "N= %%":N
      DRAW D3(N)
      SET DRAW mode explicit
      WAIT DELAY 0.2
   NEXT s
NEXT N

!------ ¥ß¥é¡¼½Ì¾®£´Ê¬´ô
PICTURE D4(k)
   IF 0<k THEN
      DRAW D4(k-1) WITH SCALE(1/2,1/2)*SHIFT(1/4,SQR(3)/4) !¡¡¾å
      DRAW D4(k-1) WITH SCALE(1/2,-1/2)*SHIFT(1/4,SQR(3)/4) !¡¡Ãæ
      DRAW D4(k-1) WITH SCALE(1/2,1/2)*ROTATE(-PI*2/3)*SHIFT(1/4,SQR(3)/4) !¡¡º¸
      DRAW D4(k-1) WITH SCALE(1/2,1/2)*ROTATE(PI*2/3)*SHIFT(1,0) !¡¡±¦
   ELSE
      DRAW Set01
   END IF
END PICTURE

!------ ¥ß¥é¡¼½Ì¾®£´Ê¬´ô¡ÊÃæ¡Ë¤ò³°¤¹¤È¡¢¥·¥ë¥Ô¥ó¥¹¥­¡¼¤Î¥¬¥¹¥±¥Ã¥È¤â¤É¤­¤Ë¤Ê¤ë¡£
PICTURE D42(k)
   IF 0<k THEN
      DRAW D42(k-1) WITH SCALE(1/2,1/2)*SHIFT(1/4,SQR(3)/4) !¡¡¾å
      ! ¤³¤ì¤ò³°¤¹¡¡DRAW D42(k-1) WITH SCALE(1/2,-1/2)*SHIFT(1/4,SQR(3)/4) !¡¡Ãæ
      DRAW D42(k-1) WITH SCALE(1/2,1/2)*ROTATE(-PI*2/3)*SHIFT(1/4,SQR(3)/4) !¡¡º¸
      DRAW D42(k-1) WITH SCALE(1/2,1/2)*ROTATE(PI*2/3)*SHIFT(1,0) !¡¡±¦
   ELSE
      DRAW Set01
   END IF
END PICTURE

!------ ¥·¥ë¥Ô¥ó¥¹¥­¡¼¤Î¥¬¥¹¥±¥Ã¥È
PICTURE D3(k)
   IF 0<k THEN
   !---¥ê¥ó¥¯¡¦BASIC¤ÇÉÁ¤¯¼«¸ÊÁê»÷¿Þ·Á¤«¤éÇÒ¼Ú
      DRAW D3(k-1) WITH SCALE(1/2)
      DRAW D3(k-1) WITH SHIFT(-2,0)*SCALE(1/2)*SHIFT(2,0)
      DRAW D3(k-1) WITH SHIFT(-1,-SQR(3))*SCALE(1/2)*SHIFT(1,SQR(3))
   ELSE
      DRAW Set01
   END IF
END PICTURE

!------ ¿Æ½¸¹ç¤Î»°³Ñ¿Þ£±Ëç
PICTURE Set01
   PLOT LINES: 0,0; 1,0 ;0.5,SQR(3)/2 ;0,0
   SET AREA COLOR 2
   DRAW disk WITH SCALE(0.1)*SHIFT(px(s),py(s)) ! ¾þ¤ê£±
   SET AREA COLOR 3
   DRAW disk WITH SCALE(0.1)*SHIFT(px(s+1),py(s+1)) ! ¾þ¤ê£²
   SET AREA COLOR 4
   DRAW disk WITH SCALE(0.1)*SHIFT(px(s+2),py(s+2)) ! ¾þ¤ê£³
END PICTURE

END
 

¥·¥ã¥Ã¥Õ¥ë¤Ë¤Ä¤¤¤ÆÄ´¤Ù¤Æ¤¤¤¿¤é

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ12·î29Æü(·î)07»þ01ʬ26ÉÃ
ÊÖ¿®¡¦°úÍÑ
  !¥·¥ã¥Ã¥Õ¥ë¤Ë¤Ä¤¤¤ÆÄ´¤Ù¤Æ¤¤¤¿¤é¡¢¤³¤Î¥Ú¡¼¥¸¤Ë
!http://www004.upp.so-net.ne.jp/s_honma/number/shuffle.htm#ÊÌɽ
!£Ç£Á£É ¤µ¤ó¤ÎÄ´ºº¤µ¤ì¤¿É½¤È¡¢¤½¤Î²¼¤ÎÊý¤Ë¡¢£Ã¸À¸ì¤Î¸¡¾Ú¥×¥í¥°¥é¥à¤¬
!¤¢¤ê¤Þ¤·¤¿¤Î¤Ç¡¢½½¿ÊBASIC ¤Ç¤âư¤¯¤è¤¦¤Ë½ñ¤­Ä¾¤·¤Æ¤ß¤Þ¤·¤¿¡£
!¾¡¼ê¤Ë²ÃÉ®¤·¤Æ¡¢·ë²Ì¤Ë¡¢¤ª¤«¤·¤Ê¿ô»ú¤¬¡¢½Ð¤¿¤ê¤·¤Æ¤¤¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£

!#include <stdio.h>
!#include <string.h>
!int buf[1000], bufw[1000];
!int n;

!void shuffle(void)
!{
!¡¡int i;
!¡¡memcpy(bufw, buf, sizeof(buf[0]) * n);
!¡¡for(i = 0; i < n; ++i)
!¡¡¡¡buf[i] = bufw[i / 2 + (i + 1) % 2 * n / 2];
!}

!int main(void)
!{
!¡¡int i, c, cc;
!¡¡for(n = 2; n <= 1000; n += 2){
!¡¡¡¡for(i = 0; i < n; ++i)
!¡¡¡¡¡¡buf[i] = i;
!¡¡¡¡cc = c = 0;
!¡¡¡¡do{
!¡¡¡¡¡¡++c;
!¡¡¡¡¡¡shuffle();
!¡¡¡¡¡¡for(i = 0; i < n; ++i)
!¡¡¡¡¡¡¡¡if(buf[i] != n - 1 - i)
!¡¡¡¡¡¡¡¡¡¡break;
!¡¡¡¡¡¡if(i >= n && cc == 0)
!¡¡¡¡¡¡¡¡cc = c;
!¡¡¡¡¡¡for(i = 0; i < n; ++i)
!¡¡¡¡¡¡¡¡if(buf[i] != i)
!¡¡¡¡¡¡¡¡¡¡break;
!¡¡¡¡}while(i < n);
!¡¡¡¡printf("%3d %3d %3d\n", n, c, cc);
!¡¡}
!¡¡return 0;
!}

!----------------------------
!½½¿ÊBASIC ¤Ë°Ü¿¢¡£
! i=0~n-1 ¤Ï¡¢¸«¤Å¤é¤¤¤Î¤Ç i=1~n¡¡¤½¤Î¾ ̵ÃDzÃÉ®¡¢¤´ÍÆ¼Ï ¡Ë

LET maxim=13 !¡¡ºÇÂçËç¿ô 2~1000
DIM buf(1000), bufw(1000)

SUB in_riffle_shuffle !¥¤¥ó¤Î¥ê¥Õ¥ë¡£´ñ¿ôËç¤Ï¡¢¸åȾ¤ò£±Ë翤á
   MAT bufw=buf
   FOR i=1 TO n
      LET buf(i)= bufw(CEIL(i/2)+MOD(i,2)*INT(n/2)) !1234¢ª3142, 12345¢ª31425
   NEXT i
END SUB

SUB out_riffle_shuffle !¥¢¥¦¥È¤Î¥ê¥Õ¥ë¡£´ñ¿ôËç¤Ï¡¢Á°È¾¤ò£±Ë翤á
   MAT bufw=buf
   FOR i=1 TO n
      LET buf(i)= bufw(CEIL(i/2)+MOD(i+1,2)*CEIL(n/2)) !1234¢ª1324, 12345¢ª13243
   NEXT i
END SUB

FOR n=2 TO maxim !STEP 2 !¡¡Step ¤ò³°¤»¤Ð´ñ¿ô¤â·×»»¡£
!-----
   MAT buf=ZER(n) !¡¡ÇÛÎó¥µ¥¤¥ºÄ´À°¡¢ÄɲÃ
   !-----
   FOR i=1 TO n
      LET buf(i)= i
   NEXT i
   LET cc=0
   LET c=0
   !-----
   IF maxim<15 THEN MAT PRINT USING REPEAT$(" ###",n) :buf !¡¡É½¼¨¡¢ÄɲÃ
   !-----
   DO
      LET c=c+1
      CALL in_riffle_shuffle ! 1234¢ª3142, 12345¢ª31425
      !CALL out_riffle_shuffle ! 1234¢ª1324, 12345¢ª13243
      !-----
      IF maxim<15 THEN MAT PRINT USING REPEAT$(" ###",n) :buf !¡¡É½¼¨¡¢ÄɲÃ
      !-----
      FOR i=1 TO n
         IF buf(i)<> n+1-i THEN EXIT FOR
      NEXT i
      IF i>n AND cc=0 THEN LET cc=c
      FOR i=1 TO n
         IF buf(i)<>i THEN EXIT FOR
      NEXT i
   LOOP UNTIL i>n
   PRINT USING "Ëç¿ô=###¡¡Æ±½ç=###¡¡µÕ½ç=###¡ÊÉü¸µ²ó¿ô¡Ë": n, c, cc
   IF maxim<15 THEN PRINT !¡¡É½¼¨¡¢ÄɲÃ
NEXT n

END
 

¤ªÀµ·î¥Þ¥¸¥Ã¥¯

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2008ǯ12·î29Æü(·î)12»þ31ʬ20ÉÃ
ÊÖ¿®¡¦°úÍÑ
  Àµ·î¤Ï°ì²ÈÃÄݳ¡¢¿ÆÀ̤ʤɤ⽸¤Þ¤ê»Ò¶¡¤¿¤Á¤â´ó¤Ã¤ÆÍè¤Þ¤¹¡£
¤½¤³¤Ç¥È¥é¥ó¥×¥Þ¥¸¥Ã¥¯¤ò¤Ò¤È¤Ä¾Ò²ð¡£
狼¤Ë£µ£²Ëç¤ÎÃæ¤«¤é¾¡¼ê¤Ë£µËç¤Î¥«¡¼¥É¤ò°ú¤«¤»¤ë¡£
¤³¤ì¤ò¥¢¥·¥¹¥¿¥ó¥È¤ËÅϤ·¤Æ¤â¤é¤¦¡£¡Ê¥¢¥·¥¹¥¿¥ó¥È¤ÎÌòÌܤϤ¢¤È¤ÇÀâÌÀ¡Ë
¥¢¥·¥¹¥¿¥ó¥È¤Ï¥«¡¼¥É¤ò°ìË示¤Äɽ¸þ¤­¤Ë¥Æ¡¼¥Ö¥ë¤Ø½Ð¤·¤ÆÊ¤٤Ƥ¤¤¯¡£
£´Ëçʤó¤À¤È¤³¤í¤Ç¡¢ÂԤ俤ò¤«¤±¤ë¡£
¤³¤³¤Ç¤¢¤Ê¤¿¡Ê¥Þ¥¸¥·¥ã¥ó¡Ë¤Ï½½Ê¬¤Ê±éµ»¤ò¹Ô¤Ê¤¦¡£
¥Þ¥¸¥·¥ã¥ó¤Ï»Ä¤Ã¤¿°ìËç¤Î¥«¡¼¥É¤Î¥Þ¡¼¥¯¤È¿ô»ú¤òͽ¸À¤¹¤ë¡£
ºÇ¸å¤Î°ìËç¤òɽ¸þ¤­¤Ëʤ٤Ƥâ¤é¤¦¡£¡Êͽ¸À¤¬ÅªÃ椹¤ë¡£¡Ë

¡ã¥¢¥·¥¹¥¿¥ó¥È¤ÎÌòÌÜ¡ä
£µËç¤Î¥«¡¼¥É¤ÎÃæ¤Ë¤Ïɬ¤ºÆ±¤¸¥Þ¡¼¥¯¤¬Â¸ºß¤¹¤ë¡£
ºÇ½é¤Ëɽ¤Ë¤·¤ÆÊ¤٤륫¡¼¥É¤Ï¤³¤Î¥Þ¡¼¥¯¤Î¥«¡¼¥É¤Î°ì¤Ä¤Ë¤¹¤ë¡£¡Ê¤³¤ì¤ÇºÇ¸å¤Ë»Ä¤ë¥«¡¼¥É¤Î¥Þ¡¼¥¯¤¬È½ÌÀ¤¹¤ë¡£¡Ë
¼¡¤Ë£³¤Ä¤Î¥«¡¼¥É¤òʤ٤뤬¡¢Ê¤٤ë½çÈÖ¤ò¿ô»ú¤Ç
A>K>Q>J>10>9>8>7>6>5>4>3>2
¤Î½ç½ø¡Ê¥Ý¡¼¥«¡¼¤Ç¤Î¶¯¼å¤ËƱ¤¸¤Ë¤¹¤ë¡£¡Ë¤È·è¤á¤Æ¤ª¤­¡¢ºÇ½é¤ËÃÖ¤¤¤¿¥«¡¼¥É¤Î¿ô»ú¤ÈºÇ¸å¤Þ¤Ç¼ê¸µ¤Ë»Ä¤¹¥«¡¼¥É¡ÊƱ¤¸¥Þ¡¼¥¯¡Ë¤Î¿ô»ú¤Îº¹¡Ê¥­¡¼¥Ê¥ó¥Ð¡¼¡Ë¤Ë½¾¤Ã¤ÆÊ¤ÙÊý¤ò¹©Éפ·¤Æ¤ä¤ë¡£
¤³¤³¤ÇºÇ½é¤Î¥«¡¼¥É¤ÈºÇ¸å¤Î¥«¡¼¥É¤Î¿ô»ú¤ÎÇÛÎ󺹤Ïɬ¤º£¶°ÊÆâ¤ËǼ¤Þ¤ë¡£
¤³¤ì¤Ï¿ô»ú¤ò±ß¼þ¾å¤ÎÇÛÎó¤È¤·¤Æ¹Í¤¨¤Æ¤ª¤¯¤È¤¹¤ë¡£(»þ·×²ó¤ê¤Ë¥«¥¦¥ó¥È¤¹¤ë¡£¡Ë
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡K
¡¡¡¡¡¡¡¡¡¡¡¡¡¡Q¡¡A
¡¡¡¡¡¡¡¡     J    2
           10      3
            9     4
             8   5
              7 6

<ºÇ½é¤Ë½Ð¤¹¥«¡¼¥É¤Î¿ô¡ä¡¡¡¡¡¡¡ãºÇ¸å¤Þ¤Ç»Ä¤¹¥«¡¼¥É¤Î¿ô¡ä¡¡¡¡¡ã¥­¡¼¥Ê¥ó¥Ð¡¼¡ä
¡¡¡¡¡¡¡¡¡¡A¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡  2¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 1
          2                              4                       2
          3                              6                       3
          4                              8                       4
          5                             10                       5
          6                              Q                       6
          7                              K                       6
¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦
¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦
¡¡¡¡¡¡¡¡¡¡ K                              A                       1

¡ã¥­¡¼¥Ê¥ó¥Ð¡¼¤ËÂФ¹¤ë£³Ëç¤Î¥«¡¼¥É¤ÎÇÛÎóˡ§¡ä
£³Ëç¤Î¥«¡¼¥É¤Î¿ô»ú¤ò¸«Èæ¤Ù¤Æ¡¢3¤Ä¤Ç¤Î¶¯¡¢Ãæ¡¢¼å¤ò¸«¤ë¡£
¡Ê¤â¤·Æ±¿ô¤Ç¤¢¤ì¤Ð¥Þ¡¼¥¯¤Ç♠¡ä♡¡ä♢¡ä♣¡¡¤Î½ç¤Ç¶¯¡¢¼å¤ò·è¤á¤ë¡£¡Ë
¡Ê¥­¡¼¥Ê¥ó¥Ð¡¼¡Ë¡¡¡¡¡¡¡Ê£³Ëç¤ÎÇÛÎó½ç½ø¡Ë
¡¡¡¡¡¡1¡§¡¡¡¡¡¡¡¡¡¡¡¡¡¡¼å¡¡¡¦¡¡Ãæ¡¡¡¦¡¡¶¯
¡¡¡¡ £²¡§¡¡¡¡¡¡¡¡¡¡¡¡¡¡¼å¡¡¡¦¡¡¶¯¡¡¡¦¡¡Ãæ
¡¡¡¡ £³¡§¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ãæ¡¡¡¦¡¡¼å¡¡¡¦¡¡¶¯
¡¡¡¡ £´¡§¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ãæ¡¡¡¦¡¡¶¯¡¡¡¦¡¡¼å
¡¡ ¡¡£µ¡§¡¡¡¡¡¡¡¡¡¡¡¡¡¡¶¯¡¡¡¦¡¡¼å¡¡¡¦¡¡Ãæ
¡¡¡¡ £¶¡§¡¡¡¡¡¡¡¡¡¡¡¡¡¡¶¯¡¡¡¦¡¡Ãæ¡¡¡¦¡¡¼å

¡ãÎ㣱¡ä
¡ÊµÒ¤¬°ú¤¤¤¿£µËç¤Î¥«¡¼¥É¡Ë¡§♠J,♠2,♢5,♣J,♣2

(¥¢¥·¥¹¥¿¥ó¥È¤¬Ê¤٤륫¡¼¥É½ç¡Ë¡§♣J,♢5,♠J,♠2
                                *♣2 ¤òºÇ½é¤Ëʤ٤ë¤ÈJ¤Þ¤Ç¤Ï¡Ü£¹¤È¤Ê¤ë¤Î¤Ç£Ê¤È¤¹¤ë¡£

¡Ê¥Þ¥¸¥·¥ã¥ó¤ÎȽÃǡˡ§1ÈÖÌܤΥ«¡¼¥É¥Þ¡¼¥¯¤è¤ê¡¡¥¯¥é¥Ö¤Î
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã桦¶¯¡¦¼å¡¡¤Çʤó¤Ç¤¤¤ë¤«¤é¡¡£Ê¡Ü£´¤è¤ê¡¡¿ô»ú¤Ï¡¡£²

¡ãÎ㣲¡ä
¡ÊµÒ¤¬°ú¤¤¤¿£µËç¤Î¥«¡¼¥É¡Ë¡§♠J,♠4,♢2,♣J,♣2

(¥¢¥·¥¹¥¿¥ó¥È¤¬Ê¤٤륫¡¼¥É½ç¡Ë¡§♠J,♣J,♢2,♣2

¡Ê¥Þ¥¸¥·¥ã¥ó¤ÎȽÃǡˡ§1ÈÖÌܤΥ«¡¼¥É¥Þ¡¼¥¯¤è¤ê¡¡¥¹¥Ú¡¼¥É¤Î
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¶¯¡¦Ã桦¼å¡¡¤Çʤó¤Ç¤¤¤ë¤Î¤Ç¡¡£Ê¡Ü£¶¡¡¤è¤ê¿ô»ú¤Ï¡¡£´

¤³¤ì¤Ç¤¢¤Ê¤¿¤ÏĶǽÎϼÔ
 

UBASIC¤Î¥Ó¥Ã¥È±é»»´Ø¿ô¤Î¼ÂÁõ

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ12·î29Æü(·î)19»þ42ʬ22ÉÃ
ÊÖ¿®¡¦°úÍÑ
 
!¿¿ÍýÃÍɽ
LET a=3 !0011¤Î¥Ñ¥¿¡¼¥ó
LET b=5 !0101¤Î¥Ñ¥¿¡¼¥ó

PRINT " b NOT" !ÈÝÄê
FOR i=0 TO 1
   PRINT bit(i,b); 1-bit(i,b) !b'=1-b
NEXT i
PRINT " a  b IMP" !ÏÀÍýÊñ´Þ
FOR i=0 TO 3
   PRINT bit(i,a); bit(i,b); bit(i,bitor(bitreverse(i,a),b)) !a' or b
NEXT i
PRINT " a  b EQV" !ƱÃÍ
FOR i=0 TO 3
   PRINT bit(i,a); bit(i,b); 1-bit(i,bitxor(a,b)) !(a xor b)'
NEXT i



!£²¤ÎÊä¿ô¡§ÄêµÁ¤è¤ê
LET n=16 !£î¥Ó¥Ã¥ÈÉ乿ÉÕÀ°¿ô -2^(n-1)¡Á2^(n-1)-1
LET m=2^n

LET a=3
LET aa=m-a !a+a'=m
FOR i=N-1 TO 0 STEP -1 !¾å¤Î°Ì¤«¤é
   PRINT bit(i,aa);
NEXT i
PRINT


!£²¤ÎÊä¿ô¡§È¿Å¾¤·¤Æ£±¤ò¤¿¤¹
LET a=3
FOR i=N-1 TO 0 STEP -1 !¾å¤Î°Ì¤«¤é
   LET a=bitreverse(i,a)
NEXT i
LET a=a+1
PRINT a !£î¥Ó¥Ã¥ÈÉ乿¤Ê¤·À°¿ô 0¡Á2^n-1

!£²¤ÎÊä¿ô¡§È¿Å¾¤·¤Æ£±¤ò¤¿¤¹¡¡¢¨Ê̲ò
LET a=3
FOR i=0 TO N-1 !²¼¤Î°Ì¤«¤é
   IF bit(i,a)=1 THEN EXIT FOR !£±¤¬¸«¤Ä¤«¤ë¤Þ¤Ç
   LET a=bitreset(i,a) !£°¤Ë¤¹¤ë
NEXT i
FOR k=i+1 TO N-1 !³¤­
   LET a=bitreverse(k,a) !£°¤ò£±¤Ë¤¹¤ë
NEXT k
PRINT a



!²Ã»» a+b
LET a=123
LET b=45
DO WHILE bitand(a,b)>0
   LET t=bitxor(a,b)
   LET b=sft(bitand(a,b),1)
   LET a=t
LOOP
PRINT bitxor(a,b)


END


!¥Ó¥Ã¥È±é»»´ØÏ¢¡¡¢¨UBASIC¤è¤ê

EXTERNAL FUNCTION bit(n,x) !nÈÖÌܤΥӥåÈÃÍ¡¡¢¨n,x¤ÏÀ°¿ô
IF n<>INT(n) OR x<>INT(x) THEN !À°¿ô°Ê³°¤Ê¤é
   PRINT "¥Ñ¥é¥á¡¼¥¿¤¬ÉÔŬÅö¤Ç¤¹¡£"
   STOP
ELSE
   LET bit=MOD(INT(x/2^n),2)
END IF
END FUNCTION

EXTERNAL FUNCTION bitset(n,x) !nÈÖÌܤΥӥåȤò£±¤Ë¤¹¤ë¡¡¢¨n,x¤ÏÈóÉéÀ°¿ô
IF n<0 OR n<>INT(n) OR x<0 OR x<>INT(x) THEN !ÈóÉéÀ°¿ô°Ê³°¤Ê¤é
   PRINT "¥Ñ¥é¥á¡¼¥¿¤¬ÉÔŬÅö¤Ç¤¹¡£"
   STOP
ELSE
   LET d=2^n !n·å
   LET bitset=(INT(x/d/2)*2+1)*d+MOD(x,d) !Â礭¤¤·å¡Ü£±¡Ü¾®¤µ¤¤·å
END IF
END FUNCTION

EXTERNAL FUNCTION bitreset(n,x) !nÈÖÌܤΥӥåȤò£°¤Ë¤¹¤ë¡¡¢¨n,x¤ÏÈóÉéÀ°¿ô
IF n<0 OR n<>INT(n) OR x<0 OR x<>INT(x) THEN !ÈóÉéÀ°¿ô°Ê³°¤Ê¤é
   PRINT "¥Ñ¥é¥á¡¼¥¿¤¬ÉÔŬÅö¤Ç¤¹¡£"
   STOP
ELSE
   LET d=2^n !n·å
   LET bitreset=INT(x/d/2)*2*d+MOD(x,d) !Â礭¤¤·å¡Ü£±¡Ü¾®¤µ¤¤·å
END IF
END FUNCTION

EXTERNAL FUNCTION bitreverse(n,x) !nÈÖÌܤΥӥåȤòȿž¤¹¤ë¡¡¢¨n,x¤ÏÈóÉéÀ°¿ô
IF n<0 OR n<>INT(n) OR x<0 OR x<>INT(x) THEN !ÈóÉéÀ°¿ô°Ê³°¤Ê¤é
   PRINT "¥Ñ¥é¥á¡¼¥¿¤¬ÉÔŬÅö¤Ç¤¹¡£"
   STOP
ELSE
   LET d=2^n !n·å
   LET a=INT(x/d)
   LET bitreverse=(INT(a/2)*4-a+1)*d+MOD(x,d) !Â礭¤¤·å¡ÜNOT¡Ü¾®¤µ¤¤·å
END IF
END FUNCTION

EXTERNAL FUNCTION bitand(a,b) !¥Ó¥Ã¥È¤´¤È¤ÎÏÀÍýÀÑ¡¡¢¨a,b¤ÏÈóÉéÀ°¿ô
IF a<0 OR a<>INT(a) OR b<0 OR b<>INT(b) THEN !ÈóÉéÀ°¿ô°Ê³°¤Ê¤é
   PRINT "¥Ñ¥é¥á¡¼¥¿¤¬ÉÔŬÅö¤Ç¤¹¡£"
   STOP
ELSE
   LET c=0 !ÃÍ
   LET d=1
   DO UNTIL a=0 OR b=0 !ºÇ²¼°Ì¤Î·å¤«¤é¡¢·å¿ô¤¬¾®¤µ¤¤Êý¤Þ¤Ç
      LET aa=INT(a/2)
      LET bb=INT(b/2)
      LET c=c + MIN((a-aa*2),(b-bb*2)) * d !and(x,y)=MIN(x,y)

      LET a=aa !¼¡¤Ø
      LET b=bb
      LET d=d*2
   LOOP
   LET bitand=c
END IF
END FUNCTION

EXTERNAL FUNCTION bitor(a,b) !¥Ó¥Ã¥È¤´¤È¤ÎÏÀÍýÏ¡¡¢¨a,b¤ÏÈóÉéÀ°¿ô
IF a<0 OR a<>INT(a) OR b<0 OR b<>INT(b) THEN !ÈóÉéÀ°¿ô°Ê³°¤Ê¤é
   PRINT "¥Ñ¥é¥á¡¼¥¿¤¬ÉÔŬÅö¤Ç¤¹¡£"
   STOP
ELSE
   LET c=0
   LET d=1
   DO UNTIL a=0 AND b=0 !·å¿ô¤¬Â礭¤¤Êý
      LET aa=INT(a/2)
      LET bb=INT(b/2)
      LET c=c+MAX((a-aa*2),(b-bb*2)) * d !or(x,y)=MAX(x,y)
      LET a=aa !¼¡¤Ø
      LET b=bb
      LET d=d*2
   LOOP
   LET bitor=c
END IF
END FUNCTION

EXTERNAL FUNCTION bitxor(a,b) !¥Ó¥Ã¥È¤´¤È¤ÎÇÓ¾ŪÏÀÍýÏ¡¡¢¨a,b¤ÏÈóÉéÀ°¿ô
IF a<0 OR a<>INT(a) OR b<0 OR b<>INT(b) THEN !ÈóÉéÀ°¿ô°Ê³°¤Ê¤é
   PRINT "¥Ñ¥é¥á¡¼¥¿¤¬ÉÔŬÅö¤Ç¤¹¡£"
   STOP
ELSE
   LET c=0
   LET d=1
   DO UNTIL a=0 AND b=0 !·å¿ô¤¬Â礭¤¤Êý
      LET aa=INT(a/2)
      LET bb=INT(b/2)
      LET c=c + MOD((a-aa*2)+(b-bb*2),2) * d !xor(x,y)=MOD(x+y,2)
      LET a=aa !¼¡¤Ø
      LET b=bb
      LET d=d*2
   LOOP
   LET bitxor=c
END IF
END FUNCTION

EXTERNAL FUNCTION bitcount(x) !£±¤Ç¤¢¤ë¥Ó¥Ã¥È¤Î¸Ä¿ô¡¡¢¨x¤ÏÈóÉéÀ°¿ô
IF x<0 OR x<>INT(x) THEN !ÈóÉéÀ°¿ô°Ê³°¤Ê¤é
   PRINT "¥Ñ¥é¥á¡¼¥¿¤¬ÉÔŬÅö¤Ç¤¹¡£"
   STOP
ELSE
   LET c=0 !ÃÍ
   DO UNTIL x=0 !ºÇ²¼°Ì¤Î·å¤«¤é
      LET xx=INT(x/2) !¾¦
      LET c=c + (x-xx*2) !;¤ê

      LET x=xx !¼¡¤Ø
   LOOP
   LET bitcount=c
END IF
END FUNCTION

EXTERNAL FUNCTION sft(x,n) !n¥Ó¥Ã¥È¤Î¥·¥Õ¥È¤¹¤ë¡¡¢¨n¤ÏÀ°¿ô
IF n<>INT(n) THEN !À°¿ô°Ê³°¤Ê¤é
   PRINT "¥Ñ¥é¥á¡¼¥¿¤¬ÉÔŬÅö¤Ç¤¹¡£"
   STOP
ELSE
   IF n<0 THEN LET d=1/2 ELSE LET d=2
   FOR i=1 TO ABS(n)
      LET x=x*d
   NEXT i
   LET sft=x
END IF
END FUNCTION
 

¿ôÃÍÀÑʬ¼°

 Åê¹Æ¼Ô¡§¤·¤Ð¤Ã¤Á  Åê¹ÆÆü¡§2008ǯ12·î30Æü(²Ð)09»þ36ʬ6ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¥Ë¥å¡¼¥È¥ó¡¦¥³¡¼¥Ä§ ¿ôÃÍÀÑʬ¼°
Í­Íý¿ô¥â¡¼¥É¤Ç¤ª»î¤·¤¯¤À¤µ¤¤

OPTION BASE 0
PUBLIC NUMERIC MAXLEVEL
LET  MAXLEVEL=10 !'¼¡¿ô
DIM X(1),Y(MAXLEVEL),L(MAXLEVEL)
LET DISPMODE=0 !' 0 or else
LET INTEGRAL=1 !' INTEGRAL >= 1
LET SWITCH=0   !' 0...ÊĤ¸¤¿¸ø¼°  else...³«¤¤¤¿¸ø¼°
IF DISPMODE<>0 THEN
   IF INTEGRAL > 1 THEN
      PRINT "DIM A(";STR$(INTEGRAL);"),B(";STR$(INTEGRAL);"),N(";STR$(INTEGRAL);")"
      PRINT "FOR I=1 TO";INTEGRAL
      LET A$="(" & CHR$(34) & " & STR$(I) & " & CHR$(34) & ")=" & CHR$(34) & ":"
      LET B$="(I)"
   ELSE
      LET A$="=" & CHR$(34) & ":"
      LET B$=""
   END IF
   LET C$="! INPUT  PROMPT " & CHR$(34)
   PRINT C$;"²¼¸Â  ";A$;"A";B$
   PRINT C$;"¾å¸Â  ";A$;"B";B$
   PRINT C$;"ʬ³ä¿ô";A$;"N";B$
   PRINT "READ A";B$;",B";B$;",N";B$
   IF INTEGRAL > 1 THEN PRINT "NEXT"
   FOR I=1 TO INTEGRAL
      PRINT "DATA 0,1,10"
   NEXT I
   FOR I=2 TO MAXLEVEL
      PRINT "PRINT INTEGRAL";STR$(I);"(";
      IF INTEGRAL=1 THEN
         PRINT "A,B,N)"
      ELSE
         FOR J=1 TO INTEGRAL
            PRINT "A(";STR$(J);"),B(";STR$(J);"),";
         NEXT J
         FOR J=1 TO INTEGRAL
            PRINT "N(";STR$(J);")";
            IF J < INTEGRAL THEN PRINT ",";
         NEXT J
         PRINT ")"
      END IF
   NEXT I
   PRINT "END"
   PRINT
   PRINT "EXTERNAL  FUNCTION FUNC(";
   FOR I=1 TO INTEGRAL
      PRINT "X";STR$(I);
      IF I < INTEGRAL THEN PRINT ",";
   NEXT I
   PRINT ")"
   PRINT "LET S=1";
   FOR I=1 TO INTEGRAL
      PRINT "-X";STR$(I);"*X";STR$(I);
   NEXT I
   PRINT
   PRINT "IF S > 0 THEN"
   PRINT "LET FUNC=SQR(S)"
   PRINT "ELSE"
   PRINT "LET FUNC=0"
   PRINT "END IF"
   PRINT "END FUNCTION"
   PRINT
END IF
LET  X(1)=1
FOR N=1 TO MAXLEVEL-1
   FOR I=0 TO N
      CALL CLR(Y)
      LET  P=1
      LET  Y(0)=1
      FOR J=0 TO N
         IF I<>J THEN
            LET  X(0)=-J
            CALL MUL(Y,X)
            LET P=P*(I-J)
         END IF
      NEXT  J
      CALL INTEGRAL(Y)
      IF SWITCH=0 THEN
         LET L(I)=HORNER(Y,N)/P
      ELSE
         LET L(I)=(HORNER(Y,N+1)-HORNER(Y,-1))/P
      END IF
   NEXT I
   IF DISPMODE<>0 THEN
      PRINT "EXTERNAL  FUNCTION INTEGRAL";STR$(N+1);"(";
      IF INTEGRAL > 1 THEN
         FOR J=1 TO INTEGRAL
            PRINT "A";STR$(J);",B";STR$(J);",";
         NEXT J
         FOR J=1 TO INTEGRAL
            PRINT "N";STR$(J);
            IF J < INTEGRAL THEN PRINT ",";
         NEXT J
      ELSE
         PRINT "A,B,N";
      END IF
      PRINT ")"
      IF SWITCH=0 THEN LET A$=STR$(N) ELSE LET A$=STR$(N+2)
      IF INTEGRAL=1 THEN
         PRINT "LET H=(B-A)/N/";A$
         PRINT "LET S=0"
         PRINT "FOR K=0 TO N-1"
         PRINT "LET S=S";
         FOR I=0 TO N
            IF SWITCH=0 THEN LET B$=STR$(I) ELSE LET B$=STR$(I+1)
            IF L(I) < 0 THEN PRINT "-"; ELSE PRINT "+";
            PRINT STR$(ABS(L(I)));"*H*FUNC(A+H*(";A$;"*K+";B$;"))";
         NEXT I
         PRINT
         PRINT "NEXT"
      ELSE
         IF SWITCH=0 THEN
            PRINT "DIM R(0 TO ";STR$(N);")"
         ELSE
            PRINT "DIM R(";STR$(N+1);")"
         END IF
         FOR I=0 TO N
            IF SWITCH=0 THEN LET B$=STR$(I) ELSE LET B$=STR$(I+1)
            PRINT "R(";B$;")=";
            IF L(I) < 0 THEN  PRINT "-";
            PRINT STR$(ABS(L(I)))
         NEXT I
         FOR J=1 TO INTEGRAL
            PRINT "LET H";STR$(J);"=(B";STR$(J);"-A";STR$(J);")/N";STR$(J);"/";A$
         NEXT J
         PRINT "LET S=0"
         FOR J=INTEGRAL TO 1 STEP -1
            PRINT "FOR K";STR$(J);"=0 TO N";STR$(J);"-1"
         NEXT J
         FOR J=1 TO INTEGRAL
            IF SWITCH=0 THEN
               PRINT "FOR J";STR$(J);"=0 TO";N
            ELSE
               PRINT "FOR J";STR$(J);"=1 TO";N+1
            END IF
         NEXT J
         PRINT "LET S=S+";
         FOR J=1 TO INTEGRAL
            PRINT "R(J";STR$(J);")*";
         NEXT J
         FOR I=1 TO INTEGRAL
            PRINT "H";STR$(I);"*";
         NEXT I
         PRINT "FUNC(";
         FOR I=1 TO INTEGRAL
            PRINT "A";STR$(I);"+H";STR$(I);"*(";A$;"*K";STR$(I);"+J";STR$(I);")";
            IF I < INTEGRAL THEN PRINT ",";
         NEXT I
         PRINT ")"
         FOR I=1 TO INTEGRAL*2
            PRINT "NEXT"
         NEXT I
      END IF
      PRINT "LET INTEGRAL";STR$(N+1);"=S"
      PRINT "END FUNCTION"
   ELSE
      PRINT "¢é(x";STR$(N);",x0)f(x)dx=";
      FOR I=0 TO N
         IF L(I) < 0 THEN
            PRINT "-";
         ELSE
            IF I > 0 THEN PRINT "+";
         END IF
         PRINT STR$(ABS(L(I)));"*h*f(x";STR$(I);")";
      NEXT I
      PRINT
   END IF
   PRINT
NEXT N
END

EXTERNAL  SUB MUL(A(),B())
OPTION BASE 0
DIM C(MAXLEVEL)
FOR I=0 TO MAXLEVEL-1
   FOR J=0 TO 1
      LET  C(I+J)=C(I+J)+A(I)*B(J)
   NEXT J
NEXT I
CALL COPY(A,C)
END SUB

EXTERNAL  FUNCTION HORNER(A(),XX)
FOR N=MAXLEVEL TO 0 STEP -1
   IF A(N)<>0 THEN EXIT FOR
NEXT N
LET Y=A(N)
FOR I=N-1 TO 0 STEP -1
   LET  Y=Y*XX+A(I)
NEXT I
LET  HORNER=Y
END FUNCTION

EXTERNAL  SUB COPY(X(),Y())
FOR I=0 TO MAXLEVEL
   LET  X(I)=Y(I)
NEXT I
END SUB

EXTERNAL  SUB CLR(X())
FOR I=0 TO MAXLEVEL
   LET X(I)=0
NEXT I
END SUB

EXTERNAL  SUB INTEGRAL(A())
OPTION BASE 0
DIM B(MAXLEVEL)
FOR I=MAXLEVEL-1 TO 0 STEP -1
   LET  B(I+1)=A(I)/(I+1)
NEXT I
CALL COPY(A,B)
END SUB
 

¥ë¥¸¥ã¥ó¥É¥ë§·¸¿ô·×»»

 Åê¹Æ¼Ô¡§¤·¤Ð¤Ã¤Á  Åê¹ÆÆü¡§2008ǯ12·î30Æü(²Ð)09»þ40ʬ5ÉÃ
ÊÖ¿®¡¦°úÍÑ
  Í­¸Â¶è´ÖÀÑʬ
/1
| f(x)dx
/-1

¥¬¥¦¥¹¡¦¥ë¥¸¥ã¥ó¥É¥ë§¤Î·¸¿ô(ʬÅÀ¡¢½Å¤ß)¤ò»»½Ð¤¹¤ë¡£
1000·å¥â¡¼¥É¤ò»ÈÍѤ·¡¢¥ë¥¸¥ã¥ó¥É¥ë¿¹à¼°¤ò¥Ë¥å¡¼¥È¥óË¡ + ÁÈΩ½üË¡¤Ç²ò¤¯


OPTION BASE 0
OPTION ARITHMETIC DECIMAL_HIGH
PUBLIC NUMERIC MAXLEVEL,EPS
LET MAXLEVEL=10 !'¼¡¿ô
DIM X(MAXLEVEL),W(MAXLEVEL)
LET KETA=16 !'µá¤á¤ë·å¿ô
LET EPS=10^(-KETA)
LET DISPMODE=0 !' 0 or else
LET INTEGRAL=1 !' INTEGRAL >= 1
IF DISPMODE<>0 THEN
   CALL LEGENDREPARA(MAXLEVEL,X,W)
   PRINT "DIM X(";STR$(MAXLEVEL);"),W(";STR$(MAXLEVEL);")"
   FOR I=1 TO INTEGRAL
      PRINT "! INPUT  PROMPT ";CHR$(34);"²¼¸Â ";STR$(I);"=";CHR$(34);":A";STR$(I)
      PRINT "! INPUT  PROMPT ";CHR$(34);"¾å¸Â ";STR$(I);"=";CHR$(34);":B";STR$(I)
   NEXT I
   FOR I=1 TO INTEGRAL
      PRINT "LET A";STR$(I);"=0"
      PRINT "LET B";STR$(I);"=1"
   NEXT I
   FOR J=1 TO INTEGRAL
      PRINT "LET U";STR$(J);"=(B";STR$(J);"+A";STR$(J);")/2"
      PRINT "LET V";STR$(J);"=(B";STR$(J);"-A";STR$(J);")/2"
   NEXT J
   PRINT "FOR I=1 TO";MAXLEVEL
   PRINT "READ X(I),W(I)"
   PRINT "NEXT"
   PRINT "LET S=0"
   FOR J=1 TO INTEGRAL
      PRINT "FOR K";STR$(J);"=1 TO";MAXLEVEL
   NEXT J
   PRINT "LET  S=S+";
   FOR J=1 TO INTEGRAL
      PRINT "W(K";STR$(J);")*";
   NEXT J
   PRINT "FUNC(";
   FOR I=1 TO INTEGRAL
      PRINT "U";STR$(I);"+V";STR$(I);"*X(K";STR$(I);")";
      IF I < INTEGRAL THEN PRINT ",";
   NEXT I
   PRINT ")";
   FOR J=1 TO INTEGRAL
      PRINT "*V";STR$(J);
   NEXT J
   PRINT
   FOR J=1 TO INTEGRAL
      PRINT "NEXT"
   NEXT J
   PRINT "PRINT S"
   FOR I=1 TO MAXLEVEL
      PRINT "DATA ";
      PRINT USING "#." & REPEAT$("#",KETA):X(I);
      PRINT ",";
      PRINT USING "#." & REPEAT$("#",KETA) & "^^^^":W(I)
   NEXT I
   PRINT "END"
   PRINT
   PRINT "EXTERNAL  FUNCTION FUNC(";
   FOR I=1 TO INTEGRAL
      PRINT "X";STR$(I);
      IF I < INTEGRAL THEN PRINT ",";
   NEXT I
   PRINT ")"
   PRINT "LET S=1";
   FOR I=1 TO INTEGRAL
      PRINT "-X";STR$(I);"*X";STR$(I);
   NEXT I
   PRINT
   PRINT "IF S > 0 THEN"
   PRINT "LET FUNC=SQR(S)"
   PRINT "ELSE"
   PRINT "LET FUNC=0"
   PRINT "END IF"
   PRINT "END FUNCTION"
ELSE
   FOR N=2 TO MAXLEVEL
      PRINT TAB(8+KETA/2);"ʬÅÀ";TAB(8+KETA*1.5);"   ½Å¤ß"
      CALL LEGENDREPARA(N,X,W)
      FOR I=1 TO N
         PRINT "No.";I;":";
         PRINT USING "#." & REPEAT$("#",KETA):X(I);
         PRINT "  ";
         PRINT USING "#." & REPEAT$("#",KETA) & "^^^^":W(I)
      NEXT I
   NEXT N
END IF
END

EXTERNAL  SUB LEGENDREPARA(N,A(),W())
OPTION ARITHMETIC DECIMAL_HIGH
OPTION BASE 0
DIM P(MAXLEVEL),D(MAXLEVEL)
CALL  LEGENDREPOLY(N,P)
FOR I=0 TO N
   LET P(I)=P(I)/P(N)
NEXT I
FOR I=1 TO N
   CALL DERIVATIVE(P,D) !'Èùʬ
   LET XX=-1 !'½é´üÃÍ
   DO
      LET X=XX
      LET XX=X-HORNER(N,P,X)/HORNER(N,D,X) !'¥Ë¥å¡¼¥È¥óË¡
   LOOP UNTIL ABS(HORNER(N,P,XX)) < EPS AND ABS(X-XX) < EPS
   LET A(I)=XX !'ʬÅÀ
   LET W(I)=WEIGHT(N,XX) !'½Å¤ß
   CALL DIV(P,XX) !'ÁÈΩ½üË¡
NEXT I
END SUB

EXTERNAL  SUB LEGENDREPOLY(KK,NEWP()) !'¥ë¥¸¥ã¥ó¥É¥ë¿¹à¼°(·¸¿ô)
OPTION ARITHMETIC DECIMAL_HIGH
OPTION BASE 0
DIM P(KK+1),OLDP(KK),PP(KK)
LET  OLDP(0)=1
LET  P(1)=1
FOR I=0 TO KK
   LET NEWP(I)=0
NEXT I
FOR K=2 TO KK
   FOR J=1 TO K
      LET  NEWP(J)=NEWP(J)+(2*K-1)/K*P(J-1)
      LET  NEWP(J-1)=NEWP(J-1)-(K-1)/K*OLDP(J-1)
   NEXT J
   IF K < KK THEN
      FOR I=0 TO K
         LET  OLDP(I)=P(I)
         LET  P(I)=NEWP(I)
         LET  NEWP(I)=0
      NEXT I
   END IF
NEXT K
END SUB

EXTERNAL  FUNCTION LEGENDRE(K,X) !'¥ë¥¸¥ã¥ó¥É¥ë¿¹à¼°(ÃÍ)
OPTION ARITHMETIC DECIMAL_HIGH
OPTION BASE 0
DIM PP(K+1)
LET  PP(0)=1
LET  PP(1)=X
FOR N=1 TO K-1
   LET  PP(N+1)=((2*N+1)*X*PP(N)-N*PP(N-1))/(N+1)
NEXT N
LET  LEGENDRE=PP(K)
END FUNCTION

EXTERNAL  FUNCTION WEIGHT(N,X) !'½Å¤ß
OPTION ARITHMETIC DECIMAL_HIGH
LET WEIGHT=2*(1-X^2)/(N*LEGENDRE(N-1,X))^2
END FUNCTION

EXTERNAL  FUNCTION HORNER(N,A(),X)
OPTION ARITHMETIC DECIMAL_HIGH
LET  Y=A(N)
FOR I=N-1 TO 0 STEP -1
   LET  Y=Y*X+A(I)
NEXT I
LET  HORNER=Y
END FUNCTION

EXTERNAL  SUB DERIVATIVE(A(),B()) !'Èùʬ
OPTION ARITHMETIC DECIMAL_HIGH
FOR I=MAXLEVEL TO 1 STEP -1
   LET  B(I-1)=I*A(I)
NEXT I
LET B(MAXLEVEL)=0
END SUB

EXTERNAL  SUB DIV(A(),P) !'ÁÈΩ½üË¡
!'A(N)*X^N+A(N-1)*X^(N-1)+...+A(2)*X^2+A(1)*X+A(0)=(X-P)(C(N-1)*X^(N-1)+...+C(2)*X^2+C(1)*X+C(0))
OPTION BASE 0
OPTION ARITHMETIC DECIMAL_HIGH
DIM C(MAXLEVEL)
FOR I=MAXLEVEL TO 1 STEP -1
   LET  C(I-1)=A(I)+C(I)*P
NEXT I
CALL COPY(A,C)
END SUB

EXTERNAL  SUB COPY(X(),Y())
OPTION ARITHMETIC DECIMAL_HIGH
FOR I=0 TO MAXLEVEL
   LET  X(I)=Y(I)
NEXT I
END SUB
---------------------------------------------------
¥ë¥¸¥ã¥ó¥É¥ë¿¹à¼°É½¼¨
Í­Íý¿ô¥â¡¼¥É¤Ç¤ª»î¤·¤¯¤À¤µ¤¤

OPTION BASE 0
PUBLIC NUMERIC MAXLEVEL
LET  MAXLEVEL=20 !'¼¡¿ô
DIM P(MAXLEVEL)
PRINT "P(0)=1"
PRINT "P(1)=X"
FOR K=2 TO MAXLEVEL
   CALL LEGENDREPOLY(K,P) !'¾åµ­»²¾È(OPTION ARITHMETIC DECIMAL_HIGH¤ò³°¤¹)
   PRINT "P(";STR$(K);")=";
   CALL DISPLAY(P)
NEXT K
END

EXTERNAL  SUB DISPLAY(A())
FOR N=MAXLEVEL TO 0 STEP -1
   IF A(N)<>0 THEN EXIT FOR
NEXT N
IF N > 1 THEN
   IF A(N) < 0 THEN PRINT "-";
   IF ABS(A(N))<>1 THEN
      PRINT STR$(ABS(A(N)));"*X^";STR$(N);
   ELSE
      PRINT "X^";STR$(N);
   END IF
END IF
FOR I=N-1 TO 2 STEP -1
   IF A(I)<>0 THEN
      IF A(I) < 0 THEN PRINT "-"; ELSE PRINT "+";
      IF ABS(A(I))<>1 THEN
         PRINT STR$(ABS(A(I)));"*X^";STR$(I);
      ELSEIF ABS(A(I))=1 THEN
         PRINT "X^";STR$(I);
      END IF
   END IF
NEXT I
IF A(1)<>0 THEN
   IF N > 1 THEN
      IF A(1) < 0 THEN PRINT "-"; ELSE PRINT "+";
   END IF
   IF ABS(A(1))<>1 THEN
      PRINT STR$(ABS(A(1)));"*X";
   ELSEIF ABS(A(1))=1 THEN
      PRINT "X";
   END IF
END IF
IF A(0)<>0 THEN
   IF A(0) < 0 THEN PRINT "-"; ELSE PRINT "+";
   PRINT STR$(ABS(A(0)));
END IF
PRINT
END SUB
 

¥é¥²¡¼¥ë§·¸¿ô·×»»

 Åê¹Æ¼Ô¡§¤·¤Ð¤Ã¤Á  Åê¹ÆÆü¡§2008ǯ12·î30Æü(²Ð)09»þ41ʬ16ÉÃ
ÊÖ¿®¡¦°úÍÑ
  Ⱦ̵¸Â¶è´ÖÀÑʬ
/¡ç
| f(x)dx
/0

¥¬¥¦¥¹¡¦¥é¥²¡¼¥ë§¤Î·¸¿ô(ʬÅÀ¡¢½Å¤ß)¤ò»»½Ð¤¹¤ë¡£
1000·å¥â¡¼¥É¤ò»ÈÍѤ·¡¢¥é¥²¡¼¥ë¿¹à¼°¤ò¥Ë¥å¡¼¥È¥óË¡ + ÁÈΩ½üË¡¤Ç²ò¤¯


OPTION BASE 0
OPTION ARITHMETIC DECIMAL_HIGH
PUBLIC NUMERIC MAXLEVEL,EPS
LET MAXLEVEL=10
DIM X(MAXLEVEL),W(MAXLEVEL)
LET KETA=16
LET EPS=10^(-KETA)
LET DISPMODE=0 !' 0 or else
LET INTEGRAL=1 !' INTEGRAL >= 1
IF DISPMODE<>0 THEN
   CALL LAGUERREPARA(MAXLEVEL,X,W)
   PRINT "DIM X(";STR$(MAXLEVEL);"),W(";STR$(MAXLEVEL);")"
   PRINT "FOR I=1 TO";MAXLEVEL
   PRINT "READ X(I),W(I)"
   PRINT "NEXT"
   FOR I=1 TO INTEGRAL
      PRINT "INPUT  PROMPT ";CHR$(34);"GAMMA(";
      FOR J=1 TO INTEGRAL
         PRINT "X";STR$(J);
         IF J < INTEGRAL THEN PRINT ",";
      NEXT J
      PRINT ") X";STR$(I);"=";CHR$(34);":U";STR$(I)
   NEXT I
   PRINT "LET S=0"
   FOR I=1 TO INTEGRAL
      PRINT "FOR I";STR$(I);"=1 TO";MAXLEVEL
   NEXT I
   PRINT "LET  S=S+";
   FOR I=1 TO INTEGRAL
      PRINT "W(I";STR$(I);")*";
   NEXT I
   PRINT "FUNC(";
   FOR I=1 TO INTEGRAL
      PRINT "X(I";STR$(I);"),";
   NEXT I
   FOR I=1 TO INTEGRAL
      PRINT "U";STR$(I);
      IF I < INTEGRAL THEN PRINT ",";
   NEXT I
   PRINT ")*EXP(";
   FOR I=1 TO INTEGRAL
      PRINT "X(I";STR$(I);")";
      IF I < INTEGRAL THEN PRINT "+";
   NEXT I
   PRINT ")"
   FOR I=1 TO INTEGRAL
      PRINT "NEXT"
   NEXT I
   PRINT "PRINT S"
   FOR I=1 TO MAXLEVEL
      PRINT "DATA ";
      PRINT USING "##." & REPEAT$("#",KETA):X(I);
      PRINT ",";
      PRINT USING "#." & REPEAT$("#",KETA) & "^^^^":W(I)
   NEXT I
   PRINT "END"
   PRINT
   PRINT "EXTERNAL  FUNCTION FUNC(";
   FOR I=1 TO INTEGRAL
      PRINT "X";STR$(I);",";
   NEXT I
   FOR I=1 TO INTEGRAL
      PRINT "U";STR$(I);
      IF I < INTEGRAL THEN PRINT ",";
   NEXT I
   PRINT ")"
   PRINT "FUNC=";
   FOR I=1 TO INTEGRAL
      PRINT "EXP(-X";STR$(I);")*X";STR$(I);"^(U";STR$(I);"-1)";
      IF I < INTEGRAL THEN PRINT "*";
   NEXT I
   PRINT
   PRINT "END FUNCTION"
ELSE
   FOR N=2 TO MAXLEVEL
      CALL LAGUERREPARA(N,X,W)
      PRINT TAB(8+KETA/2);"ʬÅÀ";TAB(8+KETA*1.5);"   ½Å¤ß"
      FOR I=1 TO N
         PRINT "No.";I;":";
         PRINT USING "##." & REPEAT$("#",KETA):X(I);
         PRINT "  ";
         PRINT USING "#." & REPEAT$("#",KETA) & "^^^^":W(I)
      NEXT I
   NEXT N
END IF
END

EXTERNAL  SUB LAGUERREPARA(N,A(),W())
OPTION ARITHMETIC DECIMAL_HIGH
OPTION BASE 0
DIM LA(MAXLEVEL+1),D(MAXLEVEL)
CALL LAGUERREPOLY(N,LA)
FOR I=0 TO N
   LET LA(I)=LA(I)/LA(N)
NEXT I
FOR I=1 TO N
   CALL DERIVATIVE(LA,D)
   LET XX=0
   DO
      LET X=XX
      LET XX=X-HORNER(N,LA,X)/HORNER(N,D,X)
   LOOP UNTIL ABS(HORNER(N,LA,XX)) < EPS AND ABS(X-XX) < EPS
   LET A(I)=XX
   LET W(I)=WEIGHT(N,XX)
   CALL DIV(LA,XX)
NEXT I
END SUB

EXTERNAL  SUB LAGUERREPOLY(N,NEWP()) !'¥é¥²¡¼¥ë¿¹à¼°(·¸¿ô)
OPTION ARITHMETIC DECIMAL_HIGH
OPTION BASE 0
DIM P(N+1),OLDP(N)
LET OLDP(0)=1
LET P(1)=-1
LET P(0)=1
FOR I=0 TO N
   LET NEWP(I)=0
NEXT I
FOR K=2 TO N
   FOR J=0 TO K
      LET  NEWP(J)=NEWP(J)+(2*K-1)*P(J)-(K-1)^2*OLDP(J)
      LET  NEWP(J+1)=NEWP(J+1)-P(J)
   NEXT J
   IF K < N THEN
      FOR I=0 TO K
         LET  OLDP(I)=P(I)
         LET  P(I)=NEWP(I)
         LET  NEWP(I)=0
      NEXT I
   END IF
NEXT K
END SUB

EXTERNAL  FUNCTION LAGUERRE(NN,X) !'¥é¥²¡¼¥ë¿¹à¼°(ÃÍ)
OPTION ARITHMETIC DECIMAL_HIGH
OPTION BASE 0
DIM L(NN+1)
LET  L(0)=1
LET  L(1)=1-X
FOR N=1 TO NN-1
   LET  L(N+1)=(2*N+1-X)*L(N)-N*N*L(N-1)
NEXT N
LET LAGUERRE=L(NN)
END FUNCTION

EXTERNAL  FUNCTION WEIGHT(N,X)
OPTION ARITHMETIC DECIMAL_HIGH
LET WEIGHT=FAC(N)^2/(X*LAGUERREDIFF(N,X)^2)
END FUNCTION

EXTERNAL  FUNCTION LAGUERREDIFF(N,X)
OPTION ARITHMETIC DECIMAL_HIGH
LET LAGUERREDIFF=(LAGUERRE(N+1,X)-(N+1-X)*LAGUERRE(N,X))/X
END FUNCTION

EXTERNAL  FUNCTION FAC(X)
OPTION ARITHMETIC DECIMAL_HIGH
LET S=1
FOR I=2 TO X
   LET S=S*I
NEXT I
LET FAC=S
END FUNCTION

EXTERNAL  SUB DERIVATIVE(A(),B())
OPTION ARITHMETIC DECIMAL_HIGH
FOR I=MAXLEVEL TO 1 STEP -1
   LET  B(I-1)=I*A(I)
NEXT I
LET B(MAXLEVEL)=0
END SUB

EXTERNAL  FUNCTION HORNER(N,A(),X)
OPTION ARITHMETIC DECIMAL_HIGH
LET  Y=A(N)
FOR I=N-1 TO 0 STEP -1
   LET  Y=Y*X+A(I)
NEXT I
LET  HORNER=Y
END FUNCTION

EXTERNAL  SUB DIV(A(),P)
OPTION BASE 0
OPTION ARITHMETIC DECIMAL_HIGH
DIM C(MAXLEVEL)
FOR I=MAXLEVEL TO 1 STEP -1
   LET  C(I-1)=A(I)+C(I)*P
NEXT I
CALL COPY(A,C)
END SUB

EXTERNAL  SUB COPY(X(),Y())
OPTION ARITHMETIC DECIMAL_HIGH
FOR I=0 TO MAXLEVEL
   LET  X(I)=Y(I)
NEXT I
END SUB
 

¥¨¥ë¥ß¡¼¥È§·¸¿ô·×»»

 Åê¹Æ¼Ô¡§¤·¤Ð¤Ã¤Á  Åê¹ÆÆü¡§2008ǯ12·î30Æü(²Ð)09»þ42ʬ28ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ̵¸Â¶è´ÖÀÑʬ
/¡ç
| f(x)dx
/-¡ç

¥¬¥¦¥¹¡¦¥¨¥ë¥ß¡¼¥È§¤Î·¸¿ô(ʬÅÀ¡¢½Å¤ß)¤ò»»½Ð¤¹¤ë¡£
1000·å¥â¡¼¥É¤ò»ÈÍѤ·¡¢¥¨¥ë¥ß¡¼¥È¿¹à¼°¤ò¥Ë¥å¡¼¥È¥óË¡ + ÁÈΩ½üË¡¤Ç²ò¤¯


OPTION BASE 0
OPTION ARITHMETIC DECIMAL_HIGH
PUBLIC NUMERIC MAXLEVEL,EPS
LET MAXLEVEL=10
DIM X(MAXLEVEL),W(MAXLEVEL)
LET KETA=16
LET EPS=10^(-KETA)
LET DISPMODE=0 !' 0 or else
LET INTEGRAL=1 !' INTEGRAL >= 1
IF DISPMODE<>0 THEN
   CALL HERMITEPARA(MAXLEVEL,X,W)
   PRINT "DIM X(";STR$(MAXLEVEL);"),W(";STR$(MAXLEVEL);")"
   PRINT "FOR I=1 TO";MAXLEVEL
   PRINT "READ X(I),W(I)"
   PRINT "NEXT"
   PRINT "LET S=0"
   FOR I=1 TO INTEGRAL
      PRINT "FOR I";STR$(I);"=1 TO";MAXLEVEL
   NEXT I
   PRINT "LET  S=S+";
   FOR I=1 TO INTEGRAL
      PRINT "W(I";STR$(I);")*";
   NEXT I
   PRINT "FUNC(";
   FOR I=1 TO INTEGRAL
      PRINT "X(I";STR$(I);")";
      IF I < INTEGRAL THEN PRINT ",";
   NEXT I
   PRINT ")*EXP(";
   FOR I=1 TO INTEGRAL
      PRINT "X(I";STR$(I);")^2";
      IF I < INTEGRAL THEN PRINT "+";
   NEXT I
   PRINT ")"
   FOR I=1 TO INTEGRAL
      PRINT "NEXT"
   NEXT I
   PRINT "PRINT S,PI^";STR$(INTEGRAL/2)
   FOR I=1 TO MAXLEVEL
      PRINT "DATA ";
      PRINT USING "##." & REPEAT$("#",KETA):X(I);
      PRINT ",";
      PRINT USING "#." & REPEAT$("#",KETA) & "^^^^":W(I)
   NEXT I
   PRINT "END"
   PRINT
   PRINT "EXTERNAL  FUNCTION FUNC(";
   FOR I=1 TO INTEGRAL
      PRINT "X";STR$(I);
      IF I < INTEGRAL THEN PRINT ",";
   NEXT I
   PRINT ")"
   PRINT "LET FUNC=EXP(";
   FOR I=1 TO INTEGRAL
      PRINT "-X";STR$(I);"^2";
   NEXT I
   PRINT ")"
   PRINT "END FUNCTION"
ELSE
   FOR N=2 TO MAXLEVEL
      CALL HERMITEPARA(N,X,W)
      PRINT TAB(8+KETA/2);"ʬÅÀ";TAB(8+KETA*1.5);"   ½Å¤ß"
      FOR I=1 TO N
         PRINT "No.";I;":";
         PRINT USING "##." & REPEAT$("#",KETA):X(I);
         PRINT "  ";
         PRINT USING "#." & REPEAT$("#",KETA) & "^^^^":W(I)
      NEXT I
   NEXT N
END IF
END

EXTERNAL  SUB HERMITEPARA(N,A(),W())
OPTION ARITHMETIC DECIMAL_HIGH
OPTION BASE 0
DIM H(MAXLEVEL),D(MAXLEVEL)
CALL  HERMITEPOLY(N,H)
FOR I=0 TO N
   LET H(I)=H(I)/H(N)
NEXT I
FOR I=1 TO N
   CALL DERIVATIVE(H,D)
   LET XX=-15
   DO
      LET X=XX
      LET XX=X-HORNER(N,H,X)/HORNER(N,D,X)
   LOOP UNTIL ABS(HORNER(N,H,XX)) < EPS AND ABS(X-XX) < EPS
   LET A(I)=XX
   LET W(I)=WEIGHT(N,XX)
   CALL DIV(H,XX)
NEXT I
END SUB

EXTERNAL  SUB HERMITEPOLY(N,NEWP()) !'¥¨¥ë¥ß¡¼¥È¿¹à¼°(·¸¿ô)
OPTION ARITHMETIC DECIMAL_HIGH
OPTION BASE 0
DIM P(N+1),OLDP(N)
LET  OLDP(0)=1
LET  P(1)=2
FOR I=0 TO N
   LET NEWP(I)=0
NEXT I
FOR K=2 TO N
   FOR J=1 TO K
      LET  NEWP(J)=NEWP(J)+2*P(J-1)
      LET  NEWP(J-1)=NEWP(J-1)-2*(K-1)*OLDP(J-1)
   NEXT J
   IF K < N THEN
      FOR I=0 TO K
         LET  OLDP(I)=P(I)
         LET  P(I)=NEWP(I)
         LET  NEWP(I)=0
      NEXT I
   END IF
NEXT K
END SUB

EXTERNAL  FUNCTION HERMITE(NN,X) !'¥¨¥ë¥ß¡¼¥È¿¹à¼°(ÃÍ)
OPTION ARITHMETIC DECIMAL_HIGH
OPTION BASE 0
DIM H(NN+1)
LET  H(0)=1
LET  H(1)=2*X
FOR N=1 TO NN-1
   LET  H(N+1)=2*X*H(N)-2*N*H(N-1)
NEXT N
LET HERMITE=H(NN)
END FUNCTION

EXTERNAL  FUNCTION WEIGHT(N,X) !'½Å¤ß
OPTION ARITHMETIC DECIMAL_HIGH
LET WEIGHT=2^(N+1)*FAC(N)*SQR(PI)/HERMITE(N+1,X)^2
END FUNCTION

EXTERNAL  FUNCTION FAC(X)
OPTION ARITHMETIC DECIMAL_HIGH
LET S=1
FOR I=2 TO X
   LET S=S*I
NEXT I
LET FAC=S
END FUNCTION

EXTERNAL  FUNCTION HORNER(N,A(),X)
OPTION ARITHMETIC DECIMAL_HIGH
LET  Y=A(N)
FOR I=N-1 TO 0 STEP -1
   LET  Y=Y*X+A(I)
NEXT I
LET  HORNER=Y
END FUNCTION

EXTERNAL  SUB DERIVATIVE(A(),B())
OPTION ARITHMETIC DECIMAL_HIGH
FOR I=MAXLEVEL TO 1 STEP -1
   LET  B(I-1)=I*A(I)
NEXT I
LET B(MAXLEVEL)=0
END SUB

EXTERNAL  SUB DIV(A(),P)
OPTION BASE 0
OPTION ARITHMETIC DECIMAL_HIGH
DIM C(MAXLEVEL)
FOR I=MAXLEVEL TO 1 STEP -1
   LET  C(I-1)=A(I)+C(I)*P
NEXT I
CALL COPY(A,C)
END SUB

EXTERNAL  SUB COPY(X(),Y())
OPTION ARITHMETIC DECIMAL_HIGH
FOR I=0 TO MAXLEVEL
   LET  X(I)=Y(I)
NEXT I
END SUB
 

ÉÔÅù´Ö³Ö¿ôÃÍÀÑʬ

 Åê¹Æ¼Ô¡§¤·¤Ð¤Ã¤Á  Åê¹ÆÆü¡§2008ǯ12·î30Æü(²Ð)09»þ43ʬ55ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ÉÔÅù´Ö³Ö ¿ôÃÍÀÑʬ

/x(n)
| f(x)dx
/x(1)
ÀÑʬ¶è´Ö x(1)¡Áx(n)

PUBLIC NUMERIC MAXLEVEL
OPTION BASE 0
LET MAXLEVEL=10 !'ºÇÂ缡¿ô (MAXLEVEL > N)
LET N=5 !'¥Ç¡¼¥¿¿ô
DIM X(N),Y(N),A(MAXLEVEL),B(MAXLEVEL)
FOR I=1 TO N
   READ X(I),Y(I) !'y=x^2
NEXT I
CALL LARGRANGE(N,X,Y,A) !'¥é¥°¥é¥ó¥¸¥å¿¹à¼°
CALL INTEGRAL(A,B) !'ÀÑʬ
PRINT HORNER(N,B,X(N))-HORNER(N,B,X(1));X(N)^3/3-X(1)^3/3
!'CALL DERIVATIVE(A,B) !'Èùʬ
!'INPUT  PROMPT "f'(x) x=":XX
!'PRINT HORNER(N,B,XX);2*XX
DATA 0,0 !'Î¥»¶Ãͥǡ¼¥¿ XÃͤÏÅù´Ö³Ö¤Ç¤Ê¤¯¤Æ¤â¤¤¤¤
DATA 1,1
DATA 3,9
DATA 4,16
DATA 6,36
END

EXTERNAL  SUB LARGRANGE(N,X(),Y(),A())
OPTION BASE 0
DIM U(MAXLEVEL),V(MAXLEVEL)
CALL CLR(A)
LET U(1)=1
FOR I = 1 TO N
   LET  R = Y(I)
   CALL CLR(V)
   LET V(0)=1
   FOR J = 1 TO N
      IF I <> J THEN
         LET U(0)=-X(J)
         CALL MUL(V,U)
         LET  R = R / (X(I)-X(J))
      END IF
   NEXT J
   CALL SHORTMUL(V,R)
   CALL ADD(A,V)
NEXT I
END SUB

EXTERNAL  FUNCTION HORNER(N,A(),XX)
LET  Y=A(N)
FOR I=N-1 TO 0 STEP -1
   LET  Y=Y*XX+A(I)
NEXT I
LET  HORNER=Y
END FUNCTION

EXTERNAL  SUB MUL(A(),B())
OPTION BASE 0
DIM C(MAXLEVEL)
FOR I=0 TO MAXLEVEL-1
   FOR J=0 TO 1
      LET  C(I+J)=C(I+J)+A(I)*B(J)
   NEXT   J
NEXT   I
CALL COPY(A,C)
END SUB

EXTERNAL  SUB INTEGRAL(A(),B())
FOR I=MAXLEVEL-1 TO 0 STEP -1
   LET  B(I+1)=A(I)/(I+1)
NEXT I
LET B(0)=0
END SUB

EXTERNAL  SUB ADD(A(),B())
FOR I=0 TO MAXLEVEL
   LET  A(I)=A(I)+B(I)
NEXT I
END SUB

EXTERNAL  SUB COPY(X(),Y())
FOR I=0 TO MAXLEVEL
   LET  X(I)=Y(I)
NEXT I
END SUB

EXTERNAL  SUB CLR(X())
FOR I=0 TO MAXLEVEL
   LET  X(I)=0
NEXT I
END SUB

EXTERNAL  SUB SHORTMUL(A(),X)
FOR I=0 TO MAXLEVEL
   LET A(I)=A(I)*X
NEXT I
END SUB

EXTERNAL  SUB DERIVATIVE(A(),B())
FOR I=MAXLEVEL TO 1 STEP -1
   LET  B(I-1)=I*A(I)
NEXT I
LET B(MAXLEVEL)=0
END SUB

--------------------------------------------------------------
ÉÔÅù´Ö³Ö ¿ôÃÍÀÑʬ ¤½¤Î2

/x(m)
| f(x)dx
/x(1)
ÀÑʬ¶è´Ö x(1)¡Áx(m)

LET N=5 !'¥Ç¡¼¥¿¿ô  ¾ò·ï...MOD(N-1,M-1)=0
LET M=3 !'¾®¶è´Ö ´Ö³Ö¿ô
DIM X(N),Y(N),XX(M),YY(M)
FOR I=1 TO N
   READ X(I),Y(I) !'y=x^2
NEXT I
LET S=0
FOR I=1 TO N-M+1 STEP M-1 !'¾®¶è´Ö¤Ëʬ³ä¤¹¤ë X(1)¡ÁX(3),X(3)¡ÁX(5),X(5)¡ÁX(7),...
   FOR K=0 TO M-1
      LET XX(K+1)=X(I+K)
      LET YY(K+1)=Y(I+K)
   NEXT K
   LET S=S+INTEGRAL(XX,YY,M) !'Á´¶è´Öʬ¤ò­¤·¹ç¤ï¤»¤ë
   !'LET SS=SS+INTEGRAL2(XX,YY,M) !'²¼µ­»²¾È
NEXT I
PRINT S;(X(N)^3-X(1)^3)/3 !' ;SS
!'INPUT  PROMPT "f'(x) x=":XX
!'PRINT DERIVATIVE(N,X,Y,XX);2*XX !'²¼µ­»²¾È
DATA 0,0 !'Î¥»¶Ãͥǡ¼¥¿ XÃͤÏÅù´Ö³Ö¤Ç¤Ê¤¯¤Æ¤â¤¤¤¤
DATA 1,1
DATA 3,9
DATA 4,16
DATA 6,36
END

EXTERNAL  FUNCTION INTEGRAL(X(),Y(),M)
DECLARE EXTERNAL FUNCTION COMB
DIM H(M),XX(M),TEMP(M)
FOR I=1 TO M
   LET H(I)=1
   LET K=0
   FOR J=1 TO M
      IF I<>J THEN
         LET H(I)=H(I)/(X(I)-X(J))
         LET K=K+1
         LET XX(K)=X(J)
      END IF
   NEXT J
   LET SIGN=1
   FOR J=M TO 1 STEP -1
      LET SM=SM+SIGN*X(M)^J/J*COMB(XX,M,M-J,TEMP,1)*H(I)*Y(I)
      LET S1=S1+SIGN*X(1)^J/J*COMB(XX,M,M-J,TEMP,1)*H(I)*Y(I)
      LET SIGN=-SIGN
   NEXT J
NEXT I
LET INTEGRAL=SM-S1
END FUNCTION

EXTERNAL FUNCTION COMB(X(),N,R,A(),K)
IF R=0 THEN
   LET S=1
   FOR I=1 TO N
      IF A(I)=1 THEN LET S=S*X(I)
   NEXT I
   LET COMB=S
ELSE
   FOR I=K TO N-R+1
      LET A(I)=1
      LET SS=SS+COMB(X,N,R-1,A,I+1)
      LET A(I)=0
   NEXT I
   LET COMB=SS
END IF
END FUNCTION

--------------------------------------------------------------
ÉÔÅù´Ö³Ö ¿ôÃÍÀÑʬ ¤½¤Î3(¾åµ­»²¾È)

̤Äê·¸¿ôË¡

EXTERNAL  FUNCTION INTEGRAL2(X(),Y(),N)
DIM A(N,N),B(N)
FOR I=1 TO N
   FOR J=1 TO N
      LET A(I,J)=X(J)^(I-1)
   NEXT J
   LET B(I)=(X(N)^I-X(1)^I)/I
NEXT I
MAT A=INV(A)
MAT B=A*B
FOR I=1 TO N
   LET S=S+B(I)*Y(I)
NEXT I
LET INTEGRAL2=S
END FUNCTION

--------------------------------------------------------------
ÉÔÅù´Ö³Ö ¿ôÃÍÈùʬ(¾åµ­»²¾È)

EXTERNAL  FUNCTION DERIVATIVE(N,X(),Y(),XX)
DIM A(N,N),B(N)
FOR I=1 TO N
   FOR J=1 TO N
      LET A(I,J)=X(J)^I
   NEXT J
   LET B(I)=I*XX^(I-1)
   !'LET B(I)=I*(I-1)*XX^(I-2) !'2³¬Èùʬ
NEXT I
MAT A=INV(A)
MAT B=A*B
FOR I=1 TO N
   LET S=S+B(I)*Y(I)
NEXT I
LET DERIVATIVE=S
END FUNCTION

--------------------------------------------------------------
ÉÔÅù´Ö³Ö ¿ôÃÍÈùʬ(ÄêµÁ¤Î¤ß)

EXTERNAL  FUNCTION DIFF(N,X(),Y(),XX)
DIM A(N)
FOR I=1 TO N
   LET  L=1
   LET  KK=0
   FOR J=1 TO N
      IF J<>I THEN
         LET  KK=KK+1
         LET  L=L*(X(I)-X(J))
         LET  A(KK)=X(J)
      END IF
   NEXT  J
   LET  S1=0
   FOR J=1 TO N-1
      LET  S=1
      FOR K=1 TO N-1
         IF K<>J THEN LET S=S*(XX-A(K))
      NEXT K
      LET  S1=S1+S
   NEXT J
   LET  SS=SS+S1*Y(I)/L
NEXT I
LET  DIFF=SS
END FUNCTION
 

¿½ÅÀÑʬ

 Åê¹Æ¼Ô¡§¤·¤Ð¤Ã¤Á  Åê¹ÆÆü¡§2008ǯ12·î30Æü(²Ð)09»þ45ʬ18ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ºÆµ¢¸Æ½Ð¤·¤Ë¤è¤ë¿½ÅÀÑʬ ¥·¥ó¥×¥½¥ó§

PUBLIC NUMERIC LEVEL
INPUT  PROMPT "¿½ÅÀÑʬ LEVEL=":LEVEL
DIM A(LEVEL),B(LEVEL),N(LEVEL),AA(LEVEL)
FOR I=1 TO LEVEL
   !'INPUT  PROMPT "²¼¸Â  =":A(I)
   !'INPUT  PROMPT "¾å¸Â  =":B(I)
   !'INPUT  PROMPT "ʬ³ä¿ô=":N(I)
   READ A(I),B(I),N(I)
NEXT I
DATA 0,1,10
DATA 0,1,10
DATA 0,1,10
DATA 0,1,10
PRINT SIMPSONRECURSIVE(LEVEL,AA,A,B,N)
END

EXTERNAL  FUNCTION SIMPSONRECURSIVE(LEV,AA(),A(),B(),N())
IF LEV=0 THEN
   LET  SIMPSONRECURSIVE=FUNC(AA)
ELSE
   LET  H=(B(LEV)-A(LEV))/N(LEV)/2
   FOR K=0 TO N(LEV)-1
      LET  AA(LEV)=A(LEV)+H*K*2
      LET  S=S+1/3*H*SIMPSONRECURSIVE(LEV-1,AA,A,B,N)
      LET  AA(LEV)=A(LEV)+H*(2*K+1)
      LET  S=S+4/3*H*SIMPSONRECURSIVE(LEV-1,AA,A,B,N)
      LET  AA(LEV)=A(LEV)+H*(2*K+2)
      LET  S=S+1/3*H*SIMPSONRECURSIVE(LEV-1,AA,A,B,N)
   NEXT K
   LET SIMPSONRECURSIVE=S
END IF
END FUNCTION

EXTERNAL  FUNCTION FUNC(X())
LET S=1
FOR I=1 TO LEVEL
   LET S=S-X(I)*X(I)
NEXT I
IF S > 0 THEN
   LET FUNC=SQR(S)
ELSE
   LET FUNC=0
END IF
END FUNCTION

--------------------------------------------------------------
ºÆµ¢¸Æ½Ð¤·¤Ë¤è¤ë¿½ÅÀÑʬ ¥¬¥¦¥¹¡¦¥ë¥¸¥ã¥ó¥É¥ë§

PUBLIC NUMERIC W(10),X(10),LEVEL
INPUT  PROMPT "¿½ÅÀÑʬ LEVEL=":LEVEL
DIM A(LEVEL),B(LEVEL),XX(LEVEL),WW(LEVEL)
FOR I=1 TO LEVEL
   READ A(I),B(I)
NEXT I
DATA 0,1
DATA 0,1
DATA 0,1
DATA 0,1
RESTORE 10
FOR I=1 TO 10
   READ X(I),W(I)
NEXT I
PRINT LEGENDRERECURSIVE(LEVEL,XX,WW,A,B,10)
10 DATA -.9739065285171717,6.6671344308688138E-02 !'10ÅÀ ¥ë¥¸¥ã¥ó¥É¥ë§
   DATA -.8650633666889845,1.4945134915058059E-01
   DATA -.6794095682990244,2.1908636251598204E-01
   DATA -.4333953941292472,2.6926671930999636E-01
   DATA -.1488743389816312,2.9552422471475287E-01
   DATA  .1488743389816312,2.9552422471475287E-01
   DATA  .4333953941292472,2.6926671930999636E-01
   DATA  .6794095682990244,2.1908636251598204E-01
   DATA  .8650633666889845,1.4945134915058059E-01
   DATA  .9739065285171717,6.6671344308688138E-02
END

EXTERNAL  FUNCTION LEGENDRERECURSIVE(LEV,XX(),WW(),A(),B(),N)
   IF LEV=0 THEN
      LET LEGENDRERECURSIVE=FUNC(XX)
   ELSE
      FOR I=1 TO N
         LET XX(LEV)=X(I)*(B(LEV)-A(LEV))/2+(A(LEV)+B(LEV))/2
         LET WW(LEV)=W(I)*(B(LEV)-A(LEV))/2
         LET S=S+LEGENDRERECURSIVE(LEV-1,XX,WW,A,B,N)*WW(LEV)
      NEXT I
      LET LEGENDRERECURSIVE=S
   END IF
END FUNCTION

EXTERNAL  FUNCTION FUNC(X())
LET S=1
FOR I=1 TO LEVEL
   LET S=S-X(I)*X(I)
NEXT I
IF S > 0 THEN
   LET FUNC=SQR(S)
ELSE
   LET FUNC=0
END IF
END FUNCTION

--------------------------------------------------------------
ºÆµ¢¸Æ½Ð¤·¤Ë¤è¤ë¿½ÅÀÑʬ ¥Á¥§¥Ó¥·¥§¥Õ§

PUBLIC NUMERIC LEVEL
INPUT  PROMPT "¿½ÅÀÑʬ LEVEL=":LEVEL
DIM A(LEVEL),B(LEVEL),N(LEVEL),X(LEVEL),W(LEVEL)
FOR I=1 TO LEVEL
   !'INPUT  PROMPT "²¼¸Â  =":A(I)
   !'INPUT  PROMPT "¾å¸Â  =":B(I)
   !'INPUT  PROMPT "ʬ³ä¿ô=":N(I)
   READ A(I),B(I),N(I)
NEXT I
DATA 0,1,10
DATA 0,1,10
DATA 0,1,10
DATA 0,1,10
PRINT TCHEBYCHEFFRECURSIVE(LEVEL,X,W,A,B,N)
END

EXTERNAL  FUNCTION TCHEBYCHEFFRECURSIVE(LEV,XX(),WW(),A(),B(),N())
IF LEV=0 THEN
   LET TCHEBYCHEFFRECURSIVE=FUNC(XX)
ELSE
   FOR I=0 TO N(LEV)-1
      LET XX(LEV)=COS((2*I+1)/2/N(LEV)*PI)*(B(LEV)-A(LEV))/2+(A(LEV)+B(LEV))/2
      LET WW(LEV)=SQR((B(LEV)-XX(LEV))*(XX(LEV)-A(LEV)))
      LET S=S+TCHEBYCHEFFRECURSIVE(LEV-1,XX,WW,A,B,N)*WW(LEV)
   NEXT I
   LET TCHEBYCHEFFRECURSIVE=S*PI/N(LEV)
END IF
END FUNCTION

EXTERNAL  FUNCTION FUNC(X())
LET S=1
FOR I=1 TO LEVEL
   LET S=S-X(I)*X(I)
NEXT I
IF S > 0 THEN
   LET FUNC=SQR(S)
ELSE
   LET FUNC=0
END IF
END FUNCTION

--------------------------------------------------------------
ºÆµ¢¸Æ½Ð¤·¤Ë¤è¤ë¿½ÅÀÑʬ Æó½Å»Ø¿ô´Ø¿ôË¡(DEË¡)

[a,b]    q(t)=(b-a)/2*TANH(¦Ð/2*SINH(t))+(a+b)/2 q'(t)=¦Ð/2*(B-A)/2*COSH(X)*SECH(¦Ð/2*SINH(X))^2
[0,¡ç]   q(t)=EXP(¦Ð/2*SINH(t)) q'(t)=¦Ð/2*COSH(t)*EXP(¦Ð/2*SINH(t))
[-¡ç,¡ç] q(t)=SINH(¦Ð/2*SINH(t)) q'(t)=¦Ð/2*COSH(t)*COSH(¦Ð/2*SINH(t))

̵¸Â¶è´Ö¿½ÅÀÑʬ

PUBLIC NUMERIC LEVEL
INPUT  PROMPT "¿½ÅÀÑʬ LEVEL=":LEVEL
DIM X(LEVEL)
PRINT DE(LEVEL,X,1/16);PI^(LEVEL/2)
END

EXTERNAL  FUNCTION DE(LEV,X(),H)
IF LEV=0 THEN
   LET DE=FUNC(X)
ELSE
   FOR K=-4 TO 4 STEP H !'(Í×)Ä´À° K=-6¡Á6,H=1/1000 ÄøÅÙ
      LET X(LEV)=Q(K)
      LET  S=S+H*DE(LEV-1,X,H)*QQ(K)
   NEXT   K
   LET DE=S
END IF
END FUNCTION

EXTERNAL  FUNCTION Q(X)
LET Q=SINH(PI/2*SINH(X))
END FUNCTION

EXTERNAL  FUNCTION QQ(X)
LET QQ=PI/2*COSH(X)*COSH(PI/2*SINH(X))
END FUNCTION

EXTERNAL  FUNCTION FUNC(X())
LET S=0
FOR I=1 TO LEVEL
   LET S=S-X(I)*X(I)
NEXT I
LET  FUNC=EXP(S)
END FUNCTION
 

¥â¥ó¥Æ¥«¥ë¥íÀÑʬ

 Åê¹Æ¼Ô¡§¤·¤Ð¤Ã¤Á  Åê¹ÆÆü¡§2008ǯ12·î30Æü(²Ð)09»þ46ʬ32ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¿½ÅÀÑʬ¥â¥ó¥Æ¥«¥ë¥í

RANDOMIZE
PUBLIC NUMERIC LEVEL
INPUT  PROMPT "¿½ÅÀÑʬ LEVEL=":LEVEL
DIM A(LEVEL),B(LEVEL),N(LEVEL),AA(LEVEL)
FOR I=1 TO LEVEL
!'INPUT  PROMPT "²¼¸Â  =":A(I)
!'INPUT  PROMPT "¾å¸Â  =":B(I)
!'INPUT  PROMPT "ʬ³ä¿ô=":N(I)
   READ A(I),B(I),N(I)
NEXT I
PRINT MONTE(LEVEL,A,B,10000)
!'PRINT MONTE2(LEVEL,A,B,10000,2000)
!'PRINT MONTESIMPSON(LEVEL,A,B,10000)
!'PRINT MONTERECURSIVE(LEVEL,AA,A,B,N)
DATA 0,1,50
DATA 0,1,50
DATA 0,1,50
DATA 0,1,50
END

EXTERNAL  FUNCTION MONTE(LEV,A(),B(),N)
RANDOMIZE
DIM AA(LEV)
LET H=1
FOR I=1 TO LEV
   LET H=H*(B(I)-A(I))
NEXT I
FOR K=1 TO N
   FOR I=1 TO LEV
      LET  AA(I)=A(I)+(B(I)-A(I))*RND
   NEXT I
   LET S=S+FUNC(AA)
NEXT  K
LET MONTE=H*S/N
END FUNCTION

EXTERNAL  FUNCTION MONTE2(LEV,A(),B(),N,NN)
RANDOMIZE
DIM AA(LEV)
LET HMAX=-MAXNUM
LET HMIN=MAXNUM
LET HH=1
FOR I=1 TO LEV
   LET HH=HH*(B(I)-A(I))
NEXT I
FOR K=1 TO NN
   FOR J=1 TO LEV
      LET  AA(J)=A(J)+(B(J)-A(J))*RND
   NEXT J
   LET H=FUNC(AA)
   LET HMIN=MIN(HMIN,MIN(H,0))
   LET HMAX=MAX(H,HMAX)
NEXT K
LET H=HMAX-HMIN
FOR K=1 TO N
   FOR J=1 TO LEV
      LET  AA(J)=A(J)+(B(J)-A(J))*RND
   NEXT J
   LET Z=H*RND+HMIN
   IF FUNC(AA) > 0 THEN
      IF Z > 0 AND Z < FUNC(AA) THEN LET M1=M1+1
   ELSE
      IF Z < 0 AND Z > FUNC(AA) THEN LET M2=M2+1
   END IF
NEXT K
LET MONTE2=HH*(M1-M2)/N*H
END FUNCTION

EXTERNAL  FUNCTION MONTERECURSIVE(LEV,AA(),A(),B(),N()) !'ºÆµ¢¼°¥â¥ó¥Æ¥«¥ë¥í
IF LEV=0 THEN
   LET  MONTERECURSIVE=FUNC(AA)
ELSE
   LET  H=B(LEV)-A(LEV)
   FOR K=1 TO N(LEV)
      LET  AA(LEV)=A(LEV)+H*RND
      LET S=S+MONTERECURSIVE(LEV-1,AA,A,B,N)
   NEXT K
   LET MONTERECURSIVE=H*S/N(LEV)
END IF
END FUNCTION

EXTERNAL  FUNCTION MONTESIMPSON(LEV,A(),B(),N)  !'¥â¥ó¥Æ¥«¥ë¥í¡Ü¥·¥ó¥×¥½¥ó§
RANDOMIZE
DIM AA(LEV),T(LEV),HH(LEV)
LET H=1
FOR I=1 TO LEV
   LET H=H*(B(I)-A(I))
   LET HH(I)=(B(I)-A(I))/N/2
NEXT I
FOR K=1 TO N
   FOR I=1 TO LEV
      LET T(I)=(B(I)-A(I))*RND+A(I)
      LET AA(I)=A(I)+T(I)
   NEXT I
   LET S=S+1/3*H*FUNC(AA)
   FOR I=1 TO LEVEL
      LET AA(I)=A(I)+HH(I)+T(I)
   NEXT I
   LET S=S+4/3*H*FUNC(AA)
   FOR I=1 TO LEVEL
      LET AA(I)=A(I)+2*HH(I)+T(I)
   NEXT I
   LET S=S+1/3*H*FUNC(AA)
NEXT  K
LET MONTESIMPSON=S/N/2
END FUNCTION

EXTERNAL  FUNCTION FUNC(X())
LET S=1
FOR I=1 TO LEVEL
   LET S=S-X(I)*X(I)
NEXT I
IF S > 0 THEN
   LET FUNC=SQR(S)
ELSE
   LET FUNC=0
END IF
END FUNCTION

-----------------------------------------------
̵¸Â¶è´Ö ¿½ÅÀÑʬ¥â¥ó¥Æ¥«¥ë¥í

PUBLIC NUMERIC LEVEL
INPUT  PROMPT "¿½ÅÀÑʬ LEVEL=":LEVEL
DIM X(LEVEL)
PRINT MONTEDE(LEVEL,X,10000);PI^(LEVEL/2)
END

EXTERNAL  FUNCTION MONTEDE(LEV,X(),N) !'¥â¥ó¥Æ¥«¥ë¥í + DEË¡
RANDOMIZE
LET M=4 !'(Í×) Ä´À°
LET H=2*M/N
FOR J=1 TO N
   LET V=1
   FOR I=1 TO LEV
      LET K=RND*M*2-M
      LET X(I)=Q(K)
      LET V=V*QQ(K)
   NEXT I
   LET S=S+H^LEV*FUNC(X)*V
NEXT J
LET MONTEDE=S*N^(LEV-1)
END FUNCTION

EXTERNAL  FUNCTION FUNC(X())
FOR I=1 TO LEVEL
   LET S=S-X(I)*X(I)
NEXT I
LET  FUNC=EXP(S)
END FUNCTION

EXTERNAL  FUNCTION Q(X)
LET Q=SINH(PI/2*SINH(X))
END FUNCTION

EXTERNAL  FUNCTION QQ(X)
LET QQ=PI/2*COSH(X)*COSH(PI/2*SINH(X))
END FUNCTION
 

¤ª¤Þ¤±

 Åê¹Æ¼Ô¡§¤·¤Ð¤Ã¤Á  Åê¹ÆÆü¡§2008ǯ12·î30Æü(²Ð)09»þ47ʬ40ÉÃ
ÊÖ¿®¡¦°úÍÑ
           /1 /1   /1
¿½ÅÀÑʬ |  | ...| sqr(1-x*x-y*y-...)dxdy...¤Î¸¡¾ÚÍѤǤ¹
         /0 /0   /0

Ⱦ·Â¤ò1/2(R=.5)¤Ç¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤

!' S(n+2)=V(n)*2*¦Ð*r S(n)...n¼¡¸µµå¤ÎɽÌÌÀÑ
!' V(n)=S(n)*r/n      V(n)...n¼¡¸µµå¤ÎÂÎÀÑ
!' V(n)=¦Ð^(n/2)/GAMMA(n/2+1)*r^n
LET MAXLEVEL=20
DIM S(MAXLEVEL+2),V(MAXLEVEL+2)
INPUT  PROMPT "Ⱦ·Â=":R !' ¸¡¾Ú»þ R=.5
LET S(2)=2*PI*R
LET V(2)=PI*R^2
LET S(3)=4*PI*R^2
LET V(3)=4/3*PI*R^3
FOR N=2 TO MAXLEVEL
   LET S(N+2)=V(N)*2*PI*R
   LET V(N+2)=S(N+2)*R/(N+2)
   PRINT N;"¼¡¸µµå¤ÎÂÎÀÑ";V(N)   !';TAB(40);"ɽÌÌÀÑ";S(N)
NEXT N
END


--- ¤ª¤Þ¤± ---

Í­Íý¿ô¥â¡¼¥É¤Ç¤ª»î¤·¤¯¤À¤µ¤¤

LET MAXLEVEL=20
DIM S(MAXLEVEL+2,3),V(MAXLEVEL+2,3)
LET S(2,1)=2
LET S(2,2)=1
LET S(2,3)=1
LET S(3,1)=4
LET S(3,2)=1
LET S(3,3)=2
LET V(2,1)=1
LET V(2,2)=1
LET V(2,3)=2
LET V(3,1)=4/3
LET V(3,2)=1
LET V(3,3)=3
FOR N=2 TO MAXLEVEL
   LET S(N+2,1)=V(N,1)*2
   LET S(N+2,2)=V(N,2)+1
   LET S(N+2,3)=V(N,3)+1
   LET V(N+2,1)=S(N+2,1)/(N+2)
   LET V(N+2,2)=S(N+2,2)
   LET V(N+2,3)=S(N+2,3)+1
   PRINT STR$(N);"¼¡¸µµå¤ÎÂÎÀÑ   ";
   IF V(N,1)<>1 THEN LET A$=STR$(V(N,1)) & "*" ELSE LET A$=""
   IF V(N,2)=1 THEN LET P$="¦Ð" ELSE LET P$="¦Ð^" & STR$(V(N,2))
   IF V(N,3)=1 THEN LET R$="*r" ELSE LET R$="*r^" & STR$(V(N,3))
   PRINT A$;P$;R$
   PRINT STR$(N);"¼¡¸µµå¤ÎɽÌÌÀÑ ";
   IF S(N,1)<>1 THEN LET A$=STR$(S(N,1)) & "*" ELSE LET A$=""
   IF S(N,2)=1 THEN LET P$="¦Ð" ELSE LET P$="¦Ð^" & STR$(S(N,2))
   IF S(N,3)=1 THEN LET R$="*r" ELSE LET R$="*r^" & STR$(S(N,3))
   PRINT A$;P$;R$
   PRINT
NEXT N
END


--- ¤ª¤Þ¤± 2---

!'£î¼¡¸µµå¤ÎÂÎÀÑ
!'V(n)=1/(1*3*5*7*..*N)*2^((N+1)/2)*¦Ð^((N-1)/2)*R^N ...MOD(N,2)=1
!'V(n)=1/(2*4*6*8*..*N)*2^(N/2)    *¦Ð^(N/2)    *R^N ...MOD(N,2)=0
LET MAXLEVEL=20
FOR N=2 TO MAXLEVEL
   LET S=1
   FOR I=N TO 2 STEP -2
      LET  S=S/I
   NEXT I
   PRINT N;"¼¡¸µµå¤ÎÂÎÀÑ   ";STR$(S*2^((N+MOD(N,2))/2));"*¦Ð^";STR$((N-MOD(N,2))/2);"*r^";STR$(N)
   PRINT N;"¼¡¸µµå¤ÎɽÌÌÀÑ ";STR$(N*S*2^((N+MOD(N,2))/2));"*¦Ð^";STR$((N-MOD(N,2))/2);"*r^";STR$(N-1)
   PRINT
NEXT N
END

¢¨ ÊØµ¹¾å¡Öµå¡×¡ÖÂÎÀѡסÖɽÌÌÀѡפȤ·¤ÆÉ½¼¨¤·¤Æ¤¤¤Þ¤¹¡£
¢¨ 2¼¡¸µ¤Ë¤ª¤¤¤Æ¡¢µå¤È¤Ï¡Ö±ß¡×¡¢ÂÎÀѤȤϡÖÌÌÀѡס¢É½ÌÌÀѤȤϡֱ߼þ¡×¤Î¤³¤È¤Ç¤¹¡£
¢¨ 4¼¡¸µ°Ê¾å¤Ë¤ª¤¤¤Æ¤â¡¢¤³¤ì¤é¤Îɽ¼¨¤¬Àµ¤·¤¤¤«¤É¤¦¤«Ä꤫¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¢¨ n¼¡¸µÊªÂΤΡÖɽÌÌÀѡפȤϡ¢n-1¼¡¸µÊªÂΤΤ³¤È¤Ç¤¹¡£
 

PLOT TEXT

 Åê¹Æ¼Ô¡§ÇòÀС¡ÏÂÉ×  Åê¹ÆÆü¡§2008ǯ12·î30Æü(²Ð)10»þ05ʬ24ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.204[¸µµ­»ö¤Ø]

¸½¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¤PLOT TEXTʸ¤Ïɽ¸þ¤­Áê»÷ÊÑ´¹¤Ë¤Î¤ßÂбþ¤·¤Æ¤¤¤Þ¤¹¡£
¾ÜºÙ¤È¡¤Âкö¤Ï
http://hp.vector.co.jp/authors/VA008683/G_COMMANDS.htm
¤Ë¤¢¤ê¤Þ¤¹¡£
 

Re: PLOT TEXT

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2008ǯ12·î30Æü(²Ð)14»þ22ʬ40ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.221[¸µµ­»ö¤Ø]

ÇòÀÐ ÀèÀ¸¤Ø

Åö»þ¤â¡¢ASK PIXEL ARRAYʸ¤È¡¢MAT PLOT CELLSʸ¤Ç¡¢»þ·×ʸ»úÈפÎÁ´ÂΤò
Êñ¤ó¤Ç ¤ä¤Ã¤Æ¤ß¤¿¤Î¤Ç¤¹¤¬Ãø¤·¤¤Â®ÅÙÄã²¼¤Ç¡¢¤À¤á¤Ç¤·¤¿¡£
ʸ»ú¤Î¤ß¤Î£±£²Îΰè¤Ëʬ¤±¤Æ¡¢Í¾·×¤Ê²èÁǤòÁ÷¤é¤Ê¤¤¤è¤¦¤Ë¤¹¤ì¤Ð¤É¤¦¤«¡¢
¤â¤¦°ìÅٻ¤Æ¤ß¤Þ¤¹¡£Â¾¤Ë¡¢²¿¤«ÂåÂØ¤¹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤·¤¿¤é¡¢¤´¶µ¼¨¤¯¤À¤µ¤¤¡£
 

£·¥»¥°¥á¥ó¥È¿ô»úɽ¼¨¤Î¥Ç¥¸¥¿¥ë»þ·×

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2008ǯ12·î31Æü(¿å)09»þ21ʬ11ÉÃ
ÊÖ¿®¡¦°úÍÑ
  °ÊÁ°ºî¤Ã¤¿ÏÀÍý²óÏ©¥µ¥Ö¥ë¡¼¥Á¥ó¤Î°ìÉô¤ò»È¤Ã¤ÆÅŻҹ©ºî¤Õ¡Á¡Ê¥Á¥Ã¥×¤ÎÁȤßΩ¤Æ¡Ë¤Îµ­½Ò¤Ç¤¹¡£
!£·¥»¥°¥á¥ó¥È¿ô»úɽ¼¨¤Î¥Ç¥¸¥¿¥ë»þ·×¡ÊClock¡Ë

LET w=400 !²èÌ̤ÎÂ礭¤µ
LET h=120
SET bitmap SIZE w+1,h+1 !¥É¥Ã¥Èñ°Ì¤Ë¤¹¤ë
SET WINDOW 0,w,h,0 !¥¯¥é¥¤¥¢¥ó¥ÈºÂɸ¡Êº¸¾å¤¬¸¶ÅÀ¡Ë


LET S0=-1
DO
   LET t$=TIME$ !»þ¹ï¤òhh:mm:ss·Á¼°¤ÇÆÀ¤ë

   LET S=VAL(t$(7:8)) !ÉÃ
   IF S<>S0 THEN !¹¹¿·¤µ¤ì¤¿¤é
      LET S0=S

      LET H=VAL(t$(1:2)) !»þ
      LET M=VAL(t$(4:5)) !ʬ

      CALL clock_display(INT(H/10),MOD(H,10),INT(M/10),MOD(M,10),INT(S/10),MOD(S,10))
   END IF
LOOP



!ÅÅ»ÒÉôÉÊ¡ÊÇÛÃÖ¤ÈÇÛÀþ¡Ë

!         ¢­BCD(h10,h1,m10,m1,s10,s1)
!  ¨£¨¡ ¥Ç¡¼¥¿¥é¥Ã¥Á
!  ¨¢     ¢­BCD
!  ¨¢   ¥Ç¥³¡¼¥À
!  ¨¢     ¢­abcdefg
!  ¨¦¢ª 88:88:88
!         ¨¢
!         GND
SUB clock_display(h10,h1,m10,m1,s10,s1) !ɽ¼¨Éô
   SET DRAW mode hidden !¤Á¤é¤Ä¤­ËÉ»ß(³«»Ï)
   CLEAR

   DRAW LED(1,GND) WITH SCALE(20)*SHIFT(155,40) !¥³¥í¥ó
   DRAW LED(1,GND) WITH SCALE(20)*SHIFT(155,80)

   !¥À¥¤¥Ê¥ß¥Ã¥¯ÅÀÅôɽ¼¨
   DRAW DRIVER7segment(h10) WITH SCALE(20)*SHIFT(50,60) !»þ
   DRAW DRIVER7segment(h1) WITH SCALE(20)*SHIFT(110,60)

   DRAW DRIVER7segment(m10) WITH SCALE(20)*SHIFT(200,60) !ʬ
   DRAW DRIVER7segment(m1) WITH SCALE(20)*SHIFT(260,60)

   DRAW DRIVER7segment(s10) WITH SCALE(15)*SHIFT(320,70) !ÉÃ
   DRAW DRIVER7segment(s1) WITH SCALE(15)*SHIFT(370,70)

   SET DRAW mode explicit !¤Á¤é¤Ä¤­ËÉ»ß(½ªÎ»)
END SUB

PICTURE DRIVER7segment(BCD) !£·¥»¥°¥á¥ó¥È¿ô»úɽ¼¨¤Ë¤¹¤ë
   CALL DECODE7segment(BCD, Za,Zb,Zc,Zd,Ze,Zf,Zg)
   DRAW LED7segmentKwithoutDP(Za,Zb,Zc,Zd,Ze,Zf,Zg)
END PICTURE


!ÅÅ»ÒÉôÉʡʾå°Ì¡Ë

SUB DECODE7segment(n, Za,Zb,Zc,Zd,Ze,Zf,Zg) !£·¥»¥°¥á¥ó¥È¿ô»úɽ¼¨¥Ç¥³¡¼¥À
   IF n=0 THEN
      LET ptn$="1111110" !abcdedfg¤Î¥ª¥ó¡¦¥ª¥Õ¾õÂÖ
   ELSEIF n=1 THEN
      LET ptn$="0110000"
   ELSEIF n=2 THEN
      LET ptn$="1101101"
   ELSEIF n=3 THEN
      LET ptn$="1111001"
   ELSEIF n=4 THEN
      LET ptn$="0110011"
   ELSEIF n=5 THEN
      LET ptn$="1011011"
   ELSEIF n=6 THEN
      LET ptn$="1011111"
   ELSEIF n=7 THEN
      LET ptn$="1110000"
   ELSEIF n=8 THEN
      LET ptn$="1111111"
   ELSEIF n=9 THEN
      LET ptn$="1111011"
   ELSE
      PRINT "ÉÔÀµ¤ÊÃͤǤ¹¡£"; n
   END IF

   LET Za=VAL(ptn$(1:1))
   LET Zb=VAL(ptn$(2:2))
   LET Zc=VAL(ptn$(3:3))
   LET Zd=VAL(ptn$(4:4))
   LET Ze=VAL(ptn$(5:5))
   LET Zf=VAL(ptn$(6:6))
   LET Zg=VAL(ptn$(7:7))
END SUB

!    --a-      ÇÛÃÖ°ÌÃÖ
!  f|    |b
!    --g-
!  e|    |c
!    --d-
PICTURE LED7segmentKwithoutDP(a,b,c,d,e,f,g) !£·¥»¥°¥á¥ó¥È¿ô»úɽ¼¨´ï  ¢¨¥«¥½¡¼¥É¡¦¥³¥â¥ó
   DRAW bar(a,GND) WITH SHIFT(0,-2) !¢¨º¸¾å¤¬¸¶ÅÀ
   DRAW bar(b,GND) WITH ROTATE(PI/2)*SHIFT(1,-1)
   DRAW bar(c,GND) WITH ROTATE(PI/2)*SHIFT(1,1)
   DRAW bar(d,GND) WITH SHIFT(0,2)
   DRAW bar(e,GND) WITH ROTATE(PI/2)*SHIFT(-1,1)
   DRAW bar(f,GND) WITH ROTATE(PI/2)*SHIFT(-1,-1)
   DRAW bar(g,GND) WITH SHIFT(0,0)
END PICTURE


!ÅÅ»ÒÉôÉʡʲ¼°Ì¡Ë

PICTURE bar(a,k) !ȯ¸÷¥À¥¤¥ª¡¼¥É¤òɽ¼¨¤¹¤ë
   IF a=1 AND k=0 THEN
      PLOT AREA: -1,-0.3; 1,-0.3; 1,0.3; -1,0.3 !ÅÀÅô¡¡¢¨ÅɤêÄÙ¤·
   ELSE
      PLOT LINES: -1,-0.2; 1,-0.2; 1,0.2; -1,0.2; -1,-0.2 !¾ÃÅô¡¡¢¨ÏÈ
   END IF
END PICTURE

PICTURE LED(a,k) !ȯ¸÷¥À¥¤¥ª¡¼¥É¤òɽ¼¨¤¹¤ë
   IF a=1 AND k=0 THEN
      DRAW disk WITH SCALE(0.4) !ÅÀÅô
   ELSE
      DRAW circle WITH SCALE(0.4) !¾ÃÅô
   END IF
END PICTURE

END
 

Re: £·¥»¥°¥á¥ó¥È¿ô»úɽ¼¨¤Î¥Ç¥¸¥¿¥ë»þ·×

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2009ǯ 1·î 1Æü(ÌÚ)03»þ00ʬ30ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.223[¸µµ­»ö¤Ø]

!¡¡»³Ã椵¤ó¤Î£·¥»¥°¿ô»ú¤Ç¡¢µ¤¤¬ÉÕ¤¤¤¿¡£¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
!¡¡plot_lines ¤Î¡¢vector_font¤Ç¡¢PLOT TEXT ¤ò¡¢¥«¥Ð¡¼¤Ç¤­¤¿¡£
!¡¡¤ä¤äĹʸ¤È¡¢¤ä¤»¤¿»ú·Á¤ÏÆñÅÀ¤Ê¤¬¤é¡¢»þ·×¤Î¿ô»ú¤â¡¢¶ÀÁü¤Ë¤Ê¤Ã¤¿¡£
!
!-------------------
LET N=2
LET NN=2^N
SET WINDOW -250/NN,250/NN,250/NN,-250/NN
SET TEXT COLOR 4
SET TEXT BACKGROUND "OPAQUE"
LET ¦Õ=0
LET stp=-PI/180*6
DO
   LET t=INT(TIME)
   IF t0<>t THEN
      LET t0=t
      IF 2*PI<=ABS(¦Õ) THEN LET stp=-stp
      LET ¦Õ=REMAINDER(¦Õ, 2*PI) +stp
      !-----
      SET DRAW mode hidden
      CLEAR
      DRAW D4(N) WITH SHIFT(-300/2,-300/2/SQR(3))*ROTATE(¦Õ*(-1)^N)*SCALE(1,(-1)^N)
      DRAW center WITH SHIFT(-300/2/NN,-300/2/NN/SQR(3))*ROTATE(¦Õ)
      PLOT TEXT,AT 137/NN,-234/NN:"±¦¥¯¥ê¥Ã¥¯¤ÇÄä»ß"
      SET DRAW mode explicit
   ELSE
      WAIT DELAY 0.05 !¡¡¾ÊÅÅÎϸú²Ì
   END IF
   MOUSE POLL mx,my,mlb,mrb
LOOP UNTIL mrb>=1 !¡¡±¦¥¯¥ê¥Ã¥¯¤ÇÄä»ß

PICTURE center
   SET LINE COLOR 2
   SET LINE width 2
   PLOT LINES:0,0;300/NN,0;300/2/NN,300/2/NN*SQR(3);0,0
   SET LINE width 1
   SET LINE COLOR 1
END PICTURE

!------
PICTURE D4(k)
   IF 0< k THEN
      DRAW D4(k-1) WITH SCALE(1/2,1/2)*SHIFT(300/4,SQR(3)*300/4) !¡¡Æâ¦¤Î¾å
      DRAW D4(k-1) WITH SCALE(1/2,-1/2)*SHIFT(300/4,SQR(3)*300/4) !¡¡Æâ¦¤ÎÃæ
      DRAW D4(k-1) WITH SCALE(1/2,1/2)*ROTATE(-PI*2/3)*SHIFT(300/4,SQR(3)*300/4) !Æâ¦¤Îº¸
      DRAW D4(k-1) WITH SCALE(1/2,1/2)*ROTATE(PI*2/3)*SHIFT(300,0) !¡¡Æâ¦¤Î±¦
   ELSE
      DRAW »þ·×¿Þ WITH ROTATE(-¦Õ)*SHIFT(300/2,300/2/SQR(3))
      PLOT LINES:0,0;300,0;300/2,SQR(3)*300/2;0,0 !¡¡³°Â¦¤Î´ð½à»°³Ñ·Á¡ÊľÀܤÎÉÁ²è¤Ï̵¤·¡£)
   END IF
END PICTURE

!------
PICTURE »þ·×¿Þ
   SET AREA COLOR 1
   FOR i=1 TO 60
      LET a=PI/30*(i-15)
      IF MOD(i,5)=0 THEN
         CALL linefont(i/5, 60*COS(a), 60*SIN(a)) !¿ô»ú
         DRAW disk WITH SCALE(1)*SHIFT(72*COS(a),72*SIN(a)) !£µÊ¬ÌÜÀ¹¤ê
      ELSE
         DRAW disk WITH SCALE(.5)*SHIFT(72*COS(a),72*SIN(a)) !£±Ê¬ÌÜÀ¹¤ê
      END IF
   NEXT i
   !---¡¡00:00 ¤«¤é£ôÉà ¤Î¿Ë²óž Gear
   DRAW hand(1) WITH SCALE(2.5, 0.75)*ROTATE(t*PI/21600) !¡¡»þ¿Ë
   DRAW hand(1) WITH ROTATE(t*PI/1800) !¡¡Ê¬¿Ë
   DRAW hand(2) WITH SCALE(0, 1.1)*ROTATE(t*PI/30) !¡¡ÉÿË
   !---¡¡Ãæ¿´¤Î¾þ¤ê
   DRAW disk WITH SHIFT(0,0)*SCALE(4)
END PICTURE

PICTURE hand(c) !¡¡£³¿Ë¶¦ÍÑ
   SET AREA COLOR c
   PLOT AREA: -1,15; 1,15; 1,-60; -1,-60
END PICTURE

!-------------------------------------
SUB linefont(i,x,y) !¡¡plot text ¤ÎÂåÂØ
   SELECT CASE i
   CASE 1
      PLOT LINES:x+2.6,y-5;x+2.6,y+5 ! 1
   CASE 2
      PLOT LINES:x-2.6,y-5;x+2.6,y-5;x+2.6,y;x-2.6,y;x-2.6,y+5;x+2.6,y+5 ! 2
   CASE 3
      PLOT LINES:x-2.6,y-5;x+2.6,y-5;x+2.6,y+5;x-2.6,y+5 ! 3a
      PLOT LINES:x-2.6,y;x+2.6,y ! 3b
   CASE 4
      PLOT LINES:x-2.6,y-5;x-2.6,y;x+2.6,y ! 4a
      PLOT LINES:x+2.6,y-5;x+2.6,y+5 ! 4b
   CASE 5
      PLOT LINES:x+2.6,y-5;x-2.6,y-5;x-2.6,y;x+2.6,y;x+2.6,y+5;x-2.6,y+5 ! 5
   CASE 6
      PLOT LINES:x+2.6,y-5;x-2.6,y-5;x-2.6,y+5;x+2.6,y+5;x+2.6,y;x-2.6,y ! 6
   CASE 7
      PLOT LINES:x-2.6,y-5;x+2.6,y-5;x+2.6,y+5 ! 7
   CASE 8
      PLOT LINES:x-2.6,y;x-2.6,y-5;x+2.6,y-5;x+2.6,y+5;x-2.6,y+5;x-2.6,y;x+2.6,y ! 8
   CASE 9
      PLOT LINES:x+2.6,y;x-2.6,y;x-2.6,y-5;x+2.6,y-5;x+2.6,y+5;x-2.6,y+5 ! 9
   CASE 10
      LET x=x-7
      PLOT LINES:x+2.6,y-5;x+2.6,y+5 ! 1
      LET x=x+11
      PLOT LINES:x-2.6,y+5;x-2.6,y-5;x+2.6,y-5;x+2.6,y+5;x-2.6,y+5 ! 0
   CASE 11
      LET x=x-5
      PLOT LINES:x+2.6,y-5;x+2.6,y+5 ! 1
      LET x=x+9
      PLOT LINES:x+2.6,y-5;x+2.6,y+5 ! 1
   CASE 12
      LET x=x-7
      PLOT LINES:x+2.6,y-5;x+2.6,y+5 ! 1
      LET x=x+11
      PLOT LINES:x-2.6,y-5;x+2.6,y-5;x+2.6,y;x-2.6,y;x-2.6,y+5;x+2.6,y+5 ! 2
   CASE ELSE
   END SELECT
END SUB

END
 

Re: £·¥»¥°¥á¥ó¥È¿ô»úɽ¼¨¤Î¥Ç¥¸¥¿¥ë»þ·×

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2009ǯ 1·î 2Æü(¶â)21»þ16ʬ48ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.224[¸µµ­»ö¤Ø]

SECOND¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

ʸ»ú¤Î¶ÀÁü¤òÉÁ²è¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£MAT PLOT CELLS¤Ç¤Ï¤½¤ÎÎΰè¤Î¤¹¤Ù¤Æ¤Î²èÁǤòÉÁ²è¤·»þ´Ö¤¬¤«¤«¤ë¤Î¤Ç¡¢Ê¸»úÀþ¤Î¤¢¤ë²èÁÇ¤Î¤ßÆÉ¹þ¤ß¡¢MAT PLOT POINTS¤ÇÉÁ²è¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£

SECOND¤µ¤ó¤Î¥×¥í¥°¥é¥à¤Î£³¹ÔÌܤÎSET WINDOWʸ¤Î¸å¤í¤Ë¤Ä¤®¤Î¥×¥í¥°¥í¥à¤òÁÞÆþ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£´û¸¤ÎSUB linefont¤ÏÇѤ·¤Æ¤¯¤À¤µ¤¤¡£
CenturyÂÎ¤ÏÆüËܸì¤ËÂбþ¤·¤Æ¤Ê¤¤¤Î¤Ç"±¦¥¯¥ê¥Ã¥¯¤ÇÄä»ß"¤ò"Right Click to Stop"¤Ë¤â¤É¤·¤Æ¤¯¤À¤µ¤¤¡£

MAT PLOTʸ¤Ï3¼¡¸µ¤ÎÇÛÎó¤Ë¤ÏŬ±þ¤·¤Æ¤Ê¤¤¤Î¤Ç¡¢¤¢¤Þ¤ê¥¹¥Þ¡¼¥È¤Ç¤Ï¤Ê¤¤¤Ç¤¹¤¬¤Ê¤ó¤È¤«1ÉÃ°ÊÆâ¤ËÉÁ²è¤Ç¤­¤ë¤È»×¤¤¤Þ¤¹¡£ÃÙ¤ì¤ë¾ì¹ç¤Ïʸ»ú¥µ¥¤¥º(th=13)¤ò¾®¤µ¤¯¤·¤Æ¤ß¤Æ²¼¤µ¤¤¡£

!
ASK TEXT HEIGHT ath
ASK TEXT JUSTIFY atjx$,atjy$
SET POINT STYLE 1
SET TEXT JUSTIFY "CENTER","HALF"
LET th=13
SET TEXT HEIGHT th
SET TEXT FONT "Century" ,0
ASK TEXT WIDTH("WW") tw
ASK PIXEL SIZE (0,0;1.2*th,1.2*tw) px,py
LET p=ABS(px*py)
DIM f0(p,2),f1(p,2),f2(p,2),f3(p,2),f4(p,2),f5(p,2),f6(p,2),f7(p,2),f8(p,2),f9(p,2),f10(p,2),f11(p,2),f12(p,2)
LET pitchx=WORLDX(PIXELX(0)+1)
LET pitchy=WORLDY(PIXELY(0)+1)
FOR i=1 TO 12
   PLOT TEXT ,AT 0,0 : STR$(i)
   MAT f0=ZER
   LET k=0
   FOR x=-0.6*tw TO 0.6*tw STEP pitchx
      FOR y=0.6*th TO -0.6*th STEP pitchy
         ASK PIXEL VALUE (x,y) pc
         IF pc=1 THEN ! Ãæ´Ö¿§(³¥¿§)¤òÆÉ¤ß¹þ¤à¤Ê¤é¾ò·ï¤ò pc<>0
            LET k=k+1
            LET f0(k,1)=x
            LET f0(k,2)=y
         END IF
      NEXT y
   NEXT x
   CALL font_read
   CLEAR
NEXT i
SET TEXT HEIGHT ath
SET TEXT JUSTIFY atjx$,atjy$
!
SUB font_read
   MAT f12=ZER(k,2)
   FOR j=1 TO k
      LET f12(j,1)=f0(j,1)
      LET f12(j,2)=f0(j,2)
   NEXT j
   SELECT CASE i
   CASE 1
      MAT f1=f12
   CASE 2
      MAT f2=f12
   CASE 3
      MAT f3=f12
   CASE 4
      MAT f4=f12
   CASE 5
      MAT f5=f12
   CASE 6
      MAT f6=f12
   CASE 7
      MAT f7=f12
   CASE 8
      MAT f8=f12
   CASE 9
      MAT f9=f12
   CASE 10
      MAT f10=f12
   CASE 11
      MAT f11=f12
   CASE ELSE
   END SELECT
END SUB
SUB linefont(fi,x,y)
   SELECT CASE fi
   CASE 1
      DRAW  numplot(f1) WITH SHIFT(x,y)
   CASE 2
      DRAW  numplot(f2) WITH SHIFT(x,y)
   CASE 3
      DRAW  numplot(f3) WITH SHIFT(x,y)
   CASE 4
      DRAW  numplot(f4) WITH SHIFT(x,y)
   CASE 5
      DRAW  numplot(f5) WITH SHIFT(x,y)
   CASE 6
      DRAW  numplot(f6) WITH SHIFT(x,y)
   CASE 7
      DRAW  numplot(f7) WITH SHIFT(x,y)
   CASE 8
      DRAW  numplot(f8) WITH SHIFT(x,y)
   CASE 9
      DRAW  numplot(f9) WITH SHIFT(x,y)
   CASE 10
      DRAW  numplot(f10) WITH SHIFT(x,y)
   CASE 11
      DRAW  numplot(f11) WITH SHIFT(x,y)
   CASE 12
      DRAW  numplot(f12) WITH SHIFT(x,y)
   END SELECT
END SUB
PICTURE numplot(fm(,))
   MAT PLOT POINTS : fm
END PICTURE
!
 

Re: £·¥»¥°¥á¥ó¥È¿ô»úɽ¼¨¤Î¥Ç¥¸¥¿¥ë»þ·×

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2009ǯ 1·î 2Æü(¶â)21»þ36ʬ40ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.225[¸µµ­»ö¤Ø]

¹ÓÅĹÀÆó¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
¤¿¤À»ä¤Î¥Ñ¥½¥³¥ó¤Ï¡¢Pentium-3, 500MHz ¤Ê¤Î¤Ç¡¢¤ä¤ä®ÅÙÉÔ­¤Ç¡¢£²ÉÃÈô¤Ó¤¬Áý¤¨¤Æ¡¢
»ÈÍѤǤ­¤Þ¤»¤ó¤Ç¤·¤¿¡£¤´¤á¤ó¤Ê¤µ¤¤¡£¤Ç¤â¡¢MAT PLOT CELLS ¤ËÈæ¤Ù³ÊÃʤ˹⮤Ǥ¹¡£
 

¡ÈÆÈ¼«¤Î³ÈÄ¥¡É

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2009ǯ 1·î 2Æü(¶â)21»þ47ʬ5ÉÃ
ÊÖ¿®¡¦°úÍÑ
 


½½¿ÊBASIC ¤Î¡ÈÆÈ¼«¤Î³ÈÄ¥¡É¤À¤±¤ò¡¢help ¤«¤é½ñ¤­½Ð¤·¤Æ¤ß¤¿¡£

¤³¤ì¤ò¤ß¤ë¤È¡¢DRAW GRID ¤ä¡¢Ê£ÁÇ¿ô¤Ê¤É¡¢½ÅÍפʷ׻»µ¡Ç½¤Þ¤Ç³ºÅö
¤·¤Æ¤ª¤ê¡¢½ã¿è¤Ê Full Basic ¤Ç¤Ê¤¯¤Æ¡¢Îɤ«¤Ã¤¿¤È»×¤¤¤Þ¤¹¡£


----------------------------------------------
OPTION ARITHMETIC DECIMAL_HIGH¡¡ 10¿Ê1000·å(Ķ±Û´Ø¿ô¤Ï17·å(ËöÈø¶ö¿ô))
OPTION ARITHMETIC COMPLEX¡¡¡¡¡¡¡¡Ê£ÁÇ¿ô
OPTION ARITHMETIC RATIONAL¡¡¡¡¡¡ Í­Íý¿ô(̵Íý´Ø¿ô¤Ï10¿Ê17·å(ËöÈø¶ö¿ô))
----------------------------------------------
RANDOMIZE 5489 ( °ú¿ô¤Ë0¡Á4294967295)
----------------------------------------------
FACT(x)¡¡¡¡ x¤Î³¬¾è
PERM(n,r)¡¡ ½çÎó¤Î¿ô
COMB(n,r)¡¡ Æó¹à·¸¿ô¡ÊÁȹ礻¤Î¿ô¡Ë
ROUND(x)¡¡¡¡x¤Î¾®¿ôÅÀ°Ê²¼¤ò´Ý¤á¤¿ÃÍ¡£
----------------------------------------------
BLEN(a$)¡¡¡¡¡¡¡¡¡¡¥Ð¥¤¥È¤òñ°Ì¤È¤¹¤ëa$¤Îʸ»úÎóĹ¡£
SUBSTR$(a$,m,n)¡¡ a$¤Îmʸ»úÌܤ«¤énʸ»úÌܤޤǤÎÉôʬʸ»úÎó
MID$(a$,m,n)¡¡¡¡¡¡a$¤Îmʸ»úÌܤ«¤é¤Înʸ»ú
LEFT$(a$,n)¡¡¡¡¡¡ a$¤Î¤Ï¤¸¤á¤Înʸ»ú
RIGHT$(a$,n)¡¡¡¡¡¡a$¤ÎËöÈø¤Înʸ»ú
----------------------------------------------
GetKeyState(n)¡¡¡¡¥­¡¼¤Î¾õÂÖ¤òÄ´¤Ù¤ë
----------------------------------------------
MAT A=CROSS(B,C)¡¡¡¡B,C¤Î³°ÀÑ(¥Ù¥¯¥È¥ëÀÑ)
--------------------------------------------
MAT REDIM¡¡¡¡¡¡¡¡¡¡ÇÛÎó¤Îź»ú¤Î¾å²¼¸Â¤òºÆÄêµÁ
----------------------------------------------
DIM A(N),B(2*N)¡¡¡¡Åº»ú¤Î¾å²¼¸Â»ØÄê¤ËÊÑ¿ô¤ò´Þ¤à¿ôÃͼ°
----------------------------------------------
¿§Ì¾¡¡"WHITE","BLACK","BLUE","GREEN","RED","CYAN","MAGENTA","YELLOW","GRAY","SILVER",
¡¡¡¡¡¡"Çò","¹õ","ÀÄ","ÎÐ","ÀÖ","²«"
----------------------------------------------
SET LINE WIDTH ¿ôÃͼ°¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Àþ¤ÎÂÀ¤µ
PLOT BEZIER: x1, y1 ; x2, y2 ; x3, y3; x4, y4¡¡¡¡¥Ù¥¸¥§¶ÊÀþ¤òÉÁ¤¯¡£
SET BEAM MODE "IMMORTAL"¡¡ PLOT LINES°Ê³°¤Î¼Â¹Ô¤ÇÉÁÅÀ¤Î¾õÂÖ¤òÊѤ¨¤Ê¤¤¡£
SET BEAM MODE "RIGOROUS"¡¡ ÉÁÅÀ¤Î¾õÂÖ¤òJIS¤Îµ¬ÄêÄ̤ê¤Ëoff¤Ë¤¹¤ë¡£
----------------------------------------------
PLOT LABEL ,AT x,y : ʸ»úÎó¼°
PLOT LABEL ,AT x,y ,USING ½ñ¼°»ØÄê : ¼°, ¼° , ¡Ä, ¼°
SET TEXT FONT FontName$ ¡¤size
ASK TEXT WIDTH(ʸ»úÎó¼°) ¿ôÃÍÊÑ¿ô¡¡¡¡¡¡Ê¸»úÎó¤ÎÌäÂêºÂɸ·Ï¤Ë¤ª¤±¤ë²£Éý
SET TEXT BACKGROUND "TRANSPARENT"
SET TEXT BACKGROUND "OPAQUE"
----------------------------------------------
DRAW GRID¡¡¡¡¡¡¡¡ £ø¼´Êý¸þ ´Ö³Ö£±¡¤£ù¼´Êý¸þ ´Ö³Ö£±¤Î³Ê»Ò¤òÉÁ¤¯¡£
DRAW GRID(p,q)¡¡¡¡£ø¼´Êý¸þ ´Ö³Öp¡¤£ù¼´Êý¸þ ´Ö³Öq¤Î³Ê»Ò¤òÉÁ¤¯¡£
DRAW AXES¡¡¡¡¡¡¡¡ ÌÜÀ¹¤ê´Ö³Ö¤¬£ø¼´Êý¸þ£±¡¤£ù¼´Êý¸þ£±¤Î£ø¼´¤È£ù¼´¤òÉÁ¤¯¡£
DRAW AXES(p,q)¡¡¡¡ÌÜÀ¹¤ê´Ö³Ö¤¬£ø¼´Êý¸þp¡¤£ù¼´Êý¸þq¤Î£ø¼´¤È£ù¼´¤òÉÁ¤¯¡£
DRAW GRID0
DRAW AXES0
SET AXIS COLOR¡¡¡¡¼´¤Î¿§¡¡¡¡ÇÑ»ßͽÄê
----------------------------------------------
DRAW circle¡¡¡¡¡¡¸¶ÅÀ¤òÃæ¿´¤È¤¹¤ëȾ·Â1¤Î±ß¤òÉÁ¤¯¡£
DRAW disk¡¡¡¡¡¡¡¡¸¶ÅÀ¤òÃæ¿´¤È¤¹¤ëȾ·Â1¤Î±ß¤È¤½¤ÎÆâÉô¤ò¸½ºß¤Îarea color¤ÇÅɤê¤Ä¤Ö¤¹¡£
----------------------------------------------
MOUSE POLL x,y,left,right¡¡¥Þ¥¦¥¹¤Î°ÌÃÖ¤òx,y¡¡left,right¤Ë¥Þ¥¦¥¹¥Ü¥¿¥ó¤Î¾õÂÖ
----------------------------------------------
PIXELX(x) ¡¡ÌäÂêºÂɸx¤ËÂбþ¤¹¤ë¥Ô¥¯¥»¥ëxºÂɸ
PIXELY(y) ¡¡ÌäÂêºÂɸy¤ËÂбþ¤¹¤ë¥Ô¥¯¥»¥ëyºÂɸ
WORLDX(x) ¡¡¥Ô¥¯¥»¥ëxºÂɸ¤òÌäÂêºÂɸ¤ËÊÑ´¹
WORLDY(y) ¡¡¥Ô¥¯¥»¥ëyºÂɸ¤òÌäÂêºÂɸ¤ËÊÑ´¹
PROBLEMX(x) WORLDX(x)¤ÈƱµÁ
PROBLEMY(y) WORLDY(y)¤ÈƱµÁ
----------------------------------------------
SET BITMAP SIZE width, height¡¡ÉÁ²èÎΰè¤Î²èÁÇ¿ô
----------------------------------------------
FLOOD x,y¡¡ÅÀ(x,y)¤ò»ÏÅÀ¤È¤·¤ÆÅÀ(x,y)¤ÈƱ¿§¤Ç¤Ä¤Ê¤¬¤ëÎΰè¤ò¸½ºß¤Îarea color¤ÇÅɤê¤Ä¤Ö¤¹¡£
PAINT x,y¡¡ÅÀ(x,y)¤ò»ÏÅÀ¤È¤·¤Æline color¤ÎÅÀ¤ò¶­³¦¤È¤¹¤ëÎΰè¤ò¸½ºß¤Îarea color¤ÇÅɤê¤Ä¤Ö¤¹¡£
----------------------------------------------
GLOAD ¥Õ¥¡¥¤¥ë̾¡¡¡¡»ØÄꤵ¤ì¤¿Ì¾Á°¤Î²èÁü¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à¡£
GSAVE ¥Õ¥¡¥¤¥ë̾¡¡¡¡»ØÄꤵ¤ì¤¿Ì¾Á°¤Ç²èÁü¤òÊݸ¤¹¤ë¡£
----------------------------------------------
SET COLOR MODE "NATIVE"¡¡ ¿§»ØÄê¡§²¼°Ì8¥Ó¥Ã¥È¤¬ÀÖ¡¤Ãæ°Ì8¥Ó¥Ã¥È¤¬ÎС¤¾å°Ì8¥Ó¥Ã¥È¤¬ÀÄ
SET COLOR MODE "REGULAR"¡¡¥Ñ¥ì¥Ã¥È¤òÍѤ¤¤ëÄ̾ï¥â¡¼¥É
COLORINDEX(r,g,b)¡¡¡¡¡¡¡¡ ¿§»ØÉ¸¤òÆÀ¤ë´Ø¿ô
----------------------------------------------
SET DRAW MODE HIDDEN¡¡¡¡ ÆâÉô¤Ë¤¢¤ë¥Ó¥Ã¥È¥Þ¥Ã¥×¥á¥â¥ê¤Ë¤Î¤ßÉÁ²è¤¹¤ë¥â¡¼¥É
SET DRAW MODE EXPLICIT¡¡ ²èÌ̤ȥӥåȥޥåץá¥â¥ê¤ÎÁÐÊý¤ËÉÁ²è¤¹¤ë¥â¡¼¥É¡Êɸ½à¤Î¾õÂÖ¡Ë
SET DRAW MODE NOTXOR¡¡¡¡ ²èÌ̤ο§¤È»ØÄꤵ¤ì¤¿¿§¤ÎNOTXOR¤Î¿§¤ÇÉÁ¤¯
SET DRAW MODE OVERWRITE¡¡»ØÄꤵ¤ì¤¿¿§¤ÇÉÁ¤¯¡Êɸ½à¤Î¾õÂÖ¡Ë
----------------------------------------------
WAIT DELAY ¿ôÃͼ°¡¡¡¡»ØÄꤵ¤ì¤¿Éÿô¤À¤±µÙ»ß
PAUSE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Enter¥­¡¼¤òÂԤġ£
PAUSE ʸ»úÎó¼°¡¡¡¡¡¡ ʸ»úÎó¼°¤ÎÃͤòɽ¼¨¤·¤ÆEnter¥­¡¼¤òÂԤġ£
----------------------------------------------
EXECUTE ¥Õ¥¡¥¤¥ë̾
EXECUTE ¥Õ¥¡¥¤¥ë̾ WITH (¼°¡¤¼°¡¤Ž¥Ž¥Ž¥¡¤¼°)
EXECUTE NOWAIT ¥Õ¥¡¥¤¥ë̾
EXECUTE NOWAIT ¥Õ¥¡¥¤¥ë̾ WITH (¼°¡¤¼°¡¤Ž¥Ž¥Ž¥¡¤¼°)
PLAY ʸ»úÎó¼°¡¡¡¡¡¡¡¡¡¡´ØÏ¢ÉÕ¤±¤òÍøÍѤ·¤ÆÊ¸»úÎó¼°¤¬É½¤¹¥Õ¥¡¥¤¥ë¤òplay¤¹¤ë¡£
PLAY NOWAIT ʸ»úÎó¼° ¡¡»ØÄꤵ¤ì¤¿¥×¥í¥°¥é¥à¤Î¼Â¹Ô¤¬½ª¤ï¤ë¤Î¤òÂÔ¤¿¤º¤Ë¼¡¤Î¹Ô¤Ë¿Ê¤à¡£
ASSOC PRINT ʸ»úÎó¼°¡¡¡¡´ØÏ¢ÉÕ¤±¤òÍøÍѤ·¤ÆÊ¸»úÎó¼°¤¬É½¤¹¥Õ¥¡¥¤¥ë¤òprint¤¹¤ë¡£
----------------------------------------------
SWAP x,y¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÊÑ¿ôx,y¤ÎÃͤò¸ò´¹¤¹¤ë¡£
BEEP¡¡¡¡¡¡ ¡¡¡¡¡¡¡¡¡¡¡¡·Ù¹ð²»¤òȯ¤¹¤ë¡£
BEEP ¿ôÃͼ°1, ¿ôÃͼ°2¡¡¡¡(NT/2000/XP) ¿ôÃͼ°1¤Ï¿¶Æ°¿ô(Hz)¡¤¿ôÃͼ°2¤Ï·Ñ³»þ´Ö(ms)
PLAYSOUND ʸ»úÎó¼°¡¡¡¡¡¡¡¡¡¡¥µ¥¦¥ó¥É¥Õ¥¡¥¤¥ë¤òºÆÀ¸¤¹¤ë¡£
PLAYSOUND ʸ»úÎó¼° ,ASYNC¡¡¡¡ºÆÀ¸¤¬½ª¤ï¤ë¤Î¤òÂÔ¤¿¤º¤Ë¼¡¤Î¹Ô¤Ë¿Ê¤à¡£
----------------------------------------------
SET #·ÐÏ©ÈÖ¹æ : ENDOFLINE CHR$(13)&CHR$(10)
SET #·ÐÏ©ÈÖ¹æ : ENDOFLINE CHR$(10)&CHR$(13)
SET #·ÐÏ©ÈÖ¹æ : ENDOFLINE CHR$(13)
SET #·ÐÏ©ÈÖ¹æ : ENDOFLINE CHR$(10)
ASK #·ÐÏ©ÈÖ¹æ : FILESIZE ¿ôÃÍÊÑ¿ô¡¡¡¡¥Ð¥¤¥Èñ°Ì¤Î¥Õ¥¡¥¤¥ëĹ
SET DIRECTORY a$¡¡¡¡¡¡¡¡¡¡¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò¡¢a$¤¬»ØÄꤹ¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ËÊѹ¹
ASK DIRECTORY s$¡¡¡¡¡¡¡¡¡¡¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¤¹Ê¸»úÎó¤ò¡¢Ê¸»úÎóÊÑ¿ôs$¤ËÂåÆþ
FILE GETNAME s$¡¡¡¡¡¡¡¡¡¡¡¡¥Õ¥¡¥¤¥ë¤ò³«¤¯¥À¥¤¥¢¥í¥°¤òɽ¼¨¤·¡¤»ØÄꤹ¤ë¥Õ¥¡¥¤¥ë̾¤òs$¤ËÂåÆþ
FILE GETNAME s$, ʸ»úÎó¼°¡¡¡¡Ê¸»úÎó¼°¤ò´ûÄê¤Î³ÈÄ¥»Ò¤È¤·¤Æ¥Õ¥¡¥¤¥ë¥À¥¤¥¢¥í¥°¤ò³«¤¯
FILE SPLITNAME (a$) path$, name$, ext$¡¡¡¡¥Õ¥¡¥¤¥ë̾¤òɽ¤¹Ê¸»úÎó¼°a$¤ò¡¤3¤Ä¤Ëʬ³ä
FILE RENAME a$,b$¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡a$¤¬¼¨¤¹¥Õ¥¡¥¤¥ë¤Î̾Á°¤òb$¤ËÊѤ¨¤ë
FILE DELETE a$¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡a$¤¬¼¨¤¹¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë¡£
FILE LIST ʸ»úÎó¼°,s$¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡s$¤Ë¤Ï£±¼¡¸µÊ¸»úÎóÇÛÎó¤ò½ñ¤¯¡£
FILES(ʸ»úÎó¼°)¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ê¸»úÎ󼰤˹çÃפ¹¤ë¥Õ¥¡¥¤¥ë¤Î¿ô¡£
----------------------------------------------
OPEN # ¿ôÃͼ° : PRINTER¡¡¡¡·ÐÏ©¤Ë¥×¥ê¥ó¥¿¤ò³ä¤êÅö¤Æ¤ë
----------------------------------------------
OPEN # ¿ôÃͼ° : TextWindow1
OPEN # ¿ôÃͼ° : TextWindow1 ,ACCESS INPUT
OPEN # ¿ôÃͼ° : TextWindow1 ,ACCESS OUTPUT
OPEN # ¿ôÃͼ° : TextWindow1 ,ACCESS OUTIN
----------------------------------------------
COMPLEX(x , y)¡¡Ê£ÁÇ¿ô¡¡x+ y i  ¡¡¡¡//Ê£ÁÇ¿ô¥â¡¼¥É
RE(z)¡¡¡¡¡¡¡¡¡¡z¤Î¼ÂÉô
IM(z)¡¡¡¡¡¡¡¡  z¤ÎµõÉô
CONJ(z)¡¡¡¡¡¡  z¤Î¶¦ÌòÊ£ÁÇ¿ô¡¡CONJ(x + y i)= x - y i
ARG(z)¡¡¡¡¡¡¡¡ z¤ÎÊгѡ¢angle radians(-¦Ð< ~<=¦Ð)¡¡angle degrees(-180¡ë< ~<=180¡ë)
ABS(z)¡¡¡¡¡¡¡¡ z¤ÎÀäÂÐÃÍ
SQR(z)¡¡¡¡¡¡¡¡ z¤ÎÊ¿Êýº¬¡ÊÊгѡ§-90¡ë< ~<=90¡ë)
SQR(-1)= i
EXP(z)¡¡¡¡¡¡¡¡ »Ø¿ô´Ø¿ô¡Ê³ÑÅÙñ°Ì¤Ï¾ï¤Ë¥é¥¸¥¢¥ó)
LOG(z)¡¡¡¡¡¡¡¡ z¤Î¼«Á³Âпô¡£¼ÂÉô¤Ïlog|z|,µõÉô¤Ïarg z(ñ°Ì¤Ï¾ï¤Ë¥é¥¸¥¢¥ó¤Ç -¦Ð¡Á¦Ð¡Ë¡£
¿Þ·ÁÊÑ·Á´Ø¿ô¤ÎÊ£ÁÇ¿ô¤Ø¤Î³ÈÄ¥( shift(z), scale(z),,, )
----------------------------------------------
NUMER(x)¡¡¡¡¡¡x¤Îʬ»Ò(numerator)      //Í­Íý¿ô¥â¡¼¥É
DENOM(x)¡¡¡¡¡¡x¤ÎʬÊì(denominator)
GCD(x,y)¡¡¡¡¡¡x¤Èy¤ÎºÇÂç¸øÌó¿ô(Greatest Common Divisor)¡£·ë²Ì¤ÏÀµÉ乿¤ò¤â¤Ä¡£
INTSQR(x)¡¡¡¡ x¤ÎÀµ¤ÎÊ¿Êýº¬¤Î¾®¿ôÅÀ°Ê²¼¤òÀÚ¤ê¼Î¤Æ¤¿¿ôÃÍ¡£INT(SQR(x))
INTLOG2(x)¡¡¡¡x¤ÎÀ°¿ôÉôʬ¤Î2¤òÄì¤È¤¹¤ëÂпô¤ÎÀ°¿ôÉôʬ¡£INT(LOG2(INT(x)))

 

£²£°£°£¹Ç¯Àꤤ

 Åê¹Æ¼Ô¡§GAI  Åê¹ÆÆü¡§2009ǯ 1·î 4Æü(Æü)18»þ27ʬ13ÉÃ
ÊÖ¿®¡¦°úÍÑ
  2009ǯºîÉʤòÄ©Àï
­¡¡Ê£¹£°£°£²¡Ý£²£°£°£¹¡Ë¡à£¹¡á£·£·£·¡¡¡Ê¥é¥Ã¥­¡¼¥»¥Ö¥ó¡ª¡ª¡ªÂçÅö¤¿¤ê¡Ë

­¢À¾Îñ£²£°£°£¹Ç¯¡áÊ¿À®£²£±Ç¯¡á£³¡ß£·Ç¯
¤è¤ê£³¡¤£·¤Ç¡¡£³¡ß£·¡ß£³£·¡á£·£·£·

­££²£°£°£¹¡á£·¡ß£·¡ß£·¡ß£·¡Ý£·¡ß£·¡ß£·¡Ý£·¡ß£·

­¤£·£·£·£·£·¡°£·
¢á£·£·£·£·£·¡°£·£·
¢á£·£·£·£·£·¡°£·£·£·
¢á£·£·£·£·£·¡°£·£·£·£·
¢á£·£·£·£·£·¡°£·£·£·£·£·
¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦
¢á£·£·£·£·£·¡°£·£·£·¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦£·
¢á£°¡Ê£Í£Ï£Ä£²£°£°£¹¡Ë
 

Re: ¡ÈÆÈ¼«¤Î³ÈÄ¥¡É

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2009ǯ 1·î 4Æü(Æü)21»þ51ʬ27ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.227[¸µµ­»ö¤Ø]

SECOND¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

¤³¤ì¤â¤¢¤ê¤Þ¤¹¤è¡£

----------------------------------------------
¼±ÊÌ̾¤Ë´Á»ú¤¬»È¤¨¤ë¤è¤¦¤Ëʸˡ¤ò³ÈÄ¥¤·¤Æ¤¤¤ë¡£
¼±ÊÌ̾¤Ë»È¤¨¤ë¤Î¤Ï¡¤JISʸ»ú¥³¡¼¥Éɽ¤Ç"£°"(¿ô»ú¤Î¥¼¥í)°Ê¹ß¤Îʸ»ú¡£
¤¿¤À¤·¡¤Á´³Ñ±Ñ¿ô»ú¤Ç»Ï¤Þ¤ë̾Á°¤ÏÉԲġ£
----------------------------------------------

Á´³Ñʸ»ú22ʸ»ú¤«¤é¤Ê¤ëÊÑ¿ô̾¤Ç¤¹¡£(Ãí°Õ;´Ä¶­°Í¸ʸ»ú¤â¤¢¤ê¤Þ¤¹)
10 LET ¤«¤££±£Â£ä¥µ¦²¦Â§¥§ñ¨ª­±­·­Ê­Ö­à­ß­ä­å­ê­ó°¡=3
20 PRINT ¤«¤££±£Â£ä¥µ¦²¦Â§¥§ñ¨ª­±­·­Ê­Ö­à­ß­ä­å­ê­ó°¡+5
30 END
 

Re: ¡ÈÆÈ¼«¤Î³ÈÄ¥¡É

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2009ǯ 1·î 4Æü(Æü)22»þ42ʬ47ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.229[¸µµ­»ö¤Ø]

´Á»ú¡¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢¼¡¤ÎÍͤ˽ñ¤«¤ì¤Æ¤¤¤Þ¤·¤¿¡£

¡ÖFull BASIC¤Ï¥³¡¼¥ÉÈֹ椬0¤«¤é127¤Þ¤Ç¤Îʸ»ú¤ò»ÈÍѤ¹¤ë¤³¤È¤òÁ°Äó¤Ë
¡¡µ¬³Ê²½¤µ¤ì¤Æ¤¤¤ë¡£¤½¤Î¤¿¤á¡¤JIS¤Ë¤Ï128ÈְʹߤÎʸ»ú¤ò°·¤¦¤³¤È¤Ë¤·¤Æ¤â
¡¡¤è¤¤¤È¤¤¤¦ÄøÅ٤Τ³¤È¤·¤«½ñ¤«¤ì¤Æ¤¤¤Ê¤¤¡£¡×

¤³¤ì¤ò¸«¤ë¤È¡¢¤à¤º¤«¤·¤¤È½ÃǤǤ¹¤Í¡£
»ÅÊý¤¬Ìµ¤¤¤Î¤Ç¡¢¤È¤ê¤¢¤¨¤º¡¢ÇòÀÐÀèÀ¸¤¬¡¢"ÆÈ¼«¤Î³ÈÄ¥"¤È¥Þ¡¼¥¯¤µ¤ì¤¿¸Ä½ê
¤À¤±¤Ë¡¢¤·¤Æ¤¤¤Þ¤¹¡£
 

Re: ¡ÈÆÈ¼«¤Î³ÈÄ¥¡É

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2009ǯ 1·î 5Æü(·î)00»þ08ʬ3ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.230[¸µµ­»ö¤Ø]

SECOND¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

¤Ê¤ë¤Û¤É¡£JIS¤Ë¤â¤¢¤¤¤Þ¤¤¤Êµ¬Ä꤬¤¢¤ë¤Î¤Ç¤¹¤Í¡£

¤È¤³¤í¤Ç¡¢¤¢¤Î¤ª¤«¤·¤ÊÊÑ¿ô̾¤òºî¤Ã¤Æ¤¤¤Æ»×¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢ÇòÀÐÀèÀ¸¤ËÄ󰯤¬¤¢¤ê¤Þ¤¹¡£
JIS¥³¡¼¥É¤Ç¥®¥ê¥·¥ãʸ»ú¤è¤ê¸å¤í¤«¤é´Á»ú¤ÎÁ°¤Þ¤Ç¤ò¡¢¼±ÊÌ̾¤«¤é½ü³°¤·¤Æ¤Ï¤¤¤«¤¬¤Ç¤·¤ç¤¦¤«¡£
¥í¥·¥¢Ê¸»ú¤òÆÉ¤á¤ë¿Í¤Ï¾¯¤Ê¤¤¤Ç¤·¤ç¤¦¤·¡¢·ÓÀþÁÇÊÒ¤¬¼±ÊÌ̾¤Ë¤Õ¤µ¤ï¤·¤¤¤È¤â»×¤¨¤Þ¤»¤ó¡£´Ä¶­°Í¸ʸ»ú¤Î»ÈÍѲóÈò¤Ë¤â¤Ê¤ê¤Þ¤¹¡£
JISµ¬³Ê¤È¤Î¤«¤Í¤¢¤¤¤â¤¢¤ë¤Ç¤·¤ç¤¦¤¬¡¢¤´¸¡Æ¤¤ò¤ª´ê¤¤¤·¤Þ¤¹¡£¡Êº¹¤·½Ð¤¬¤Þ¤·¤¯¿½¤·Ìõ¤¢¤ê¤Þ¤»¤ó¡Ë
 

Re: ¡ÈÆÈ¼«¤Î³ÈÄ¥¡É

 Åê¹Æ¼Ô¡§ÇòÀС¡ÏÂÉ×  Åê¹ÆÆü¡§2009ǯ 1·î 6Æü(²Ð)10»þ04ʬ15ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.231[¸µµ­»ö¤Ø]

¸ø³«¤¹¤ë¥×¥í¥°¥é¥à¤Ï¡¤²Äǽ¤Ê¸Â¤ê¡¤
http://hp.vector.co.jp/authors/VA008683/QA1.htm
¤Ë¼¨¤¹¥¬¥¤¥É¥é¥¤¥ó¤Ë¤·¤¿¤¬¤Ã¤Æ¤¯¤À¤µ¤¤¡£
ÆÈ¼«³ÈÄ¥µ¡Ç½¤Ï¡¤Â¾¤ËÂåÂØ¼êÃʤ¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ë¤«¤®¤êÍѤ¤¤ë¤Î¤¬Â縶§¤Ç¤¹¡£
¤¿¤È¤¨¤Ð¡¤´Á»ú¤Ê¤É¤Î¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¤ò¼±ÊÌ̾¤ËÍѤ¤¤ë¤³¤È¤Ï¡¤ÂåÂØ¼êÃʤ¬Â¸ºß¤¹¤ë¤Î¤Ç¡¤¿ä¾©¤·¤Þ¤»¤ó¡£
¡Ê³°¹ñ¿Í¤¬¸«¤¿¤éÉáÄ̤δÁ»ú¤Ç¤âÊѤƤ³¤Êʸ»ú¤Ç¤¹¡Ë
 

Re: ¡ÈÆÈ¼«¤Î³ÈÄ¥¡É

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2009ǯ 1·î 6Æü(²Ð)18»þ57ʬ16ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.232[¸µµ­»ö¤Ø]

ÇòÀС¡ÏÂÉפµ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

ÁᮤΤ´²óÅú¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
¸Ä¿Í¤ÇÍøÍѤ¹¤ë°Ê³°¤Ç¤Ï¡¢³ÈÄ¥µ¡Ç½¤Ï»ÈÍѤ·¤Æ¤Ï¤¤¤±¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤¹¤Í¡£
´Á»ú»ÈÍѤϤȤ⤫¤¯¡¢³ÈÄ¥µ¡Ç½¤ÏÊØÍø¤Ê¤À¤±¤Ë¸¶Â§¤ò¼é¤ë¤Î¤Ï¤Ê¤«¤Ê¤«¸·¤·¤¤¤Ç¤¹¤¬¡Ä¡£
 

Knight's Tour¡Ê¥Ê¥¤¥È¡¦¥Ä¥¢¡¼¡Ë

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2009ǯ 1·î 7Æü(¿å)16»þ10ʬ5ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  !
!¡¡Knight's Tour¡Ê¥Ê¥¤¥È¡¦¥Ä¥¢¡¼¡Ë
!
!¡¡Ãí°Õ¡ª½ÐȯÅÀ¤ËÌá¤ë·ÐÏ© Closed Tour ¤Î¤ß¤Ë¡¢¸ÂÄꤷ¤Æ·×»»¡£¢ÎOpen Tour
!
!¡¡KNIGHTGR.UB
!¡¡Original Version¡¡¡¡1990/10/01 by unknown
!¡¡Modified Version¡¡¡¡1997/04/10 by Aiichi Yamasaki
!¡¡Modified Version¡¡¡¡2009/01/06 uBASIC ¤«¤é¡¢½½¿ÊBasic ¤Ø°Ü¿¢¡£
!--------------------
OPTION BASE 0
SET TEXT background "OPAQUE"
SET POINT STYLE 4
!
LET DF=0 !¡¡0:Ä̾1:õº÷²áÄø¤Îstep¡¡2:õº÷´°Î»Ëè¤Îstep //debug
LET Xw=6 !8 !¡¡Èפβ£¶Ò
LET Yw=6 !8 !¡¡ÈפνĶÒ
!-----
! Schwenk's Theorem
! For any m ¡ß n board with m less than or equal to n,
! a closed knight's tour is always possible
! unless one or more of these three conditions are true:
!£±¡Ëm and n are both odd
!£²¡Ëm = 1, 2, or 4; m and n are not both 1
!£³¡Ëm = 3 and n = 4, 6, or 8
!
LET m= MIN(Xw,Yw)
LET n= MAX(Xw,Yw)
!
IF MOD(m,2)=1 AND MOD(n,2)=1 THEN CALL outer
IF (m=1 OR m=2 OR m=4) AND (m<>1 OR n<>1) THEN CALL outer
IF m=3 AND (n=4 OR n=6 OR n=8) THEN CALL outer

SUB outer
   beep
   PRINT "Xw=";Xw;"Yw=";Yw;" ¡Ä No Closed Tour."
   STOP
END SUB

!-----
LET D0=INT(192/MAX(MAX(Xw,Yw),8)) !¡¡ÈפΣ±ÌÜÉý
SET WINDOW -55/D0, 445/D0, 370/D0,-130/D0
PLOT TEXT,AT 0,-50/D0:"Knight's Tour"
LET Xct= 0
LET Yct= -30/D0 !¡¡count--time ¤Î°ÌÃÖ
CALL guide( 205/D0, 10/D0) ! x,y
!-----init
DIM P_(-2 TO Yw+1,-2 TO Xw+1), E_(-2 TO Yw+1,-2 TO Xw+1), I_(Xw*Yw), DX_(7), DY_(7)
MAT READ DX_,DY_
DATA  2, 1,-1,-2,-2,-1, 1, 2
DATA  1, 2, 2, 1,-1,-2,-2,-1
!-----
IF DF<>0 THEN MAT PRINT USING REPEAT$("## ",8): DX_ ! //debug
IF DF<>0 THEN MAT PRINT USING REPEAT$("## ",8): DY_ ! //debug
!-----init P_
MAT P_=CON
FOR y=0 TO Yw-1
   FOR x=0 TO Xw-1
      LET P_(y,x)=0
   NEXT x
NEXT y
!-----init E_
MAT E_=20*CON
FOR y=0 TO Yw-1
   FOR x=0 TO Xw-1
      LET E_(y,x)=0
   NEXT x
NEXT y
FOR y=0 TO Yw-1
   FOR x=0 TO Xw-1
      LET c=8
      FOR i=0 TO 7
         LET c=c-P_(y+DY_(i),x+DX_(i))
      NEXT i
      LET E_(y,x)=c
   NEXT x
NEXT y
!-----
IF DF<>0 THEN MAT PRINT USING REPEAT$(" ##",Xw+4) :P_ ! //debug
IF DF<>0 THEN MAT PRINT USING REPEAT$(" ##",Xw+4) :E_ ! //debug
!-----
LET sp=0 !¡¡0~(Xw*Yw-1) ³¬ÁذÌÃ֡ʺƵ¢·¿¤ÎStackPointer¤ËÁêÅö¡Ë
LET xx=0 !¡¡³«»ÏÃÏÅÀ
LET yy=0 !¡¡(0,0)
LET I_(sp)=-1 !¡¡Á´³¬ÁؤÎÊý¸þ¥«¥¦¥ó¥¿¡¼
LET Count=0
LET t0=TIME
IF DF<>0 THEN CALL PUTL(xx,yy,0,0,2) ! //debug
DO
   LET I_(sp)=I_(sp)+1
   LET ii=I_(sp)
   IF 7< ii THEN
      CALL BACK !¡¡£±ÁØÌ᤹¡£
   ELSE
      IF P_(yy+DY_(ii),xx+DX_(ii))=0 THEN !¡¡½ÅÊ£¸¡ºº¡£
         IF DF<>0 THEN CALL PUTL(xx,yy,DX_(ii),DY_(ii),2) ! //debug
         LET xx=xx+DX_(ii)
         LET yy=yy+DY_(ii)
         LET P_(yy,xx)=1
         !-----dec E_
         LET E_(yy,xx)= E_(yy,xx)+10
         FOR i=0 TO 7
            LET E_(yy+DY_(i),xx+DX_(i))= E_(yy+DY_(i),xx+DX_(i))-1
         NEXT i
         IF DF<>0 THEN CALL DISP_E ! õº÷²áÄø¤ÎÇÛÎó E_ ¥â¥Ë¥¿¡¼ //debug
         !-----¡¡£±Áؿʤá¤ë¡£
         LET sp=sp+1
         LET I_(sp)=-1
         IF sp=Xw*Yw THEN
            CALL FIN !¡¡£±·ÐÏ©¤Î´°À®¡£
            CALL BACK !¡¡£±ÁØÌ᤹¡£
         ELSEIF fnCHECK(xx,yy)<>0 THEN !¡¡¼¡¤Î½ÅÊ£¸¡ººÁ°¤Î¡¢Í½¸«¸¡ºº¡£
            CALL BACK !¡¡£±ÁØÌ᤹¡£
         END IF
      END IF
   END IF
LOOP

SUB BACK
   LET P_(yy,xx)=0
   !-----inc E_
   LET E_(yy,xx)= E_(yy,xx)-10
   FOR i=0 TO 7
      LET E_(yy+DY_(i),xx+DX_(i))= E_(yy+DY_(i),xx+DX_(i))+1
   NEXT i
   !-----
   LET sp=sp-1
   IF sp=0 THEN STOP !¡¡½ªÎ»¡¢Count¡§£±ÇÜ
   !IF sp< 0 THEN STOP !¡¡½ªÎ»¡¢Count¡§£²Çܡʳ«»ÏÅÀ¤â²óž¡¢µ¢Ï©¤Þ¤ÇÊÌ·ÐÏ©¤Ë¤Ê¤ë¡Ë
   LET ii=I_(sp)
   LET xx=xx-DX_(ii)
   LET yy=yy-DY_(ii)
   IF DF<>0 THEN CALL PUTL(xx,yy,DX_(ii),DY_(ii),0) ! //debug
END SUB

FUNCTION fnCHECK(x,y) !¡¡Í½¸«¸¡ºº¡£
   LET c=0
   IF sp< Xw*Yw-1 THEN
      LET fnCHECK=1 !¡¡µ¢¤ê¤Î°ú¿ô¡á£±
      IF ABS(I_(1)-I_(0))=4 THEN EXIT FUNCTION !return(1)
      FOR i=0 TO 7
         IF E_(y+DY_(i),x+DX_(i))< 2 THEN
            IF E_(y+DY_(i),x+DX_(i))=0 THEN EXIT FUNCTION !return(1)
            LET c=c-1
         END IF
      NEXT i
      IF c< -1 THEN
         IF sp<>1 THEN EXIT FUNCTION !return(1)
      END IF
      FOR y=0 TO Yw-1
         FOR x=0 TO Xw-1
            IF E_(y,x)< 2 THEN
               IF E_(y,x)=0 THEN  EXIT FUNCTION !return(1)
               LET c=c+1
               IF c>1 THEN  EXIT FUNCTION !return(1)
            END IF
         NEXT x
      NEXT y
   END IF
   LET fnCHECK=0 !¡¡µ¢¤ê¤Î°ú¿ô¡á£°
END FUNCTION !return(0)

SUB PUTL(x,y,dx,dy,c)
   SET LINE COLOR c
   PLOT LINES: x,y; x+dx,y+dy
   PLOT POINTS: x+dx,y+dy
END SUB

SUB DISP_E
   PRINT
   MAT PRINT USING REPEAT$(" ##",Xw+4) :E_
   IF DF=1 THEN pause !¡¡//debug
END SUB

SUB FIN
!-----disp_A
   SET AREA COLOR 0
   PLOT AREA :0,0; Xw-1,0; Xw-1,Yw-1; 0,Yw-1
   LET x=0
   LET y=0
   CALL PUTL(x,y,0,0,2)
   FOR s=0 TO Xw*Yw-1
      CALL PUTL(x,y,DX_(I_(s)),DY_(I_(s)),2)
      LET x=x+DX_(I_(s))
      LET y=y+DY_(I_(s))
   NEXT s
   !-----disp cout--time
   LET Count=Count+1
   LET t1=INT(TIME-t0)
   IF t1< 0 THEN LET t1=t1+86400
   PLOT TEXT,AT Xct,Yct :"count= "& STR$(Count)& " ----- "&
&& USING$("%%",MOD(INT(t1/3600),24))& ":"&
&& USING$("%%",MOD(INT(t1/60),60))& ":"& USING$("%%",MOD(t1,60))
   IF DF=2 THEN pause !¡¡//debug
END SUB

!----------¥¬¥¤¥Éɽ¼¨-----
SUB guide(x,y)
   PLOT TEXT,AT x,y: "H V¡¡¡¡°ì½ä¤¹¤ë·ÐÏ©¤Î¿ô"
   PLOT TEXT,AT x,y +20/D0,USING "3x4: can't close¡¡¡¡### open »²¹Í": 2
   PLOT TEXT,AT x,y +40/D0,USING "5x5: can't close¡¡¡¡### open »²¹Í": 304
   PLOT TEXT,AT x,y +60/D0,USING "5x6: ##,###,###,###,### closed": 8
   PLOT TEXT,AT x,y +80/D0,USING "6x6: ##,###,###,###,### closed": 9862
   PLOT TEXT,AT x,y+100/D0,USING "8x8: ##,###,###,###,### closed": 26534728821064
   !
   PLOT TEXT,AT x,y+140/D0:"Knight ¤Î°Üưµ¬Â§"
   LET x=x+2
   LET y=y+160/D0+2
   SET LINE COLOR 2
   SET AREA COLOR 2
   LET j=SQR(5)
   FOR i=ATN(0.5) TO 2*PI STEP PI/2
      DRAW knight WITH ROTATE(i)*SHIFT(x,y)
      DRAW knight WITH ROTATE(-i)*SHIFT(x,y)
   NEXT i
   FOR j=-2 TO 2
      FOR i=-2 TO 2
         PLOT POINTS: x+i, y+j
      NEXT i
   NEXT j
END SUB

PICTURE knight
   PLOT LINES: 0,0; j,0
   PLOT AREA: j-0.4,-0.16; j,0; j-0.4,0.16; j-0.24,0
   PLOT POINTS: j,0
END PICTURE

END
 

Re: ¡ÈÆÈ¼«¤Î³ÈÄ¥¡É

 Åê¹Æ¼Ô¡§ÇòÀС¡ÏÂÉ×  Åê¹ÆÆü¡§2009ǯ 1·î 7Æü(¿å)16»þ59ʬ52ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.233[¸µµ­»ö¤Ø]

JIS¤ÎÈϰϳ°¤Îµ¡Ç½¤Ë¤Ä¤¤¤Æ¤Ï¡¤¾­Í衤Êѹ¹¤â¤¢¤ê¤¨¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¤¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¤Î¼±ÊÌ̾¤ò»È¤¨¤Ê¤¯¤¹¤ëÊѹ¹¤Î²ÄǽÀ­¤â¤¢¤ê¤Þ¤¹¡£
¡Ê¹ñºÝ²½¤Î´ÑÅÀ¤ò½Å»ë¤¹¤ì¤Ð¤½¤ÎÊý¸þ¤Ë¿Ê¤à¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¡Ë
¤Ê¤Î¤Ç¡¤µ¬³Ê³°¤Îµ¡Ç½¤Î»ÈÍѤϲÄǽ¤Ê¤«¤®¤êÈò¤±¤Æ¤¯¤À¤µ¤¤¡£
 

PAUSE ¥Ü¥¿¥ó

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2009ǯ 1·î 7Æü(¿å)17»þ15ʬ48ÉÃ
ÊÖ¿®¡¦°úÍÑ
  PAUSE ¤Î WINHANDLE(ʸ»úÎó¼°) ¤¬¡¢²ò¤ê¤Þ¤»¤ó¡£
Box °ÌÃÖ¤Î°ÜÆ°¤Ï¡¢¤É¤¦¤¹¤ì¤Ð¤è¤¤¤Ç¤·¤ç¤¦¤«¡£
 

Re: PAUSE ¥Ü¥¿¥ó

 Åê¹Æ¼Ô¡§ÇòÀС¡ÏÂÉ×  Åê¹ÆÆü¡§2009ǯ 1·î 7Æü(¿å)20»þ35ʬ51ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.236[¸µµ­»ö¤Ø]

PAUSE¤Î¥Õ¥©¡¼¥à¤Ï¾ïÃ󤷤ʤ¤¤Î¤Ç¡¤¥Ï¥ó¥É¥ë¤Î¼èÆÀ¤ÏÆñ¤·¤¤¤«¤È»×¤¤¤Þ¤¹¡£
¡ÊPAUSEʸ¤Î¤Ê¤«¤Ç¥¦¥£¥ó¥É¥¦¤ÎºîÀ®¤«¤é¾Ãµî¤Þ¤Ç¤Îưºî¤¬´°·ë¤·¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¡Ë
BASIC¤ÎÊ£¿ôµ¯Æ°¤ò¹Ô¤¦¤è¤¦¤Ê¤³¤È¤ò¤¹¤ì¤Ð¤Ç¤­¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¤°ìÈ̤ˤϡ¤
Win32API¤ò»È¤Ã¤ÆÆÈ¼«¤Î¥¦¥£¥ó¥É¥¦¤òºî¤ë¤Î¤¬½çÅö¤Ê²ò·èºö¤Î¤è¤¦¤Ë»×¤¤¤Þ¤¹¡£
 

Re: PAUSE ¥Ü¥¿¥ó

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2009ǯ 1·î 7Æü(¿å)21»þ03ʬ44ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.237[¸µµ­»ö¤Ø]

ÇòÀÐ ÀèÀ¸¤Ø

¡¡¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£
 

Re: ¡ÈÆÈ¼«¤Î³ÈÄ¥¡É

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2009ǯ 1·î 8Æü(ÌÚ)12»þ57ʬ40ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.233[¸µµ­»ö¤Ø]

ÇÛÎó¤Îź»ú¤ÎºÆÄêµÁ¤òJIS¤Îµ¬³ÊÆâ¤Ç¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£

JIS¤Ë½¾¤¦¤È¡¢ÇÛÎó¤ÎÀë¸À¤Çź»ú¤Ë¤Ï¿ôÃÍÄê¿ô¤·¤«»È¤¨¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
¤¢¤é¤«¤¸¤á¤¢¤ëÄøÅÙÂ礭¤¯ÇÛÎó¤òÀë¸À¤·¤Æ¤ª¤­¡¢MATʸ¤ÇÇÛÎó¤ÎÂ礭¤µ¤òÊѹ¹¤Ç¤­¤Þ¤¹¡£

DIM A(100),B(100),C(100)
LET m=3
LET n=8
MAT A=ZER(m)
MAT B=ZER(m*n)
MAT C=ZER(m TO n)

¤È¤³¤í¤¬MATʸ¤Ç¤Ïź»ú¤Î²¼¸Â¤òÊѹ¹¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤¿¤á¡¢C¤Î²¼¸Â¤Ï1,¾å¸Â¤Ï6(=n-m+1)¤Ë¤Ê¤ê¤Þ¤¹¡£
¥Ø¥ë¥×¤Ç¤Ï¡ØÅº»ú¤Î²¼¸Â¤òÊѤ¨¤¿¤¤¤È¤­¤Ï¡¤MAT READʸ¤«¡¤³ÈÄ¥µ¡Ç½¤ÎMAT REDIMʸ¤òÍѤ¤¤ë¡£¡Ù¤È¤¢¤ê¤Þ¤¹¡£
MAT READ C(m TO n) ¤È¤¹¤ì¤Ð¤è¤¤¤ï¤±¤Ç¤¹¤¬¡¢DATAʸ¤òÆÉ¤Þ¤»¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
MAT REDIM C(m TO n) ¤Ê¤é¤ÐÇÛÎóÍ×ÁǤϤ½¤Î¤Þ¤Þ¤Çź»ú¤Î²¼¸Â¤òÊѹ¹¤Ç¤­¤Þ¤¹¤¬JISµ¬³Ê³°¤Ç¤¹¡£

¼¡¤Î³°ÉôÉû¥×¥í¥°¥é¥à redim ¤Ï¡¢MAT REDIMʸ¤ÈƱÍͤε¡Ç½¤ò»ý¤Á¤Þ¤¹¡£

DECLARE EXTERNAL SUB redim
DIM A(100)
LET m=3
LET n=8
CALL redim(A,m,n)  ! MAT REDIM A(m TO n)¤ÈƱµÁ
PRINT LBOUND(A),UBOUND(A)
END
!
EXTERNAL SUB redim(p(),m,n) !ÇÛÎó¤Îź»ú¤Î¾å²¼¸Â¤òºÆÄêµÁ
WHEN EXCEPTION IN
   DIM q(10000)
   MAT q=p
   MAT READ p(m TO n)
   DATA 0
USE
END WHEN
FOR i=m TO n
   LET p(i)=q(LBOUND(q)+i-m)
NEXT i
END SUB
 

MAT REDIM¤ÎÂåÂØ

 Åê¹Æ¼Ô¡§ÇòÀС¡ÏÂÉ×  Åê¹ÆÆü¡§2009ǯ 1·î 8Æü(ÌÚ)18»þ35ʬ32ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.239[¸µµ­»ö¤Ø]

EXTERNAL SUB redim(p(),m,n) !ÇÛÎó¤Îź»ú¤Î¾å²¼¸Â¤òºÆÄêµÁ
DATA 0
MAT READ p(m TO m)
MAT p=ZER(m TO n)
END SUB
¤Ç¤¤¤±¤Þ¤¹¡£
 

£²½Å¿¶»Ò¥á¡¼¥¿¡¼ÉաʲòÀϤ·¤¿¤¤Êý¤Ø¡ËºÆÅê¹Æ

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2009ǯ 1·î10Æü(ÅÚ)02»þ54ʬ20ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  !£²½Å¿¶»Ò¥á¡¼¥¿¡¼ÉաʲòÀϤ·¤¿¤¤Êý¤Ø¡ËºÆÅê¹Æ

!£²½Å¿¶¤ê»ÒÆÃÍ­¤Î²¼¹ß¾×·â»þ¤Ë¡¢¤½¤ÎµÞÊѤ¹¤ë²áÄø¤¬¡¢
!±é»»¥Ô¥Ã¥Á¤Î´Ö¤ËÆþ¤Ã¤ÆÃ¦Í¡¢Á´¥¨¥Í¥ë¥®¡¼¤¬ÊÑÆ°¤¹¤ë·×»»¥¨¥é¡¼¤¬¸«¤é¤ì¤ë¡£
!±é»»¥Ô¥Ã¥Á¤¬¾®¤µ¤¤¤È¡¢´ËϤ¹¤ë¤¬¡¢Ä㮥ѥ½¥³¥ó¤Ç¤Ï¡¢ÉÁ²è¥Ô¥Ã¥Á¤¬È¼¤ï¤Ê¤¤¡£

!-----
LET g= 9.8 ! m/s^2¡¡½ÅÎϲîÅÙ
LET m1=.188 ! kg¡¡¤ª¤â¤ê
LET m2=.188 ! kg
LET L1= 5 !¡¡m¡¡ÄߤêËÀ
LET L2= 5 !¡¡m
LET r1=.75*SQR(m1) !¡¡¤ª¤â¤ê¤ÎÉÁ²è·Â
LET r2=.75*SQR(m2)
!
LET dt=0.05 !sec. ±é»»¥Ô¥Ã¥Á¡£¹â®µ¡ ¤Û¤É¡¢¾®¤µ¤¯¡£(0.05¤Ï¡¢Pentium3 500MHz)
!
!¢¨0.01¤¯¤é¤¤¤¬Ë¾¤Þ¤·¤¤¤¬¡¢ÉÁ²è¥Ô¥Ã¥Á(²èÌ̤Ëɽ¼¨)¤¬¡¢¤Ä¤¤¤ÆÍè¤ì¤Ê¤¯¤Ê¤Ã¤¿¤éÌ᤹¡£
!¡¡£²¤Ä¤Î¥Ô¥Ã¥Á¤¬¡¢¥º¥ì¤Æ¤¤¤ë¤ÈʪÍýŪ¤Ê®Å٤ǤϤʤ¯¤Ê¤ë¡£
!
!------------ £²½Å¿¶¤ê»Ò¤ÎÊýÄø¼°
! d(d¦È1)/dt^2=
! [ g*{sin¦È2*cos¦¤-¦Ì*sin¦È1}-{L2*(¦È2/dt)^2+L1*(¦È1/dt)^2*cos¦¤}*sin¦¤]
!¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡/[ L1*{¦Ì-cos¦¤^2}]
! d(d¦È2)/dt^2=
! [ g*¦Ì*{sin¦È1*cos¦¤-sin¦È2}+{¦Ì*L1*(¦È1/dt)^2+L2*(¦È2/dt)^2*cos¦¤}*sin¦¤]
!¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡/[ L2*{¦Ì-cos¦¤^2}]
!
! g= ½ÅÎϲîÅÙ¡¡¦Ì=(m1+m2)/m2¡¡¦¤=¦È1-¦È2
!
!---------- ¼°¤ÎÀ°Íý¡Ê¦È1¦È2 ¶¦¤Ë¡¢½ÅÎÏÊý¸þ£°¤«¤é¤Îº¸²ó¤ê³Ñ¡Ë
LET ¦Ì2=m2/(m1+m2)
LET L21=L2/L1
!
!ss1=-g/L1*sin¦È1 -¦Ì2*L21*¦Ø2^2*sin¦¤
!ss2=-g/L2*sin¦È2 +¡¡¡¡¡¡¡¡¦Ø1^2*sin¦¤/L21
!D=1-¦Ì2*COS¦¤^2
!d(¦È1)/dt=¦Ø1
!d(¦È2)/dt=¦Ø2
!d(¦Ø1)/dt=[¡¡¡¡¡¡¡¡¡¡¡¡ss1 - L21*¦Ì2*cos¦¤*ss2 ] /D
!d(¦Ø2)/dt=[ -cos¦¤/L21*ss1 + ¡¡¡¡¡¡¡¡¡¡¡¡¡¡ss2 ] /D
!
!---------- ÈùʬÊýÄø¼°¤Î¤Þ¤Þ¡¢¥ë¥ó¥²¡¦¥¯¥Ã¥¿Ë¡¤ÇÉÁ²è¡£
LET ¦È1=PI*0.8 ! ½é´ü³ÑÅÙ
LET ¦È2=PI*0.8
LET w1=0 !¡¡½é´ü³Ñ®ÅÙ
LET w2=0
!
DEF ss1(w2,¦È1,¦È2)=-g/L1*SIN(¦È1) -¦Ì2*L21*w2^2*SIN(¦È1-¦È2)
DEF ss2(w1,¦È1,¦È2)=-g/L2*SIN(¦È2) +        w1^2*SIN(¦È1-¦È2)/L21
DEF D(¦È1,¦È2)=1-¦Ì2*COS(¦È1-¦È2)^2
!
DEF ¦Á1(w1,w2,¦È1,¦È2)=( ss1(w2,¦È1,¦È2) -L21*¦Ì2*COS(¦È1-¦È2)*ss2(w1,¦È1,¦È2) )/D(¦È1,¦È2)
DEF ¦Á2(w1,w2,¦È1,¦È2)=(-ss1(w2,¦È1,¦È2)*COS(¦È1-¦È2)/L21     +ss2(w1,¦È1,¦È2) )/D(¦È1,¦È2)

SUB RungeKutta
   LET w11=w1
   LET w12=w2
   LET ¦Á11=¦Á1(w1,w2,¦È1,¦È2)
   LET ¦Á12=¦Á2(w1,w2,¦È1,¦È2)
   !
   LET w21=w1+¦Á11*dt/2
   LET w22=w2+¦Á12*dt/2
   LET ¦Á21=¦Á1(w21,w22,¦È1+w11*dt/2,¦È2+w12*dt/2)
   LET ¦Á22=¦Á2(w21,w22,¦È1+w11*dt/2,¦È2+w12*dt/2)
   !
   LET w31=w1+¦Á21*dt/2
   LET w32=w2+¦Á22*dt/2
   LET ¦Á31=¦Á1(w31,w32,¦È1+w21*dt/2,¦È2+w22*dt/2)
   LET ¦Á32=¦Á2(w31,w32,¦È1+w21*dt/2,¦È2+w22*dt/2)
   !
   LET w41=w1+¦Á31*dt
   LET w42=w2+¦Á32*dt
   LET ¦Á41=¦Á1(w41,w42,¦È1+w31*dt,¦È2+w32*dt)
   LET ¦Á42=¦Á2(w41,w42,¦È1+w31*dt,¦È2+w32*dt)
   !
   LET ¦È1=¦È1+(w11+2*w21+2*w31+w41)*dt/6
   LET ¦È2=¦È2+(w12+2*w22+2*w32+w42)*dt/6
   LET w1=w1+(¦Á11+2*¦Á21+2*¦Á31+¦Á41)*dt/6
   LET w2=w2+(¦Á12+2*¦Á22+2*¦Á32+¦Á42)*dt/6
END SUB

!----¥¨¥Í¥ë¥®¡¼¡¦¥á¡¼¥¿¡¼
DEF ep1=m1*g*(L1-L1*COS(¦È1)) !°ÌÃÖ£±
DEF em1=(L1*w1)^2*m1/2 !±¿Æ°£±
DEF ep2=m2*g*( (L1-L1*COS(¦È1)+L2)-L2*COS(¦È2) ) !°ÌÃÖ£²
DEF em2=( (L1*w1)^2+(L2*w2)^2-2*L1*w1*L2*w2*COS(PI+¦È1-¦È2) )*m2/2 !±¿Æ°£²
!
!----run
LET w=13
SET WINDOW -w,w,-w,w
SET COLOR MIX(15) .5,.5,.5
SET TEXT background "OPAQUE"
LET t0=TIME
DO
   LET t=TIME
   IF dt=<ABS(t-t0) THEN
      SET DRAW mode hidden
      CLEAR
      DRAW grid(5,5)
      PLOT TEXT,AT -w*0.92,w*0.9:"¤ª¤â¤ê¤Î¥¨¥Í¥ë¥®¡¼[J]"
      PLOT TEXT,AT -w*0.92,w*0.83:"°ÌÃÖ£±¡¡±¿Æ°£±¡¡ °ÌÃÖ£²¡¡±¿Æ°£²"
      PLOT TEXT,AT -w*0.96,w*0.76,USING"##.#### ##.####¡¡##.#### ##.####":ep1,em1,ep2,em2
      PLOT TEXT,AT -w*0.86,w*0.69,USING"##.####¡¡¡¡¡¡¡¡¡¡##.####":ep1+em1,ep2+em2
      PLOT TEXT,AT -w*0.62,w*0.62,USING"##.####":ep1+em1+ep2+em2
      PLOT TEXT,AT w*0.25,w*0.9:"¥Þ¥¦¥¹ ±¦¥Ü¥¿¥ó¤Ç¡¢½ªÎ»¡£"
      PLOT TEXT,AT w*0.4,w*0.76,USING"±é»»¥Ô¥Ã¥Á=#.### ÉÃ":dt
      PLOT TEXT,AT w*0.4,w*0.69,USING"ÉÁ²è¥Ô¥Ã¥Á=#.### ÉÃ":t-t0
      LET t0=t
      DRAW Pendulum0 WITH ROTATE(¦È1)
      CALL RungeKutta !¡¡¼¡¤Î¦È1,¦È2 ¤Ø¹¹¿·
      SET DRAW mode explicit
      !stop
   END IF
   WAIT DELAY 0 !¡¡¾ÊÅÅÎϸú²Ì
   MOUSE POLL mx,my,mlb,mrb
LOOP UNTIL mrb=1

PICTURE Pendulum0
   DRAW circle WITH SCALE(0.2)
   DRAW Pendulum1(L1,r1,"1")
   DRAW Pendulum1(L2,r2,"2") WITH ROTATE(¦È2-¦È1)*SHIFT(0,-L1)
END PICTURE

PICTURE Pendulum1(L,r,w$)
   PLOT LINES: 0,0;0,-L
   DRAW disk WITH SCALE(r)*SHIFT(0,-L)
   PLOT TEXT,AT r, r-L:w$
END PICTURE

END
 

¥»¥ó¥¿¡¼»î¸³ÄøÅÙ¤Î¥×¥í¥°¥é¥à±é½¬

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2009ǯ 1·î15Æü(ÌÚ)10»þ44ʬ57ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ľÀþ¾å¤Î¿ìÊâÌäÂê
¡¡¥³¥¤¥ó¤òÅꤲ¤Æ¡¢É½¤¬½Ð¤¿¤é¡Ü£±¡¢Î¢¤Ê¤é¡Ý£±¤È¿ôľÀþ¾å¤òư¤¯¡£

¡ü¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤Ë¤è¤ë²òË¡¡Ê¥â¥ó¥Æ¥«¥ë¥íË¡¡Ë
RANDOMIZE

LET N=6 !¥³¥¤¥ó¤òÅꤲ¤ë²ó¿ô

DIM s(-N TO N) !ÅÀx¤ËÌá¤ë²ó¿ô
MAT s=ZER

LET iter=50000 !»î¹Ô²ó¿ô
FOR i=1 TO iter

   LET x=0 !¸¶ÅÀ
   FOR k=1 TO N !¥³¥¤¥ó¤òÅꤲ¤ë
      IF RND<0.5 THEN LET x=x+1 ELSE LET x=x-1 !ɽ¤Ê¤é¡Ü£±¡¢Î¢¤Ê¤é¡Ý£±
   NEXT k
   LET s(x)=s(x)+1 !·ë²Ì

NEXT i

FOR i=-N TO N !ÅÀx¤ËÌá¤ë³ÎΨ
   PRINT i;s(i)/iter
NEXT i
PRINT

FOR i=-N TO N !¾ì¹ç¤Î¿ô
   PRINT USING "###: ###.##": i,s(i)/s(N) !x=N¤ò£±¤È¤¹¤ë
NEXT i

END


¡üÍýÏÀÃͤλ»½Ð

¥³¥¤¥ó¤ò£î²óÅꤲ¤Æ¡¢£ë²óɽ¤¬½Ð¤¿¤¹¤ë¡£
°ÌÃÖx=1*k+(-1)*(n-k)=2*k-n¤È¤Ê¤ë¡£³ÎΨ¤Ï¡¢n£Ãk(1/2)^k*(1-1/2)^(n-k)¡£

¤¿¤È¤¨¤Ð¡¢n=6¤Ç¸¶ÅÀ¤Î¾ì¹ç¡¢0=2*k-n¤è¤ê¡¢k=3¡£
LET x=0 !¸¶ÅÀ

LET k=(x+N)/2 !À°¿ô²ò¤¬¤¢¤ì¤Ð
IF k=INT(k) THEN
   PRINT k; comb(N,k)*(1/2)^k*(1-1/2)^(N-k)
ELSE
   PRINT "Åþ㤷¤Þ¤»¤ó¡£"
END IF

END


Åꤲ¤ë²ó¿ô¤´¤È¤Î¡Ö¾ì¹ç¤Î¿ô¡×¤Î°ìÍ÷ɽ¤Ï¡¢¥Ñ¥¹¥«¥ë¤Î»°³Ñ·Á¤ò¤Ä¤¯¤ì¤Ð¤è¤¤¡£
!¥Ñ¥¹¥«¥ë¤Î»°³Ñ·Á

LET N=10 !¥³¥¤¥ó¤òÅꤲ¤ë²ó¿ô

LET a=1 !¥Ñ¥¹¥«¥ë¤Î»°³Ñ·Á
LET b=0
LET c=1

DIM P(-N TO N) !¿ôľÀþ¾å¤Î³ÆÅÀ
MAT P=ZER
LET P(0)=1 !¸¶ÅÀ¤Ë°ÌÃÖÉÕ¤±¤ë

FOR i=-N TO N !ÌÜÀ¹¤ê
   PRINT USING " ####": i;
NEXT i
PRINT
FOR i=-N TO N !¿ôľÀþ
   PRINT "----+";
NEXT i
PRINT

FOR i=0 TO N !»ØÄê²ó¿ô

   MAT PRINT USING(REPEAT$(" ####",2*N+1)): P; !¸½¾õ
   PRINT USING " ### ²ó¤Î¾ì¹ç": i

   LET T1=0 !º¸¡¡¢¨º¸Ã¼
   LET T2=P(-N) !Ãæ±û
   FOR x=-N TO N !º¸¤«¤é±¦¤ØÁöºº¤¹¤ë
      IF x+1>N THEN LET T3=0 ELSE LET T3=P(x+1) !±¦

      LET P(x)=a*T1+b*T2+c*T3

      LET T1=T2 !¼¡¤Ø
      LET T2=T3
   NEXT x

NEXT i

END
 

comb´Ø¿ô¤ÎÉÔ¶ñ¹ç

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2009ǯ 1·î16Æü(¶â)10»þ42ʬ29ÉÃ
ÊÖ¿®¡¦°úÍÑ
  Í­Íý¿ô¥â¡¼¥É¤Ç£±¤È¤Ê¤ë¡£

PRINT comb(3,6) !3C6
PRINT comb(3,-4)
END
 

Re: comb´Ø¿ô¤ÎÉÔ¶ñ¹ç

 Åê¹Æ¼Ô¡§ÇòÀС¡ÏÂÉ×  Åê¹ÆÆü¡§2009ǯ 1·î16Æü(¶â)18»þ12ʬ34ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.244[¸µµ­»ö¤Ø]

¤´Êó¹ð¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
½¤Àµ¤·¤Þ¤¹¡£

> Í­Íý¿ô¥â¡¼¥É¤Ç£±¤È¤Ê¤ë¡£
>
> PRINT comb(3,6) !3C6
> PRINT comb(3,-4)
> END
 

Re: ¥»¥ó¥¿¡¼»î¸³ÄøÅÙ¤Î¥×¥í¥°¥é¥à±é½¬

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2009ǯ 1·î17Æü(ÅÚ)13»þ27ʬ49ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.243[¸µµ­»ö¤Ø]

ºîɽ¤Èɽ¤Î·×»»¡¢¿ôÎó¤ÎÀ¸À®
¡¦£²¼¡¸µÇÛÎó¤ò»È¤ï¤º¡¢½ç¼¡µá¤á¤ë

!¶å¶åɽ¡Ê¾è»»É½¡Ë¤È¡Á¿ô

!£±¤ÎÃÊ¡¡¡Ý¡¡¼«Á³¿ô
!£²¤ÎÃÊ¡¡¡Ý¡¡¶ö¿ô
!³ÆÃÊ¡¡¡Ý¡¡ÇÜ¿ô


LET N=9 !¢¨½ñ¼°¡ÊPRINT USING¡Ë¤Î·å¤òÄ´À°¤¹¤ì¤ÐÊѹ¹²Äǽ

DIM A(0 TO 2*N) !¿ôÎó An
DIM S(0 TO 2*N) !¿ôÎó Sn


!¡üÊ¿Êý¿ô¡Ê»Í³Ñ¿ô¡Ë¡¡n^2
MAT A=ZER
PRINT

FOR i=1 TO N
   FOR j=1 TO N
      LET t=i*j !¾è»»

      IF i=j THEN !ÂгÑÀþ¾å¤Ê¤é
         PRINT USING "(####)": t;
         LET A(i)=t
      ELSE
         PRINT USING " #### ": t;
      END IF

   NEXT j
   PRINT
NEXT i
PRINT


!»Í³Ñ¿í¿ô¡ÊÊ¿Êý¿ô¤ÎÏ¡ËSquare Pyramid Numbers
!¡¡¦²[k=1,n]k^2
! =1^2 + 2^2 + 3^2 + ¡Ä + (n-1)^2 + n^2
! =n*(n+1)*(2*n+1)/6
MAT S=ZER

FOR i=1 TO N
   LET S(i)=S(i-1)+A(i) !Ï¡¡¢¨A()¤Ï¾åµ­¤ÎÊ¿Êý¿ô
NEXT i
FOR i=1 TO N !¡Á¿ô¤òɽ¼¨¤¹¤ë
   PRINT S(i);
NEXT i
PRINT
PRINT


!´ñ¿ô¤ÎÏ¡¡1 + 3 + 5 + ¡Ä + (2*n-3) + (2*n-1)
!¡¡¦²[k=1,n](2*k-1)
! =n^2
MAT S=ZER

FOR i=1 TO N
   LET S(i)=A(i)-A(i-1) !³¬º¹¡¡¢¨A()¤Ï¾åµ­¤ÎÊ¿Êý¿ô
NEXT i
FOR i=1 TO N !¡Á¿ô¤òɽ¼¨¤¹¤ë
   PRINT S(i);
NEXT i
PRINT
PRINT



!¡ü»ÍÌÌÂοô¡Ê»°³Ñ¿ô¤ÎÏ¡¢»°³Ñ¿í¿ô tetrahedral number¡Ë
!¡¡¦²[k=1,n]k*(n-k+1)
! =1*n+2*(n-1)+3*(n-2)+ ¡Ä +(n-1)*2+n*1
! =n*(n+1)*(n+2)/6
MAT A=ZER
PRINT

FOR i=1 TO N
   FOR j=1 TO N
      LET t=i*j !¾è»»

      LET A(i+j-1)=A(i+j-1)+t !±¦¼Ð¤á¡Ê¡¿¡Ë¤Ë²Ã»»¤¹¤ë
      PRINT USING "####": t;

   NEXT j
   PRINT
   IF i<N THEN PRINT "¡¡";REPEAT$("¡¡¡¿",N-1) !¹Ô´Ö
NEXT i
PRINT

FOR i=1 TO N !¡Á¿ô¤òɽ¼¨¤¹¤ë
   PRINT A(i);
NEXT i
PRINT
PRINT



!¡üΩÊý¿ô¡¡n^3
MAT A=ZER
PRINT

FOR i=1 TO N
   FOR j=1 TO N
      LET t=i*j !¾è»»

      IF i<j THEN !£Ì»ú¤Ë²Ã»»¤¹¤ë
         LET A(j)=A(j)+t
         PRINT USING "¨¢####": t;
      ELSE
         LET A(i)=A(i)+t
         PRINT USING "¡¡####": t;
      END IF

   NEXT j
   PRINT "¨¢" !¹ÔËö
   PRINT REPEAT$("¨¡¨¡¨¡",i);"¨¥";REPEAT$("¡¡¡¡¨¢",N-i) !¹Ô´Ö
NEXT i
PRINT

FOR i=1 TO N !¡Á¿ô¤òɽ¼¨¤¹¤ë
   PRINT A(i);
NEXT i
PRINT
PRINT



!ΩÊý¿ô¤ÎÏÂ
!¡¡¦²[k=1,n]k^3=(n*(n+1)/2)^2¤ÎƳ½Ð
!¡¡1*¦²[k=1,n]k + 2*¦²[k=1,n]k + 3*¦²[k=1,n]k + ¡Ä + (n-1)*¦²[k=1,n]k + n*¦²[k=1,n]k
! =(1+2+ ¡Ä +(n-1)+n)*¦²[k=1,n]k
! =(¦²[k=1,n]k)^2
PRINT

FOR i=1 TO N
   FOR j=1 TO N
      LET t=i*j !¾è»»
      PRINT USING " ####": t;
   NEXT j
   PRINT "¡¡¢«£±ÃÊÌܤÎ";i;"ÇÜ"
NEXT i
PRINT

MAT S=ZER
FOR i=1 TO N
   LET S(i)=S(i-1)+A(i) !¢¨A()¤Ï¾åµ­¤ÎΩÊý¿ô
NEXT i
FOR i=1 TO N !¡Á¿ô¤òɽ¼¨¤¹¤ë
   PRINT S(i);
NEXT i
PRINT
PRINT


END
 

°ì¸Ä¤Î¿À·ÐºÙ˦(neuro)

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2009ǯ 1·î18Æü(Æü)10»þ37ʬ30ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  !
! °ì¸Ä¤Î¿À·ÐºÙ˦(neuro)
! ¤½¤Î ¥«¥ª¥¹(chaos)¤ò¡¢Ãµ¤·¡¢¸«¤ë¡¢¥Ä¡¼¥ë
!
!----------------------------
!¡¡"Neuro12"
!
!¡¡2009.1.18
!----------------------------
OPTION ARITHMETIC NATIVE
OPTION BASE 0
SET TEXT background "OPAQUE"
SET POINT STYLE 1
SET AREA COLOR 0
LET DLY=50
DIM St(1,DLY) ,Sy(2000), B4(0,500)
!
LET Kr=0.5
LET Af=1
LET Ei=-70
LET Ss=0.31 !¡¡Ss=(Kr-1)(theta-s(t))¡¡¡Äs(t)=0
LET theta=Ss/(Kr-1)

DEF Ri(Yi,Ss)=Kr*Yi-Af/(1+EXP(Ei*Yi))+Ss

PLOT TEXT,AT .04,.96:"*** Neuro Cell"
PLOT TEXT,AT .04,.92:"Right Click to Stop"
PLOT TEXT,AT .04,.89:"Left  Click & Drag '|' Line"
!
!-----
LET Y0=Af/100
LET Af2=Af
DO
   LET Af=Af2
   CALL ma200_
   ! ma100_
   !----- clear
   SET WINDOW -Af*2.07-Af*1.06,Af*2.07-Af*1.06,-Af*2.07-Af*1.05,Af*2.07-Af*1.05
   PLOT AREA: -Af,-Af;Af,-Af;Af,Af;-Af,Af
   !----- box outline
   SET LINE COLOR "blue"
   PLOT LINES: -Af,-Af; Af,-Af; Af,Af; -Af,Af; -Af,-Af
   !-----
   PLOT TEXT,AT Af*.03,Af*.85: "+Af Y(t+1)"
   PLOT TEXT,AT -Af*.97,Af*0.13: "Y(t)"
   PLOT TEXT,AT -Af*.97, 0: "-Af"
   PLOT TEXT,AT Af*.8, 0: "+Af"
   PLOT TEXT,AT Af*.03,-Af*.98: "-Af"
   !----- Sy(w)=Y(t)
   LET imax=pixelx(Af)-pixelx(-Af)
   LET dA1=(Af+Af)/imax
   FOR i=0 TO imax
      LET Sy(i)=Ri(-Af+i*dA1, Ss)
   NEXT i
   !-----
   DO
      LET Y1=Ri(Y0,Ss)
      !----- erase old signal
      LET W0=St(0,t)
      LET W1=St(1,t)
      FOR i=0 TO DLY-1
         IF W0=St(0,i) AND W1=St(1,i) AND t<>i THEN EXIT FOR
      NEXT i
      IF DLY=i THEN
         SET LINE COLOR 0
         PLOT LINES: W0,W0; W0,W1;
         PLOT LINES: W1,W1
      END IF
      !----- axis
      SET LINE COLOR "cyan" ! axis_Y(t)¡Ä ¡½
      PLOT LINES: -Af,0; Af,0
      SET LINE COLOR "magenta" ! axis_Y(t+1)¡Ä¡Ã
      PLOT LINES: 0,-Af; 0,Af
      !----- draw curve Y(t)
      SET LINE COLOR 1
      FOR i=0 TO imax
         PLOT LINES: -Af+i*dA1, Sy(i);
      NEXT i
      PLOT LINES
      !----- signal
      SET LINE COLOR "cyan" ! input_Y(t)¡Ä¡Ã
      PLOT LINES: Y0,Y0; Y0,Y1;
      SET LINE COLOR "magenta" ! output_Y(t+1)¡Ä ¡½
      PLOT LINES: Y1,Y1
      !-----
      LET St(0,t)=Y0
      LET St(1,t)=Y1
      LET t=MOD(t+1,DLY)
      LET Y0=Y1
      !-----
      WAIT DELAY .02
      MOUSE POLL x,y,mlb,mrb
   LOOP UNTIL mlb=1 OR mrb=1
   !
   !----- cursor input
   IF mlb=1 THEN
      SET WINDOW -0.1*Af,Af, -Af*2.1+Af*1.08,Af*2.1+Af*1.08
      DO
         MOUSE POLL x,y,mlb,mrb
         IF 0<=x AND x<=Af THEN
            IF y< Af THEN
               IF bx4<>pixelx(x) THEN
                  LET Ss=x
                  LET theta=Ss/(Kr-1)
                  CALL cursor4( bx4,B4)
               END IF
            ELSEIF x< Af*.43 THEN
               IF y< Af*1.4 THEN
               ELSEIF y< Af*1.7 THEN
                  IF bx3<>pixelx(x) THEN
                     LET Ei=x*120/(Af*.43)-120
                     CALL cursor13( bx3, 1.7, 1.4)
                  END IF
               ELSEIF y< Af*2.1 THEN
                  IF bx2<>pixelx(x) THEN
                     LET Kr=x*1/(Af*.43)
                     LET theta=Ss/(Kr-1)
                     CALL cursor13( bx2, 2.1, 1.8)
                  END IF
               ELSEIF y< Af*2.5 THEN
                  IF bx1<>pixelx(x) THEN
                     LET Af2=x*2/(Af*.43)+0.5
                     MAT St=ZER
                     LET Y0=Af/100
                     CALL cursor13( bx1, 2.5, 2.2)
                  END IF
               END IF
            END IF
         END IF
         WAIT DELAY .05
      LOOP UNTIL mlb=0
   END IF
LOOP UNTIL mrb=1

SUB cursor4( bx,B(,))
   MAT PLOT CELLS, IN worldx(bx),Af; worldx(bx),-Af: B
   LET bx=pixelx(x)
   ASK PIXEL ARRAY (x,Af) B
   SET LINE COLOR "red"
   PLOT LINES: x,-Af; x,Af
   PLOT TEXT,AT 0,Af,USING "Kr=#.### :Af=#.### :Ei=####.# :Ss=#.### :theta=####.###": Kr, Af, Ei, Ss, theta
END SUB

SUB cursor13( bx, uy,ly)
   SET LINE COLOR 0
   PLOT LINES: worldx(bx),Af*uy-dAy; worldx(bx),Af*ly+dAy
   LET bx=pixelx(x)
   SET LINE COLOR "red"
   PLOT LINES: x,Af*uy-dAy; x,Af*ly+dAy
   PLOT TEXT,AT 0,Af,USING "Kr=#.### :Af=#.### :Ei=####.# :Ss=#.### :theta=####.###": Kr, Af2, Ei, Ss, theta
END SUB

SUB ma200_
!----- clear
   SET WINDOW -0.1*Af,Af, -Af*2.1+Af*1.08,Af*2.1+Af*1.08
   PLOT AREA: 0,-Af;Af,-Af;Af,Af;0,Af
   !----- box outline
   SET LINE COLOR "blue"
   PLOT LINES: 0,-Af; Af,-Af; Af,Af; 0,Af; 0,-Af
   PLOT LINES: 0,0; Af,0
   !-----
   PLOT TEXT,AT -.06*Af,.9*Af : "+Af"
   PLOT TEXT,AT -.07*Af,-.05*Af : "Y(t)"
   PLOT TEXT,AT -.06*Af,-Af : "-Af"
   PLOT TEXT,AT Af*.5,-Af*.98: "0 <--- Ss ---> +Af"
   !-----
   LET dA2=Af/(pixelx(Af)-pixelx(0))
   LET dAy=Af/(pixely(Af)-pixely(0))
   LET Yt=0 ! Y(t)
   FOR j=0 TO Af STEP dA2 ! j= Ss= (Kr-1)*theta
      FOR i=0 TO 99
         LET Yt=Ri(Yt,j)
         PLOT POINTS: j,Yt
      NEXT i
   NEXT j
   !----- setup cursor Ss
   LET x=Ss
   ASK PIXEL SIZE (x,Af;x,-Af) i,j
   MAT B4=ZER(0,j-1)
   ASK PIXEL ARRAY (x,Af) B4
   LET bx4=pixelx(x)
   CALL cursor4( bx4, B4)
   !-----
   LET x=(Ei+120)*Af*.43/120 !// Ei=x*120/(Af*.43)-120
   LET bx3=pixelx(x)
   CALL cursor130( bx3, 1.7, 1.4, "Ei")
   LET x=Kr*Af*.43 !// Kr=x*1/(Af*.43)
   LET bx2=pixelx(x)
   CALL cursor130( bx2, 2.1, 1.8, "Kr")
   LET x=(Af-0.5)*Af*.43/2 !// Af2=x*2/(Af*.43)+0.5
   LET bx1=pixelx(x)
   CALL cursor130( bx1, 2.5, 2.2, "Af")
END SUB

SUB cursor130( bx, uy, ly, w$)
   PLOT TEXT,AT -.06*Af,Af*(uy-0.2): w$
   SET LINE COLOR "blue"
   PLOT LINES: 0,Af*uy; Af*.43,Af*uy; Af*.43,Af*ly; 0,Af*ly; 0,Af*uy
   CALL cursor13( bx, uy, ly)
END SUB

END
 

ɺή¤¹¤ë¥Ë¥å¡¼¥é¥ë¡¦¥Í¥Ã¥È

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2009ǯ 1·î18Æü(Æü)11»þ12ʬ0ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  !
!¡¡ÉºÎ®¤¹¤ë¥Ë¥å¡¼¥é¥ë¡¦¥Í¥Ã¥È¡Ê¹¹¿·¡ËºÆÅê¹Æ
!
!----
OPTION ARITHMETIC NATIVE
OPTION BASE 0
SET WINDOW -10,10, 20,0
SET TEXT background "OPAQUE"
!
DIM E(99),R(99),theta(99),F(99)
DIM Y(99),X(99),NetWork(99,99)
DIM P_(1 TO 5, 99),Px(99)
DIM Sum(1 TO 5)
MAT READ P_
! 1)
DATA 1,1,0,0,0,0,0,0,1,1
DATA 1,1,1,0,0,0,0,1,1,1
DATA 0,1,1,1,0,0,1,1,1,0
DATA 0,0,1,1,1,1,1,1,0,0
DATA 0,0,0,1,1,1,0,0,0,0
DATA 0,0,0,0,1,1,1,0,0,0
DATA 0,0,1,1,1,1,1,1,0,0
DATA 0,1,1,1,0,0,1,1,1,0
DATA 1,1,1,0,0,0,0,1,1,1
DATA 1,1,0,0,0,0,0,0,1,1
! 2)
DATA 0,0,0,0,0,1,0,0,0,0
DATA 0,0,0,0,1,1,1,0,0,0
DATA 0,0,0,0,1,1,1,0,0,0
DATA 0,0,0,1,1,1,1,1,0,0
DATA 0,0,0,1,1,0,1,1,0,0
DATA 0,0,1,1,1,0,1,1,1,0
DATA 0,0,1,1,0,0,0,1,1,0
DATA 0,1,1,1,0,0,0,1,1,1
DATA 0,1,1,1,1,1,1,1,1,1
DATA 0,1,1,1,1,1,1,1,1,1
! 3)
DATA 0,0,1,1,1,0,0,0,1,1
DATA 0,1,1,1,1,1,1,1,1,1
DATA 1,1,1,0,1,1,1,1,0,0
DATA 1,1,0,0,0,1,1,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,1,1,0,0,0,1,1
DATA 0,0,1,1,1,1,0,1,1,1
DATA 1,1,1,1,1,1,1,1,1,0
DATA 1,1,0,0,0,1,1,1,0,0
DATA 0,0,0,0,0,0,0,0,0,0
! 4)
DATA 0,0,1,0,0,0,0,1,0,0
DATA 0,0,1,1,0,0,1,1,0,0
DATA 0,0,1,1,1,1,1,1,0,0
DATA 0,0,1,1,1,1,1,1,0,0
DATA 0,0,1,1,1,1,1,1,0,0
DATA 0,1,1,1,1,1,1,1,1,0
DATA 1,1,1,1,1,1,1,1,1,1
DATA 0,0,0,1,1,1,1,0,0,0
DATA 0,0,0,0,1,1,1,0,0,0
DATA 0,0,0,0,0,1,0,0,0,0
! 5)
DATA 0,0,0,0,1,1,0,0,0,0
DATA 0,1,1,0,1,1,0,1,1,0
DATA 0,1,0,0,1,1,0,0,1,0
DATA 0,0,0,0,1,1,0,0,0,0
DATA 1,1,1,1,1,1,1,1,1,1
DATA 1,1,1,1,1,1,1,1,1,1
DATA 0,0,0,0,1,1,0,0,0,0
DATA 0,1,1,0,1,1,0,1,1,0
DATA 0,1,1,0,1,1,0,1,1,0
DATA 0,0,0,0,1,1,0,0,0,0

!----- ½é´üÃÍ¥µ¥ó¥×¥ë£±¡Ê´¶¤Çõ¤¹¤Î¤Ï̵Íý¤«¤â¡£¡Ë
! MAT theta=(-1.27)*CON
! LET Af=1.6
! LET Kr=0.92
! LET Kf=0.4
! LET Ei=-10
!
!----- ½é´üÃÍ¥µ¥ó¥×¥ë£²
MAT theta=ZER !¡¡¥Ë¥å¡¼¥í¥óÉÔ±þ¤Î¸ÇÄêÀ®Ê¬ (¤·¤­¤¤ÃÍ)
LET Af=1 !¡¡¥Ë¥å¡¼¥í¥ó¼«¿È¤Î´¶ÅÙ¤òÉÔ±þ¤Ë¤¹¤ëÉéÀ­¤Î¼«¸Êµ¢´Ô·ë¹ç·¸¿ô ¤È¡¢
LET Kr=0.95 !¡¡¤½¤Î¸º¿êÄê¿ô(0< ,< 1)
LET Kf=0.4 !¡¡¥Ë¥å¡¼¥í¥ó¤¬¡¢Â¾¤Î¥Ë¥å¡¼¥í¥ó¤«¤é¼õ¤±¤ëÁê¸ß·ë¹ç¤Î¸º¿êÄê¿ô(0< ,< 1)
LET Ei=-100 !¡¡£²ÃͲ½´Ø¿ô¡¢S»ú·Á sigmoid() ¤ÎÆþÎÏ·¸¿ô
!
!----- °ú¤­¶â¤È¤Ê¤ëÁê¸ß·ë¹ç¤Î»É·ã¤ÎºîÀ®¡Ê̵¿®¹æ¤«¤é¤ÎÎ嵯¤Ï¤Ç¤­¤Ê¤¤¡£¡Ë
RANDOMIZE !15 !6
DO
   LET j=0
   FOR i=0 TO 99
      LET F(i)=RND-0.5
      LET j=j+F(i)
   NEXT i
LOOP UNTIL ABS(j)< .002
!
!----- ´Ä¶­¤Î½àÈ÷
SET LINE COLOR 2
FOR n_=1 TO 5
   LET w=0
   !----- ¥µ¥ó¥×¥ë¡¦¥Ñ¥¿¡¼¥ó¤Îɽ¼¨
   FOR j=0 TO 9
      FOR i=0 TO 9
         IF P_(n_,j*10+i)>0 THEN
            DRAW circle WITH SCALE(0.03)*SHIFT(i*.08-9, j*.08+n_+.9)
            LET w=w+1
         END IF
      NEXT i
   NEXT j
   PLOT TEXT,AT -6,n_+1.5:"Dots/Body="&STR$(w)&"/100"
   PLOT TEXT,AT -8,n_+1.5:":"&STR$(Sum(n_))
   LET DC=w/100 ! Ê¿¶ÑÃÍ¡ÊľήÀ®Ê¬¡Ë
   !-----
   !¡¡£µ¤Ä¤Î¥Ñ¥¿¡¼¥ó¤ÎÊ¿¶ÑÃͤ«¤é¤ÎÊк¹¡Ê¸òήÀ®Ê¬¡Ë¤ò¡¢
   !¡¡£±¤Ä¤Î¹ÔÎó NetWork(,) ¤ÎÃæ¤Ë¡¢Ëä¤á¹þ¤à¡£Áê¸ß·ë¹ç·¸¿ô¤Î¹ÔÎó ºîÀ®¡£
   !
   !¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡   5¡¡(p) ¡²¡¡ (p) ¡²
   !¡¡¶¦Ê¬»¶¹ÔÎó¤ÎºîÀ® ¦Øij=¦²(¦Öi-¦Ö)*(¦Öj-¦Ö)¡¡¡¡¡Ä»²¾È¡£
   !¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡p=1
   !-----

   FOR i=0 TO 99
      FOR j=0 TO 99
         LET NetWork(i,j)=NetWork(i,j)+(P_(n_,i)-DC)*(P_(n_,j)-DC)
      NEXT j
   NEXT i
NEXT n_
!-----
!¡¡£µ¤Ä¤¬¡¢¼«¸Ê¤Î¶¦Ê¬»¶¤Î·Á¤Ç¹ç»»¤µ¤ì¡¢£±¤Ä¤Ê¤Ã¤¿¹ÔÎó NetWork(,) ¤Ç¡¢
!¡¡£±£°£°¸Ä¤Î¥Ë¥å¡¼¥í¥ó¤òÀܳ¤·¡¢ÉºÎ®¤µ¤»¤ë¤È¡¦¡¦¡¦
!
!¡¡¡Ê ¼þ´ü¤Î̵¤¤·×»»¤Ç¤¹¤¬¡¢±é»»·å¤ÎÀ©¸Â¤Ë¤è¤ë´Ý¤á¤Î¤¿¤á¤Ë¡¢¼þ´üŪ
!¡¡¡¡¡¡Æ°ºî¤ØÍî¤Á¤Æ¤¤¤Þ¤¹¡¦¡¦Ä¹¡¹¤È¡¢ÉºÃ夷¤Ê¤¤¤È¤­¤Ï¡¢Run ¤·¤Ê¤ª¤¹¡£¡Ë
!
!-----
PLOT TEXT,AT -9, 1:"ɺή¤¹¤ë¥Ë¥å¡¼¥é¥ë¡¦¥Í¥Ã¥È"
PLOT TEXT,AT -9, 9:"±¦¥¯¥ê¥Ã¥¯¤Ç ½ªÎ»"
PLOT TEXT,AT -9,10:"º¸¥¯¥ê¥Ã¥¯ STOP/START"
SET LINE COLOR 1
DO
   DO
      LET T=T+1
      PLOT TEXT,AT -9,8:"t="&STR$(T)
      CALL DispX
      CALL Compare
      CALL Xi00
      MOUSE POLL mx,my,mlb,mrb
      WAIT DELAY 0
   LOOP UNTIL mlb=1 OR mrb=1
   !----- left click stop/start
   IF mlb=1 THEN
      DO
         WAIT DELAY 0.02
         MOUSE POLL mx,my,mlb,mrb
      LOOP UNTIL mlb=0
      DO
         WAIT DELAY 0.02
         MOUSE POLL mx,my,mlb,mrb
      LOOP UNTIL mlb=1 OR mrb=1
      WAIT DELAY 0.1
   END IF
   !----- right click stop end.
LOOP UNTIL mrb=1

!----- ³Æ¥Ë¥å¡¼¥í¥ó0~99 ¤Î¶îư
SUB Xi00
   FOR i=0 TO 99
      LET w=0
      FOR j=0 TO 99
         LET w=w+NetWork(i,j)*X(j)
      NEXT j
      LET F(i)=Kf*F(i)+w
      LET R(i)=Kr*(R(i)+theta(i))-Af*X(i)-theta(i)
      LET Y(i)=R(i)+F(i)
   NEXT i
   FOR i=0 TO 99
      IF Ei*Y(i)< 709 THEN !¡¡·å¤¢¤Õ¤ìËÉ»ß
         LET X(i)=1/(1+EXP(Ei*Y(i)))
      ELSE
         LET X(i)=1/(1+EXP(709))
      END IF
   NEXT i
END SUB

!----- ³Æ¥Ë¥å¡¼¥í¥ó¤Î½ÐÎÏ X(0~99) ȯ²Ð¤Î¡¢²èÌÌɽ¼¨¡£
SUB DispX
   SET DRAW mode hidden
   SET AREA COLOR 0
   PLOT AREA:-10,10; 0,10; 0,0; 10,0; 10,20;-10,20
   SET AREA COLOR 2 !¡¡//fire
   FOR V=0 TO 9
      FOR H=0 TO 9
         LET i=V*10+H
         IF 0.5=< X(i) THEN
            PLOT AREA: H,V; H+1,V; H+1,V+1; H,V+1
            LET Px(i)=1
            SET COLOR MIX(0) 0,1,1 ! B.G.color cyan( text)
         ELSE
            PLOT LINES: H,V; H,V+1; H+1,V+1
            LET Px(i)=0
            SET COLOR MIX(0) 1,1,1 ! B.G.color 0
         END IF
         !----- ¥Ë¥å¡¼¥í¥ó¤ÎÆâÉô(-~0~+) 0=< ¤Ïȯ²Ð
         PLOT TEXT,AT H*2-10, V*0.8+12, USING"###.###":Y(i)
      NEXT H
   NEXT V
   SET COLOR MIX(0) 1,1,1 ! B.G.color 0
   SET DRAW mode explicit
END SUB

!----- À¸À®¥Ñ¥¿¡¼¥ó¤ÎʬÊÌ ·×¿ô¤Î¡¢²èÌÌɽ¼¨¡£
SUB Compare
   FOR n_=1 TO 5
      FOR i=0 TO 99
         IF P_(n_,i)<>Px(i) THEN EXIT FOR
      NEXT i
      IF 99< i THEN
      !¡¡----- °ìÃ×
         LET PC_=10 !¡¡//timer ON 1st.to 2nd.Cursor
         IF PB_=n_ THEN EXIT SUB
         IF PN_>0 THEN PLOT TEXT,AT -8, PN_+1.5: ":"& STR$(Sum(PN_))& " " !¡¡//old 1st.2nd.Cursor OFF
         LET PB_=n_ !¡¡//flag 2nd.Cursor
         LET PN_=n_ !¡¡//flag 1st.Cursor
         LET Sum(n_)=Sum(n_)+1 !¡¡·×¿ô
         SET COLOR MIX(0) 0,1,1 !¡¡//new 1st.Cursor ON (B.G.color)
         PLOT label,AT -8, n_+1.5: ":"& STR$(Sum(n_))& " "
         SET COLOR MIX(0) 1,1,1
         beep
         EXIT SUB
         !-----
      END IF
   NEXT n_
   !¡¡----- ÉÔ°ìÃ×
   IF PB_=0 THEN EXIT SUB
   IF PC_>1 THEN
      LET PC_=PC_-1
      EXIT SUB
   END IF
   SET COLOR MIX(0) .75,.75,.75 !¡¡//new 2nd.Cursor ON (B.G.color)
   PLOT TEXT,AT -8, PB_+1.5: ":"& STR$(Sum(PB_))& " "
   SET COLOR MIX(0) 1,1,1
   LET PB_=0
END SUB

END
 

º£Ç¯¤Î¥»¥ó¥¿¡¼»î¸³BASIC

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2009ǯ 1·î20Æü(²Ð)10»þ36ʬ8ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¡üÌäÂê¤È¥×¥í¥°¥é¥à

p,q¤Ï°Û¤Ê¤ë¼«Á³¿ô¤È¤¹¤ë¡£
Í¿¤¨¤é¤ì¤¿¼«Á³¿ôk¤Ë¤Ä¤¤¤Æ¡¢d°Ê²¼¤Î¼«Á³¿ôk¤Î¤¦¤Á¤Ç
¡¡k=m*p+n*q¡¢m,n¤Ï£°°Ê¾å¤ÎÀ°¿ô
¤Çɽ¤¹¤³¤È¤¬¤Ç¤­¤ë¤â¤Î¤ò¾®¤µ¤¤½ç¤ËÎóµó¤¹¤ë¡£

Îã. p=3,q=7,d=15¤Î¤È¤­¡¢ 3  6  7  9  10  12  13  14  15   Áí¿ô= 9
Îã. p=3,q=7,d=100¤Î¤È¤­¡¢Áí¿ô= 94¡£


100 INPUT PROMPT "p=": P
110 INPUT PROMPT "q=": Q
120 INPUT PROMPT "d=": D
130 LET U=0
140 FOR K=1 TO D !d°Ê²¼¤Î¼«Á³¿ôk¤Î¤¦¤Á¤Ç
150    IF K-INT(K/P)*P=0 THEN GOTO 210 !k¤¬p¤ÎÇÜ¿ô¤Î¾ì¹ç¡Êk=m*p+0¡Ë¡¡¢¨MOD(K,P)=0
160    FOR M=0 TO INT(K/P) !£°¤«¤éP¤Ç³ä¤Ã¤¿¾¦¤Þ¤Ç¡¡¢èk=m*p+r
170       LET R=K-M*P !k-m*p=n*q
180       IF R-INT(R/Q)*Q=0 THEN GOTO 210 !r¤¬q¤ÎÇÜ¿ô¤Î¾ì¹ç¡¡¢¨MOD(R,Q)=0
190    NEXT M
200    GOTO 230 !³ºÅö¤Ê¤·¡£¼¡¤Ø
210    PRINT K !¾ò·ï¤òËþ¤¿¤¹
220    LET U=U+1
230 NEXT K
240 PRINT "Áí¿ô="; U
250 END



¡üP=3,Q=7,D=100¤Ç¤ÎÁí¿ô¤òµá¤á¤ëÌäÂê¤Î²òË¡¤Ë¤Ä¤¤¤Æ
¡¡¥È¥ì¡¼¥¹¤¹¤ë¤Ë¤Ï¼ê½ç¤¬Â¿¤¹¤®¤ë¡£À¤³¦¤Î¥Ê¥Ù¥¢¥Ä¤Ç¤Ï¤Ê¤¤¤¬¡¢¤Û¤È¤ó¤É¥¢¥Û¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£

¤½¤³¤Ç¡¢¡¦¡¦¡¦

¡¦³ÈÄ¥¥æ¡¼¥¯¥ê¥Ã¥É¤Î¸ß½üË¡¡¡m*3+n*7=gcd(3,7)=1=k¡¡¤è¤ê
¡¡À°¿ôÁÈ(m,n)¤Ç¡¢k¤ÎÇÜ¿ô¤òɽ¤¹¤³¤È¤¬¤Ç¤­¤ë¡£¡Ê°ì°Õ¤Ç¤Ï¤Ê¤¤¡Ë

¤³¤ì¤è¤ê
¡¡ÌäÂêʸ¤Ë¥Ò¥ó¥È¤¬¤¢¤ë¡£
¡¡1¡Á3*7=21¤Þ¤Ç¤ÎÀ°¿ô¤¬É½¸½¤Ç¤­¤ë¤«³Îǧ¤¹¤ë¡£¡¡1,2,4,5,8,11¤¬ÌµÍý¡£


¡¦¡Ö£³¤ÎÇÜ¿ô¤È£·¤ÎÇÜ¿ô¤È¤ÎÏ¡פÎÀþ·ÁÀ­¤Ï¡¢¡Öº¸¼Ð¤á¡×¤Ë¤Ê¤ë¡£¡Ê7=2*3+1¤º¤Ä¤º¤ì¤ë¡Ë

¡¡½Ä¡§£³¤ÎÇÜ¿ô¡¢²£¡§£·¤ÎÇÜ¿ô
   0   7  14  21  28  35  42  49  56  63  70  77  84
   3  10  17  24  31  38  45  52  59  66  73  80  87
   6  13  20  27  34  41  48  55  62  69  76  83  90
   9  16  23  30  37  44  51  58  65  72  79  86  93
  12  19  26  33  40  47  54  61  68  75  82  89  96
  15  22  29  36  43  50  57  64  71  78  85  92  99
  18  25  32  39  46  53  60  67  74  81  88  95 102
  21  28  35  42  49  56  63  70  77  84  91  98 105
  24  31  38  45  52  59  66  73  80  87  94 101 108
  27  34  41  48  55  62  69  76  83  90  97 104 111
  30  37  44  51  58  65  72  79  86  93 100 107 114
  33  40  47  54  61  68  75  82  89  96 103 110 117
  36  43  50  57  64  71  78  85  92  99 106 113 120
  39  46  53  60  67  74  81  88  95 102 109 116 123
  42  49  56  63  70  77  84  91  98 105 112 119 126
  45  52  59  66  73  80  87  94 101 108 115 122 129

¤³¤ì¤è¤ê
¡¡°ìÌÜÎÆÁ³¡ª¡©


¡¦¡¦¡¦¤È¹Í¤¨¤Æ¤ß¤¿¡£
 

Re: º£Ç¯¤Î¥»¥ó¥¿¡¼»î¸³BASIC

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2009ǯ 1·î21Æü(¿å)11»þ08ʬ47ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.249[¸µµ­»ö¤Ø]

¡ü210¹ÔÌܤǡ¢¾ò·ï¤òËþ¤¿¤¹M¤ÈN¤òɽ¼¨¤¹¤ë¤è¤¦¤Ë²þÎɤ·¤Æ¤ß¤¿¡£

¡¦150¹ÔÌܤòºï½ü
¡¦210¹ÔÌܤËM,N¤Î·×»»¤òÄɲÃ

100 INPUT PROMPT "p=": P
110 INPUT PROMPT "q=": Q
120 INPUT PROMPT "d=": D
130 LET U=0
140 FOR K=1 TO D !d°Ê²¼¤Î¼«Á³¿ôk¤Î¤¦¤Á¤Ç
150    !
160    FOR M=0 TO INT(K/P) !£°¤«¤éK¤òP¤Ç³ä¤Ã¤¿¾¦¤Þ¤Ç
170       LET R=K-M*P !k-m*p=n*q
180       IF R-INT(R/Q)*Q=0 THEN GOTO 210 !r¤¬q¤ÎÇÜ¿ô¤Î¾ì¹ç¡¡¢¨MOD(R,Q)=0
190    NEXT M
200    GOTO 230 !³ºÅö¤Ê¤·¡£¼¡¤Ø
210    PRINT K; M;INT(R/Q) !¾ò·ï¤òËþ¤¿¤¹M,N¡¡¢¨
220    LET U=U+1
230 NEXT K
240 PRINT "Áí¿ô="; U
250 END


¡ö¥¢¥ë¥´¥ê¥º¥à¤Î¿ô³ØÅªÇØ·Ê
ÉÔÄêÊýÄø¼° k=m*p+n*q ¤Ï¡¢k-m*p=n*q ¤ÈÊÑ·Á¤µ¤ì¤ë¡£
¹çƱ¼°¤Çɽ¤¹¤È¡¢k-m*p¢á0 mod q ¤È¤Ê¤ë¡£

m ¤Ï£°°Ê¾å¤ÎÀ°¿ô¡¢p ¤Ï¼«Á³¿ô¤è¤ê¡¢m*p¡æ0 ¤È¤Ê¤ë¡£¡¡Æ±Íͤˡ¢n*q¡æ0¡£
¤Þ¤¿¡¢n*q=k-m*p¡æ0 ¤è¤ê¡¢k¡æm*p ¤È¤Ê¤ë¡£
¤·¤¿¤¬¤Ã¤Æ²ò¤¬¤¢¤ì¤Ð¡¢m¤Ï0¡ÁINT(K/P)¤Ç¸«¤Ä¤«¤ë¡£



¡ü(m,n)¤ÎÁȤϰìÄ̤ê¤Ç¤Ê¤¤¡£¤½¤ÎÁȤòÄ´¤Ù¤ë¡£

¡¦180¹ÔÌܤòÊѹ¹¤ÈÄɲáÊ210,220¹ÔÌÜ¡Ë
¡¦150,200,210,220¹ÔÌܤòºï½ü

100 INPUT PROMPT "p=": P
110 INPUT PROMPT "q=": Q
120 INPUT PROMPT "d=": D
130 LET U=0
140 FOR K=1 TO D !d°Ê²¼¤Î¼«Á³¿ôk¤Î¤¦¤Á¤Ç
150    !
160    FOR M=0 TO INT(K/P) !£°¤«¤éK¤òP¤Ç³ä¤Ã¤¿¾¦¤Þ¤Ç
170       LET R=K-M*P !k-m*p=n*q
180       IF R-INT(R/Q)*Q=0 THEN !r¤¬q¤ÎÇÜ¿ô¤Î¾ì¹ç¡¡¢¨MOD(R,Q)=0
             PRINT K; M;INT(R/Q) !¾ò·ï¤òËþ¤¿¤¹M,N
             LET U=U+1
          END IF
190    NEXT M
200    !
210    !
220    !
230 NEXT K
240 PRINT "Áí¿ô="; U !¢¨°ÕÌ£¤¬ÊѤï¤ë
250 END
 

letʸ¤ÎÊÑ¿ô̾ʤÓ

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2009ǯ 1·î25Æü(Æü)00»þ25ʬ45ÉÃ
ÊÖ¿®¡¦°úÍÑ
  JIS¤Ë¤è¤ë¤È¡¢letʸ¤Ë¤Ï¼¡¤Î¤è¤¦¤Ê¹½Ê¸¤¬¤¢¤ê¤Þ¤¹¡£¤ß¤Ê¤µ¤ó¤´Â¸¤¸¤Ç¤·¤¿¤«¡£

10 DIM M(8)
20 LET a,b,c=5
30 PRINT a;b;c
40 LET a,b,c,M(b)=b+2
50 PRINT a;b;c
60 MAT PRINT M;
70 LET m$,n$="xyz"
80 PRINT m$,n$
90 END
 

³ÊǼ¤Ç¤­¤ë¡¡¥Þ¥È¥ê¥Ã¥¯¥¹

 Åê¹Æ¼Ô¡§Í¿ºä¡¡¡¡¾ºÊ¿  Åê¹ÆÆü¡§2009ǯ 1·î26Æü(·î)10»þ22ʬ43ÉÃ
ÊÖ¿®¡¦°úÍÑ
  º£Æü¤Ï
full  basic  ¤Ç¡¡¡¡Í­¸ÂÍ×ÁÇË¡¤Î¡¡¹½Â¤²òÀÏ¥½¥Õ¥È¤ò¡¡¡¡³«È¯¤·¤Æ¤¤¤Þ¤¹
C++¡¡¤Ç¤â¡¡¤·¤Æ¤¤¤Þ¤¹¤¬
full  basic  ¤Ï¡¡¡¡¥°¥é¥Ò¥Ã¥¯¤¬¡¡¡¡´Êñ¤Ç¡¡¡¡£ã++¡¡¤è¤ê¡¡¡¡ÊØÍø¤Ç¤¹
¤·¤«¤·
»þ´Ö¤¬¡¡¡¡¤«¤«¤ê¤Þ¤¹

²òÀϲÄǽÍ×ÁÇ¿ô¤Ï
£³GRAM¡¡¡¡¤Ç

full  basic  £¶£°£°£°¡¡Í×ÁÇ
C++¡¡¡¡¡¡¡¡¡¡£±£²£°£°£°¡¡Í×ÁǤǤ¹


¹½Â¤²òÀϤǤϡ¡¡¡Í×ÁÇ¿ô¡¡¡¡£¶£°£°£°Í×ÁǤǤÏ
ÉÔ­¤Ç¤¹
²òÀϲÄǽÍ×ÁÇ¿ô¡¡¡¡¤Ä¤Þ¤ê
³ÊǼ²Äǽ¥Þ¥È¥ê¥Ä¥¯¥¹¿ô¤ò¡¡¡¡Áý¤ä¤¹¤Ë¤Ï
¤É¤¦¤¹¤ì¤Ð¤¤¤¤¤Ç¤·¤ç¤¦¤«¡¡¡©¡©¡©

¤Þ¤¿
full  basic  ¤Ï
£¶£´bit¡¡¤Ë¡¡¡¡Âбþ¡¡¡¡¤·¤Æ¤¤¤Þ¤¹¤«

À§Èó
¶µ¤¨¤Æ²¼¤µ¤¤

¤è¤í¤·¤¯
 

Re: ³ÊǼ¤Ç¤­¤ë¡¡¥Þ¥È¥ê¥Ã¥¯¥¹

 Åê¹Æ¼Ô¡§ÇòÀС¡ÏÂÉ×  Åê¹ÆÆü¡§2009ǯ 1·î26Æü(·î)17»þ40ʬ30ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.252[¸µµ­»ö¤Ø]

Full BASICµ¬³Ê¤Ë¤Ï¡¤À°¿ô·¿¤Î³µÇ°¤¬¤¢¤ê¤Þ¤»¤ó¡£
µ¬³Ê¤ÎÈϰϤǤϡ¤32¥Ó¥Ã¥È¤ÎÊÑ¿ô¤â64¥Ó¥Ã¥È¤ÎÊÑ¿ô¤â»È¤¨¤Þ¤»¤ó¡£
¤Þ¤¿¡¤Full BASIC¤Ë¤Ï¡¤ÇÛÎó¤ÎÂ礭¤µ¤Ë´Ø¤¹¤ëµ¬Ä꤬¤¢¤ê¤Þ¤»¤ó¡£
µ¬³Ê¾å¤Ï¡¤
DECLARE NUMERIC m(0 TO 10000000)
¤Î¤è¤¦¤ÊµðÂç¤ÊÇÛÎó¤ÎÀë¸À¤âµö¤µ¤ì¤Þ¤¹¡£
(²¾¾Î)½½¿ÊBASIC¤Ï¥á¥â¥ê¤Î»ÈÍѸúΨ¤¬¤è¤¯¤Ê¤¤¤Î¤Ç¡¤
True BASIC¤ò»î¤·¤Æ¤ß¤ë¤È¤è¤¤¤«¤âÃΤì¤Þ¤»¤ó¡£

(²¾¾Î)½½¿ÊBASIC¤Î¸½ºß¤Î¥Ð¡¼¥¸¥ç¥ó¤Î¤Ê¤«¤ÇºÇŬ²½¤ò¿Þ¤ê¤¿¤¤¤Î¤Ç¤¢¤ì¤Ð¡¤
¥Ø¥ë¥×¤Î¸À¸ì»ÈÍѤξܺ٤κǸå¤Î¥Ú¡¼¥¸¡ÖÀ©¸Â¡×¤Ë½ñ¤¤¤Æ¤¢¤ë

¡ú ÊÑ¿ôÍÑ´ÉÍýÍѲ¾ÁÛ¥á¥â¥ê¡¼
Ä̾ÊÑ¿ô´ÉÍýÍѤ˳ä¤êÅö¤Æ¤ë²¾ÁÛ¥á¥â¥ê¡¼¤Ï¡¤¼ÂÁõʪÍý¥á¥â¥êÍÆÎ̤«¤é16M¥Ð¥¤¥È¤ò¸º¤¸¤¿Ã͡ʤ¿¤À¤·¡¤ºÇ¾®1M¥Ð¥¤¥È,ºÇÂç512M¥Ð¥¤¥È¡Ë¤ò¾å¸Â¤È¤¹¤ë¡£
¤Ê¤ª¡¤BASIC.INI¤Ë¥­¡¼¤òÄɲ乤뤳¤È¤ÇľÀÜ»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

¤ò»²¾È¤·¤Æ¡¤BASIC.INI¤ò½ñ¤­´¹¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¤Ê¤ª¡¤Win32¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¢¥É¥ì¥¹¶õ´Ö¤Ï2GB¤Ç¡¤¤½¤Î°ìÉô¤ËÊÑ¿ô´ÉÍýÍÑ¥á¥â¥ê¤ò³ä¤êÅö¤Æ¤ë¤Î¤Ç¡¤2048M¥Ð¥¤¥È°Ê¾å¤ò»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¤·¡¤2048MB¤è¤ê¾®¤µ¤¯¤Æ¤â2048MB¤Ë¶á¤¤¿ôÃͤò»ØÄꤹ¤ë¤ÈBASICËÜÂΤ¬Àµ¾ï¤Ëưºî¤·¤Þ¤»¤ó¡£
¤Ê¤ª¡¤2¿Ê¥â¡¼¥É¤Î¾ì¹ç¡¤ÇÛÎó¤ÏÊÑ¿ô´ÉÍý´ÉÍýÍÑ¥á¥â¥ê¤ò¤Û¤È¤ó¤É¾ÃÈñ¤·¤Ê¤¤¤Î¤Ç¡¤ÊÑ¿ô´ÉÍýÍÑ¥á¥â¥ê¤Î³ä¤êÅö¤Æ¤ò¸º¤é¤¹¤Û¤¦¤¬¸ú²ÌŪ¤Ê²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£

¡ÊÃí¡ËBASIC.INI¤ò»È¤¤¤¿¤¤¤È¤­¤Ï¡¤¥¢¡¼¥«¥¤¥ÖÈǤò¥À¥¦¥ó¥í¡¼¥É¤·Å¸³«¤·¤¿¤â¤Î¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£
¡Ê¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¥ì¥¸¥¹¥È¥ê¤ÎÅö³º¹àÌܤò½¤Àµ¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡Ë

¡Ê»²¾È¡Ëµì·Ç¼¨ÈIJáµî¥í¥°
http://www.geocities.jp/thinking_math_education/log/22/koctpp/index.html
 

¤¹¤ß¤Þ¤»¤óÊÔ½¸¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤·¤¿¡Ê¬Î̺Ǿ®Æó¾èË¡¤Ë¤Ä¤¤¤Æ¡Ë

 Åê¹Æ¼Ô¡§kikiriri  Åê¹ÆÆü¡§2009ǯ 1·î29Æü(ÌÚ)18»þ12ʬ33ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  ¬ÎÌÌÖÊ¿¶Ñ¡¡ºÇ¾®Æó¾èË¡¤Ë¤Ä¤¤¤Æ¡¢
¾ðÊóÂԤġ¢
 

Re: ¬Î̺Ǿ®Æó¾èË¡¤Ë¤Ä¤¤¤Æ

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2009ǯ 1·î30Æü(¶â)15»þ06ʬ48ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.254[¸µµ­»ö¤Ø]

kikiriri¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

»²¹Í¥µ¥¤¥È¡¡http://hw001.gate01.com/kazuok/geodetic/leveling.html

Full BASIC¤Î¾ì¹ç¡¢¹ÔÎ󤬷׻»¤Ç¤­¤ë¤Î¤Ç¡¢Â¾¤Î¸À¸ì¤è¤ê¤Ï´Êñ¤Ë·×»»¤Ç¤­¤ë¤È»×¤¤¤Þ¤¹¡£
¤¿¤À¡¢£²¹à±é»»¤Þ¤Ç¤Ç¤¹¤«¤é¡¢Å¸³«¤·¤Ê¤¬¤é¤³¤Ä¤³¤Ä·×»»¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

¤Þ¤¿¡¢É½·×»»¤ÎÊý¤¬GUI¤ò´Þ¤á¤Æ¼ÂÍѲ½¤·°×¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£


¾åµ­¥µ¥¤¥È¤ÎÎãÂê¡ÊPDF¥Õ¥¡¥¤¥ëÆâ¡Ë¤Î¥µ¥ó¥×¥ë¥³¡¼¥Ç¥£¥ó¥°
!ºÇ¾®£²¾èË¡¤Ë¤è¤ë¬ÎÌÌÖÊ¿¶Ñ¡Ê¾ò·ïÊýÄø¼°Ë¡¡Ë

!£È·¿
!¡¡ £Á¡¡¡¡£Ã
!¡¡1¢­ 5¡¡¢­3
! ¡¡£Ð ¢ª £Ñ
!¡¡2¢¬¡¡¡¡¢¬4
! ¡¡£Â¡¡¡¡£Ä

!´ûÃÎÅÀ
LET C=4 !¿ô

DATA 25.645 !£ÁÅÀ¤Îɸ¹â¡Êm¡Ë
DATA 24.666 !£ÂÅÀ
DATA 25.024 !£ÃÅÀ
DATA 25.699 !£ÄÅÀ
DIM Z(C)
MAT READ Z

!´Ñ¬ÃÍ
LET P=5 !¿ô

DATA -6.225, 0.44 !Ï©Àþ£±¡¡¹âÄ㺹¡Êm¡Ë¡¢Ï©ÀþĹ¡Êkm¡Ë
DATA -5.245, 0.25 !Ï©Àþ£²
DATA  0.278, 0.33 !Ï©Àþ£³
DATA -0.399, 0.26 !Ï©Àþ£´
DATA  5.879, 0.44 !Ï©Àþ£µ

DIM X(P),G(P,P) !´Ñ¬ÃÍ¡¢¥³¥¢¥Õ¥¡¥¯¥¿
MAT G=ZER
FOR i=1 TO P
   READ X(i),G(i,i)
NEXT i
MAT PRINT X;
MAT PRINT G;


!̤Ãοô
LET Px=2 !µáÅÀ£Ð¤È£Ñ


!------------------------------

!¼«Í³ÅÙR¡¡¢¨¾ò·ïÊýÄø¼°¤Î¿ô
LET R=P-Px


!¾ò·ïÊýÄø¼° UV=t
DIM U(R,P)
DATA 1,-1,0,0,0 !ÅÀ£Ð¤Ë¤Ä¤¤¤Æ HA+h1~=HB+h2~ ¤è¤ê¡¢(h1+v1)-(h2+v2)=HB-HA¡¡¡èv1-v2=-(h1+HA)+(h2+HB)
DATA 0,0,1,-1,0 !ÅÀ£Ñ¤Ë¤Ä¤¤¤Æ HC+h3~=HD+h4~
DATA 1,0,0,-1,1 !ÅÀ£Ð¤ÈÅÀ£Ñ¤Ë¤Ä¤¤¤Æ HA+h1~+h5~=HD+h4~
MAT READ U

DIM t(R,1)
FOR i=1 TO R
   LET s=0
   FOR j=1 TO P
      IF j>C THEN LET Zj=0 ELSE LET Zj=Z(j)
      LET s=s-(X(j)+Zj)*U(i,j)
   NEXT j
   LET t(i,1)=s
NEXT i
!!!LET t(1,1)=-X(1)+X(2)-Z(1)+Z(2) !0.001
!!!LET t(2,1)=-X(3)+X(4)-Z(3)+Z(4) !-0.002
!!!LET t(3,1)=-X(1)+X(4)-X(5)-Z(1)+Z(4) !0.001
MAT PRINT t;


!------------------------------

!Áê´Ø¼° NK=t¡¢N=UG(Ut)¤è¤ê¡¢K=(Ni)t¤òµá¤á¤ë
DIM Ut(P,R)
MAT Ut=TRN(U)
DIM TMP(P,R) !G(Ut)¡¡¢¨¼¡¤Ç¤â»È¤¦
MAT TMP=G*Ut
DIM N(R,R)
MAT N=U*TMP
MAT PRINT N;

DIM invN(R,R)
MAT invN=INV(N)
DIM K(R,1)
MAT K=invN*t

MAT PRINT K;


!ÊäÀµÃͤη׻»¡Êmm¡Ë V=G(Ut)K
DIM V(P,1)
MAT V=TMP*K

MAT PRINT V;


!ºÇ³ÎÃÍ X~=X+V
FOR i=1 TO P
   PRINT "Ï©Àþ";STR$(i);"=";X(i)+V(i,1)
NEXT i
PRINT "ÅÀ£Ð";Z(1)+(X(1)+V(1,1)); Z(2)+(X(2)+V(2,1)) !Í­¸ú·å¿ô ##.###
PRINT "ÅÀ£Ñ";Z(3)+(X(3)+V(3,1)); Z(4)+(X(4)+V(4,1))




!ÀºÅ٤η׻»¡Êmm^2¡Ë ¦Ò^2=(Kt)NK/r
DIM s2(1,1),Kt(1,R)
MAT Kt=TRN(K)
MAT s2=Kt*t !NK=t
LET sigma2=s2(1,1)/R

PRINT "¦Ò^2=";sigma2


!ʬ»¶¹ÔÎó¡Êmm^2¡Ë ¦Ò^2*Gx¡¢Gx=G-G(Ut)(Ni)UG
DIM Gx(P,P)
MAT Gx=TMP*invN !G(Ut)(Ni)
MAT Gx=Gx*U
MAT Gx=Gx*G
MAT Gx=G-Gx
MAT Gx=sigma2*Gx

MAT PRINT Gx;


END
 

¤¹¤ß¤Þ¤»¤óÊÔ½¸¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤·¤¿

 Åê¹Æ¼Ô¡§kikiriri  Åê¹ÆÆü¡§2009ǯ 1·î30Æü(¶â)19»þ56ʬ54ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  ¬Î̺Ǿ®Æó¾èË¡¤Ë¤Ä¤¤¤Æ¡¢
ÁᮤΤ´ÊÖÅú
¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£
 

Re: ¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2009ǯ 1·î30Æü(¶â)20»þ27ʬ56ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.256[¸µµ­»ö¤Ø]

kikiriri¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ÍѸì¤Ë¤Ä¤¤¤Æ¡¢ÀâÌÀ¤ª´ê¤¤¤Ç¤­¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£

¬ÎÌÍѸì¤Î´ðÁÃÃμ±¡¡http://www.1roba.com/


¤Þ¤¿¡¢»²¹Íʸ¸¥
¡¡ºÇ¾®Æó¾èË¡¤È¬ÎÌÌÖÊ¿¶Ñ¤Î´ðÁá¡ÅÄÅçÌ­(Ãø)¡¢¾®ËÒÏÂͺ(Ãø)¡¡¡¡ÅìÍνñŹ (2001/03)
¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£
 

¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿

 Åê¹Æ¼Ô¡§kikiriri  Åê¹ÆÆü¡§2009ǯ 1·î31Æü(ÅÚ)11»þ09ʬ30ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ÁᮤΤ´ÊÖÅú¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£
»²¹Í¤Ë¤·¤¿¤¤¤È»×¤¤¤Þ¤¹¡£
ºÇ¾®Æó¾èË¡¤È¬ÎÌÌÖÊ¿¶Ñ¤Î´ðÁá¡ÅÄÅçÌ­(Ãø)¡¢¾®ËÒÏÂͺ(Ãø)¡¡¡¡ÅìÍνñŹ (2001/03)
»ý¤Ã¤Æ¤¤¤ë¤ó¤Ç¤¹¤¬¡¢ÀµÄ¾ÆÉ¤á¤Ê¤¤¤Ç¤¹¡£
¬Î̤δðÁ䫤éʬ¤«¤Ã¤Æ¤Ê¤¤¤È»×¤¤¤Þ¤¹¡£
ÀµÄ¾¤É¤³¤«¤é¡¢¤É¤ÎÄøÅÙ¡©ÊÙ¶¯¤¹¤ì¤Ð¤¤¤¤¤Î¤«¤¬Ê¬¤«¤ê¤Þ¤»¤ó¡£
¥³¥í¥Ê¼Ò¡¡Â¬Î̡ʣ±¡Ë¡¡Â¬Î̡ʣ²¡Ë
¼Â¶µ½ÐÈÇ¡¡Â¬Î̱齬¥Î¡¼¥È
¤Ê¤É¡¢
»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
¡É»²¹Í¤Ë¤Ê¤ë¤â¤Î¤¬¤¢¤ì¤Ð¾Ò²ð¤·¤Æ¤¯¤À¤µ¤¤¡£¡É
¡É¤Ò¤È¤Ä¤ÎÌÜɸ¤È¤¤¤¦¤«¡¢¤½¤ì¤¬Ê¿¶ÑÌÖ¤Î¥×¥í¥°¥é¥ß¥ó¥°²½¤Ç¡£¡É
Ëͤˤϻ²¹Í¤Ë¤µ¤ì¤Æ¤¤¤¿¥Ú¡¼¥¸¤ò¸«¤Ä¤±¤ë¤³¤È¤µ¤¨¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¤Î¤Ç¡£
¤³¤¦¤·¤Æ¤´½õ¸Àµá¤á¤Æ¤¤¤ë¼¡Âè¤Ç¤¹¡£
¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£
 

ÊÔ½¸¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤·¤¿

 Åê¹Æ¼Ô¡§kikiriri  Åê¹ÆÆü¡§2009ǯ 2·î 1Æü(Æü)13»þ30ʬ16ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  Ĺ¤é¤¯¾ðÊó¤Ê¤É¤ÎÊÖÅúÆÀ¤é¤ì¤º¤³¤Î¤è¤¦¤Ê·Á¤ÇÊÔ½¸¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤·¤¿¡£

µ¤¤Ë¤·¤Æ¤¯¤À¤µ¤Ã¤¿Êý¡¹¡¢À¿¤Ë¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿

¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£
 

ÀáÅÀ²òÀÏË¡¤Ë¤Ä¤¤¤Æ

 Åê¹Æ¼Ô¡§Âç·§¡¡Àµ  Åê¹ÆÆü¡§2009ǯ 2·î 1Æü(Æü)14»þ39ʬ35ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ÁýÉý´ï¤ò´Þ¤à¡¢¸òή²óÏ©¤Î²òÀÏ

1.¡¡£Ã£Ò²óÏ©2ÃʤÎÄã°è¥Õ¥£¥ë¥¿¡¼¤Çñ½ã¤ÊÁýÉý´ï¤ò´Þ¤Þ¤Ê¤¤¤â¤Î¤Ï¡¢
¡¡¡¡ÀáÅÀÊýÄø¼°¤òΩ¤Æ¤Æ²ò¤±¤ë¤³¤È¤¬Ê¬¤ê¤Þ¤·¤¿¡£
¡¡¡¡ÆþÎÏ¡¡E1 ¤«¤éºÇ½é¤ÎÄñ¹³¡¡R1,¼¡¤¬R2,¤½¤Î¼¡¤¬ºÇ½ªÃ¼»Ò¤Ë¥¢¡¼¥¹
¡¡¡¡¤ËÂФ·C2¥¬ºß¤ê¡¢ ¤³¤ÎC2¤Î½ÐÎϤ¬ÁýÉý´ï¤Ç£ËÇܤµ¤ì¤ë¡£
    ¤³¤ÎÁýÉý´ï¤Î½ÐÎϤϡ¢C1¤ò²ð¤·¤Æ¡¡R1¤ÈR2¤ÎÀáÅÀ¤Ë·ë¤Ð¤ì¤ë¡£
¡¡¡¡C1=2*C2¡¡¤Î»þ¡¢K=1Á°¸å¤ÇºÇŬ¤Ç¤¢¤ë¡£
¡¡¡¡Â¨¤Á¡¢Åµ·¿Åª¤Ê¥¢¥¯¥Æ¥Ö¡¡2ÃÊ¥Õ¥£¥ë¥¿¡¼¤ÎÌäÂê¤Ç¼ÁÌ䤤¤¿¤·¤Þ¤¹¡£

¡¡¡¡C1 ¤ÎÅ۵¤òE2 C2¤ÎÅ۵¤òE3¤È¤·¡¢¤½¤ÎKÇܤÎÅ۵¤¬C1¤ÇR1¤ÈR2¤Î
¡¡¡¡ÀáÅÀ¤ËÀµµ¢´Ô¡£¤È¤¹¤ë¤È¡¢E1¤ÈE3¤Î´Ø·¸¼°¤¬¤Ç¤Æ¡¢²óÏ©¤Ï²ò¤±¤Þ¤¹¡£

2. ¤³¤Î¤è¤¦¤Ë¤Þ¤º²ò¤¤¤Æ¡¢¼þÇÈ¿ôÆÃÀ­¤Ê¤É¤òɽ¼¨¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢ÀáÅÀ
¡¡ÊýÄø¼°¤Î¤è¤¦¤Ë¡¢¡¦¡¦¡¦¡¦µ¡³£Åª¤ËÀáÅÀ¤Ë¥¢¥É¥ß¥¿¥ó¥¹Åù¤òÁÞÆþ¡©¡©
   ¤·¤ÆÌäÂê¤ò²ò¤­¤¿¤¤¤Î¤Ç¤¹¤¬¡¢E2¤äE3,¤½¤·¤ÆKÅù¤ò¥Þ¥È¥ê¥¯¥¹¾å¤Ç¤É¤¦
¡¡ ɽ¸½¤·¤ÆÎɤ¤¤«Ê¬¤ê¤Þ¤»¤ó¡£
¡¡ ¼°¤òͽ¤á²ò¤«¤º¤È¤â¡¢µ¡³£Åª¤Ëɽ¼¨¤¹¤ì¤Ð¡¢¥Þ¥È¥ê¥¯¥¹¤¬¼«Æ°Åª¤Ë
¡¡ ²ò¤¤¤Æ¤¯¤ì¤ë¤Î¤Ç¤Ï¤Ê¤¤¤«¤È´üÂÔ¤·¤Æ¤¤¤Þ¤¹¡£
   ²¿Êý¤«¸æ¶µ¤¨¤Æ²¼¤µ¤ë¤ÈÍ­¤êÆñ¤¤¤Î¤Ç¤¹¤¬¡£

3, ¥Þ¥È¥ê¥¯¥¹¤ÇÊ£ÁÇ¿ô¤ò¡¡MAT¡¡PRINT  A ¤È¤ä¤ë¤È¡¢Ê£ÁÇ¿ô¤¬¤ä¤¿¤é
¡¡¡¡Ä¹¤¤É½¼¨¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¡¡²¿¤È¤«PRINT USING¡¡¡ô¡ô¡ô¡ô¡¡Åª¤Ë´Ê·ë¤Êɽ¼¨¤Ï½ÐÍè¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£
¡¡¡¡ÌµÍý¤Ë¤ä¤ë¤È¥Þ¥È¥ê¥¯¥¹¤Ç¤ÏÊ£ÁÇ¿ô¤òPRINT USING¡¡É½¼¨¤Ï½ÐÍè¤Ê¤¤¤È
¡¡¡¡É½¼¨¤µ¤ì¤Þ¤¹¡£
 

Re: ÀáÅÀ²òÀÏË¡¤Ë¤Ä¤¤¤Æ

 Åê¹Æ¼Ô¡§ÇòÀС¡ÏÂÉ×  Åê¹ÆÆü¡§2009ǯ 2·î 1Æü(Æü)16»þ10ʬ14ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.260[¸µµ­»ö¤Ø]

> 3, ¥Þ¥È¥ê¥¯¥¹¤ÇÊ£ÁÇ¿ô¤ò¡¡MAT¡¡PRINT  A ¤È¤ä¤ë¤È¡¢Ê£ÁÇ¿ô¤¬¤ä¤¿¤é
> ¡¡¡¡Ä¹¤¤É½¼¨¤Ë¤Ê¤ê¤Þ¤¹¡£
> ¡¡¡¡²¿¤È¤«PRINT USING¡¡¡ô¡ô¡ô¡ô¡¡Åª¤Ë´Ê·ë¤Êɽ¼¨¤Ï½ÐÍè¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£
> ¡¡¡¡ÌµÍý¤Ë¤ä¤ë¤È¥Þ¥È¥ê¥¯¥¹¤Ç¤ÏÊ£ÁÇ¿ô¤òPRINT USING¡¡É½¼¨¤Ï½ÐÍè¤Ê¤¤¤È
> ¡¡¡¡É½¼¨¤µ¤ì¤Þ¤¹¡£

¼ÂÉô¤ÈµõÉô¡¤¤¢¤ë¤¤¤Ï¡¤ÀäÂÐÃͤÈÊгѤʤɡ¤µõ¿ôÉôʬ¤ò´Þ¤Þ¤Ê¤¤¿ôÃͤΥڥ¢¤Ëʬ¤±¤Æ¤«¤é½ñ¼°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
¤Þ¤¿¡¤MAT PRINT USING¤ß¤¿¤¤¤Î¤¬É¬ÍפǤ¢¤ì¤Ð¡¤ÇÛÎó¤È½ñ¼°¤ò°ú¿ô¤È¤·¤Æ¤È¤ëÉû¥×¥í¥°¥é¥à¤òºîÀ®¤·¤Æ»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£
 

Re: ÀáÅÀ²òÀÏË¡¤Ë¤Ä¤¤¤Æ

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2009ǯ 2·î 2Æü(·î)10»þ38ʬ2ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.260[¸µµ­»ö¤Ø]

Âç·§¡¡Àµ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

ÍýÁÛŪ¤Ê¥ª¥Ú¥¢¥ó¥×¤Î·×»»
¡¡²¾ÁÛ¤ÎÁǻҤò¹Í¤¨¤ë¡Ê¿Þ£²¡Ë
¡¡¡¦¥Ê¥ì¡¼¥¿
¡¡¡¡­¡V+¤ÈV-¤È¤ÎÅÅ°Ì¤ÏÆ±¤¸¡Ê¥¤¥Þ¡¼¥¸¥Ê¥ê¡¼¥·¥ç¡¼¥È¡Ë
¡¡¡¡­¢V+¤ÈV-¤È¤Ë¤ÏÅÅή¤¬Î®¤ì¤Ê¤¤¡ÊÆþÎÏÄñ¹³¤¬Ìµ¸ÂÂç¡Ë
¡¡¡¦¥Î¥ì¡¼¥¿
¡¡¡¡­£Vo¤«¤é¤ÏɬÍפÊÅÅή¤¬¶¡µë¤µ¤ì¤ë¡ÊξÊý¸þ¡Ë

¤³¤ì¤òŬÍѤ¹¤ë¤È¡¢¿Þ£³¤Ï¡¢¿Þ£±¤ÎÅù²Á²óÏ©¤Ë¤Ê¤ë¤È»×¤¤¤Þ¤¹¡£

¤³¤Î¿Þ£³¤Î²óÏ©¿Þ¤ÇÀáÅÀÊýÄø¼°¤ò¹Í¤¨¤Þ¤¹¡£
Ä̾Vo¤Ï¸ÇÄêÃͤȤ¹¤ë¤¬¡¢¥¢¥ó¥×¤Ë¤è¤ê³ÎÄê¤Ç¤­¤Þ¤»¤ó¡£¡ÊVo=K*e2¡¢e2¤ÏÀáÅÀ­¢¤ÎÅŰ̡Ë
¤½¤³¤Ç¡¢¥¢¥ó¥×¤ÎÆþÎϤò½ÐÎϤËÈ¿±Ç¤µ¤»¤Æ¡ÊÈ¿Éü·×»»¤Ç¡Ë¼ý«¤µ¤»¤Þ¤¹¡£


¥×¥í¥°¥é¥à¤Ï¿Þ£±¤Î¤è¤¦¤Ê¥¢¥ó¥×¤ò´Þ¤ó¤À²óÏ©¿Þ¤Ç·×»»¤Ç¤­¤ë¤è¤¦¤Ë
°ÊÁ°¾Ò²ð¤·¤¿ÀáÅÀÅŰÌË¡¤Î¤â¤Î¤ò²þÎɤ·¤Æ¤¢¤ê¤Þ¤¹¡£

1000 !ÀáÅÀÅŰÌË¡¤Ë¤è¤ë¥Õ¥£¥ë¥¿²óÏ©¤Î¼þÇÈ¿ô²òÀÏ¡ÊÍøÆÀ¡¢°ÌÁê¡Ë
1010
1020 OPTION ARITHMETIC COMPLEX
1030
1040 LET j=SQR(-1) !µõ¿ôñ°Ì¡¡¢¨Åŵ¤·Ï¤Ï£ê¤ò»È¤¦
1050
1060 LET f=60 !¼þÇÈ¿ô[Hz]
1070 DEF w=2*PI*f !³Ñ¼þÇÈ¿ô¦Ø
1080
1090 DEF H2Ohm(L)=j*w*L ![H]¤ò[¦¸]¤Ø
1100 DEF F2Ohm(C)=1/(j*w*C) ![F]¤ò[¦¸]¤Ø
1110 DEF xL(L)=w*L !ͶƳ¥ê¥¢¥¯¥¿¥ó¥¹
1120 DEF xC(C)=1/(w*C) !ÍÆÎ̥ꥢ¥¯¥¿¥ó¥¹
1130
1140 SUB DispS(z) !Ê£ÁÇ¿ô¤òSɽ¼¨¤¹¤ë¡¡¢¨¥¹¥¿¥¤¥ó¥á¥Ã¥Ä¡ÊSteinmetz¡Ë
1150    PRINT ABS(z);
1160    IF ABS(z)<>0 THEN
1170       IF arg(z)<>0 THEN PRINT "¢Ü";DEG(arg(z));"¡ë";
1180    END IF
1190    !PRINT
1200 END SUB
1210
1220 FUNCTION S2COMPLEX(l,th) !Sɽ¼¨¡Ê¶ËºÂɸ·Á¼°¡Ë¤òÊ£ÁÇ¿ô¤Ø
1230    LET S2COMPLEX=COMPLEX(l*COS(RAD(th)),l*SIN(RAD(th)))
1240 END FUNCTION
1250 FUNCTION i2COMPLEX(im,th) !½Ö»þÃͼ°¤òÊ£ÁÇ¿ô¤Ø¡¡¢¨ºÇÂçÃÍ¡¢½é´ü°ÌÁê
1260    LET i2COMPLEX=S2COMPLEX(im/SQR(2),th) !¼Â¸úÃÍ¡¢½é´ü°ÌÁê
1270 END FUNCTION
1280 !-------------------- ¤³¤³¤Þ¤Ç¤¬¥µ¥Ö¥ë¡¼¥Á¥ó
1290
1300
1310 SUB set_curcit !ÁǻҤä·ëÀþ¤òÄêµÁ¤¹¤ë
1320    !---------- ¢­¢­¢­¢­¢­ ----------
1330
1340    !¡ü²óÏ©¿Þ¡¡Sallen-Key £³¼¡¥í¡¼¥Ñ¥¹¡¦¥Õ¥£¥ë¥¿
1350
1360    !»²¹Í¥µ¥¤¥È¡¡http://sim.okawa-denshi.jp/OPseikiLowkeisan.htm
1370
1380    !¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨£¨¡C2¨¡¨¨¨¡¨¡¨¡¨¡¨¡¨¡¨¤
1390    !¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨¢¡¡¡¡¡¡¨¢¡¡¨£¨¡¨¡¨¤¡¡¨¢
1400    !¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨¢¡¡¡¡¡¡¨¦¨¡¨©- ¡¡¨¢¡¡¨¢
1410    !¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨¢¡¡¡¡¡¡¡¡¡¡¨¢¡¡£Ë¨§¨¡£¶¨¡
1420    !¡¡¨¡£²¨¡R1¨¡£³¨¡R2¨¡£´¨¡R3¨¡£µ¨¡¨©+ ¡¡¨¢¡¡¢¬
1430    !¡¡¡¡¢¬¡¡¡¡¡¡¨¢¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨¢¡¡¨¦¨¡¨¡¨¥¡¡¨¢
1440    !¡¡¡¡Vi¡¡¡¡¡¡C1¡¡¡¡¡¡¡¡¡¡¡¡¡¡C3¡¡¡¡¡¡¡¡¡¡¡¡Vo
1450    !¡¡¡¡¢­¡¡¡¡¡¡¨¢¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨¢¡¡¡¡¡¡¡¡¡¡¡¡¢­
1460    !¡¡¨¡£±¨¡¨¡¨¡¨ª¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨ª¨¡¨¡¨¡¨¡¨¡¨¡¨ª¨¡
1470    !¡¡¡¡¨¢
1480    !¡¡¡¡¢á¥¢¡¼¥¹
1490
1500    LET GND=1 !¥¢¡¼¥¹
1510    LET Vi=2 !ÆþÎÏü»Ò
1520    LET Vo=6 !½ÐÎÏü»Ò
1530
1540    !ÁÇ»Ò: Rn,Vn,In¡¢n:ÈÖ¹æ¡ÊÏ¢ÈÖ¡Ë¡¡¢¨£²Ê¸»úÌܰʹߤÏÈÖ¹æ
1550    !ÃÍ:
1560    !ü»ÒÈÖ¹æ¡Êµ¯ÅÀ¡Ë: £±°Ê¾å¤ÎÃÍ¡¡¢¨ÀáÅÀ
1570    !ü»ÒÈÖ¹æ: £±°Ê¾å¤ÎÃÍ¡¡¢¨ÀáÅÀ
1580
1590    CALL AddElements("R1",51e3,2,3) !51k[¦¸]¡¢»ÞÏ©ÅÅή¤Ï2¢ª3¤È²¾Äꤹ¤ë
1600    CALL AddElements("C1",F2Ohm(0.0068e-6),3,1) !0.0068[¦ÌF]
1610    CALL AddElements("R2",82e3,3,4) !82k[¦¸]
1620    CALL AddElements("C2",F2Ohm(0.022e-6),4,6) !0.022[¦ÌF]
1630    CALL AddElements("R3",39e3,4,5) !39k[¦¸]
1640    CALL AddElements("C3",F2Ohm(330e-12),5,1) !330[pF]
1650
1660    !¢¨Å۵¸»¤ÎÈÖ¹æ¤Ï£±¤«¤é¤ÎÏ¢ÈÖ¡¡Îã. CALL AddElements("V1",?,?,?) !?[V]
1670    !¤Ê¤·
1680
1690    CALL AddElements("A1",1.0,5,6) !¥¢¥ó¥×¡¡ÁýÉýΨ1.0,¡Üü»Ò5,½ÐÎÏü»Ò6
1700
1710    !---------- ¢¬¢¬¢¬¢¬¢¬ ----------
1720
1730    CALL AddElements("Vi",10,GND,Vi) !10[V]¡¡¢¨Â¬ÄêÍѤÎÅ۵
1740 END SUB
1750
1760 !---------- ¢­¢­¢­¢­¢­ ----------
1770 LET Ns=0 !Å۵¸»¤Î¿ô
1780 LET Nd=6 !ÀáÅÀ¤Î¿ô
1790 LET Na=1 !¥¢¥ó¥×¤Î¿ô
1800 !---------- ¢¬¢¬¢¬¢¬¢¬ ----------
1810
1820 LET N=Nd+Ns+Na+1
1830
1840 !¡ü¥­¥ë¥Ò¥Û¥Ã¥Õ¤ÎÅÅή§¤è¤ê¡¢ÀáÅÀÊýÄø¼°¤òÁȤßΩ¤Æ¤ë
1850 DIM A(N,N),x(N),b(N) !ϢΩÊýÄø¼° Ax=b
1860
1870 DIM AmpK(Na),AmpPlus(Na),AmpOut(Na)
1880
1890 SUB AddElements(el$,ev,nd1,nd2) !·ëÀþ¾ðÊ󤫤é²óÏ©ÊýÄø¼°¤òÁȤßΩ¤Æ¤ë
1900    IF (nd1<1 OR nd1>Nd) OR (nd2<1 OR nd2>Nd) THEN
1910       PRINT "ÁÇ»Ò";el$;"¤ÎÀáÅÀÈֹ椬°ã¤¤¤Þ¤¹¡£";nd1;nd2
1920       STOP
1930    END IF
1940
1950    !ϢΩÊýÄø¼°¤òÁȤßΩ¤Æ¤ë¡¡Ax=b
1960    ! ¨£¡¡ ¨¢¡¡ ¨¤¨£¡¡¨¤ ¨£¡¡¨¤
1970    ! ¨¢£Ç ¨¢¡Þ1¨¢¨¢V ¨¢=¨¢I ¨¢¡¡R,C,L,ÅÅή¸»(Nd¸Ä)
1980    !¨¡¨¡¨¡¨«¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡
1990    ! ¨¢¡Þ1¨¢-Zp¨¢¨¢Ip¨¢ ¨¢Ep¨¢¡¡Å۵¸»(Ns¸Ä)¡¢¥¢¥ó¥×(Na¸Ä)¡¢ÆþÎÏÅ۵¸»(1¸Ä)
2000    ! ¨¦¡¡ ¨¢¡¡ ¨¥¨¦¡¡¨¥ ¨¦¡¡¨¥
2010
2020    SELECT CASE UCASE$(el$(1:1)) !ÁǻҤ˱þ¤¸¤Æ
2030    CASE "V" !Å۵¸»¤Ê¤é
2040       LET t$=UCASE$(el$(2:LEN(el$)))
2050       IF t$="I" THEN !·×¬ÍÑ¤ÎÆþÎÏÅ۵¸»¤Ê¤é
2060          LET p=Nd+Ns+Na+1
2070       ELSE
2080          LET p=VAL(t$) !ÈÖ¹æ¤òÆÀ¤ë
2090          IF p<1 OR p>Ns THEN
2100             PRINT "Å۵¸»¤ÎÈֹ椬°ã¤¤¤Þ¤¹¡£";el$
2110             STOP
2120          END IF
2130          LET p=p+Nd
2140       END IF
2150       LET A(nd1,p)=A(nd1,p)-1 !ÅÅήIp¤¬ÀáÅÀi¤«¤éÀáÅÀj¤ØÎ®¤ì¤¿¤È¤·¤Æ¡¢(Vi-Vj)-Ip*Zp=Ep
2160       LET A(p,nd1)=A(p,nd1)-1
2170       LET A(nd2,p)=A(nd2,p)+1
2180       LET A(p,nd2)=A(p,nd2)+1
2190       LET A(p,p)=A(p,p)+0 !ÆâÉôÄñ¹³Zp¤Ï£°¤È¤¹¤ë
2200       LET b(p)=b(p)+ev !µ¯ÅÅÎÏ
2210
2220    CASE "A" !¥¢¥ó¥×¤Ê¤é
2230       LET t=VAL(el$(2:LEN(el$))) !ÈÖ¹æ¤òÆÀ¤ë
2240       IF t<1 OR t>Na THEN
2250          PRINT "¥¢¥ó¥×¤ÎÈֹ椬°ã¤¤¤Þ¤¹¡£";el$
2260          STOP
2270       END IF
2280       LET p=t+Nd+Ns !½ÐÎϦ¤ò¥Î¥ì¡¼¥¿¡Ê½é´üÃÍ£°£Ö¤ÎÅ۵¸»¡Ë¤È¤·¤Æ°·¤¦
2290       LET A(GND,p)=A(GND,p)-1
2300       LET A(p,GND)=A(p,GND)-1
2310       LET A(nd2,p)=A(nd2,p)+1
2320       LET A(p,nd2)=A(p,nd2)+1
2330
2340       LET AmpK(t)=ev !ÁýÉýΨ
2350       LET AmpPlus(t)=nd1 !¡Üü»Ò
2360       LET AmpOut(t)=p !ÊýÄø¼°Æâ¤Ç¤Î½ÐÎÏü»Ò
2370
2380    CASE "I" !ÅÅή¸»¤Ê¤é
2390       LET b(nd1)=b(nd1)-ev
2400       LET b(nd2)=b(nd2)+ev
2410
2420    CASE ELSE !ÁǻҤʤé
2430       LET Gij=1/ev
2440       !ÂгÑÀ®Ê¬¡¡¢¨ÀáÅÀ¤ËÀܳ¤µ¤ì¤¿Áǻҡʥ¢¥É¥ß¥¿¥ó¥¹¡Ë¤ÎÏÂ
2450       LET A(nd1,nd1)=A(nd1,nd1)+Gij
2460       LET A(nd2,nd2)=A(nd2,nd2)+Gij
2470       !¤½¤Î¾¤ÎÀ®Ê¬¡¡¢¨ÀáÅÀ¤ËÀܳ¤µ¤ì¤¿Áǻҡʥ¢¥É¥ß¥¿¥ó¥¹¡Ë¤Ë-1¤ò¤«¤±¤¿¤â¤Î¤ÎÏÂ
2480       LET A(nd1,nd2)=A(nd1,nd2)-Gij
2490       LET A(nd2,nd1)=A(nd2,nd1)-Gij
2500
2510    END SELECT
2520 END SUB
2530
2540 DIM Ai(N,N) !ϢΩÊýÄø¼°¤ò²ò¤¯
2550 SUB routine
2560    MAT A=ZER
2570    MAT b=ZER
2580    CALL set_curcit !·ëÀþ¤«¤éÊýÄø¼°¤òÁȤßΩ¤Æ¤ë
2590
2600    FOR i=1 TO Nd !·ëÀþ¤µ¤ì¤Æ¤¤¤Ê¤¤ÀáÅÀ¡¡1*Vi=0
2610       IF A(i,i)=0 THEN LET A(i,i)=1
2620    NEXT i
2630    LET A(GND,GND)=0 !ÅṲ̋ò£°¤È¤¹¤ë
2640
2650    !!!MAT PRINT A; !dump it
2660    !!!MAT PRINT b;
2670
2680
2690    MAT Ai=INV(A)
2700    MAT x=Ai*b
2710    IF Na>0 THEN !¥¢¥ó¥×¤¬¤¢¤ì¤Ð
2720       FOR iter=1 TO 100 !°ÂÄꤵ¤»¤ë¡¡¢¨Í×Ä´À°
2730          FOR i=1 TO Na
2740             LET b(AmpOut(i))=AmpK(i)*x(AmpPlus(i)) !Vo=K*V+¡¡¢¨ÆþÎϤò½ÐÎϤËÈ¿±Ç¤µ¤»¤ë
2750          NEXT i
2760          MAT x=Ai*b
2770       NEXT iter
2780    END IF
2790 END SUB
2800
2810
2820
2830 !SET bitmap SIZE 600,600 !²èÌ̤òÂ礭¤¯¤¹¤ë
2840 LET ymin=-150
2850 SET WINDOW -0.5,6.5, ymin,5 !ɽ¼¨Îΰè
2860 DRAW grid(1,5) !º¸Ã¼¤ÎÌÜÀ¹¤ê
2870
2880 FOR f=1 TO 6 !£ø¼´¤¬Âпô
2890    PLOT TEXT ,AT f-0.3,-0.15: mid$("10  100 1k  10k 100k1M  ",4*(f-1)+1,4)
2900 NEXT f
2910
2920 FOR f=10 TO 100000 STEP 100 !¼þÇÈ¿ô[Hz]
2930    CALL routine
2940    PLOT LINES: LOG10(f),20*LOG10(ABS(x(Vo)/x(Vi))); !ÍøÆÀ[dB]
2950 NEXT f
2960 PLOT LINES
2970
2980
2990 SET TEXT COLOR 2
3000 FOR i=5 TO ymin STEP -5 !±¦Ã¼¤Î½Ä¼´ÌÜÀ¹¤ê
3010    PLOT TEXT ,AT 6,i: STR$(i*2)&"¡ë" !¢¨ÍøÆÀ¤Î¥°¥é¥Õ¤Ë¹ç¤ï¤»¤ë¤¿¤á¤Ë2Çܤ¹¤ë
3020 NEXT i
3030
3040 SET LINE COLOR 2
3050 FOR f=10 TO 100000 STEP 100 !¼þÇÈ¿ô[Hz]
3060    CALL routine
3070    LET t=arg(x(Vo)/x(Vi))
3080    IF t>0 THEN LET t=t-2*PI !0¡Á-2¦Ð¤ØÊäÀµ¤¹¤ë
3090    PLOT LINES: LOG10(f),DEG(t)/2; !°ÌÁê¦È¡¡¢¨ÍøÆÀ¤Î¥°¥é¥Õ¤Ë¹ç¤ï¤»¤ë¤¿¤á¤Ë1/2Çܤ¹¤ë
3100 NEXT f
3110 PLOT LINES
3120
3130
3140 END
 

¥Þ¥¯¥í¡¼¥ê¥óŸ³«¤Î¹â®¶á»÷ÃÍ·×»»¤Ø¤Î±þÍÑ

 Åê¹Æ¼Ô¡§¤¤¤¬¤é¤·¤Þ¤Ê¤È  Åê¹ÆÆü¡§2009ǯ 2·î 4Æü(¿å)18»þ40ʬ56ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¥Þ¥¯¥í¡¼¥ê¥óŸ³«¤Î¹â®¶á»÷ÃÍ·×»»¤Ø¤Î±þÍÑ

£±¡¢½½¿ÊË¡£Â£Á£Ó£É£Ã¤Ë¤è¤ë¥×¥í¥°¥é¥à

REM ***¡¡µÕ¹ÔÎó¤Ç¹â®¥Þ¥¯¥í¡¼¥ê¥óŸ³«
DIM a(3,3),b(3,1),c(3,1),d(3,3)
DEF f(x)=EXP(x)
LET x=0.0001
LET a(1,1)=x
LET a(1,2)=x^2
LET a(1,3)=x^3
LET a(2,1)=2*x
LET a(2,2)=4*x^2
LET a(2,3)=8*x^3
LET a(3,1)=3*x
LET a(3,2)=9*x^2
LET a(3,3)=27*x^3
MAT d=INV(a)
LET e=f(0)
LET c(1,1)=f(x)-e
LET c(2,1)=f(2*x)-e
LET c(3,1)=f(3*x)-e
MAT b=d*c
PRINT b(1,1)
PRINT b(2,1)
PRINT b(3,1)
END

£²¡¢ÍýÏÀ

¥Þ¥¯¥í¡¼¥ê¥óŸ³«¤Î¸ø¼°¤è¤ê

£æ¡Ê£ø¡Ë¡áa(0)+a(1)x+a(2)x^2+a(3)x^3+¡¦¡¦¡¦¡¦¤Ç¤¢¤ë¤«¤é¡£

£ø¢â£°¤ËÂФ·¤Æ¡¢²òa(m)»ý¤ÄϢΩÊýÄø¼°
£æ¡Ên£ø¡Ë¡áa(0)+a(1)(nx)+a(2)(nx)^2+a(3)(nx)^3
¤ò²ò¤¯¤È¥Þ¥¯¥í¥ê¥óŸ³«¤Î¶á»÷Ãͤ¬µá¤Þ¤ë¡£

£³¡¢·ë²Ì

f(x)=e^x¤Î¥Þ¥¯¥í¥ê¥óŸ³«¤ò¹ÔÎó¤ÎµÕ¹ÔÎó¤òÍѤ¤¤Æ·×»»¤·¤¿¡£

a(1)=0.999999999998332
a(2)=0.50000001
a(3)=0.166666766681668¡¡¤òÆÀ¤ë¤³¤ì¤Ï¿¿ÃÍ

a(1)=£±
a(2)=1/2=0.5
a(3)=1/6=0.1666¡¦¡¦¡¦

¤Ë¶á¤¤ÃͤȤʤäƤ¤¤ë¡£

£´¡¢È¯Å¸²ÝÂê¡Ê¼«Ê¬¤ËÂФ·¤Æ¡£¡£¡£¡£¡Ë

¤³¤ì¤ò¥¬¥¦¥¹¡¦¥¸¥ç¥ë¥À¥óË¡¤Ë¤è¤ê·×»»¤»¤è¡ª
 

(̵Âê)

 Åê¹Æ¼Ô¡§Âç·§¡¡Àµ  Åê¹ÆÆü¡§2009ǯ 2·î 5Æü(ÌÚ)10»þ42ʬ50ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ÇòÀС¡ÍÍ¡¡»³Ãæ¡¡ÍÍ¡¡¡¡Âç·§¤Ç¤¹¡£

¸æÂ¿Ë»Ãæ¤Î½ê¡¢¿§¡¹¤È¸æ»ØÆ³¤ò夭¤Þ¤³¤È¤ËÍ­Æñ¤¦¤´¤¶¤¤¤Þ¤¹¡£

ÇòÀÐÍÍ
ÊÌÅÓ¥×¥í¥°¥é¥à¤òºî¤ê¡¢ÉôʬŪ¤Ë»î¤·¤¿½ê¡¢¾å¼ê¤¯Æ°¤­¤Þ¤·¤¿¡£

»³ÃæÍÍ
¥×¥í¥°¥é¥à¤ò¥³¥Ô¡¼¤·¡¢Æ°¤«¤·¤¿½ê¡¢åºÎï¤Ë¼þÇÈ¿ôÆÃÀ­¤¬½Ð¤Þ¤·¤¿¡£
¡Ö¥¢¥ó¥×¤ÎÆþÎϤò½ÐÎϤËÈ¿±Ç¤µ¤»¤Æ¡ÊÈ¿Éü·×»»¤Ç¡Ë¼ý«¤µ¤»¤Þ¤¹¡£¡×
¤È¤¤¤¦¤Î¤Ï¡¢¡ÖÌܤ«¤é¤¦¤í¤³¡×¤Ç¶Ã¤­¤Þ¤·¤¿¡£
Áí¤Æ¤òº¡¤ì¤«¤éÊÙ¶¯¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤¹¡£

¤½¤ì¤«¤é¡¢°ìÈֺǸå¤Î¡¡²óÏ©¿Þ¤Ï¡¢¤É¤³¤«¤é¡¡¤É¤Î¤è¤¦¤Ë¥³¥Ô¡¼¤·¡¢
¤³¤ÎÅê¹ÆÍó¤Ëޤê¤Ä¤±¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£¤³¤ÎÅê¹ÆÍó¤Ëޤê¤Ä¤±¤è¤¦
¤È¤·¤Þ¤·¤¿¤¬¡¢½ÐÍè¤Þ¤»¤ó¤Ç¤·¤¿¡£
¤Þ¤¿¡¢¥Ñ¥½¥³¥ó¤Î¡Ö¥á¥âÄ¡¡×¤ä¡¢10¿ÊBASIC¡¡¤Ë¤âޤêÉÕ¤­¤Þ¤»¤ó¡£

½ÐÍè¤Þ¤·¤¿¤é¡¢¸æ¶µ¤¨¤¯¤À¤µ¤¤¡£

·É¶ñ
 

Re: (̵Âê)

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2009ǯ 2·î 5Æü(ÌÚ)11»þ32ʬ41ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.264[¸µµ­»ö¤Ø]

Âç·§¡¡Àµ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¤½¤ì¤«¤é¡¢°ìÈֺǸå¤Î¡¡²óÏ©¿Þ¤Ï¡¢¤É¤³¤«¤é¡¡¤É¤Î¤è¤¦¤Ë¥³¥Ô¡¼¤·¡¢
> ¤³¤ÎÅê¹ÆÍó¤Ëޤê¤Ä¤±¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£¤³¤ÎÅê¹ÆÍó¤Ëޤê¤Ä¤±¤è¤¦
> ¤È¤·¤Þ¤·¤¿¤¬¡¢½ÐÍè¤Þ¤»¤ó¤Ç¤·¤¿¡£

¤³¤Î·Ç¼¨ÈĤÎÅê¹ÆÍó¤Ï¡Ê¤³¤Î²èÌ̤ΰìÈÖ¾å¡Ë
¡¡Åê¹Æ¼Ô
¡¡¥á¡¼¥ë
¡¡Âê̾
¡¡ÆâÍÆ
¡¡²èÁü¡¡¢«¢«¢«¤³¤³
¡¡£Õ£Ò£Ì
¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢¤³¤Î²èÁü¤ÎÍó¤Ë
¼«Ê¬¤Î¥Ñ¥½¥³¥óÆâ¤Î²èÁü¥Ç¡¼¥¿¡Êgif¡¢jpg¡¢png·Á¼°¡Ë¤ò»ØÄꤹ¤ë¤È¥¢¥Ã¥×¥í¡¼¥É¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

²èÁü¥Ç¡¼¥¿¤ÎºîÀ®¤Ï¡¢WindoesÉÕ°¤Î¡Ö¥Ú¥¤¥ó¥È¡×¤Ç²Äǽ¤Ç¤¹¡£Êݸ¤Î¤È¤­¡¢gif¡¢jpg·Á¼°¤Ë¤·¤Þ¤¹¡£



> ¤Þ¤¿¡¢¥Ñ¥½¥³¥ó¤Î¡Ö¥á¥âÄ¡¡×¤ä¡¢10¿ÊBASIC¡¡¤Ë¤âޤêÉÕ¤­¤Þ¤»¤ó¡£

¥á¥âÄ¢¤äBASIC¤ÎÊÔ½¸²èÌ̤ϡ֥ƥ­¥¹¥È¡Êʸ»ú¡Ë¡×¤Î¤ß¤ò°·¤¤¤Þ¤¹¤Î¤Ç¡¢¡Ö²èÁü¡×¤òޤêÉÕ¤±¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
¤Þ¤¿´Ê°×¥ï¡¼¥×¥í¤Î¡Ö¥ï¡¼¥É¥Ñ¥Ã¥É¡×¤Ç¤Ï¡¢¡Ö¥Ç¥­¥¹¥È¡×¤È¡Ö²èÁü¡×¤¬°·¤¨¤Þ¤¹¡£
¤·¤¿¤¬¤Ã¤Æ¡¢²èÁü¥Ç¡¼¥¿¤Ï¥×¥í¥°¥é¥à¤È¤ÏÊ̤˴ÉÍý¡ÊÊݸ¤Ê¤É¡Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£




¡üÊä­
¡¡²óÏ©¿Þ¤òÊѹ¹¤¹¤ë¤È¤­¤Î½¤Àµ²Õ½ê

¡Ýü»Ò¤Ø¤ÎÆþÎϤξì¹ç
1310 SUB set_circuit !ÁǻҤä·ëÀþ¤òÄêµÁ¤¹¤ë
1320    !---------- ¢­¢­¢­¢­¢­ ----------
1330
1340    !¡ü²óÏ©¿Þ¡¡¥ª¥Ú¥¢¥ó¥×¿½Åµ¢´Ô·¿¥Ð¥ó¥É¥Ñ¥¹¡¦¥Õ¥£¥ë¥¿
1350
1360    !»²¹Í¥µ¥¤¥È¡¡http://sim.okawa-denshi.jp/OPseikiLowkeisan.htm
1370
1380    !¡¡¡¡¡¡¡¡¡¡¡¡¨£¨¡C1¨¡¨¨¨¡¨¡¨¡¨¡¨¡¨¡¨¤
1390    !¡¡¡¡¡¡¡¡¡¡¡¡¨¢¡¡¡¡¡¡¨¢¡¡¡¡¡¡¡¡¡¡¡¡¨¢
1400    !¡¡¡¡¡¡¡¡¡¡¡¡¨¢¡¡¡¡¡¡R3¡¡¡¡¡¡¡¡¡¡¡¡¨¢
1410    !¡¡¡¡¡¡¡¡¡¡¡¡¨¢¡¡¡¡¡¡¨¢¡¡¨£¨¡¨¡¨¤¡¡¨¢
1420    !¡¡¨¡£²¨¡R1¨¡£³¨¡C2¨¡£´¨¡¨©- ¡¡¨§¨¡£µ¨¡
1430    !¡¡¡¡¢¬¡¡¡¡¡¡¨¢¡¡¡¡¡¡¡¡¡¡¨¢¡¡£Ë¨¢¡¡¢¬
1440    !¡¡¡¡Vi¡¡¡¡¡¡R2¡¡¡¡¡¡¨£¨¡¨©+ ¡¡¨¢¡¡Vo
1450    !¡¡¡¡¢­¡¡¡¡¡¡¨¢¡¡¡¡¡¡¨¢¡¡¨¦¨¡¨¡¨¥¡¡¢­
1460    !¡¡¨¡£±¨¡¨¡¨¡¨ª¨¡¨¡¨¡¨ª¨¡¨¡¨¡¨¡¨¡¨¡¨ª¨¡
1470    !¡¡¡¡¨¢
1480    !¡¡¡¡¢á¥¢¡¼¥¹
1490
1500    LET GND=1 !¥¢¡¼¥¹
1510    LET Vi=2 !ÆþÎÏü»Ò
1520    LET Vo=5 !½ÐÎÏü»Ò
1530
1540    !ÁÇ»Ò: Rn,Cn,Ln,Vn,In¡¢n:ÈÖ¹æ¡ÊÏ¢ÈÖ¡Ë¡¡¢¨£²Ê¸»úÌܰʹߤÏÈÖ¹æ
1550    !ÃÍ:
1560    !ü»ÒÈÖ¹æ¡Êµ¯ÅÀ¡Ë: £±°Ê¾å¤ÎÃÍ¡¡¢¨ÀáÅÀ
1570    !ü»ÒÈÖ¹æ: £±°Ê¾å¤ÎÃÍ¡¡¢¨ÀáÅÀ
1580
1590    CALL AddElements("R1",5.1e3,2,3) !5.1k[¦¸]¡¢»ÞÏ©ÅÅή¤Ï2¢ª3¤È²¾Äꤹ¤ë
1600    CALL AddElements("C1",F2Ohm(0.022e-6),3,5) !0.022[¦ÌF]
1610    CALL AddElements("R2",20e3,3,1) !20k[¦¸]
1620    CALL AddElements("C2",F2Ohm(0.033e-6),3,4) !0.033[¦ÌF]
1630    CALL AddElements("R3",8.2e3,4,5) !8.2k[¦¸]
1640    !
1650
1660    !¢¨Å۵¸»¤ÎÈÖ¹æ¤Ï£±¤«¤é¤ÎÏ¢ÈÖ¡¡Îã. CALL AddElements("V1",?,?,?) !?[V]
1670    !¤Ê¤·
1680
1690    CALL AddElements("A1",-1.0,4,5) !¥¢¥ó¥×¡¡ÁýÉýΨ-1.0,¡Ýü»Ò4,½ÐÎÏü»Ò5
1700
1710    !---------- ¢¬¢¬¢¬¢¬¢¬ ----------
1720
1730    CALL AddElements("Vi",10,GND,Vi) !10[V]¡¡¢¨Â¬ÄêÍѤÎÅ۵
1740 END SUB
1750
1760 !---------- ¢­¢­¢­¢­¢­ ----------
1770 LET Ns=0 !Å۵¸»¤Î¿ô
1780 LET Nd=5 !ÀáÅÀ¤Î¿ô
1790 LET Na=1 !¥¢¥ó¥×¤Î¿ô
1800 !---------- ¢¬¢¬¢¬¢¬¢¬ ----------
1810

Ä̾¤³¤Î²Õ½ê¤òÊѹ¹¤·¤Þ¤¹¡£

ÆÃ¤ËÉéµ¢´Ô¤Î¾ì¹ç¤Ï·«¤êÊÖ¤·¤Ï£±²ó¤Î¤ß¤Ç¤è¤¤¤ß¤¿¤¤¤Ç¤¹¡£
2710    IF Na>0 THEN !¥¢¥ó¥×¤¬¤¢¤ì¤Ð
2720       FOR iter=1 TO 1 !°ÂÄꤵ¤»¤ë¡¡¢¨Í×Ä´À°¡¡¡¡<---------- ¤³¤³
2730          FOR i=1 TO Na
2740             LET b(AmpOut(i))=AmpK(i)*x(AmpPlus(i)) !Vo=K*V+¡¡¢¨ÆþÎϤò½ÐÎϤËÈ¿±Ç¤µ¤»¤ë
2750          NEXT i
2760          MAT x=Ai*b
2770       NEXT iter
2780    END IF


¤Ê¤ª¡¢¥µ¥Ö¥ë¡¼¥Á¥óset_circuit¤Î¥¹¥Ú¥ë¤¬°ã¤Ã¤Æ¤¤¤Þ¤·¤¿¡£ÄûÀµ¤·¤Þ¤¹¡£
 

ÀáÅÀ²òÀÏË¡¤Ë¤Ä¤¤¤Æ¡¡¡Ê£²¡Ë

 Åê¹Æ¼Ô¡§Âç·§¡¡Àµ  Åê¹ÆÆü¡§2009ǯ 2·î 7Æü(ÅÚ)11»þ32ʬ28ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ÇòÀÐÍÍ¡¡»³ÃæÍÍ¡¡¤¤¤Ä¤â¸æ»ØÆ³¤ò夭ͭÆñ¤¦¤´¤¶¤¤¤Þ¤¹¡£Âç·§¤Ç¤¹¡£

²¼µ­¤Î¤´¤È¤­¥×¥í¥°¥é¥à¤òºî¤ê¡¢»³ÃæÍͤβóÅú¤òÊ̲ò¤Ç¤Ê¤¾¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
Åú¤¨¤Ï°ìÃפ·¤Æ¤¤¤ë¤È»×¤Ã¤Æ¤Þ¤¹¡£
10¿ÊBASIC¤Ï¡¢¥Þ¥È¥ê¥¯¥¹¤ÈÊ£ÁÇ¿ô¤Î·×»»¤¬´Êñ¤Ë½ÐÍè¡¢½é³Ø½¤¼Ô¤Ë¤Ï¤È¤Æ¤â
ÊØÍø¤À¤È¸À¤¦¤³¤È¤ò¼Â´¶¤·¤Æ¤¤¤Þ¤¹¡£

·É¶ñ


10 OPTION ARITHMETIC COMPLEX
   LET j=SQR(-1)
   OPTION BASE 1
   OPTION ANGLE DEGREES

   DIM FREQ(100,5)
   LET FREQ(1,1)=10
   LET FREQ(2,1)=12.25
   LET FREQ(3,1)=15
   LET FREQ(4,1)=17.32
   LET FREQ(5,1)=20
   LET FREQ(6,1)=24.5
   LET FREQ(7,1)=30
   LET FREQ(8,1)=34.6
   LET FREQ(9,1)=40
   LET FREQ(10,1)=50
   LET FREQ(11,1)=60
   LET FREQ(12,1)=70
   LET FREQ(13,1)=80
   LET FREQ(14,1)=90

   FOR I=1 TO 14
      LET P=I
      LET FREQ(I,1)=FREQ(P,1)
   NEXT I
   FOR I=15 TO 28
      LET P=I-14
      LET FREQ(I,1)=FREQ(P,1)*10
   NEXT I
   FOR I=29 TO 42
      LET P=I-28
      LET FREQ(I,1)=FREQ(P,1)*100
   NEXT I
   FOR I=43 TO 56
      LET P=I-42
      LET FREQ(I,1)=FREQ(P,1)*1000
   NEXT I
   LET FREQ(57,1)=100000

   ! FOR I=1 TO 57
   !    PRINT "FREQ(";I;",1)=";FREQ(I,1)
   ! NEXT I


   !                             ¨£¨¡C2¨¡¨¨¨¡¨¡¨¡¨¡¨¡¨¡¨¤ ¡ÖÃí°Õ¡×
   !                             ¨¢      ¨¢  ¨£¨¡¨¡¨¤  ¨¢   »³Ã椵¤ó¤Î²óÏ©¤È1ÈÖ
   !                             ¨¢      ¨¦¨¡¨©-   ¨¢  ¨¢  Ã¼»ÒÈֹ椬
   !                             ¨¢          ¨¢  £Ë¨§¨¡­¥¨¡ ¾®¤µ¤¯¤Ê¤Ã¤Æ¤Þ¤¹¡£
   !         ¨£¨¡­¡¨¡R1¨¡­¢¨¡R2¨¡­£¨¡R3¨¡­¤¨¡¨©+   ¨¢  ¢¬ V5
   !         ¢¬  ¢¬V1    ¢¬V2    ¢¬V3    ¢¬V4¨¦¨¡¨¡¨¥  ¨¢
   !         Is  Rs      C1              C3            ¨¢
   !         ¢¬  ¨¢      ¨¢              ¨¢            ¨¢
   !         ¨ª¨¡£°¨¡¨¡¨¡¨ª¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨ª¨¡¨¡¨¡¨¡¨¡¨¡¨ª¨¡
   !             ¨¢
   !             ¢á¥¢¡¼¥¹
   !    GND=0 !¥¢¡¼¥¹
   !    V1=1V !ÆþÎÏü»Ò­¡ Rs=0.1¥ª¡¼¥à¤ËÄêÅÅή¸»Is ¤«¤é10Aή¤·¤Æ1V¤È¤¹¤ë¡£
   !    V5=­¥ !½ÐÎÏü»Ò­¥ V5=K*V4

20 ! CR 3ÃʲóÏ©
   LET FF=1000             !F¤Îñ°Ì¤Ï¥Ø¥ë¥Ä
   LET R1=51000            !R¤Îñ°Ì¤Ï¥ª¡¼¥à
   LET R2=82000
   LET R3=39000
   LET C1=0.00685/(10^6)   !C¤Îñ°Ì¤ÏuF,
   LET C2=0.022/(10^6)     !C¤Îñ°Ì¤ÏuF,
   LET C3=330/(10^12)      !C¤Îñ°Ì¤ÏPF,

   LET Y1=(2*PI*FF*C1)     !Y¤Îñ°Ì¤Ï¥â¡¼
   LET Y2=(2*PI*FF*C2)
   LET Y3=(2*PI*FF*C3)

   LET ¦Ø=(2*PI*FF)
   LET Rs=0.1    !Rs¤Îñ°Ì¤Ï¥ª¡¼¥à      ­¡¤È¥¢¡¼¥¹¤ËÆþ¤ì¤ë¡£
   LET IS=10     !Is¤Îñ°Ì¤Ï¥¢¥à¥Ú¥¢  Rs¤Ë²Ã¤ï¤ëÅÅή¸»¤Ç­¡¤È¥¢¡¼¥¹¤ò1V¤Ë¤¹¤ë¡£

   LET NP=4
   DIM A(NP,NP)
   DIM T(NP,NP)

   DIM EOUT(NP,1)
   DIM B(NP,1)
   LET K=1

   !*********** ¥Ç¡¼¥¿¡¼¤È·×»»ÊýË¡*****************
   !ÊýË¡-1
   !  ¥ß¥ë¥Þ¥ó¤ÎÄêÍý¤ä¥­¥ë¥Ò¥Û¥Ã¥Õ¤Îˡ§¤Ê¤¾¤ò¿ÍÑ¡¢Ä¾Àܲò¤¯¡£

   !ÊýË¡-2
   !  ²óÏ©¤Î­¡Ã¼»Ò¤È¥¢¡¼¥¹´Ö¤Ë0.1¥ª¡¼¥à¤ÎÄñ¹³¡¢¥¢¥É¥ß¥Ã¥¿¥ó¥¹Gs¤ò¤ï¤¶¤È¤Ä¤±¤ë¡£
   !  ÅÅή¸» 10A ¤òÆþÎϤˤ·¤Æ­¡Ã¼»Ò¤È¥¢¡¼¥¹´Ö¤Î¡ÊGs¡Ë¤Ë²Ã¤¨¤Æ V1¤òÌó  1V¤È¤¹¤ë¡£
   !  °Ê²¼¤Ï¡¢ÁÛÄê¤Î²óÏ©¤Ë¤Ä¤Ê¤²¡¢Ã¼»Ò´Ö¤Î¥¢¥É¥ß¥Ã¥¿¥ó¥¹¤ò¹Í¤¨ÀáÅÀÊýÄø¼°¤òºî¤ë¡£
   !  ­¡¡¼­¢¤ËR1,­¢¡¼­£¤ËR2,­¢¡¼¥¢¡¼¥¹¤ËÍÆÎÌC1,­£¡¼­¤¤ËR3,­¤¡¼¥¢¡¼¥¹¤ËÍÆÎÌC3
   !  C3¤ÎÅ۵V4¤òÁýÉý´ï¤ËÆþÎÏ¡£­¥¤Ë¤ÏV5=K*V4¤ÎÅ۵¤¬¤Ç¤ë¡£
   !  ­£¤ËÁýÉý´ï¤Î½ÐÎÏV5¤ò¡¢­¥¤«¤éÍÆÎÌC2¤Ç ­£¤ËÀµµ¢´Ô,¡¦¡¦¡¦ V5=K*V4
   !  ­¢Ã¼»Ò¤ÎÅ۵¤òV2,­£Ã¼»Ò¤ÎÅ۵¤òV3,­¤Ã¼»Ò¤ÎÅ۵¤òV4,­¥Ã¼»Ò¤ÎÅ۵¤òV5
   !  Áí¤Æ¥¢¥É¥ß¥Ã¥¿¥ó¥¹¤Ç·×»»¡£
   !  ­¡­¡,­¢­¢,­£­£,­¤­¤Åù Gij(i=j)¤Ï¤½¤ÎÀáÅÀ¤ËÀܳ¤µ¤ì¤ë¥¢¥É¥ß¥Ã¥¿¥ó¥¹¤ÎÏÂ
   !  ­¡-­¢, ­¢-­£ Åù Gij(i?j)¤ÏÀܳ¤µ¤ì¤Æ¤ë¥¢¥É¥ß¥Ã¥¿¥ó¥¹¤Ë-1¤ò³Ý¤±¤ÆÂåÆþ¡£
   !  Amp¤ò½ü¤­¡¢Í×ÁǤΤߤò¹Í¤¨¤ë¤ÈÂоιÔÎó¤Ë¤Ê¤ê,¥Î¡¼¥É¤Î¿ô¤¬¹ÔÎó¤ÎÂ礭¤µ¡£
   !  ¹ÔÎó¤Ï 5x5 ¤À¤¬ V5=K*V4 ¤ò¹Í¤¨A(3,4)=-(1/R3)¤Ë A(3,5)=-¦Ø*C2*j¤ò²Ã¤¨¤ë
   !  K¤Ï A(3,4)=-(1/R3)-K*¦Ø*C2*jÁýÉý´ï¤Î½ÐÎÏ E5=K*E4¤Î´Ø·¸¤òÆþ¤ìA(3,5)¤ò¾Ã¤¹
   !  °ìÊý  A(4,3)=-(1/R3) ¤È¤·ÈóÂоΤȤ·¤¿¡£A(4,3)¡áA(3,4)¤Ç¤ÏÉÔ¶ñ¹ç¤Ç¤¢¤Ã¤¿
   !  ºÇ½ª¤Î¹ÔÎó¤Ï  4x4 ¤ÎÈóÂоΤËÀ®¤ë¤¬¡¢K¤¬Ä¾ÀÜ»ØÄê¤Ç¤­¤ëÍøÅÀ¤¬¤¢¤ë¤è¤¦¤À¡£
   !  ·ë²Ì¤ÏK¤ÎÃͤËÉÒ´¶¤Ç K=0.9875¡Á1.0125¤Þ¤Ç¤Ç¡¢K=1 ¤¬ºÇŬ¡£K= 1.0125¤Ç¥Ô¡¼¥¯


   !ÊýË¡-3
   !ʸ¸¥¤äÅê¹Æ¤ò»²¾È

   !***********************ÊýË¡-2¤Î·×»»  º£²ó¤Ï¤³¤ì¤ÇÄ©Àï*****************

   FOR K=0.9875 TO 1.0125 STEP 0.0125       !K¤ÏAMP¤Î¥²¥¤¥ó¡£
      FOR P=1 TO 57
         LET FF=FREQ(P,1)
         LET ¦Ø=(2*PI*FF)

         LET A(1,1)=(1/Rs)+(1/R1)           !­¡­¡Ã¼»Ò¤Î¥¢¥É¥ß¥¿¥ó¥¹¤Î¹ç·×
         LET A(1,2)=-(1/R1)                 !­¡­¢Ã¼»Ò¤Î¥¢¥É¥ß¥¿¥ó¥¹¤Î -1

         LET A(1,3)=0
         LET A(1,4)=0

         LET A(2,1)=-(1/R1)
         LET A(2,2)=(1/R1)+(1/R2)+¦Ø*C1*j  !­¢­¢Ã¼»Ò¤Î¥¢¥É¥ß¥¿¥ó¥¹¤Î¹ç·×
         LET A(2,3)=-(1/R2)
         LET A(2,4)=0

         LET A(3,1)=0
         LET A(3,2)=-(1/R2)
         LET A(3,3)=(1/R2)+(1/R3)+¦Ø*C2*j  !­£­£Ã¼»Ò¤Î¥¢¥É¥ß¥¿¥ó¥¹¤Î¹ç·×
         LET A(3,4)=-(1/R3)-K*¦Ø*C2*j   !¤³¤³¤ËK¤ÎÃͤòÆþ¤ì V5=K*V4 ¤òÈ¿±Ç¡£
         !¥ß¥ë¥Þ¥ó¤ÎÄêÍý¤òŬÍÑ¡£
         LET A(4,1)=0
         LET A(4,2)=0
         LET A(4,3)=-(1/R3)                !A(3,4)¤È¤ÏÃͤ¬°Û¤Ê¤ë¡£
         LET A(4,4)=(1/R3)+¦Ø*C3*j         !­¤­¤Ã¼»Ò¤Î¥¢¥É¥ß¥¿¥ó¥¹¤Î¹ç·×

         LET B(1,1)=10   ! ÅÅή¸»¤«¤é10A¤òή¤·¤Æ¤¤¤ë¡£­¡Ã¼»Ò¤Ï1V¤Ë¤Ê¤ë¡£
         LET B(2,1)=0    ! ¥­¥ë¥Ò¥Û¥Ã¥Õ¤Îˡ§¤«¤é  ¥¼¥í¤Ç¤¢¤ë¡£
         LET B(3,1)=0    ! ¥­¥ë¥Ò¥Û¥Ã¥Õ¤Îˡ§¤«¤é  ¥¼¥í¤Ç¤¢¤ë¡£
         LET B(4,1)=0    ! ¥­¥ë¥Ò¥Û¥Ã¥Õ¤Îˡ§¤«¤é  ¥¼¥í¤Ç¤¢¤ë¡£
         MAT T=INV(A)
         MAT EOUT=T*B
         ! PRINT "FF=";FF
         ! MAT PRINT EOUT
         LET EE1=EOUT(1,1)
         LET EE2=EOUT(2,1)
         LET EE3=EOUT(3,1)
         LET EE4=EOUT(4,1)
         LET EE5=K*EOUT(4,1)
         PRINT
         LET FREQ(P,2)=20*LOG10(ABS(EE5))
         ! LET FREQ(P,3)=20*LOG10(ABS(EE3))
         LET  G5=(ATN(IM(EE5)/RE(EE5)))
         IF FF>750 THEN LET G5=G5-180
         IF G5>0 THEN LET G5=G5-180
         LET  FREQ(P,4)=G5
         ! LET  G3=(ATN(IM(EE3)/RE(EE3)))
         ! IF FF>750 THEN LET G3=G3-180
         ! LET  FREQ(P,5)=G3
      NEXT P
      PRINT "K=";K
      PRINT "Èֹ栠 ¼þÇÈ ¿ô      E5         E3         ¦È5         ¦È3"
      FOR I=1 TO 57
         PRINT USING "###": I;
         PRINT USING " ###,###.#"  : FREQ(I,1);
         PRINT USING " ####.### dB": FREQ(I,2);
         PRINT USING " ####.### dB": FREQ(I,3);
         PRINT USING " ####.### ÅÙ": FREQ(I,4);
         PRINT USING " ####.### ÅÙ": FREQ(I,5)
      NEXT I

      !¤³¤³¤«¤é¤Ï¡¢»³ÃæÍͤΥ°¥é¥Õ¥×¥í¥°¥é¥à¤ò»²¾È¡£
      SET WINDOW 0.5,5.5, -55,5      !ɽ¼¨Îΰè
      DRAW grid(1,5)                  ! º¸Ã¼¤ÎÌÜÀ¹¤ê
      FOR f=1 TO 6   !£ø¼´¤¬ÂпôÌÜÀ¹ f=1 TO 5 ¤Ç100k ¤Þ¤ÇÌÜÀ¹¤ë¡£
         SET COLOR 1 !£±¤Ï¹õ¿§
  PLOT TEXT ,AT f-0.1,+0.15: mid$("10  100 1k  10k 100k ",4*(f-1)+1,4)
      NEXT f

      FOR f=1 TO 6   !y¼´¤¬Ä¾ÀþÌÜÀ¹¤ê
         SET COLOR 1 !£±¤Ï¹õ¿§
  PLOT TEXT ,AT 0.8,-10*(f-1)-2: mid$("  0 -25 -50 -75 -100-125 ",4*(f-1)+1,4)
      NEXT f

      FOR I=1 TO 57 STEP 1 !¼þÇÈ¿ô[Hz]
         SET COLOR 1
     PLOT LINES:LOG10(FREQ(I,1)) ,FREQ(I,2)/2.5; !ÍøÆÀ[dB]
      NEXT I
      PLOT LINES

      !  FOR I=1 TO 57 STEP 1 !¼þÇÈ¿ô[Hz]
      !     SET COLOR 5    !5¤Ï¿å¿§
      !     PLOT LINES: LOG10(FREQ(I,1)) ,FREQ(I,3)/2; !ÍøÆÀ[dB]
      !  NEXT I
      !  PLOT LINES

      FOR I=1 TO 57 STEP 1 !°ÌÁê³ÑÅÙ[ÅÙ]
         SET COLOR 4  !4¤ÏÀÖ¿§
         PLOT LINES:LOG10(FREQ(I,1)) ,0.125*FREQ(I,4); !³ÑÅÙ[ÅÙ]
      NEXT I
      PLOT LINES

      !  FOR I=1 TO 57 STEP 1 !°ÌÁê³ÑÅÙ[ÅÙ]
      !     SET COLOR 3   !3¤ÏÎп§
      !     PLOT LINES:LOG10(FREQ(I,1)) ,0.25*FREQ(I,5); !³ÑÅÙ[ÅÙ]
      !  NEXT I
      !  PLOT LINES
      FOR f=1 TO 6     !y¼´¤¬Ä¾ÀþÌÜÀ¹¤ê
         SET COLOR 4
   PLOT TEXT ,AT 5.1,-10*(f-1)-2: mid$(" 0  -80 -160-240-320-400 ",4*(f-1)+1,4)
      NEXT f
      PRINT

   NEXT K   ! ¤³¤³¤Ç,ÍøÆÀ K¤òÊѲ½¤µ¤»¤ë¡£

   !*******************************************************************
   !100 LET FF=1000
   !    PRINT 1/R1
   !    PRINT 1/R2
   !    PRINT 1/R3
   !    PRINT  Y1
   !    PRINT  Y2
   !    PRINT  Y3
   !   FOR I=1 TO NP      ! ÇòÀÐÍͤθæ½õ¸À¤ò»²¾È¡£¥Þ¥È¥ê¥¯¥¹¤Î¥Á¥§¥Ã¥¯¤ò¤·¤¿¡£
   !      FOR J=1 TO NP
   !         LET Z=A(I,J)
   !         PRINT USING "(##.######### ":RE(Z);
   !         PRINT USING "##.#########)  ":IM(Z);
   !      NEXT J
   !      PRINT
   !   NEXT I
   !**********************************************************************

END
 

ÀáÅÀ²òÀÏË¡¤Ë¤Ä¤¤¤Æ¡¡¡Ê£³¡Ë

 Åê¹Æ¼Ô¡§Âç·§¡¡Àµ  Åê¹ÆÆü¡§2009ǯ 2·î 9Æü(·î)12»þ12ʬ3ÉÃ
ÊÖ¿®¡¦°úÍÑ
  Âç·§¤Ç¤¹¡£
Á°²óÅê¹Æ¤·¤¿¤Î¤Ç¤¹¤¬¡¢£´£Ø£´¹ÔÎó¤¬ÂоΤǤʤ¤¤Î¤¬µ¤¤Ë¿©¤ï¤º¡¢
£µx£µ¤Ë¤·¡¢¤½¤Î¤¦¤Á£´£Ø£´¤ÏÂоΤǡ¢£µ¹ÔÌܤ˰ì³ç¤·¤ÆÁýÉý´ï
¤ÎÁýÉýÅ٣ˤδط¸¤òÆþ¤ì¤ë¤è¤¦¤Ë²þÎɤ·¤Þ¤·¤¿¡£
¤³¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¡¢ÆþÎϥߥ¹¤¬¾¯¤Ê¤¯¡¢¸å¤Ï¥Þ¥È¥ê¥¯¥¹¤¬¼«Æ°¤Ç
Åú¤¨¤ò½Ð¤·¤Æ¤¯¤ì¤ë¡¦¡¦¡¦¡©¡©¡£

·É¶ñ¡£

10 OPTION ARITHMETIC COMPLEX
   LET j=SQR(-1)
   OPTION BASE 1
   OPTION ANGLE DEGREES

   DIM FREQ(100,5)
   LET FREQ(1,1)=10
   LET FREQ(2,1)=12.25
   LET FREQ(3,1)=15
   LET FREQ(4,1)=17.32
   LET FREQ(5,1)=20
   LET FREQ(6,1)=24.5
   LET FREQ(7,1)=30
   LET FREQ(8,1)=34.6
   LET FREQ(9,1)=40
   LET FREQ(10,1)=50
   LET FREQ(11,1)=60
   LET FREQ(12,1)=70
   LET FREQ(13,1)=80
   LET FREQ(14,1)=90

   FOR I=1 TO 14
      LET P=I
      LET FREQ(I,1)=FREQ(P,1)
   NEXT I
   FOR I=15 TO 28
      LET P=I-14
      LET FREQ(I,1)=FREQ(P,1)*10
   NEXT I
   FOR I=29 TO 42
      LET P=I-28
      LET FREQ(I,1)=FREQ(P,1)*100
   NEXT I
   FOR I=43 TO 56
      LET P=I-42
      LET FREQ(I,1)=FREQ(P,1)*1000
   NEXT I
   LET FREQ(57,1)=100000

   ! FOR I=1 TO 57
   !    PRINT "FREQ(";I;",1)=";FREQ(I,1)
   ! NEXT I


   !                             ¨£¨¡C2¨¡¨¨¨¡¨¡¨¡¨¡¨¡¨¡¨¤ ¡ÖÃí°Õ¡×
   !                             ¨¢      ¨¢  ¨£¨¡¨¡¨¤  ¨¢   »³Ã椵¤ó¤Î²óÏ©¤È
   !                             ¨¢      ¨¦¨¡¨©-   ¨¢  ¨¢  1ÈÖü»ÒÈֹ椬
   !                             ¨¢          ¨¢  £Ë¨§¨¡­¥¨¡ ¾®¤µ¤¤¡£
   !         ¨£¨¡­¡¨¡R1¨¡­¢¨¡R2¨¡­£¨¡R3¨¡­¤¨¡¨©+   ¨¢  ¢¬ V5
   !         ¢¬  ¢¬V1    ¢¬V2    ¢¬V3    ¢¬V4¨¦¨¡¨¡¨¥  ¨¢
   !         Is  Rs      C1              C3            ¨¢
   !         ¢¬  ¨¢      ¨¢              ¨¢            ¨¢
   !         ¨ª¨¡£°¨¡¨¡¨¡¨ª¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨ª¨¡¨¡¨¡¨¡¨¡¨¡¨ª¨¡
   !             ¨¢
   !             ¢á¥¢¡¼¥¹
   !    GND=0 !¥¢¡¼¥¹
   !    V1=1V !ÆþÎÏü»Ò­¡ Rs=0.1¥ª¡¼¥à¤ËÄêÅÅή¸»Is ¤«¤é10Aή¤·¤Æ1V¡£
   !    V5=­¥ !½ÐÎÏü»Ò­¥ V5=K*V4

20 ! CR 3ÃʲóÏ©
   LET FF=1000             !F¤Îñ°Ì¤Ï¥Ø¥ë¥Ä
   LET R1=51000            !R¤Îñ°Ì¤Ï¥ª¡¼¥à
   LET R2=82000
   LET R3=39000
   LET C1=0.00685/(10^6)   !C¤Îñ°Ì¤ÏuF,
   LET C2=0.022/(10^6)     !C¤Îñ°Ì¤ÏuF,
   LET C3=330/(10^12)      !C¤Îñ°Ì¤ÏPF,

   LET Y1=(2*PI*FF*C1)     !Y¤Îñ°Ì¤Ï¥â¡¼
   LET Y2=(2*PI*FF*C2)
   LET Y3=(2*PI*FF*C3)

   LET ¦Ø=(2*PI*FF)
   LET Rs=0.1    !Rs¤Îñ°Ì¤Ï¥ª¡¼¥à      ­¡¤È¥¢¡¼¥¹¤ËÆþ¤ì¤ë¡£
   LET IS=10     !Is¤Îñ°Ì¤Ï¥¢¥à¥Ú¥¢  Rs¤ò1V¤Ë¤¹¤ë¡£

   LET NP=5
   DIM A(NP,NP)
   DIM T(NP,NP)

   DIM EOUT(NP,1)
   DIM B(NP,1)
   LET K=1

   !*********** ¥Ç¡¼¥¿¡¼¤È·×»»ÊýË¡*****************
   !ÊýË¡-1
   !  ¥ß¥ë¥Þ¥ó¤ÎÄêÍý¤ä¥­¥ë¥Ò¥Û¥Ã¥Õ¤Îˡ§¤Ê¤¾¤ò¿ÍÑ¡¢Ä¾Àܲò¤¯¡£

   !ÊýË¡-2£Â
   !  ²óÏ©¤Î­¡Ã¼»Ò¤È¥¢¡¼¥¹´Ö¤Ë0.1¥ª¡¼¥à¤ÎÄñ¹³¡¢¥¢¥É¥ß¥Ã¥¿¥ó¥¹Gs¤ò¤È¤Ä¤±¤ë¡£
   !  ÅÅή¸» 10A ¤òÆþÎϤˤ·¤Æ­¡Ã¼»Ò¤È¥¢¡¼¥¹´Ö¤Î¡ÊGs¡Ë¤Ë²Ã¤¨¤Æ V1¤òÌó  1V¡£
   !  °Ê²¼¤Ï¡¢ÁÛÄê¤Î²óÏ©¤Ë¤Ä¤Ê¤²¡¢Ã¼»Ò´Ö¤Î¥¢¥É¥ß¥Ã¥¿¥ó¥¹¤ò¹Í¤¨ÀáÅÀÊýÄø¼°¡£
   !  ­¡¡¼­¢¤ËR1,­¢¡¼­£¤ËR2,­¢¡¼¥¢¡¼¥¹¤ËÍÆÎÌC1,­£¡¼­¤¤ËR3,­¤¡¼¥¢¡¼¥¹¤ËÍÆÎÌ
   !  C3¡¢C3¤ÎÅ۵V4¤òÁýÉý´ï¤ËÆþÎÏ¡£­¥¤Ë¤ÏV5=K*V4¤ÎÅ۵¤¬¤Ç¤ë¡£
   !  ­£¤ËÁýÉý´ï¤Î½ÐÎÏV5¤ò¡¢­¥¤«¤éÍÆÎÌC2¤Ç ­£¤ËÀµµ¢´Ô,¡¦¡¦¡¦ V5=K*V4
   !  ­¢Ã¼»Ò¤ÎÅ۵¤òV2,­£Ã¼»Ò¤ÎÅ۵¤òV3,­¤Ã¼»Ò¤ÎÅ۵¤òV4,­¥Ã¼»Ò¤ÎÅ۵¤òV5
   !  Áí¤Æ¥¢¥É¥ß¥Ã¥¿¥ó¥¹¤Ç·×»»¡£
   !  ­¡­¡,­¢­¢,­£­£,­¤­¤Åù Gij(i=j)¤Ï¤½¤ÎÀáÅÀ¤ËÀܳ¤µ¤ì¤ë¥¢¥É¥ß¥Ã¥¿¥ó¥¹ÏÂ
   !  ­¡-­¢, ­¢-­£ Åù Gij(i?j)¤ÏÀܳ¤µ¤ì¤Æ¤ë¥¢¥É¥ß¥Ã¥¿¥ó¥¹¤Ë-1¤ò³Ý¤±¤ÆÂåÆþ
   !  Amp¤ò½ü¤­¡¢Í×ÁǤΤߤò¹Í¤¨¤ë¤ÈÂоιÔÎó¤Ë¤Ê¤ê,¥Î¡¼¥É¤Î¿ô¤¬¹ÔÎó¤ÎÂ礭¤µ
   !  ¹ÔÎó¤Ï 5x5 ¤Ç4x4 ¤ÎÉôʬ¤ÏÂоΤËÀ®¤ë¡£ ¤³¤ì¤¬ÍøÅÀ¡£
   !  ¹ÔÎó¤Î 5¹ÔÌÜ¤Ë E5=K*E4¤Î´Ø·¸¤ò¤¤¤ì¤ë¡£¤³¤ì¤¬ÍøÅÀ¡£
   !  K¤Ï A(5,4)=-K   A(5,5)=1   B(5,1)=0  ¤ÇÁýÉý´ï¤Î½ÐÎϤò´Ø·¸ÉÕ¤±¤ë¡£
   !  ºÇ½ª¤Î¹ÔÎó¤Ï  5x5 ¤ÎÈóÂоΤËÀ®¤ë¤¬¡¢K¤¬Ä¾ÀÜ»ØÄê¤Ç¤­¤ëÍøÅÀ¤¬¤¢¤ë¤è¤¦¤À
   !  ·ë²Ì¤ÏK¤ÎÃͤËÉÒ´¶¤Ç K=0.9875¡Á1.0125¤Þ¤Ç¤Ç¡¢K=1 ¤¬ºÇŬ¡£


   !ÊýË¡-3
   !ʸ¸¥¤äÅê¹Æ¤ò»²¾È

   !***********************ÊýË¡-2£Â¤Î·×»»  º£²ó¤Ï¤³¤ì¤ÇÄ©Àï*****************

   FOR K=0.9875 TO 1.0125 STEP 0.0125       !K¤ÏAMP¤Î¥²¥¤¥ó¡£
      FOR P=1 TO 57
         LET FF=FREQ(P,1)
         LET ¦Ø=(2*PI*FF)

         LET A(1,1)=(1/Rs)+(1/R1)       !­¡­¡Ã¼»Ò¤Î¥¢¥É¥ß¥¿¥ó¥¹¤Î¹ç·×
         LET A(1,2)=-(1/R1)             !­¡­¢Ã¼»Ò¤Î¥¢¥É¥ß¥¿¥ó¥¹¤Î -1
         LET A(1,3)=0
         LET A(1,4)=0
         LET A(1,5)=0

         LET A(2,1)=-(1/R1)
         LET A(2,2)=(1/R1)+(1/R2)+¦Ø*C1*j  !­¢­¢Ã¼»Ò¤Î¥¢¥É¥ß¥¿¥ó¥¹¤Î¹ç·×
         LET A(2,3)=-(1/R2)
         LET A(2,4)=0
         LET A(2,5)=0

         LET A(3,1)=0
         LET A(3,2)=-(1/R2)
         LET A(3,3)=(1/R2)+(1/R3)+¦Ø*C2*j!­£­£Ã¼»Ò¤Î¥¢¥É¥ß¥¿¥ó¥¹¤Î¹ç·×
         LET A(3,4)=-(1/R3)   !A(4,3)¤ÈÃͤ¬Æ±¤¸¤¯¤·ÂоιÔÎó¤Ë¤¹¤ë¡£
         LET A(3,5)=-¦Ø*C2*j

         LET A(4,1)=0
         LET A(4,2)=0
         LET A(4,3)=-(1/R3)  !A(3,4)¤ÈÃͤ¬Æ±¤¸¤¯¤·ÂоιÔÎó¤Ë¤¹¤ë¡£
         LET A(4,4)=(1/R3)+¦Ø*C3*j !­¤­¤Ã¼»Ò¤Î¥¢¥É¥ß¥¿¥ó¥¹¤Î¹ç·×
         LET A(4,5)=0

         LET A(5,1)=0
         LET A(5,2)=0
         LET A(5,3)=0
         LET A(5,4)=-K   ! ¤³¤³¤ËK¤ÎÃͤòÆþ¤ì V5=K*V4 ¤òÈ¿±Ç¡£
         LET A(5,5)=1    ! ¤³¤³¤Ë1¤ÎÃͤòÆþ¤ì V5=K*V4 ¤òÈ¿±Ç¡£

         LET B(1,1)=10   ! ÅÅή¸»¤«¤é10A¤òή¤¹¡£­¡Ã¼»Ò¤Ï1V¡£
         LET B(2,1)=0    ! ¥­¥ë¥Ò¥Û¥Ã¥Õ¤Îˡ§¤«¤é  ¥¼¥í¤Ç¤¢¤ë¡£
         LET B(3,1)=0    ! ¥­¥ë¥Ò¥Û¥Ã¥Õ¤Îˡ§¤«¤é  ¥¼¥í¤Ç¤¢¤ë¡£
         LET B(4,1)=0    ! ¥­¥ë¥Ò¥Û¥Ã¥Õ¤Îˡ§¤«¤é  ¥¼¥í¤Ç¤¢¤ë¡£
         LET B(5,1)=0    ! ¤³¤³¤Ë0¤ÎÃͤòÆþ¤ì V5=K*V4 ¤òÈ¿±Ç¡£
         MAT T=INV(A)
         MAT EOUT=T*B
         ! PRINT "FF=";FF
         ! MAT PRINT EOUT
         LET EE1=EOUT(1,1)
         LET EE2=EOUT(2,1)
         LET EE3=EOUT(3,1)
         LET EE4=EOUT(4,1)
         LET EE5=EOUT(5,1)
         PRINT
         LET FREQ(P,2)=20*LOG10(ABS(EE5))
         ! LET FREQ(P,3)=20*LOG10(ABS(EE3))
         LET  G5=(ATN(IM(EE5)/RE(EE5)))
         IF FF>750 THEN LET G5=G5-180
         IF G5>0 THEN LET G5=G5-180
         LET  FREQ(P,4)=G5
         ! LET  G3=(ATN(IM(EE3)/RE(EE3)))
         ! IF FF>750 THEN LET G3=G3-180
         ! LET  FREQ(P,5)=G3
      NEXT P
      PRINT "K=";K
      PRINT "Èֹ栠 ¼þÇÈ ¿ô      E5         E3         ¦È5         ¦È3"
      FOR I=1 TO 57
         PRINT USING "###": I;
         PRINT USING " ###,###.#"  : FREQ(I,1);
         PRINT USING " ####.### dB": FREQ(I,2);
         PRINT USING " ####.### dB": FREQ(I,3);
         PRINT USING " ####.### ÅÙ": FREQ(I,4);
         PRINT USING " ####.### ÅÙ": FREQ(I,5)
      NEXT I

      !¤³¤³¤«¤é¤Ï¡¢»³ÃæÍͤΥ°¥é¥Õ¥×¥í¥°¥é¥à¤ò»²¾È¡£
      SET WINDOW 0.5,5.5, -55,5      !ɽ¼¨Îΰè
      DRAW grid(1,5)                  ! º¸Ã¼¤ÎÌÜÀ¹¤ê
      FOR f=1 TO 6   !£ø¼´¤¬ÂпôÌÜÀ¹ f=1 TO 5 ¤Ç100k ¤Þ¤ÇÌÜÀ¹¤ë¡£
         SET COLOR 1 !£±¤Ï¹õ¿§
   PLOT TEXT ,AT f-0.1,+0.15: mid$("10  100 1k  10k 100k ",4*(f-1)+1,4)
      NEXT f

      FOR f=1 TO 6   !y¼´¤¬Ä¾ÀþÌÜÀ¹¤ê
         SET COLOR 1 !£±¤Ï¹õ¿§
PLOT TEXT ,AT 0.8,-10*(f-1)-2: mid$("  0 -25 -50 -75 -100-125 ",4*(f-1)+1,4)
      NEXT f

      FOR I=1 TO 57 STEP 1 !¼þÇÈ¿ô[Hz]
         SET COLOR 1
         PLOT LINES:LOG10(FREQ(I,1)) ,FREQ(I,2)/2.5; !ÍøÆÀ[dB]
      NEXT I
      PLOT LINES

      !  FOR I=1 TO 57 STEP 1 !¼þÇÈ¿ô[Hz]
      !     SET COLOR 5    !5¤Ï¿å¿§
      !     PLOT LINES: LOG10(FREQ(I,1)) ,FREQ(I,3)/2; !ÍøÆÀ[dB]
      !  NEXT I
      !  PLOT LINES

      FOR I=1 TO 57 STEP 1 !°ÌÁê³ÑÅÙ[ÅÙ]
         SET COLOR 4  !4¤ÏÀÖ¿§
         PLOT LINES:LOG10(FREQ(I,1)) ,0.125*FREQ(I,4); !³ÑÅÙ[ÅÙ]
      NEXT I
      PLOT LINES

      !  FOR I=1 TO 57 STEP 1 !°ÌÁê³ÑÅÙ[ÅÙ]
      !     SET COLOR 3   !3¤ÏÎп§
      !     PLOT LINES:LOG10(FREQ(I,1)) ,0.25*FREQ(I,5); !³ÑÅÙ[ÅÙ]
      !  NEXT I
      !  PLOT LINES
      FOR f=1 TO 6     !y¼´¤¬Ä¾ÀþÌÜÀ¹¤ê
         SET COLOR 4
PLOT TEXT ,AT 5.1,-10*(f-1)-2: mid$(" 0  -80 -160-240-320-400 ",4*(f-1)+1,4)
      NEXT f
      PRINT
    NEXT K   ! ¤³¤³¤Ç,ÍøÆÀ K¤òÊѲ½¤µ¤»¤ë¡£

END
 

¥³¥ó¥Ç¥ó¥µ¤È¡¢Äñ¹³¤À¤±¡©

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2009ǯ 2·î 9Æü(·î)12»þ48ʬ25ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  ¤³¤Î²óÏ©¤Ç¡¢700Hz ÉÕ¶á¤Î¡¢Æþ½ÐÎÏÅŰµÈæ¤ò¡¢·×»»¤·¤Æ²¼¤µ¤¤¡£
¤­¤Ã¤È¡¢¿®¤¸¤é¤ì¤Ê¤¤¤³¤È¤¬¡¢¸«¤Ä¤«¤ê¤Þ¤¹¡£
 

Re: ¥³¥ó¥Ç¥ó¥µ¤È¡¢Äñ¹³¤À¤±¡©

 Åê¹Æ¼Ô¡§Âç·§¡¡Àµ  Åê¹ÆÆü¡§2009ǯ 2·î10Æü(²Ð)10»þ18ʬ37ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.268[¸µµ­»ö¤Ø]

SECOND¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¤³¤Î²óÏ©¤Ç¡¢700Hz ÉÕ¶á¤Î¡¢Æþ½ÐÎÏÅŰµÈæ¤ò¡¢·×»»¤·¤Æ²¼¤µ¤¤¡£
> ¤­¤Ã¤È¡¢¿®¤¸¤é¤ì¤Ê¤¤¤³¤È¤¬¡¢¸«¤Ä¤«¤ê¤Þ¤¹¡£

Âç·§¤Ç¤¹¡£
ºÇ¶á¡¢½¬¤¤³Ð¤¨¤¿ÀáÅÀÊýÄø¼°¤Ç²ò¤¤¤¿¤È¤³¤í¡¢³Î¤«¤Ë
700HzÉÕ¶á¤Ç0.7dB ÄøÅÙ¤ÎÀ¹¤ê¾å¤¬¤ê¤¬¡¢¤æ¤ë¤ä¤«¤Ë
¤¢¤ê¤Þ¤·¤¿¡£
¥Ñ¥Ã¥·¥ÖÁǻҤΤߤǡ¢¥È¥é¥ó¥¹¤ß¤¿¤¤¤Êưºî¤ò¤¹¤ë¤Î¤Ï
³Î¤«¤ËÉԻ׵ĤǤ¹¡£

¤½¤³¤Ç¸æ¼ÁÌ䤤¤¿¤·¤Þ¤¹¡£

¡Ê£±¡Ë¤³¤Î²óÏ©¤Ï¡Ö¡©¡©¡©²óÏ©¡×¤È¤·¤ÆÍ­Ì¾¤Ê²óÏ©¤Ê¤Î¤Ç¤¹¤«¡£
¡Ê£²¡Ë´û¤Ë¡¢¤Ê¤Ë¤«¤ÎÀ½Éʤ˻Ȥï¤ì¤Æ¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£

¤½¤Î¾
¡Ê£±¡Ë10¿ÊBASIC ¤Ç´û¤Ëºî¤é¤ì¤¿²Ê³Øµ»½Ñ¤Î¥½¥Õ¥È¤ò¡¡Åŵ¤¡¢
¡¡¡¡¡¡ÅÚÌÚ¡¢°åÎÅ¡¦¡¦¡¦¡¦¤Ê¤É¤ÈʬÎष¤ÆÅÐÏ¿¤·¤Æ¤¢¤ë
¡¡¡¡¡¡¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Î¾ì½ê¤Ï¤¢¤ê¤Þ¤»¤ó¤«¡£
¡¡¡¡¡¡LINUX ¤Ç¤½¤¦¤¤¤¦¤Î¤¬¡¢¤¢¤ë»ö¤òºÇ¶áÃΤê¤Þ¤·¤¿¡£
¡¡¡¡¡¡10¿ÊBASIC ¤Ç¤â¤¢¤ì¤Ð¡¢³§¤¬ÂçÁØÊØÍø¤Ë»È¤¤È¯Å¸¤Ë
¡¡¡¡¡¡·Ò¤¬¤ë¤È»×¤¤¤Þ¤¹¡£

·É¶ñ
 

Àë¸À²Äǽ¤ÊÇÛÎó¤ÎÂ礭¤µ¤Î¾å¸Â

 Åê¹Æ¼Ô¡§ÇòÀС¡ÏÂÉ×  Åê¹ÆÆü¡§2009ǯ 2·î10Æü(²Ð)11»þ28ʬ54ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.252[¸µµ­»ö¤Ø]

½½¿ÊBASIC¤¬µ­²±Îΰè¤È¤·¤ÆÍѤ¤¤ë¥á¥â¥ê¤ÏÂçÊ̤·¤Æ¥Ò¡¼¥×¤È¥¹¥¿¥Ã¥¯¤Î2¼ïÎब¤¢¤ê¤Þ¤¹¡£
¥¹¥¿¥Ã¥¯¤Ï¡¤¼ê³¤­¤Î¼Â¹Ô¡¦½ªÎ»¤Ë¤·¤¿¤¬¤Ã¤Æ¼«Æ°Åª¤ËÁý¸º¤·¤Þ¤¹¡£
¥Ò¡¼¥×¤Ï¼ê³¤­¤Î¿Ê¹Ô¤ÈÈ󯱴ü¤Ë³ÎÊÝ¡¦²òÊü¤µ¤ì¤Þ¤¹¡£
¥Ø¥ë¥×¤Î¡Ö¸À¸ì»ÈÍѤξܺ١ס½¡ÖÀ©¸Â¡×¤ÎÊǤ˵­ºÜ¤µ¤ì¤Æ¤¤¤ë¡ÖÊÑ¿ô´ÉÍýÍÑ¥á¥â¥ê¡×¤Ï¥¹¥¿¥Ã¥¯¥á¥â¥ê¤Ë³ä¤êÅö¤Æ¤ëÎΰè¤Ç¤¹¡£

½½¿ÊBASIC¤Ï¡¤
LET N=1000
DIM A(N)
¤Î¤è¤¦¤Ê³ÈÄ¥¹½Ê¸¤òµöÍÆ¤¹¤ë¤¿¤á¡¤ÇÛÎóÍ×ÁǤμÂÎΰè¤ò¥Ò¡¼¥×¾å¤Ë³ÎÊݤ·¤Þ¤¹¡£
DIM B(1000)
¤Î¤è¤¦¤ËFull BASICµ¬³Ê¤ÎÈϰϤÇÀë¸À¤µ¤ì¤¿ÇÛÎó¤Ï¥¹¥¿¥Ã¥¯¥á¥â¥ê¾å¤Ë³ÎÊݤǤ­¤Þ¤¹¤¬¡¤
ÆâÉô¹½Â¤¤ÎÊ£»¨¤µ¤òÈò¤±¤ë¤¿¤á¤Ë¤É¤Á¤é¤Î·Á¼°¤ÎÇÛÎó¤âÇÛÎóÍ×ÁǤϥҡ¼¥×¾å¤ËÃÖ¤¤¤Æ¤¤¤Þ¤¹¡£

ÇÛÎó¤ò¿ÍѤ¹¤ë¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤Ë¤Ï¡¤ÊÑ¿ô´ÉÍýÍÑ¥á¥â¥ê¤ò¾®¤µ¤¯¤È¤Ã¤¿¤Û¤¦¤¬Í­Íø¤Ç¤¹¡£
¤·¤«¤·¡¤¥Ò¡¼¥×¤«¤é1²ó¤Ë¼èÆÀ¤Ç¤­¤ë¥á¥â¥ê¤ÎÂ礭¤µ¤Ë¤ÏOS¡¤³«È¯¸À¸ì¤ª¤è¤Ó¼Â¹Ô´Ä¶­¤ËͳÍ褹¤ëÀ©¸Â¤¬¤¢¤ê¤Þ¤¹¡£
¼ÂÁõ¥á¥â¥ê1GB(¥Ó¥Ç¥ª¥á¥â¥ê¤ò´Þ¤à)¤ÎWindows XPµ¡¤Ç¡¤
BASIC.INI¤Î[FRAME]¥»¥¯¥·¥ç¥ó¤Ë
Virtualmemory=16
¤Îµ­½Ò¤òÄɲ䷤Ƽ¸³¤¹¤ë¤È¡¤
10 OPTION ARITHMETIC NATIVE
20 DIM A(88000000)
30 END
ÄøÅÙ¤¬¸Â³¦¤Ç¡¤¤³¤Î¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¤ÈHDD¤Ø¤Î¥¹¥ï¥Ã¥×¤¬È¯À¸¤·¤Þ¤¹¡£
20¹Ô¤ò A(90000000)¤ËÊѤ¨¤ë¤È¥á¥â¥êÉÔ­¤Î¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£
2¿Ê¥â¡¼¥É¤Ç¤Ï¿ôÃÍÊÑ¿ô1¸Ä¤Ç8¥Ð¥¤¥ÈÀêÍ­¤¹¤ë¤Î¤Ç¡¤88000000¸Ä¤ÎÊÑ¿ô¤Ï704MB¤ËÁêÅö¤·¤Þ¤¹¡£
¤Ê¤ª¡¤¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¤È¡¤¥Ò¡¼¥×Îΰè¤Î¥á¥â¥ê¤ÎÃÇÊÒ²½¤¬µ¯¤³¤ë¤Î¤Ç¡¤¥×¥í¥°¥é¥à¤Î¼Â¹Ô¤ËÀ®¸ù¤·¤¿¤È¤­Â³¤±¤ÆÍ×ÁÇ¿ô¤òÁý¤ä¤·¤¿¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¤È¼ºÇÔ¤¹¤ë²ÄǽÀ­¤¬¹â¤¯¤Ê¤ê¤Þ¤¹¡£À®¸ù¤·¤¿¸å¤Î»î¹Ô¤Ï¡¤°ìö¡¤BASIC.EXE¤ò½ªÎ»¡¦ºÆµ¯Æ°¸å¤Ë¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
¤Þ¤¿¡¤¤³¤Î¤³¤È¤Ï¡¤¥×¥í¥°¥é¥à¤Î³«È¯¤Î¤¿¤á¤Ë²¿ÅÙ¤â¥×¥í¥°¥é¥à¤Î¼Â¹Ô¤ò¤¯¤êÊÖ¤¹¤è¤¦¤Ê¾ìÌ̤ˤ⤢¤Æ¤Ï¤Þ¤ê¤Þ¤¹¡£
 

Re: ¥³¥ó¥Ç¥ó¥µ¤È¡¢Äñ¹³¤À¤±¡©

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2009ǯ 2·î10Æü(²Ð)20»þ01ʬ34ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.269[¸µµ­»ö¤Ø]

¡ä¡Ê£±¡Ë¤³¤Î²óÏ©¤Ï¡Ö¡©¡©¡©²óÏ©¡×¤È¤·¤ÆÍ­Ì¾¤Ê²óÏ©¤Ê¤Î¤Ç¤¹¤«¡£

¡¡¡¡¼Â¤Ï¡¢¤³¤Î¤Þ¤Þ¤Ç¤Ï¡¢¼ÂÍѤˤʤé¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢¤â¤¦£±ÃʤΣãҤòÄɲä·¡¢
¡¡¡¡£Ã£Ò£³ÃÊ·¿¤Î¾º°µ²óÏ©¤Ë¤·¤¿¤â¤Î¤¬¡¢£µ£°Ç¯¤âÂçÀΡÊ1962ǯ°ÊÁ°¡Ë¤Ë¡¢
¡¡¡¡£Ò¡Ý£Ã ¥«¥½¡¼¥É¡¦¥Û¥í¥ïȯ¿¶´ï¡¡ÊƹñÆÃµö2769088
¡¡¡¡------------------------------------------------------------
¡¡¡¡»²¹Íʸ¸¥¡§¡¡¥¨¥ì¥¯¥È¥í¥Ë¥¯¥¹ ¥¨¥ó¥¸¥Ë¥¢¤Î¤¿¤á¤Î ¥é¥×¥é¥¹ÊÑ´¹
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥Û¥ë¥Ö¥ë¡¼¥¯Ãø¡¡µÜÏÆ°ìÃË Ìõ¡ÊÄ«ÁÒ½ñŹ¡Ë
¡¡¡¡------------------------------------------------------------
¡¡¡¡£³Ãʰʾå¤Ë¤¹¤ë¤È¡¢£°°ÜÁê¤Ç¤Î¾º°µ¸ú²Ì¤¬ÆÀ¤é¤ì¡¢¥Ü¥ë¥Æ¡¼¥¸¡¦¥Õ¥©¥í¥¢¡¼
¡¡¡¡¤Î¤è¤¦¤Ê¡¢ÅŰµÍøÆÀ¡ã£±¡¡¤Î¥Ð¥Ã¥Õ¥¡¡¼¤À¤±¤Ç¡¢½ÐÎÏ¥¤¥ó¥Ô¡¼¥À¥ó¥¹¤ÎÄ㤤
¡¡¡¡È¯¿¶´ï¤¬¡¢ºî¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡Ê²¼µ­¥Ù¥¯¥È¥ë¿Þ»²¾È¡£Ä¾´¶ÅªÇİ®¤Ë¤Ï¡¢¤³¤ÎÊý¤¬²ò¤ê°×¤¤¡£¡Ë

¡ä¡Ê£²¡Ë´û¤Ë¡¢¤Ê¤Ë¤«¤ÎÀ½Éʤ˻Ȥï¤ì¤Æ¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£

¡¡¡¡Ëؤó¤ÉÃΤé¤ì¤Æ¤¤¤Þ¤»¤ó¡£Ä´¤Ù¤Æ¤Ï¤¤¤Þ¤»¤ó¤¬¡¢¤â¤¦»þ¸ú¤À¤È¤â¡¢»×¤¤¤Þ¤¹¡£

¡ä¤½¤Î¾
¡ä¡Ê£±¡Ë10¿ÊBASIC ¤Ç´û¤Ëºî¤é¤ì¤¿²Ê³Øµ»½Ñ¤Î¥½¥Õ¥È¤ò¡¡Åŵ¤¡¢
¡¡¡¡¡¡ÅÚÌÚ¡¢°åÎÅ¡¦¡¦¡¦¡¦¤Ê¤É¤ÈʬÎष¤ÆÅÐÏ¿¤·¤Æ¤¢¤ë
¡¡¡¡¡¡¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Î¾ì½ê¤Ï¤¢¤ê¤Þ¤»¤ó¤«¡¦¡¦¡¦

¡¡¡¡¤½¤ì¤¬¡¢¤Ç¤­¤ë¤È¤¤¤¤¤Ç¤¹¤Í¡£Ê£ÁÇ¿ô¤â»È¤¨¤Ê¤¤¸æËܲȤè¤ê¤Ï¡¢
¡¡¡¡¡Ö½½¿Ê£Â£Á£Ó£É£Ã¡×¤ÎÊý¤¬¤¤¤¤¤Ç¤¹¡£
 

Re: ¥³¥ó¥Ç¥ó¥µ¤È¡¢Äñ¹³¤À¤±¡©¡Ê£²¡Ë

 Åê¹Æ¼Ô¡§Âç·§¡¡Àµ  Åê¹ÆÆü¡§2009ǯ 2·î12Æü(ÌÚ)14»þ21ʬ48ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.271[¸µµ­»ö¤Ø]

SECOND¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ¡ä¡Ê£±¡Ë¤³¤Î²óÏ©¤Ï¡Ö¡©¡©¡©²óÏ©¡×¤È¤·¤ÆÍ­Ì¾¤Ê²óÏ©¤Ê¤Î¤Ç¤¹¤«¡£
>
> ¡¡¡¡¼Â¤Ï¡¢¤³¤Î¤Þ¤Þ¤Ç¤Ï¡¢¼ÂÍѤˤʤé¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢¤â¤¦£±ÃʤΣãҤòÄɲä·¡¢
> ¡¡¡¡£Ã£Ò£³ÃÊ·¿¤Î¾º°µ²óÏ©¤Ë¤·¤¿¤â¤Î¤¬¡¢£µ£°Ç¯¤âÂçÀΡÊ1962ǯ°ÊÁ°¡Ë¤Ë¡¢
> ¡¡¡¡£Ò¡Ý£Ã ¥«¥½¡¼¥É¡¦¥Û¥í¥ïȯ¿¶´ï¡¡ÊƹñÆÃµö2769088
> ¡¡¡¡------------------------------------------------------------
> ¡¡¡¡£³Ãʰʾå¤Ë¤¹¤ë¤È¡¢£°°ÜÁê¤Ç¤Î¾º°µ¸ú²Ì¤¬ÆÀ¤é¤ì¡¢¥Ü¥ë¥Æ¡¼¥¸¡¦¥Õ¥©¥í¥¢¡¼
> ¡¡¡¡¤Î¤è¤¦¤Ê¡¢ÅŰµÍøÆÀ¡ã£±¡¡¤Î¥Ð¥Ã¥Õ¥¡¡¼¤À¤±¤Ç¡¢½ÐÎÏ¥¤¥ó¥Ô¡¼¥À¥ó¥¹¤ÎÄ㤤
> ¡¡¡¡È¯¿¶´ï¤¬¡¢ºî¤ì¤Þ¤¹¡£
>

Âç·§¡¡¤Ç¤¹¡£
ͦ¤ò¸Ý¤·¤Æ¡¢£³ÃʤËÄ©À路¤Þ¤·¤¿¡£1.225khzÉÕ¶á¤Ç0.9db¤ÎÀ¹¤ê¾å¤¬¤ê¤Ç¤·¤¿¡£
²¿¤«¡¢Éé²Ù¤¬½Å¤¤¤Î¤À¤í¤¦¤È¡¢Äñ¹³¤ò¿Þ¤Î²¼¤«¤é1.5k,15k,150k¤ÈÁý¤ä¤·¡¢
ÍÆÎ̤òµÕ¤Ë²¼¤«¤é0.1uF,0.01uF,0.001uF¤È¸º¤é¤¹¤È¡¢¼Â¤Ë1.225khzÉÕ¶á¤Ç1.99db
¤ÎÀ¹¤ê¾å¤¬¤ê¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¤³¤ì¤Ê¤éȯ¿¶¤·¤½¤¦¤Ç¤¹¡£
¡¦¡¦¡¦¾°¡¢£²ÃʤǤ⤳¤Î¤è¤¦¤Ë¤¹¤ë¤È¡¢700HZÉÕ¶á¤Ç1.153db¤ÈÁý¤¨¤Þ¤·¤¿¡£


¼ÁÌä¤Ç¤¹¤¬
¡Ê£±¡Ëȯ¿¶´ï¤È¤Ï¡¢²¿½è¤È¡¼²¿½è¤ò¡¡¤Ä¤Ê¤°¤Î¤Ç¤·¤ç¤¦¤«¡£
¡Ê£²¡Ë¶¤Î»þ¡¢¥Þ¥È¥ê¥¯¥¹¤âÅú¤¨¤¬¥°¥¸¥ã¥°¥¸¥ã¤È»ß¤Þ¤é¤Ê¤¯
¡¡¡¡¡¡À®¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£¡¦¡¦¡¦¤½¤ì¤Çȯ¿¶¤È¤¹¤ë¡©¡©¡©¡£
¡Ê£³¡Ë¡¦¡¦¡¦Ê̤ËÊýÄø¼°¤òºî¤ê»þ´Ö¤Ç²ò¤¯¤Î¤Ç¤·¤ç¤¦¤«¡£
¡¡¡¡¡¡¤³¤Î¤è¤¦¤Ê»þ¤ÎÊýÄø¼°¤Î¥µ¥ó¥×¥ë¤ò¶µ¤¨¤Æ¤¤¤¿¤À¤±¤ë¤È
¡¡¡¡¡¡¤¢¤ê¤¬¤¿¤¤¤Î¤Ç¤¹¤¬¡£

·É¶ñ
 

Re: ¥³¥ó¥Ç¥ó¥µ¤È¡¢Äñ¹³¤À¤±¡©¡Ê£²¡Ë

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2009ǯ 2·î13Æü(¶â)00»þ43ʬ30ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.272[¸µµ­»ö¤Ø]

Âç·§¡¡Àµ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

¥×¥í¥°¥é¥à¤Ç¤Ï¤Ê¤¤°Ù¡¢¤³¤³¤ËŬÅö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¤´»²¹Í¤Ë¡£

¥ª¥Ú¥¢¥ó¥×¼«ÂΤμþÇÈ¿ô¡¢°ÌÁêÆÃÀ­¤¬ÌäÂê¤Ë¤Ê¤ë¤è¤¦¤Ê¹â¼þÇÈȯ¿¶´ï¤Ç¤Ê¤¤¾ì¹ç¡¢
µ¢´Ô²óÏ©¤Î·×»»¤À¤±¤Ç¡¢½½Ê¬¤À¤È»×¤¤¤Þ¤¹¡£

ȯ¿¶¾ò·ï¤Ï¡¢¥ë¡¼¥×¥²¥¤¥ó£±¡Ê0dB)¡¢°ÜÁêÎ̤ϡ¢£°¤ò´Þ¤à£²¦Ð¤ÎÀ°¿ôÇܤǤ¹¤¬¡¢
0dB ¤Ç¤Ï¡¢³«»Ïµ¯Æ°¤¬¡¢¤Ç¤­¤Ê¤¤¾ì¹ç¤ò´Þ¤à¤¿¤á¡¢¥²¥¤¥ó¤ò¿¤á¤Ë¤·¤Þ¤¹¡£
¤·¤«¤·¡¢
Àµ¸¹ÇȤ¬Íߤ·¤¤¾ì¹ç¡¢µ¯Æ°¤Î¿®ÍêÀ­¤ò³ÎÊݤ¹¤ëÄøÅ٤ξ¯¤Ê¤á¤Ë¤·¤Ê¤¤¤È¡¢
¸µ¡¹¤¬¡¢¹âÄ´ÇȤò´Þ¤ó¤ÀÏÄÇȤʤΤˡ¢±×¡¹Àµ¸¹ÇÈ·Á¤«¤é¡¢±ó¤¯¤Ê¤ê¤Þ¤¹¡£

¤É¤ì¤¯¤é¤¤Â¿ÌܤΥ²¥¤¥ó¤¬Å¬Åö¤«¤Ë¤Ä¤¤¤Æ¡¢¿ô³ØÅª¤Ë¤Ï£±¤ò±Û¤¨¤Æ¤µ¤¨¤ª¤ì¤Ð¡¢
¤¤¤¤¤Î¤Ç¤¹¤¬¡¢¼ÂºÝ¤Î¥¢¥ó¥×¤Î¾ì¹ç¡¢ÌµÏĤÎÀµ¸¹ÇȤò¡¢°Ý»ý¤¹¤ë¥²¥¤¥ó¤ËÌ¿Ãæ
¤µ¤»¤Æ¤â¡¢ÉÔ°ÂÄê¤Ç¸ÇÄê¤Ç¤­¤Þ¤»¤ó¡£½ÐÎÏ¿¶Éý¤Ç¡¢Äñ¹³ÃͤÎÊѲ½¤¹¤ëÁǻҤòÍѤ¤¡¢
¥²¥¤¥ó¤Î¼«Æ°À©¸æ¤ò¤·¤Ê¤¤¸Â¤ê¡¢Àµ¸¹ÇȤÏ̵Íý¤Ç¤¹¡£°ìÈ̤Îȯ¿¶´ï¤Ï¡¢ÇÈ·Á¤ÎÀíÆ¬
¤ò¡¢½ÐÎÏ˰Ϥˡ¢¤Ö¤Ä¤±¤ë»ö¤Ç¡¢°ÂÄê¤òÊݤäƤ¤¤ë¤¿¤á¡¢É¬¤ºÏĤó¤Ç¤¤¤Þ¤¹¡£

ȯ¿¶²óÏ©¤Ï¡¢Àþ·¿¤Ç¤¢¤ë¸Â¤ê¡¢Ìµ¸ÂÂ礫¡¢¸º¿êÄä»ß¤«¡¢¤É¤Á¤é¤«¤Ëή¤ì¤Þ¤¹¤¬¡¢
·×»»¾å¤Ï¡¢£±¼þ¥ë¡¼¥×¤ÎÅÁã´Ø¿ô¡Ê½ÐÎÏ¡¿ÆþÎϡˤòÊ£ÁÇ¿ô¤Çµá¤á¡¢
¡Ê¼Â¿ôÉô¡á£±¡¢µõ¿ôÉô¡á£°¡Ë¤Ë¤Ê¤ë¾ò·ï¤Ç¡¢²ò¤È¤·¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£

²¼¿Þ¤Ï¡¢£Ã£Á£Ä¤Ç¡¢È¯¿¶¤µ¤»¤¿Îã¤Ç¡¢¼Âʪ¤Ë¤Ï¡¢¤µ¤é¤Ë¡¢¥À¥¤¥Ê¥ß¥Ã¥¯¡¦¥ì¥ó¥¸¤ä¡¢
ľή¥Ð¥¤¥¢¥¹¤ò¡¢¸¡Æ¤¤·¤Þ¤¹¡£¡ÊŬÅö¤Ê»²¹Í½ñ¤ò¤µ¤¬¤·¤Æ²¼¤µ¤¤¡£¡Ë
 

Re: ¥³¥ó¥Ç¥ó¥µ¤È¡¢Äñ¹³¤À¤±¡©¡Ê£²¡Ë

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2009ǯ 2·î13Æü(¶â)06»þ08ʬ54ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.273[¸µµ­»ö¤Ø]

Âç·§¡¡Àµ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£
¡ã¡ãÄɵ­¡ä¡ä
1KHz ¤Ç¡¢È¯¿¶¤·¤Æ¤¤¤ëµ¢´Ô²óÏ©¤ÎÆÃÀ­¤¬¡¢²¼¤ÎÍͤˤʤäƤ¤¤ë¤Î¤Ï¡¢´ñ̯¤Ë
»×¤¨¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£È¯¿¶¤·¤Æ¤¤¤ë 1KHz ÉÕ¶á¤Ï¡¢Ìó +0.1dB  +0.3deg.¤Ç¤¹¡£
¾º°µ¤ÎÂ礭¤¤Éôʬ¤Ï¡¢°ÌÁê³Ñ¤¬£²£î¦Ð¤Ç¤Ê¤¯¡¢È¯¿¶¾ò·ï¤ò¡¢Ëþ¤¿¤·¤Æ¤¤¤Ê¤¤¡£

0deg.¤Ç¤Ê¤¯¡¢¤ä¤ä¿ÊÁ꤮¤ß¤Ê¤Î¤Ï¡¢£Ï£Ð¥¢¥ó¥×ÆâÉô¤ÎÆþ½ÐÎÏ¥¤¥ó¥Ô¡¼¥À¥ó¥¹¤¬¡¢
1M¦¸,¡¡100¦¸¤Ë¤Ê¤Ã¤Æ¤¤¤Æ¡¢½ã¿è¤ÊÍýÁÛ¥¢¥ó¥×¤Ç¤Ï¤Ê¤¤»ö¤È¡¢Àܳ¤·¤¿»ö¤Ë¤è¤Ã¤Æ¡¢
µ¢´Ô²óÏ©¤ÎÄê¿ô¤¬¡¢¶Ï¤«¤Ë°Üư¤·¤¿°Ù¤«¤È»×¤¤¤Þ¤¹¡£
 

Re: ¥³¥ó¥Ç¥ó¥µ¤È¡¢Äñ¹³¤À¤±¡©¡Ê£²¡Ë

 Åê¹Æ¼Ô¡§Âç·§¡¡Àµ  Åê¹ÆÆü¡§2009ǯ 2·î13Æü(¶â)19»þ07ʬ50ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.274[¸µµ­»ö¤Ø]

SECOND¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> Âç·§¡¡Àµ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£
> ¡ã¡ãÄɵ­¡ä¡ä
> 1KHz ¤Ç¡¢È¯¿¶¤·¤Æ¤¤¤ëµ¢´Ô²óÏ©¤ÎÆÃÀ­¤¬¡¢²¼¤ÎÍͤˤʤäƤ¤¤ë¤Î¤Ï¡¢´ñ̯¤Ë
> »×¤¨¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£È¯¿¶¤·¤Æ¤¤¤ë 1KHz ÉÕ¶á¤Ï¡¢Ìó +0.1dB  +0.3deg.¤Ç¤¹¡£
> ¾º°µ¤ÎÂ礭¤¤Éôʬ¤Ï¡¢°ÌÁê³Ñ¤¬£²£î¦Ð¤Ç¤Ê¤¯¡¢È¯¿¶¾ò·ï¤ò¡¢Ëþ¤¿¤·¤Æ¤¤¤Ê¤¤¡£
>
> 0deg.¤Ç¤Ê¤¯¡¢¤ä¤ä¿ÊÁ꤮¤ß¤Ê¤Î¤Ï¡¢£Ï£Ð¥¢¥ó¥×ÆâÉô¤ÎÆþ½ÐÎÏ¥¤¥ó¥Ô¡¼¥À¥ó¥¹¤¬¡¢
> 1M¦¸,¡¡100¦¸¤Ë¤Ê¤Ã¤Æ¤¤¤Æ¡¢½ã¿è¤ÊÍýÁÛ¥¢¥ó¥×¤Ç¤Ï¤Ê¤¤»ö¤È¡¢Àܳ¤·¤¿»ö¤Ë¤è¤Ã¤Æ¡¢
> µ¢´Ô²óÏ©¤ÎÄê¿ô¤¬¡¢¶Ï¤«¤Ë°Üư¤·¤¿°Ù¤«¤È»×¤¤¤Þ¤¹¡£


Âç·§¤Ç¤¹¡£
¿§¡¹¤Ê¿ÞÌ̤òÄ󼨤·¤Æ¤¤¤¿¤À¤­Í­Æñ¤¦¤´¤¶¤¤¤Þ¤¹¡£
ÊÙ¶¯¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ì¤³¤È¤¬¼Â¤Ë¿¤¤¤³¤È¤â
ʬ¤ê¤Þ¤·¤¿¡£
º£¸å¤È¤â¸æ»ØÆ³¤è¤í¤·¤¯¸æ´ê¤¤¤¤¤¿¤·¤Þ¤¹¡£

·É¶ñ
 

¿ôÃͼ°Ê¸»úÎó¼°É¾²Á

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2009ǯ 2·î14Æü(ÅÚ)00»þ14ʬ36ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
 
½½¿ÊBASIC¤ËźÉÕ¤µ¤ì¤¿¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à"\BASICw32\SAMPLE\INTERPRE.bas"¤Ï¿ôÃͼ°¤Îɾ²Á¤ò¹Ô¤¤¤Þ¤¹¡£
¿ôÃͼ°¤òÆþÎϤ¹¤ë¤È¡¢¤½¤Î¼°¤ÎÃͤò½ÐÎϤ·¤Þ¤¹¡£
¤½¤ì¤ò¼¡¤Î¤è¤¦¤Ë³ÈÄ¥¤·¤Þ¤·¤¿¡£

(1) ¿ôÃÍÄê¿ô
   ¾®¿ôÅÀ¤Ç»Ï¤Þ¤ë¾®¿ô¤ä¡¢»Ø¿ôÉô¤Î¤¢¤ë¿ôÃͤⰷ¤¨¤ë¡£

(2) Áȹþ¤ß´Ø¿ô
   ½½¿ÊBASIC¤ÎÁȹþ¤ß´Ø¿ô¤Ï¡¢ÇÛÎó¤äÆÃ¼ì¤ÊÎã¤ò½ü¤­¤Û¤È¤ó¤ÉÍøÍѤǤ­¤ë¡£

(3) ÊÑ¿ô
   ¿ôÃͼ°¤ËÊÑ¿ô¤ò»È¤¨¤ë¡£
   ¿ôÃͼ°Æâ¤ËÊÑ¿ô¤òǧ¼±¤¹¤ë¤È,ÊÑ¿ô̾¤òɽ¼¨¤·ÆþÎϤòµá¤á¤Æ¤¯¤ë(Ãæ»ß¤Ï[Ãæ»ß]¥Ü¥¿¥ó¤Ç)¡£
   ÊÑ¿ô¤Ø¤ÎÆþÎϤϿôÃͼ°¤â²Ä¡£¤¿¤À¤·,¤³¤Î¿ôÃͼ°¤ËÊÑ¿ô¤ò´Þ¤à¤³¤È¤ÏÉԲġ£
    Îã) a^2+1 ¤ÎÊÑ¿ôa ¤Ë[4],[-3/2],[8-3*5],[sqr(5)-1],[SIN(pi/6)]¤Ê¤ÉÆþÎϲġ£[4*n+9]¤ÏÉԲġ£
   ÊÑ¿ô̾¤Î̿̾µ¬Â§¤Ï½½¿ÊBASIC¤Ë½à¤º¤ë(´Á»ú²Ä¡¢PI,RND,MAXNUM,DATE,TIME,DATE$,TIME$°Ê³°¤Îµ¡Ç½¸ì¤â²Ä)¡£
   ÇÛÎó¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Ê¤¤¡£

(4) ʸ»úÎó¼°
   ʸ»úÎó¼°¤Îɾ²Á¤â¹Ô¤¨¤ë¡£¤½¤Î¾ì¹ç¤ÏÆþÎϤ¹¤ëʸ»úÎó¼°¤ÎÀèÆ¬¤Ë¡Ö$=¡×¤òÉÕ¤±¤ë¡£
    Îã) $=REPEAT$("aBc D",3) ; $="alphabet "&CHR$(64+Number) ; $="2*3+7="&STR$(2*3+7)
   ʸ»úÎó¤Ç¤ÏÂçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤¹¤ë¡£¶õÇò¤âǧ¼±¤¹¤ë¡£´Á»ú¤â²Ä¡£

(5) ʸ»úÎóÊÑ¿ô
   ¿ôÃͼ°¤äʸ»úÎ󼰤ˡ¢Ê¸»úÎóÊÑ¿ô¤ò»ÈÍѤǤ­¤ë¡£
   ʸ»úÎóÊÑ¿ô¤Ø¤ÎÆþÎϤϡ¢Ê¸»úÎóÄê¿ô(Á°¸å¤Î(")¤ÏÉÔÍ×)¤Þ¤¿¤Ïʸ»úÎó¼°¤¬²Ä¡£
   ʸ»úÎóÊÑ¿ô¤Ëʸ»úÎó¼°¤òÆþÎϤ¹¤ë¾ì¹ç¤ÏÀèÆ¬¤Ë¡Ö$=¡×¤òÉÕ¤±¤ë¡£¤³¤Îʸ»úÎó¼°¤ËÊÑ¿ô¤ò´Þ¤à¤³¤È¤ÏÉԲġ£
    Îã) $=USING$(a$,800.52) ¤Îa$¤Ë[###],[$=REPEAT$("#",3)]¤Ê¤ÉÆþÎϲġ£
    Îã) LEN(mj$&"yz") ¤Îmj$¤Ë[ab´Á],[$=LTRIM$("  ab")&UCASE$"cd"]¤Ê¤ÉÆþÎϲġ£[$="mn"&A$]¤ÏÉԲġ£
    Îã) VAL(c$)+7 ¤Îc$¤Ë[-2.5],[$=str$(1/2-3)]¤Ê¤ÉÆþÎϲÄ(-2.5¤Ï"-2.5"¤È¤¤¤¦Ê¸»úÎóÄê¿ô)¡£

(6) Éôʬʸ»úÎó»ØÄê
   ʸ»úÎóÊÑ¿ô¤ËÉôʬʸ»úÎó»ØÄ꤬¤Ç¤­¤ë¡£
   ¤¿¤À¤·Éôʬʸ»úÎó»ØÄê¤è¤êÁ°¤Ë,Ʊ̾¤Îʸ»úÎóÊÑ¿ô¤¬½ñ¤«¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ë¡£
    Îã) $=a$&","&a$(3:5) ; $=UCASE$(cap$&"aBc")¢Á$(2:2-1+m) ; POS(r$,r$(k:k))
    ¸íÆþÎÏÎã) $=box$(2:4)&","&box$
    ½¤ÀµÎã) $=REPEAT$(box$,0)&box$(2:4)&","&box$ ; $=SUBSTR$(box$,2,4)&","&box$

(7) ¥æ¡¼¥¶¡¼ÄêµÁ´Ø¿ô
   ¿ôÃͼ°¤ËÆÈ¼«¤ËÄêµÁ¤·¤¿´Ø¿ô¤ò»È¤¨¤ë¤è¤¦¤Ë¤·¤¿¡£
   ´Ø¿ô̾¤Ï F1(a)¡¢F2(a,b)¡¢F3(a,b,c)¡¢FS$(a$,b,c)¡£
   ÊÑ¿ô¤Ø¤ÎÆþÎϤˤâ»È¤¨¤ë¡£ Îã) SQR(r-4)+1 ¤Îr¤Ë[2*F2(3,7-5)]¤Ê¤ÉÆþÎϲġ£
   ¤³¤Î´Ø¿ô¤ÎÄêµÁÉô¤Ï1260¹Ô¤Î¸å¤í¤Ë¤¢¤ë¤Î¤ÇɬÍפ˱þ¤¸¤ÆÊѹ¹¤·¤Æ²¼¤µ¤¤¡£ºÆµ¢¸Æ¤Ó½Ð¤·¤â²Äǽ¤Ç¤¹¡£

ÆþÎÏÎã(´Ø¿ô̾,ÊÑ¿ô̾¤ÏÂçʸ»ú¤È¾®Ê¸»ú¤Î¶èÊ̤Ϥ·¤Ê¤¤)
  2*.43+7E2  ;  MOD(10^2,int(MAX(7.4,sqr(10)+3)))-1  ;  sin(a)^2+cos(b)^2
  2*x^2-7*x+6  ;  1+INT(RND*n)  ;  INT(¼ÚÆþ¶â*(1+Ç¯Íø/100)^ǯ¿ô)  ;  LEN("ab""cd ef gh")
  $=mj$&"xYz"&STR$(n)  ;  $=UCASE$(p$)&","&LCASE$(p$)  ;  $="0x"&BSTR$(Decimal,16)
  $=STR$(1/(2*a)*(-b+sqr(b^2-4*a*c)))&","&STR$((-b-sqr(b^2-4*a*c))/(2*a)) !2¼¡ÊýÄø¼°¤Î2º¬
  $="a="&STR$(abs(m^2-n^2))&",b="&STR$(2*m*n)&",c="&STR$(m^2+n^2) !¥Ô¥¿¥´¥é¥¹¿ô
  $=enter$&TIME$&USING$(".#",FP(TIME))  ;  m*f3(N-5,4,sqr(M))  ;  $=FS$("abc",x,6)&"."

ÌÜɸ¤È¤·¤¿¤Î¤Ï¡ÖPRINT *******¡×¤Ç½ÐÎϤǤ­¤ë¿ôÃͼ°¡¢Ê¸»úÎó¼°¤òÌÖÍ夹¤ë¤³¤È¤Ç¤·¤¿¡£
ÇÛÎó°Ê³°¤ÏãÀ®¤Ç¤­¤¿¤È»×¤¦¤Î¤Ç¤¹¤¬¤É¤¦¤Ç¤·¤ç¤¦¡£
¤¹¤Ù¤Æ¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¤¤ë¤ï¤±¤Ç¤Ê¤¯´Ö°ã¤Ã¤¿¿ôÃͼ°¤òÆþÎϤ·¤Æ¤â¥¨¥é¡¼É½¼¨¤µ¤ì¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£
ÉÔ¶ñ¹ç¤¬¤¢¤ì¤ÐÊó¹ð¤ª´ê¤¤¤·¤Þ¤¹¡£
REM ½½¿ÊBASICźÉÕ"\BASICw32\SAMPLE\INTERPRE.bas"¤Ë²ÃÉ®
REM ¹ÔÈÖ¹æ¤Î¤Ê¤¤¹Ô¤¬²ÃÉ®Éôʬ¡£¹ÔÈÖ¹æ¤Ïºï½ü²Ä¡£
1000 REM Full BASIC¤Î¥â¥¸¥å¡¼¥ë¤Î»È¤¤Êý¤ò¼¨¤¹¥µ¥ó¥×¥ë
1010 REM
1020 REM ¿ôÃͼ°¤Îɾ²Á¤ò¹Ô¤¦
1030 REM Áȹþ¤ß´Ø¿ô¤Ï¡¤SIN¡¤COS¡¤TAN, LOG, EXP, SQR, INT¡¤ABS¤ÈPI¤Î¤ß
1040 REM Âçʸ»ú¤È¾®Ê¸»ú¤Î¶èÊ̤Ϥ·¤Ê¤¤
1050 REM ¿ôÃͼ°¤Îʸˡ¤Ï¤Û¤ÜFull BASIC¤Ë½à¤º¤ë¤¬¡¤´Ø¿ô̾¤Ë³¤¯³ç¸Ì¤Ï¶õÇò¤òÆþ¤ì¤º¤Ë½ñ¤¯¡£
1060 REM ¿ôÃͤϡ¤¿ô»ú¤Ç»Ï¤Þ¤ê¡¤¥³¥ó¥Þ¤ò1¸Ä°Ê²¼´Þ¤à¿ô»ú¤ÎÎó¤È¤·¤Æ¤Î¤ß½ñ¤±¤ë¡£
1070 REM Îí½ü»»¥¨¥é¡¼¤Ê¤É¤Ï¹Íθ¤·¤Æ¤¤¤Ê¤¤¡£
1080 DECLARE EXTERNAL FUNCTION interpreter.expression  ! ¿ôÃͼ°¤òɾ²Á¤¹¤ë´Ø¿ô
1090 DECLARE EXTERNAL STRING interpreter.s$            ! ÆþÎϹÔ
1100 DECLARE EXTERNAL NUMERIC interpreter.i            ! ÆþÎϹԤÎʸ»ú°ÌÃÖ
1110 DECLARE EXTERNAL SUB interpreter.skip             ! ¶õÇòʸ»ú¤òÆÉ¤ßÈô¤Ð¤¹Éû¥×¥í¥°¥é¥à
     DECLARE EXTERNAL FUNCTION interpreter.str_expression$  !ʸ»úÎó¼°¤òɾ²Á¤¹¤ë´Ø¿ô
     DECLARE EXTERNAL NUMERIC interpreter.vc,interpreter.sc !ÊÑ¿ô¤Î¸Ä¿ô(vc=¿ôÃÍ,sc=ʸ»úÎó)
     DECLARE EXTERNAL SUB interpreter.error                 !¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸
1120 LINE INPUT s$
1130 ! LET s$=UCASE$(s$) !ʸ»úÎó¤Î¾®Ê¸»úÊÝ»ý¤Î¤¿¤á̵¸ú¤Ë¤·¤¿
     DO
        LET vc,sc=0
1140    LET i=1
1150    CALL skip
        IF s$(i:i)="$" THEN
           LET i=i+1
           CALL skip
           IF s$(i:i)="=" THEN
              LET i=i+1
              CALL skip
              PRINT str_expression$   ! ʸ»úÎó¼°É¾²Á
           ELSE
              CALL error("$=")
           END IF
        ELSE
1160       PRINT expression   ! ¿ôÃͼ°É¾²Á
        END IF
1170    IF i<>LEN(s$)+1 THEN PRINT "Syntax error" ! Èæ³Ó¼°¤òi<LEN(s$)¤«¤éÊѹ¹
     LOOP UNTIL vc+sc=0 OR i<>LEN(s$)+1 ! Ãæ»ß¤Ï[Ãæ»ß]¥Ü¥¿¥ó¤Ç
1180 END
1190 !
1200 MODULE interpreter
  ! MODULE OPTION ARITHMETIC NATIVE ! DECIMAL_HIGH,COMPLEX,RATIONAL ¿ôÃÍ¥ª¥×¥·¥ç¥ó
1210 PUBLIC STRING s$
1220 PUBLIC NUMERIC i
1230 PUBLIC FUNCTION expression
1240 PUBLIC SUB skip
1250 SHARE FUNCTION term,factor,primary,numeric
     PUBLIC FUNCTION str_expression$
     PUBLIC NUMERIC vc,sc
     PUBLIC SUB error
     SHARE FUNCTION check,argument,rounding,position,bitval,v_chr,variable
     SHARE FUNCTION str_primary$,str_constant$,str_naming$,sub_string$,str_input$,bitstr$
     SHARE NUMERIC vari_val(20),inputv   ! 20=ÊÑ¿ô¤Î¸Ä¿ô
     SHARE STRING sn$,vari_name$(20),string$(20),str_name$(20)
     SHARE FUNCTION F1,F2,F3,FS$  !!! ¥æ¡¼¥¶¡¼ÄêµÁ´Ø¿ô
     ! MODULE OPTION ANGLE DEGREES  ! ³Ñ¤ÎÂ礭¤µ¤Îñ°Ì
     ! MODULE OPTION CHARACTER BYTE ! ʸ»úÎó½èÍý¤Îñ°Ì
     LET inputv=0
1260 !
     EXTERNAL FUNCTION F1(a)      !!! ¥æ¡¼¥¶¡¼ÄêµÁ´Ø¿ô
        let F1=a
     END FUNCTION
     EXTERNAL FUNCTION F2(a,b)    !!! ¥æ¡¼¥¶¡¼ÄêµÁ´Ø¿ô
        let F2=a+b
     END FUNCTION
     EXTERNAL FUNCTION F3(a,b,c)  !!! ¥æ¡¼¥¶¡¼ÄêµÁ´Ø¿ô
        let F3=a+b+c
     END FUNCTION
     EXTERNAL FUNCTION FS$(a$,b,c)  !!! ¥æ¡¼¥¶¡¼ÄêµÁ´Ø¿ô
        let FS$=a$&str$(b)&str$(c)
     END FUNCTION
     !
1270 EXTERNAL SUB skip
1280    DO WHILE s$(i:i)=" "
1290       LET i=i+1
1300    LOOP
1310 END SUB
1320 !
1330 EXTERNAL FUNCTION expression
1340    DECLARE NUMERIC n
1350    DECLARE STRING op$
1360    SELECT CASE s$(i:i)
1370    CASE "-"
1380       LET i=i+1
1390       CALL skip
1400       LET n=-term
1410    CASE "+"
1420       LET i=i+1
1430       CALL skip
1440       LET n=term
1450    CASE ELSE
1460       LET n=term
1470    END SELECT
1480    DO WHILE s$(i:i)="+" OR s$(i:i)="-"
1490       LET op$=s$(i:i)
1500       LET i=i+1
1510       CALL skip
1520       IF op$="+" THEN LET n=n+term ELSE LET n=n-term
1530    LOOP
1540    LET expression =n
1550    CALL skip
1560 END FUNCTION
1570 !
1580 EXTERNAL FUNCTION term
1590    DECLARE NUMERIC n
1600    DECLARE STRING op$
1610    LET n=factor
1620    DO WHILE s$(i:i)="*" OR s$(i:i)="/"
1630       LET op$=s$(i:i)
1640       LET i=i+1
1650       CALL skip
1660       IF op$="*" THEN LET n=n*factor ELSE LET n=n/factor
1670    LOOP
1680    LET term=n
1690 END FUNCTION
1700 !
1710 EXTERNAL FUNCTION factor
1720    DECLARE NUMERIC n
1730    LET n=primary
1740    DO WHILE s$(i:i)="^"
1750       LET i=i+1
1760       CALL skip
1770       LET n=n^primary
1780    LOOP
1790    LET factor=n
1800 END FUNCTION
1810 !
1820 EXTERNAL FUNCTION primary
1830    IF s$(i:i)>="0" AND s$(i:i)<="9" THEN
1840       LET  primary=numeric
        ELSEIF s$(i:i)="." THEN
           LET  primary=numeric
1850    ELSEIF UCASE$(s$(i:i+1))="PI" AND check(s$(i+2:i+2))=1 THEN ! ´Ø¿ôcheck²ÃÉ®
1860       LET i=i+2
1870       CALL skip
1880       LET primary=PI  ! Í­Íý¿ô¥â¡¼¥ÉÃí°Õ
        ELSEIF UCASE$(s$(i:i+2))="RND" AND check(s$(i+3:i+3))=1 THEN
           LET i=i+3
           CALL skip
           LET primary=RND ! ÊÑ¿ôÆþÎϤ¬¤¢¤ë¿ôÃͼ°¤Ç¤ÏÅÔÅÙ¹¹¿·
        ELSEIF UCASE$(s$(i:i+3))="TIME" AND check(s$(i+4:i+4))=1 THEN
           LET i=i+4
           CALL skip
           LET primary=TIME ! ÊÑ¿ôÆþÎϤ¬¤¢¤ë¿ôÃͼ°¤Ç¤ÏÅÔÅÙ¹¹¿·
        ELSEIF UCASE$(s$(i:i+3))="DATE" AND check(s$(i+4:i+4))=1 THEN
           LET i=i+4
           CALL skip
           LET primary=DATE ! ÊÑ¿ôÆþÎϤ¬¤¢¤ë¿ôÃͼ°¤Ç¤ÏÅÔÅÙ¹¹¿·
           !ELSEIF UCASE$(s$(i:i+5))="MAXNUM" AND check(s$(i+6:i+6))=1 THEN
           !   LET i=i+6
           !   CALL skip
           !   LET primary=MAXNUM  ! Í­Íý¿ô¥â¡¼¥ÉÉÔ²Ä
1890    ELSE
1900       IF s$(i:i)="(" THEN
1910          LET i=i+1
1920          CALL skip
1930          LET  primary=expression
           ELSEIF UCASE$(s$(i:i+2))="F1(" THEN   !!! ¥æ¡¼¥¶¡¼ÄêµÁ´Ø¿ô
              LET i=i+3
              CALL skip
              LET Primary=F1(expression)
           ELSEIF UCASE$(s$(i:i+2))="F2(" THEN   !!! ¥æ¡¼¥¶¡¼ÄêµÁ´Ø¿ô
              LET i=i+3
              CALL skip
              LET primary=F2(expression,argument)
           ELSEIF UCASE$(s$(i:i+2))="F3(" THEN   !!! ¥æ¡¼¥¶¡¼ÄêµÁ´Ø¿ô
              LET i=i+3
              CALL skip
              LET primary=F3(expression,argument,argument)
1940       ELSEIF UCASE$(s$(i:i+3))="SIN(" THEN ! Ķ±Û´Ø¿ô
1950          LET i=i+4
1960          CALL skip
1970          LET Primary=SIN(expression)
1980       ELSEIF UCASE$(s$(i:i+3))="COS(" THEN ! Ķ±Û´Ø¿ô
1990          LET i=i+4
2000          CALL skip
2010          LET Primary=COS(expression)
2020       ELSEIF UCASE$(s$(i:i+3))="TAN(" THEN ! Ķ±Û´Ø¿ô
2030          LET i=i+4
2040          CALL skip
2050          LET Primary=TAN(expression)
2060       ELSEIF UCASE$(s$(i:i+3))="LOG(" THEN ! Ķ±Û´Ø¿ô
2070          LET i=i+4
2080          CALL skip
2090          LET Primary=LOG(expression)
2100       ELSEIF UCASE$(s$(i:i+3))="EXP(" THEN ! Ķ±Û´Ø¿ô
2110          LET i=i+4
2120          CALL skip
2130          LET Primary=EXP(expression)
2140       ELSEIF UCASE$(s$(i:i+3))="SQR(" THEN ! Í­Íý¿ô¥â¡¼¥ÉÃí°Õ
2150          LET i=i+4
2160          CALL skip
2170          LET Primary=SQR(expression)
2180       ELSEIF UCASE$(s$(i:i+3))="INT(" THEN
2190          LET i=i+4
2200          CALL skip
2210          LET Primary=INT(expression)
2220       ELSEIF UCASE$(s$(i:i+3))="ABS(" THEN
2230          LET i=i+4
2240          CALL skip
2250          LET Primary=ABS(expression)
           ELSEIF UCASE$(s$(i:i+3))="MOD(" THEN
              LET i=i+4
              CALL skip
              LET primary=MOD(expression,argument)
           ELSEIF UCASE$(s$(i:i+5))="ROUND(" THEN
              LET i=i+6
              CALL skip
              LET primary=rounding
           ELSEIF UCASE$(s$(i:i+4))="CEIL(" THEN
              LET i=i+5
              CALL skip
              LET Primary=CEIL(expression)
           ELSEIF UCASE$(s$(i:i+3))="SGN(" THEN
              LET i=i+4
              CALL skip
              LET Primary=SGN(expression)
           ELSEIF UCASE$(s$(i:i+2))="IP(" THEN
              LET i=i+3
              CALL skip
              LET Primary=IP(expression)
           ELSEIF UCASE$(s$(i:i+2))="FP(" THEN
              LET i=i+3
              CALL skip
              LET Primary=FP(expression)
           ELSEIF UCASE$(s$(i:i+9))="REMAINDER(" THEN
              LET i=i+10
              CALL skip
              LET primary=REMAINDER(expression,argument)
           ELSEIF UCASE$(s$(i:i+8))="TRUNCATE(" THEN
              LET i=i+9
              CALL skip
              LET primary=TRUNCATE(expression,argument)
           ELSEIF UCASE$(s$(i:i+4))="LOG2(" THEN ! Ķ±Û´Ø¿ô
              LET i=i+5
              CALL skip
              LET Primary=LOG2(expression)
           ELSEIF UCASE$(s$(i:i+5))="LOG10(" THEN ! Ķ±Û´Ø¿ô
              LET i=i+6
              CALL skip
              LET Primary=LOG10(expression)
           ELSEIF UCASE$(s$(i:i+3))="CSC(" THEN ! Ķ±Û´Ø¿ô
              LET i=i+4
              CALL skip
              LET Primary=CSC(expression)
           ELSEIF UCASE$(s$(i:i+3))="SEC(" THEN ! Ķ±Û´Ø¿ô
              LET i=i+4
              CALL skip
              LET Primary=SEC(expression)
           ELSEIF UCASE$(s$(i:i+3))="COT(" THEN ! Ķ±Û´Ø¿ô
              LET i=i+4
              CALL skip
              LET Primary=COT(expression)
           ELSEIF UCASE$(s$(i:i+4))="ASIN(" THEN ! Ķ±Û´Ø¿ô
              LET i=i+5
              CALL skip
              LET Primary=ASIN(expression)
           ELSEIF UCASE$(s$(i:i+4))="ACOS(" THEN ! Ķ±Û´Ø¿ô
              LET i=i+5
              CALL skip
              LET Primary=ACOS(expression)
           ELSEIF UCASE$(s$(i:i+3))="ATN(" THEN ! Ķ±Û´Ø¿ô
              LET i=i+4
              CALL skip
              LET Primary=ATN(expression)
           ELSEIF UCASE$(s$(i:i+5))="ANGLE(" THEN ! Ķ±Û´Ø¿ô
              LET i=i+6
              CALL skip
              LET primary=ANGLE(expression,argument)
           ELSEIF UCASE$(s$(i:i+4))="SINH(" THEN ! Ķ±Û´Ø¿ô
              LET i=i+5
              CALL skip
              LET Primary=SINH(expression)
           ELSEIF UCASE$(s$(i:i+4))="COSH(" THEN ! Ķ±Û´Ø¿ô
              LET i=i+5
              CALL skip
              LET Primary=COSH(expression)
           ELSEIF UCASE$(s$(i:i+4))="TANH(" THEN ! Ķ±Û´Ø¿ô
              LET i=i+5
              CALL skip
              LET Primary=TANH(expression)
              !ELSEIF UCASE$(s$(i:i+3))="EPS(" THEN ! Í­Íý¿ô¥â¡¼¥ÉÉÔ²Ä
              !   LET i=i+4
              !   CALL skip
              !   LET Primary=EPS(expression)
           ELSEIF UCASE$(s$(i:i+3))="DEG(" THEN
              LET i=i+4
              CALL skip
              LET Primary=DEG(expression)
           ELSEIF UCASE$(s$(i:i+3))="RAD(" THEN
              LET i=i+4
              CALL skip
              LET Primary=RAD(expression)
           ELSEIF UCASE$(s$(i:i+3))="MAX(" THEN
              LET i=i+4
              CALL skip
              LET primary=MAX(expression,argument)
           ELSEIF UCASE$(s$(i:i+3))="MIN(" THEN
              LET i=i+4
              CALL skip
              LET primary=MIN(expression,argument)
           ELSEIF UCASE$(s$(i:i+4))="FACT(" THEN !½½¿ÊBASICÆÈ¼«³ÈÄ¥
              LET i=i+5
              CALL skip
              LET Primary=FACT(expression)
           ELSEIF UCASE$(s$(i:i+4))="PERM(" THEN !½½¿ÊBASICÆÈ¼«³ÈÄ¥
              LET i=i+5
              CALL skip
              LET primary=PERM(expression,argument)
           ELSEIF UCASE$(s$(i:i+4))="COMB(" THEN !½½¿ÊBASICÆÈ¼«³ÈÄ¥
              LET i=i+5
              CALL skip
              LET primary=COMB(expression,argument)
           ELSEIF UCASE$(s$(i:i+10))="COLORINDEX(" THEN !½½¿ÊBASICÆÈ¼«³ÈÄ¥
              LET i=i+11
              CALL skip
              LET primary=COLORINDEX(expression,argument,argument)
              !ELSEIF UCASE$(s$(i:i+7))="COMPLEX(" THEN !Ê£ÁÇ´Ø¿ô
              !   LET i=i+8
              !   CALL skip
              !   LET primary=COMPLEX(expression,argument)
              !ELSEIF UCASE$(s$(i:i+2))="RE(" THEN      !Ê£ÁÇ´Ø¿ô
              !   LET i=i+3
              !   CALL skip
              !   LET Primary=RE(expression)
              !ELSEIF UCASE$(s$(i:i+2))="IM(" THEN      !Ê£ÁÇ´Ø¿ô
              !   LET i=i+3
              !   CALL skip
              !   LET Primary=IM(expression)
              !ELSEIF UCASE$(s$(i:i+4))="CONJ(" THEN    !Ê£ÁÇ´Ø¿ô
              !   LET i=i+5
              !   CALL skip
              !   LET Primary=CONJ(expression)
              !ELSEIF UCASE$(s$(i:i+3))="ARG(" THEN     !Ê£ÁÇ´Ø¿ô
              !   LET i=i+4
              !   CALL skip
              !   LET Primary=ARG(expression)
              !ELSEIF UCASE$(s$(i:i+5))="NUMER(" THEN   !Í­Íý¿ô¥â¡¼¥ÉÀìÍÑ
              !   LET i=i+6
              !   CALL skip
              !   LET Primary=NUMER(expression)
              !ELSEIF UCASE$(s$(i:i+5))="DENOM(" THEN   !Í­Íý¿ô¥â¡¼¥ÉÀìÍÑ
              !   LET i=i+6
              !   CALL skip
              !   LET Primary=DENOM(expression)
              !ELSEIF UCASE$(s$(i:i+3))="GCD(" THEN     !Í­Íý¿ô¥â¡¼¥ÉÀìÍÑ
              !   LET i=i+4
              !   CALL skip
              !   LET primary=GCD(expression,argument)
              !ELSEIF UCASE$(s$(i:i+6))="INTSQR(" THEN  !Í­Íý¿ô¥â¡¼¥ÉÀìÍÑ
              !   LET i=i+7
              !   CALL skip
              !   LET Primary=INTSQR(expression)
              !ELSEIF UCASE$(s$(i:i+7))="INTLOG2(" THEN !Í­Íý¿ô¥â¡¼¥ÉÀìÍÑ
              !   LET i=i+8
              !   CALL skip
              !   LET Primary=INTLOG2(expression)
           ELSEIF UCASE$(s$(i:i+3))="LEN(" THEN
              LET i=i+4
              CALL skip
              LET primary=LEN(str_expression$)
           ELSEIF UCASE$(s$(i:i+3))="POS(" THEN
              LET i=i+4
              CALL skip
              LET primary=position
           ELSEIF UCASE$(s$(i:i+3))="VAL(" THEN
              LET i=i+4
              CALL skip
              LET primary=VAL(str_expression$)
           ELSEIF UCASE$(s$(i:i+3))="ORD(" THEN
              LET i=i+4
              CALL skip
              LET primary=ORD(str_expression$)
           ELSEIF UCASE$(s$(i:i+4))="BVAL(" THEN
              LET i=i+5
              CALL skip
              LET primary=bitval
           ELSEIF UCASE$(s$(i:i+4))="BLEN(" THEN !½½¿ÊBASICÆÈ¼«³ÈÄ¥
              LET i=i+5
              CALL skip
              LET primary=BLEN(str_expression$)
           ELSEIF v_chr(s$(i:i))=1 THEN
              LET primary=variable    !  ÊÑ¿ô
              CALL skip
              EXIT FUNCTION
2260       ELSE
              CALL error("FUNCTION primary")
2270          PRINT "Syntax error"
2280          STOP
2290       END IF
2300       IF s$(i:i)=")" THEN
2310          LET i=i+1
2320          CALL skip
2330       ELSE
              CALL error("FUNCTION primary")
2340          PRINT "Syntax error"
2350          STOP
2360       END IF
2370    END IF
2380 END FUNCTION
2390 !
2400 EXTERNAL FUNCTION numeric
2410    DECLARE NUMERIC i0
2420    CALL skip
2430    LET i0=i
        IF s$(i:i)="." THEN ! ¾®¿ôÅÀ¤Ç»Ï¤Þ¤ë
           LET i=i+1
        ELSE
2440       DO WHILE s$(i:i)>="0" AND s$(i:i)<="9"
2450          LET i=i+1
2460       LOOP
2470       IF s$(i:i)="." THEN LET i=i+1
        END IF
2480    DO WHILE s$(i:i)>="0" AND s$(i:i)<="9"
2490       LET i=i+1
2500    LOOP
        IF LEN(s$)>=i AND UCASE$(s$(i:i))="E" THEN ! »Ø¿ôÉô
           LET i=i+1
           IF s$(i:i)="+" OR s$(i:i)="-" THEN LET i=i+1
           DO WHILE s$(i:i)>="0" AND s$(i:i)<="9"
              LET i=i+1
           LOOP
        END IF
2510    LET numeric=VAL(s$(i0:i-1))
2520    CALL skip
2530 END FUNCTION
2540 !
![¤½¤Î£²]¤ØÂ³¤¯
 

Re: ¿ôÃͼ°Ê¸»úÎó¼°É¾²Á[¤½¤Î£²]

 Åê¹Æ¼Ô¡§¹ÓÅĹÀÆó  Åê¹ÆÆü¡§2009ǯ 2·î14Æü(ÅÚ)00»þ18ʬ47ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.276[¸µµ­»ö¤Ø]

! [¤½¤Î£²]
  !  *°Ê²¼¤¹¤Ù¤Æ²ÃÉ®Éôʬ*
     EXTERNAL FUNCTION check(c$) !! ͽÌó¸ì¤Î¸å³»ú
        DECLARE STRING p$
        LET check=-1
        DO
           READ IF MISSING THEN EXIT DO : p$
           IF c$=p$ THEN LET check=1
        LOOP
        DATA " " , "+" , "-" , "*" , "/" , "^" , "," , ")" , ""
     END FUNCTION
     !
     EXTERNAL FUNCTION argument !! °ú¿ô
        CALL skip
        IF s$(i:i)="," THEN
           LET i=i+1
           CALL skip
        ELSE
           CALL error("FUNCTION argument,°ú¿ô")
        END IF
        LET argument=expression
     END FUNCTION
     !
     EXTERNAL FUNCTION rounding  !! ´Ø¿ôROUND¤Î¼±ÊÌ
        DECLARE NUMERIC a
        LET a=expression
        IF s$(i:i)="," THEN
           LET i=i+1
           CALL skip
           LET rounding=ROUND(a,expression)
        ELSEIF s$(i:i)=")" THEN
           LET rounding=ROUND(a) ! ½½¿ÊBASICÆÈ¼«³ÈÄ¥
        ELSE
           CALL error("FUNCTION rounding,´Ø¿ôROUND")
        END IF
     END FUNCTION
     !
     EXTERNAL FUNCTION position  !! ´Ø¿ôPOS¤Î¼±ÊÌ
        DECLARE STRING aa$,bb$
        LET aa$=str_expression$
        IF s$(i:i)="," THEN
           LET i=i+1
           CALL skip
           LET bb$=str_expression$
           IF s$(i:i)=")" THEN
              LET position=POS(aa$,bb$)
           ELSEIF s$(i:i)="," THEN
              LET i=i+1
              CALL skip
              LET position=POS(aa$,bb$,expression)
           ELSE
              CALL error("FUNCTION position,´Ø¿ôPOS")
           END IF
        ELSE
           CALL error("FUNCTION position,´Ø¿ôPOS")
        END IF
     END FUNCTION
     !
     EXTERNAL FUNCTION bitval   !! ´Ø¿ôBVAL¤Î¼±ÊÌ
        DECLARE STRING aa$
        LET aa$=str_primary$
        IF s$(i:i)="," THEN
           LET i=i+1
           CALL skip
           IF s$(i:i)="2" THEN
              LET i=i+1
              CALL skip
              LET bitval=BVAL(aa$,2)
           ELSEIF s$(i:i+1)="16" THEN
              LET i=i+2
              CALL skip
              LET bitval=BVAL(aa$,16)
           ELSE
              CALL error("FUNCTION bitval,´Ø¿ôBVAL")
           END IF
        ELSE
           CALL error("FUNCTION bitval,´Ø¿ôBVAL")
        END IF
     END FUNCTION
     !
     EXTERNAL FUNCTION v_chr(c$)   !! ÊÑ¿ô̾ʸ»ú
        IF c$>="A" AND c$<="Z" OR c$>="a" AND c$<="z" OR c$>="¤¡" THEN !ÀèÆ¬Ê¸»úµÚ¤Ó¤½¤ì°Ê¹ß
           LET v_chr=1
        ELSEIF c$>="0" AND c$<="9" OR c$="_" OR c$>="£°" THEN ! 2ʸ»úÌܰʹß
           LET v_chr=2
        ELSE
           LET v_chr=-1
        END IF
     END FUNCTION
     !
     EXTERNAL FUNCTION variable   !! ÊÑ¿ô
        DECLARE NUMERIC j,vi
        DECLARE STRING vn$,aa$,vs$
        LET vn$=""
        DO WHILE v_chr(s$(i:i))>=1
           LET vn$=vn$&s$(i:i)
           LET i=i+1
        LOOP
        FOR j=1 TO vc
           IF UCASE$(vn$)=UCASE$(vari_name$(j)) THEN
              LET variable=vari_val(j)  ! ´û½Ð¤ÎÊÑ¿ô
              EXIT FUNCTION
           END IF
        NEXT j
        LET vc=vc+1
        LET vari_name$(vc)=vn$
        IF inputv=0 THEN
           DO
              LINE INPUT PROMPT vn$&"=" : aa$ ! ÊÑ¿ô¤Ø¤ÎÆþÎÏ
           LOOP UNTIL aa$<>""
        ELSE
           CALL error("FUNCTION variable,ÊÑ¿ôÆþÎÏ")
        END IF
        LET vs$=s$
        LET vi=i
        LET s$=LTRIM$(aa$)
        LET i=1
        LET inputv=1
        LET vari_val(vc)=expression ! ÊÑ¿ô¤ËÆþÎϤ·¤¿¿ôÃͼ°¤Î½èÍý
        LET inputv=0
        LET s$=vs$
        LET i=vi
        LET variable=vari_val(vc)
     END FUNCTION
     !
     !
     EXTERNAL FUNCTION str_expression$ !! ʸ»úÎó¼°
        DECLARE STRING str_n$
        LET str_n$=str_primary$
        DO WHILE s$(i:i)="&"
           LET i=i+1
           CALL skip
           LET str_n$=str_n$&str_primary$
        LOOP
        LET str_expression$ =str_n$
        CALL skip
     END FUNCTION
     !
     EXTERNAL FUNCTION str_primary$ !! ʸ»úÎó°ì¼¡»Ò
        DECLARE NUMERIC j
        IF s$(i:i)="""" THEN
           LET i=i+1
           LET str_primary$=str_constant$
        ELSEIF UCASE$(s$(i:i+4))="DATE$" THEN
           LET i=i+5
           CALL skip
           LET str_primary$=DATE$  !ÊÑ¿ôÆþÎϤ¬¤¢¤ë¿ôÃͼ°¤Ç¤ÏÅÔÅÙ¹¹¿·
        ELSEIF UCASE$(s$(i:i+4))="TIME$" THEN
           LET i=i+5
           CALL skip
           LET str_primary$=TIME$  !ÊÑ¿ôÆþÎϤ¬¤¢¤ë¿ôÃͼ°¤Ç¤ÏÅÔÅÙ¹¹¿·
        ELSE
           IF v_chr(s$(i:i))=1 THEN
              LET sn$=str_naming$ ! ʸ»úÎó´Ø¿ô/ÊÑ¿ô̾
              FOR j=1 TO sc
                 IF UCASE$(sn$)=UCASE$(str_name$(j)) THEN
                    CALL skip
                    IF s$(i:i)="(" THEN
                       LET i=i+1
                       CALL skip
                       LET str_primary$=sub_string$(string$(j)) !Éôʬʸ»úÎó
                    ELSE
                       LET str_primary$=string$(j)  ! ´û½Ð¤Îʸ»úÎóÊÑ¿ô
                    END IF
                    EXIT FUNCTION
                 END IF
              NEXT j
           ELSE
              CALL error("FUNCTION str_primary$,ʸ»úÎó°ì¼¡»Ò")
           END IF
           SELECT CASE UCASE$(sn$)&s$(i:i)
           CASE "FS$("    !!! ¥æ¡¼¥¶¡¼ÄêµÁ´Ø¿ô
              LET i=i+1
              CALL skip
              LET str_primary$=FS$(str_expression$,argument,argument)
           CASE "REPEAT$("
              LET i=i+1
              CALL skip
              LET str_primary$=REPEAT$(str_expression$,argument)
           CASE "STR$("
              LET i=i+1
              CALL skip
              LET str_primary$=STR$(expression)
           CASE "USING$("
              LET i=i+1
              CALL skip
              LET str_primary$=USING$(str_expression$,argument)
           CASE "CHR$("
              LET i=i+1
              CALL skip
              LET str_primary$=CHR$(expression)
           CASE "LCASE$("
              LET i=i+1
              CALL skip
              LET str_primary$=LCASE$(str_expression$)
           CASE "UCASE$("
              LET i=i+1
              CALL skip
              LET str_primary$=UCASE$(str_expression$)
           CASE "LTRIM$("
              LET i=i+1
              CALL skip
              LET str_primary$=LTRIM$(str_expression$)
           CASE "RTRIM$("
              LET i=i+1
              CALL skip
              LET str_primary$=RTRIM$(str_expression$)
           CASE "BSTR$("
              LET i=i+1
              CALL skip
              LET str_primary$=bitstr$
           CASE "SUBSTR$(" ! ½½¿ÊBASICÆÈ¼«³ÈÄ¥
              LET i=i+1
              CALL skip
              LET str_primary$=SUBSTR$(str_expression$,argument,argument)
           CASE "MID$("    ! ½½¿ÊBASICÆÈ¼«³ÈÄ¥
              LET i=i+1
              CALL skip
              LET str_primary$=MID$(str_expression$,argument,argument)
           CASE "LEFT$("   ! ½½¿ÊBASICÆÈ¼«³ÈÄ¥
              LET i=i+1
              CALL skip
              LET str_primary$=LEFT$(str_expression$,argument)
           CASE "RIGHT$("  ! ½½¿ÊBASICÆÈ¼«³ÈÄ¥
              LET i=i+1
              CALL skip
              LET str_primary$=RIGHT$(str_expression$,argument)
           CASE ELSE
              LET str_primary$=str_input$ ! ʸ»úÎóÆþÎÏ
              CALL skip
              EXIT FUNCTION
           END SELECT
           IF s$(i:i)=")" THEN
              LET i=i+1
              CALL skip
           ELSE
              CALL error("FUNCTION str_primary$")
           END IF
        END IF
     END FUNCTION
     !
     EXTERNAL FUNCTION str_constant$  !! ʸ»úÎóÄê¿ô
        DECLARE STRING cc$
        LET cc$=""
        DO
           IF s$(i:i)="""" THEN
              IF s$(i+1:i+1)="""" THEN ! [""]¤Î¼±ÊÌ
                 LET cc$=cc$&s$(i:i)
                 LET i=i+2
              ELSE
                 LET i=i+1
                 EXIT DO
              END IF
           ELSE
              LET cc$=cc$&s$(i:i)
              LET i=i+1
              IF i>LEN(s$)+1 THEN
                 CALL error("FUNCTION str_constant$,ʸ»úÎóÄê¿ô")
                 EXIT DO
              END IF
           END IF
        LOOP
        CALL skip
        LET str_constant$=cc$
     END FUNCTION
     !
     EXTERNAL FUNCTION str_naming$ !! ʸ»úÎó´Ø¿ô/ÊÑ¿ô̾
        LET sn$=""
        DO WHILE v_chr(s$(i:i))>=1
           LET sn$=sn$&s$(i:i)
           LET i=i+1
        LOOP
        IF s$(i:i)="$" THEN
           LET str_naming$=sn$&s$(i:i)
           LET i=i+1
        ELSE
           CALL error("FUNCTION str_naming$,ʸ»úÎó´Ø¿ô/ÊÑ¿ô̾")
        END IF
     END FUNCTION
     !
     EXTERNAL FUNCTION sub_string$(ss$)  !! Éôʬʸ»úÎó
        DECLARE NUMERIC a
        LET a=expression
        IF s$(i:i)=":" THEN
           LET i=i+1
           CALL skip
           LET sub_string$=ss$(a:expression)
           IF s$(i:i)=")" THEN
              LET i=i+1
              CALL skip
           ELSE
              CALL error("FUNCTION sub_string$,Éôʬʸ»úÎó")
           END IF
        ELSE
           CALL error("FUNCTION sub_string$,Éôʬʸ»úÎó")
        END IF
     END FUNCTION
     !
     EXTERNAL FUNCTION str_input$  !! ʸ»úÎóÆþÎÏ
        DECLARE NUMERIC j,vi
        DECLARE STRING vs$
        LET sc=sc+1
        LET str_name$(sc)=sn$
        IF inputv=0 THEN
           LINE INPUT PROMPT sn$&"=" : string$(sc)
        ELSE
           CALL error("FUNCTION str_input$,ʸ»úÎóÆþÎÏ")
        END IF
        LET j=1
        DO WHILE string$(sc)(j:j)=" "
           LET j=j+1
        LOOP
        IF string$(sc)(j:j)="$" THEN
           LET j=j+1
           DO WHILE string$(sc)(j:j)=" "
              LET j=j+1
           LOOP
           IF string$(sc)(j:j)="=" THEN
              LET vs$=s$
              LET vi=i
              LET s$=string$(sc)(j+1:LEN(string$(sc)))
              LET s$=LTRIM$(s$)
              LET i=1
              LET inputv=1
              LET string$(sc)=str_expression$ ! ʸ»úÎóÊÑ¿ô¤ËÆþÎϤ·¤¿Ê¸»úÎ󼰤νèÍý
              LET inputv=0
              LET s$=vs$
              LET i=vi
           END IF
        END IF
        LET str_input$=string$(sc)
     END FUNCTION
     !
     EXTERNAL FUNCTION bitstr$   !! ´Ø¿ôBSTR$¤Î¼±ÊÌ
        DECLARE NUMERIC a
        LET a=expression
        IF s$(i:i)="," THEN
           LET i=i+1
           CALL skip
           IF s$(i:i)="2" THEN
              LET i=i+1
              CALL skip
              LET bitstr$=BSTR$(a,2)
           ELSEIF s$(i:i+1)="16" THEN
              LET i=i+2
              CALL skip
              LET bitstr$=BSTR$(a,16)
           ELSE
              CALL error("FUNCTION bitstr$,´Ø¿ôBSTR$")
           END IF
        ELSE
           CALL error("FUNCTION bitstr$,´Ø¿ôBSTR$")
        END IF
     END FUNCTION
     !
     EXTERNAL SUB error(e$)  !! ¥¨¥é¡¼É½¼¨
        PRINT "Error (";e$;")"
        !STOP
     END SUB
     !
2550 END MODULE
 
 

ÅÁã´Ø¿ô¤Ë¤è¤ë¥Õ¥£¥ë¥¿²óÏ©¤Î¼þÇÈ¿ô²òÀÏ¡¢²áÅϲòÀÏ

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2009ǯ 2·î16Æü(·î)11»þ47ʬ59ÉÃ
ÊÖ¿®¡¦°úÍÑ
  ¡üÅÁã´Ø¿ô¤Ë¤è¤ë¼þÇÈ¿ô²òÀÏ
OPTION ARITHMETIC COMPLEX

LET j=SQR(-1) !µõ¿ôñ°Ì

LET f=60 !¼þÇÈ¿ô[Hz]
DEF w=2*PI*f !³Ñ¼þÇÈ¿ô¦Ø

SUB DispS(z) !Ê£ÁÇ¿ô¤òSɽ¼¨¤¹¤ë¡¡¢¨¥¹¥¿¥¤¥ó¥á¥Ã¥Ä¡ÊSteinmetz¡Ë
   PRINT ABS(z);
   IF ABS(z)<>0 THEN
      IF arg(z)<>0 THEN PRINT "¢Ü";DEG(arg(z));"¡ë";
   END IF
   PRINT
END SUB
!-------------------- ¤³¤³¤Þ¤Ç¤¬¥µ¥Ö¥ë¡¼¥Á¥ó


!---------- ¢­¢­¢­¢­¢­ ----------
LET xmax=6 !<----- ¢¨Í×Ä´À°
LET ymin=-50
LET ymax=5


!¡ü²óÏ©¿Þ¡¡CR¥í¡¼¥Ñ¥¹¡¦¥Õ¥£¥ë¥¿
!vi¡¦¨¡R1¨¨¨¡¡¦vo
!¡¡¡¡¡¡¡¡C1
!¡¡¡¡¡¡  ¨¢
!¡¡¡¡¡¡¡¡¢á
!¡¡»²¹Í¥µ¥¤¥È¡¡http://sim.okawa-denshi.jp/CRlowkeisan.htm

LET R1=1.6e3 !1.6k[¦¸]
LET C1=0.1e-6 !0.1¦Ì[F]

DEF G(s)=1/(s*C1*R1+1) !Æþ½ÐÎÏ¥·¥¹¥Æ¥à¤ÎÅÁã´Ø¿ô¡¡G(s)=Vo/Vi=(1/(C1*R1))/(s+1/(C1*R1))
!---------- ¢¬¢¬¢¬¢¬¢¬ ----------


!!!SET bitmap SIZE 600,600 !²èÌ̤òÂ礭¤¯¤¹¤ë
SET WINDOW -0.5,xmax+0.5, ymin,ymax !ɽ¼¨Îΰè
DRAW grid(1,5) !º¸Ã¼¤ÎÌÜÀ¹¤ê

FOR f=1 TO xmax !£ø¼´¤¬Âпô
   PLOT TEXT ,AT f-0.3,-0.15: mid$("10  100 1k  10k 100k1M  10M 100M",4*(f-1)+1,4)
NEXT f

FOR xx=0 TO xmax STEP 0.025 !¼þÇÈ¿ô[Hz]
   LET f=10^xx !xx=LOG10(f)
   LET t=ABS(G(j*w))
   PLOT LINES: xx,20*LOG10(t); !ÍøÆÀ[dB]
NEXT xx
PLOT LINES


SET TEXT COLOR 2
FOR k=ymax TO ymin STEP -5 !±¦Ã¼¤Î½Ä¼´ÌÜÀ¹¤ê
   PLOT TEXT ,AT xmax,k: STR$(k*2)&"¡ë" !¢¨ÍøÆÀ¤Î¥°¥é¥Õ¤Ë¹ç¤ï¤»¤ë¤¿¤á¤Ë2Çܤ¹¤ë
NEXT k

SET LINE COLOR 2
FOR xx=0 TO xmax STEP 0.05 !¼þÇÈ¿ô[Hz]
   LET f=10^xx
   LET th=arg(G(j*w))
   IF th>0 THEN LET th=th-2*PI !0¡Á-2¦Ð¤ØÊäÀµ¤¹¤ë¡¡<----- ¢¨Í×Ä´À°
   PLOT LINES: xx,DEG(th)/2; !°ÌÁê¦È[deg]¡¡¢¨ÍøÆÀ¤Î¥°¥é¥Õ¤Ë¹ç¤ï¤»¤ë¤¿¤á¤Ë1/2Çܤ¹¤ë
NEXT xx
PLOT LINES


END


¡üÅÁã´Ø¿ô¤Ë¤è¤ë²áÅϲòÀÏ
OPTION ARITHMETIC COMPLEX

DECLARE EXTERNAL SUB IFFT !µÕ¥Õ¡¼¥ê¥¨ÊÑ´¹

DEF C(s)=G(s)*R(s) !±þÅú´Ø¿ô
DEF R(s)=1/s !»ØÎá´Ø¿ô¡¡¢¨¥¹¥Æ¥Ã¥×´Ø¿ô

LET Vi=1 !1¢Ü0¡ë[V]¡¡¢¨²¾¤ÎÅ۵¸»


!----- ¢­¢­¢­¢­¢­ -----
LET T=2e-3 !»þ´Ö¶è´Ö [0,T]


!¡ü²óÏ©¿Þ¡¡CR¥í¡¼¥Ñ¥¹¡¦¥Õ¥£¥ë¥¿
!vi¡¦¨¡R1¨¨¨¡¡¦vo
!¡¡¡¡¡¡¡¡C1
!¡¡¡¡¡¡  ¨¢
!¡¡¡¡¡¡¡¡¢á
!¡¡»²¹Í¥µ¥¤¥È¡¡http://sim.okawa-denshi.jp/CRlowkeisan.htm

LET R1=1.6e3 !1.6k[¦¸]
LET C1=0.1e-6 !0.1¦Ì[F]

DEF G(s)=1/(s*C1*R1+1) !Æþ½ÐÎÏ¥·¥¹¥Æ¥à¤ÎÅÁã´Ø¿ô¡¡G(s)=Vo/Vi=(1/(C1*R1))/(s+1/(C1*R1))
!----- ¢¬¢¬¢¬¢¬¢¬ -----


!µÕ¥é¥×¥é¥¹ÊÑ´¹
! f(t)=lim [¦Ø¢ª¡ç] { 1/(2¦Ð*j)¢éF(s)*Exp(s*t)ds [¦Ã-j*¦Ø,¦Ã+j*¦Ø] }¡¢j¤Ïµõ¿ôñ°Ì¡¢¦Ã>0¤È¦Ø¤Ï¼Â¿ô¡£
!s=¦Ã+j*2¦Ð¦Ø¤È¤¹¤ë¤È¡¢ds=j*2¦Ðd¦Ø¡£
!¤³¤ì¤ò¾å¼°¤ËÂåÆþ¤·¤Æ¡¢ÊÑ·Á¤¹¤ë¤È¡¢
! f(t)=Exp(¦Ãt)¢éF(¦Ã,¦Ø)*Exp(j*2¦Ð¦Ø)d¦Ø [-¡ç,¡ç]
!±¦ÊÕ¤ÎÀÑʬÉôʬ¤ÏµÕ¥Õ¡¼¥ê¥¨ÊÑ´¹¡£

LET N=1024*8 !¥Ç¡¼¥¿Áí¿ô¡¡¢¨£²¤Î¤Ù¤­¾è¡¢Â礭¤¤¤Û¤ÉÀºÅÙ¤¬¤è¤¤
DIM d(0 TO N-1) !Æþ½ÐÎÏÍÑÇÛÎó

LET Gamma=5 !¢¨3¡Á7
!¦Ã¤òÂ礭¤¯¤¹¤ì¤ÐÀºÅ٤Ͼ夬¤ê¤½¤¦¤À¤¬¡¢
!¤¢¤È¤ÇExp(¦Ãt)¤ò¤«¤±¤ë¤Î¤Ç¡¢t¤¬Â礭¤¤¤È¤³¤í¤Çȯ»¶¤¹¤ë¡£

LET rr=Gamma/T !¦Ã¤ò·è¤á¤ë

FOR k=0 TO N/2 !ÊÑ´¹¥Ç¡¼¥¿¤ÎºîÀ®
   LET Cs=C( COMPLEX(rr, 2*PI*k/T) ) !sk=¦Ã+j*2¦Ð*k/T¡¢k=0¡Án-1
   LET Hw=(COS(2*PI*k/N)+1)/2 !¥Ç¡¼¥¿¤ÏÎ¥»¶¤Ê¤¿¤á¡¢¥Ï¥Ë¥ó¥°´Ø¿ô¤ò¤«¤±¤ÆÊ¿³ê²½¤¹¤ë¡¡¢¨ÀºÅ٤θþ¾å
   LET d(k)=N/T*Cs*Hw !n/T*Y(k) * Hw¡¡0¡ÁN/2

   IF NOT(k=0 OR k=N/2) THEN LET d(N-k)=COMPLEX(Re(d(k)),-Im(d(k))) !N-1¡ÁN/2+1¤Ï¡¢¶¦ÌòÊ£ÁÇ¿ô
NEXT k


CALL IFFT(d) !¹â®µÕ¥Õ¡¼¥ê¥¨ÊÑ´¹


SET WINDOW -T/8,T,-Vi*1.2,Vi*1.2 !ɽ¼¨Îΰè
DRAW grid(T/4,Vi/5)

PLOT TEXT ,AT T*7/8,0: "[ÉÃ]"

LET dt=T/N !»þ´Ö¹ï¤ßÉý ­ùt

FOR k=0 TO N-1 STEP 8 !·ë²Ì¤Îɽ¼¨ [0,T]
   LET tt=k*dt !·Ð²á»þ´Ö
   PLOT LINES: tt, Re(d(k))*EXP(rr*tt); !Exp(¦Ãt)¤ò¤«¤±¤ë¡¡¢¨Exp(¦Ã*k*T/n)¡¢k=0¡Án-1
   PRINT Re(d(k))*EXP(rr*tt) !debug
NEXT k


END



EXTERNAL SUB IFFT(x()) !¹â®µÕ¥Õ¡¼¥ê¥¨ÊÑ´¹¡¡x() : ÆþÎÏ/½ÐÎϥǡ¼¥¿
OPTION ARITHMETIC COMPLEX
DECLARE EXTERNAL SUB FFTMAIN
LET nx=SIZE(x)
LET theta=2*PI/nx ! W = Exp(-j * 2¦Ð/N * -1) = Exp(j * theta)¤È¤¹¤ë
CALL FFTMAIN(x, theta)
MAT x=(1/nx)*x
END SUB

EXTERNAL SUB FFTMAIN(x(), theta)
OPTION ARITHMETIC COMPLEX
LET nx=SIZE(x)
IF MOD(nx, 2)<>0 THEN !DFT¤Î·×»»
   DIM w(0 TO nx-1), xtmp(0 TO nx-1)
   MAT xtmp=x
   FOR k=0 TO nx-1
      LET tmp=theta*k
      FOR n=0 TO nx-1
         LET w(n)=EXP( COMPLEX(0, tmp*n) )
      NEXT n
      LET x(k)=DOT(w, xtmp)
   NEXT k
ELSE !£²Ê¬¤·¤ÆºÆµ¢¸Æ½Ð¤·
   LET hnx=nx/2
   DIM x0(0 TO hnx-1), x1(0 TO hnx-1)
   FOR k=0 TO hnx-1
      LET x0(k)=x(k)+x(k+hnx)
      LET wk=EXP( COMPLEX(0, theta*k) )
      LET x1(k)=wk*(x(k)-x(k+hnx))
   NEXT k
   CALL FFTMAIN(x0, 2*theta)
   CALL FFTMAIN(x1, 2*theta)
   FOR k=0 TO hnx-1
      LET x(2*k)=x0(k)
      LET x(2*k+1)=x1(k)
   NEXT k
END IF
END SUB
 

Re: ÅÁã´Ø¿ô¤Ë¤è¤ë¥Õ¥£¥ë¥¿²óÏ©¤Î¼þÇÈ¿ô²òÀÏ¡¢²áÅϲòÀÏ

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2009ǯ 2·î16Æü(·î)14»þ51ʬ17ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.278[¸µµ­»ö¤Ø]

ÅÁã´Ø¿ô¤Ï¡¢ÊÄÏ©ÊýÄø¼°¤äÀáÅÀÊýÄø¼°¤Ê¤É¤Çµ­½Ò¤µ¤ì¤¿Ï¢Î©ÊýÄø¼°¤«¤éƳ¤«¤ì¤ë¡£

º¹¤·Âؤ¨
!¡ü²óÏ©¿Þ¡¡CR¥í¡¼¥Ñ¥¹¡¦¥Õ¥£¥ë¥¿
!vi¡¦¨¡R1¨¨¨¡¡¦vo
!¡¡¡¡¡¡¡¡C1
!¡¡¡¡¡¡  ¨¢
!¡¡¡¡¡¡¡¡¢á
!¡¡»²¹Í¥µ¥¤¥È¡¡http://sim.okawa-denshi.jp/CRlowkeisan.htm

LET R1=1.6e3 !1.6k[¦¸]
LET C1=0.1e-6 !0.1¦Ì[F]

DEF G(s)=1/(s*C1*R1+1) !Æþ½ÐÎÏ¥·¥¹¥Æ¥à¤ÎÅÁã´Ø¿ô¡¡G(s)=Vo/Vi=(1/(C1*R1))/(s+1/(C1*R1))
!---------- ¢¬¢¬¢¬¢¬¢¬ ----------


¤³¤Î²Õ½ê¤ò²¼µ­¤Î¥×¥í¥°¥é¥à¤ËÃÖ¤­´¹¤¨¤ë¡£

LET Vi=1 !1¢Ü0¡ë[V]¡¡¢¨²¾¤ÎÅ۵¸»

FUNCTION Laplace(e$,Z,s) !¥é¥×¥é¥¹ÊÑ´¹
   SELECT CASE UCASE$(e$)
   CASE "R"
      LET Laplace=Z !R*i(t)
   CASE "L"
      LET Laplace=s*Z !L*d{i(t)}/dt
   CASE "C"
      LET Laplace=1/(s*Z) !1/C*¢é{i(t)}dt
   CASE ELSE
      PRINT "̤¥µ¥Ý¡¼¥È¤ÎÁǻҤǤ¹¡£"
      STOP
   END SELECT
END FUNCTION


!¡ü²óÏ©¿Þ¡¡CR¥í¡¼¥Ñ¥¹¡¦¥Õ¥£¥ë¥¿
!¡¡¡¡¡¡¡¡a
!vi¡¦¨¡R1¨¨¨¡¡¦vo
!¡¡¡¡¡¡¡¡C2
!¡¡¡¡¡¡  ¨¢
!¡¡¡¡¡¡¡¡¢á
!¡¡»²¹Í¥µ¥¤¥È¡¡http://sim.okawa-denshi.jp/CRlowkeisan.htm

!----- ¢­¢­¢­¢­¢­ -----
LET M=2 !ÁǻҤοô
!----- ¢¬¢¬¢¬¢¬¢¬ -----

DIM A(M,M),x(M),b(M) !A*x=b¡¡¢¨Z(s)*I(s)=E(s)
DIM iA(M,M)

FUNCTION G(s) !ÅÁã´Ø¿ô
   MAT A=ZER !A(¼°¤ÎÈÖ¹æ,ÁǻҤÎÈÖ¹æ)¡¡¢¨²¼µ­¤ÎÀßÄê¤Ç£°¤Ï¾Êά¤¹¤ë¤¿¤á¡¢¤¢¤é¤«¤¸¤á£°¤òÆþ¤ì¤Æ¤ª¤¯
   MAT b=ZER !b(¼°¤ÎÈÖ¹æ)¡¡¢¨ÅÅή¤Þ¤¿¤ÏÅ۵¤ÎÏÂ

   !---------- ¢­¢­¢­¢­¢­ ----------
   LET R1=Laplace("R",1.6e3,s) !1.6k[¦¸]
   LET C2=Laplace("C",0.1e-6,s) !0.1¦Ì[F]


   !¥­¥ë¥Ò¥Û¥Ã¥Õ¤ÎÅÅή§
   LET A(1,1)=1 !ÀáÅÀa¡¡i1(t)-i2(t)=0¡¡¢Í¡¡I1(s)-I2(s)=0
   LET A(1,2)=-1

   !¥­¥ë¥Ò¥Û¥Ã¥Õ¤ÎÅ۵§
   LET A(2,1)=R1 !ÌÖÌÜ¡¡R1*i1(t) +1/C2*¢éi2(t)dt =Vi(t)¡¡¢Í¡¡R1*I1(s)+1/(s*C2)*I2(s)=Vi(s)
   LET A(2,2)=C2
   LET b(2)=Vi
   !---------- ¢¬¢¬¢¬¢¬¢¬ ----------

   MAT iA=INV(A)
   MAT x=iA*b !³ÆÁǻҤÎÅÅήI(s)¤òµá¤á¤ë
   !!!mat print x


   !---------- ¢­¢­¢­¢­¢­ ----------
   LET Vo=C2*x(2) ! Vo(t)=1/C2*¢éi2(t)dt¡¡¢Í¡¡Vo(s)=1/(s*C2)*I2(s)
   !---------- ¢¬¢¬¢¬¢¬¢¬ ----------

   LET G=Vo/Vi
END FUNCTION
!---------- ¢¬¢¬¢¬¢¬¢¬ ----------
 

Re: ¥³¥ó¥Ç¥ó¥µ¤È¡¢Äñ¹³¤À¤±¡©¡Ê£²¡Ë

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2009ǯ 2·î17Æü(²Ð)03»þ16ʬ38ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.273[¸µµ­»ö¤Ø]

¡ã¡ãÊä­»ö¹à¡ä¡ä
¡É·×»»¾å¤Ï¡¢£±¼þ¥ë¡¼¥×¤ÎÅÁã´Ø¿ô¡Ê½ÐÎÏ¡¿ÆþÎϡˤòÊ£ÁÇ¿ô¤Çµá¤á¡¢
¡Ê¼Â¿ôÉô¡á£±¡¢µõ¿ôÉô¡á£°¡Ë¤Ë¤Ê¤ë¾ò·ï¤Ç¡¢²ò¤È¤·¤Æ¤¤¤ë¡¦¡¦¡¦¡¡¡É¤Ë¤Ä¤¤¤Æ¡¢

¼«Ê¬¤Ç·×»»¤·¤¿¤â¤Î¤Ç¤Ï¡¢¤¢¤ê¤Þ¤»¤ó¤¬¡¢
³ºÅö¤Î£³ÃÊ·¿£Ã£Ò¾º°µ²óÏ©¤ÎÅÁã´Ø¿ô¤Ç¤¹¡£( R =R1=R2=R3, C =C1=C2=C3 )

ZT(s)=(1+5*R*C*s+6*R^2*C^2*s^2)/(1+5*R*C*s+6*R^2*C^2*s^2 + R^3*C^3*c^3)¢«¸í¤ê
ZT(s)=(1+5*R*C*s+6*R^2*C^2*s^2)/(1+5*R*C*s+6*R^2*C^2*s^2 + R^3*C^3*s^3)¢«Àµ(09/2/25)

-----------------------------------
°Ê²¼¤Ï¡¢²æÎ®¤ÎÍý²ò¤Ê¤¿¤á¡¢´Ö°ã¤¤¤¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£»²¹ÍÄøÅ٤˸æÍƼϡ£

Å۵¤Ç¹Í¤¨¤ë¾ì¹ç¤Î¡¢
ÅÁã´Ø¿ô( ½ÐÎÏÅ۵¡¿ÆþÎÏÅ۵ ) ¤òµá¤á¤ë»þ¡¢£Ì£Ã£ÒÁǻҤΥ¤¥ó¥Ô¡¼¥À¥ó¥¹¤ò¡¢
sL, 1¡¿sC , R
j¦ØL, 1¡¿j¦ØC, R¡¡¡¡¤Î¤É¤Á¤é¤òÍѤ¤¤ÆÉ½¸½¤¹¤ë¤È¡¢²¿¤¬²ò¤ë¤«¤ò¡¢¹Í¤¨¤Þ¤¹¡£

sL¡¡1¡¿sC¡¡ R¡¡¤È¤¹¤ë°ÕÌ£¡£¡Ês=¦Ò+j¦Ø ¤ÎÊ£ÁÇ¿ô¡Ë

¡¡¡¦¡¦¡¦²óÏ©ÅÅή¤ò¡¢I'(t)=(½é´ü°ÌÁêÅÅή)*exp(st) ¤ËÁ°Äó¤·¤¿¤È¤­¤Î¡¢Å۵¹ß²¼¤Î·¸¿ô¡£

L ¤ÎÅ۵¹ß²¼¡á¡¡ L * dI'(t)/dt¡¡=L*s*I'(t)¡¡¡¡¡¡¡¡¡¡=¡¡sL * I'(t)
C ¤ÎÅ۵¹ß²¼¡á(1/C)* ¢é I'(t)dt¡¡=(1/C)*(1/s )*I'(t) =(1/sC) * I'(t)
R ¤ÎÅ۵¹ß²¼¡á¡¡ R * I'(t)

j¦ØL¡¡1¡¿j¦ØC¡¡R¡¡¤È¤¹¤ë°ÕÌ£¡£

¡¡¡¦¡¦¡¦²óÏ©ÅÅή¤ò¡¢I(t)=(½é´ü°ÌÁêÅÅή)*exp(j¦Øt) ¤ËÁ°Äó¤·¤¿¤È¤­¤Î¡¢Å۵¹ß²¼¤Î·¸¿ô¡£

L ¤ÎÅ۵¹ß²¼¡á¡¡ L * dI(t)/dt¡¡=L*j¦Ø*I(t)¡¡¡¡¡¡¡¡ =¡¡j¦ØL * I(t)
C ¤ÎÅ۵¹ß²¼¡á(1/C)* ¢é I(t)dt¡¡=(1/C)*(1/j¦Ø)*I(t) =(1/j¦ØC) * I(t)
R ¤ÎÅ۵¹ß²¼¡á¡¡ R * I(t)


-------- ȯ¿¶²óÏ©¤Î¾ì¹ç -----------
¤³¤ì¤é¤Î¥¤¥ó¥Ô¡¼¥À¥ó¥¹¤òÍѤ¤¤Æ¡¢Å۵Æþ½ÐÎϤÎÈæ¡ÊÅÁã´Ø¿ô¡Ë¤òºî¤ê¡¢

ÅÁã´Ø¿ôZT() ¤ÎÆþ½ÐÎϤòÀܳ¤·¡¢¥ë¡¼¥×¤òºî¤Ã¤¿¤È¤­¤Î¾õÂÖ¤ò¡¢¼¡¤Î¼°¤Çɽ¸½¤·¤Þ¤¹¡£
¡Ê£Ï£Ð¥¢¥ó¥×¤âÃæ¤Ë´Þ¤á¤Æ¤ª¤¯¡Ë
ÅÁã´Ø¿ôZT(s)=1
ÅÁã´Ø¿ôZT(j¦Ø)=1

¤³¤ÎÊýÄø¼°¤«¤é½Ð¤Æ¤¯¤ëº¬£ó¤ä¡¢²ò¤Îj¦Ø¤Ï¡¢¤É¤ó¤Ê°ÕÌ£¤ò»ý¤Ä¤«¡£

³°ÉôÆþÎϤÎ̵¤¤¾õÂ֤ǡ¢ÆâÉô¤Ë²óÏ©ÅÅή
I'(t)=(½é´ü°ÌÁêÅÅή)*exp(st)¡¡Ëô¤Ï¡¢I(t)=(½é´ü°ÌÁêÅÅή)*exp(j¦Øt)

¤Ê¤ëÅÅή¤¬¡¢¼«Î©¤Ç¤­¤ë»ö¤ò¡¢°ÕÌ£¤·¤Þ¤¹¡££ó¤Î¼Â¿ôÉô¤¬Àµ¤Ê¤é¡¢³Ñ®Å٦ؤÇȯ¿¶¤Ç¤¹
ÅÁã´Ø¿ôZT()=1 ¤Î²ò £ó¡¢j¦Ø¤Ï¡¢(½é´ü°ÌÁêÅÅή)¤Ë¤Ä¤¤¤Æ¤Ï¡¢²¿¤é¤ÎÀ©¸Â¤â¤·¤Æ¤¤¤Þ¤»¤ó¡£

¤³¤³¤Ç¡¢ÅÁã´Ø¿ôZT(j¦Ø)=1 ¤ÎÊý¤Ï¡¢²ò¤¬Ìµ¤¤²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£

I(t)=(½é´ü°ÌÁêÅÅή)*exp(j¦Øt) ¤Ê¤ë
Äê¾ïŪ¤Ê²óÏ©ÆâÅÅή¤òÁ°Ä󤷤Ƥ¤¤ë¤¿¤á¡¢ÅÁã´Ø¿ôZT(j¦Ø)=1 ¤Ï¡¢½é´üÃͤμ«Í³ÅÙ¤ò½ü¤¯¤È¡¢
¤½¤Î²ò¤ÎÅÅή¤Ï¡¢£±¤Ä¤ÎÄê¾ïŪ¤Ê¡¢ÇÈ·ÁÅÅή¤À¤±¤Ç¤¹¡£

ȯ¿¶´ï¤Î¤è¤¦¤Ë¡¢¥ë¡¼¥×Æâ¤Ë¡¢À®Ä¹¤¹¤ë¿¶Æ°ÅÅή¤¬¡¢»þ´Ö¤Èȼ¤Ëȯ㤷¤Æ¤¤¤ë¤Ê¤é¡¢
¥ë¡¼¥×ÆâÅÅή¤ò¡¢(½é´ü°ÌÁêÅÅή)*exp(j¦Øt) ·Á¼°¤Ç¡¢É½¸½½ÐÍè¤Ê¤¤¤¿¤á¤Ç¤·¤ç¤¦¡£

-------------------------------------
£±¤Ä¤ÎÇÈ·Á¤Ï¡¢Äê¾ïŪ¤ÊÊ£¿ô¤Îñ¿¶Æ°¡¢(½é´ü°ÌÁêÅÅή)*exp(j¦Øt) ¤¬½¸¤Þ¤ë¹çÀ®ÇÈ
¤Ç¤¹¤«¤é¡¢
j¦Ø¤ò¡¢¦Ò¡Üj¦Ø¤ÎÍͤʡ¢¼Â¿ôÉô¦Ò¤ò»ý¤ÄÊ£ÁÇ¿ô£ó¤òÍѤ¤¤Æ¡¢
²óÏ©ÆâÅÅή¤ò¡¢I'(t)=(½é´ü°ÌÁêÅÅή)*exp(st) ¤Ë¡¢Á°Ä󤹤ë¤È¡¢

³Æ¥¹¥Ú¥¯¥È¥ë¤Ï¡¢ÆÈΩ¤Ë¤½¤Î¿¶Éý¤âÊѲ½¤µ¤»¤ë»ö¤¬½ÐÍè¡¢¥¹¥Ú¥¯¥È¥é¥à¤Î»þ´ÖÊѲ½¤òɽ¸½
¤¹¤ë»ö¤¬²Äǽ¤È¤Ê¤ê¡¢£²¤Ä¤Î°Û¤Ê¤ëÇÈ·Á¤Ø¤ÎÊÑÁ«¤¬¡¢µ­½Ò½ÐÍè¤ë¤Ç¤·¤ç¤¦¡£
¨¤Á¡¢²áÅÏŪ¤ÊÅÅήÇÈ·Á¤ò¤â¡¢ÅÁã´Ø¿ôZT(s)=1 ¤Ï¡¢²ò¤È¤·¤Æ»ý¤Æ¤ë»ö¤ò¡¢°ÕÌ£¤·¤Þ¤¹¡£

¤³¤ì¤¬¡¢£ó¤ò»ÈÍѤ¹¤ë¥¤¥ó¥Ô¡¼¥À¥ó¥¹³µÇ°¤¬¡¢£ê¦Ø¤è¤ê¹¥¤Þ¤ì¡¢Í¥¤ì¤Æ¤¤¤ëÅÀ¤Ç¤¹¡£
-------------------------------------

¢¨¸½ºß¡¢»þ´Ö¤¬¥­¥Ä¥¤¤¿¤á¤Ë¡¢°Ê¾å¤Ë¤Ä¤¤¤Æ¤Î¼ÁÌä¤Ï¡¢¤·¤Ê¤¤¤Ç²¼¤µ¤¤¡£¤¹¤ß¤Þ¤»¤ó¡£
 

Re: ÅÁã´Ø¿ô¤Ë¤è¤ë¥Õ¥£¥ë¥¿²óÏ©¤Î¼þÇÈ¿ô²òÀÏ¡¢²áÅϲòÀÏ

 Åê¹Æ¼Ô¡§Âç·§¡¡Àµ  Åê¹ÆÆü¡§2009ǯ 2·î17Æü(²Ð)12»þ23ʬ48ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.279[¸µµ­»ö¤Ø]

»³ÃæÏµÁ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> ÅÁã´Ø¿ô¤Ï¡¢ÊÄÏ©ÊýÄø¼°¤äÀáÅÀÊýÄø¼°¤Ê¤É¤Çµ­½Ò¤µ¤ì¤¿Ï¢Î©ÊýÄø¼°¤«¤éƳ¤«¤ì¤ë¡£
>
> º¹¤·Âؤ¨
>
> <PRE>
>
> !¡ü²óÏ©¿Þ¡¡CR¥í¡¼¥Ñ¥¹¡¦¥Õ¥£¥ë¥¿
> !vi¡¦¨¡R1¨¨¨¡¡¦vo
> !¡¡¡¡¡¡¡¡C1
> !¡¡¡¡¡¡  ¨¢
> !¡¡¡¡¡¡¡¡¢á
> !¡¡»²¹Í¥µ¥¤¥È¡¡http://sim.okawa-denshi.jp/CRlowkeisan.htm
>
> LET R1=1.6e3 !1.6k[¦¸]
> LET C1=0.1e-6 !0.1¦Ì[F]
>
> DEF G(s)=1/(s*C1*R1+1) !Æþ½ÐÎÏ¥·¥¹¥Æ¥à¤ÎÅÁã´Ø¿ô¡¡G(s)=Vo/Vi=(1/(C1*R1))/(s+1/(C1*R1))
> !---------- ¢¬¢¬¢¬¢¬¢¬ ----------
> </PRE>
>
>
> ¤³¤Î²Õ½ê¤ò²¼µ­¤Î¥×¥í¥°¥é¥à¤ËÃÖ¤­´¹¤¨¤ë¡£
>
>
> <PRE>
>
> LET Vi=1 !1¢Ü0¡ë[V]¡¡¢¨²¾¤ÎÅ۵¸»
>
> FUNCTION Laplace(e$,Z,s) !¥é¥×¥é¥¹ÊÑ´¹
>    SELECT CASE UCASE$(e$)
>    CASE "R"
>       LET Laplace=Z !R*i(t)
>    CASE "L"
>
> !¡ü²óÏ©¿Þ¡¡CR¥í¡¼¥Ñ¥¹¡¦¥Õ¥£¥ë¥¿
> !¡¡¡¡¡¡¡¡a
> !vi¡¦¨¡R1¨¨¨¡¡¦vo
> !¡¡¡¡¡¡¡¡C2
> !¡¡¡¡¡¡  ¨¢
> !¡¡¡¡¡¡¡¡¢á
> !¡¡»²¹Í¥µ¥¤¥È¡¡http://sim.okawa-denshi.jp/CRlowkeisan.htm
>
> !----- ¢­¢­¢­¢­¢­ -----
> LET M=2 !ÁǻҤοô
> !----- ¢¬¢¬¢¬¢¬¢¬ -----
>
> DIM A(M,M),x(M),b(M) !A*x=b¡¡¢¨Z(s)*I(s)=E(s)
> DIM iA(M,M)
>
>    !---------- ¢­¢­¢­¢­¢­ ----------
>    LET Vo=C2*x(2) ! Vo(t)=1/C2*¢éi2(t)dt¡¡¢Í¡¡Vo(s)=1/(s*C2)*I2(s)
>    !---------- ¢¬¢¬¢¬¢¬¢¬ ----------
>
>    LET G=Vo/Vi
> END FUNCTION
> !---------- ¢¬¢¬¢¬¢¬¢¬ ----------

¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö

Âç·§¤Ç¤¹¡£
¥³¥Ô¡¼¤·¤Æº¹¤·Âؤ¨¤Þ¤·¤¿¤¬ºÇ¸å¤Î²¼µ­¤ÎÉôʬ
    LET G=Vo/Vi
END FUNCTION
!---------- ¢¬¢¬¢¬¢¬¢¬ ----------


LET G=Vo/Vi¡¡¤Ç¡Ö£Ç¤Ï´Ø¿ô̾¡¡Ê¸Ë¡¾å¤Î¸í¤ê¡×¤È½Ð¤ÆÆ°¤­¤Þ¤»¤ó¡£

·É¶ñ
 

Re: ÅÁã´Ø¿ô¤Ë¤è¤ë¥Õ¥£¥ë¥¿²óÏ©¤Î¼þÇÈ¿ô²òÀÏ¡¢²áÅϲòÀÏ

 Åê¹Æ¼Ô¡§»³ÃæÏµÁ  Åê¹ÆÆü¡§2009ǯ 2·î17Æü(²Ð)13»þ09ʬ15ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.281[¸µµ­»ö¤Ø]

Âç·§¡¡Àµ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> LET G=Vo/Vi¡¡¤Ç¡Ö£Ç¤Ï´Ø¿ô̾¡¡Ê¸Ë¡¾å¤Î¸í¤ê¡×¤È½Ð¤ÆÆ°¤­¤Þ¤»¤ó¡£

¤¦¤Þ¤¯Àڤꎤ꤬¤Ç¤­¤Æ¤¤¤Ê¤¤¤è¤¦¤Ê¤Î¤Ç¡¢ºÇ½é¤Î¥×¥í¥°¥é¥à¤Ëº¹¤·Âؤ¨¤¿¤â¤Î¤ò·ÇºÜ¤·¤Þ¤¹¡£
OPTION ARITHMETIC COMPLEX

LET j=SQR(-1) !µõ¿ôñ°Ì

LET f=60 !¼þÇÈ¿ô[Hz]
DEF w=2*PI*f !³Ñ¼þÇÈ¿ô¦Ø

SUB DispS(z) !Ê£ÁÇ¿ô¤òSɽ¼¨¤¹¤ë¡¡¢¨¥¹¥¿¥¤¥ó¥á¥Ã¥Ä¡ÊSteinmetz¡Ë
   PRINT ABS(z);
   IF ABS(z)<>0 THEN
      IF arg(z)<>0 THEN PRINT "¢Ü";DEG(arg(z));"¡ë";
   END IF
   PRINT
END SUB
!-------------------- ¤³¤³¤Þ¤Ç¤¬¥µ¥Ö¥ë¡¼¥Á¥ó


!---------- ¢­¢­¢­¢­¢­ ----------
LET xmax=6 !<----- ¢¨Í×Ä´À°
LET ymin=-50
LET ymax=5


LET Vi=1 !1¢Ü0¡ë[V]¡¡¢¨²¾¤ÎÅ۵¸»

FUNCTION Laplace(e$,Z,s) !¥é¥×¥é¥¹ÊÑ´¹
   SELECT CASE UCASE$(e$)
   CASE "R"
      LET Laplace=Z !R*i(t)
   CASE "L"
      LET Laplace=s*Z !L*d{i(t)}/dt
   CASE "C"
      LET Laplace=1/(s*Z) !1/C*¢é{i(t)}dt
   CASE ELSE
      PRINT "̤¥µ¥Ý¡¼¥È¤ÎÁǻҤǤ¹¡£"
      STOP
   END SELECT
END FUNCTION


!¡ü²óÏ©¿Þ¡¡CR¥í¡¼¥Ñ¥¹¡¦¥Õ¥£¥ë¥¿
!¡¡¡¡¡¡¡¡a
!vi¡¦¨¡R1¨¨¨¡¡¦vo
!¡¡¡¡¡¡¡¡C2
!¡¡¡¡¡¡  ¨¢
!¡¡¡¡¡¡¡¡¢á
!¡¡»²¹Í¥µ¥¤¥È¡¡http://sim.okawa-denshi.jp/CRlowkeisan.htm

!----- ¢­¢­¢­¢­¢­ -----
LET M=2 !ÁǻҤοô
!----- ¢¬¢¬¢¬¢¬¢¬ -----

DIM A(M,M),x(M),b(M) !A*x=b¡¡¢¨Z(s)*I(s)=E(s)
DIM iA(M,M)

FUNCTION G(s) !ÅÁã´Ø¿ô
   MAT A=ZER !A(¼°¤ÎÈÖ¹æ,ÁǻҤÎÈÖ¹æ)¡¡¢¨²¼µ­¤ÎÀßÄê¤Ç£°¤Ï¾Êά¤¹¤ë¤¿¤á¡¢¤¢¤é¤«¤¸¤á£°¤òÆþ¤ì¤Æ¤ª¤¯
   MAT b=ZER !b(¼°¤ÎÈÖ¹æ)¡¡¢¨ÅÅή¤Þ¤¿¤ÏÅ۵¤ÎÏÂ

   !---------- ¢­¢­¢­¢­¢­ ----------
   LET R1=Laplace("R",1.6e3,s) !1.6k[¦¸]
   LET C2=Laplace("C",0.1e-6,s) !0.1¦Ì[F]


   !¥­¥ë¥Ò¥Û¥Ã¥Õ¤ÎÅÅή§
   LET A(1,1)=1 !ÀáÅÀa¡¡i1(t)-i2(t)=0¡¡¢Í¡¡I1(s)-I2(s)=0
   LET A(1,2)=-1

   !¥­¥ë¥Ò¥Û¥Ã¥Õ¤ÎÅ۵§
   LET A(2,1)=R1 !ÌÖÌÜ¡¡R1*i1(t) +1/C2*¢éi2(t)dt =Vi(t)¡¡¢Í¡¡R1*I1(s)+1/(s*C2)*I2(s)=Vi(s)
   LET A(2,2)=C2
   LET b(2)=Vi
   !---------- ¢¬¢¬¢¬¢¬¢¬ ----------

   MAT iA=INV(A)
   MAT x=iA*b !³ÆÁǻҤÎÅÅήI(s)¤òµá¤á¤ë
   !!!mat print x


   !---------- ¢­¢­¢­¢­¢­ ----------
   LET Vo=C2*x(2) ! Vo(t)=1/C2*¢éi2(t)dt¡¡¢Í¡¡Vo(s)=1/(s*C2)*I2(s)
   !---------- ¢¬¢¬¢¬¢¬¢¬ ----------

   LET G=Vo/Vi
END FUNCTION
!---------- ¢¬¢¬¢¬¢¬¢¬ ----------


!!!SET bitmap SIZE 600,600 !²èÌ̤òÂ礭¤¯¤¹¤ë
SET WINDOW -0.5,xmax+0.5, ymin,ymax !ɽ¼¨Îΰè
DRAW grid(1,5) !º¸Ã¼¤ÎÌÜÀ¹¤ê

FOR f=1 TO xmax !£ø¼´¤¬Âпô
   PLOT TEXT ,AT f-0.3,-0.15: mid$("10  100 1k  10k 100k1M  10M 100M",4*(f-1)+1,4)
NEXT f

FOR xx=0 TO xmax STEP 0.025 !¼þÇÈ¿ô[Hz]
   LET f=10^xx !xx=LOG10(f)
   LET t=ABS(G(j*w))
   PLOT LINES: xx,20*LOG10(t); !ÍøÆÀ[dB]
NEXT xx
PLOT LINES


SET TEXT COLOR 2
FOR k=ymax TO ymin STEP -5 !±¦Ã¼¤Î½Ä¼´ÌÜÀ¹¤ê
   PLOT TEXT ,AT xmax,k: STR$(k*2)&"¡ë" !¢¨ÍøÆÀ¤Î¥°¥é¥Õ¤Ë¹ç¤ï¤»¤ë¤¿¤á¤Ë2Çܤ¹¤ë
NEXT k

SET LINE COLOR 2
FOR xx=0 TO xmax STEP 0.05 !¼þÇÈ¿ô[Hz]
   LET f=10^xx
   LET th=arg(G(j*w))
   IF th>0 THEN LET th=th-2*PI !0¡Á-2¦Ð¤ØÊäÀµ¤¹¤ë¡¡<----- ¢¨Í×Ä´À°
   PLOT LINES: xx,DEG(th)/2; !°ÌÁê¦È[deg]¡¡¢¨ÍøÆÀ¤Î¥°¥é¥Õ¤Ë¹ç¤ï¤»¤ë¤¿¤á¤Ë1/2Çܤ¹¤ë
NEXT xx
PLOT LINES


END
 

Re: ÅÁã´Ø¿ô¤Ë¤è¤ë¥Õ¥£¥ë¥¿²óÏ©¤Î¼þÇÈ¿ô²òÀÏ¡¢²áÅϲòÀÏ

 Åê¹Æ¼Ô¡§Âç·§¡¡Àµ  Åê¹ÆÆü¡§2009ǯ 2·î18Æü(¿å)10»þ54ʬ41ÉÃ
ÊÖ¿®¡¦°úÍÑ
  > No.282[¸µµ­»ö¤Ø]

»³ÃæÏµÁ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

> Âç·§¡¡Àµ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£
>
> > LET G=Vo/Vi¡¡¤Ç¡Ö£Ç¤Ï´Ø¿ô̾¡¡Ê¸Ë¡¾å¤Î¸í¤ê¡×¤È½Ð¤ÆÆ°¤­¤Þ¤»¤ó¡£
>
> ¤¦¤Þ¤¯Àڤꎤ꤬¤Ç¤­¤Æ¤¤¤Ê¤¤¤è¤¦¤Ê¤Î¤Ç¡¢ºÇ½é¤Î¥×¥í¥°¥é¥à¤Ëº¹¤·Âؤ¨¤¿¤â¤Î¤ò·ÇºÜ¤·¤Þ¤¹¡£
>
>

Âç·§¤Ç¤¹¡£
º£Å٤Ϥ¹¤°¾å¼ê¤¯Æ°¤­¤Þ¤·¤¿¡£¤ªË»¤·¤¤Ã桢ͭÆñ¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£

²áÅÏÆÃÀ­¤Î¥×¥í¥°¥é¥à¤â¡¢¤³¤¦¤¤¤¦¤Î¤¬ºß¤Ã¤¿¤é¤¤¤¤¤Ê¡¦¡¦¡¦
¤È»×¤Ã¤Æ¤¤¤¿ÌðÀè¤Ç¤·¤¿¡£º£¸å¤âÂç»ö¤Ë»È¤ï¤»¤Æ¤¤¤¿¤À¤­¤Þ¤¹¡£

·É¶ñ
 

Re: ÀáÅÀ²òÀÏË¡¤Ë¤Ä¤¤¤Æ¡¡¡Ê£³¡Ë

 Åê¹Æ¼Ô¡§SECOND  Åê¹ÆÆü¡§2009ǯ 2·î19Æü(ÌÚ)11»þ24ʬ57ÉÃ
ÊÖ¿®¡¦°úÍÑ ¡¡ÊÔ½¸ºÑ
  > No.267[¸µµ­»ö¤Ø]

Âç·§¡¡Àµ¤µ¤ó¤Ø¤Î¤ªÊÖ»ö¤Ç¤¹¡£

! Rs¤òÉղ乤ë¤Î¤Ï¡¢Îɤ¯¤¢¤ê¤Þ¤»¤ó¡£
! ²¼¤Î£²¤Ä¤Î²óÏ©¤Ï¡¢Æ±¤¸¤â¤Î¤Ç¤¹¡£¥Æ¥Ö¥Ê¥ó¤ÎÄêÍý¤ò¡£
!                             ¨£¨¡C2¨¡¨¨¨¡¨¡¨¡¨¡¨¡¨¡¨¤
!                             ¨¢      ¨¢  ¨£¨¡¨¡¨¤  ¨¢
!                             ¨¢      ¨¦¨¡¨©-   ¨¢  ¨¢
!                             ¨¢          ¨¢    ¨§¨¡­¥¨¡
!             ¨£¨¡R1¨¡­¡¨¡R2¨¡­¢¨¡R3¨¡­£¨¡¨©+   ¨¢  ¢¬ V5
!             ¢¬      ¢¬V1    ¢¬V2    ¢¬V3¨¦¨¡¨¡¨¥  ¨¢
!             Vin     C1              C3     K=1    ¨¢
!             ¨¢      ¨¢              ¨¢            ¨¢
!             £°¨¡¨¡¨¡¨ª¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨ª¨¡¨¡¨¡¨¡¨¡¨¡¨ª¨¡
!
! |(1/R1)+(1/R2)+¦Ø*C1*j -(1/R2)               0                | |V1| |Vin/R1|
! |-(1/R2)               (1/R2)+(1/R3)+¦Ø*C2*j -(1/R3)-K*¦Ø*C2*j| |V2|=| 0    |
! |0                     -(1/R3)               (1/R3)+¦Ø*C3*j   | |V3| | 0    |
!

!