>> DOUG 로이드 : 좋아, 그래서 의 루프에 대해 이야기 할 수 있습니다.
그래서 루프는 종류의 멋진 그들은 당신의 프로그램을 수 있기 때문에
코드 줄을 실행합니다 이상 이상 이상.
반복하지 않고 복사 붙여 넣기하거나를 반복합니다.
주요 세 가지가 있습니다 당신이 볼 수 루프 가지.
당신은 아마 사용하는 기회를해야합니다 각 당신은 CS50을 통해 진행으로.
이러한 루프 중 일부는 꽤있다 처음부터 당신에게 익숙한,
그래서 다시, 우리는 조건문했던 것처럼, 우리는 나란히 그들을 놓을 게요
비유가있는 경우 우리는 그릴 수 있습니다.
>> 첫째, 처음부터 영원히 하는 동안 (True)로 비교합니다.
이것은 우리가 무한 루프를 호출 할 것입니다.
곱슬 사이의 코드의 라인 중괄호, 많은 퍼즐 조각처럼
C 내부가 적합 영원히 차단의,
정상에서 반복적으로 실행됩니다 아래로, 반복해서 이상,
영원히.
결국, 당신은 우리를 기억하는 경우 부울 식의 토론,
사실은 항상 사실이다.
우리가하고있는 경우에 따라서 참으로 오랫동안 뭔가
그것을 true-- 것은 조금 silly-- 사실이 보인다 항상 참이므로 항상 실행할 것이다.
그것은 영원히 실행하겠습니다과 영원히 우리까지
함께 탈옥 할 수있는 방법을 찾을 수 break 문, 다시,
우리는 조금 전에 보았던 우리 스위치에 대해 얘기했다.
>> 또는 그렇지 않으면 그냥 죽일 우리 프로그램, 이는 부수적으로,
당신은 이제까지 자신을 발견하면 무한 루프 상황
및 중지하는 방법을 모른다 실행 한 프로그램.
그냥 제어 및 C를 쳤고 그런 당신을 위해 프로그램을 죽일거야.
그러나 이것은, 다시,이다 무한 루프라고합니다.
그것은 영원히 실행 루프입니다.
이제, 루프는 동안하지 않습니다 항상 무한도 있기 때문에
우리는 부울를 대체 할 수 뭔가 표현
좀 더 유용보다 그냥 사실.
그래서 여기에 또 다른 예입니다.
반면 일부 부울 표현하고 중괄호.
즉, 유사한 꽤 많이 있어요 처음부터, 때까지 반복합니다.
두 번째, 난거야 비록 차이를 설명한다.
>> , C에서 그래서 부울 식의 경우 while 루프의 내부
진실, 라인 평가 중괄호 사이의 코드
반복해서 반복적으로 실행됩니다 이상 부울 식까지
false로 평가합니다.
그래서 예를 들어, 수도 카운터의 어떤 종류가있다.
그래서의 시작 부분을 말한다 이 루프는 INT x가 0 인 말한다.
x가 100보다 적은 있지만, 몇 가지 작업을 수행 그 중괄호 일,
다음 루프의 끝에서, 당신은 말을 X 플러스 플러스, 당신은 X를 증가하고 있습니다.
결국 X는 얻을 것이다 100 당신은 것입니다
조건 때문에 중지 X 100 미만입니다
더 이상 같은 사실이 없습니다 곧 X 100과 동일하다.
(100)는 100 이상이다.
>> 지금은 다소 혼동, 행동 스크래치 블록으로 반전됩니다.
이 경우, 그래서 정말 조심해야 루프를 사용하여에 첫 진출.
기본적으로, 반복 스크래치에 블록까지
무언가를 반복 할 것이다 이상 이상 이상,
표현까지, 부울 육각형의 표현은 사실이다.
그래서 일을 계속한다 그것은 사실이 될 때까지.
한편, while 루프는 것 이 거짓이 될 때까지 그것을 계속.
그래서 그들은 매우 유사,하지만 단지 약간의 차이가있다
당신이 만드는 특히 조심해야합니다 전환에서 첫 입성
C에 스크래치합니다.
루프의 다음 종류 인 실제로 매우 유사합니다.
그것은 DO 루프 동안이라고.
이 루프는 모든 라인을 실행합니다 한 번 중괄호 사이의 코드,
다음은 확인합니다 부울 식입니다.
부울 식의 경우 참으로 평가,
그것은 돌아가서 반복합니다 반복해서 그 과정
이상 부울까지 표현식이 false로 평가합니다.
그래서이 루프는 while 루프와는 달리,이다 한 번 이상 실행 보장.
이것은 매우 유용 할 수 있습니다.
>> 마지막으로, 우리는 루프를 가지고있다.
루프 들어 가지입니다 구문 매력
가는 많은있다 여기에, 그래서 나와 함께 곰
우리는 시도하고 떨어져이 조각을 깰있다.
일반적으로, 사용 사례 루프는이다의
뭔가를 반복합니다 시간의 특정 번호.
여기이 실시 예에서, 나는 반복 블록이
처음부터, 어느입니다 루프와 유사
C에서 뭔가를 10 회 반복.
그리고에 루프 이 좌측, 어느
네 루프입니다 같은 일을 할 것입니다.
이 10 배를 갈 것입니다.
0에서 계산, 우리 루프의 각 패스를 증가.
그리고 우리는 일을 계속 나는 10 이하가 될 때까지.
>> 그래서 무슨 일이?
이 코드의 전체 많이있다.
의는 그것을 무너 뜨리는하자 어떤 단계를 무슨 일이 일어나고
단계에서 우리는 루프를 통해 발굴로.
일이 우선이다 카운터 변수는 센터입니다.
첫 번째의 왼쪽에있는 모든 괄호 안에 세미콜론
실행됩니다.
이 경우에, 우리는 내가 0에 해당하는 int 말.
나는라는 새로운 변수를 선언, 변수하는 유형의 정수
우리는 내부의 값을 말을하는지 그 변수가 0이 될 것입니다.
>> 우리가 두 번째 일이다 우리는 즉시 평가
부울 식입니다.
부울 표현식에 두 세미콜론의 중간.
나는 10 미만이다.
그건 바로, 여기 사실?
우리는 그냥과 동일했다 제로, 따라서 0, 10 미만
그래서 그 조건 사실 우리는 지금 것입니다
루프의 몸을 실행하기 위해 진행합니다.
경우는 거짓이었다.
경우, 예를 들어, 내가 대신 말했다 난, 0이 내가 15에 해당 말했다 같다
내가 15에 해당 int로.
음 (15)는 10 이상, 그래서 우리 루프의 본문을 입력하지 않을 것
부울 식 때문에 거짓이 평가하는 것입니다.
>> 우리가 위에서 아래로 통과 한 후, 우리는 중괄호를 닫는 것을 발생
세 번째 일이 발생합니다.
카운터 변수는 증가, 또는 오히려, 선
문의 코드의 후 내부의 두 번째 세미콜론
루프의 괄호에 대해 실행됩니다.
그래서 우리는에 의해 시작 내가 0에 해당하는 int 말.
그럼 우리가 여부를 확인 부울 표현은 사실이다.
0 (10)는 그래서 사실,보다 작습니다.
그래서 우리는 계속거야 몸 루프에.
상황이 루프 내부에 일어날 것이다 우리는 폐쇄 곱슬 것을 발생할 때
중괄호, 다음 일은 우리에게 이렇게 우리는 내가 플러스, 플러스 말을한다.
나는 제로가 지금은 하나입니다.
그 후, 우리는 다시 값을 확인 중간에 부울 식입니다.
하나는 10 미만이다.
그래서 우리는이를 통해 갈거야 또 다시 처리합니다.
우리는 폐쇄를 얻을 것이다 다시 중괄호.
우리는에서 나는를 증가합니다 1-2과 2-3.
등등 등등 등등, 때까지 결국 나는의 값은 10이된다.
10 이상 10 이하인가?
아니.
0에서 계산, 우리는 갔어요 루프의 10 반복을 통해.
우리는 단지, 10 회 반복했습니다 우리는 스크래치 블록에 그랬던 것처럼.
그리고 그것은 기본적이다 네 루프 과정.
>> 이제 멀리 복용 실제 코드를 넣어
단지 몇 가지 기본적인 일반 제표.
여기에 무슨 일입니다.
모든 문에 처음 실행되는 시작합니다.
당신은 더 이상있을 수 있습니다.
그런 다음, 부울 식을 확인한다.
표현식이 true로 평가되면, 몸을 루프를 한 번 실행합니다.
표현은 평가되는 경우 false로, 우리는 완료.
우리는 실행되지 않습니다 모든 루프의 몸.
우리가 실행 한 후 몸 루프 한 번,
우리는 무엇에 할 이 증가 부분입니다.
어느 것이 일반적이 될 것입니다 나는 같은 플러스, 플러스
그런이나 뭐, 그 카운터 변수를 수정합니다.
그런 후에 우리는 증가 다시 발현을 확인
이상 이상 그 단계를 반복 및 식입니다 이상까지
더 이상 사실.
>> 그래서 루프에 대한 사용 사례는 무엇인가?
당신이 while 루프 때를 사용하여 사용 당신은 루프를 반복합니다
시간의 알 수없는 수 있지만, 그것은 아마도 모든 실행되지 않을 수 있습니다.
의 정말 일반적인 예 반복 동안 사용되는
게임을위한 제어 흐름을 실행하는 것이다.
당신은 모를 수도 얼마나 사용자가 재생 될 것입니다,
하지만 당신은 유지하려는 같은 일을하고.
의 위치를​​ 갱신 보드에 여러 스프라이트.
당신은 일을 유지하려면 항상 움직이는
하지만 당신은 때를 모르는 사용자가 재생을 중지 할 것입니다
또는 그들이 갈 때 삶에서 실행합니다.
그래서 while 루프는 정말 그런 일을 위해 좋은.
즉, 좋은 사용 사례입니다.
>> 할 일에 대한 루프 동안, 그것은 꽤 비슷하다.
당신은 루프가 알을 반복합니다 회수되지만 적어도 한번.
당신은 게임이를 사용할 수 있습니다 너무,하지만 정말 일반적인 사용 사례
입력을위한 사용자에게 메시지를 표시한다.
일반적으로, 당신이 뭔가를 말할 수있다 같은 나에게 양의 정수를주고,
당신은 넣어 수 있습니다 루프 동안 DO의 내부.
그래서 항상 그들을 요청합니다 적어도 한 번 양의 정수에 대한.
그들은 당신에게 양의 정수를주는 경우에, 당신은 루프의 탈옥 수 있습니다.
당신은 할 수 있습니다.
부울 식 할 동안은 거짓 일 수 있습니다.
>> 그리고 당신은 그들을 다시 요청하지 않습니다.
그들은 당신에게 음수 곳을 제공하는 경우 그들은의 일부 단어 나 뭔가를 입력
정말 유용하지 당신은, 당신은을 사용할 수 있습니다
루프는 뒤로 가서해야 할 일 않지만 그것을 다시하고 다시하고 다시.
당신은 확실히 물어보고 싶은 그들을 한 번 당신에게 번호를주고
하지만 당신은 얼마나 많은 시간을 모르는 그 후 그들은 해충 수 있습니다.
그리고 그것은 잘 사용 할 일입니다 그래서 동안 입력을위한 사용자에게 메시지를 표시하기위한 경우.
그리고 루프 사용 경우는 일반적으로 할 때입니다
당신은 루프를 반복합니다 배의 이산 숫자
하지만 당신은 그렇지 않을 수 있습니다 횟수를 알
현재이 프로그램은 컴파일됩니다.
>> 그래서 예를 들어, 어쩌면 당신은 프로그램이 어디 다수의 사용자하라는 메시지를 표시합니다.
그리고 그들은 100를 입력합니다.
그리고 다음 루프 것 이 경우 100 번을 실행합니다.
아니면 그들은 입력 프로그램에 1,000
다음 루프를 1000 번을 실행합니다.
그것은 특정 횟수입니다.
그들은 필요하지 않습니다 무슨 번호를 알고
컴파일 모멘트 프로그램이다.
그것은 잠시 루프처럼하지 어디 무한 될 수 있습니다.
그것은 숫자 오히려입니다 당신은 모르는.
지금은했습니다에도 불구하고 설명 된 모든 사용 사례,
당신은 꽤에서 알고 있어야 많은 모든 상황,
모든를 교환 할 수 있습니다 이 루프의 세.
당신은 루프 어디를 위해 사용할 수 있습니다 그렇지 않으면 while 루프를 사용합니다.
당신은 루프 어디든지를 위해 사용할 수 있습니다 당신은 DO 루프 동안 등을 사용하십시오.
그것은 때때로 조금 까다로울 수있다 그래서 일반적으로 좋은 습관이다
일반적인 사용 사례를 준수합니다.
루프 동안 DO를 사용하는 경우 적어도 한 번 뭔가를 원했다.
당신이 원하는 경우 루프를 사용하여 어떤 특정 횟수.
거기에 왜 결국, 그건 루프의 세 가지 다른 종류.
>> 그래서이 사용될 수있다 오른쪽 맥락에서.
하지만 당신은 교환 할 수 있습니다 그들에게 당신이 원하는 경우.
당신은 동안 루프와 함께 편안하게하는 경우 그리고 당신은 항상 루프 동안 사용하려고합니다.
그것은 뭔가 그 당신이 할 수있는, 그것은 비록
조금 구문이있을 수 있습니다 까다로운, 어디를위한 루프
훨씬 더 간단 할 것이다.
>> 내 이름은 더그 로이드이며,이 CS50입니다.