StartprogrammingusingObjectPascal:AirConditionProgram: Difference between revisions

From 흡혈양파의 번역工房
Jump to navigation Jump to search
(page 원복)
 
(예제 오류수정)
 
Line 17: Line 17:
end.
end.
</syntaxhighlight>
</syntaxhighlight>


'''''if then else''''' 구문과 이에 대한 예제를 소개했습니다. 온도가 22보다 크면, 처음 문장을 보여줍니다.
'''''if then else''''' 구문과 이에 대한 예제를 소개했습니다. 온도가 22보다 크면, 처음 문장을 보여줍니다.
Line 23: Line 24:
'Please turn on air-condition'
'Please turn on air-condition'
</syntaxhighlight>
</syntaxhighlight>


조건을 만나지 못했다면 (22보다 작거나 같다면) else에 의해 아래의 문장을 보여줍니다.
조건을 만나지 못했다면 (22보다 작거나 같다면) else에 의해 아래의 문장을 보여줍니다.
Line 29: Line 31:
'Please turn off air-condition'
'Please turn off air-condition'
</syntaxhighlight>
</syntaxhighlight>


여러 상태에 대해 다음과 같이 작성할 수 있습니다.
여러 상태에 대해 다음과 같이 작성할 수 있습니다.
Line 51: Line 54:
end.
end.
</syntaxhighlight>
</syntaxhighlight>


결과를 보기 위해 다른 온도 값으로 위 예제를 시험해 볼 수 있습니다.
결과를 보기 위해 다른 온도 값으로 위 예제를 시험해 볼 수 있습니다.
Line 63: Line 67:
     ACIsOn: Byte;
     ACIsOn: Byte;
begin
begin
     Write('Please enter Temperature of this room :');
     Write('Please enter Temperature of this room : ');
     Readln(Temp);
     Readln(Temp);
     Write('Is air conditioner on? if it is (On) write 1,',
     Write('Is air conditioner on? if it is (On) write 1,',
    ' if it is (Off) write 0 : ');
        ' if it is (Off) write 0 : ');
     Readln(ACIsOn);
     Readln(ACIsOn);
 
     if (ACIsOn = 1) and (Temp > 22) then
 
     if (ACIsOn = 1 ) and ( Temp > 22 ) then
         Writeln('Do nothing, we still need cooling')
         Writeln('Do nothing, we still need cooling')
     else
     else
     if (ACIsOn = 1 ) and ( Temp < 18 ) then
     if (ACIsOn = 1) and (Temp < 18) then
         Writeln('Please turn off air-conditioner')
         Writeln('Please turn off air-conditioner')
     else
     else
     if (ACIsOn = 0 ) and ( Temp < 18 ) then
     if (ACIsOn = 0) and (Temp < 18) then
         Writeln('Do nothing, it is still cold')
         Writeln('Do nothing, it is still cold')
     else
     else
     if (ACIsOn = 0 ) and ( Temp > 22 ) then
     if (ACIsOn = 0) and (Temp > 22) then
         Writeln('Please turn on air-conditioner');
         Writeln('Please turn on air-conditioner')
     else
     else
         Writeln('Please enter a valid values');
         Writeln('Please enter a valid values');
     Write('Press enter key to close');
     Write('Press enter key to close');
     Readln;
     Readln;
end.
end.
</syntaxhighlight>
</syntaxhighlight>


위 예제에서, 첫번째 상태가 ''True''를 되돌리고(ACIsOn = 1), 두번째 상태가 ''True''를 되돌릴 때(Temp > 22), Writeln 구문을 실행하라는 의미의 새로운 키워드( '''''and''''' )를 사용했습니다. 하나 혹은 양 쪽의 상태가 ''False''라면, ''else'' 부분으로 진행할 것입니다.
위 예제에서, 첫번째 상태가 ''True''를 되돌리고(ACIsOn = 1), 두번째 상태가 ''True''를 되돌릴 때(Temp > 22), Writeln 구문을 실행하라는 의미의 새로운 키워드( '''''and''''' )를 사용했습니다. 하나 혹은 양 쪽의 상태가 ''False''라면, ''else'' 부분으로 진행할 것입니다.


