<?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%3AIfCondition</id>
	<title>StartprogrammingusingObjectPascal:IfCondition - 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%3AIfCondition"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=StartprogrammingusingObjectPascal:IfCondition&amp;action=history"/>
	<updated>2026-05-01T11:40:43Z</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:IfCondition&amp;diff=160&amp;oldid=prev</id>
		<title>Onionmixer: page 원복</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=StartprogrammingusingObjectPascal:IfCondition&amp;diff=160&amp;oldid=prev"/>
		<updated>2013-01-05T05:18:17Z</updated>

		<summary type="html">&lt;p&gt;page 원복&lt;/p&gt;
&lt;a href=&quot;https://trans.onionmixer.net/wiki/index.php?title=StartprogrammingusingObjectPascal:IfCondition&amp;amp;diff=160&amp;amp;oldid=159&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:IfCondition&amp;diff=159&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:IfCondition&amp;diff=159&amp;oldid=prev"/>
		<updated>2013-01-05T05:07:33Z</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;==if 조건문==&lt;br /&gt;
&lt;br /&gt;
파스칼 언어에서 if 상태 구문은 매우 간단하고 명확합니다. 아래 예를 통해, 우리는 방안의 온도에 따라 에어콘을 켤지 말지에 대해 결정하고자 합니다.&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;
    Temp: Single;&lt;br /&gt;
