이제 여기까지 내용을 소화했다면 자바스크립트로 간단한 추측게임을 만들 수 있는 수준까지 근접하셨습니다. 그러나 그전에 난수를 생성할 줄 알아야 합니다. 난수는 아래 코드를 이용해 만들 수 있습니다. Math.random() 아래 코드를 이용해 실행할 수 있습니다. document.getElementById("my-div").innerHTML = Math.random() 위 코딩을 작성해서 실행해 보겠습니다 결과값입니다 세번을 연속실행해봤는데 무작위로 매번 각각 다른 결과가 나왔습니다. 온라인복권추첨도 이 난수기능을 이용해서 실행된다고 합니다. 메인리스트로 가기
while 문도 중요하지만 for문도 많이 사용됩니다. 같은 기능을 하지만 구조가 약간 다릅니다. 아래 코딩은 for문으로 코딩한 예입니다. 밑줄친 부분은 while문에서 for문으로 바뀐 모습입니다. while 루프와 달리 for문에서는 루프관련 모든 정보가 한 줄에 들어갑니다. 이번 경우 숫자 변수는 'i'라고 설정되었습니다. 그리고 이 변수는 보시는 것처럼 1에서 부터 시작됩니다. 한번에 1씩 증가하고 i가 50보다 작거나 같은 한도에서는 계속 반복됩니다. 효과는 while루프와 똑같이 일치합니다. 어떤 것을 사용할지는 문법에 대한 개인 기호에 달려 있습니다. 위 루프의 결과는 아래와 같습니다 메인리스트로 가기
데이터란 다양한 정보를 표현한 것이다. 여기서 '다양한'에 주목해야 한다. 데이터는 종류에 따라 그룹화할 수 있습니다. 음식 요리법을 예로 들어 다음과 같이 그룹화(type)할 수 있습니다. 메인리스트로 가기 재료 돼지고기 소고기 양파 양배추 조미료 간장 마요네즈 후추 설탕 등 분량 100g 200cc 1작은술 등시간 시 분 초불의 세기 센불 중불 약불 프로그래밍 알고리즘에서 다루는 데이터도 다양한 그룹으로 나누어서 다룹니다. 이러한 분류를 '데이터타입'이라고 합니다. 정수타입 정수(소수점이 없는 값) 를 처리하기 위한 데이터 타입 예) 0, 1, 100, -123실수타입 실수(소수점을 포함한 값)를 처리하기 위한 데..
데이터의 속성에 대해 알아보겠습니다. 데이터란 다양한 정보를 표현한 것입니다. 요리에 비유한다면 아래의 모든 내용은 요리법이라는 알고리즘을 표현하기 위한 데이터라고 할 수 있습니다. 요리의 재료와 조미료의 양돼지고기 120g당근1/2개설탕 1큰술간장 2.5큰술양파 1/2개감자 2개맛술 2큰술 프로그램의 알고리즘에서도 문제해결을 위한 프로세스를 설명하기 위해 다양한 데이터를 이용합니다. 예를 들어 아래의 각각의 알고리즘을 표현하는 경우 필요한 데이터는 다음과 같습니다.최대공약수를 구하는 알고리즘최대공약수를 구하는 2개의 정수값구한 최대공약수(정수값)정보의 순서를 정렬하는 알고리즘정렬할 값이 담긴 열정렬값의 개수정렬된 결과가 담긴 열 이렇게 알고리즘을 고안할때는 다양한 정보가 필요합니다. 이러한 정보..
프로그래밍에서 프로그램을 효율적으로 작성하고 오류를 최소화하기 위한 것으로 '구조적 프로그래밍'이라는 개념이 있습니다. 구조적 프로그래밍에서 프로세스의 흐름은 다음 3가지 구조를 조합해서 설명됩니다순차구조 >>> 작성된 순서대로 순차실행한다선택구조 >>> 조건에 따라 수행할 작업의 흐름을 바꾼다반복구조 >>> 조건이 일치하는 동안일정과정을 반복해서 실행한다 처리의 흐름을 설명하는 알고리즘 역시 이 3가지 구조의 조합으로 설명됩니다 이 내용은 모두 책 '그림으로 배우는 알고리즘'에서 가져온 것입니다 출처 : 그림으로 배우는 알고리즘 - 예스24이 책은 알고리즘과 프로그램이란 무엇인지부터 시작하여 프로그래밍의 기초인 변수와 배열, 여러 개의 데이터를 저장하기 위한 자료구조에 대해 알려준다. 기초적..
누구나 좋아하는 요리를 만들 수 있는 요리법은 많은 많은 사람이 이용하게 되고 '좋은 요리법'으로 인정받게 됩니다. 이렇게 음식요리법은 맛있는 요리를 만들기 위한 '선인의 지혜'기 담기고 쌓인 결과입니다. 알고리즘도 같습니다. 컴퓨터가 등장한 이후, 주어진 과제를 컴퓨터로 해결하기 위해 다양한 처리절차가 고안되어 왔습니다. 또한 많은 연구자들이 보다 일반적인 처리 절차가 없는지, 더 빠르게 처리를 할 수 없는지, 더 데이터 양을 낮출 수는 없는지 등을 고려해 알고리즘들을 개량해왔습니다. 그 결과 개량된 알고리즘들이 좋은 알고리즘으로 남게 되었고 많은 프로그램에서 사용되고 있습니다. 좋은 알고리즘은 프로그램을 작성할 때 본보기가 됩니다. 그러므로 알고리즘 학습은 좋은 프로그램을 만들기 위한 이정표와 ..
새롭게 알고리즘에 대해 알아보겠습니다. 어렵지 않게 정의와 개념부터 부담없이 접근해보겠습니다. 알고리즘을 이해하고 있다면 우리는 프로그램을 멋지게 작성할 수 있습니다. 더 효율적이고 정확한 문제해결이 가능한 프로그램을 만들 수 있게 됩니다. 알고리즘이란 컴퓨터를 이용해서 주어진 과제를 해결할 수 있는 처리절차를 말합니다. 그 절차를 예를 들어보자면 정보의 순서를 정해 나열하고 원하는 정보를 검색하며 몇개의 숫자들의 최대공약수를 구하는 것과 같은 것입니다. 이과정에의 '처리절차'를 알고리즘이라고 합니다. '문제해결을 위한 처리절차'라고 말할 수 있습니다 음식을 만드는 레시피도 음식을 만드는 과제를 해결하기 위한 방법을 순서대로 기록한 것이며 일종의 알고리즘이라고 할 수 있습니다. 블로그..
자바스크립트 반복문 루프에 대해서 연습해 보겠습니다 루프는 동일한 행위에 대해서 반복하는 것입니다 (여기서는 while문을 이용합니다) 구글은 검색결과를 보여주기 위해 '루프'를 사용합니다. 소프트웨어 중 루프기능이 들어 있지 않은 것은 없다고 봐도 됩니다. 이제 루프반복문을 이용한 코드를 작성해 보겠습니다. 기존의 모든 코드를 삭제하고 ' numbers'를 아이디로 비어있는 div를 넣습니다. 웹페이지에 1부터 50까지의 숫자를 출력하는 간단한 루프를 만들어 보겠습니다. 루프를 돌리게 되면 해당숫자의 값이 일정범위 내에서 바뀌면서 입력되는 '변수'가 필요합니다. 변수라는 것은 숫자나 일정한 문자를 담는 도구라고 보시면 됩니다. 변수는 'var'로 표시합니다. var number = 1 ..
'what is your name?' 이라는 텍스트와 텍스트 입력박스, submit버튼을 웹페이지에 만듭니다. 그런 다음에 사용자가 자신의 이름을 입력하면 'Hello [이름]!'이라는 텍스트가 페이지에 출력되도록 구성요소를 추가합니다. (이 내용을 수행하려면 사용자의 이름과 자신이 설정한 텍스트를 결합해야 합니다 아래처럼 할 수 있습니다) "Hello" + document.getElementById("name").value + "!" + 기호는 앞과 뒤의 요소를 사슬과 같이 연결시켜줍니다. Hello와 텍스트 박스의 값 그리고 !를 함께 결합합니다. 그러면 이내용을 코딩으로 구현해 보겠습니다. 항상 코딩의 논리적인 흐름을 반복해서 연습하세요 이 코딩을 실행하면 결과는 아래처럼 됩니다 ..
지금까지 사용자에게 정보를 알려주고 소통하기 위해 팝업창을 이용했습니다. 그러나 이제 페이지 자체 빈문단에서 메시지를 보여 주는 기능을 구현해 보겠습니다. 웹페이지에서 모든 코드를 삭제하고 아래의 내용대로 코딩을 작성합니다. 'my-paragraph'라는 아이디로 빈문단을 넣고 클릭했을때 'that was easy'라는 내용을 보여주는 팝업창이 뜨도록 버튼을 추가하라 이제 이정도는 쉽게 느껴져야 합니다. 아직도 어려우시다면 앞의 내용들을 반복해서 숙지하시기 바랍니다. 위 상자안의 내용을 코딩해 보겠습니다. 'my-paragraph' 만든다는 것은 글자가 들어갈 공간을 미리 정의해 놓은 것(만들어 놓은 것)이고 여기에는 아무것도 아직 입력하지 말고 버튼을 만들어 그 버튼을 클릭했을때 팝업창에 위의..