·Îº¿ ÇÁ·Î±×·¥

 

ÇÁ·Î±×·¥ÀÇ ÃµÀç°¡ µÇÀÚ : Richard E. Pattis   Jim Roberts   Mark Stehlik Àú, Á¶¹üÁØ ¿ª, ³»ÇÏÃâÆÇ»ç, 2003 (¿ø¼­ : Karel the Robot: A Gentle Introduction to the Art of Programming, John Wiley & Sons, 1994), Page 1~31, 229~231

 

1. ·Îº¿ ¼¼°è

     (1) ·Îº¿ÀÇ ¼¼°è

     (2) ·Îº¿ÀÇ ´É·Â

     (3) ÀÓ¹«¿Í »óȲµé

2. ±âº» ¸í·Éµé°ú °£´ÜÇÑ ÇÁ·Î±×·¥

     (1) À§Ä¡ ¹Ù²Ù±â

     (2) ºñÆÛÀÇ Á¶ÀÛ

     (3) ÀÓ¹« Á¾·á

     (4) ÇÁ·Î±×·¥ÀÇ ¿Ï¼º

           ¨ç ÇÁ·Î±×·¥ÀÇ ½ÇÇà

           ¨è ·Îº¿ ÇÁ·Î±×·¥ÀÇ Çü½Ä

     (5) ¿¡·¯ ¹ß»ý ó¸® (Error Shutoffs)

     (6) ÇÁ·Î±×·¡¹Ö ¿¡·¯ (programming Errors)

3. ÇÁ·Î±×·¡¹Ö ¿ä¾à

 

1. ·Îº¿ ¼¼°è

(1) ·Îº¿ÀÇ ¼¼°è

·Îº¿Àº Çö ¼¼»ó¿¡´Â Á¸ÀçÇÏÁö ¾ÊÁö¸¸ (±×°÷¿¡´Â È­»êµµ ¾ø°í, Áß±¹½Ä ½Ä´çµµ ¾ø°í, ½ÉÆ÷´Ï ¿ÀÄɽºÆ®¶óµµ ¾ø´Ù), ±×·¯³ª ·Îº¿ÀÌ °£´ÜÇÏ°Ô ÇÒ ¼ö ÀÖ´Â Èï¹Ì·Î¿î ÀÏÀÌ ¸¹ÀÌ ÀÖ´Â ±×·± ¼¼»ó¿¡ »ì°í ÀÖ´Ù. ·Îº¿ÀÌ »ì°í ÀÖ´Â ¼¼»óÀº ·Îº¿ÀÌ À̵¿ÇÒ ¼ö ÀÖ´Â ±æÀÌ ¸ðµÎ °ÝÀÚ ¸ð¾çÀ¸·Î ¶Õ·Á ÀÖ´Ù. ±× ±æ¿¡´Â ·Îº¿ÀÌ °¨ÁöÇÒ ¼ö ÀÖ°í Á¶ÀÛÇÒ ¼ö Àִ Ưº°ÇÑ ¹°Ã¼°¡ ÀÖ´Ù.

±×¸² 1  ·Îº¿ÀÇ ¼¼»ó

[±×¸² 1] Àº ·Îº¿ÀÌ Á¸ÀçÇÏ´Â ¼¼»óÀÇ ±¸Á¶¸¦ ³ªÅ¸³»´Â ÁöµµÀÌ´Ù. ÀϹÝÀûÀ¸·Î µ¿¤ý¼­¤ý³²¤ýºÏ¿¡´Â ÀÏÁ¤ °£°ÝÀ¸·Î Æ÷ÀÎÆ®°¡ Á¸ÀçÇÏ°í ¸Å¿ì ÆòÆòÇÑ ÆÇ ¸ð¾çÀ» ÇÏ°í ÀÖ´Ù. ÀÌ ¼¼°è´Â ¼­ÂÊÀ» ±âÁØÀ¸·Î ÇÏ¿©, ºÏÂÊÀ¸·Î ÇѾøÀÌ »¸ÃÄÁø º®ÀÌ ÀÖ°í, ³²ÂÊÀ» ±âÁØÀ¸·Î µ¿ÂÊÀ¸·Î ÇѾøÀÌ Âß »¸Àº º®ÀÌ ÀÖ´Ù. ÀÌ ±âÁØÀÌ µÇ´Â º®Àº ´ºÆ®·Î´Ï¾ö (Neutronium) À̶ó´Â ±úÁöÁöµµ ¾Ê°í ¶ÕÀ» ¼öµµ ¾ø´Â ±Ý¼ÓÀ¸·Î µÇ¾î ÀÖ¾î ·Îº¿ÀÌ ¼¼°èÀÇ ³¡¿¡¼­ ¾Æ·¡·Î ¶³¾îÁö´Â °ÍÀ» ¸·À» ¼ö ÀÖ´Ù.

µ¿¿¡¼­ ¼­ÂÊÀ¸·Î »¸Àº Street ¿Í ºÏ¿¡¼­ ³²À¸·Î »¸Àº Avenue °¡ ÇÑ ºí·Ï °£°ÝÀ¸·Î °è¼Ó ±³Â÷µÇ¾î ÀÖ´Ù. ¿©·¯ºÐÀÌ Street ¿Í Avenue ¸¦ ½±°Ô ±¸ºÐÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀº Avenue ÀÇ 'A' ´Â ºÏÂÊÀ» ÇâÇØ »ÏÁ·ÇÏ°Ô ³ª¿Í ÀÖ°í 'V' ´Â ³²ÂÊÀ» °¡¸®Å°°í ÀÖ´Ù´Â °ÍÀ» ±â¾ïÇϸé ÁÁ´Ù. Äڳʶõ Street ¿Í Avenue °¡ ¸¸³ª´Â ±³Â÷·Î ³ªÅ¸³½´Ù. ·Îº¿Àº ÀÌ Äڳʿ¡¸¸ À§Ä¡ÇÒ ¼ö ÀÖ´Ù. Steet ¿Í Avenue µÑ ¸ðµÎ °¢°¢ ÀÏ·Ã ¹øÈ£°¡ ¸Å°ÜÁ® ÀÖ´Ù. ù ¹ø° Street ¿Í ù ¹ø° Avenue °¡ ¸¸³ª´Â ±³Â÷Á¡À» Ãâ¹ßÁ¡ (Origin) À̶ó°í ÇÑ´Ù. Àý´ë°æ·Î (Absolute) ÀÔÀå¿¡¼­ º¸¾ÒÀ» ¶§ Ãâ¹ßÁ¡Àº ù ¹ø° Street ¿Í ù ¹ø° Avenue ÀÇ ±³Â÷ÁöÁ¡ (Intersection) À» ¸»ÇÏ´Â °ÍÀÌ´Ù. ÀÌ Ãâ¹ßÁ¡À» »ó´ë°æ·Î (Relative) ÀÔÀå À§Ä¡¿Í ·Îº¿ ¼¼»óÀÇ ¹°Ã¼ÀÇ À§Ä¡¸¦ Àý´ë°æ·Î¿Í »ó´ë°æ·Î ¸ðµÎ¸¦ »ç¿ëÇÏ¿© ³ªÅ¸³¾ °ÍÀÌ´Ù.

·Îº¿ ¼¼»ó¿¡´Â µÎ Á¾·ùÀÇ ¹°Ã¼°¡ Á¸ÀçÇϴµ¥, ù ¹ø° ¹°Ã¼´Â ¹Ù·Î º® (Wall Section) ÀÌ´Ù. ÀÌ º® ¿ª½Ã ´ºÆ®·Î´Ï¾öÀ¸·Î ÀÌ·ç¾îÁ® ÀÖ°í ¿øÇÏ´Â ±æÀÌ¿Í ¸ð¾çÀ¸·Î Á¦Á¶µÉ ¼ö ÀÖ´Ù. ÀÌ º®Àº Street ÄÚ³ÊÀÇ Áß°£ ÁöÁ¡¿¡ À§Ä¡ÇÏ¿© ÀÖ°í ·Îº¿ÀÌ ÇÑ Äڳʿ¡¼­ ´Ù¸¥ ÄڳʷΠÀ̵¿ÇÒ ¶§ ¹æÇâÀ» °¡·Î¸·À» ¼ö ÀÖ°Ô µÇ¾î ÀÖ´Ù. ÀÌ·¸°Ô º®Àº ·Îº¿ÀÌ Á¶»çÇØ¾ß ÇÒ ¸ñÇ¥¹°À» µÑ·¯½Î°í ÀÖ´Â ÇãµéÀ̳ª »ê°ú °°Àº ¹æÇع°·Î »ý°¢ÇÒ ¼ö ÀÖ´Ù. ¹æÀ̳ª ÆÛÁñ, ±×¸®°í ´Ù¸¥ À庮À» ÀÌ º®À¸·Î ¸¸µé ¼ö ÀÖ´Ù. [±×¸² 2] ´Â º®ÀÇ ÀüÇüÀûÀÎ ¿¹¸¦ º¸¿©ÁØ´Ù.

±×¸² 2  ·Îº¿ ¼¼»ó¿¡ Á¸ÀçÇÒ ¼ö ÀÖ´Â º®µéÀÇ ¸ð¾ç

·Îº¿ÀÇ ¼¼»ó¿¡¼­ º¼ ¼ö ÀÖ´Â µÎ ¹ø° ¹°Ã¼´Â ºñÆÛ (Beeper) ÀÌ´Ù. ÀÌ ºñÆÛ´Â Á¶±×¸¶ÇÑ Çöó½ºÆ½ ¿ø»Ô ¸ð¾çÀ¸·Î »ý°å°í »ß ÇÏ´Â ¼Ò¸®¸¦ ³½´Ù. À̰͵éÀº Äڳʿ¡ ³õ¿©Á® ÀÖÀ¸¸ç ·Îº¿¿¡ ÀÇÇؼ­ Áý¾îÁö°í, ¿Å°ÜÁö°í, »õ·Î¿î À§Ä¡¿¡ ³õ¿©Áú ¼ö ÀÖ´Ù. ·Îº¿ÀÌ ¼öÇàÇÏ´Â ¸î °¡Áö ÀÓ¹« ÁßÀÇ Çϳª°¡ ¹Ù·Î ÀÌ ºñÆÛ¸¦ Á¤ÇØÁø ¸ð¾ç´ë·Î Áý¾î ¿Ã¸®°Å³ª ³õ°Å³ª, ¶Ç´Â ºñÆÛ¸¦ ã°Å³ª À̵¿½ÃÅ°´Â °ÍÀÌ´Ù. [±×¸² 3] Àº ºñÆÛ°¡ ³õ¿©Áö´Â ÇÑ°¡Áö ¸ð¾çÀ» ³ªÅ¸³½ °ÍÀÌ´Ù.

±×¸² 3  ·Îº¿ ¼¼»óÀÇ ºñÆÛ ¹è¿­ÀÇ ÇÑ °¡Áö ¿¹

(2) ·Îº¿ÀÇ ´É·Â

ÀÚ! ÀÌÁ¦ ·Îº¿ÀÇ ¼¼°è¿¡¼­ ´«À» ¶¼°í ·Îº¿ ÀÚü¿¡ °ü½ÉÀ» µ¹·Áº¸ÀÚ. ·Îº¿Àº ÀÚ½ÅÀÌ ¹Ù¶óº¸°í ÀÖ´Â ¹æÇâÀ¸·Î ÀüÁøÇÒ ¼ö ÀÖ°í ȸÀüÇÒ ¼öµµ ÀÖ´Â À̵¿ °¡´ÉÇÑ ·Îº¿ÀÌ´Ù. ·Îº¿Àº ºû, ¼Ò¸®, ¹æÇ⠱׸®°í ÃË°¢°ú °°Àº ±âº»ÀûÀÎ °¨°¢À¸·Î ±×ÀÇ ÁÖº¯¿¡ ÀÖ´Â °ÍµéÀ» °¨ÁöÇØ ³¾ ¼ö ÀÖ´Ù.

