부스트코스(Boostcourse) CS50 2주차 심화 과정 💎 생각해보기
2021. 1. 19. 03:00
스터디&교육/부스트코스 CS50 2기
2주차 C언어 심화 과정에 대한 내용이다. 문제는 저작권상 적지 않았고 내가 작성한 코드만 정리하려고 한다. 📌 문제 1 간단한 연산문제와 조건문을 적절히 사용하면 쉽게 해결할 수 있는 문제였다. 나는 반복문을 통해서 재고가 소진될 때까지 주문할 수 있게 만들어보았다. 그리고 글씨에 색을 넣어 입력하는 부분과 재고가 부족할 때, 재고가 소진되었을 때를 강조해주었다. #include #include int main(void) { int stock = 0; // 재고량 int price = 0; // 물품 가격 int order = 0; // 주문량 double vat = 0; // 부가세 double priceWithVat = 0; // 부가세 포함 물품 가격 double priceForOrder = 0;..
부스트코스(Boostcourse) CS50 2주차 C언어 - 문자열
2021. 1. 15. 00:59
스터디&교육/부스트코스 CS50 2기
부스트코스 cs50 c언어 문자열에 대한 강의를 듣고 정리하려고 한다. 지난 강의에서는 C언어 기초인 기본 문법과 사용법에 대해서 공부했었다. 이번 글에서는 C언어에서 문자열을 다루기 위해 어떻게 사용하는지에 대해서 알아보았다. 이번 강의에서는 사용자로부터 문자열을 입력받고 다른 문자열과 합쳐서 출력하는 프로그램에 대해 설명해주고 있다. 문자열 입력 스크래치에서는 ask 란 블록과 say 라는 블록을 합쳐 문자열을 입력받고 말하는 기능을 만들었었다. 그럼 ask 블록과 같이 문자열을 입력받아 say 블록과 같이 문자열을 출력해주는 프로그램을 만들어보자. 지난 시간에 say 블록은 printf 라는 함수를 통해 문자열을 출력해주었다. 그래서 printf 를 통해 hello, world 라는 문자열을 출력해..
부스트코스(Boostcourse) CS50 2주차 C언어 - C 언어 기초
2021. 1. 13. 19:52
스터디&교육/부스트코스 CS50 2기
부스트코스 CS50 2주차 C언어 기초 강의를 듣고 정리하려고 한다. 1주차에서 알려준 스크래치를 사용해서 간단한 프로그래밍을 해볼 수 있지만 텍스트 기반의 프로그래밍 언어를 통해 컴퓨터에게 동일한 일을 하게할 수 있다. 많은 프로그래밍 언어 중 하나인 C 언어에 대해서 알아보는 시간이었다. C 언어 C 는 아주 오래되고 전통적인 순수 텍스트 기반의 언어이다. C 와 같이 프로그래밍 언어는 구체적인 문법(Syntax)를 사용해서 프로그램을 작성해야 한다. 따라서, 문법을 정확하게 사용하지 않으면 에러가 발생한다. 강의에서는 C 에 대한 설명을 위해 스크래치에서 진행했던 실습을 통해 예를 든다. "hello, world" 라는 문구를 출력한다. 스크래치 언어와 C 언어를 통해 비교해보자. "초록색 깃발을 ..
부스트코스(Boostcourse) CS50 1주차 심화 과정 💎 생각해보기
2021. 1. 13. 19:52
스터디&교육/부스트코스 CS50 2기
1. 컴퓨터는 왜 사람이 사용하는 수 체계와 다른 2진수를 사용하게 되었는지, 그리고 왜 기술이 진보한 지금까지도 2진수를 사용하고 있을지 조사와 논의를 통해 정리해봅시다. 컴퓨터는 사람과 달리 정보를 표현하고 이해하는 방식이 다르다. 사람은 자유로운 표현이 가능하지만 컴퓨터는 ON 또는 OFF의 2가지 형태의 전기적 신호를 통해 표현한다. 전기적 신호가 있을 때 1, 없을 때 0으로 표현하기 때문에 2진수를 사용하는 것이다. 그럼 3진수, 5진수를 사용하면 안되는지에 대한 의문을 가질 수 있다. 예를 들어 3진수를 사용한다고 생각해보자. 컴퓨터는 수많은 트랜지스터를 통해 0 또는 1로 표현한다. 만약 3진수를 사용한다고 하면 트랜지스터를 통해 3가지의 표현을 할 수 있어야 하고 더 많은 표현을 해주어야..
부스트코스(Boostcourse) CS50 1주차 스크래치 기초 및 심화 정리
2021. 1. 10. 15:51
스터디&교육/부스트코스 CS50 2기
알고리즘을 만들기 위해 여러가지 프로그래밍 언어를 사용할 수 있는데 이 강의에서는 그래픽 프로그래밍 언어인 스크래치를 사용해서 설명해주고있다. 스크래치 언어는 알고리즘을 구성하는 여러 블록이 있고 블록을 사용해서 알고리즘을 만드는 것이다. 해당 사이트에 접속해서 직접 사용해보면서 실습해보면 더 쉽게 이해할 수 있다. scratch.mit.edu/ Scratch - Imagine, Program, Share Scratch is a free programming language and online community where you can create your own interactive stories, games, and animations. scratch.mit.edu 아래의 강의를 보면서 따라하다보면 ..
부스트코스(Boostcourse) CS50 1주차 컴퓨팅 사고 - 알고리즘
2021. 1. 8. 21:14
스터디&교육/부스트코스 CS50 2기
CS50 1주차 컴퓨팅 사고 - 알고리즘에 대한 강의를 듣고 정리하고 또 추가적으로 공부한 내용을 정리하려고 한다. 컴퓨터에 정보를 입력하고 어떻게 정보를 표현하는지 배웠다. 그러면 컴퓨터는 어떻게 입력한 정보를 처리해서 출력을 하는 것인지 궁금해진다. 컴퓨터가 처리하는 과정은 우리가 일상 생활에서 다양한 문제를 처리하는 방식과 비슷하다고 한다. 컴퓨터는 순서대로 필요한 동작을 하며 문제를 처리하는 데, 이를 알고리즘이라고 한다. 알고리즘 | Algorithm 그럼 알고리즘에 대해서 알아보자. 컴퓨팅은 입력을 받아 그 입력을 처리한 후 출력하는 과정이다. 알고리즘은 입력에서 받은 자료를 출력 형태로 만드는 처리 과정을 뜻한다. 입력(Input) → 알고리즘(Algorithms) → 출력(Output) 따..
부스트코스(Boostcourse) CS50 1주차 컴퓨팅 사고 - 정보의 표현
2021. 1. 8. 20:09
스터디&교육/부스트코스 CS50 2기
CS50 1주차 컴퓨팅 사고에 대한 강의를 보고 내용을 정리하고 공부한 내용을 추가해서 정리하려고 한다. 컴퓨터는 다양한 정보를 처리해준다. 간단한 숫자부터 문자, 사진, 영상, 음악 등 정보를 표현하는 형태는 매우 다양하다. 컴퓨터는 어떻게 이러한 다양한 정보들을 처리해줄 수 있을까? 지난 강의에서 컴퓨터가 스위치(트랜지스터)를 통해 ON/OFF 로 숫자를 표현한다고 했다. 그럼 문자는 어떻게 표현할까? 문자를 숫자로 표현할 수 있도록 정해놓은 약속(표준)이 있다. 설명미국정보교환표준부호, ASCII (아스키코드 / American Standard Code for Information Interchange) 이다. 아스키 코드에 대한 자세한 설명은 아래에서 확인해볼 수 있다. ko.wikipedia.o..
부스트코스(Boostcourse) 1주차 컴퓨팅 사고 - 2진법, 비트, 바이트
2021. 1. 8. 19:18
스터디&교육/부스트코스 CS50 2기
CS50 1주차 컴퓨팅 사고에 대한 강의를 보고 내용을 정리하고 공부한 내용을 추가해서 정리하려고 한다. 이번 강의에서는 우리가 일상적으로 사용하는 컴퓨터는 어떤 원리로 동작하는지? 우리가 컴퓨터를 사용하여 해결하는 여러 일들은 어떻게 가능한건지? 컴퓨터 과학이 무엇인지, 컴퓨터가 작동하게 하기 위해 어떤 약속들이 필요한지 알아보는 시간이었다. 컴퓨터 과학 | Computer Science 컴퓨터 과학은 "문제 해결에 대한 학문" 이다. 문제 해결은 입력(input)을 전달받아 출력(Output)을 만들어내는 과정이다. 입력(Input) → 컴퓨터 과학 → 출력(Output) 2진법 그럼 어떻게 입력(Input) 을 받아서 컴퓨터를 통해서 출력(Output)을 해주는 것일까? 여기서 2진법에 대해서 알 ..