목차
- 문제1 : 순차 구조를 사용하여 다음과 같은 결과를 출력하는 프로그램을 작성하시오. (배점 : 3점)
(단, 실행결과와 파이썬 스크립트만 제출하시오.)
①코드 ②실행결과
- 문제2 : 순차 구조를 사용하여 0과 1000 사이의 정수를 사용자로부터 입력받아 다음과 같이 각 자릿수의 합을 출력하는 프로그램을 구하시오. (배점 : 7점) (단, 실행결과와 파이썬 스크립트만 제출하시오.)
①코드 ②실행결과
- 문제3 : 선택 구조를 사용하여 사용자가 입력한 점수를 사용하여 성적 산출 기준표에 따라 성적이 출력되는 프로그램을 작성하시오. (배점 : 10점)
(단, 실행결과와 파이썬 스크립트만 제출하시오.)
①코드 ②실행결과
- 문제4 : ChatGPT, Gemini 등의 생성형 인공지능을 사용하여 문제2, 문제3에 해당하는 다음 파이썬 코드를 도출하고 변수명, 프로그램 외형, 논리적 흐름 등의 다양한 관점에서 학습자가 작성한 코드와 500자 정도로 비교·분석하시오. (배점 : 각 5점)
1) 문제2와 ChatGPT 코드 비교·분석
2) 문제3과 ChatGPT 코드 비교·분석
(단, 실행결과와 파이썬 스크립트만 제출하시오.)
①코드 ②실행결과
- 문제2 : 순차 구조를 사용하여 0과 1000 사이의 정수를 사용자로부터 입력받아 다음과 같이 각 자릿수의 합을 출력하는 프로그램을 구하시오. (배점 : 7점) (단, 실행결과와 파이썬 스크립트만 제출하시오.)
①코드 ②실행결과
- 문제3 : 선택 구조를 사용하여 사용자가 입력한 점수를 사용하여 성적 산출 기준표에 따라 성적이 출력되는 프로그램을 작성하시오. (배점 : 10점)
(단, 실행결과와 파이썬 스크립트만 제출하시오.)
①코드 ②실행결과
- 문제4 : ChatGPT, Gemini 등의 생성형 인공지능을 사용하여 문제2, 문제3에 해당하는 다음 파이썬 코드를 도출하고 변수명, 프로그램 외형, 논리적 흐름 등의 다양한 관점에서 학습자가 작성한 코드와 500자 정도로 비교·분석하시오. (배점 : 각 5점)
1) 문제2와 ChatGPT 코드 비교·분석
2) 문제3과 ChatGPT 코드 비교·분석
본문내용
자의 자릿수에 관계없이 동작하며, 코드의 길이가 더 짧고 간결해진다.
.
결론적으로 말하면, 코드1은 수학적 사고와 알고리즘에 가깝고, 각 자릿수의 추출 및 합산 과정을 분명히 보여준다. 이 방식은 보다 절차적이며 교육적인 목적에 잘 맞을 수 있다. 코드2는 파이썬의 간결함을 잘 보여준다. 제너레이터 표현식(int(digit) for digit in number_str)과 sum 함수를 사용하여 더 짧고 간결하게 같은 작업을 수행한다.
2) 문제3과 ChatGPT 코드 비교·분석
ChatGPT 코드는 다음과 같다. 단, 성적출력 코드 부분은 문제의 요구사항에 따라 수정하였다.
# 사용자로부터 점수 입력 받기
score = int(input(\"점수를 입력하세요: \"))
# 성적 범위를 리스트로 정의
grade_ranges = [
(90, 100, \'A\'),
(80, 89, \'B\'),
(70, 79, \'C\'),
(60, 69, \'D\'),
(0, 59, \'F\')
]
# 입력된 점수를 기반으로 성적 결정
grade = None
for lower, upper, grade_letter in grade_ranges:
if lower <= score <= upper:
grade = grade_letter
break
# 성적 출력
if grade:
print(f\"{grade}입니다.\")
else:
print(\"잘못된 점수입니다.\")
먼저 변수명의 경우, 두 코드 모두 \'score\'라는 변수를 사용하여 사용자의 입력을 받고 \'grade\'라는 변수를 사용하여 성적을 저장한다. 단, 코드 2는 grade_ranges라는 리스트 변수를 통해 성적 산출 범위를 계산하는 데 이용한다. 그리고 프로그램 외형의 경우, 코드1은 전통적인 if-elif-else 구조를 사용하여 직접적으로 각 점수 범위를 확인한다. 이 방법은 단순하고 직관적이며, 각 조건이 명확하게 분리되어 있어서 읽기 쉽다. 코드2는 점수 범위를 리스트에 튜플로 정의하고, 반복문을 사용하여 점수를 평가한다. 이 방법은 조건들을 데이터 구조에 저장하여 코드를 더 유연하게 만들 수 있지만, 코드1에 비해 약간 더 복잡하게 느껴질 수 있다.
논리적 흐름의 경우, 코드1의 논리적 흐름은 매우 선형적이며 명확하다. 가장 높은 점수에서 시작하여 각 점수 구간을 차례대로 검사하고 적절한 등급을 할당한다. 코드2에서는 리스트에 정의된 점수 범위를 순회하며 현재 점수가 해당 범위에 있는지 확인한다. 이러한 방식은 논리적 흐름을 데이터 주도로 만들고, 코드 수정 시 점수 범위 변경이 용이하다.
결론적으로 말하면, 코드1은 간결하고 직접적인 선택 구조로, 각 점수 범위마다 하드코딩된 조건을 가지고 있다. 이 방식은 보다 전통적이며 작성하기 쉽고, 작은 규모의 프로그램에서 효율적이다. 코드2는 데이터 구조를 사용하여 좀 더 동적인 접근 방식을 취한다. 이 방식은 유지보수 측면에서 유리하며, 성적 기준이 변경되거나 확장될 경우 쉽게 조정할 수 있다. 그러나 코드의 가독성과 직관성은 코드1에 비해 약간 떨어질 수 있다.
.
결론적으로 말하면, 코드1은 수학적 사고와 알고리즘에 가깝고, 각 자릿수의 추출 및 합산 과정을 분명히 보여준다. 이 방식은 보다 절차적이며 교육적인 목적에 잘 맞을 수 있다. 코드2는 파이썬의 간결함을 잘 보여준다. 제너레이터 표현식(int(digit) for digit in number_str)과 sum 함수를 사용하여 더 짧고 간결하게 같은 작업을 수행한다.
2) 문제3과 ChatGPT 코드 비교·분석
ChatGPT 코드는 다음과 같다. 단, 성적출력 코드 부분은 문제의 요구사항에 따라 수정하였다.
# 사용자로부터 점수 입력 받기
score = int(input(\"점수를 입력하세요: \"))
# 성적 범위를 리스트로 정의
grade_ranges = [
(90, 100, \'A\'),
(80, 89, \'B\'),
(70, 79, \'C\'),
(60, 69, \'D\'),
(0, 59, \'F\')
]
# 입력된 점수를 기반으로 성적 결정
grade = None
for lower, upper, grade_letter in grade_ranges:
if lower <= score <= upper:
grade = grade_letter
break
# 성적 출력
if grade:
print(f\"{grade}입니다.\")
else:
print(\"잘못된 점수입니다.\")
먼저 변수명의 경우, 두 코드 모두 \'score\'라는 변수를 사용하여 사용자의 입력을 받고 \'grade\'라는 변수를 사용하여 성적을 저장한다. 단, 코드 2는 grade_ranges라는 리스트 변수를 통해 성적 산출 범위를 계산하는 데 이용한다. 그리고 프로그램 외형의 경우, 코드1은 전통적인 if-elif-else 구조를 사용하여 직접적으로 각 점수 범위를 확인한다. 이 방법은 단순하고 직관적이며, 각 조건이 명확하게 분리되어 있어서 읽기 쉽다. 코드2는 점수 범위를 리스트에 튜플로 정의하고, 반복문을 사용하여 점수를 평가한다. 이 방법은 조건들을 데이터 구조에 저장하여 코드를 더 유연하게 만들 수 있지만, 코드1에 비해 약간 더 복잡하게 느껴질 수 있다.
논리적 흐름의 경우, 코드1의 논리적 흐름은 매우 선형적이며 명확하다. 가장 높은 점수에서 시작하여 각 점수 구간을 차례대로 검사하고 적절한 등급을 할당한다. 코드2에서는 리스트에 정의된 점수 범위를 순회하며 현재 점수가 해당 범위에 있는지 확인한다. 이러한 방식은 논리적 흐름을 데이터 주도로 만들고, 코드 수정 시 점수 범위 변경이 용이하다.
결론적으로 말하면, 코드1은 간결하고 직접적인 선택 구조로, 각 점수 범위마다 하드코딩된 조건을 가지고 있다. 이 방식은 보다 전통적이며 작성하기 쉽고, 작은 규모의 프로그램에서 효율적이다. 코드2는 데이터 구조를 사용하여 좀 더 동적인 접근 방식을 취한다. 이 방식은 유지보수 측면에서 유리하며, 성적 기준이 변경되거나 확장될 경우 쉽게 조정할 수 있다. 그러나 코드의 가독성과 직관성은 코드1에 비해 약간 떨어질 수 있다.
추천자료
2022년 2학기 방송통신대 파이썬과R 출석수업대체과제물)R을 사용하여 다음의 자료로 3개의 ...
방송통신대 파이썬과 R 연습문제 1장부터 7장까지 전부 풀이(중간, 기말시험 등 대비)
사회복지행정론 2024년 1학기 중간과제물 - 한국 사회복지행정의 역사를 설명하시오, 1990년...
사회복지법제와실천 2024년 1학기 중간과제물 - 사회복지법제와실천 사회복지법 학습 이유를 ...
자원봉사론 2024년 1학기 중간과제물 - 자원봉사란 무엇을 의미하는지 그 개념적 요소에 대해...
세상읽기와논술 2024년 1학기 중간과제물 -1) 올해 초 정부는 2025학년도 전국 의대 입학정원...
대중문화의이해 2024년 1학기 중간과제물) 이번 학기 대중문화의 이해 과목 수강을 통해 얻고...
세계의역사 2024년 1학기 중간과제물 - 다음 중 하나를 읽고 중요하다고 생각되는 부분을 요...
2024년 1학기 자원봉사론 중간과제물) 자원봉사란 무엇을 의미하는지 그 개념적 요소에 대해 ...
2024년 1학기 학교사회복지론 중간과제물) 학교사회복지의 개념, 필요성, 목적을 설명 자신이...
소개글