45일차

김윤정·2024년 8월 20일

코딩

목록 보기
45/60
post-thumbnail

1.(자바스크립트). JS로 국영수 입력받아, 총점과 평균과 수우미양가를 출력하시오.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        let kor=prompt("국어", "점수를 입력하세요");
        let eng=prompt("영어" ,"점수를 입력하세요");
        let math=prompt("수학" ,"점수를 입력하세요");

        let total=(Number(kor)+Number(eng)+Number(math));
        let avg=total/3.0;


        document.write("총점: "+ total + "br");
        document.write("평균: "+ avg + "br");

        if(avg>=90){
            document.write("성적은 수입니다" + "<br>");
        }else if(avg>=80){
            document.write("성적은 우입니다" + "<br>");
        }else if(avg>=70){
            document.write("성적은 미입니다" + "<br>");
        }
        else if(avg>=60){
            document.write("성적은 양입니다" + "<br>");
        }
        else {
            document.write("성적은 가입니다" + "<br>");
        }

       
    </script>
</head>
<body>

</body>
</html>

2. js로 반지름을 입력 받아 , 원의 넓이를 출력하시오.

    <script>
        let rad = prompt("반지름을 입력하세요")

        let area = rad * rad * Math.PI;

        document.write(area);
    </script>

3. 가로,세로를 입력 받아 사각형 및 삼각형의 넓이를 동시에 출력 하시오.

    <script>
        let width = prompt("가로를 입력하세요")
        let height = prompt("세로를 입력하세요")

        let Tarea = (width * height)/2;
        let Rarea = width * height;

        document.write("삼각형의 넓이: "+ Tarea +"<br>");
        document.write("사각형의 넓이: "+ Rarea);
    </script>

4. 자바 스크립트로 구구단을 짜시오.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        for(let i=1; i<10; i++){
            document.write(i+"단"+"<br>");
            for(let j=1; j<10; j++){
            document.write(i+"x"+j+"="+(i*j)+"<br>");
        }
        document.write("<br>");
    }
    </script>
</head>
<body>
    
</body>
</html>

5. 자바 스크립트로 구구단을 테이블로 짜시오.

    <script>
        document.write("<table border>");
        document.write("<tr>");
        for(let i=1; i<10; i++){
            document.write("<td>"+i+"단"+"</td>");
        }
        document.write("</tr>");

            document.write("<tr>");
            for(let i=1; i<10; i++){
                for(let j=1; j<10; j++){
            document.write("<td>"+j+"x"+i+"="+(i*j)+"</td>");
        }
        document.write("</tr>");
    }
    document.write("</table>");
    </script>

6.인터프리터 언어와 컴파일 언어의 차이는?

  • 인터프리터(interpreter)는 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램을 말합니다.
    인터프리터 언어는 소스 코드를 한번에 기계어로 변환하는 컴파일러와 달리, 컴파일 하지 않고 소스 코드를 한 줄씩 읽어들여 실행합니다. 컴파일 하는 과정이 없기 때문에 컴파일 하는 시간은 소요되지 않으나, 인터프리터 언어는 실행파일을 별도로 생성하지 않기 때문에 실행시마다 인터프리트 과정이 반복 수행되어 실행 속도가 느리다는 단점이 있습니다.

  • 컴파일러 언어는 컴파일러를 통해 컴파일 타임에 전체 소스 코드를 한 번에 기계어로 변환 후 실행파일을 만듭니다. 컴파일러 언어는 컴파일 단계와 실행 단계가 각각 분리되어 있으며, 컴파일은 단 한번만 수행합니다.

7.javascript에서 변수 선언시 데이터 타입을 붙이지 않는 이유는?

JavaScript가 동적 타입 언어이기 때문입니다.
동적 타입 언어에서는 변수의 데이터 타입을 명시적으로 지정할 필요가 없으며, 변수에 할당된 값에 따라 데이터 타입이 자동으로 결정됩니다.

8. typeof 함수의 용도는?

typeof 는 호출했을 때 변수의 타입을 반환하기 때문에 함수 매개변수의 유효성을 검사하거나 변수가 정의되어 있는지 확인할 수 있습니다.

9. JS(자바스크립트)에서 아래를 설명하시오.

  • Number 함수 : 문자열을 숫자로 변환하는 함수입니다.

  • String 함수 :문자열 객체를 생성하거나 다른 데이터 타입의 값을 문자열로 변환하는 데 사용되는 함수입니다.

10. 아래의 객체를 정리하시오.

Connetion : DB와 App을 연결시키는 객체

DriverManage의 getConnection()메소드를 호출하여 사용할 수 있으며 파라미터는 url, uid, upw 총 3개가 들어갑니다. 이때 uid와 upw는 DB에 접속하기 위한 id와 ps 이며 url은 오라클 기준 jdbc:oracle:thin:IP주소:Port 번호:SID정보(xe)로 구성되어 있습니다

Statement :해당 query를 실행하기 위한 객체

connect의 createStatement 메소드를 호출하여 사용합니다. executeQuery()와 executeUpdate() 메소드 두개를 가지고 있습니다.

ResultSet: 해당 query에 대한 결과를 받아오는 객체

statement의 메소드 executeQuery()를 호출하고 파라미터값을 query로 넣게 되면 ResultSet이 결과를 받아오게 되고, while문을 실행하여 결과물을 뽑아냅니다.

