Programmeringstentor på japanska

Idag skrev jag min 2 & 3:e av 4 tentor detta japanska tenta-p, denna gång i programmeringsspråket C. Att skriva sådana tentor här skiljer sig en del mot i Sverige, i alla fall jämfört med vad jag är van vid. När vi skrev tenta i ADA vid LiU så handlade den om att du fick en uppgift du skulle lösa, koda, kompilera på din linuxburk och sedan skicka in till examinatorerna som satt i ett rum bredvid och granskade alla studenters källkod. Andra studenter som jag pratat med i Sverige (t.ex. vid Chalmers) tenterar på i stort sätt samma vis men kodar istället papper och lämnar in, varför de inte har chansen att testkompilera sitt program innan de lämnar in.

I Japan däremot har jag på samtliga tentor i C samt i Prolog blivit serverad ett papper med kod för att sedan berätta vad programmet gör. Låter lite lättare kan det tyckas? Jag tycker de i regel är likvärdiga men gillar mer att lösa problemet själv än att analysera någon annans kod. Problemet blir bara när programmet de slänger på en nästlar in sig i långa långa rekursioner. Det blir att sitta och skriva A4 efter A4 där man trädsöker det hela tills man kommer fram till exakt vad slutresultatet blir, om man inte rekursionen följer ett klart mönster vilket man kan visualisera i förhand. Nu är jag dock en hejare på detta i och med all prolog-programmering som endast handlar om rekursion så det borde inte vara svårigheter. Om inte tentorna var på japanska så 50% av tiden går till översättning och skrivtiden bara är 90 min ^_~

Exempelvis var detta 1/8 uppgifter som var med på dagens tenta där man skulle rita ut i ett 32×32 stort rutnät hur slutresultatet blev:

#include

char s[32][32];

void sg(int x, int y, int size) {
if(size==1)
s[x] [y] = '*';
else {
sg(x,y,size/2);
sg(x,y+size/2,size/2);
sg(x+size/2,y+size/2,size/2);
}
}

int main(void) {
int i, j;

for(i=0;i<32;i++)
for(j=0;j<32;j++)
s[i][j] = ' ';

sg(0,0,32);
}

Annars gick tentan bra, hann med alla uppgifter (utom ovanstående) och har gjort så mycket inlämningsuppgifter med bra resultat i dessa kurser i C så om jag inte skulle klara av dem, då tar jag nästa flyg hem och ger upp =P