·Îº¿Àº ¾Õ, ÁÂ, ¿ì¿¡ ¼³Ä¡µÈ TV Ä«¸Þ¶ó Áß Çϳª·Î º¼ ¼öµµ ÀÖ´Ù. ÀÌ Ä«¸Þ¶óµéÀº ÀÚ½ÅÀ¸·ÎºÎÅÍ Á¤È®È÷ ¹Ý ºí·Ï ¶³¾îÁø °÷±îÁö º¼ ¼ö ÀÖ´Ù. ¶ÇÇÑ ·Îº¿Àº ºñÆÛÀÇ ¼Ò¸®¸¦ µéÀ» ¼ö ÀÖ´Â ´É·ÂÀÌ Àִµ¥ ºñÆÛ°¡ °°Àº Äڳʿ¡ ÀÖÀ» ¶§¸¸ °¡´ÉÇÏ´Ù. ·Îº¿Àº ÀÚ½ÅÀÌ ¾î´À À§Ä¡¸¦ º¸°í ¼­ ÀÖ´ÂÁöµµ ÆÇ´ÜÇÒ ¼ö ÀÖ´Ù. ¸¶Áö¸·À¸·Î ·Îº¿Àº ºñÆÛ¸¦ µé¾î¿Ã¸®°Å³ª ³»·Á³õÀ» ¼ö ÀÖ´Â °­Ã¶·Î µÈ ÆÈÀÌ ÀÖ´Ù. ±×¸®°í ºñÆÛ¸¦ ³ª¸£±â À§Çؼ­ Ç㸮 ºÎºÐ¿¡ ¹æÀ½ÀåÄ¡°¡ µÈ °¡¹æ (Beeper Bag) À» ÀåÂøÇÏ°í ÀÖ´Ù. ±×¸®°í ·Îº¿Àº °¡¹æÀ» »ìÆ캽À¸·Î½á ±×°¡ ºñÆÛ¸¦ ¿î¹ÝÇÏ°í ÀÖ´ÂÁö¸¦ ¾Ë ¼ö ÀÖ´Ù.

¿ì¸®°¡ ·Îº¿¿¡°Ô ¾î¶°ÇÑ ÀÓ¹«¸¦ ÁÙ ¶§, ±× ÀÏÀ» Çس»´Â µ¥ ÇÊ¿äÇÑ ¼¼ºÎ »çÇ×µéÀ» ÇϳªÇϳª Á¤È®ÇÏ°Ô ¼³¸íÇØ ÁÖ¾î¾ß ÇÑ´Ù. ·Îº¿Àº ÇÁ·Î±×·¥ (Program) À̶ó´Â ¸í·É¹®µéÀ» ÀÐ°í ±×´ë·Î ÀÓ¹«¸¦ ¼öÇàÇÒ ¼ö°¡ ÀÖ´Â °ÍÀÌ´Ù. ±×·¯¸é ¾î¶² ¾ð¾î·Î ·Îº¿À» Á¶Á¤ÇÏ´Â ÇÁ·Î±×·¥ (¿©±â¼­ ÇÁ·Î±×·¥À̶õ ¸í·ÉµéÀ» ¿­°ÅÇÏ´Â °ÍÀ» ¸»ÇÑ´Ù) À» ¸¸µé °ÍÀΰ¡? Çѱ¹¾îó·³ ÀÌ¹Ì ¾Ë°í ÀÖ´Â ¾ð¾î·Î ÇÁ·Î±×·¥À» ÇÏ´Â ´ë½Å, ¿ì¸®´Â ·Îº¿ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â µ¥ ¸Å¿ì À¯¿ëÇϵµ·Ï ¼³°èµÈ ¾ð¾î¸¦ »ç¿ëÇÒ °ÍÀÌ´Ù. ±× ¾ð¾î´Â ´Ü¾î, ±¸µÎÁ¡ ±×¸®°í ¹®¹ýµµ °¡Áö°í ÀÖ´Ù. ÀÌ ¾ð¾î´Â ¸Å¿ì ´Ü¼øÇؼ­ ·Îº¿ÀÌ ÀÌÇØÇÒ ¼ö ÀÖ°í ¶ÇÇÑ ¿ì¸®°¡ ·Îº¿À» À§Çؼ­ °£´ÜÇÏ°í ¸í·áÇÏ°Ô ÇÁ·Î±×·¥ÇÒ ¼ö ÀÖ°Ô µÇ¾î ÀÖ´Ù.

(3) ÀÓ¹«¿Í »óȲµé

ÀÓ¹« (Task) ¶õ ¿ì¸®°¡ ·Îº¿¿¡°Ô Çϱ⸦ ¿øÇÏ´Â ÀÏÀ» ¸»ÇÑ´Ù. ¾Æ·¡ÀÇ ³»¿ëÀº ·Îº¿ÀÌ ÇÒ ¼ö ÀÖ´Â ¸î °¡Áö ÀÓ¹«ÀÇ ¿¹µéÀÌ´Ù.

  • 15 ¹ø° µ¿¼­°£ µµ·Î¿Í 10 ¹ø° ³²ºÏ°£ µµ·ÎÀÇ ÄڳʷΠ¿òÁ÷¿©¶ó.
  • Àå¾Ö¹° °æ±â¸¦ Çضó (Wall Section À¸·Î Àå¾Ö¹°À» ³ªÅ¸³½´Ù).
  • ¹®ÀÌ Çϳª ÀÖ´Â ¹æ¿¡¼­ ³ª¿Í¶ó.
  • ºñÆÛ¸¦ ã¾Æ ¿øÁ¡¿¡ °®´Ù ³õ¾Æ¶ó.
  • ¹Ì·Î¸¦ ºüÁ® ³ª¿Í¶ó.

ÀÌ·¯ÇÑ °ÍµéÀº ¸Å¿ì °£´ÜÇÑ ÈƷõ鿡 ÇØ´çÇÑ´Ù.

»óȲ (Situation) À̶õ ·Îº¿ÀÇ ¼¼°è¸¦ Á¤È®ÇÏ°Ô ¹¦»çÇÏ´Â °ÍÀ» ¶æÇÑ´Ù. ·Îº¿ ¼¼°èÀÇ ±âº»ÀûÀÎ ±¸Á¶»Ó¸¸ ¾Æ´Ï¶ó, º®µé°ú ºñÆÛµéÀ» Æ÷ÇÔ½ÃÄÑ ¸ðµç »óȲÀ» ³ªÅ¸³»´Â °ÍÀÌ´Ù. »óȲÀ» ¿Ïº®ÇÏ°Ô ¼³¸íÇϱâ À§Çؼ­´Â ¿ì¸®´Â ´ÙÀ½°ú °°Àº Á¤º¸¸¦ ³ªÅ¸³» ÁÖ¾î¾ß ÇÑ´Ù.

  • ·Îº¿ÀÇ ÇöÀç À§Ä¡´Â ¾îµðÀΰ¡? ¿ì¸®´Â ·Îº¿ÀÇ À§Ä¡ (Àý´ëÀû ȤÀº »ó´ëÀû) ¿Í ·Îº¿ÀÌ ÇâÇÏ°í ÀÖ´Â ¹æÇâ, ¸ðµÎ¸¦ ³ªÅ¸³» ÁÖ¾î¾ß ÇÑ´Ù.
  • ÀÌ ¼¼°è¿¡¼­ °¢ º®ÀÇ À§Ä¡¿Í Å©±â´Â ¾î¶»°Ô µÇ´Â°¡?
  • ÀÌ ¼¼°è¿¡¼­ °¢ ºñÆÛÀÇ À§Ä¡°¡ ¾îµðÀΰ¡?

 

±×¸² 4  ·Îº¿ÀÌ ÇØ¾ß ÇÒ ¼­·Î ´Ù¸¥ 6 °¡Áö ÀÓ¹«

ÀÌ Ã¥¿¡¼­´Â ÀÛÀº Áöµµ±×¸²À̳ª °£´ÜÇÑ ¼³¸íÀ¸·Î ÀÌ·¯ÇÑ »óȲÀ» ¸í½ÃÇØ ÁÙ °ÍÀÌ´Ù. ¸¸¾à¿¡ ¿ì¸®°¡ ·Îº¿ÀÇ ºñÆÛ¹é (Beeper Bag) ¿¡ ÀÖ´Â ºñÆÛÀÇ °³¼ö¸¦ ¾Ë°í ÀÖ´Ù¸é À̰͵µ ¾Ë·Á ÁÖ¾î¾ß ÇÑ´Ù. [±×¸² 4] ´Â ¾ÕÀ¸·Î ·Îº¿ÀÌ ÇØ¾ß ÇÒ ¸î °¡Áö ÀÓ¹«ÀÇ ¼­·Î ´Ù¸¥ Ãʱâ»óȲÀ» ³ªÅ¸³»°í ÀÖ´Ù. ¾î¶² ÀÓ¹«¶óµµ Ãʱâ»óȲ (Initial Situation) ¿¡´Â ·Îº¿ÀÌ ÀÓ¹«¸¦ ½ÃÀÛÇÒ Ãʱâ À§Ä¡¸¦ Ç¥½ÃÇÏ¿©¾ß ÇÑ´Ù. Á¾·á »óȲ (Final Situation) Àº ·Îº¿ÀÌ ÀÚ½ÅÀÇ ½ºÀ§Ä¡¸¦ ²ø ¶§ÀÇ À§Ä¡¸¦ ³ªÅ¸³½´Ù. ´Ù¸¥ ¸»ÀÌ ¾ø´Â ÀÌ»ó ·Îº¿Àº ºó ºñÆÛ¹éÀ¸·Î ÀÓ¹«¸¦ ½ÃÀÛÇÑ´Ù°í »ý°¢ÇÒ ¼ö ÀÖ´Ù.

2. ±âº» ¸í·Éµé°ú °£´ÜÇÑ ÇÁ·Î±×·¥

(1) À§Ä¡ ¹Ù²Ù±â

·Îº¿ÀÇ À§Ä¡¸¦ ¹Ù²Ùµµ·Ï ÇÏ´Â µ¥´Â µÎ °¡ÁöÀÇ ±âº» ¸í·ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±× ù¹ø° °ÍÀÌ move ¶ó´Â ¸í·É¾îÀÌ´Ù.

>> move <<

·Îº¿ÀÌ move ¶ó´Â ¸í·É¾î¸¦ ¼öÇàÇÒ ¶§¿¡´Â ÀÚ½ÅÀÌ ÇâÇÏ°í ÀÖ´Â ¹æÇâÀ¸·Î 1 ºí·Ï ¾ÕÀ¸·Î À̵¿Çؼ­ ±× ¹æÇâÀ» ±×´ë·Î À¯ÁöÇÏ´Â °ÍÀ» ¶æÇÑ´Ù. ·Îº¿Àº ÀÚ½ÅÀÇ ¾Õ¿¡ º®°ú °°Àº Àå¾Ö¹°ÀÌ ÀÖÀ¸¸é ¾ÕÀ¸·Î ¿òÁ÷ÀÌÁö ¾Ê°í ±× ´ë½Å¿¡ ÀÚ½ÅÀÇ Àü¿øÀ» ²¨¹ö¸± °ÍÀÌ´Ù. ÀÌ ÇൿÀ» Error Shutoff ¶ó Çϴµ¥, (5) ¿¡¼­ ´õ ÀÚ¼¼ÇÏ°Ô ¼³¸íÇÏ°Ú´Ù.

