StartprogrammingusingObjectPascal:RestaurantProgramUsingRepeatLoop: Difference between revisions

From 흡혈양파의 번역工房
Jump to navigation Jump to search
(SPOP repeat순환문을사용한식당프로그램 페이지 추가)
 
(오류수정)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
===repeat 순환문을 사용한 식당 프로그램===
==repeat 순환문을 사용한 음식점 프로그램==


<syntaxhighlight lang="pascal">
<syntaxhighlight lang="pascal">
Line 10: Line 10:
     repeat
     repeat
         Writeln('Welcome to Pascal Restaurant. Please select your order');
         Writeln('Welcome to Pascal Restaurant. Please select your order');
         Writeln('1 Chicken          (10 Geneh)');
         Writeln('1 - Chicken          (10 Geneh)');
         Writeln('2 Fish                  (7 Geneh)');
         Writeln('2 - Fish                  (7 Geneh)');
         Writeln('3 Meat                (8 Geneh)');
         Writeln('3 - Meat                (8 Geneh)');
         Writeln('4 Salad                (2 Geneh)');
         Writeln('4 - Salad                (2 Geneh)');
         Writeln('5 - Orange Juice (1 Geneh)');
         Writeln('5 - Orange Juice (1 Geneh)');
         Writeln('6 Milk                  (1 Geneh)');
         Writeln('6 - Milk                  (1 Geneh)');
         Writeln('X - nothing');
         Writeln('X - nothing');
         Writeln;
         Writeln;
Line 62: Line 62:
</syntaxhighlight>
</syntaxhighlight>


앞의 예제에서 이 기술들을 사용했습니다.


1. case 분기에 ''begin end'' 를 더하여 여러개의 구문을 하나의 구문으로 만들었습니다.<br>
앞의 예제에서 이 기법들을 사용했습니다.
2. 주문의 총 가격을 더하기 위해 변수 ''Total'' 값을 0(변수에 초기값 위치)으로 초기화했습니다. 그 다음 선택한 가격을 매 순환마다 ''Total''변수에 더했습니다.


<syntaxhighlight lang="pascal">
# case 분기에 ''begin end'' 를 더하여 여러개의 구문을 하나의 구문으로 만들었습니다.
# 주문의 총 가격을 더하기 위해 변수 ''Total'' 값을 0(변수에 초기값 위치)으로 초기화했습니다. 그 다음 선택한 가격을 매 순환마다 ''Total''변수에 더했습니다.<syntaxhighlight lang="pascal">
Total:= Total + Price;
Total:= Total + Price;
</syntaxhighlight>
</syntaxhighlight>
# 주문을 끝내기 위해 대문자 'X' 와 소문자 'x' 두가지 옵션을 넣었습니다. 두 문자는 컴퓨터 메모리에서 다르게 표현(저장)합니다.


3. 주문을 끝내기 위해 대문자 ’X’와 소문자 ‘x’ 두가지 옵션을 넣었습니다. 두 문자는 컴퓨터 메모리에서 달리 표현(저장)합니다.
===참고===


'''참고'''<br>
아래 줄을


이 줄을
<syntaxhighlight lang="pascal">
<syntaxhighlight lang="pascal">
until (Selection = 'x') or (Selection = 'X');
until (Selection = 'x') or (Selection = 'X');
</syntaxhighlight>
</syntaxhighlight>


다음처럼 축소한 코드로 대체할 수 있습니다
 
다음 코드처럼 줄여서 사용 할 수 있습니다
 
<syntaxhighlight lang="pascal">
<syntaxhighlight lang="pascal">
until UpCase(Selection) = 'X';
until UpCase(Selection) = 'X';
</syntaxhighlight>
</syntaxhighlight>


이는 Selection 변수의 값이 소문자라면 대문자로 바꿔줄 것이고, (x또는 X) 두 경우에 대해 True를 되돌릴 것입니다.
 
이는 ''Selection'' 변수의 값이 소문자라면 대문자로 바꿔줄 것이고, (x또는 X) 두 경우에 대해 ''True''를 되돌릴 것입니다.
 
 
[[Category:StartprogrammingusingObjectPascal]]
[[Category:StartprogrammingusingObjectPascal]]

Latest revision as of 11:34, 4 April 2013

repeat 순환문을 사용한 음식점 프로그램

var
    Selection: Char;
    Price: Integer;
    Total: Integer;
begin
    Total:= 0;
    repeat
        Writeln('Welcome to Pascal Restaurant. Please select your order');
        Writeln('1 - Chicken           (10 Geneh)');
        Writeln('2 - Fish                  (7 Geneh)');
        Writeln('3 - Meat                (8 Geneh)');
        Writeln('4 - Salad                (2 Geneh)');
        Writeln('5 - Orange Juice (1 Geneh)');
        Writeln('6 - Milk                  (1 Geneh)');
        Writeln('X - nothing');
        Writeln;
        Write('Please enter your selection: ');
        Readln(Selection);

        case Selection of
            '1': begin
                Writeln('You have ordered Chicken, this will take 15 minutes');
                Price:= 10;
            end;
            '2': begin
                Writeln('You have ordered Fish, this will take 12 minutes');
                Price:= 7;
            end;
            '3': begin
                Writeln('You have ordered meat, this will take 18 minutes');
                Price:= 8;
            end;
            '4': begin
                Writeln('You have ordered Salad, this will take 5 minutes');
                Price:= 2;
            end;
            '5': begin
                Writeln('You have ordered Orange juice, this will take 2 minutes');
                Price:= 1;
            end;
            '6': begin
                Writeln('You have ordered Milk, this will take 1 minute');
                Price:= 1;
            end;
            else
            begin
                Writeln('Wrong entry');
                Price:= 0;
            end;
        end;

        Total:= Total + Price;

    until (Selection = 'x') or (Selection = 'X');
    Writeln('Total price = ', Total);
    Write('Press enter key to close');
    Readln;
end.


앞의 예제에서 이 기법들을 사용했습니다.

  1. case 분기에 begin end 를 더하여 여러개의 구문을 하나의 구문으로 만들었습니다.
  2. 주문의 총 가격을 더하기 위해 변수 Total 값을 0(변수에 초기값 위치)으로 초기화했습니다. 그 다음 선택한 가격을 매 순환마다 Total변수에 더했습니다.
    Total:= Total + Price;
    
  3. 주문을 끝내기 위해 대문자 'X' 와 소문자 'x' 두가지 옵션을 넣었습니다. 두 문자는 컴퓨터 메모리에서 다르게 표현(저장)합니다.


참고

아래 줄을

until (Selection = 'x') or (Selection = 'X');


다음 코드처럼 줄여서 사용 할 수 있습니다

until UpCase(Selection) = 'X';


이는 Selection 변수의 값이 소문자라면 대문자로 바꿔줄 것이고, (x또는 X) 두 경우에 대해 True를 되돌릴 것입니다.