<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=StartprogrammingusingObjectPascal%3ACaseOfStatement</id>
	<title>StartprogrammingusingObjectPascal:CaseOfStatement - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=StartprogrammingusingObjectPascal%3ACaseOfStatement"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=StartprogrammingusingObjectPascal:CaseOfStatement&amp;action=history"/>
	<updated>2026-05-01T11:44:28Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://trans.onionmixer.net/wiki/index.php?title=StartprogrammingusingObjectPascal:CaseOfStatement&amp;diff=164&amp;oldid=prev</id>
		<title>Onionmixer: page 원복</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=StartprogrammingusingObjectPascal:CaseOfStatement&amp;diff=164&amp;oldid=prev"/>
		<updated>2013-01-05T05:16:30Z</updated>

		<summary type="html">&lt;p&gt;page 원복&lt;/p&gt;
&lt;a href=&quot;https://trans.onionmixer.net/wiki/index.php?title=StartprogrammingusingObjectPascal:CaseOfStatement&amp;amp;diff=164&amp;amp;oldid=163&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
	<entry>
		<id>https://trans.onionmixer.net/wiki/index.php?title=StartprogrammingusingObjectPascal:CaseOfStatement&amp;diff=163&amp;oldid=prev</id>
		<title>Onionmixer: page merge</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=StartprogrammingusingObjectPascal:CaseOfStatement&amp;diff=163&amp;oldid=prev"/>
		<updated>2013-01-05T05:11:24Z</updated>

		<summary type="html">&lt;p&gt;page merge&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==case .. of 구문==&lt;br /&gt;
&lt;br /&gt;
상태 분기에 대한 또 다른 방법이 있는데, 그것이 바로 case .. of 구문 입니다. case 순서 값에 따라 실행을 나눕니다. 식당 프로그램은 case of 구문의 사용을 나타낼 것입니다. &lt;br /&gt;
&lt;br /&gt;
===음식점 프로그램===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
    Meal: Byte;&lt;br /&gt;
