You are on page 1of 6

REG NO : SCM211-0753/2019

NAME: RAMADHAN KAVAYA TIMOTHY

UNIT: SCIENTIFIC COMPUTING

COURSE: MATHEMATICS AND COMPUTER SCIENCE

TITLE: ASSIGNMENT
Read the Excel sheet and save it as 'Table'

Table = dataset('xlsfile', 'mcslist.xlsx');

% Calculate unit averages


ODE_mean = mean(Table.ODE, 'all', 'double');
theoryOfEstimation_mean = mean(Table.StatisticsIV, 'all', 'double');
realAnalysis_mean = mean(Table.RealAnalysis, 'all', 'double');
scientificComputing_mean = mean(Table.ScientificComputing, 'all', 'double');
computerGraphics_mean = mean(Table.Graphics, 'all', 'double');
accounting_mean = mean(Table.Accounting, 'all', 'double');
groupTheory_mean = mean(Table.GroupTheory, 'all', 'double');

% Calculate student averages and print


tableDimensions = size(Table);
tableRowCount = 4; % The number of students in the Excel sheet
tableColCount = tableDimensions(2); % The number of units listed in the Excel
sheet

n = 1;
while (n <= tableRowCount)

m = 3;
studentTotal = 0;
while (m <= tableColCount)
studentTotal = studentTotal + Table(n,m);
m = m + 1;
end
studentAverage = studentTotal / (tableColCount-2); % The first two columns
do not have unit scores

fprintf('Name: %s \t\t Registration Number: %s \n',


char(Table.Students(n)), char(Table.RegistrationNumber(n)));
fprintf('Ordinary Differential Equations: %d %s \n', double(Table(n,3)),
assignGrade(double(Table(n,3))));
fprintf('Theory of Estimation: %d %s \n', double(Table(n,4)),
assignGrade(double(Table(n,4))));
fprintf('Real Analysis: %d %s \n', double(Table(n,5)),
assignGrade(double(Table(n,5))));
fprintf('Scientific Computing: %d %s \n', double(Table(n,6)),
assignGrade(double(Table(n,6))));
fprintf('Computer Graphics: %d %s \n', double(Table(n,7)),
assignGrade(double(Table(n,7))));
fprintf('Accounts and Finance: %d %s \n', double(Table(n,8)),
assignGrade(double(Table(n,8))));
fprintf('Group Theory: %d %s \n', double(Table(n,9)),
assignGrade(double(Table(n,9))));
fprintf('AVERAGE SCORE: %d GRADE: %s \n\n',
ceil(studentAverage), assignGrade(studentAverage));

n = n + 1;
end

% Print unit averages


fprintf('Ordinary Differential Equations mean: %d \t Grade: %s \n',
ceil(ODE_mean), assignGrade(ODE_mean));

fprintf('Theory of estimation mean: %d \t Grade: %s \n',


ceil(theoryOfEstimation_mean), assignGrade(theoryOfEstimation_mean));

fprintf('Real Analysis mean: %d \t Grade: %s \n',


ceil(realAnalysis_mean), assignGrade(realAnalysis_mean));

fprintf('Scientific Computing mean: %d \t Grade: %s \n',


ceil(scientificComputing_mean), assignGrade(scientificComputing_mean));

fprintf('Computer Graphics mean: %d \t Grade: %s \n',


ceil(computerGraphics_mean), assignGrade(computerGraphics_mean));

fprintf('Accounts and Finance mean: %d \t Grade: %s \n',


ceil(accounting_mean), assignGrade(accounting_mean));

fprintf('Group Theory mean: %d \t Grade: %s \n',


ceil(groupTheory_mean), assignGrade(groupTheory_mean));

% Grading function that takes in a score as an argument and returns a grade.


Scores in the excel sheet
% are necessarily between 0 and 100 inclusive so we do not check for that
condition.
function grade = assignGrade(score)
if (score >= 70)
grade = 'A';
elseif (score >= 60 && score <= 70)
grade = 'B';
elseif (score >= 50 && score <= 60)
grade = 'C';
elseif (score >= 40 && score <= 50)
grade = 'PASS';
else
grade = 'FAIL';
end
end

You might also like