반복문이란?
- 프로그램 내에서 똑같은 명령을 조건만큼 반복하여 수행시키는 문장
- 반복문을 이루는 요소는 초깃값, 조건식, 변수 값의 증가/감소 등이다.
- while문, for문, do~while문 형태가 있다.
while 문
- 조건식이 참인 동안 문장을 반복 수행하고 while문을 빠져나간다. while문의 세 가지 필수 요소는 초깃값, 조건식, 변수 값의 변화(증가 or 감소)이다.
변수_값 초기화
while (조건식)
{
<문장들>
변수_값_증가(or 감소)
}
<?php
echo "while문을 실습해보자!!<br><br>";
$sum = 0;
$i = 1;
while ($i <= 10)
{
$sum = $sum + $i;
echo "\$i : $i -> 합계 : $sum<br>";
$i++;
}
?>

<?php
echo "while문을 실습해보자!!_2<br><br>";
$i = 1;
$count = 0;
while ($i<=100)
{
if ($i % 3 != 0)
{
echo "$i ";
$count++;
}
if ($count % 10 == 0)
{
echo "<br>";
}
$i++;
}
?>

<?php
echo "while문으로 인치/센티미터 변환<br><br>";
$inch = 10;
echo "<table border='1'>";
echo "<tr>";
echo "<th width='100'>인치</th><th width='100'>센티미티</th>";
echo "</tr>";
while ($inch <= 100)
{
$cm = $inch * 2.54;
echo "<tr align='center'><td>$inch</td><td>$cm</td></tr>";
$inch = $inch + 10;
}
echo "</table>";
?>

<h3>2단 구구단 표 만들기</h3>
<table border="1" width="100">
<?php
echo "while문으로 구구단을 만들어보자!!<br><br>";
$a = 2;
$b = 1;
while ($b <= 9)
{
$c = $a * $b;
echo "<tr><td align='center'>$a x $b = $c</td></tr>";
$b++;
}
?>
</table>

for 문
- for문은 while문의 축약 형태이며, for문의 괄호 안에는 다음과 같은 사항이 포함된다.
* 변수의 초깃값 설정
* 반복 수행 중지를 위한 조건식
* for루프 내에서 사용되는 변수 값의 증가 or 감소
for (초깃값; 조건식; 증가_감소;)
{
<문장들>
}
<?php
echo "for문을 실습해보자!!<br><br>";
$sum=0;
for($a=1; $a<=10; $a++)
{
$sum=$sum+$a;
}
echo("1에서 10까지 정수의 합은 $sum 입니다.<br>");
?>

<?php
echo "for문을 실습해보자!!_2<br><br>";
$count = 0;
for ($i = 500; $i <= 700; $i++)
{
if($i %4 != 0)
{
echo $i." ";
$count++;
$ok = true;
}
if ($count != 0 && $count % 10 == 0 && $ok == true)
{
echo "<br>";
$ok = false;
}
}
?>

<h3>섭씨 -> 화씨 온도 변환</h3>
<table border="1"width="300">
<tr align="center"><td width"150">섭씨</td><td>화씨</td></tr>
<?php
echo "for문을 사용하여 섭씨/화씨 온도 변환<br><br>";
for ($c=-15; $c<=35; $c=$c+5)
{
$f = $c * 9 / 5 + 32;
echo "<tr align='center'><td>$c</td><td>$f</td></tr>";
}
?>
</table>

이중 for 문
- for문의 반복 루프 내에 for문을 사용하는 것
for (초깃값; 조건식; 증가_감소;)
{
for (초깃값; 조건식; 증가_감소;)
{
<문장들>
}
}
<?php
echo "이중 for문을 사용하여 구구단 출력 1 <br><br>";
echo "------------------------------------------ <br>";
for($a=2; $a<=9; $a++)
{
for($b=1; $b<=9; $b++)
{
$c = $a * $b;
echo("$a x $b = $c <br>");
}
echo "------------------------------------------ <br>";
}
?>

<style>
table {border-collapse:collapse; width:600px; }
td { border: solid 1px gray; text-align: center; padding:5px; }
</style>
<h3>- 구구단 표</h3>
<table>
<tr>
<td>2단</td>
<td>3단</td>
<td>4단</td>
<td>5단</td>
<td>6단</td>
<td>7단</td>
<td>8단</td>
<td>9단</td>
</tr>
<?php
echo "이중 for문을 사용하여 구구단 출력 2 <br><br>";
for($b=1; $b<=9; $b++)
{
echo "<tr>";
for($a=2; $a<=9; $a++)
{
$c = $a * $b;
echo "<td>{$a}x{$b}=$c</td>";
}
echo "</tr>";
}
?>
</table>

