SPEAKER : 1의 물에 대해 얘기하자.
이 문제에서 우리는 말할 사용자에게 우리 시간 분에서 자신의 샤워이었다
그리고, 우리는 동등한를 계산 물 병의 수
자신의 샤워를 사용하는 것이.
>> 그래서 우리의 할 일의 무엇인가 이 문제에 대한?
첫째, 우리는 할거야 메시지를 표시 한 다음 확인하기
사용자가 우리에게주는 입력.
우리는 우리를 확인하면 유효한 사용자 입력을 가지고,
우리는을 계산하는거야 물 병의 동등한 수
사용자는 중에 있다고 그들의 샤워기, 우리는있어
에 의해 그들에게 것 그 번호를 인쇄.
>> 그럼 우리의 첫 번째를 해결하자 작업, 프롬프트 및 검증
사용자 입력.
이를 위해 우리가 작성한 당신이 호출을위한 기능
CS50 라이브러리에있는 GET_INT.
GET_INT는 사용자 입력을 보장 정수, 어떤 양수 때문에,
음수, 또는 제로는 모두 허용됩니다.
그러나 사용자가 무엇을 입력하면, 그래서 문자 또는 숫자의 조합
또는 소수 후, 사용자는 다시 시도하라는 메시지가 표시됩니다
그리고 함수는 아무 것도 허용하지 않습니다 사용자는 그들에게 정수를 제공 할 때까지.
>> 그래서 우리가 어떻게 GET_INT을 사용합니까?
당신이 당신의 작업 공간을 열 경우와 하자 integer.c라는 이름의 파일을 생성
다음을 입력합니다.
해시 태그는 cs50.h. 포함
이 GET_INT 때문에 필요하다 CS50 라이브러리 함수이고,
그래서 우리는 다음과 해시 태그합니다 순서 선언
기능을 사용할 수 있습니다.
그리고 내 메인에 난 그냥 갈거야 기능
단순히 기능 GET_INT를 호출합니다.
>> 그래서이 작업을 실행할 수 있도록하고 작동 방법을 참조하십시오.
나는 이미 컴파일, 그렇게하자했습니다 그냥 가서이 프로그램을 실행,
./정수.
여기에 내가 프롬프트를 가지고 여기에 값을 어디에 입력합니다.
난 그냥 어떤 정수에 넣어 말 (50), 프로그램 공개됨과 종료됩니다
그리고 그입니다.
>> 하지만 난 다시 실행 말 다른 I 입력 뭔가.
아마, 안녕하세요.
즉, 그래서 정수 아니다 프로그램은 다시 시도 나 메시지가 표시됩니다.
이제 다시 해보자 아마도 소수점이 시간.
0.5 다시이 아닌 정수 때문에 프로그램은 그것을 허용하지 않습니다
그리고 다시 시도 말해 있습니다.
그럼 그것을 다른 번호를 부여 할 수 있습니다.
프로그램은이를 받아 종료, 우리는 완료됩니다.
>> 그래서 지금 우리는 기능을 가지고 그것은 우리와를 보장 할 수 있습니다
사용자는 입력이 있는지 정수,하지만 우리가 어떻게 할 수
실제로 추적 정수 사용자에 의해 입력?
글쎄, 우리가 할 수 있습니다 모든 가게 변수에이 값은, n은 말한다.
그래서 내가 정수 n을 선언하는 경우, 나는, GET_INT 해당 값을 설정
다음 N 다음 저장합니다 어떤 입력 된 사용자 가치를.
>> 모든 권리는, 이제 우리는 것을 보장했다 사용자는 우리에게 정수를 줄 것이다
우리는 추적하는 방법을 알고 정수의,하지만 기억,
정수는 긍정과 부정 모두 있습니다.
그래서 정말 이해가되지 않습니다 이 문제의 맥락에서
사용자는 샤워를 소요 의 마이너스 12 분 말한다.
그래서 우리는 사용자가 확인해야 실제로 우리에게 양의 정수를 제공합니다.
이제 우리는 단지이 없습니다 그것을위한 하나의 함수,
그래서 우리는 할 겁니다 자신 있음을 만들 수 있습니다.
>> 그래서 우리는 지속적를 원하는 사용자에게 메시지를 표시
그들은 우리에게 양의 정수를 줄 때까지.
나는 계속해서 무언가를하고 있어요 경우 즉, 루프, 반복 유사합니다.
우리가 사용하는 구조 중 하나 그래서 C에서 반복과 루프를 구현하는
while 루프입니다.
그래서 while 루프, 등 여기에 표시, 실행합니다
루프의 몸체로 뭐든 주어진 조건을 평가 한
true로.
즉시 그 조건으로 다음, false로 평가
프로그램으로 진행됩니다 어떤 루프의 몸 후에 온다.
>> 루프로 이동하는 동안 그래서 CS50 정말 유용합니다.
그러나이 특히 경우, 우리는 우리가 거​​ 알아
적어도 사용자에게 메시지를 표시 할 것 한 번 만 루프 필요한 경우.
그래서 여기에 우리는 온 특수 구조 및 그건
그동안 매우 유사 루프는 DO-whil​​e 루프를했다.
>> 그래서 DO-whil​​e 루프가 실행 루프의 몸에 한 번 이상
다음은 확인합니다 그것이 실행해야하는지
while 루프와 달리, 어떤 조건을 확인합니다
다음 몸을 실행합니다.
그래서 DO-whil​​e 루프에서 무엇을 우리는 수도 이렇게 정수에 대해 사용자에게 메시지를 표시하고,
다음은 무효입니다 아닌지 확인합니다.
그것이 잘못이라면, 우리는거야 사용자가 요청하는 과정을 반복
그 다음 우리에게 또 다른 정수를주고,하는 이 정수가 유효한 경우에만
우리는 계속됩니다 무엇이든 나중에 온다.
>> 이제 있음을 알 수 있습니다 정수 n의 선언
약간 다른 우리 앞의 예에서 이전과
그리고 이는 범위이다.
우리는 내부의 정수 n을 선언 한 경우 DO-whil​​e 루프의 몸,
우리는 접근 할 수 없을 것입니다 그 곱슬 외부 N의 값
루프의 본체를 나타내는 교정기.
그러나 우리는 사실에 접근하고 싶어 나중에 우리 프로그램의 N의 값입니다.
>> OK, 지금의 얘기하자 이 조건은해야 무슨.
우리는 단지를 다시 메시지 표시 할 사용자로 긴 n은 무효 때문이다.
그래서 자신에게 생각 무효 얼마나 정수 값과 같을 것이다
다음 부울을 만들 표현은 그 표현.
>> 우리는 거의 우리의 하위 작업으로 완료 의 메시지를 표시하고 사용자 입력의 유효성을 검사.
그래서이 조금 만들어 보자 좀 더 사용자 친화적에게
사용자에게 조금 줄 좀 더 정보
어떤 우리는 그들에게 메시지를 표시하고 있습니다.
그래서이 당, 사용자에게 메시지를 표시 할 수 사양, 문자열 분.
그래서 당신의 printf 문을 사용하여 만들 당신이 정확히 일치하는지 확인합니다.
>> 괜찮아.
그래서 지금 우리는 유효한 사용자가 입력 양수
몇 분 동안 값 그들은 샤워를 보냈다.
그래서 다음 것은 계산하는 것입니다 병에 해당하는 숫자입니다.
우리가 여기서 할 수있는거야 무엇 처음에 당신에게 매우 분명,
그것은 OK입니다.
우리가 원하는 것은 우리입니다 연습을 시작하려면
패턴을 검출하는 아이디어 이 문제에 대한 공식을 개발하고 있습니다.
>> 그래서 우리는 사양에 따라 말 것 샤워 그 일분
약에 해당 물 12 병입니다.
그럼 이분은 것 (24)에 상응하는,
5 분은 것 (60)에 해당합니다.
그래서 지금 당신이 생각하는 경우 당신이있어, 다음의하자
당신이 올 수 있는지 패턴이나 식
우리가 말할 경우, 표현하려면 n 물 분, 얼마나 많은 병
즉, N으로 표현 될 것인가?
>> 다시 말하지만, 비록이 처음에는 간단 할 수 있습니다,
나중에 우리가 얻을 때에 더 복잡한 문제
우리는에 얻고 싶은거야 식별하는 연습
패턴과 개발 식 이 일을 알아낼 수 있습니다.
>> C에서 당신은에 액세스 할 수 있습니다 표준 산술 연산,
덧셈, 뺄셈, 곱셈, 나눗셈.
그래서 나는 그것을 떠날거야 당신은 지금 파악하기
을 표현하는 방법 병의 동등한 수
사용자는 소비 된 것을 자신의 샤워하는 동안.
>> 좋아, 우리는 거의 완료됩니다.
우리는 그들의 사용자에게 입력하라는 메시지가 표시했습니다, 우리는 유효한 입력 있다는 보장 한,
그리고, 우리는 밖으로 방법을 냈어요 등가를 계산하는
그들이 소비 병의 수입니다.
그렇게 할 수있는 마지막 것은 출력입니다 병에 해당하는 수
희망 권장 그들에게 약간의 물을 절약합니다.
>> 값을 출력하는 것 printf와 문합니다.
난 당신이 내가 말하고 싶었다면 예를 들어, 세 애완 동물을 가지고
나는의 printf 문을 사용할 수 있습니다 그 같은 것을 보인다.
I는 새로운 3 애완 동물이 있고 좋은 서식을위한 라인.
>> 이제 우리는 싶지 않아 단순히 하드 코드 것.
의 수를 말해 내 애완 동물은 시간이 지남에 따라 변경됩니다.
그럼 난을 활용거야 내 printf의 문에 자리.
그래서 여기 내 번호는 정수이다.
그래서 자리를 만들려고 해요 %의 난을 사용하여 정수.
나는 문자열을 작성하는거야, 다음 문자열 후
나는 그 다음에 쉼표와 쓰기 나는 인쇄 할 변수입니다.
그 값을 인쇄 할 수 있도록 그 자리 %의 내가 대신한다.
>> 당신은 같은 자리를 사용할 수 있습니다 음, % f를 가진 수레합니다.
또한 여러 수 있습니다 문자열의 자리.
예를 들어, 내가 어떤 번호가있는 경우 개와 고양이의 일부 수의,
나는 여기에 다음 두 자리를 넣어 각각의 순서에 내 두 변수.
>> 그래서 지금 우리가 인쇄하는 방법을 알고 변수에 저장된 값,
에 매우 마지막 수행은 우리를 보장하는 것입니다
정확한 형식으로 값을 출력 명세서에 나타내었다.
즉, 우리는 메시지가 표시 한 사용자와 그들의 입력을 확인.
우리는 다음에 해당하는 계산 한 물 병의 수
그들의 샤워 중에 소비 것을 우리는 그들에게 그 값을 출력했습니다.
그래서, 우리는 물을 완료했습니다.
>> 내 이름은 [? Zamila?] 이것은 CS50이다.