StartprogrammingusingObjectPascal:AirConditionProgram

From 흡혈양파의 번역工房
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

에어콘 프로그램

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시간)을 초과했다면 방 온도와는 상관 없이 에어콘을 꺼야 할 것입니다. 또한 냉기 손실율을 고려할 수 있는데, (밤에) 더워지는 속도가 매우 느리다면, 오랜 시간동안 끌 수 있을 것입니다.