מדעי המחשב, קיץ תשפ"ד, שאלון 899381 בגרות, שאלה שנ...

מדעי המחשב, קיץ תשפ"ד, שאלון 899381 בגרות, שאלה שנייה שאלה 2 פתרון בשפת java ובשפת C# סי שארפ

שאלה 2 סעיף א' שפת java:
public class Member 
private String name; 
private boolean isCoal; 
}

public class Committee 
private String name; 
private Member[] members; 
private int count;
}

שאלה 2 סעיף ב' שפת C#:
public class Member 
private string name; 
private bool isCoal; 
}

public class Committee 
private string name; 
private Member[] members; 
private int count;
}


שאלה 2 סעיף ב' שפת java
פעולה פנימית במחלקה total:
public int total(boolean belong)
{
int sum = 0;
for (int i = 0; i < this.count; i++)
if (this.members[i].getIsCoal())
sum++;

if (belong)
return sum;

return count - sum;
}


שאלה 2 סעיף ב' שפת C# סי שארפ
פעולה פנימית במחלקה total:
public int Total(bool belong)
{
int sum = 0;

for (int i = 0; i < this.count; i++)
if (this.members[i].GetIsCoal())
sum++;

if (belong)
return sum;

return count - sum;
}



שאלה 2 סעיף ג
פעולה חיצונית בשפת java:
public static int amount(Committee[] arr, Member m) 
int count = 0; 

for (int i = 0; i < arr.length; i++) 
{
Member[] members = arr[i].getMembers(); 
int index = 0; 

for (int j = 0; j < arr[i].getCount(); j++) 
if (members[j].getName().equals(m.getName())) 
index = j; 

boolean isCoal = members[index].getIsCoal(); 

if (arr[i].getCount() < 16) 
if (isCoal || arr[i].total(true) > arr[i].total(false) + 1) 
count++; 

return count; 


שאלה 2 סעיף ג
פעולה חיצונית בשפת C#:
public static int Amount(Committee[] arr, Member m) 
int count = 0; 

for (int i = 0; i < arr.Length; i++) 
{
Member[] members = arr[i].GetMembers(); 
int index = 0; 

for (int j = 0; j < arr[i].GetCount(); j++) 
if (members[j].GetName().Equals(m.GetName())) 
index = j; 

bool isCoal = members[index].GetIsCoal(); 

if (arr[i].GetCount() < 16) 
if (isCoal || arr[i].Total(true) > arr[i].Total(false) + 1) 
count++; 

return count;