Connetion, Statement, ResultSet 3종세트 객체들은 java에서 기본적으로 interface로 생성해두었습니다. 따라서 DB가 다르더라도 인터페이스를 통해 강제시켰기 때문에 객체와 똑같은 객체이름으로 접속해서 가져올 수 있습니다.

11. JDBC 란?

JDBC(Java Database Connectivity)는 Java 기반 애플리케이션의 데이터를 데이터베이스에 저장 및 업데이트하거나, 데이터베이스에 저장된 데이터를 Java에서 사용할 수 있도록 하는 자바 API입니다.
JDBC는 Java 애플리케이션에서 데이터베이스에 접근하기 위해 JDBC API를 사용하여 데이터베이스에 연동할 수 있으며, 데이터베이스에서 자료를 쿼리(Query)하거나 업데이트하는 방법을 제공합니다.

12. Statement객체에 두함수의 용도는?(예습)

  • executeQuery() : 하나의 ResultSet을 만드는 SQL문에서 사용하며 select문을 이용하는 조회에서 사용

  • executeUpdate() : INSERT, UPDATE, DELETE문(DML)또는 CREATE,DROP문(DDL)들 등등을 실행하는데 사용
    (단 DML을 사용할 경우 리턴값은 작용한 열의 개수를 나타내는 정수이고 DDL을 사용할 경우 리턴값은 0입니다)

13. emp를 출력하시오.(필수)

<%@page import="java.sql.Date"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
   pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		Connection connection;
		Statement statement;
		ResultSet rs;
		
		String driver = "oracle.jdbc.driver.OracleDriver";
		String url = "jdbc:oracle:thin:@localhost:1521:xe";
		String uid = "scott";
		String upw = "tiger";
		
		String query = "select * from emp";
		
		try{
			
			Class.forName(driver);
			connection = DriverManager.getConnection(url,uid, upw);
			statement = connection.createStatement();
			rs =statement.executeQuery(query);
			
			while(rs.next()){
				int empno = rs.getInt("empno");
				String ename = rs.getString("ename");
				String job = rs.getString("job");
				String mgr =rs.getString("mgr");
				Date hiredate= rs.getDate("hiredate");
				int sal= rs.getInt("sal");
				String comm =rs.getString("comm");
				int deptno= rs.getInt("deptno");
				
				out.print("사원번호: " + empno + "   ");
				out.print("사원이름: " + ename + "&nbsp");
				out.print("직종: " + job);
				out.print("매니저: " + mgr);
				out.print("입사날짜: " + hiredate.toString()+ "&nbsp");
				out.print("월급: " + sal + "&nbsp");
				out.print("커미션: " + comm + "&nbsp");
				out.print("부서번호: " + deptno + "&nbsp");
				
				out.print("<br> ");		
			}
			
		}catch(Exception e){}
		finally{}

	%>
</body>
</html>

14. 자바스크립트로 삼항연산자를 사용하여 프로그래밍 하시오.

80, 33 ,55 = 최대값을 출력

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        let num1 = 80;
        let num2 = 30;
        let num3 = 55;

        let max =(num1 > num2)&&(num1 > num3)? num1: (num2>num3)? num2:num3;
        document.write(max);
    </script>
</head>
<body>
    
</body>
</html>

15. 아래를 출력 하시오.

emp_table.jsp
emp 출력을 테이블(12명)로 출력 하시오.

<%@page import="java.sql.ResultSetMetaData"%>
<%@page import="java.sql.Date"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		Connection connection;
		Statement statement;
		ResultSet rs;
		
		String driver = "oracle.jdbc.driver.OracleDriver";
		String url = "jdbc:oracle:thin:@localhost:1521:xe";
		String uid = "scott";
		String upw = "tiger";
		
		String query = "select * from emp";
		
		try{
			
			Class.forName(driver);
			connection = DriverManager.getConnection(url,uid, upw);
			statement = connection.createStatement();
			rs =statement.executeQuery(query);
		
			
			ResultSetMetaData rsmd = rs.getMetaData();
			
			out.print("<table border = 1>");
			
			out.print("<tr>");
			
			for(int i =1; i<=rsmd.getColumnCount(); i++){
				out.print("<td>"+ rsmd.getColumnName(i) + "</td>");
			}
			
			out.print("</tr>");
			
			while(rs.next()){
				int empno = rs.getInt("empno");
				String ename = rs.getString("ename");
				String job = rs.getString("job");
				String mgr =rs.getString("mgr");
				Date hiredate= rs.getDate("hiredate");
				int sal= rs.getInt("sal");
				String comm =rs.getString("comm");
				int deptno= rs.getInt("deptno");
				
				out.print("<tr>");
				
				out.print("<td> " + empno + "  </td>  ");
				out.print("<td> " + ename + "</td>");
				out.print("<td> " + job+"</td>");
				out.print("<td>  " + mgr+"</td>");
				out.print("<td>  " + hiredate.toString()+ "</td> ");
				out.print("<td>  " + sal + "</td> ");
				out.print("<td>  " + comm + "</td> ");
				out.print("<td>  " + deptno + "</td>");
				
				out.print("</tr> ");		
			}
			out.print("</table >");
	
		}catch(Exception e){}
		finally{}

	%>
</body>
</html>

0개의 댓글