Ciao
Per la prima funzione, puoi prendere il numero, moltiplicarlo per due ed arrotondarlo per difetto, quindi ridividerlo per due:
double Funct1(double val)
{
return Math.Floor(val * 2) / 2;
}
Invece per la seconda funzione c'è Math.Ceiling che fa direttamente quello che ti serve.
Luca