<?php
echo "이중 for문을 사용하여 별표 출력 1<br><br>";
for ($a=1; $a<=10; $a++)
{
for ($b=1; $b<=$a; $b++)
{
echo "* ";
}
echo "<br>";
}
?>

<?php
echo "이중 for문을 사용하여 별표 출력 2<br><br>";
for ($a=1; $a<=10; $a++)
{
for ($b=9; $b>=$a; $b--)
echo " ";
for ($c=1; $c<=$a; $c++)
echo "*";
echo "<br>";
}
?>

do ~ while 문
- do ~ while문은 while문과 거의 동일하지만 while (조건식)이 문장의 마지막에 온다는 것이 차이점이다. 이는 루프 내의 <문장들>이 최소한 한 번 이상 수행된다는 것을 의미한다.
do
{
<문장들>
} while (조건식)
<?php
echo "do ~ while문을 실습해보자!! <br><br>";
$i = 1;
$sum = 0;
do
{
$sum = $sum + $i;
$i++;
} while($i <= 10);
echo "합계 : $sum";
?>

<?php
echo "do ~ while문을 실습해보자!!_2 <br><br>";
$i = 10;
do
{
print $i;
} while($i<=1);
?>

[ 연습 문제 ]
- 1번
<?php
echo "연습 문제 1번<br><br>";
$num = 1;
while($num<=1000)
{
if($num%2==0)
echo "$num ";
$num++;
}
?>

- 2번
<?php
echo "연습 문제 2번<br><br>";
$count = 0;
for($num=100; $num<=500; $num++)
{
if ($num%2 == 0)
{
echo "$num ";
$count++;
}
if ($count%2 == 0)
{
echo "<br>";
}
}
?>


- 3번
<?php
echo "연습 문제 3번<br><br>";
$num = 300;
$sum = 0;
while ($num <= 3000)
{
if ($num%2 == 1)
$sum = $sum + $num;
$num++;
}
echo "300~3000 홀수의 합 : $sum";
?>

- 4번
<?php
echo "연습 문제 4번<br><br>";
$sum = 0;
for($num=100; $num<=900; $num++)
{
if($num%3 !=0)
{
$sum = $sum + $num;
echo "{$num}까지의 합 : $sum<br>";
}
}
?>


- 5번
<?php
echo "연습 문제 5번<br><br>";
$factorial = 1;
for($num=1; $num<=10; $num++)
{
$factorial *= $num;
echo "{$num}! = $factorial<br>";
}
?>

- 6번
<?php
echo "연습 문제 6번<br><br>";
$count = 0;
for($num=1; $num<=500; $num++)
{
if($num%5 ==0)
{
echo "$num ";
$count++;
if($count%10 == 0)
echo "<br>";
}
}
?>

- 7번
<?php
echo "연습 문제 7번<br><br>";
echo "----------------------------<br>";
echo "야드 미터<br>";
echo "----------------------------<br>";
for($yard = 10; $yard <= 300; $yard=$yard+10)
{
$meter = $yard * 0.9144;
echo "$yard $meter<br>";
}
echo "----------------------------<br>";
?>

- 8번
<?php
echo "연습 문제 8번<br><br>";
echo "<table border=1>";
echo "<tr align=center><td width=150>야드</td><td width=150>미터</td></tr>";
for($yard=10; $yard<=300; $yard=$yard+10)
{
$meter = $yard * 0.9144;
echo "<tr align=center>";
echo "<td>$yard</td><td>$meter</td>";
echo "</tr>";
}
echo "</table>";
?>

- 9번
<?php
echo "연습 문제 9번<br><br>";
echo "-------------------------<br>";
echo "평 제곱미터<br>";
echo "-------------------------<br>";
for($meter = 10; $meter <= 200; $meter=$meter+10)
{
$flat = $meter * 0.3025;
echo "$meter $flat<br>";
}
echo "-------------------------<br>";
?>

'스터디 > 코딩' 카테고리의 다른 글
| [ 자율 스터디 ] PHP 함수 (0) | 2023.01.04 |
|---|---|
| [ 자율 스터디 ] PHP 배열 (0) | 2023.01.04 |
| [ 자율 스터디 ] PHP 조건문 (0) | 2023.01.03 |
| [ 자율 스터디 ] PHP 기초 문법 (0) | 2023.01.02 |
| [ 자율 스터디 ] PHP의 기본 지식 (0) | 2023.01.02 |