À§ÀÇ Á¤ÀÇ¿¡¼­ ¾Ë ¼ö ÀÖµíÀÌ move ¶ó´Â ¸í·ÉÀº ·Îº¿À» ÇÑ ºí·Ï ¾ÕÀ¸·Î À̵¿½ÃÅ°´Â °ÍÀÌ´Ù. ±×¸®°í º®¿¡ ºÎµúÃÆÀ» ¶§´Â Erro Shutoff ¸¦ ½ÇÇàÇÏ´Â °ÍÀÌ´Ù. ´ÙÀ½ ±×¸²¿¡ ÀÌ µÎ °¡Áö »óȲÀ» ³ªÅ¸³»¾ú´Ù. [±×¸² 1] Àº  ¼º°øÀûÀ¸·Î move ¸í·É¾î¸¦ ¼öÇàÇÑ °æ¿ì·Î¼­ º®Àº ·Îº¿ÀÇ À§Ä¡¿¡¼­ ¹Ý ºí·Ï ÀÌ»ó ¶³¾îÁ® ÀÖ´Ù.

±×¸² 1  (A) move ¸í·É ÀüÀÇ Ãʱ⠻óÅÂ, (B) move ¸í·É ÈÄÀÇ ÃÖÁ¾ »óÅÂ

¹Ý¸é¿¡ [±×¸² 2] ´Â À߸øµÈ move ¸í·ÉÀÇ ¼öÇàÀ» ³ªÅ¸³» ÁØ´Ù. ·Îº¿Àº ¾Æ·¡ »óȲ¿¡¼­ move ¶ó´Â ¸í·É¾î¸¦ ¼öÇàÇÏ·Á°í ÇÏÁö¸¸ º®À» º¸°Ô µÇ°í ±×ÀÇ Àڱ⠺¸È£ º»´É¿¡ µû¶ó¼­ Error Shutoff ¶ó´Â °úÁ¤À» ¼öÇàÇÑ´Ù.

±×¸² 2  ¾ÕÀÌ ¸·Çô ÀÖÀ» ¶§ Error Shutoff ¸¦ ¼öÇàÇÑ °á°ú

·Îº¿À» ¿òÁ÷ÀÌ°Ô Çϴµ¥ »ç¿ëµÇ´Â µÎ ¹ø° ±âº» ¸í·ÉÀº turnleft ÀÌ´Ù. ÀÌ ¸í·É¾î´Â ·Îº¿ÀÌ ÇâÇÏ´Â ¹æÇâÀ» ¹Ù²ÙÁö¸¸ ±×ÀÇ À§Ä¡´Â º¯È­½ÃÅ°Áö ¾Ê´Â´Ù.

>> turnleft <<

·Îº¿Àº turnleft ¸í·ÉÀ» ¹Þ°Ô µÇ¸é ¿ÞÂÊÀ¸·Î 90° µ·´Ù. ¿©±â¿¡¼­ ·Îº¿Àº ¹æÇâÀ» ¹Ù²ÙÁö¸¸ À§Ä¡´Â ±×´ë·ÎÀ̸ç, º®ÀÌ ·Îº¿À» ¸·´Â´Ù´Â °ÍÀº ºÒ°¡´ÉÇϱ⠶§¹®¿¡ turnleft ¸í·É¾î´Â Error Shutoff ¸¦ À¯¹ß½Ãų ¼ö°¡ ¾ø´Ù.

·Îº¿Àº Ç×»ó ¾î¶² Äڳʿ¡¼­ µ¿¼­³²ºÏÀÇ ÇÑ ¹æÇâÀ» ¹Ù¶óº¸¸é¼­ ÀÓ¹«¸¦ ½ÃÀÛÇÑ´Ù. ·Îº¿Àº ¹Ý ºí·Ï¾¿ À̵¿ÇѴٵ簡 90° ÀÌ¿ÜÀÇ °¢µµ·Î´Â ¹æÇâÀ» ¹Ù²ÙÁö ¾Ê´Â´Ù. move ³­ turnleft °¡ ºñ·Ï ·Îº¿ÀÇ À§Ä¡³ª ¹æÇâÀ» ¹Ù²Ù±â´Â ÇÏÁö¸¸ ¿©ÀüÈ÷ ·Îº¿Àº ¼¼»óÀÇ ¾î´À ÇÑ Äڳʿ¡¼­ ÀÖ°Ô µÈ´Ù.

·Îº¿ÀÇ ±âº» ¾ð¾î¿¡´Â turnleft ¶ó´Â ´Ü¾î°¡ ¾ø´Ù. turnleft ¶ó´Â ´Ü¾î°¡ ÀÖ´Ù°í Çؼ­ Áö±ÝÀÇ 5 °³ ¸í·É¾î·Î ÇÏÁö ¸øÇÏ´Â »õ·Î¿î Å×½ºÅ©¸¦ Ç®¾î ³¾ ¼ö ÀÖÀ»±î? Àá±ñ »ý°¢ÇØ º¸¸é turnleft ¶ó´Â ´Ü¾î´Â ºÒÇÊ¿äÇÏ´Ù´Â °ÍÀ» ´À³¥ ¼ö°¡ ÀÖ´Ù. turnleft °¡ ÀÖÀ½À¸·Î¼­ »õ·Î¿î ÀÏÀ» Çس»´Â °Íµµ ¾Æ´Ï°í, 3 ¹øÀÇ turnleft ¸í·ÉÀ» ³»¸®¸é turnleft ¿Í °°¾ÆÁø´Ù´Â °ÍÀ» ¾Ë ¼ö Àֱ⠶§¹®ÀÌ´Ù.

(2) ºñÆÛÀÇ Á¶ÀÛ

·Îº¿Àº ºñÆÛ¸¦ ´Ù·ç´Â 2 °¡ÁöÀÇ ±âº» ¸í·É¾î¸¦ ¾Ë°í ÀÖ´Ù. ÀÌ µÎ °¡Áö ¸í·É¾î´Â ¼­·Î ¹Ý´ëµÇ´Â ÇൿÀ» ÇÑ´Ù.

>> pickbeeper <<

·Îº¿ÀÌ pickbeeper ÀÇ ¸í·ÉÀ» ¼öÇàÇÒ ¶§ ·Îº¿Àº ºñÆÛ¸¦ ±×°¡ ¼­ ÀÖ´Â Äڳʿ¡¼­ ÁÖ¿ö¼­ ÀÚ½ÅÀÇ ºñÆ۹鿡 ³Ö´Â´Ù. ¸¸¾à¿¡ ºñÆÛ°¡ ¾ø´Â Äڳʿ¡¼­ pickbeeper ¶ó´Â ¸í·ÉÀ» ¼öÇàÇϵµ·Ï ÇÏ¸é ·Îº¿Àº Error Shutoff ¸í·ÉÀ» ¼öÇàÇØ ¹ö¸°´Ù. ºñÆÛ°¡ 1 °³ ÀÌ»óÀÖ´Â Äڳʿ¡µµ ·Îº¿Àº ¿ÀÁ÷ 1 °³¾¿¸¸ ÁÖ¿ö¼­ ºñÆ۹鿡 ³Ö´Â´Ù.

>> putbeeper <<

·Îº¿Àº putbeeper ¶ó´Â ¸í·É¾î¸¦ ¹Þ°Ô µÇ¸é ÀÚ½ÅÀÇ ºñÆ۹鿡¼­ ºñÆÛ¸¦ Çϳª »©¼­ ÀÚ½ÅÀÌ ¼­ ÀÖ´Â Äڳʿ¡ ³»·Á³õ´Â´Ù. ¸¸¾à ·Îº¿¿¡°Ô putbeeper ¸í·ÉÀ» ¼öÇàÇϵµ·ÏÇÒ ¶§ ºñÆÛ¹éÀÌ ºñ¾îÀÖÀ¸¸é ·Îº¿Àº ¹Ù·Î Error Shutoff ¸¦ ½ÇÇàÇØ ¹ö¸°´Ù.

ºñÆÛ´Â ±× Å©±â°¡ ¿ö³« À۾Ƽ­ ·Îº¿ÀÌ ¿òÁ÷À̴µ¥ Àå¾Ö¹°ÀÌ µÇÁö´Â ¸øÇÑ´Ù. ¿ÀÁ÷ º®¸¸ÀÌ ·Îº¿ÀÌ °¡´Â ±æÀ» ¸·À» ¼ö ÀÖ´Ù.

(3) ÀÓ¹« Á¾·á

¸¶Áö¸·À¸·Î ·Îº¿¿¡°Ô ÀÓ¹«¸¦ ¾ÆÁÖ Àß ³¡¸¶ÃÆ´Ù´Â °ÍÀ» ¾Ë·ÁÁÙ ÇÊ¿ä°¡ ÀÖ´Ù. À̶§ turnoff ¸í·É¾î¸¦ »ç¿ëÇÑ´Ù.

>> turnoff <<

·Îº¿ÀÌ turnoff ¸í·É¾î¸¦ ¹Þ°Ô µÇ¸é ÀÚ½ÅÀÇ ½ºÀ§Ä¡¸¦ ²ô°í »õ·Î¿î ÀÓ¹«¸¦ ½ÃÀÛÇϱâ Àü±îÁö ¾î¶°ÇÑ ¸í·É¾îµµ ¼öÇàÇÒ ¼ö ¾ø´Â »óÅ°¡ µÈ´Ù. ¸ðµç ÇÁ·Î±×·¥ÀÇ ¸¶Áö¸· ¸í·É¾î´Â Ç×»ó turnoff ÀÌ´Ù.

(4) ÇÁ·Î±×·¥ÀÇ ¿Ï¼º

À̹ø Àý¿¡¼­´Â ·Îº¿¿¡°Ô ÇϳªÀÇ ÀÓ¹«¸¦ ¼öÇàÇÒ ¼ö ÀÖµµ·Ï ÇϳªÀÇ ¿Ïº®ÇÑ ÇÁ·Î±×·¥À» ÁÙ °ÍÀÌ´Ù. [±×¸² 3] ¿¡¼­ ³ª¿Í ÀÖ´Â °Íó·³ ·Îº¿ÀÇ ÀÓ¹«´Â ºñÆÛ¸¦ 2 ¹ø° Street ¿Í 4 ¹ø° Avenue ¿¡¼­ 4 ¹ø° Street ¿Í 5 ¹ø° Avenue ·Î ¿Å°Ü ³õ´Â °ÍÀÌ´Ù. ºñÆÛ¸¦ ³»·Á³õÀº ÈÄ ·Îº¿Àº ºÏÂÊÀ¸·Î 1 ºí·Ï ´õ À̵¿ÇÏ¿© ÀÚ½ÅÀÇ ½ºÀ§Ä¡¸¦ ²ô´Â °ÍÀÌ´Ù.

±×¸² 3  (A) ÀÓ¹«ÀÇ Ãʱ⠻óÅÂ, (B) ÀÓ¹«ÀÇ ÃÖÁ¾ »óÅÂ

¾Æ·¡¿¡ ¾²¿© ÀÖ´Â ÇÁ·Î±×·¥À» ·Îº¿¿¡°Ô ÁÖ¸é À§ÀÇ ÀÓ¹«¸¦ ·Îº¿ÀÌ ¿Ïº®ÇÏ°Ô ½ÇÇàÇس½´Ù. ÀÌ ÇÁ·Î±×·¥Àº ·Îº¿ÀÇ ±âº»ÀûÀÎ 5 °¡ÁöÀÇ ¸í·É¾î¿Í ·Îº¿ÀÇ »çÀü¿¡ ÀÖ´Â ¸î°¡ÁöÀÇ ±âº»ÀûÀÎ ´Ü¾î, ±×¸®°í ¼¼¹ÌÄÝ·Ð (;) À¸·Î ÀÌ·ç¾îÁ® ÀÖ´Ù. ¸ÕÀú, ·Îº¿ÀÇ ÇÁ·Î±×·¥ ½ÇÇà¿¡ ´ëÇؼ­ À̾߱âÇÏ°í ±× ´ÙÀ½¿¡ ÀÌ ·Îº¿ ÇÁ·Î±×·¥ÀÇ ±¸Á¶¿¡ ´ëÇؼ­ ºÐ¼®ÇØ º¸°Ú´Ù.