begin&lt;br /&gt;
    Write(&amp;#039;Please enter Temperature of this room :&amp;#039;);&lt;br /&gt;
    Readln(Temp);&lt;br /&gt;
&lt;br /&gt;
    if Temp &amp;gt; 22 then&lt;br /&gt;
        Writeln(&amp;#039;Please turn on air-condition&amp;#039;)&lt;br /&gt;
    else&lt;br /&gt;
        Writeln(&amp;#039;Please turn off air-condition&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
    Write(‘Press enter key to close’);&lt;br /&gt;
    Readln;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;if then else&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; 구문과 이에 대한 예제를 소개했습니다. 온도가 22보다 크면, 처음 문장을 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;Please turn on air-condition&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
조건을 만나지 못했다면 (22보다 작거나 같다면) else에 의해 아래의 문장을 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;Please turn off air-condition&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;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;
    Temp: Single;&lt;br /&gt;
begin&lt;br /&gt;
    Write(&amp;#039;Please enter Temperature of this room :&amp;#039;);&lt;br /&gt;
    Readln(Temp);&lt;br /&gt;
&lt;br /&gt;
    if Temp &amp;gt; 22 then&lt;br /&gt;
        Writeln(&amp;#039;Please turn on air-conditioner&amp;#039;)&lt;br /&gt;
    else&lt;br /&gt;
    if Temp &amp;lt; 18 then&lt;br /&gt;
        Writeln(&amp;#039;Please turn off air-conditioner&amp;#039;)&lt;br /&gt;
    else&lt;br /&gt;
        Writeln(&amp;#039;Do nothing&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
    Write(‘Press enter key to close’);&lt;br /&gt;
    Readln;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&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;
    Temp: Single;&lt;br /&gt;
    ACIsOn: Byte;&lt;br /&gt;
begin&lt;br /&gt;
    Write(&amp;#039;Please enter Temperature of this room :&amp;#039;);&lt;br /&gt;
    Readln(Temp);&lt;br /&gt;
    Write(&amp;#039;Is air conditioner on? if it is (On) write 1,&amp;#039;,&lt;br /&gt;
    &amp;#039; if it is (Off) write 0 : &amp;#039;);&lt;br /&gt;
    Readln(ACIsOn);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    if (ACIsOn = 1 ) and ( Temp &amp;gt; 22 ) then&lt;br /&gt;
        Writeln(&amp;#039;Do nothing, we still need cooling&amp;#039;)&lt;br /&gt;
    else&lt;br /&gt;
    if (ACIsOn = 1 ) and ( Temp &amp;lt; 18 ) then&lt;br /&gt;
        Writeln(&amp;#039;Please turn off air-conditioner&amp;#039;)&lt;br /&gt;
    else&lt;br /&gt;
    if (ACIsOn = 0 ) and ( Temp &amp;lt; 18 ) then&lt;br /&gt;
        Writeln(&amp;#039;Do nothing, it is still cold&amp;#039;)&lt;br /&gt;
    else&lt;br /&gt;
    if (ACIsOn = 0 ) and ( Temp &amp;gt; 22 ) then&lt;br /&gt;
        Writeln(&amp;#039;Please turn on air-conditioner&amp;#039;);&lt;br /&gt;
    else&lt;br /&gt;
        Writeln(&amp;#039;Please enter a valid values&amp;#039;);&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;
위 예제에서, 첫번째 상태가 &amp;#039;&amp;#039;True&amp;#039;&amp;#039;를 되돌리고(ACIsOn = 1), 두번째 상태가 &amp;#039;&amp;#039;True&amp;#039;&amp;#039;를 되돌릴 때(Temp &amp;gt; 22), Writeln 구문을 실행하라는 의미의 새로운 키워드( &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;and&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; )를 사용했습니다. 하나 혹은 양 쪽의 상태가 &amp;#039;&amp;#039;False&amp;#039;&amp;#039;라면, &amp;#039;&amp;#039;else&amp;#039;&amp;#039; 부분으로 진행할 것입니다.&lt;br /&gt;
&lt;br /&gt;
예를 들어, 에어콘이 시리얼 포트를 통해 컴퓨터에 연결했다면, 시리얼 포트 프로시저/컴포넌트를 이용하여 프로그램에서 에어콘을 켜고 끌 수 있습니다. 이 경우 에어콘이 얼마나 오랫동안 동작하고 있었는지와 같은 if 조건문에 대한 추가 인자가 필요합니다. 만약 허용 시간(예를 들어 1시간)을 초과했다면 방 온도와는 상관 없이 에어콘을 꺼야 할 것입니다. 또한 냉기 손실율을 고려할 수 있는데, (밤에) 더워지는 속도가 매우 느리다면, 오랜 시간동안 끌 수 있을 것입니다.&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;
Program Weight;&lt;br /&gt;
&lt;br /&gt;
{$mode objfpc}{$H+}&lt;br /&gt;
&lt;br /&gt;
uses&lt;br /&gt;
    {$IFDEF UNIX}{$IFDEF UseCThreads}&lt;br /&gt;
    cthreads,&lt;br /&gt;
    {$ENDIF}{$ENDIF}&lt;br /&gt;
    Classes, SysUtils&lt;br /&gt;
    { you can add units after this };&lt;br /&gt;
&lt;br /&gt;
var&lt;br /&gt;
    Height: Double;&lt;br /&gt;
    Weight: Double;&lt;br /&gt;
    IdealWeight: Double;&lt;br /&gt;
begin&lt;br /&gt;
    Write(&amp;#039;What is your height in meters (e.g. 1.8 meter) : &amp;#039;);&lt;br /&gt;
    Readln(Height);&lt;br /&gt;
    Write(&amp;#039;What is your weight in kilos : &amp;#039;);&lt;br /&gt;
    Readln(Weight);&lt;br /&gt;
&lt;br /&gt;
    if Height &amp;gt;= 1.4 then&lt;br /&gt;
        IdealWeight:= (Height - 1) * 100&lt;br /&gt;
    else&lt;br /&gt;
        IdealWeight:= Height * 20;&lt;br /&gt;
    if (Height &amp;lt; 0.4) or (Height &amp;gt; 2.5) or (Weight &amp;lt; 3) or&lt;br /&gt;
        (Weight &amp;gt; 200) then&lt;br /&gt;
    begin&lt;br /&gt;
        Writeln(&amp;#039;Invalid values&amp;#039;);&lt;br /&gt;
        Writeln(&amp;#039;Please enter proper values&amp;#039;);&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
    if IdealWeight = Weight then&lt;br /&gt;
        Writeln(&amp;#039;Your weight is suitable&amp;#039;)&lt;br /&gt;
    else&lt;br /&gt;
    if IdealWeight &amp;gt; Weight then&lt;br /&gt;
        Writeln(&amp;#039;You are under weight, you need more &amp;#039;,&lt;br /&gt;
        Format(&amp;#039;%.2f&amp;#039;, [IdealWeight - Weight]), &amp;#039; Kilos&amp;#039;)&lt;br /&gt;
    else&lt;br /&gt;
        Writeln(&amp;#039;You are over weight, you need to lose &amp;#039;,&lt;br /&gt;
        Format(&amp;#039;%.2f&amp;#039;, [Weight - IdealWeight]), &amp;#039; Kilos&amp;#039;);&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;
이 예제에서 새로운 키워드를 사용했습니다.&lt;br /&gt;
&lt;br /&gt;
1. &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Double&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; : &amp;#039;&amp;#039;Single&amp;#039;&amp;#039;과 유사합니다. 둘 다 실수지만, Double은 배 정밀도 부동 소숫점이며, Single 은 4바이트의 메모리 공간이 필요하지만, Double은 8바이트의 메모리 공간이 필요 합니다. &amp;lt;br&amp;gt;&lt;br /&gt;
2. 두번째 새로운 것은 키워드 (&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Or&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;) 이며, 조건들 중 하나를 만났는지 확인하기 위해 사용했습니다. 조건들 중 하나를 만났다면, 구문을 실행할 것입니다. 예를 들어보겠습니다: 첫번째 조건이 &amp;#039;&amp;#039;True&amp;#039;&amp;#039;를 되돌렸다면 (Height &amp;lt; 0.4), &amp;#039;&amp;#039;Writeln&amp;#039;&amp;#039; 구문을 호출할 것입니다:&amp;lt;br&amp;gt;Writeln(‘Invalid values’);. 첫번째 조건이 &amp;#039;&amp;#039;False&amp;#039;&amp;#039;를 되돌렸다면 두번째 조건을 검사할 것이며 나머지의 경우에도 마찬가지 입니다. 만약 모든 조건이 &amp;#039;&amp;#039;False&amp;#039;&amp;#039;를 되돌렸다면, &amp;#039;&amp;#039;else&amp;#039;&amp;#039; 부분으로 진행할 것입니다.&amp;lt;br&amp;gt;&lt;br /&gt;
3. if 조건문에 &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;begin end&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; 키워드를 사용한 이유는 &amp;#039;&amp;#039;if&amp;#039;&amp;#039; 구문이 하나의 구문을 실행하기 때문입니다. &amp;#039;&amp;#039;begin end&amp;#039;&amp;#039;는 여러 개의 구문들을 하나의 블럭(구문)으로 간주하는 것으로 바꿔주고, 여러개의 구문들은 &amp;#039;&amp;#039;if&amp;#039;&amp;#039; 구문에 의해 실행될 수 있습니다. 다음 두 개의 구문을 보도록 합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
    Writeln(&amp;#039;Invalid values&amp;#039;);&lt;br /&gt;
    Writeln(&amp;#039;Please enter proper values&amp;#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이들은 &amp;#039;&amp;#039;begin end&amp;#039;&amp;#039;를 사용하여 하나의 구문으로 바뀌었습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
    if (Height &amp;lt; 0.4) or (Height &amp;gt; 2.5) or (Weight &amp;lt; 3) or&lt;br /&gt;
        (Weight &amp;gt; 200) then&lt;br /&gt;
    begin&lt;br /&gt;
        Writeln(&amp;#039;Invalid values&amp;#039;);&lt;br /&gt;
        Writeln(&amp;#039;Please enter proper values&amp;#039;);&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. 정해진 형식으로 값을 표시하는 &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Format&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;프로시저를 사용했습니다. 이 경우 우리는 소숫점 아래 두자리만 표시하려고 합니다. 이 함수를 사용하기 위해 &amp;#039;&amp;#039;SysUtils&amp;#039;&amp;#039; 유닛을 &amp;#039;&amp;#039;Uses&amp;#039;&amp;#039; 절에 추가할 필요가 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
What is your height in meters (e.g. 1.8 meter) : 1.8&lt;br /&gt;
What is your weight in kilos : 60.2&lt;br /&gt;
You are under weight, you need more 19.80 Kilos&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;참고&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
이 예제가 100% 정확한 것은 아닙니다. 웹에서 몸무게를 계산하는 방법을 자세하게 찾아볼 수 있습니다. 단지 프로그래머가 각각의 문제를 어떻게 해결해 나가는지 설명하고, 믿을 수 있는 프로그램을 만들어나가는 과제에 대한 분석을 우수하게 수행하는데만 의미를 두었습니다.&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:IfCondition&amp;diff=157&amp;oldid=prev</id>
		<title>Onionmixer: SPOP if조건문 페이지 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=StartprogrammingusingObjectPascal:IfCondition&amp;diff=157&amp;oldid=prev"/>
		<updated>2012-07-21T09:14:40Z</updated>

		<summary type="html">&lt;p&gt;SPOP if조건문 페이지 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;===if 조건문===&lt;br /&gt;
&lt;br /&gt;
파스칼 언어에서 if 상태 구문은 매우 간단하고 명확합니다. 아래 예를 들자면, 우리는 방안의 온도에 따라 에어콘을 켤지 말지에 대해 결정하고 싶어합니다.&lt;br /&gt;
[[Category:StartprogrammingusingObjectPascal]]&lt;/div&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
</feed>