begin&lt;br /&gt;
    Writeln(&amp;#039;Welcome to Pascal Restaurant. Please select your order&amp;#039;);&lt;br /&gt;
    Writeln(&amp;#039;1 – Chicken (10$)&amp;#039;);&lt;br /&gt;
    Writeln(&amp;#039;2 – Fish (7$)&amp;#039;);&lt;br /&gt;
    Writeln(&amp;#039;3 – Meat (8$)&amp;#039;);&lt;br /&gt;
    Writeln(&amp;#039;4 – Salad (2$)&amp;#039;);&lt;br /&gt;
    Writeln(&amp;#039;5 - Orange Juice (1$)&amp;#039;);&lt;br /&gt;
    Writeln(&amp;#039;6 – Milk (1$)&amp;#039;);&lt;br /&gt;
    Writeln;&lt;br /&gt;
    Write(&amp;#039;Please enter your selection: &amp;#039;);&lt;br /&gt;
    Readln(Meal);&lt;br /&gt;
&lt;br /&gt;
    case Meal of&lt;br /&gt;
        1: Writeln(&amp;#039;You have ordered Chicken,&amp;#039;,&lt;br /&gt;
            &amp;#039; this will take 15 minutes&amp;#039;);&lt;br /&gt;
        2: Writeln(&amp;#039;You have ordered Fish, this will take 12 minutes&amp;#039;);&lt;br /&gt;
        3: Writeln(&amp;#039;You have ordered meat, this will take 18 minutes&amp;#039;);&lt;br /&gt;
        4: Writeln(&amp;#039;You have ordered Salad, this will take 5 minutes&amp;#039;);&lt;br /&gt;
        5: Writeln(&amp;#039;You have ordered Orange juice,&amp;#039;,&lt;br /&gt;
            &amp;#039; this will take 2 minutes&amp;#039;);&lt;br /&gt;
        6: Writeln(&amp;#039;You have ordered Milk, this will take 1 minute&amp;#039;);&lt;br /&gt;
    else&lt;br /&gt;
        Writeln(&amp;#039;Wrong entry&amp;#039;);&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
    Write(&amp;#039;Press enter key to close&amp;#039;);&lt;br /&gt;
    Readln;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
if 조건문을 사용하여 같은 프로그램을 작성한다면, 더 복잡하게 될 것이고, 복사한 코드를 포함하게 될 것입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===if 조건문을 사용한 레스토랑 프로그램===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
    Meal: Byte;&lt;br /&gt;
begin&lt;br /&gt;
    Writeln(&amp;#039;Welcome to Pascal Restaurant. Please select your order&amp;#039;);&lt;br /&gt;
    Writeln(&amp;#039;1 – Chicken (10$)&amp;#039;);&lt;br /&gt;
    Writeln(&amp;#039;2 – Fish (7$)&amp;#039;);&lt;br /&gt;
    Writeln(&amp;#039;3 – Meat (8$)&amp;#039;);&lt;br /&gt;
    Writeln(&amp;#039;4 – Salad (2$)&amp;#039;);&lt;br /&gt;
    Writeln(&amp;#039;5 - Orange Juice (1$)&amp;#039;);&lt;br /&gt;
    Writeln(&amp;#039;6 – Milk (1$)&amp;#039;);&lt;br /&gt;
    Writeln;&lt;br /&gt;
    Write(&amp;#039;Please enter your selection: &amp;#039;);&lt;br /&gt;
    Readln(Meal);&lt;br /&gt;
&lt;br /&gt;
    if Meal = 1 then&lt;br /&gt;
        Writeln(&amp;#039;You have ordered Chicken, this will take 15 minutes&amp;#039;)&lt;br /&gt;
    else&lt;br /&gt;
    if Meal = 2 then&lt;br /&gt;
        Writeln(&amp;#039;You have ordered Fish, this will take 12 minutes&amp;#039;)&lt;br /&gt;
    else&lt;br /&gt;
    if Meal = 3 then&lt;br /&gt;
        Writeln(&amp;#039;You have ordered meat, this will take 18 minutes&amp;#039;)&lt;br /&gt;
    else&lt;br /&gt;
    if Meal = 4 then&lt;br /&gt;
        Writeln(&amp;#039;You have ordered Salad, this will take 5 minutes&amp;#039;)&lt;br /&gt;
    else&lt;br /&gt;
    if Meal = 5 then&lt;br /&gt;
        Writeln(&amp;#039;You have ordered Orange juice,&amp;#039; ,&lt;br /&gt;
            &amp;#039; this will take 2 minutes&amp;#039;)&lt;br /&gt;
    else&lt;br /&gt;
    if Meal = 6 then&lt;br /&gt;
        Writeln(&amp;#039;You have ordered Milk, this will take 1 minute&amp;#039;)&lt;br /&gt;
    else&lt;br /&gt;
        Writeln(&amp;#039;Wrong entry&amp;#039;);&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
    Write(&amp;#039;Press enter key to close&amp;#039;);&lt;br /&gt;
    Readln;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다음 예제에서는, 프로그램이 학생들의 성적을 계산해서 A 그리고 B, C, D, E, F 등급으로 변환해줍니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===학생 등급 프로그램===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
    Mark: Integer;&lt;br /&gt;
begin&lt;br /&gt;
    Write(&amp;#039;Press enter student mark: &amp;#039;);&lt;br /&gt;
    Readln(Mark);&lt;br /&gt;
    Writeln;&lt;br /&gt;
&lt;br /&gt;
    case Mark of&lt;br /&gt;
        0 .. 39: Writeln(&amp;#039;Student grade is: F&amp;#039;);&lt;br /&gt;
        40 .. 49: Writeln(&amp;#039;Student grade is: E&amp;#039;);&lt;br /&gt;
        50 .. 59: Writeln(&amp;#039;Student grade is: D&amp;#039;);&lt;br /&gt;
        60 .. 69: Writeln(&amp;#039;Student grade is: C&amp;#039;);&lt;br /&gt;
        70 .. 84: Writeln(&amp;#039;Student grade is: B&amp;#039;);&lt;br /&gt;
        85 .. 100: Writeln(&amp;#039;Student grade is: A&amp;#039;);&lt;br /&gt;
    else&lt;br /&gt;
        Writeln(&amp;#039;Wrong mark&amp;#039;);&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
    Write(&amp;#039;Press enter key to close&amp;#039;);&lt;br /&gt;
    Readln;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
위의 예시에서 (0 .. 39)와 같은 범위를 사용했으며, &amp;#039;&amp;#039;Mark&amp;#039;&amp;#039; 값이 이 범위에 존재하면 &amp;#039;&amp;#039;True&amp;#039;&amp;#039;를 되돌린다는 의미를 지닙니다.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;참고&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Case&amp;#039;&amp;#039; 구문은 &amp;#039;&amp;#039;정수형&amp;#039;&amp;#039;들과 &amp;#039;&amp;#039;문자형&amp;#039;&amp;#039;과 같은 서수형에만 동작하고, &amp;#039;&amp;#039;문자열&amp;#039;&amp;#039;과 &amp;#039;&amp;#039;실수&amp;#039;&amp;#039;와 같은 다른 형식에는 동작하지 않습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===키보드 프로그램===&lt;br /&gt;
&lt;br /&gt;
이 예제에서는 키보드로부터 문자를 받아서 프로그램이 키보드의 입력 받은 키에 대한 줄 번호를 알려줄 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
    Key: Char;&lt;br /&gt;
begin&lt;br /&gt;
    Write(&amp;#039;Please enter any English letter: &amp;#039;);&lt;br /&gt;
    Readln(Key);&lt;br /&gt;
    Writeln;&lt;br /&gt;
&lt;br /&gt;
    case Key of&lt;br /&gt;
        &amp;#039;q&amp;#039;, &amp;#039;w&amp;#039;, &amp;#039;e&amp;#039;, &amp;#039;r&amp;#039;, &amp;#039;t&amp;#039;, &amp;#039;y&amp;#039;, &amp;#039;u&amp;#039;, &amp;#039;i&amp;#039;, &amp;#039;o&amp;#039;, &amp;#039;p&amp;#039;:&lt;br /&gt;
        Writeln(&amp;#039;This is in the second row in keyboard&amp;#039;);&lt;br /&gt;
        &amp;#039;a&amp;#039;, &amp;#039;s&amp;#039;, &amp;#039;d&amp;#039;, &amp;#039;f&amp;#039;, &amp;#039;g&amp;#039;, &amp;#039;h&amp;#039;, &amp;#039;j&amp;#039;, &amp;#039;k&amp;#039;, &amp;#039;l&amp;#039;:&lt;br /&gt;
        Writeln(&amp;#039;This is in the third row in keyboard&amp;#039;);&lt;br /&gt;
        &amp;#039;z&amp;#039;, &amp;#039;x&amp;#039;, &amp;#039;c&amp;#039;, &amp;#039;v&amp;#039;, &amp;#039;b&amp;#039;, &amp;#039;n&amp;#039;, &amp;#039;m&amp;#039;:&lt;br /&gt;
        Writeln(&amp;#039;This is in the fourth row in keyboard&amp;#039;);&lt;br /&gt;
    else&lt;br /&gt;
        Writeln(&amp;#039;Unknown letter&amp;#039;);&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
    Write(&amp;#039;Press enter key to close&amp;#039;);&lt;br /&gt;
    Readln;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
참고로, case 조건문에 값 들의 집합이라는 새로운 기술을 사용했습니다.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;z&amp;#039;, &amp;#039;x&amp;#039;, &amp;#039;c&amp;#039;, &amp;#039;v&amp;#039;, &amp;#039;b&amp;#039;, &amp;#039;n&amp;#039;, &amp;#039;m&amp;#039;:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이는 Key가 이 값들의 집합 (&amp;#039;&amp;#039;&amp;#039;z&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;v&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;m&amp;#039;&amp;#039;&amp;#039;) 중 하나라면 case 분기 구문을 실행한다는 의미입니다.&lt;br /&gt;
&lt;br /&gt;
또한 다음과 같이 범위와 값을 혼용할 수 있습니다.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;a&amp;#039;.. &amp;#039;d&amp;#039;, &amp;#039;x&amp;#039;, &amp;#039;y&amp;#039;, &amp;#039;z&amp;#039;:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이는 값이 &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;와 &amp;#039;&amp;#039;&amp;#039;d&amp;#039;&amp;#039;&amp;#039; 사이에 있거나 &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;z&amp;#039;&amp;#039;&amp;#039;와 같을 경우 구문을 실행한다는 의미입니다.&lt;br /&gt;
&lt;br /&gt;
[[Category:StartprogrammingusingObjectPascal]]&lt;/div&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
	<entry>
		<id>https://trans.onionmixer.net/wiki/index.php?title=StartprogrammingusingObjectPascal:CaseOfStatement&amp;diff=161&amp;oldid=prev</id>
		<title>Onionmixer: SPOP caseof 페이지 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=StartprogrammingusingObjectPascal:CaseOfStatement&amp;diff=161&amp;oldid=prev"/>
		<updated>2012-07-21T09:21:55Z</updated>

		<summary type="html">&lt;p&gt;SPOP caseof 페이지 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;===case .. of 구문===&lt;br /&gt;
&lt;br /&gt;
상태 분기에 대한 또 다른 방법이 있는데, 그것이 바로 case .. of 구문 입니다. case 순서 값에 따라 실행을 쪼갭니다. 식당 프로그램은 case of 구문의 사용을 나타낼 것입니다. &lt;br /&gt;
[[Category:StartprogrammingusingObjectPascal]]&lt;/div&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
</feed>