program ~~~~~

      BEGINNING-OF-PROGRAM

              BEGINNING-OF-EXECUTION

                          move;

                          move;

                          pickbeeper ;

                          move;

                          turnleft;

                          move;

                          move;

                          putbeeper;

                          move;

                          turnoff

              END-OF-EXECUTION

      END-OF-PROGRAM

À§ÀÇ ÇÁ·Î±×·¥Àº ÁÖ¾îÁø ÀÓ¹«¸¦ ½ÇÇàÇÏ´Â ¼ö¾øÀÌ ¸¹Àº ¸í·ÉÀÇ Á¶ÇÕ ÁßÀÇ Çϳª¶ó´Â °ÍÀ» ¸í½ÉÇØ¾ß ÇÑ´Ù.

¨ç ÇÁ·Î±×·¥ÀÇ ½ÇÇà

·Îº¿ÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇϱâ Àü¿¡ ¾Æ¹«·± ¹®Á¦°¡ »ý±âÁö ¾Êµµ·Ï Çϱâ À§ÇØ ÇÑ ¹ø ÇÁ·Î±×·¥À» Àо´Ù. ¿¡·¯¿¡ °üÇؼ­´Â ´ÙÀ½¿¡ ¼³¸íÇϱâ·Î ÇÏ°í Áö±ÝÀº ¿ì¸®ÀÇ ÇÁ·Î±×·¥ÀÌ ¿À·ù°¡ ¾ø´Â ¿Ïº®ÇÑ ÇÁ·Î±×·¥À̶ó°í °¡Á¤ÇØ º¸ÀÚ.

·Îº¿ÀÌ ÇÁ·Î±×·¥À» ¾î¶»°Ô ½ÇÇàÇÏ´Â °ÍÀϱî? ·Îº¿Àº BEGINNING-OF-EXECUTION °ú END-OF-EXECUTION ÀÇ »çÀÌ¿¡ ÀÖ´Â °¢ ¸í·É¾î¸¦ Çϳªµµ »©Áö ¾Ê°í À§¿¡¼­ ¾Æ·¡·Î ¼ø¼­´ë·Î ¼öÇàÇØ ³ª°£´Ù. ·Îº¿Àº turnoff ¸í·É¾î¸¦ ¹Þ°Å³ª ¿¡·¯¿¡ ÀÇÇÑ Á¾·á°¡ µÇ±â Àü±îÁö´Â °è¼Ó ¸í·É¾î¸¦ ¼öÇàÇØ ³ª°£´Ù.

¹°·Ð, ¿ì¸®´Â ·Îº¿ÀÌ Áױ⸦ ¹Ù¶óÁö ¾Ê±â ¶§¹®¿¡ ·Îº¿¿¡°Ô ÇÁ·Î±×·¥À» ÁÙ ¶§¿¡ Ç×»ó ¹®Á¦°¡ ÀÖ´ÂÁö ¾ø´ÂÁö »ìÆ캸°Ô µÈ´Ù. Ȥ½Ã ·Îº¿ÀÌ Wall Section ¿¡ ºÎµúÈ÷Áö´Â ¾Ê´ÂÁö, ºñÆÛ°¡ ¾ø´Âµ¥µµ ÁÖ¿ì·Á°í ÇÏÁö´Â ¾Ê´ÂÁö µîÀ» È®ÀÎÇØ º¸°Ô µÈ´Ù. ÀÌ·¯ÇÑ °ÍÀ» ½Ã¹Ä·¹À̼ÇÀ̶ó ÇÑ´Ù. ¿ì¸®´Â ·Îº¿ÀÌ ÇÏ·Á´Â ¸ðµç Çൿ¿¡ ´ëÇؼ­ ü°èÀûÀ¸·Î Á¤¸®ÇÏ°í ÀúÀåÇÔÀ¸·Î½á ½Ã¹Ä·¹À̼ÇÀ» ÇÒ ¼ö ÀÖ´Ù. ±× ¹æ¹ý ÁßÀÇ Çϳª°¡ Á¾ÀÌ À§¿¡ ±×¸²À» ±×¸®¸é¼­ ÇÁ·Î±×·¥À» ½Ã¹Ä·¹À̼ÇÇØ º¸´Â °ÍÀÌ´Ù. ¿ì¸®´Â ·Îº¿ÀÌ ¸í·ÉÀ» ¼öÇàÇÏ´Â ¼ø¼­¸¦ ±×´ë·Î µû¶óÇØ º½À¸·Î½á ÇÁ·Î±×·¥¿¡ ¹®Á¦°¡ ¾ø´ÂÁö ÃßÀûÇØ º¼ ¼ö ÀÖ´Ù. ·Îº¿ÀÇ ÇൿÀ» Á¤È®ÇÏ°í ºü¸£°Ô ÆľÇÇØ ³»´Â °ÍÀº ¿ì¸®°¡ ½ÀµæÇØ¾ß ÇÒ Áß¿äÇÑ ±â¼ú ÁßÀÇ ÇϳªÀÌ´Ù. ´ÙÀ½ÀÇ ÇÁ·Î±×·¥À» ½Ã¹Ä·¹À̼ÇÇØ º¸ÀÚ. 2, 2 ´Â 2 ¹ø° Street ¿Í 2 ¹ø° Avenue ¸¦ ¶æÇÑ´Ù.

program ~~~~~

    BEGINNING-OF-PROGRAM

            BEGINNING-OF-EXECUTION

     

                        move;

     

                        move;

     

                        pickbeeper ;

     

                        move;

     

                        turnleft;

     

                        move;

     

                        move;

     

                        putbeeper;

     

                        move;

     

                        turnoff

     

            END-OF-EXECUTION

    END-OF-PROGRAM

 

·Îº¿Àº 2, 2 Äڳʿ¡¼­ µ¿ÂÊÀ» ¹Ù¶óº¸°í ÀÖÀ¸¸ç, ºñÆ۹鿡´Â ºñÆÛ°¡ Çϳªµµ ¾ø´Ù.

·Îº¿Àº µ¿ÂÊÀ¸·Î 1 Ä­ ¿òÁ÷¿©, 2, 3 ¿¡ µµ´ÞÇÑ´Ù.

·Îº¿Àº µ¿ÂÊÀ¸·Î 1 Ä­ ¿òÁ÷¿©, 2, 4 ¿¡ À§Ä¡ÇÑ´Ù.

·Îº¿Àº ºñÆÛ 1 °³¸¦ Áݴ´Ù. ºñÆ۹鿡 ºñÆÛ°¡ 1 °³ ÀÖ´Ù.

·Îº¿Àº µ¿ÂÊÀ¸·Î 1 Ä­ ¿òÁ÷¿©, 2, 5 ¿¡ µµ´ÞÇÑ´Ù.

·Îº¿Àº 2, 5 ¿¡¼­ ¿ÞÂÊÀ¸·Î µ¹¾Æ ºÏÂÊÀ» ÇâÇÑ´Ù.

·Îº¿Àº ºÏÂÊÀ¸·Î 1 Ä­ ¿òÁ÷¿© 3, 5 ¿¡ À§Ä¡ÇÑ´Ù.

·Îº¿Àº ºÏÂÊÀ¸·Î 1 Ä­ ¿òÁ÷¿© 4, 5 ¿¡ À§Ä¡ÇÑ´Ù.

·Îº¿Àº ºñÆÛ 1 °³¸¦ ³»·Á³õ´Â´Ù. ºñÆ۹鿡´Â ºñÆÛ°¡ 1 °³µµ ¾ø´Ù.

·Îº¿Àº ºÏÂÊÀ¸·Î 1 Ä­ ¿òÁ÷¿© 5, 5 ¿¡ À§Ä¡ÇÑ´Ù.

·Îº¹Àº 5, 5 ¿¡¼­ ºÏÂÊÀ» ÇâÇϸ鼭 ÀÚ½ÅÀÇ ½ºÀ§Ä¡¸¦ ²ö´Ù.

 

 

·Îº¿ÀÌ ÀÓ¹«¸¦ ¸ðµÎ ¿Ï¼öÇß´Ù. ±×¸®°í ¿ì¸®´Â ÀÌ ÇÁ·Î±×·¥ÀÇ ½Ã¹Ä·¹À̼ÇÀ» ÅëÇØ, ÀÌ ÇÁ·Î±×·¥¿¡ ¿¡·¯ (Error) °¡ ¾ø´Ù´Â °ÍÀ» ¹àÇô³Â´Ù.

¨è ·Îº¿ ÇÁ·Î±×·¥ÀÇ Çü½Ä

·Îº¿ÀÌ ¾î¶»°Ô ÇÁ·Î±×·¥À» ¼öÇàÇÏ´ÂÁö º¸¾Ò±â ¶§¹®¿¡, ÀÌÁ¦´Â ·Îº¿°ú ÀÇ»ç ¼ÒÅëÇÏ´Â µ¥ ÇÊ¿äÇÑ ¹®¹ý¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ. ·Îº¿ÀÇ ¾ð¾î´Â ¹®¹ý°ú ±¸µÎ¹ýÀÌ ±²ÀåÈ÷ ±î´Ù·Ó´Ù. ±×·¯¹Ç·Î ¿ì¸®´Â ¿©±â¿¡¼­ ±×·¯ÇÑ ¹ýÄ¢¿¡ ´ëÇؼ­ ÀÚ¼¼ÇÏ°Ô °øºÎÇØ ³õÀ¸¸é ÁÁ´Ù. ·Îº¿ÀÌ ÀÌÇØÇÒ ¼ö ÀÖ´Â ¸ðµç ³»¿ë (Symbol) À» ¼¼ °¡Áö Ŭ·¡½º (Class) ·Î ±¸ºÐÇÏ´Â °ÍºÎÅÍ ½ÃÀÛÇØ º¸ÀÚ. ù ¹ø° Ŭ·¡½º´Â ±¸µÎÁ¡ÀÎ ½ê¹ÌÄÝ·Ð (;) ÀÌ´Ù. ´ÙÀ½ µÎ °¡Áö´Â ·Îº¿ÀÇ ´Ü¾î»çÀü¿¡ Àִµ¥ ¿¹Á¦¿¡¼­ º¸¾Ò´ø ±âº» ¸í·É¾îµé°ú, ¿¹¾à¾î (Reserved Words) µéÀÌ´Ù.

¿¹¾à¾î (Reserved Word) ´Â ·Îº¿ÀÇ ¾ð¾îÀÇ ¿ø½ÃÀûÀÎ ¸í·ÉµéÀ» ±¸Á¶ÀûÀ¸·Î Á¶Á÷Çϱâ À§Çؼ­ »ç¿ëµÈ´Ù. ÇÁ·Î±×·¥À» Àб⠽±°Ô Çϱâ À§Çؼ­, ¿¹¾à¾î´Â ´ë¹®ÀÚ·Î, ±âº» ¸í·É¾î´Â ¼Ò¹®ÀڷΠǥ±â¸¦ Çß´Ù. ÀÌ·¸°Ô ÇÏ¸é ¿¹¾à¾î¿Í ±âº» ¸í·É¾î¸¦ ±¸º°ÇØ ³»´Âµ¥ ½¬¿ï °ÍÀÌ´Ù. ÇÏÁö¸¸ ÀÌ°ÍÀº ¿ì¸®µé¿¡°Ô µµ¿òÀÌ µÇ¶ó°í ÇÏ´Â °ÍÀÌÁö ·Îº¿¿¡°Ô´Â »ó°üÀÌ ¾ø´Ù. ·Îº¿Àº ´ë¹®ÀÚ¿Í ¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏÁö ¾Ê±â ¶§¹®ÀÌ´Ù.

