[Powered by Google Translate] ZAMYLA 찬 : 좋아, 모두들. 연습 한에 오신 것을 환영합니다. 이 연습은 C. 내가 당신을 기대합니다 pset 1 될 것입니다 모두가 귀하의 스크래치 프로젝트 재밌기도 했어요. 그래서 지금이 연습에서 우리는 실제로이 될거야 C로받을 수 일부 기계 코드를 작성에 들어가. 당신은이 다음 연습 0 안 계 셨으면 정말 연습 - 저걸 통과하려고 문제 세트는 몇 가지 일반적인 팁과 기술을 통해 이야기 당신이 사용할 수 있습니다. 우리는 그래서, 관리 물린 상처로 지정을 깰 수있을 거라 너희들이 희망 시작하게 할 수 있습니다 그렇게하는 방법에 대해 알아 봅니다. 좋아요. pset 한 자. 는 올해가 처음 구조를해야합니다 psets - 질문 섹션 일련의가있을거야 정말도 도움이 될 것입니다 질문이 당신을 시작 pset는, 당신이 필요로하는 몇 가지 기술을 연습 할 수 있습니다. 그리고 이러한 질문에, 나는에 포함하지 않을 거에요 연습 섹션에서 귀하의 할당 된 교육 때문에 동료는 실제로 그 통과 것입니다 당신과 함께 질문입니다. 섹션의 끝에서, 당신은 함께 떠날거야 그 질문에 대한 답변뿐만 아니라 자신감이있는 당신이해야합니다 기능의 일부를 구현할 수 pset의 후반 부분에 대한. Pset 1 마리오를 구성한다. 그래서 본질적으로 우리 재미 좀 프로그램입니다 작성하고 전형적인 마리오 장면의 반 피라미드를 인쇄 할 수 있습니다. 그리고 pset의 두 번째 부분은 새끼라고합니다. 그리고 탐욕에서 우리는 본질적으로 욕심 역할 점원, 누군가 우리에게 돈을 금액을주는 곳에있는 경우 우리가 원하는 것을 우리는 동전의 최소 금액을 계산 우리는 여전히 그들에게 그 금액을주고 그들에게 돌아갈 수 있습니다. 괜찮아요. 그럼, 모든 연습은 도구 상자 수 있습니다. 또,이에있는 도구를 모두 사용하지 않을 수 있습니다 도구 상자 또는 그들 모두를 사용할 수 있습니다. 어떠한 경우에도, 그것을 알고 좋은 건지 당신은 장착하고 있습니다. 그럼 내가 보여 줄게 CS50 어플라이언스, 당신들이 있으며 그로 소개합니다. 다음 또한 일반적으로 좋은 스타일은 확실히 우리의 하나입니다 가장 중요한 도구를 제공합니다. 스타일은 본질적으로 코드를 어떻게 읽을 수 있습니다하는 방법에 대한? 다른 사람이 들어가서 코드를 읽을 때, 그들은해야합니까 쉬운 시간은? 그들은 이해 할 수 있습니까? 이 우아한입니까? 그리고 나서 당신의 유효한 사용자 입력을하는 방법에 대해 얘기하자 이 프로그램은 마리오 모두와 탐욕에, 당신은해야하기 때문에 입력하는 사용자를 부탁하고 당신에게 번호의 일부 종류를 제공합니다. 그래서 우리는 번호가 유효한지 확인하고 싶습니다. 그런 다음 스크래치에 기억, 우리는 이러한 반복과 같은 블록을했다 때까지 반복하거나, 기다리거나 영원히. 그래서 우리는 그 C로 지금 번역 가지로 이동하고 반면, 이러한뿐 루프에서보고, 할 - 동안. 그리고 또한 우리는 또한에 값을 다시 표시해야합니다 화면이 마리오 또는 탐욕에 있어요 여부. 그래서 우리는 우리가 문자열에서 물건을 인쇄하는 방법에 대해 얘기하자 정수와 수레. 그리고 마지막으로, 우리는 정말 의사에 대해 얘기하자 중요한 개념은이 과정을 통해 기억합니다. 내가 찾을 것이 문제 세트와 함께 대부분의 나를 돕 것은 생각하는 것입니다 어떤 C. 생각하기 전에 내가하고 싶은 설명 그러나 단지 작업을 설명합니다. 그래서 의사 어떤 종류의, 영어와 C 사이에 가지입니다 올바른 구문없이 프로세스를 설명하지만, 충분히 좋은 구조를 제공합니다. 그래서 난 당신에 대한 의사의 몇 가지 예를해야합니다 이 연습 인치 좋아요. 그래서 우리가 일하게 될거야하면 CS50 어플라이언스입니다. 그것은 어떤 종류의를 실행하는 본질적으로 가상 머신입니다 자신의 컴퓨터 내부 컴퓨터. 그리고이 혜택을 많이가 있습니다. 하나는 당신이 할 시간 도구의 많은 사전하다는 CS50에 필요합니다. 뿐만 아니라, 그 모든 사람이 같은 땅에 뜻 Mac 또는 PC 또는 다른 운영 체제 여부. 우리는 모든 가상 머신을 실행할 수 있습니다. 그리고 manual.cs50.net/appliance의 방법이 있습니다. 그리고 당신은 링크로 이동하여 지침을 따르십시오 경우 잘하면 당신은 어플라이언스를 설치 할 수 있습니다. 그래서 일단, 당신은, 응용 프로그램을 설치해야합니다 가상 머신을 실행 할 수 있도록 실제 응용 프로그램입니다. 그리고 당신은 어플라이언스를 다운로드 할 수 있습니다. 다시 한 번,에 지침이 있습니다 manual.cs50.net/appliance. 그래서 이미 어플라이언스를 다운로드 한, 내가 설치 한 VM웨어 퓨전라고. 나는 어플라이언스를 다운로드 후 그래서 내가 파일로 갔다. 나는 열기 갔다하고 발견 된 곳 I CS50 어플라이언스를 저장. 그리고 거기에서, 내가 여기에 실행. 하지만 이미 여기까지가 있으니, 좀 더 자세히 살펴 봅시다. 괜찮아요. 이제 우리는 CS50 어플라이언스 안에. 전 전체 화면했다. 당신은 단지 또는 경우 등이 그런 짓을 할 수 있습니다 바탕 화면에 작은 창. 여기있는 단순한 바탕 화면을이 집과 쓰레기. 당신이 프로그래밍에 다음 메뉴로 이동한다면, 다음 볼 우리는 터미널 불리는 무언가를 갖고 있습니다. 그리고 여기에, 우리는 컴퓨터 주변 탐색 할 수 있습니다. 우리는 코드를 작성할 수 있습니다. 그러나 실제로, 우리는 "g을 gedit라는 프로그램을 사용하거나됩니다 수정, "중 저거입니다. 그래서 우리는 하나가 코드를 작성하는 것을 사용됩니다. 그럼 당신이 주로 사용한다고이 두 도구를 가지고 코드를 작성합니다. 그런뿐만 아니라, 그냥 일반 컴퓨터 같은거야. 우리는 브라우저가 있습니다. Google은 Google 크롬을 선택했습니다. 내가 한 건은 모두를 포함하도록 보관을 설정 한입니다 문서. 그리고 그 높은 권장 뭔가입니다. Tea는 등 경우를 동기화하는 클라우드를 사용 - 그래서 예를 들어, 우연히 일이 -가 없기를 바라고 보자 - 어플라이언스에게 무슨 일이 생긴 후 모든 게 있습니다 구름에 동기화. 괜찮아요. 그래서 그가에 사용됩니다되는 응용 프로그램입니다 CS50 어플라이언스. 이제 명령 줄 탐색합니다. 터미널은 실제로 종류의 사실에 대한 방법의 역할을 할 수 에 명령을 입력 - 당신이 맥 파인더 경우, 좋아. 당신이 Windows에서라면이나, 나는 "내를 둘러있어 믿고 컴퓨터 "또는 그런 일. 우리가 어플라이언스에 돌아 가면 자,이 열어 보자 터미널 창. 따라서이 프롬프트 jharvard @ 어플라이언스 있습니다. 은 그냥 더 만들어 보자. 좋아요. 우리가 명령인가요를 입력하면, 다음 나열되는 모든 현재 디렉토리에있는 컴퓨터에있는 파일. 디렉토리는 폴더 형식입니다. 우리는 서로 교환하여 해당 용어를 사용합니다. 좋아, 그럼 우리는 파일을 열거 한 이 디렉토리에 해당합니다. 이제 액세스 할 경우, 말의 보관, 우리는 할 수 있습니다 디렉토리를 변경합니다. CD 및 다음 보관 그럼. 우리인가요 다시, 그리고 나서 우리는에 파일의 목록을 보려면 이 폴더. 이 클릭 한 다음 내 집으로 간 자료를 유사하다 Tea는 다음 여기에 목록을보고. 괜찮아요. 그럼 시작하자 말 - 여러분은 pset 1 만들려고 할 때, 우선은 확인 디렉토리 pset1을했다. 이에서 볼 수 있듯이 그래서 우리는 지금 당장 보관에있어 여기하라는 메시지를 표시합니다. 그러니 디렉토리를 만들어 보자. MKDIR 그래서, 그렇게 pset1이라고 불러. 그리고 이제 우리가 있나요 경우 다시 나서 pset1가 나타납니다 것을 볼 수 있습니다. 우리가 pset1 내부에 가고 싶은 경우 그리고, 우리는 안으로 들어 가실 수 있습니다 명령 CD가 들어있는 폴더. 괜찮아요. 그러니 다시 경우 보자 - 말, 그건 다른 방법으로 해보자 구. 이것은 단지 "만들기 말하는에 유사하다 새 폴더, pset1. 당신이 찾아내는 그러나, 당신은 상호 작용됩니다 터미널 많은. 그래서 가끔 많이 쉽게,가에 빠른 잃은 일 이러한 종류의 작업을 수행 할 수있는 터미널에서 작동합니다. 좋아요. 그리고 다른 명령. 파일을 제거를위한 RM이 있어요. 그럼 당신은 단순히의 이름 다음 RM을 입력하고 을 삭제하는 파일. 우리는 나중에의 몇 가지 예에 갈거야. 그리고 우리는 어떤 사람이 명령이라는 것을,이 함수의 유형에 대한 매뉴얼을 제공합니다. 다시, 나는 나중에 그 실제 예를 표시합니다. 또 다른 정말 중요한 도구 그래서, 나는 간단히 언급으로 이전 스타일입니다. 그래서 본질적으로, 스타일은 가독성로 할 수 있습니다. 다른 사람이 읽고 따라 할 수 있으며, 되나요 코드를 알아? 이 사실은, 자신 당신을 위해 특히 중요합니다. 그럼 당신은 그럼 나중에 늦게 코딩을 새서, 그리고 경우 이 변수는 무엇을 의미하나요 돌아 가서 당신은 같은거야? 말해 봐요, 당신은 다른 사람과 그룹 프로젝트에 참여하고있어 모두 서로의 코드를 바라보아야 할 수 있습니다. 당신이 올바르게 변수의 이름을 것이 정말 중요합니다 모든 차이를 만들어 그 때문에 좋은 보이. 하지만 무엇보다도, 우리는 지금 과정에 있습니다. 따라서 CS50의 이익 및 특히에 당신의보고 될 교육 휄로우 및 학년 psets, 제발 올바른 스타일을 사용하시기 바랍니다. 그리고 교육 친구들은 꽤 드릴 것입니다. 그럼 다시, 스타일은 제대로 일을 압입 포함 특히 괄호를 사용하고 사람들을 압입. 변수에게 맞는 무언가를 명명. 당신이있을 때 지금 우리는 규칙을 따르십시오 귀하의 변수 이름에 여러 단어를 한 다음 당신이에서 보듯이, 밑줄과 함께 연결 거기에 예를 들어 이름을 지정합니다. 그런 다음 마지막으로, 뭔가 마법 숫자를했다. 기본적으로, 당신은 코드를 읽고 말할 때 당신은 변수를 가지고 - 말하자면, 당신은 변수를 가지고 있지만 그냥 좀 말도하지 말고, 때까지 와 같은 미만 10입니다. 그런 다음 학년, 잠깐, 잘 것입니다 그 10 어디에서 왔는가? 그럼 정말 스스로 많은 문제 설명. 당신이 자신을 설명하는 데 도움하려면 의견입니다. 코멘트는 아마에 포함 할 수있는 가장 중요한 것은 아르 당신의 프로그램. 그리고 당신이 실제로 설명하는 데 도움이 - 당신이 가지로 이유를 설명하는 데 도움이 당신은 함께가는거야. 당신이 그렇게한다면 그리고 다시, 그것은 더 쉽게 할 겁니다 귀하의 코드와 가지에 복귀하는 것은 당신이 이해 거기서 뭘. 다시 말하지만, 학년 코멘트를 정말 좋아해요. 그래 당신도 댓글 - 무료 포인트와 같은 종류. 그리고 누가 무료 포인트를 좋아하지 않는 이유는 무엇입니까? 당신은 또한 여러 줄 코멘트를 할 수 있습니다. 그리고 여기 템플릿까지 종류 포함되어 있습니다. 기본적으로, 보통이는 상단에 사용됩니다 의 종류에 프로그램은 일반적으로 설명 어떤 문제 세트는 않습니다. 이름, 날짜, 기타 등등을 포함합니다. 그리고,이 여러 줄 댓글에서 말했다시피, manual.cs50.net/style_guide에 대해 자세히 팁과 규칙이 루프 등등에 대한 스타일. 좋아요. 그래서 지금은 스타일에 대해 조금 얘기 한, 어디 보자 이 일에 작업. 괜찮아요. 그래서 여기, 토미은 우리에게 자넬 무시 무시한를 작성했습니다 프로그램에서 스타일의 예라고 할 수 있습니다. 그래서 당신은 여기 괜찮를 참조하십시오. 이와 같은 사실은 실제로 모든 권리입니다. 여기에서 여러 줄 주석을 참조하십시오. 당신은 슬래시 다음 두 개의 별표로 시작합니다. 당신은 라인을 따라 별표 (**)를 정렬, 함께 계속 그리고 별표와 슬래시로 종료합니다. 괜찮아요. 그럼 그건 괜찮아요. 여긴 괜찮아요. 그는 라이브러리를 포함 있어요. 하지만 이제 그는 여러 줄에 걸쳐 의견이 있습니다. 이 문제가 여러가지가 있습니다. 여러 줄에 걸쳐 의견은 여기에 그가 사용하고 단 한 줄의 댓글에 대한 구문입니다. 그는 또한 같은 코멘트에 모든 것을 융합있어. 그래서 우리는 그렇게하지 ​​않도록하고 싶습니다. 그럼 여기서 우리는이 괄호, 예를 들어, 모든 것을 볼 수 이곳 저곳 이요. 들여 쓰기는 잘못된 것입니다. 정말 definitively 곳 거라도 표시되지 않습니다 시작 그리고 또 다른 한가지는 종료됩니다. 그런 다음뿐만 아니라, 우리는 여기 정의 된 변수 I = 5가 참조하십시오. 그런데이 넷은 어디 선가 뜨고, 더있어 그 출처가 어디인지 정말 설명하기 위해 댓글을 달아보세요. 좋아요. 그래서 지금의이 실제로 동일한 것을 살펴 보자 더 나은 스타일을 제외 코드입니다. 그럼 다시,이 좋은 스타일의 예입니다 여러 줄 예라고 할 수 있습니다. 그리고 여기 아주 깨끗해. 우리는 여기 if 문을 시작하는 볼 새로운 입력 선, 열린 중괄호가 있습니다. 그럼 그 사람은 들여 쓰기되어 있습니다. 그는이 들여 쓰기를 유지 - 그는 전체에 걸쳐이 표시 유니폼을 유지 프로그램 코드의 한 블록이 시작될 때 정말 보여줍니다 때, 코드 한 블록 끝납니다. 이 시작하기 위해 부분에 약간의 nitpicky 것처럼 보일 수 있습니다 로하지만, 귀하의 코드를 작성하는대로 볼 수 있습니다. 그것은이 일을 분리 할 수​​ 있도록 정말 유용합니다. 그리고 다시, 당신의 학년은 그것을 정말 좋아요. 그리고 당신은 대신 번호를 넣어의 참조 거기에, 그는 실제로 변수 반복을 이름. 그래서 우리는 실제로 지금이 코드를보고하지 하지만의 예를보고, 그냥 좋은 대 나쁜 스타일. 여기에서 그들을 나란히 보면 그리고, 그래요 확실히 오른쪽에 하나를 읽을 것을 선호합니다. 괜찮아요. 그럼 마지막 것은 우리는의 실제 고기에 뛰어 들기 전에 pset이 코드를 컴파일하고 실행하는 방법입니다. 그리고 기본적으로 당신이 실제로 아닙니다 C를 쓸 때 실제 기계 코드 0과로 번역 기계가 실제로 읽고 해석 할 수있는 사람. 그래서 우리는 뭔가를 가지고 - 꽝 우리는 C.에 사용하는 컴파일러입니다 많은 컴파일러가 있습니다. 그러나 CS50, 우리는 꽝를 사용합니다. 그리고 꽝는 기본적으로 C에서 컴퓨터에 번역 당신을위한 코드입니다. 다이빙을 어플라이언스에 여기 - 그러니 예를 들어 보자. 괜찮아요. 그럼 지금 우리는 우리의 홈 디렉토리에 있어요. 어떤 코드가 어디 실제로하지 않습니다. 어디, 어디 Dropbox/walkthrough1 우리의 디렉토리를 변경할 수 나는 몇 가지 코드를 저장했습니다. 우리가 혹시을 누르면 그럼, 우리는 내가 갖고있는 것을 알 여기에 파일의 커플. 괜찮아요. 그래서 이미 hello.c 작성한 그러니, 컴파일하자 그리고 그것이 무엇을 참조하십시오. 따라서 기본 컴파일 명령은 다음 hello.c 그 소리 것 기본적으로 괜찮 구요, 저 hello.c 컴파일합니다. 제가 입력을 클릭, 오른쪽 갔을 것 같습니다. 의 다시인가요를 클릭 봅시다. 이 a.out 파일은 이제 나타났습니다. 그리고 a.out이 실행 파일입니다. 따라서 실행하려면. / a.out 해. 그래서 우리는 분명히이 hello.c 프로그램을 볼 수 안녕하세요 다섯 번 만 인쇄됩니다. 괜찮아요. 그러나 우리가 이름 a.out을 사용하지 않으 말한다. 예를 들어, 우리는 인사 프로그램을 실행하려면 그 때문에 쉽게 이해 할 수 있습니다. 따라서 기본적으로 당신이 필요로 다음의는 그 소리를 hello.c의 말을 듣지하고, 플래그라는 몇 가지에 전달합니다. 그럼 괜찮 구요, 잘 나도 다른이 무언가에 이름을하고 싶습니다. 당신은 또한 다양한 플래그의 많은 전달할 수 있습니다 어떤이 표시됩니다. 따라서 프로그램 무언가를 명명에 대한 플래그 당신 이-O 싶습니다. -O 후에는 프로그램의 이름을 써주세요. 그냥 안부를 부르 자. 이제 우리는 실제로 안부 실행 파일을하신 것으로 알고 있습니다. 그래서 우리는 그것을 실행할 수 있으며, 이전과 같은 일을하지 않습니다. 그래서 지금 우리가 인사를 가지고, 우리는 또한 위해 제거 할 수 있습니다 예를 들어, 우리의 a.out. 제거 a.out에 따라서 RM, 터미널이 질문을하라는 메시지가 나타납니다 당신은 당신이 정말로 원하는 여부를 확인하는 방법에 대한 을 삭제하거나 없습니다. 우리는 예에 y를 말한다. 그리고 우리는 간다. A.out은 죽었어. 괜찮아요. 그러나 때때로 모든 기억 혼란됩니다 우리가 포함하고 그 소리를 입력 할 필요가 플래그. 우리가 더 복잡한 프로그램을 사용할 때 우리가 볼 때, 우리끼리 다른 도서관 등의 수. 그리고 꽝에 대한 우리의 명령은 더 이상하고 더 이상 얻을 것이다. 따라서 제조업체 명령은 CS50 어플라이언스에 포함되어 있습니다. 그럼 당신은 간단하게 인사 할 입력합니다. 죄송합니다. 우리는 이미이 실행 파일을 변경했습니다. 그럼 난 그냥 빨리 제거하자. 지금 인사하기가 입력 보자. 그리고 당신은 본질적으로 말하는를 만들 것으로이 줄에 표시 인사는 이러한 명령을 모두 포함이 당신을 위해로 이동합니다. 따라서 제조업체 파일입니다 CS50 어플라이언스에 포함되어 있습니다. 따라서 파일 name.c이 단순히 때 다음 모든 겠지 파일 이름을 말할 수 있습니다. 그리고 당신은 실행해야합니다 그 이름을 가진 파일. 그래? 스피커 1 : 대신 꽝의 내 컴퓨터를 들어, GCC를 말합니다. 그 같은 거죠 - ZAMYLA 짱 : 그래. 따라서 컴퓨터가 꽝로 GCC는 등의 반대라고 할 수 있기 때문에 GCC는 컴파일러의 또 다른 유형입니다. 그건 당신이 CS50 어플라이언스에 있다면, 다음 꽝를 사용해야합니다. 그렇지 않을 경우, 어쩌면 나중에 얘기 좀하자 또는 게시 CS50에 대해 토론하고 우리는 그를 정렬 할 수 있습니다. 괜찮아요. 그래서 지금 우리가 다음 우리 종족 다운 기본 도구를 가지고 마리오에 뛰어 수 있습니다. 좋아요. 그럼 마리오에 우리가가는 본질적으로하는 프로그램입니다 마리오의 원시 버전의 자신의 종류를 만들기 게임 배경. 알다시피, 마리오는 보통 파이프 및이 트리 및 일부 블록 떨어져 있습니다. 그리고 반 피라미드의 것이 있어요. 그럼 우리는 그 반 피라미드에 초점을 받게 될거야 이 종류에 대한 해시를 출력하는 코드가 같은 만들기 이 형식의 블록. 그래서 어떻게됩니까하면 사용자가 입력 특정을 것입니다 피라미드의 높이, 그리고 그를 인쇄합니다 아래의 해쉬 왼쪽 그러한 - 그래서 맨 아래에 여기에 - 하나가 정렬됩니다 터미널의 하단 왼쪽으로. 좋아요. 필요한 있도록 먼저 - 우리가 해결해야 할 첫 번째 작은 미니 문제는 방법입니다 사용자 입력을 할 수 있습니다. 그래서 우리는 처리 할 필요가 사용자가 입력 한 후 이 출력 일인데. 그럼 내가 쓴 apples.c라는 파일을 찾아 보게 둬 그 입력과 출력을 다룹니다. 좋아요. 자, 이제 상단에, 나는 도서관의 일부를 포함 나에게 필요한. 여기에 정말 중요한 하나는 (표준 I / O) stdio입니다. 그 거래 표준 입력 및 출력을하기 때문에 우리는가는거야 사용자 입력 처리 할 수​​. 괜찮아요. 그래서 내 main 함수를 시작합니다. 그리고 난 괜찮아 사용자에게, 당신은 얼마나 많은 사과를해야합니까? 그런 다음 바로 여기,이 줄은 무슨 상관 이죠 - 나는 GetInt의 값으로 변수 i를 지정합니다. 그럼 GetInt는 stdio에 포함되어있는 기능입니다. 그리고 본질적으로, 그 말은 당신을 위해 처리합니다. 이 정수의 사용자하라는 메시지가 표시됩니다. 사람들이 돌아간에, 그는에 할당 될 것입니다 i를 변수. 그리고 다음 단지를 감소 작은 프로그램입니다 일을 기준으로 값 한 다음 새 값을 출력합니다. gedit에 대한 좋은 점은 미니가 있다는 것을 실제로 여기에 터미널 그래. 대신에의 사이에서 앞으로 및 뒤로 전환 할 필요 gedit와 터미널, 당신은 실제로 수 여기에서 실행합니다. 따라서 올바른 디렉토리에 들어가서 첫번째 까. 그러니 우리의 디렉토리를 변경할 수 Dropbox/walkthrough1. 괜찮아요. 그래서 지금은 우리를 들어, 사과를 컴​​파일 보자. 그리고 지금의이 사과를 실행할 수 있습니다. 우리는 얼마나 많은 사과를해야합니까? 나는 3가 있다고 가정 해 봅시다. 그리고 "나는 그들 중 하나를 먹을 mwahaha"라고하는 말 "지금이 사과를." 괜찮아요. 그러니 다시 실행할 수 있습니다. 그리고 우선은 제가 한 사과가 있다고 가정 해 봅시다. 지금은 0 사과 있습니다. 좋아요. 그래서이 프로그램이 예상대로 작동하도록 보인다. 우리는 입력 번호를 말하면 그 다음에 1을 감소하고, 다시 출력합니다. 그런데 예를 들어, 내가 -1 사과를 가지고 있다면 요? 그건 꽤 이해가되지 않습니다. 하지만 여전히 정수이야,이 프로그램을 허용하므로. 그리고 당신에게 더욱 음수를 반환합니다. 그래서 하나의 교훈은 우리에게 그게 비록 GetInt 기능과 같은 다른 관련된 사람들 GetFloat 또는 GetString - 그가 우리에게 올바른 데이터 형식을 얻을 것이다에도 불구을위한 예를 들어, 내가 말했을 경우 [입력] 그때가 다시 시도 할 말 것이다. 그래서이 어떤 데이터가 입력을 입력 처리됩니다 하지만 실제로 확인하지 않습니다, 음, 실제로의 한 유형입니다 제가 원하는 가치? 그럼 마리오의 한 부분은 사용자가 입력해야되는 것입니다 반 피라미드의 높이를 나타냅니다 번호 당신이하신다고. 그리고 다음에 우리가 높이이 사용자에게 메시지를 표시 한 다음하는 경우 이 두 경계가 있어야합니다. 그래? 사양에서는 더 이상 23이 아니어야라고 그 표준의 친절 문자 때문에 터미널의 높이. 하지만, 바인딩 다른 무엇, 아마도 낮은 바인딩 수도 우리는 포함 할? 우리가 실제로 다시 생각의 피라미드, 종류를 그리기 경우 피라미드가 얼마나 높은, 그것은 적이 이하이 될 수도 특정 번호는? 스피커 2 세보다 거대. ZAMYLA 짱 : 응? 스피커 2 세보다 거대. ZAMYLA 짱 : 그게 좋은 점입니다. 그럴 수도 있겠죠 - 우리는 세 수준의 피라미드에 제한 할 수 있습니다. 하지만 그건 생각 - 우선은 너무 피라미드로 한 해시 테이블이 중요처럼 말한다. 그럼 우리 실제 하한 어떻게해야합니까? 다시 사과 생각이, 우리는 필요 없어 부정적인 높이 피라미드. 그래? 좋아요. 따라서 사용자 입력을 요청하면 다음 당신이해야합니다 정수 그되는지 확인하는 몇 가지 방법을 포함 당신은 할 수 없기 때문에 부정적인하지 않습니다와 함께 그들이 당신을 제공합니다 부정적인 피라미드를 그립니다. 좋아요. 따라서이 작업을 수행 할 수있는 몇 가지 방법이 있습니다. 기본적으로 일단 사용자의 입력을 요청하면 요구하려면 그들은 올바른 입력을 제공하는. 그 사람들이 번호를 제공하는 요구하려면 그 부정적인 만 24 미만 없습니다. 그래서 우리는 제로 23, 포괄적으로 다루고 있습니다. 괜찮아요. 그래서 우리는 지속적으로 요구하고 싶어 - 그들이 우리에게 유효한 정수를 입력하지 않은 경우, 그들은 원하는 지속적으로 더를 요구하지. 나에게 유효한 입력을 제공합니다. 나에게 유효한 높이를 제공합니다. 그러니까 스크래치의 기억, 우리는 또는 블록까지 반복했다 차단하면 영원히. 사람들은 매우 동안 루프와 비슷이며 루프 아르 않지만 우리가 두번째로 해 보겠네 루프. 따라서 동안 루프은 본질적으로 확인할 수있는 조건을 갖추고 있습니다 그처럼, 당신이 거기 안쪽에 넣어하는 부울 값입니다 각도와 스크래치에 블록 떨어져 있습니다. 그 동안 루프의 괄호 안에가는거야. 그래서 당신은이 조건의 일부 종류를 가지고해야합니다. 우리가 이전에 논의 때, 그 상태가됩니다 입력 된 된 정수의 범위로 할 수 있습니다. 따라서 조건 여부와 뭔가를 먹고 싶어요 정수는 해당 범위 이내의 거리에 있습니다. 그럼 잠시 동안 루프입니다. 예를 들어, 다음 정수에 대해 묻는 메시지를 수 이 입력이 유효하지 않습니다 동안 지속적으로 확인합니다. 예를 들어, 다시 묻지 계속, 질문을 계속 정수에 대한 사용자. 그래서 하나의 방법이 될 수 있습니다. 루프, 이는 매우 반면 또 다른 방법은 DO 될 수 수행하는 동안 무엇을 제외한 잠시 루프와 유사한입니다 - 당신은 가지 구문으로 볼 수 있습니다 - 처음 한 다음 수행하고 실제 루프 몸을 가지고 있다는 것입니다. 그럼 동안의 조건을 갖추고 있습니다. 그래서 뭐 루프 수행하는 동안 - 무엇을 위해 유용하는 것은 실제로를 실행하는 것입니다 코드는 적어도 한 번 다음 조건이 있는지 여부를 확인 충족 여부. 당신은 루프 동안 다음 내부 DO를 건다면 당신의 예전에테니까 statement 당신은 정수에 대해 묻는 메시지를 수 적어도 한 번 사용자를 부탁해야합니다. 당신이 그들을하라는 메시지를 표시 한 후 그 다음에 당신은 괜찮 말할 수 잘 한번이 과정을 마친 후에는 유효? 이 경우 다음 당신은가는 유지할 수 있습니다. 그렇지 않은 경우, 그럼 그냥 잠시 일반처럼 행동합니다 루프 한 후 요청을 계속. 좋아요. 그래서 우리는 마리오로 돌아 왔습니다. 그래서 우리는 야 올바른 사용자 입력에 대한 프롬프트하는 방법을 알고 오른쪽 범위 내에서. 이제 우리는 실제로이 반 피라미드를 그리해야합니다. 그것은 간단한 텍스트 문자 것 같습니다. 그럼 실제로 열리도록 - 그냥 창을 열고 괜찮한다고 가정 해 봅시다, 잘 어떻게 있다면 실제로 수동으로 할 수있는 것, 하나가 자신을 입력? 좋아요. 그럼 보자. 예를 들어, 말하자, 우리는 야 피라미드를 만들고 싶어 왼쪽 정렬 다음은 할거에요 - 마리오에서, 최상위 레벨은 하나가 아닌 두 개의 블록이 있습니다. 그래서 우리는 두 개의 시작합니다. 우리는 Enter 키를 누릅니다. 우리는 다섯 입력 한 다음 넷 셋을합니다. 좋아요. 그럼 아주 간단합니다. 이 문제 세트의 경우를 제외하고, 우리는 함께 정렬 실제로 원하는 우리 화면의 오른쪽. 괜찮아요. 그럼, 어떻게 중 하나는 실제로이 같은을 입력 할 수 그것은 오른쪽을 따라 정렬 거죠? 대신 먼저 해시를 배정하는 방법은 어떤 종류의 수도 을 따라 이동? 스피커 3 : 한 줄을 쓰기? ZAMYLA 짱 : 응? 스피커 3 : 한 줄을 쓰기? ZAMYLA 짱 : 그래. 그래. 당신은 같은 작성 밑줄거나 같은 수 그래,하지만 우리는 공간을 사용한다고 말할 수 있습니다. 가 여기서 3 대처럼에 넣어 보자. 그런 다음 다음 행은, 그래, 우리는 두 공간을 넣어해야합니다. 다음 행은, 우리는 하나의 공간을 넣어. 그리고 우리의 마지막 줄에, 우리는 공백을 붙이지 않을 겁니다. 그리고 우리는 우리의 피라미드가 있습니다. 그래서 그게 가지 있어요 - 논리의 종류를 기억 해요. 그리고 시도하고 우리가 할 수있는 패턴의 일부 종류를 알아내는 그런 다음 C로 번역 및 루프의 일종에 포함됩니다. 괜찮아요. 그럼 우리가 높이 8 개가 말을 한 다음 첫 번째 행합니다 두 해시. 하지만 그 해시를 얻을, 당신은 몇 가지를 작성해야 미리 공간을 제공합니다. 그래? 제가 한일은 그냥 통과합니다. 난 내 텍스트 편집기에서 직접 찾아 피라미드 그것을 그렸다 여덟 높이 피라미드 한 다음 계산 얼마나 많은 제가 할 필요 공간을 제공합니다. 그래서 그래, 그럼 첫 번째 행이라고 말했다 두 해시를해야합니다. 하지만 그 전에, 입력 칠 공간을 필요. 다음 여섯 공백 후이 세 해시 등등. 그럼 그러자 및 다른 계층이 가져와 추상화. 우리가 니은 번째 행이 있다면, 얼마나 많은 해시하는 방법 우리는 많은 공간을 필요로 하죠? 사람이 패턴을 볼 수 있습니까? 따라서 첫 번째 행은 두 해시가 있습니다. 두 번째는 세가 있습니다. 세 번째 네이 있습니다. 그래서 번째 행합니다 - 스피커 4 : N 플러스 1? ZAMYLA 짱 : 그래. N 플러스 1. 그렇지. 그래서 우리는 해시의 수가 될 것입니다 것을 볼 - 우리가 하나가 될 첫 번째 행을 계산하는 경우, 다음 번호 해시 그 이상 더 될 것입니다. 좋아요. 그래서 어떤 공간의 수는? 그러니 시도 높이의 관점에서이 표현하자. 높이가 첫 번째 한 후, 여덟 경우 행 일곱 공간이 있습니다. 에 해당 너무 그런 8 마이너스 1. 그래? 그래서 두 번째 행이 여섯 공백을 것입니다 것은 어떤은 8 마이너스 2입니다. 그래서 나는 그림 종류의 아웃로에 가볼께요 거기에 패턴. 좋아요. 제로의 그러나 프로그래밍, 가끔 우리는 실제로 색인을 생성합니다. 그래서 우리는 대신 하나의 제로부터 시작합니다. 그래서 그 대신 첫 번째 행을 호출되는 첫 번째 행의, 우리는 0 번째 행 전화 할거야. 그래서 당신이 그것을 구현하고자하는 방법에 따라 수 당신이에서 시작하는지, 제로에서 시작하는지 아주 조심 하나는 자신의 패턴은 하나 상쇄 될거야. 좋아요. 그래서 지금 우리가 가지 프로그램을 알게되자, 우리는 알았다고해야합니다. 따라서 계단 수준의 모든 종류를 위해, 나는 인쇄 할거야 이러한와 공간 등 숫자와 그런 다음 및 해시 이러한 수. 그건 우리가 전에이 설정 한 패턴에 따라 달라집니다. 좋아요. 가는 걸 그렇게 하나를 통해 반복의 방법과 종류 일의 설정 번호를 통해 루프, 가지 등입니다 반복 10 블록이나 같은 반복하면 입력 스크래치를위한 번호입니다. 그래서 본질적으로, 계단의 모든 수준, 우리가 원하는 것 먼저 공백을 인쇄 할 수 있습니다. 그런 다음 해시의 수를 인쇄 할 수 있습니다. 그리고 우리는 새 줄을 입력 한 다음 그것을 반복 할 것 다시 다음 블록. 좋아요. 어느 방법을 살펴 어떤 종류의에 잠깐 루프에 대한 살펴 보자 우리는 일련의 번호를 통해 갈 수 있다는, 숫자 통과 이 반 피라미드의 단계. 따라서 루프에 대해 세 부분으로 구성되어 있습니다. 첫째, 당신은 초기화가 있습니다. 그래서 그런 본질적으로 변수를 설정합니다. 그렇게 값으로 모든 시간을 설정 할거야 그 루프 시작하십시오. 그럼 당신은 조건을거야. 귀하에 대한 루프는 그만큼 오래 실행됩니다 조건은 true로 평가합니다. 그리고 당신은 업데이트 상태를해야합니다. 그럼 그 말은 당신이 초기화되는 변수로 할 수 있습니다. 기본적으로 우리가 탈출 할 수 있도록이 정말 어떤 방법 루프 때문에, 우리는 실행을 계속하지 않습니다 그것은 영원히. 스크래치는 달리, 우리는 실제로이 없기 때문에 일반 영원히 루프. C에서, 프로그램은 결국 완성합니다. 그래서 우리는 몇 가지 방법은 우리가 중지했는지 확인해야합니다. 좋아요. 당신을 위해 사용할 수있는 루프의 예 마리오이 있습니다. 그럼 당신이 0부터 시작하는 나는 정수가 있습니다. 그 동안은 높이보다 한, 당신은 몸을 실행 여기에 내부 루프의. 루프의 몸이 실행 된 후 다음 겠지 1 전을 향상시킬 수 있습니다. 그런 다음 프로그램은 다시 확인해거야 - 그래, 그래, 난 미만입니다 높이? 이 경우 다음 계속합니다. 그래서 여기에 우리가부터 제로 색인을 생성의 예 제로 그리고 우리 - 우리의 조건이 높이보다 적은 것을 확인할 수 있습니다. 따라서 우리의 높이가 예를 들어, 네하다고, 내가 0에서 시작됩니다. 그것은 1 수 있습니다. 이 호텔은 2 개의 수 있습니다. 은 3 수 있습니다. 그리고 일단 루프 업데이트, 내가 언제 업데이트 그런 다음 4로 설정되어 있어야합니다. 그러나 4 이하 4 아니며, 그래서 우리는 겠어 우리 루프의 나머지를 계속합니다. 좋아요. 그래서 그게 제로에서 시작한다. 그러나 우리는 또한 예를 들어, 한 곳에서 시작 수 있습니다. 우리는 한 곳에서 시작 때문에, 우리는 가지 하나 더 가야 마지막에 시간이. 우리가보다 작거나 같 추가 그래서 해당입니다. 그래서 컴퓨터를 좋아하는 위대한 업적 중 하나 프로그램은 너무 많아 일을하는 방법은 여러 가지. 그래서 당신은, 제로에서 시작 여부를 선택하고 있는지 여부를 수 한 곳에서 시작합니다. 당신이 원하는 경우에도, 당신은을 사용할 수 잠시 예를 들어 루프. 그럼 당신은 수 - 실제로 오픈 hello.c 까. 그래서 우리는 여기에 루프에 대한 수 있습니다. 그건 내가 = 0, 나는 <5시에 시작한다. 나는 무엇을 우리 한테 말을 여기에 의견이 있습니다. 이 인사 루프에 대한 사용을 다섯 번 인쇄합니다. 그러나 우리는 또한뿐만 아니라 잠시 동안 루프를 사용하여 그렇게 할 수 있습니다. 그럼 우리가 그렇게 할 수 방법을 살펴 보도록하겠습니다. 우리가 루프에 대한을 모방 할거야면, 우리는 또한 원하는 초기화, 상태 및 업데이트를 모방. 따라서 조건 때문에 꽤 간단합니다 구문 동안 동안 (조건), 당신이 보면, 그것은 말합니다. 그래서 그냥 입력 조건을 보자. 내가 <5. 좋아요. 그래서 우리는 우리가 작별 인사를 인쇄 할 알아요. 우리는 우리의 루프의 바디 걸 알아요. 그러나 우리는 초기화를 누락 및 업데이트, 그렇죠? 우리는 영원히 루프를 가질 수 없습니다 때문입니다. 그것은 종료합니다. 그러니를 사용하여 여기에 초기화의 일부 종류를 추가 할 수 있도록 우리에 대한 루프에서 사용하는 것과 같은, int는 전 = 0. 좋아요. 그래서 우리는 정수 전을 시작합니다. 우리는 내가 미만 5 동안에는로 동안 루프를 반복합니다. 그래서 우리는 업데이트입니다 한 가지를 누락하고 있습니다. 그래서 업데이트 우리는 본질적으로한다면 사용해야합니다 위의 루프의를 재현? 우리는 내가가 0 초기화가 있습니다. 우리는 내가 5보다 작음 조건을 갖추고 있습니다. 그리고 여기, 그렇지 업데이트거야? 그래서 우리는 그렇게 복사하고 싶습니다. 우리는 괜찮아,하고 싶은 말은, 내가 + +. 그건 내가 = 나는 + 1 말과 같은 것입니다. 그러나 너무 자주 사용 된 이후, 속기 그 일에 대한 단지입니다 내가 말을 + +. 좋아요. 좋아요. 여기 사실은 내 사과 프로그램을 종료하지 않았다. 그래서 난 컨트롤-C 그 즉시를 클릭거야 부츠 내 프로그램에서 저와 가져 나 터미널에 백업합니다. 그래서 당신 버그로 실행하는 경우, 예를 들어, 그 귀하의 동안 루프 등 그럴 것 그를 업데이트하는 걸 잊었 종료하고 무한 루프를 입력 한 다음 작업을 수행 할 수 있습니다 그 탈옥하고 제어-C를 사용합니다. 괜찮아요. 그래서 우리가 올바른 디렉토리에 있어요. 그러니 인사 해줄께요. 우리가 안부를 실행하는 경우 그리고, 우리는 작별 인사 루프는 않는 볼 우리를위한 루프와 동일한 것은하지 않습니다. 그럼 그냥 힌트입니다. 더 많은 루프를위한 편안한 또는 든 동안 루프와 함께, 그들은 교환 할 수 있습니다. 중 당신이 과정을 반복하는 데 사용할 한 명은 - 이 경우에 - 마리오 피라미드의 높이. 당신은 제로부터 시작하는 경우 그리고 다시,이 만난 것입니다 당신의 변수에 다음 당신은 다른 할거다 하나에서 시작하는 경우보다 조건. 그래서이 표는, 그냥 너에게 알림을 보여줍니다. 당신은 다음 예를 들어, 10 번 반복하려는 경우 제로에서 변수를 시작할 수 없군. 당신의 상태가 10 미만이 될 수 있습니다. 그리고 그런 당신에게 그 행렬을 보여줍니다. 좋아요. 그래서 우리는 마리오 겪었어요. 우리는 그래, 그럼 우리가 올바른 입력을 확인해야한다고 했잖아 제로 23 포함. 우리는 패턴의 어떤 종류, 방법의 일부 종류를 찾을 수있을 것 니은 번째 행 또는 i 번째 행을 표현. 그리고 우리는 우리가이를 인쇄 가고 있다는 것을, 좋아, 결정 할거야 많은 공간이 많은 해시, 새로운 라인. 괜찮아요. 그래서 우리는 그것을 가지고 있습니다. 이제 우리는 탐욕에 이동할 수 있습니다. 욕심이 사용자가 당신에게 금액의를 제공하는 프로그램입니다 기본적으로 점원 등은 반환해야 현금. 하지만 당신은 가능한 한 작은 동전을 사용하고 싶습니다. 탐욕 알고리즘이 나타나면 어디에 있는지 그리고, 이건 우리는 가능한 동전의 최소 금액을 사용하는 것이 좋습니다 변화의 양을 확인합니다. 좋아요. 솔루션이의 예는 보일 수 있도록 같이. 당신은 실행. / 욕심. 당신은 괜찮 말을하라는 메시지가 잘 변경이 얼마나 빚입니까? 이 값은 달러 가치가 될 것입니다. 그래서 그런 부동거야. 당신의 프로그램은 다음 최소 금액을 계산합니다 , 이번의 경우 엔, $ 0.32를 만들기 위해 필요한 동전의. 그리고 최소한의 네입니다. 거리에 우리가 어떻게해야 할 지 알 전에, 알려 종류 당신이 갈 수있는 과정을 통해. 입력은 32입니다 그렇다면 기본적으로 제가 사용하는거야 나는 많은 사용하는 경우 동전의 최소 금액 가능한 한 큰 동전. 그래? 그럼으로써해야 할 일이 하나 분기를 사용하는 많은 쉽게 5 센트 5에 반대. 의 말 놔, 당신은 $ 0.32를 반환해야합니다. 음,이 안에 25을 사용할 수 있습니까? 그래, 넌 할 수있어. 그리고 당신은 $ 0.07로 감소 될 것이다. 내가 당신을 다시 지불해야 다른 분기를 사용할 수 있는지 봅시다. 아, 아니. 난 그 분기 맞지 않을 수 있습니다. 그래서 다음 큰 동전으로 이동거야. 나는 한푼를 사용할 수 있습니까? $ 0.07도, 당신은 $ 0.07를 지불 할 수있는 단서를 사용할 수 없습니다 수 없습니다. 그래서 당신은 말할 것도 없어요. 니켈 다음에 이동합니다. 당신은 니켈을 사용할 수 있습니까? 예. 세븐 $ 0.05보다 큰, 그래서 우리는 니켈을 사용할 수 있습니다. 그리고 우리는 남은 2 센트 있습니다. 우리는 페니를 사용할 수 있습니까? 그래 우리는 할 수 있습니다. 우리는 다른 동전을 사용할 수 있습니까? 예. 우리는 다른 동전을 사용할 수 있습니까? 이제 우리는 성공적으로이 없습니다 때문에 사용자를 다시 지불. 그리고 그렇게 사용되는 네 동전을 합계. 그래서 우리는 모든 그 과정을 생각 시간이 괜찮 결정 우리가 사용할 수있는 가장 큰 동전은? 일단 우리가 그를 사용하여, 우리는 가지 얼마나 많은의 정신주의를 유지 우리는뿐만 아니라 사용자를 반환 할 필요가 더 많은 돈을 얼마나 많은 동전, 우리가 사용되었습니다. 좋아요. 그럼 다시 한 번, 첫 번째 단계 - 그냥 마리오 같은이 - 메시지가 표시하는 것입니다 화폐 금액에 대한 사용자입니다. 그리고이 금액은이 될거야 - 우리가가는거야 때문 십진수 값을 가지고거야 달러를 부탁드립니다. 그래서 데이터 유형은 정수하지 않을 수 있습니다. 그러나이 될거에요 - 네, 부동. 그러나 단지 사과처럼 수레 긍정적이거나 부정적인 수 있습니다. 그럼 당신은 값을 체크 할 때 원하는거야 귀하의 부동 소수점을 보장하기 위해 - 사용자 입력 - 음수입니다. 좋아요. 우리는 우리의 모든 프로그램에 수레를 다루는 수 대표 0.25의 분기, 기타 등등 0.1에 의해 천. 하지만 난 그냥 순수 센트에 대처하기가 훨씬 더 쉬웠을 찾으십시오. 또한 - 우리는 조금 나중에 얘기 해요 - C에서 부동 포인트는 부정확이라는 게있어. 그래서 당신은 예를 들어, 0.12에 입력, 컴퓨터 실제로 0.1111119 원하는대로 상점이나 그런 일. 그럼 센트로 전환 훨씬 쉬워졌습니다. 그럼 어떻게 우리는 원에 달러 값으로 변환합니까? 스피커 5 : 100 시간을? ZAMYLA 짱 : 그래. 그래. 그래서 우리는 100 배, 그렇지. 그러나 부동 포인트의 장점 중 하나 복잡한 것은,이 일부 부정확입니다. 그러니까 그냥 그 예를 살펴 보도록하겠습니다. 그래서 imprecision.c를 열거야. 좋아요. 이 매우 간단한 프로그램입니다. 이 수레를 요청하고, 그것을 다시 인쇄합니다. 터미널에서 하나의 멋진 팁에 당신은 명확 입력 할 수 있으며, 다음은 명확한 화면을 갖추고 있습니다. 그리고 당신은 이전 출력 또는보고 할 필요가 없습니다 오류 또는 버그 보고서, 뭐 그런. 좋아요. 그러니 부정확를 보자. 한번 실행합니다. 그래서 아무것도 - 내 코드에서, 난 그런 모든 프롬프트 또는 아무런 내용도 출력되지 않았습니다. 그럼 그냥 점멸 커서가 있습니다. 그래서 그냥 입력 수레를하기를 기다리고있어. 그래서 자 - 임의의 부동. 그리고 당신은 다시 인쇄하지만 일부 추가이 있다는보고 우리가 확실히 포함하지 않은 숫자. 그래서 우리는하지 않습니다이 있는지 확인하려면 우리 프로그램에서 발생합니다. 그럼 우리가 뭘 원하는지 확실히 우리 실제로시키는 것입니다 가지 적절한 값으로 반올림. 그래? 그리고 다행히, 우리는 원형 포함이라는 기능이 어플라이언스 인치 이 수학 라이브러리에 있습니다. 당신이 라운드를 사용하는 방법을 알고 싶다면, 당신은 실제로 사용 사용 설명서. 당신은 사람이 라운드를 클릭 할 수 있습니다. 그럼 여기서이 나타납니다 - 결국 해독에 약간 어려울 수 있지만, 수 당신이시킨대로합니다. 이 종류의 몇 가지 다음 함수가 무슨 상관을 보여줍니다 그 가능한 사용. 당신은 결국에서 적절한 유효한 입력을 언제 사용자가 다음은 센트로 변환하고 싶습니다. 당신이 이것을 피할 수 있도록이 값을 반올림 있는지 확인 포인트 부정확을 떠. 좋아요. 그래서 우리는 금융 금액에 대한 사용자하라는 메시지가 표시했습니다. 이제 우리가 원하는 것을 근본적으로 바로 확인합니까? 좋아, 내가 가능한 가장 큰 동전을 사용할 수 있습니까? 할 수 있다면, 당신은 그것을 사용합니다. 당신은 지금까지 사용한 얼마나 많은 동전을 추적하고 또한 감소 금액입니다. 그래? 그리고는 확인거야. 일단 숙소를 소진의 종류를 한 후에는 가고 싶어 다음 가능한 일이 있습니다. 루프의 따라서 어떤 구조 또는 어떤 종류의 우리 수도 계속 우리가 여전히 사용할 수 있는지 여부를 확인하는 데 사용할 분기 예를 들어? 스피커 6 :보다 큰 동안 값이? ZAMYLA 짱 : 네, 좋아요. 그렇지. 그래서 한동안 값보다 큽니다. 그래서 우리는 다시 돌려해야하는 값이있는 동안 우리가 아직 분기 사용할 수 있습니다 반면, 4 분의 1 이상 큰, 분기를 사용합니다. 그을 추적합니다. 그리고 가보 거라. 좋아요. 좋아요. 오, 난 그냥 인쇄하는 방법에 단지 몇 가지 도움말을 포함 아웃 값입니다. 그러므로 printf 함수에서, 우리는 보통 있었어요 단지 문자열 처리. 하지만 당신은 정수 또는 모든 유형의를 인쇄 할 때 숫자, 당신은 장소 홀더의 종류를 작성의 정도 있습니다. 그래서는 정수에 대한 %에 % d 개로 표시있어. 당신은 나중에 실제로드립니다 다음, 그 말을 새겨합니다 - 쉼표 뒤에 - 실제로 거기에 가면 어떤 값을 넣어. 맞아. 좋아요. 그래서 우리는 우리가 여부를 확인하려는 결정했습니다 - 이 일을하는 방법 중 하나는 지속적으로 확인하는 것이다 여부 우리는 여전히 유지 분기를 사용하여 다음 분기를 사용하여 수 추적하고 다음 가장 큰 값을 이동합니다. 이제이 작업을 수행 할 수있는 깔끔한 방법의 또 다른 종류이다 연산자 모듈로 사용. 그래서 우리는 이미 플러스, 마이너스, 곱하기 및 나누기가 우리에게 사용할 수 있습니다. 그러나 모듈로 연산자는 단정 종류의 것입니다. 그게 무슨 상관 실제로 당신의 나머지를 반환 숫자 두 개를 나누어. 시간이 오래 부문에 기억한다면 당신이 찾을 줄 때, 말 3 분할 74 일, 당신이 그것을 작성할 수, 이월 뺄셈, 그리고 끝에서 맨 아래에있는 번호입니다 나머지. 음, 모듈로는 무엇을 실제로 당신을 것을 제공합니다. 74 그래서 모듈로 3 당신에게 2 줄 것이다. 어떤이 없기 때문에 마찬가지로, 10 모듈로 2 당신에게 공을 제공합니다 나머지가 2로 10 나눌 때. 6 모듈로 5 잘 오는 6 일 시간에 들어가서 가 1 남아있다. 당신이 7 모듈로 9가있는 경우 다음 잘 9 7보다 큰 수 있습니다. 그럼 다른 시간을 갈 수 없어. 그럼 리턴 값은 7입니다 의미합니다. 당신은 모듈로 생각한다면 그럼, 어떻게 당신에게 나머지를 제공합니다 당신이 뭔가를 나누어 후 볼의 종류 수있는 방법 탐욕, 오른쪽에 사용할 수 있을까요? 당신은 가지 부문으로 아마도 모듈로 결합면 연산자 그런 일을 한 다음 당신은 멋진이있을 수 문제 세트를 접근 할 수 mathy 방식의 일종. 이제 우리는 서로 다른 몇가 알고있는 우리가 할 수있는 방법 - 많은 확실히있다 다른 방법으로는 동안 루프를 쓸 수 없습니다. 그래서 여기 의사를 서면으로 작성했습니다. 당신의 뼈대의 종류와 일치하지 않을 수 있습니다 당신이 작성하는 코드. 그러나 본질적으로, 사고의 과정과 방법입니다 우리가 논의대로. 그래서 일단, 첫 번째 줄은 일정 금액을 얻을 말하고있는 달러 인치 그리고 암시 센트에가 변환됩니다. 분기를 사용하실 수 있습니다 다음, 우리는 원하는 수를 늘리십시오. 그리고 우리는 양,이 값이 감소 할 우리는 다시 돌려드립니다. 당신이 여기서 보는 바와 같이, 꽤 C.되지 않습니다하지만 또한 왔어요 물건을 들여 쓰기, 나는 안에 내 조건을 넣어 괄호. 그래서 그런 날이 시작됩니다. 그리고 나중에, 난 그냥 구문을 찾아 볼 수 있습니다. 종종 문제에 대해 정말 어려운 부분은 다음과 같습니다 당신이 할 필요가 정확히 알고 있습니다. 일단 당신이 내려 쓰기 다음은 다음에 많은 쉽게 의사로 번역. 그리고 의사의, 문법은 꽤 쉽게되어 있습니다. 그래서 우리는 수를 증가 분기가 사용할 수있는 동안 볼 수 양을 줄이십시오. 천를 사용할 수 있지만, 그럼에 따라서 수행 등 저런 때까지 귀하의 동전을 모두 소진했습니다. 당신은 것입니다 사용하는 동전의 수를 인쇄 사용자를 만들 최소 금액은 값이 입력 된. 그리고 당신은 욕심쟁이 알고리즘을 갖추고 있습니다. 당신이 완성되면 그 다음, 당신은 또한 pset 0 마쳤습니다. 사람이 뭔가에 대해 문의 사항이 있습니까? 괜찮아요. 음, 난 당신이 경우 이후에 약간에 얼굴을 내밀지합니다 질문. 이 연습 한이었다. 와 주셔서 감사합니다.