Píosaí liom in áiteanna eile:

2024-04-26

Frachtal, athfhilleadh agus mistéir eile.


I dtús na nóchaidí, nuair a bhí mé ag tosú ar mo ghairm, bhí ríomhairí phearsanta ag tosú ag éirí cumhachtach. Ceann de na cur amú ama a bhí againn san oifig - seachas imirt tetris - ná clár a ríomh tacar mandelbrot. D'fhéadfaí é a mhéadú agus amharc ar an athfhilleadh agus na himill frachtal. Bhí comhghleacaí liom a raibh sé mar chaitheamh aimsire aige spraoi le bogearraí rianú gathanna - bhí an ríomhchlár in ann a ríomh an éifeacht a bheadh ag foinse solais in ionad ar leith ar chuma ruda, agus chruthaigh íomhá réalaíoch dá réir. Ar ndóigh, anois, tríocha bliain níos déanaí le forbairtí i gcrua- agus bogearraí tá fiú an ghuthán, ar a bhfuil seo á scríobh agam, in ann a leithéid a ríomh ag luas lasrach agus i bhfad níos mó mionsonraí ná mar a bhíodh ann fadó. 

Tá athfhilleadh i gceist i formhór na n-algartaim seo. Feidhm i ríomhchlár a ghlaonn ar an fheidhm céanna le hargóint eile go dtí go bhfuil an feidhm chomh simplí sin le ríomh nach bhfuil deacracht ar bith leis. Sampla simplí ná iolrán na slán uimhreacha a ríomh, i. 
 
5! = 5*4*3*2*1.
 
Nó go ginearálta N! ná gach slánuimhir idir 1 agus N méadaithe fá chéile.

Mar seo a bheadh an fheidhm i C:

long factorial(int n)  
{  
  if (n == 0)  
    return 1;  
  else  
    return(n * factorial(n-1));  
}  

Seachnaítear feidhm mar seo go hiondúil i mbogearraí neadaithe, toisc go bhfuil baol ann, má tá luach neamhghnách mar thús, nach dtiocfadh an feidhm chun críche in aon chor. 

Go deimhin, ceann de na scrúduithe caighdeánacha a rinneamar agus promhadh bogearraí ar bun againn ná an raibh aon athfhilleadh díreach nó indíreach ar bhun. Uaireanta d'aimsigh muid cás - ghlaoigh feidhm A ar fheidhm B, a ghlaoigh ar feidhm C a ghlaoigh ar feidhm A arís.

Bhí sé chomh neadaithe i m'inchinn gur drochsmaoineamh a bhí ann nár rith sé liom mar fhreagra ar cheist agallaimh - ach fuair mé an phost mar sin féin!

Maidir le frachtal, ceann de na cúiseanna - seachas raithneach a bheith flúirseach sa choill faoi láthair - a rith sé liom ná go bhfuilim ag plé roinnt leis an ríomhtheanga Tcl - tool control language. Baintear feidhm as go minic i gcórais tástála ríomhairí agus bogearraí. Ní maith liom mar theanga é. Tá sé fíor dheacair cód ann a léamh, tá comhréir an éagsúil é. Is minic gur gá ráiteas a léamh ón lár amach, agus is féidir ráitis a neadú ina chéile ar bhealach a chuireann cathú ar ríomhchláraitheoirí glice  a ngliceas a léiriú. Ach tá sé nach mór caighdeánach do chúraimí áirithe. Níl éalú uaidh.

Pé scéal é, fiche éigin bliain ó shin nuair a bhí mé ag déanamh iarracht é a fhoghlaim, bá an Frachtal raithní ceann de na cláracha a rinne mé beagán spraoi leo. Ní thuigim an clár in aon chor anois, ach tá athfhilleadh i gceist leis.