본문 바로가기

반응형

프로그래밍, 쉽게 배워보자

(17)
테이블/ 레코드/ 포인터 테이블(table) 전화번호부를 생각하시면 됩니다. 변수가 단 하나의 데이터값을 담기 위한 상자라면, 배열(array)은 서로 같은 종류의 데이터 묶음 여러개를 보관하는 상자들의 묶음이라 말씀드렸는데요, 테이블은 종류가 다르지만 관련된 데이터를 하나로 모은 묶음을 말합니다. 아래 그림이 테이블의 예인데요, 한 행당 한 명의 데이터묶음은 레코드라 부릅니다. 그리고 각각의 개별 정보는 멤버라고 합니다. 테이블 활용 방법 첫째, 테이블을 이름을 선언하고 둘째, 멤버명을 선언합니다. 셋째, 각 멤버에 넣는 데이터 종류(data type)을 선언합니다. 그러면 새로운 데이터형 설계도가 프로그램에 등록됩니다. 가령 테이블 이름을 baby라 지었다면, 프로그램에 새롭게 'baby형'이라는 데이터형의 설계도가 등록됩니..
배열 배열(array) 데이터를 넣을 때 일일이 변수를 선언해야 합니다. 변수란 '데이터를 보관하는 상자'와 같다고 말씀드렸는데요, 만약 데이터의 종류나 수가 많아진다면 일일이 변수 이름을 만들어 선언하는 것은 보통일이 아닙니다. 이럴 때 같은 종류의 데이터끼리 묶어 한 번만 선언한다면 무척 편리할텐데요, 이렇게 같은 종류의 데이터마다 0부터 순서대로 번호를 매겨 묶음 전체에 하나의 이름을 붙인 것을 배열(array)이라고 합니다. 예를 들어 1반 학생들의 수학 점수 평균을 내고 싶을 때, dat, total, answer 의 세 가지 변수명만 선언하면 됩니다. 그러면 학생들의 점수를 보관하는 상자에는 자동으로 1, 2, 3...라는 번호가 자동으로 부여됩니다. 이때 이 상자들 인에는 같은 종류의 데이터, 같..
무한루프와 반복의 중첩(네스트) 무한루프 '오후 1시까지 크리스마스카드를 쓴다.' 는 명령을 실행한다고 가정해 봅시다. 여기에서 크스리스마스카드를 쓰는 행위는 반복(루프) 명령에 해당합니다. 그런데 반복 횟수가 정해지지 않는 명령에 해당합니다. 이럴때 조건문은 '오후 1시까지'가 됩니다. 논리 흐름도를 만들어 보면 위 그림처럼 만들어질텐데, 앞의 것을 '선조건판단', 뒤의 것을 '후조건판단'이라 합니다. 그런데 조건판단문을 만들 때 주의할 점이 있습니다. 반복하는 횟수가 정해져 있을 때, 반복횟수를 세는 카운터를 "카운터의 값이 □□에서 □□사이" 라는 횟수를 지정해 조건문을 달게 됩니다. 보통은 카운터 횟수를 한 번 실시할 때마다 숫자가 하나씩 올라가는 것이 일반적이지만, 프로그래밍언어 중에는 카운터 횟수를 세는 숫자가 하나씩 증가하..
반복구조(루프구조) 컴퓨터에게 '1을 다섯번 더하시오' 라는 명령을 내릴 경우, 1. 0+1을 A에 넣으시오. 2. A+1을 B에 넣으시오. 3. B+1을 C에 넣으시오. 4. C+1을 D에 넣으시오. 5. D+1을 E에 넣으시오. 하지만 이것을, '바로 앞의 답에 1을 더하는 일을 다섯번 반복하시오'라고 명령하면 훨씬 간단해집니다. 이렇게 같은 논리로 반복해서 실행하는 구조를 반복구조, 반복구조를 모식도로 그리면 마치 갈고리처럼 생겼다하여 루프구조라고 합니다. 예를 들어, '코끼리코 모양을 한 채, 제자리에서 열바뀌를 뱅뱅 돈 후, 제기차기''를 하는 게임이 있습니다. '뱅뱅 맴돈다.' 라는 동작을 할 때, 1, 2, 3 ... 숫자를 샌다. 컴퓨터가 같은 일을 정해진 숫자만큼 실행할때마다 1, 2, 3 숫자가 하나씩 늘..
조건판단 구조와 비교하기! 만약~라면 1. 만약 비가 온다면, 2. 부침개를 만들어 먹는다. 3. 만화책이나 소설책을 읽는다. 4. 청소를 한다. * 2~3번의 부분이 들여쓰기되어 있다는 점에 주의하시길. 들여쓰기를 하면 그 부분이 '만약' 구조문의 일부분임을 한 눈에 알기 쉽습니다. 만약~라면..., 그 이외의 경우는 '내일은 책을 읽자. 만약 비가 오면 부침개를 만들어 먹고 책을 읽자구. 그렇지않으면 청소를 하고 책을 읽자.'도 조건판단구조입니다. '만약'이 많을 때 1. 만약 아이디어 시상식에서 1등이면, 2. 상금 1억원을 받는다. 3. 만약 아이디어 시상식에서 2등이면, 상금 7천만원을 받는다. 4. 만약 아이디어 시상식에서 3등이면, 상금 5천만원을 받는다. 5. 모두 다함께 모여 축하 파티를 한다! 조건판단의 중첩 '..
프로그래밍의 흐름 컴퓨터의 제어 구조 : 컴퓨터가 일을 하는 순서를 결정하는 구조. 1. 위에서부터 순서대로 실행한다 - 순차실행 2. 조건을 판단해서 일의 순서를 변경한다 - 조건 판단 3. 동일한 일을 반복해서 실행한다 - 반복 점프 명령을 사용할 때도 있습니다. 예를 들어 프로그램 실행 도중, 에러 발생시 '만약 에러가 검출되면, 에러용 명령으로 점프하시오.' 라는 처리를 실행시키는데요, 이 에러용 명령은 일반적으로 프로그램의 가장 마지막에 기술합니다. 무슨 말인지 잘 모르시죠?^^ 실망마시길~ ... 순차실행 컴퓨터의 명령을 실행할 때는, 아~주 쉽고 자세하게 순서대로 차근차근 말해 줘야 컴퓨터가 혼란을 겪지 않아요! 순서대로 차근차근, 바로 순차실행을 의미합니다. 예를 들어, '청소하라'는 명령을 실행하기 위한 ..
프로그래밍 기초 용어! 자, 이제 프로그래밍 언어가 어떻게 생격먹었는지 살펴 볼까요? 아래는 프로그래밍 언어 중, C언어를 예로 들어 보겠습니다. 우리가 자판으로 문자를 전송한다 할지라도, 컴퓨터는 기계어(2진수로 된)로 이 정보를 이해하는데, 우리가 기계어를 자유롭게 조작할 수 있다면 프로그래밍 언어는 필요없을 것입니다. 더욱 심각한 문제는, 이 기게어 또한 모든 컴퓨터의 공용어가 아니라는 사실. 그 복잡한 기계어를 익힌다해도 컴퓨터를 바꾸면 무용지물이 될 것입니다. 그래서 만들어진 것이 프로그래밍언어입니다. 우리가 프로그래밍언어로 컴퓨터에 명령을 내리면, 이 '언어'를, 컴파일러나 인터프리터라는 '번역 프로그램'이 기계어로 번역해 줍니다. 자, 이제 프로그래밍 언어가 어떻게 생격먹었는지 살펴 볼까요? 아래는 프로그래밍 언어..
컴퓨터는 어떻게 숫자를 세고, 문자를 표현할까? 컴퓨터는 어떻게 숫자를 셀까? 1. 우리는 10단위로 숫자를 셉니다. 이것을 십진법이라고 합니다. 하지만 엿날옛적, 일부 고대 문화권에서는 2개 단위로 숫자를 묶어 센 적이 있습니다. 이것을 이진법이라 하는데요, 컴퓨터는 이 2진법 즉 2진수를 사용합니다. 2. 2진수란: 0과 1, 단 두개의 숫자만을 사용하는 수입니다. 그래서 2진수라고 부릅니다. 아래는 2진수를 0부틔 15까지 나열해봅니다. 여러분이 보기 편하시도록, 가로안에 십진수를 써보겠습니다. 0, 1, 10(십진수의 10이 아닙니다. 이진수에서는 2입니다), 11(십진수의 3), 100(4), 101(5), 110(6), 111(7) 1000(8), 1001(9), 1010(10), 1011(11), 1100(12), 1101(13), 111..

반응형