´ÙÀ½ÀÇ ÇÁ·Î±×·¥À» °¡Áö°í »ç¿ëµÈ ³× °³ÀÇ ¿¹¾à¾î¿Í ±¸¹®ÀÇ ±ÔÄ¢¿¡ ´ëÇؼ­ À̾߱âÇØ º¸°Ú´Ù. ÁøÇàÇϱ⿡ ¾Õ¼­ ´Ù½Ã Çѹø ÇÁ·Î±×·¥À» »ìÆ캸ÀÚ.

program ~~~~~

      BEGINNING-OF-PROGRAM

              BEGINNING-OF-EXECUTION

                          move;

                          move;

                          pickbeeper ;

                          move;

                          turnleft;

                          move;

                          move;

                          putbeeper;

                          move;

                          turnoff

              END-OF-EXECUTION

      END-OF-PROGRAM

¸ðµç ·Îº¿ ÇÁ·Î±×·¥Àº ²À BEGINNING-OF-PROGRAM À̶ó´Â ¿¹¾à¾î·Î ½ÃÀÛÇØ¾ß ÇÏ°í, ´ÙÀ½¿¡´Â BEGINNING-OF-EXECUTION À̶ó´Â ¿¹¾à¾î°¡ ³ª¿À°í ±âº» ¸í·É¾îµéÀº ±× ´ÙÀ½¿¡ ³ª¿Â´Ù. ÀÌ ±âº» ¸í·É¾îµé µÚ¿¡´Â END-OF-EXECUTION °ú END-OF-PROGRAM À̶ó´Â ¿¹¾à¾î°¡ ¼ø¼­´ë·Î ³ª¿Â´Ù. BEGIN °ú END ¿¹¾à¾îÀÇ Á¶ÇÕÀº ½ÃÀÛ°ú ³¡À» ³ªÅ¸³»´Â Áß¿äÇÑ ¿ä¼ÒÀ̱⠶§¹®¿¡ °æ°è±âÈ£ (Delimiter) ¶ó°íµµ ºÎ¸¥´Ù.

BEGINNING-OF-EXECUTION À̶ó´Â ¿¹¾à¾î´Â ·Îº¿¿¡°Ô ÇÁ·Î±×·¥ÀÇ ¾î´À °÷¿¡¼­ºÎÅÍ ±âº» ¸í·É¾îµéÀ» ½ÇÇàÇØ¾ß ÇÏ´ÂÁö¸¦ °¡¸£ÃÄ ÁØ´Ù. END-OF-EXECUTION À̶ó´Â ¿¹¾à¾î´Â ·Îº¿ÀÇ ¸í·É ½ÇÇàÀÌ ³¡³µ´Ù´Â °ÍÀ» ÀǹÌÇÏ´Â °ÍÀÌ ¾Æ´Ï´Ù. turnoff ¶ó´Â ±âº» ¸í·É¾î°¡ ±× ¿ªÇÒÀ» ÇÏ´Â °ÍÀÌ´Ù. END-OF-EXECUTION À̶ó´Â ¿¹¾à¾î´Â ´ÜÁö ·Îº¿ÀÌ ½ÇÇàÇØ¾ß ÇÏ´Â ±âº» ¸í·É¾îµéÀÌ ³¡³µÀ½À» ³ªÅ¸³»±â¸¸ ÇÑ´Ù. ¸¸¾à¿¡ ·Îº¿ÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇϴµ¥ turnoff °¡ ³ª¿À±â Àü¿¡ END-OF-EXECUTION ¿¡ µµ´ÞÇÏ¸é ·Îº¿Àº À߸ø ¼öÇàµÇ¾ú´Â ÁÙ ¾Ë°í ¿¡·¯¸¦ Ãâ·ÂÇÑ´Ù.

ÀÌÁ¦ ·Îº¿ÀÇ ¾ð¾î¿¡¼­ ½ê¹ÌÄÝ·Ð (;) ¿¡ °üÇÑ ±ÔÄ¢¿¡ ´ëÇÏ¿© ÀÚ¼¼È÷ »ìÆ캸ÀÚ. ½ê¹ÌÄÝ·ÐÀº ¿¬¼ÓµÇ´Â ±âº» ¸í·É¾îµéÀ» ºÒ¸®Çϱâ À§Çؼ­ »ç¿ëÇÑ´Ù. ½ê¹ÌÄÝ·ÐÀÇ »ç¿ë ±ÔÄ¢Àº "°¢°¢ÀÇ ¸í·ÉÀº ´ÙÀ½ ¸í·É°ú ¹Ýµå½Ã ½ê¹ÌÄÝ·ÐÀ¸·Î ºÐ¸®µÇ¾î¾ß ÇÑ´Ù" ÀÌ´Ù. Áï, µÎ °³ÀÇ ±âº» ¸í·É¾î Áß Ã¹ ¹ø° ±âº» ¸í·É¾î ¹Ù·Î ´ÙÀ½¿¡ ½ê¹ÌÄÝ·ÐÀ» ¾´´Ù. ÀÌó·³ °£´ÜÇÑ ±ÔÄ¢Àε¥µµ ¸¹Àº »ç¶÷µéÀÌ "¸í·É¾î µÚ¿¡´Â ¹Ýµå½Ã ½ê¹ÌÄÝ·ÐÀ» ¾´´Ù" ¶ó°í À߸ø ÀÌÇØÇÏ´Â °æ¿ì°¡ Á¾Á¾ ÀÖ´Ù. ÀÌ µÎ ¹®ÀåÀÇ Â÷ÀÌÁ¡Àº ÀÌ ÇÁ·Î±×·¥ÀÇ turnoff ¸í·É¾î¸¦ »ìÆ캽À¸·Î½á ¾Ë ¼ö ÀÖ´Ù. turnoff ¸í·É¾î µÚ¿¡´Â ½ê¹ÌÄÝ·ÐÀÌ ¾ø¾î¾ß Á¤»óÀÌ´Ù. ¿Ö³ÄÇϸé turnoff ´ÙÀ½¿¡ ±âº» ¸í·É¾î°¡ ¾Æ´Ñ ¿¹¾à¾î Áï, END-OF-EXECUTION ÀÌ ³ª¿À±â ¶§¹®ÀÌ´Ù. ±âº» ¸í·É¾î¿Í ¿¹¾à¾î¸¦ ½ê¹ÌÄÝ·ÐÀ¸·Î ±¸º°ÇØ¾ß ÇÑ´Ù´Â ±ÔÄ¢Àº ¾ø´Ù. "±âº» ¸í·É¾î ´ÙÀ½¿¡ ½ê¹ÌÄÝ·Ð" À̶ó´Â ±ÔÄ¢Àº ½ÇÆÐÇϸç, "±âº» ¸í·É¾îµé »çÀÌ¿¡ ½ê¹ÌÄÝ·Ð" ÀÇ ±ÔÄ¢Àº ¼º°øÀûÀÌ´Ù. ¶ÇÇÑ BEGINNING-OF-PROGRAM °ú BEGINNING-OF-EXECUTION °ú °°ÀÌ ¿¬¼ÓµÇ´Â ¿¹¾à¾î ´ÙÀ½¿¡´Â ½ê¹ÌÄÝ·ÐÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù (BEGINNING-OF-PROGRAM µÚ¿¡ BEGINNIG-OF-EXECUTION ÀÌ ²À ¿¬´Þ¾Æ ³ª¿ÀÁö ¾Ê¾Æµµ µÈ´Ù. ´ÙÀ½ Àå¿¡¼­ ÀÌ µÎ ¿¹¾à¾îµé »çÀÌ¿¡ ¹«¾ùÀÌ µé¾î°¥ ¼ö ÀÖ´ÂÁö¿¡ ´ëÇØ ¾Ë¾Æº»´Ù).

ÀÌ ±ÔÄ¢Àº ¼öÇп¡¼­ ÁýÇÕÀ» Ç¥½ÃÇÒ ¶§ »ç¿ëÇÏ´Â ¹æ¹ý°ú ºñ½ÁÇÏ´Ù. ¿¹¸¦ µé¾î 1, 4, 7 ÀÇ ¿ø¼Ò¸¦ °¡Áö°í ÀÖ´Â ÁýÇÕÀ» {1, 4, 7} °ú °°ÀÌ ¾µ ¶§ À¯ÃßÇØ º¸¸é, °ýÈ£´Â Áß¿äÇÑ ºÎºÐÀÇ ½ÃÀÛ°ú ³¡À» ¾Ë·ÁÁÖ´Â ±¸º° ¹®ÀÚÀÌ°í, ¼ýÀÚ´Â ±âº» ¸í·É¾î¿Í °°°í, ÄÞ¸¶ (Comma) ´Â ½ê¹ÌÄݷаú °°´Ù. ¸¸¾à¿¡ {1, 4, 7} °ú °°ÀÌ ¾²¸é ²À ¼ýÀÚ Çϳª¸¦ Àؾî¹ö¸®°í ¾È ¾´ °Íó·³ º¸ÀÏ °ÍÀÌ´Ù. ºñ½ÁÇÏ°Ô,  turnoff ´ÙÀ½¿¡ ½ê¹ÌÄÝ·ÐÀ» ¾²¸é ·Îº¿Àº ¶Ç ´Ù¸¥ ±âº» ¸í·É¾î°¡ ÀÖ´Ù°í »ý°¢ÇÑ´Ù. ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¶§ ÀÌ¿Í °°Àº ±ÔÄ¢À» Á¶½ÉÇØ¾ß ÇÑ´Ù. ¿Ö³ÄÇÏ¸é ¸¹Àº ¹®¹ýÀûÀÎ ¿¡·¯ (Error) °¡ ½ê¹ÌÄÝ·ÐÀ» À߸ø »ç¿ëÇÏ¿© ¹ß»ýÇϱ⠶§¹®ÀÌ´Ù.

¸¶Áö¸·À¸·Î ÇÁ·Î±×·¥ Àüü°¡ º¸±â ÁÁ°Ô µé¿©¾²±â¸¦ Çß´Ù´Â °Í¿¡ ÁÖ¸ñÇØ º¸ÀÚ. Á¤¸®°¡ Àß µÇ¾ú±â ¶§¹®¿¡ ÀбⰡ ÆíÇÏ´Ù. ´ë¤ý¼Ò¹®ÀÚÀÇ »ç¿ë¹ý¿¡¼­¿Í ¸¶Âù°¡Áö·Î ÀÌ µé¿©¾²±â´Â ¿ì¸®°¡ Æí¸®Çϱâ À§Çؼ­ ÇÏ´Â °ÍÀÌ´Ù. ·Îº¿Àº ´ë¤ý¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏÁö ¾ÊµíÀÌ, µé¿©¾²±âµµ »ó°üÇÏÁö ¾Ê´Â´Ù. ·Îº¿Àº ¾Æ·¡ÀÇ ÇÁ·Î±×·¥µµ ¾Õ¿¡¼­ ¼³¸íÇÑ ÇÁ·Î±×·¥°ú ¶È°°ÀÌ Àд´Ù.

program ~~~~~

    beginning-of-program beginning-of-execution move; move; pickbeeper; move; turnleft; move; move; putbeeper; move; turnoff end-of-execution end-of-program

ÀÌ ¿¹°¡ º¸¿©ÁÖµíÀÌ ¿ì¸®°¡ Àбâ ÆíÇÑ ÇÁ·Î±×·¡¹Ö ½ºÅ¸ÀÏÀ» »ç¿ëÇÏ´Â °ÍÀÌ ¸Å¿ì Áß¿äÇÏ´Ù. ±×·¡¾ß¸¸ ·Îº¿¿¡°Ô ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¥À» ÁÖÁö ¾Ê±â ¶§¹®ÀÌ´Ù.

(5) ¿¡·¯ ¹ß»ý ó¸® (Error Shutoffs)

