20210913 js 실습예제 ~ 배열
1. 실습. 아래의 코드를 확인하고 ? 에 들어갈 조건식을 작성하도록 하시오.
<script type = "text/javascript">
var n1 = 10;
var n2 = 0;
if(n1>n2){
n2 = 10;
}
console.log(n1, n2, '둘다 10의 결과가 나왔다');
//변수 n1 ~ n4
var n3 = 10;
var n4 = 0;
var n5 = 0;
if(n2 == n3 && n4 !== n5){
n5 = 10;
}else if(n2 == n3 && n4 == n5){
n5 = 20;
}else{
n5 = 30;
}
console.log(n5, '결괏값이 20이 나왔다.');
</script>
2. 실습. 남자 학생 수가 8명이 넘는다면 202호에 입실, 아니면 201호에 입실이다.
그리고 여자 학생수가 7명이 넘는다면 202호 입실, 아니면 201호에 입실이다.
202호에 총 있는 학생수는 몇명인가?
<script type="text/javascript">
var studnet = 0; // 202호
var num1 = 10; // 남자 학생 수
var num2 = 10; // 여자 학생 수
if(num1 > 8{
student += num1;
}
if(num2 > 7){
student += num2;
}
console.log(student, '결과값은 20');
</script>
3. 실습. 변수 number 가 있다. 이 변수에 숫자형값이 저장되며,
조건을 판별하여 number 값이 짝수인지 홀수인지 판별하는
조건식을 세워 그 결괏값을 콘솔에 출려한다.
// 기본 초기값 10;
<script type="text/javascript" >
var num3 = 10;
if(num3 % 2 == 0){
console.log('짝수');
}else{
console.log('홀수');
}
</script>
4. 실습. 홍길동이 평가를 봤다. 평균이 60점 이상이라면 합격.
아니면 불합격이다.조건식을 세우고 결괏값을 출력하여라.
<script type = "text/javascript">
var score1 = 80; // 교과목 1점수
var score2 = 70;// 교과목 2점수
var score3 = 60;// 교과목 3점수
if((score1+score2+score3)/3>=60){
console.log('합격');
}else{
console.log('불합격');
}
</script>
5. 실습. 홍길동, 이순신 유관순의 평가의 평균이 아래에 기록이 되어있다.
총 평균의 합이 180점이 넘는다면 우수반. 아니라면 미흡반이다.
우수반 혹은 미흡반을 출력하고. 이중 평균 80점이 넘는 학생을 찾아라.
<script type="text/javascript">
var s1 = 60; // 홍길동
var s2 = 50 ; //이순신
var s3 = 40 ; // 유관순
if(s1+s2+s3 > 180){
console.log('우수반');
if(s1>80 || s2>80|| s3>80){}
if(s1>80){
console.log('홍길동');
}
if(s2>80){
console.log('이순신');
}
if(s3>80){
console.log('유관순');
}
else{
console.log('없네요.');
}
}else{
console.log('미흡반');
}
</script>
6. 실습. 구구단 2단을 역순으로 출력하여라.
<script type="text/javascript">
var n1 = 9;
while(0<n1){
console.log(2 + '*' + n1 + '='+ 2*n1);
n1--;
}
</script>
7. 실습, 1 ~ 100 까지 반복이 되는 반복문이 있다.
1~100까지의 숫자를 합산하여 그 결괏값을 출력하도록 하여라.
<script type="text/javascript">
var n1 = 1;
var sum = 0;
while(n1<=100){
sum += n1;
n1++;
}
console.log(sum, '합산값');
</script>
8. 실습, 1 ~ 100 까지 반복이 되는 반복문이 있다.
1~100까지의 숫자중 3의 배수만 합산하여 출력하여라.
<script type="text/javascript">
var n = 1;
var sum = 0;
while(n<101){
if(n % 3 == 0){
sum += n;
}
n++;
}
console.log(sum);
</script>
9. 실습. 구구단 2~9단까지 출력시키도록 하여라.
<script type="text/javascript">
var n1 = 2;
while(n1 < 10){
//console.log(n1, 'n1');
var n2 = 1;
while(n2<10){
console.log(n1 +'x'+n2+'='+(n1*n2));
n2++;
}
n1++;
}
</script>
for문
<script type="text/javascript">
var n = 0;
while(n<10){
n++;
}
// 초기값; 조건문; 반복이후 실행되는 코드
for(var n=0; n<10; n++){
}
</script>
for문 실습예제
1. 실습. for 문을 활용하여 구구단 5단을 출력하도록 하여라.
<script type="text/javascript">
for(n=1; n<10; n++){
console.log(5+ '*'+ n+ '='+ 5*n)
}
</script>
2. 실습. 구구단 전체를 역순으로 출력하여라.
<script type="text/javascript">
for(var n1=9; 0<n1; n1--){
//console.log(n1,'-----------')
for(var n2 = 9; n2>0; n2--){
console.log(n1, n2, n1*n2)
}
}
</script>
3. 실습. 구구단 단수가 짝수인것의 결과값을 합산하여 출력시켜라.
<script type="text/javascript">
var sum = 0;
for(var n=2; n<10; n++){
if(n % 2 == 0){
console.log(n, '짝수');
for(var n2=1; n2<10; n2++){
sum+= n*n2;
}
}
}
console.log('짝수합산값', sum);
</script>
4. 실습. 아래의 문자열이 차례대로 출력 될수 있는 반복문을 작성하여라.
*
**
...
*****
**********
<script type="text/javascript">
var str = '';
for(var n=0; n<10 ; n++){
str += '*';
console.log(str);
}
</script>
continue, break
- 반복문 내부에 쓰일수 있는 키워드<br>
- break : 반복문 내부에서 break을 만날경우반복문 중단.
- continue : 반복문 내부에서 continue를 만날 경우 continue 아래의 코드를 실행하지 않고 다음 반복 실행.
<script type="text/javascript">
for(var i=0; i <10; i++){
if(i>5){
break;// 반복 중단
}
console.log(i);
}
for(var i=0; i <10; i++){
if(i % 2 ==0){
continue; // 다음 반복으로 진행
}
console.log(i);
}
</script>
break 시행결과 : 0 1 2 3 4 5
continue 시행결과 : 1 3 5 7 9
배열
- 하나의 저장소에 공간을 쪼개어 데이타를 저장하는 기법
- 배열의 주소는 index라고 한다.
- index의 처음 시작 주소는 0번이다.
- index를 활용하여 배열의 데이타 접근 혹은 데이터 저장 가능하다.
<script type="text/javascript">
/*배열 선언 방법*/
var arr1 = new Array();
var arr2 = [];
console.log(arr1, arr2);
/*값을 저장하면서 배열 선언하기.*/
var arr3 = new Array('홍길동', '이순신');
var arr4 =['고길동','유관순'];
console.log(arr3, arr4);
/*객채참조*/
var n1 = 10;
var n2 = n1;
n2 = 20;
console.log(n1, n2);
var array1 = [1,2,3];
var array2 = array1; // 같은 주소를 가지고 있음.
array2[0] = 1000;
console.log(array1, array2);
/*
배열의 원소에 접근하기.
- 인덱스를 할용하여 배월의 원소에 접근하거나
값을 대입할 수 있다.
객체참조번수[인덱스번호] > 원소에 접근
객체참조번수[인덱스번호] > 값 >> 원소에 값 대입
*/
//해당 인덱스에 값이 없울 경우 undefined가 반환된다.
console.log(arr3[0])
/* 배열 원소에 접근하여 값 대입하기*/
arr3[0] = '홍길순';
arr3[1] = '마이콜';
arr3[2] = '이순신';
console.log(arr3);
/* length 속성 접근 하기
length : 배열의 크기(배열에 담긴 갯수)
*/
console.log(arr3.length);
</script>
배열실습
1. 실습. 학생의 점수 90,80,70이 있다.
이 3개의 점수를 배열에 담도록 하여라.
<script type="text/javascript">
var arr1 = [90,80,70];
console.log(arr1);
arr1[2] = 45;
console.log(arr1);
</script>
2. 실습. 아래의 배열이 있다. 반복문을 활용하에 원소에 접근하고
그 원소를 콘솔에 출력하도록 하여라.
<script type="text/javascript">
var arr01=[10,20,30,40,50,60,70,80,90,100];
for(var i =0; i<arr01.length; i++){
console.log(arr01[i]);
}
</script>
3. 실습. 점수 60점이 넘은 학생의 명을 출력하여라.(반복문 활용)
<script type="text/javascript">
var studentArray = ['길동','순신','둘리'];
var scoreArray = [50,70,40];
for(var i=0; i<scoreArray.length; i++){
if(scoreArray[i]>60){
console.log(studentArray[i]);
}
}
</script>