StartprogrammingusingObjectPascal:AirConditionProgram: Difference between revisions
Jump to navigation
Jump to search
Onionmixer (talk | contribs) (page 원복) |
Onionmixer (talk | contribs) (예제 오류수정) |
||
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 : '); | |||
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시간)을 초과했다면 방 온도와는 상관 없이 에어콘을 꺼야 할 것입니다. 또한 냉기 손실율을 고려할 수 있는데, (밤에) 더워지는 속도가 매우 느리다면, 오랜 시간동안 끌 수 있을 것입니다.