·Îº¿Àº ±âº» ¸í·É¾îµéÀ» ¼º°øÀûÀ¸·Î ¼öÇàÇÒ ¼ö ¾ø°Ô µÇ¾úÀ» ¶§, ¾Õ¿¡¼­ ¾ê±âÇÑ °Íó·³ ÀÚ½ÅÀÇ Àü¿øÀ» ²¨¹ö¸°´Ù. ÀÌ¿Í °°Àº ÇൿÀ» Error Shutoffs ¶ó°í Çϴµ¥ ±× È¿°ú´Â ·Îº¿ÀÌ turnoff ¸í·ÉÀ» ¼öÇàÇÏ´Â °Í°ú °°Àº °ÍÀÌ´Ù. Àü¿øÀ» ²ô´Â °ÍÀ» ¹Ù¶óÁö ¾ÊÀ» ¶§µµ ÀÖÁö¸¸ ±×·¸°Ô µÇ¸é ·Îº¿ÀÌ ¼º°øÀûÀ¸·Î ¼öÇàÇÒ ¼ö ¾ø´Â ¸í·ÉÀ» ¸¸³µÀ» ¶§, ±×°ÍÀ» ¹«½ÃÇÏ°í ±×³É ´Ù¸¥ ¸í·ÉÀ» ½ÇÇàÇÏ°Ô µÉ °ÍÀÌ´Ù. ÀÌ ¹æ¹ýÀ» ÀÌ¿ëÇÏ¸é ·Îº¿Àº ¸¶Ä¡ ºÒ¾ÈÁ¤ÇÑ ¸í·ÉÀ» ¹ÞÀº ÀûÀÌ ¾ø´Â µíÀÌ ÇÁ·Î±×·¥ÀÇ ½ÇÇàÀ» °è¼ÓÇÑ´Ù.

ÇÏÁö¸¸ Error Shutoff ¸¦ »ç¿ëÇØ¾ß ÇÏ´Â ÀÌÀ¯¸¦ ¼³¸íÇØ º¸°Ú´Ù. ·Îº¿ÀÌ ¿¹»óÇÏÁö ¸øÇÑ ¾î¶°ÇÑ »óȲ Áï, ¸í·ÉÀÇ ¼º°øÀûÀÎ ½ÇÇàÀ» ¹æÇØÇÏ´Â »óȲÀÌ ÀϾ´Ù¸é ·Îº¿Àº ÀÓ¹« Àüü¸¦ ¿Ï¼öÇÒ ¼ö ¾øÀ» °ÍÀÌ´Ù. ÀÌ·¯ÇÑ »óȲ¿¡¼­ °è¼ÓÀûÀ¸·Î ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¶§ ´ç½ÅÀÌ ·Îº¿¿¡°Ô ³»·È´ø ÀÓ¹«¿Í ·Îº¿ÀÌ ½ÇÁ¦·Î ¼öÇàÇÑ °á°ú¿¡´Â Å« Â÷ÀÌ°¡ ³¯ °ÍÀÌ´Ù. ±×·¯¹Ç·Î °¡Àå ÁÁÀº ¹æ¹ýÀº ·Îº¿ÀÌ Ã³À½¿¡ ¹®Á¦¸¦ ¹ß°ßÇßÀ» ¶§ Àü¿øÀ» ²ôµµ·Ï ÇÏ´Â °ÍÀÌ´Ù.

Áö±Ý±îÁö ¿ì¸®´Â Error Shutoff ¸¦ ÀÏÀ¸Å³ ¼ö ÀÖ´Â ¸í·É¾î ¼¼ °³ (move, pickbeeper, putbeeper) ¸¦ ¹è¿ü´Ù. Error Shutoff °¡ ÀϾÁö ¾Êµµ·Ï ´ÙÀ½ÀÇ Á¶°ÇµéÀÌ Ç×»ó ¸¸Á·µÇ°Ô ÇÁ·Î±×·¥À» ÀÛ¼ºÇØ¾ß ÇÑ´Ù.

  • ·Îº¿Àº ÀÚ½ÅÀÇ ¹Ù·Î ¾Õ¿¡ ÀÖ´Â ±æÀÌ °¡·Î ¸·ÇôÁ® ÀÖÁö ¾ÊÀ» ¶§¿¡¸¸ move ¸í·ÉÀ» ¼öÇàÇÑ´Ù.
  • ·Îº¿Àº ÀÚ½ÅÀÌ ¼­ ÀÖ´Â Äڳʿ¡ ÃÖ¼ÒÇÑ 1 °³ÀÇ ºñÆÛ°¡ ÀÖ¾î¾ß pickbeeper ¸í·ÉÀ» ¼öÇàÇÑ´Ù.
  • ·Îº¿ÀÇ ºñÆÛ¹éÀÌ ºñ¾î ÀÖÁö ¾ÊÀ» ¶§¿¡¸¸ putbeeper ¸í·ÉÀ» ¼öÇàÇÑ´Ù.

ÇÁ·Î±×·¥À» ÀÛ¼ºÇϱâ Àü¿¡ ·Îº¿ÀÌ ¾î¶°ÇÑ »óÅ¿¡ óÀ½ ³õ¿©Áö°Ô µÉÁö¸¦ ¹Ì¸® ¾Ë¸é À§ÀÇ Á¶°ÇµéÀ» ¸¸Á·½ÃÅ°±â ½±´Ù.

turnoff ¶ó´Â ¸í·É¾î¸¦ ÇÁ·Î±×·¥¿¡¼­ »©³õ°Ô µÇ¸é ·Îº¿Àº ¿¡·¯°¡ ¹ß»ýÇß´Ù°í »ý°¢ÇÑ´Ù. ±×·¸±â¿¡ ÇÁ·Î±×·¥ÀÇ ¸¶Áö¸·¿¡ ±âº» ¸í·É¾îÀÎ turnoff ¸¦ ²À ½á¾ß ÇÑ´Ù´Â °ÍÀ» ÀØÁö ¸»¾Æ¾ß ÇÑ´Ù.

(6) ÇÁ·Î±×·¡¹Ö ¿¡·¯ (programming Errors)

ÀÌ Àý¿¡¼­´Â ¸ðµç ÇÁ·Î±×·¡¹Ö ¿¡·¯µéÀ» ¾îÈÖ, ±¸¹®, ½ÇÇà ±×¸®°í ÇÔÀÇÀû ¿¡·¯¶ó´Â 4 °¡Áö Å« °üÁ¡¿¡¼­ »ìÆ캸°Ú´Ù. °¢ ¿¡·¯ÀÇ Æ¯¼ºÀ» È®½ÇÇÏ°Ô ÀÌÇØÇÒ ¼ö ÀÖ°Ô ¿¹¸¦ µé¾î À§ÀÇ ³× °¡Áö Ç׸ñ¿¡ ´ëÇؼ­ ¼³¸íÇÏ°Ú´Ù. ±×·¸´Ù¸é "¿Ö ÀϾÁöµµ ¾ÊÀ» ¼ö ÀÖ´Â ¿¡·¯¿¡ ÀÌ·¸°Ô ¸¹Àº ½Ã°£À» º¸³»¾ß¸¸ Çϴ°¡?" ¶ó°í ¹°¾îº¼ ¼öµµ ÀÖ´Ù. ÇÏÁö¸¸ ÇÁ·Î±×·¡¹ÖÀ̶ó´Â °ÍÀº ±²ÀåÇÑ Á¤È®µµ°¡ ÇÊ¿äÇÒ »Ó¸¸ ¾Æ´Ï¶ó ÀÌ·ÐÀûÀ¸·Î´Â ÀüÇô ¹®Á¦°¡ ¾ø¾î ¿¡·¯°¡ ¹ß»ýÇÏÁö ¾Ê¾Æ¾ß ÇÏ´Â µ¥µµ ºÒ±¸ÇÏ°í, ½ÇÁ¦·Î ½ÇÇà ´Ü°è¿¡¼­´Â ¿¡·¯°¡ ÀÚÁÖ ¹ß»ýÇÑ´Ù. ±×·¯¹Ç·Î ½Ã¹Ä·¹À̼ÇÀ» ÅëÇؼ­ ¿¡·¯¸¦ »¡¸® ã¾Æ °íÄ¥ ¼ö ÀÖ¾î¾ß ÇÏ´Â °ÍÀÌ´Ù.

¸ÕÀú, ¾îÈÖ ¿¡·¯ (Lexical Error) ´Â ·Îº¿ÀÌ ÀÚ½ÅÀÇ ¾îÈÖ»çÀü¿¡ Æ÷ÇԵǾî ÀÖÁö ¾Ê´Â ´Ü¾î¸¦ º¼ ¶§¸¶´Ù ¹ß»ýÇÑ´Ù. ¿¹¸¦ µé¾î ¿ì¸®°¡ »÷ÇÁ¶õ½Ã½ºÄÚÀÇ ÇÑ °Å¸®¿¡ ¼­ Àִµ¥ Áö³ª°¡´Â ¿îÀüÀÚ ÇÑ »ç¶÷ÀÌ "¿À·¹°Ç ÁÖ¿¡ ÀÖ´Â Æ÷Ʋ·£µå·Î °¡·Á¸é ¾î¶»°Ô ÇÏÁÒ?" ¶ó´Â Áú¹®À» ÇßÀ» ¶§, ¿ì¸®°¡ "ÇÁÁ¬Æ® µ¥½ºÆ® Á«ÇÇ À̶õ¼Â ÇÇÁþ¼î ¹Ì³ªŽ“ÀÚ" ¶ó´Â ½ÄÀ¸·Î ´ë´äÀ» ÇÑ´Ù¸é ¿ì¸®´Â ¾îÈÖ ¿¡·¯¸¦ ÀÏÀ¸Å² °ÍÀÌ´Ù. ±× ¿îÀüÀÚ´Â ¿ì¸®°¡ ÇÑ ¸» ÀÚü¸¦ ÀÌÇØÇÒ ¼ö ¾ø±â ¶§¹®¿¡ ¿ì¸®°¡ °¡¸£ÃÄ ÁØ ±æÀÇ ¹æÇâÀ» ¾Ë ¼ö°¡ ¾ø´Ù. ÀÌó·³ ·Îº¿µµ ÇÁ·Î±×·¥ ³»¿¡ ÀÖ´Â °¢ ´Ü¾î¸¦ ÀÌÇØÇÒ ¼ö ÀÖ¾î¾ß¸¸ ÇÑ´Ù.

´ÙÀ½Àº ¾îÈÖ ¿¡·¯°¡ ÀÖ´Â ÇÁ·Î±×·¥ÀÌ´Ù.

program ~~~~~

    BEGINNING OF PROGRAM

            GEBINNING-OF-EXECUTION

                         move;

                         mvoe;

                         pick;

                         move;

                         turnright;

                         move;

ÇÏÀÌÇÂÀÌ ¾ø´Ù.

öÀÚ¹ýÀÌ Æ²·È°í ºó °ø°£ÀÌ ÀÖ´Ù.

 

öÀÚ¹ýÀÌ Æ²·È´Ù.

¸ð¸£´Â ´Ü¾îÀÌ´Ù.

 

¸ð¸£´Â ´Ü¾îÀÌ´Ù.

 

