연습 - 각 학생의 할당 점수 평균 계산
이 연습에서는 각 학생의 과제 점수 평균을 계산하고 저장합니다. 각 학생의 채점된 과제 수를 알고 있으므로 과제 점수의 합계를 과제 수로 나누어 평균을 계산합니다. 평균을 저장하려면 10진수 데이터 형식을 사용합니다.
평균을 저장할 변수 만들기
이 작업에서는 채점된 과제의 평균 점수를 저장하는 데 사용할 수 있는 각 학생에 대한 변수를 만듭니다.
NET 편집기에서 각 학생의 합계 점수를 표시하는 데 사용되는
Console.WriteLine()
문을 찾습니다.Console.WriteLine()
문 위에 빈 코드 줄을 만듭니다.만든 빈 코드 줄에서 학생의 현재 점수에 사용할 10진수 변수를 선언하려면 다음 코드를 입력합니다.
decimal sophiaScore; decimal nicolasScore; decimal zahirahScore; decimal jeongScore;
decimal
변수만 선언하고 초기화하지 않습니다. 평균 성적을 나타내고 정수를 사용하는 경우 사용할 수 없는 소수 자릿수를 포함하려고 했기 때문에 형식을 선택decimal
했습니다. 이렇게 하면 학생이 89.9점을 획득하고 B에서 A로 점수가 올라갔는지 확인할 수 있습니다.이전 연습에서는 콘솔 출력에서 즉시 사용할 수 있도록 정수 변수를 초기화했습니다. 이 경우 이러한
decimal
변수는 Sophia의 점수부터 시작하여 기존 데이터로 계산을 사용하여 다음 단계에서 초기화됩니다.클래스에서 Sophia의 현재 점수를 10진수
sophiaScore
에 할당하려면 다음 코드로 변수를 업데이트합니다.decimal sophiaScore = sophiaSum / currentAssignments;
수업에 대한 학생의 현재 점수를 계산하려면 과제 점수의 합계를 총 과제 수로 나눕니다. 학급의 각 학생에게는 설정 중에 초기화한
currentAssignments
로 표시되는 5개의 과제가 있습니다.나머지 학생 점수를 할당하려면 다음 코드를 입력합니다.
decimal nicolasScore = nicolasSum / currentAssignments; decimal zahirahScore = zahirahSum / currentAssignments; decimal jeongScore = jeongSum / currentAssignments;
궁극적으로 이 애플리케이션에서 각 학생의 성적을 표시하려고 합니다. 다음 단계에서는 과제 합계가 아닌 각 학생의 점수를 표시하도록 코드를 수정합니다.
각 학생의 현재 점수를 표시하려면 display 문의 합계 변수를 점수 변수로 바꿉니다.
Console.WriteLine("Sophia: " + sophiaScore); Console.WriteLine("Nicolas: " + nicolasScore); Console.WriteLine("Zahirah: " + zahirahScore); Console.WriteLine("Jeong: " + jeongScore);
잠시 시간을 내어 이 애플리케이션을 개발하는 데 사용하는 증분 접근 방식을 고려합니다.
문제를 세분화하는 것은 개발자에게 중요한 기술입니다. 코드를 증분 방식으로 빌드하고 작업을 자주 확인하면 신뢰할 수 있는 애플리케이션을 신속하게 개발할 수 있습니다. 이 경우
Console.WriteLine()
의 용도를 변경하여 프로세스의 각 단계를 완료할 때 계산이 올바른지 확인할 수 있습니다.각 학생의 현재 성적 값을 보려면 실행을 선택합니다.
다음 출력이 표시됩니다.
Sophia: 94 Nicolas: 83 Zahirah: 83 Jeong: 95
점수는 10진수가 아닌 정수로 표시됩니다.
나누기 계산 결과를 10진수 값으로 만들려면 피제수 또는 제수가 10진수 형식(또는 둘 다)이어야 합니다. 계산에 정수 변수를 사용하는 경우 정수를 10진수로 “변환”하기 위해 캐스팅이라는 기술을 적용해야 합니다.
점수 계산의 경우 합계 변수 또는
currentAssignments
를 10진수 형식으로 캐스팅하여 10진수 결과를 얻을 수 있습니다. 이 경우 합계를 10진수로 캐스팅합니다.나누기 작업에서 정수 변수를 10진수로 캐스팅하려면 다음과 같이 코드를 업데이트합니다.
decimal sophiaScore = (decimal) sophiaSum / currentAssignments; decimal nicolasScore = (decimal) nicolasSum / currentAssignments; decimal zahirahScore = (decimal) zahirahSum / currentAssignments; decimal jeongScore = (decimal) jeongSum / currentAssignments;
10진수 값으로 나누기 위해서는 피제수 또는 제수가 10진수 형식이어야 합니다. 여기서는 피제수로 사용되는 합계 변수만 캐스팅합니다.
교사가 문자 성적을 할당하는 데 사용하는 다음 채점 척도를 검토합니다.
97 - 100 A+ 93 - 96 A 90 - 92 A- 87 - 89 B+ 83 - 86 B
다음 단계는 총 점수를 기준으로 각 학생의 문자 성적을 포함하는 것입니다. 표시된 출력에 문자 성적을 추가하는 작업은 수동 프로세스입니다.
각 학생의 현재 성적 값을 결정하려면 실행을 선택합니다.
각 학생의 현재 성적을 사용하여 적절한 문자 성적을 결정하고 필요에 따라 반올림 또는 내림합니다.
각 학생의 숫자 점수 뒤에 문자 성적을 추가하려면 다음과 같이 코드를 업데이트합니다.
Console.WriteLine("Sophia: " + sophiaScore + " A"); Console.WriteLine("Nicolas: " + nicolasScore + " B"); Console.WriteLine("Zahirah: " + zahirahScore + " B"); Console.WriteLine("Jeong: " + jeongScore + " A");
작업 결과 확인
이 작업에서는 코드를 실행하고 출력이 올바른지 확인합니다.
코드를 다음과 비교합니다.
int currentAssignments = 5; int sophia1 = 93; int sophia2 = 87; int sophia3 = 98; int sophia4 = 95; int sophia5 = 100; int nicolas1 = 80; int nicolas2 = 83; int nicolas3 = 82; int nicolas4 = 88; int nicolas5 = 85; int zahirah1 = 84; int zahirah2 = 96; int zahirah3 = 73; int zahirah4 = 85; int zahirah5 = 79; int jeong1 = 90; int jeong2 = 92; int jeong3 = 98; int jeong4 = 100; int jeong5 = 97; int sophiaSum = sophia1 + sophia2 + sophia3 + sophia4 + sophia5; int nicolasSum = nicolas1 + nicolas2 + nicolas3 + nicolas4 + nicolas5; int zahirahSum = zahirah1 + zahirah2 + zahirah3 + zahirah4 + zahirah5; int jeongSum = jeong1 + jeong2 + jeong3 + jeong4 + jeong5; decimal sophiaScore = (decimal) sophiaSum / currentAssignments; decimal nicolasScore = (decimal) nicolasSum / currentAssignments; decimal zahirahScore = (decimal) zahirahSum / currentAssignments; decimal jeongScore = (decimal) jeongSum / currentAssignments; Console.WriteLine("Sophia: " + sophiaScore + " A"); Console.WriteLine("Nicolas: " + nicolasScore + " B"); Console.WriteLine("Zahirah: " + zahirahScore + " B"); Console.WriteLine("Jeong: " + jeongScore + " A");
코드를 실행하고 학생 점수를 문자 성적으로 표시하려면 실행을 선택합니다.
코드가 예상대로 작동하는지 확인하려면 애플리케이션의 출력을 다음 출력과 비교합니다.
Sophia: 94.6 A Nicolas: 83.6 B Zahirah: 83.4 B Jeong: 95.4 A
이제 코드에서 학생 점수를 10진수 값으로 표시해야 하며 할당한 문자 성적이 표시됩니다.
코드가 다른 결과를 표시하는 경우 코드를 검토하여 오류를 찾고 업데이트해야 합니다. 코드를 다시 실행하여 문제가 해결되었는지 확인합니다. 코드가 예상 결과를 생성할 때까지 코드를 계속 업데이트하고 실행합니다.
중요
지금까지 작성한 코드를 삭제하지 마세요. 다음 연습에서 이 코드를 기반으로 빌드합니다.