예를 들어, 에어콘이 시리얼 포트를 통해 컴퓨터에 연결했다면, 시리얼 포트 프로시저/컴포넌트를 이용하여 프로그램에서 에어콘을 켜고 끌 수 있습니다. 이 경우 에어콘이 얼마나 오랫동안 동작하고 있었는지와 같은 if 조건문에 대한 추가 인자가 필요합니다. 만약 허용 시간(예를 들어 1시간)을 초과했다면 방 온도와는 상관 없이 에어콘을 꺼야 할 것입니다. 또한 냉기 손실율을 고려할 수 있는데, (밤에) 더워지는 속도가 매우 느리다면, 오랜 시간동안 끌 수 있을 것입니다.
예를 들어, 에어콘이 시리얼 포트를 통해 컴퓨터에 연결했다면, 시리얼 포트 프로시저/컴포넌트를 이용하여 프로그램에서 에어콘을 켜고 끌 수 있습니다. 이 경우 에어콘이 얼마나 오랫동안 동작하고 있었는지와 같은 if 조건문에 대한 추가 인자가 필요합니다. 만약 허용 시간(예를 들어 1시간)을 초과했다면 방 온도와는 상관 없이 에어콘을 꺼야 할 것입니다. 또한 냉기 손실율을 고려할 수 있는데, (밤에) 더워지는 속도가 매우 느리다면, 오랜 시간동안 끌 수 있을 것입니다.


[[Category:StartprogrammingusingObjectPascal]]
[[Category:StartprogrammingusingObjectPascal]]

Latest revision as of 05:38, 4 April 2013

에어콘 프로그램

var
    Temp: Single;
begin
    Write('Please enter Temperature of this room :');
    Readln(Temp);

    if Temp > 22 then
        Writeln('Please turn on air-condition')
    else
        Writeln('Please turn off air-condition');

    Write(Press enter key to close);
    Readln;
end.


if then else 구문과 이에 대한 예제를 소개했습니다. 온도가 22보다 크면, 처음 문장을 보여줍니다.

'Please turn on air-condition'


조건을 만나지 못했다면 (22보다 작거나 같다면) else에 의해 아래의 문장을 보여줍니다.

'Please turn off air-condition'


여러 상태에 대해 다음과 같이 작성할 수 있습니다.

var
    Temp: Single;
begin
    Write('Please enter Temperature of this room :');
    Readln(Temp);

    if Temp > 22 then
        Writeln('Please turn on air-conditioner')
    else
    if Temp < 18 then
        Writeln('Please turn off air-conditioner')
    else
        Writeln('Do nothing');

    Write(Press enter key to close);
    Readln;
end.


결과를 보기 위해 다른 온도 값으로 위 예제를 시험해 볼 수 있습니다.


더욱 쓸모있게 만들기 위해 조건을 더욱 복잡하게 만들 수 있습니다.

var
    Temp: Single;
    ACIsOn: Byte;
begin
    Write('Please enter Temperature of this room : ');
    Readln(Temp);
    Write('Is air conditioner on? if it is (On) write 1,',
        ' if it is (Off) write 0 : ');
    Readln(ACIsOn);
    if (ACIsOn = 1) and (Temp > 22) then
        Writeln('Do nothing, we still need cooling')
    else
    if (ACIsOn = 1) and (Temp < 18) then
        Writeln('Please turn off air-conditioner')
    else
    if (ACIsOn = 0) and (Temp < 18) then
        Writeln('Do nothing, it is still cold')
    else
    if (ACIsOn = 0) and (Temp > 22) then
        Writeln('Please turn on air-conditioner')
    else
        Writeln('Please enter a valid values');

    Write('Press enter key to close');
    Readln;
end.


위 예제에서, 첫번째 상태가 True를 되돌리고(ACIsOn = 1), 두번째 상태가 True를 되돌릴 때(Temp > 22), Writeln 구문을 실행하라는 의미의 새로운 키워드( and )를 사용했습니다. 하나 혹은 양 쪽의 상태가 False라면, else 부분으로 진행할 것입니다.


예를 들어, 에어콘이 시리얼 포트를 통해 컴퓨터에 연결했다면, 시리얼 포트 프로시저/컴포넌트를 이용하여 프로그램에서 에어콘을 켜고 끌 수 있습니다. 이 경우 에어콘이 얼마나 오랫동안 동작하고 있었는지와 같은 if 조건문에 대한 추가 인자가 필요합니다. 만약 허용 시간(예를 들어 1시간)을 초과했다면 방 온도와는 상관 없이 에어콘을 꺼야 할 것입니다. 또한 냉기 손실율을 고려할 수 있는데, (밤에) 더워지는 속도가 매우 느리다면, 오랜 시간동안 끌 수 있을 것입니다.