·Îº¿ÀÌ ÇÁ·Î±×·¥ÀÇ ¸ðµç ´Ü¾î¸¦ ¾È´Ù°í Çصµ, ±× ÇÁ·Î±×·¥Àº ¹®¹ý ¿¡·¯ (Syntactic Error) ¸¦ ÀÏÀ¸Å³ ¼öµµ ÀÖ´Ù. ÀÌ·¯ÇÑ ¿¡·¯´Â ¿ì¸®°¡ À߸øµÈ ¹®¹ýÀ̳ª ±¸µÎ¹ýÀ» »ç¿ëÇÒ ¶§ ¹ß»ýÇÑ´Ù. ´Ù½Ã ¾ÕÀÇ ¿îÀüÀÚÀÇ ¿¹·Î µ¹¾Æ°¡ º¸ÀÚ. ¿ì¸®°¡ ¸¸¾à "Âß ±×³É 800 Á¤µµ µÇ¿ä ¸¶ÀÏ ¾ÕÀ¸·Î" ¶ó°í ´ë´äÇÏ¸é ±× ¿îÀüÀÚ´Â °¢ ´Ü¾î´Â ÀÌÇØÇÒ ¼ö À־ Àüü ¹®ÀåÀº ÀÌÇØÇÒ ¼ö ¾øÀ» °ÍÀÌ´Ù. °¢ ´Ü¾î´Â ÀÌÇظ¦ Çصµ ¿ì¸®°¡ ±× ´Ü¾îµéÀ» ¹®¹ý¿¡ ¸ÂÁö ¾Ê°Ô Á¶ÇÕÇ߱⠶§¹®¿¡ ±× »ç¶÷Àº ¿©ÀüÈ÷ ÀÌÇظ¦ ÇÏÁö ¸øÇÏ°Ô µÈ´Ù (¾ÕÀÇ 2ÀÇ (4) Àý ·Îº¿ÇÁ·Î±×·¥ÀÇ Çü½Ä¿¡¼­ ·Îº¿¿¡°Ô ¸Â´Â ¹®¹ýÀº ¹«¾ùÀÎÁö¿¡ ´ëÇؼ­ °øºÎÇß¾ú´Ù.)

´ÙÀ½ÀÇ ÇÁ·Î±×·¥Àº ¾îÈÖÀû ¿¡·¯´Â ¾øÁö¸¸ ¹®¹ýÀû ¿¡·¯°¡ ÀÖ´Â ÇÁ·Î±×·¥ÀÌ´Ù.

program ~~~~~

    BEGINNING-OF-EXECUTION

            BEGINNING-OF-PROGRAM

     

                         move;

                         move;

                         pickbeeper;

                         move;

                         turnleft;

                         move;

                         move;

                         putbeeper;

            END-OF-EXECUTION

     

                         move;

                         turnoff

    END-OF-PROGRAM

¹®¹ýÀû ¿¡·¯ - ÀÌ ¸í·É¾î´Â ÇÁ·Î±×·¥ÀÇ µÎ¹ø° ÁÙ¿¡ ÀÖ¾î¾ß ÇÑ´Ù.

¹®¹ýÀû ¿¡·¯ - ÀÌ ¸í·É¾î´Â ÇÁ·Î±×·¥ÀÇ Ã¹¹ø° ÁÙ¿¡ ÀÖ¾î¾ß ÇÑ´Ù.

 

 

 

±¸µÎÁ¡ ¿¡·¯ - ';' ÀÌ ¾ø´Ù.

 

 

 

¹®¹ýÀû ¿¡·¯ - ¿©±â¿¡ ÀÖ¾î¾ß ÇÒ ¹®ÀåÀÌ ¾Æ´Ï´Ù.

 

 

 

ÇÁ·Î±×·¥¿¡ ¾îÈÖ ¶Ç´Â ¹®¹ýÀû ¿¡·¯°¡ ÀÖ´Ù¸é ·Îº¿Àº ÇÁ·Î±×·¥À» ÀÐÀ¸¸é¼­ ¿¡·¯µéÀ» ¹ß°ßÇÒ °ÍÀÌ´Ù. ÀÌ µÎ ¿¡·¯¿¡ ´ëÇÏ¿© ·Îº¿Àº ¿ì¸®°¡ ¹«½¼ ¸»À» ÇÏ·Á°í Çß´ÂÁö¸¦ ¸ð¸£±â ¶§¹®¿¡ ¿¡·¯¸¦ °íÄ¥ »ý°¢À» ÇÏÁö ¾Ê´Â´Ù. ´ë½Å¿¡ ·Îº¿Àº ¿ì¸®¿¡°Ô ¿¡·¯°¡ ÀÖ´Ù°í º¸°íÇÏ°í, ÀÚ½ÅÀÌ ÃæºÐÈ÷ ÀÌÇØÇÏÁö ¸øÇÏ´Â ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¼ö ¾ø±â ¶§¹®¿¡ ÀÚ½ÅÀÇ Àü¿øÀ» ²¨¹ö¸°´Ù. ÀÌ°ÍÀº Error Shutoff ´Â ¾Æ´Ï´Ù. ¿Ö³ÄÇÏ¸é ·Îº¿ÀÌ ÇÁ·Î±×·¥ÀÇ ½ÇÇàÀ» ½ÃÀÛÁ¶Â÷ ÇÏÁö ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù. ´ÙÀ½À¸·Î´Â ³²Àº µÎ °¡ÁöÀÇ ¿¡·¯¸¦ ´Ù·ê ¶§´Â ·Îº¿ÀÌ ¾îÈÖ³ª ¹®¹ýÀû ¿¡·¯¸¦ ¹ß°ßÇÒ ¼ö ¾ø´Â ÇÁ·Î±×·¥ÀÌ°í, ½ÇÇàÀ» ½ÃÀÛÇß´Ù°í °¡Á¤ÇÑ´Ù.

¼¼ ¹ø° ¿¡·¯´Â ½ÇÇà ¿¡·¯ (Execution Error) ÀÌ´Ù. ¾îÈÖ ¹× ¹®¹ýÀû ¿¡·¯¿Í °°ÀÌ ·Îº¿Àº ÀÌ ¿¡·¯µµ °¨ÁöÇØ ³¾ ¼ö°¡ ÀÖ´Ù. ·Îº¿ÀÌ ÇϳªÀÇ ¸í·ÉÀ» ¿Ïº®ÇÏ°Ô ¼öÇàÇÏÁö ¸øÇÏ°í Error Shutoff ¸¦ ÇØ¾ß ÇÒ ¶§ ½ÇÇà ¿¡·¯°¡ ¹ß»ýÇÑ´Ù. ´Ù½Ã »÷ÇÁ¶õ½Ã½ºÄÚ¿¡¼­ Æ÷Ʋ·£µå±îÁö °¡·Á´Â ¿îÀüÀÚÀÇ ¿¹·Î µ¹¾Æ°¡¼­, ¿ì¸®°¡ "¿À´ø ±æ·Î Âß 800 ¸¶Àϸ¸ °¡¼¼¿ä" ¶ó°í ÇßÀ» ¼öµµ ÀÖ´Ù. ÇÏÁö¸¸ ±× »óȲ¿¡¼­ ¿îÀüÀÚ°¡ ¼­ÂÊÀ» ÇâÇÏ°í ÀÖ¾ú°í ¿ì¸®°¡ ÁØ ¸í·ÉÀ» ¸» ±×´ë·Î ÀÌÇظ¦ ÇÏ°í ½ÇÇàÀ» Çß´Ù¸é ±×´Â ¸î ¸¶ÀÏ °¡Áö ¾Ê¾Æ¼­ ÅÂÆò¾çÀ» ¹Ù¶óº¸°í ÀÖÀ» °ÍÀÌ´Ù. ÀÌ »óȲ¿¡¼­ ±× ¿îÀüÀÚ´Â ¿ì¸®ÀÇ ¸í·ÉÀÌ ½ÇÇàµÉ ¼ö ¾ø´Ù´Â »ç½ÇÀ» ±ú´Ý°í ¸ØÃâ °ÍÀÌ´Ù.

ºñ½ÁÇÏ°Ô, ·Îº¿Àº ÀÚ½ÅÀÌ ¿Ïº®ÇÏ°Ô ¼öÇàÇÒ ¼ö ¾ø´Â ±âº» ¸í·ÉÀ» ¹Þ¾ÒÀ» ¶§ Error Shutoff ¸¦ ½ÇÇàÇÑ´Ù. ¾ÕÀÌ ¸·ÇôÀִµ¥ ·Îº¿¿¡°Ô move ¶ó´Â ¸í·ÉÀ» ³»¸°´Ù°Å³ª, ºñÆÛ°¡ ¾ø´Âµ¥ pickbeeper ¶ó´Â ¸í·ÉÀ» Çϰųª, ºñÆÛ¹éÀÌ ºñ¾îÀִµ¥ putbeeper ¶ó´Â ¸í·ÉÀ» ³»¸± ¶§ µî ¸ðµÎ°¡ ´Ù ½ÇÇà ¿¡·¯ (Execution Error) ÀÇ ÇÑ Á¾·ù°¡ µÈ´Ù. ÀÌ ¸ðµç »óȲ¿¡¼­ ·Îº¿Àº Error Shutoff ¸¦ ½ÇÇàÇÏ°Ô µÈ´Ù.

¸¶Áö¸· ¿¡·¯°¡ °¡Àå ¾î·Æ´Ù. ¿Ö³ÄÇÏ¸é ·Îº¿ÀÌ ÀÌ·± Á¾·ùÀÇ ¿¡·¯´Â °¨ÁöÇÏÁö ¸øÇϱ⠶§¹®ÀÌ´Ù. ÀÌ°ÍÀ» ÇÔÀÇÀû ¿¡·¯ (Intent Error) ¶ó°í ºÎ¸¥´Ù. ·Îº¿ÀÌ ´ç½ÅÀÌ ÁØ ÇÁ·Î±×·¥Àº ³¡±îÁö ¿Ïº®ÇÏ°Ô ½ÇÇàÀ» Çߴµ¥, ´ç½ÅÀÌ ÀǵµÇÑ ÀÓ¹«´Â ¿Ïº®ÇÏ°Ô ¼öÇàÇÏÁö ¸øÇÏ¿´À» ¶§ ÇÔÀÇÀû ¿¡·¯°¡ ¹ß»ýÇÏ¿´´Ù°í ÇÑ´Ù. ¿¹¸¦ µé¾î ±× ¿îÀüÀÚ°¡ ³²ÂÊÀ» ÇâÇÏ°í Àִµ¥, ¿ì¸®°¡ "¿À´ø ±æ·Î Âß 800 ¸¶Àϸ¸ °¡¼¼¿ä" ¶ó°í Çß´Ù°í °¡Á¤ÇØ º¸ÀÚ. ÀÌ ¸í·ÉÀ» ±× ¿îÀüÀÚ°¡ Á¦´ë·Î ³¡±îÁö ½ÇÇàÀ» ÇÒ ¼ö´Â ÀÖ´Ù. ÇÏÁö¸¸ ½ÇÇà ÈÄ¿¡ ±×´Â Æ÷Ʋ·£µå°¡ ¾Æ´Ñ ¸ß½ÃÄÚ ¾îµò°¡¿¡ À§Ä¡ÇÏ°Ô µÉ °ÍÀÌ´Ù (À§ÀÇ ½ÇÇà ¿¡·¯¿Í ´Ù¸¥ ÀÌÀ¯´Â ½ÇÇà ¿¡·¯¿¡¼­´Â ´õ ÀÌ»ó À°Áö°¡ ¾ø±â ¶§¹®¿¡ 800 ¸¶ÀÏÀ» °¡¶ó´Â ¿ì¸®ÀÇ ¾ê±â¸¦ ±× ¿îÀüÀÚ°¡ ½ÇÇàÇÒ ¼ö ¾ø´Â °ÍÀÌ°í, ÇÔÀÇÀû ¿¡·¯´Â ±× ¿îÀüÀÚ°¡ 800 ¸¶ÀÏÀ» °¥ ¼ö´Â ÀÖÁö¸¸ ¿ì¸®°¡ Æ÷Ʋ·£µå·Î °¡°Ô ÇÏ·Á´Â Àǵµ¿Í´Â ´Þ¸® ¾û¶×ÇÑ °÷¿¡ °¡ÀÖ°Ô µÇ´Â °ÍÀÌ´Ù).

´ÙÀ½Àº ÇÁ·Î±×·¥¿¡¼­ÀÇ ÇÔÀÇÀû ¿¡·¯¸¦ ³ªÅ¸³½ °ÍÀÌ´Ù. ·Îº¿Àº ºñÆÛ¸¦ ÁÖ¿ö ºÏÂÊÀ¸·Î 1 Ä­ À̵¿ÇÑ ÈÄ, ºñÆÛ¸¦ ³»·Á³õ°í, 1 Ä­ ´õ ºÏÂÊÀ¸·Î À̵¿ÇÏ°í turnoff ÇØ¾ß ÇÑ´Ù ([±×¸² 4] ¸¦ Âü°íÇ϶ó).

program ~~~~~

    BEGINNING-OF-PROGRAM

            BEGINNING-OF-EXECUTION

                         move;

                         pickbeeper;

                         move;

                         turnleft;

                         putbeeper;

                         move;

                         turnoff

            END-OF-EXECUTION

    END-OF-PROGRAM

ÀÌ ÇÁ·Î±×·¥¿¡´Â ¾îÈÖ, ¹®¹ý, ½ÇÇà ¿¡·¯´Â ¾ø´Ù. ·Îº¿ÀÇ ÀÔÀå¿¡¼­ º¸¾ÒÀ» ¶§, ±×°¡ turnoff ¸¦ ½ÇÇàÇϴµ¥ À־±îÁö ¾Æ¹«·± ¿¡·¯µµ ¾øÀÌ ¸ðµç °ÍÀº ¿Ïº®ÇÏ´Ù. ÇÏÁö¸¸ ÀÓ¹«¿Í ÇÁ·Î±×·¥À» »ìÆ캸¾Æ¶ó. ¹«¾ùÀÌ ¹®Á¦ÀÎÁö ¾Ë°Ú´Â°¡? ÀÓ¹«´Â ·Îº¿ÀÌ ºñÆÛ¸¦ ºÏÂÊÀ¸·Î 1 Ä­ ¿Å±âµµ·Ï ÇÏ´Â °ÍÀ̾ú´Âµ¥, ·Îº¿Àº ºñÆÛ¸¦ µ¿ÂÊÀ¸·Î 1 Ä­ ¿Å°Ü³õ¾Ò´Ù. ¿ì¸®°¡ ÀǵµÇÑ °ÍÀº ºÏÂÊÀ¸·Î À̵¿ÇÏ´Â °ÍÀ̾ú´Âµ¥, ¸¶Áö¸· °á°ú´Â µ¿ÂÊÀ¸·Î À̵¿µÈ ºñÆÛ¿´´Ù. ÀÌ ÇÁ·Î±×·¥Àº ¿ì¸®°¡ Á¦½ÃÇØ ³õÀº ÀÓ¹«¸¦ Ãæ½ÇÈ÷ ¼öÇàÇÏÁö ¸øÇß´Ù. ±×·¯¹Ç·Î ÀÌ ÇÁ·Î±×·¥¿¡´Â ÇÔÀÇÀû ¿¡·¯°¡ ÀÖ´Â °ÍÀÌ´Ù.

±×¸² 4  ·Îº¿ÀÇ Ãʱ⠻óȲ

·Îº¿Àº ¿ì¸®°¡ ¾î¶°ÇÑ ÀÓ¹«¸¦ ¼öÇàÇϵµ·Ï ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ¿´´Ù´Â »ç½ÇÀ» ¸ð¸£°í ÀÖ´Ù´Â °ÍÀ» ¾Ë¾Æ¾ß ÇÑ´Ù. ·Îº¿ÀÌ ÇÒ ¼ö ÀÖ´Â °ÍÀº ÇÁ·Î±×·¥¿¡ ÀûÈù ¸í·É¾îµéÀ» ±×´ë·Î ½ÇÇàÇÒ ¼ö ÀÖ´Â ÀÏ»ÓÀÌ´Ù. ±×·¯¹Ç·Î ¿ì¸®°¡ ¿øÇß´ø ÀÏÀ» ·Îº¿ÀÌ ¼öÇàÇÏÁö ¸øÇß´Ù´Â »ç½ÇÀ» ¾Ë ¸®°¡ ¾ø´Ù.

Á¾Á¾ ÇÔÀÇÀû ¿¡·¯´Â ÇÁ·Î±×·¥ÀÇ Ã³À½ ºÎºÐ¿¡¼­ ¹ß»ýÇÏ¿© ÈĹݿ¡ °¡¼­´Â ½ÇÇà ¿¡·¯·Î ¹ßÀüÇØ ³ª°£´Ù. ·Îº¿ÀÌ ÇÑ ¹ø ¹æÇâÀ» À߸ø Ʋ°Å³ª, ¾û¶×ÇÏ°Ô ¿òÁ÷À̸é, ·Îº¿ÀÌ º®À» ¶Õ°í °¡·Á´Â ¿òÁ÷ÀÓÀ» ÇÑ´ÙµçÁö, ºñÆÛ°¡ ¾ø´Âµ¥ pickbeeper ¸í·ÉÀ» ¼öÇàÇÏ·Á°í ÇÏ´Â °ÍÀº ½Ã°£ ¹®Á¦ÀÌ´Ù. ±×·¸±â ¶§¹®¿¡ Error Shutoff °¡ ¹ß»ýÇß´Ù°í Çؼ­ ±× ¼ø°£¿¡ ½ÇÇàµÇ¾ú´ø ¸í·É¸¸ À߸øµÇ¾ú´Ù°í »ý°¢Çؼ­´Â ¾È µÈ´Ù. ±× Àü¿¡ ½ÇÇàµÇ¾ú´ø ¸í·ÉµéÀÌ ÀÌÁ¦¼­¾ß ¹®Á¦¸¦ ÀÏÀ¸Å² °ÍÀÏ ¼öµµ Àֱ⠶§¹®ÀÌ´Ù. ÀÌ¿Í °°Àº °æ¿ì¿¡´Â ·Îº¿ÀÌ Error Shutoff ¸¦ ÇÑ ¼ø°£¿¡¼­ºÎÅÍ À߸øÀÌ ¾îµð¿¡ ÀÖ´ÂÁö, ¾î¶² ¸í·ÉÀ¸·ÎºÎÅÍ À߸øµÈ ±æ¿¡ Á¢¾îµé¾ú´ÂÁö ¿ªÃßÀûÇØ ³ª°¡¾ß ÇÑ´Ù. ÀÌ¿Í °°Àº »óȲÀ» ÇØ°áÇÒ ¼ö ÀÖµµ·Ï ¿¬½À ¹®Á¦ 1 ¹ø¿¡ ÇÔÀÇÀû ¿¡·¯¿Í ½ÇÇà ¿¡·¯°¡ È¥ÇÕµÈ ¹®Á¦¸¦ ½Ç¾ú´Ù.

¨ç ¹ö±× (Bugs) ¿Í µð¹ö±ë (Debugging)

ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î ¸ðµç Á¾·ùÀÇ ¿¡·¯¸¦ ¹ö±× (Bug) ¶ó°í ÇÑ´Ù. ÀÌ ¿ë¾îÀÇ ±â¿øÀ¸·Î´Â ¿©·¯ °¡Áö°¡ ÀÖ´Ù. ÇÑ À̾߱⿡¼­´Â ¹ö±×¶ó´Â ´Ü¾î°¡ ÀüÈ­ ȸ»ç ¿£Áö´Ï¾îµé·ÎºÎÅÍ À¯·¡µÇ¾ú´Ù°í ÇÑ´Ù. ±×µéÀº Àü±âȸ·Î »ó¿¡¼­ ¹ß»ýÇÏ´Â ¿©·¯ °¡Áö ¼Ò¸®¸¦ ÁöĪÇϴµ¥ ¹ö±×¶ó´Â ´Ü¾î¸¦ »ç¿ëÇÏ¿´°í "ȸ·Î ¾È¿¡ ¹ú·¹°¡ ÀÖ´Ù" ´Â ÇüÅ·ΠǥÇöÀ» Çß´Ù°í ÇÑ´Ù. ¶Ç ´Ù¸¥ À̾߱â´Â Admirla Grace Murray Hopper ¿Í Harvard Mark I Computer ·ÎºÎÅÍ À¯·¡µÇ¾ú´Ù´Â °ÍÀÌ´Ù. Mark I Computer °¡ À߸øµÈ ´ä¾ÈÀ» ³»³õÀÚ, ±â¼úÀÚµéÀº ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ÄÄÇ»Å͸¦ ºÐÇØÇØ º¸¾Ò´Ù. ¸±·¹ÀÌÀÇ Á¢¼Ó ºÎºÐ¿¡ Á×Àº ³ª¹æÀÌ ¹®Á¦¸¦ ¹ß»ý½ÃÅ°´Â °ÍÀ» ¾Ë°Ô µÇ¾ú°í, ÀÌ°ÍÀÌ ¹Ù·Î ¼¼°è ÃÖÃÊÀÇ ÄÄÇ»ÅÍ ¹ö±×¶ó°í ºÒ¸°´Ù. ´Ù¸¥ ¿©·¯ À̾߱âµéµµ ¸¹±â ¶§¹®¿¡ ÀÌ ´Ü¾îÀÇ ½ÇÁúÀûÀÎ ±â¿øÀ» ¾Ë±â´Â ½±Áö ¾ÊÀ» °Í °°´Ù.

¹ö±×¶ó´Â ¿ë¾î´Â ÇÁ·Î±×·¡¸ÓµéÀÌ ÀÚ½ÅÀÇ ÇÁ·Î±×·¥¿¡ ¸¹Àº ¿¡·¯°¡ ÀÖ´Ù´Â »ç½ÇÀ» ½ÇÅäÇϱ⠽ȾîÇÏ´Â ÀÚÁ¸½É ¶§¹®¿¡ ´õ ³Î¸® ÆÛÁ® »ç¿ëµÇ°í ÀÖ´Ù°í ÇÑ´Ù. Áï, ±×µéÀº ÀÚ½ÅÀÇ ÇÁ·Î±×·¥¿¡ ¹ö±×°¡ ÀÖ´Ù°í ¸»ÇÏ´Â °ÍÀ» ´õ Áñ°å´Ù. ¹ö±×¸¦ ¹ß°ßÇϱâ´Â ½±Áö ¾ÊÁö¸¸ ¹ß°ßµÈ ¹ö±×´Â ó¸®ÇϱⰡ ½±±â ¶§¹®¿¡ ÀÌ·± ºñÀ¯´Â ¸Å¿ì ÀûÀýÇÏ´Ù°í º¼ ¼ö ÀÖ´Ù. ±×·¸Áö¸¸ ±× ÇÁ·Î±×·¥¿¡¼­ ¸ðµç ¹ö±×µéÀÌ ¹ß°ßµÇ¾î Á¦°ÅµÇ¾ú´Ù°í º¸ÀåÇϱâ´Â ½¬¿î ÀÏÀÌ ¾Æ´Ï´Ù. µð¹ö±ë (Debugging) À̶õ ÇÁ·Î±×·¡¸Ó°¡ ÀڽŵéÀÇ ÇÁ·Î±×·¥¿¡¼­ ¿¡·¯¸¦ ¾ø¾Ö´Â °úÁ¤À» ¸»ÇÑ´Ù.

3. ÇÁ·Î±×·¡¹Ö ¿ä¾à

>> ±âº»¸í·É¾î <<

>> ºí·Ï ±¸Á¶ ¸í·É¾î <<

 >> Á¶°ÇºÎ ¸í·É¾îµé <<

>> ¹Ýº¹ ¸í·É¾îµé <<

>> »õ·Î¿î ¸í·É¾î¸¦ Á¤ÀÇÇÏ´Â ¹æ¹ý <<

>> ¿ÏÀüÇÑ ÇÁ·Î±×·¥ <<

>> ´Ü¾î ¿ä¾à <<