funkcija natisni(z: znak) { natisni(z) } funkcija natisni(niz: @[znak]) { naj dolžina = niz.dolžina za i = 0, i < dolžina, i += 1 { natisni(niz[i]) } } funkcija natisni(niz: @[znak], dolžina: celo) { dolžina = min(niz.dolžina, dolžina) za i = 0, i < dolžina, i += 1 { natisni(niz[i]) } } funkcija _natisni(št: celo) { če št > 9 { _natisni(št / 10) } natisni((št % 10 + '0' kot celo) kot znak) } funkcija natisni(št: celo) { če št < 0 { natisni('-') št *= -1 } _natisni(št) } funkcija _dolžina(št: celo) -> celo { če št < 10 { vrni 1 } naj dolžina = 1 dokler št > 9 { št /= 10 dolžina += 1 } vrni dolžina } funkcija natisni(št: celo, dolžina: celo) { naj neg = laž če št < 0 { neg = resnica št *= -1 dolžina -= 1 } za i = 0, i < dolžina - _dolžina(št), i += 1 { natisni(' ') } če neg { natisni('-') } _natisni(št) } naj NATANČNOST_REAL = 6 funkcija _natisni_dol(št: celo, dolžina: celo) { če dolžina == 0 { vrni } _natisni_dol(št / 10, dolžina - 1) natisni((št % 10 + '0' kot celo) kot znak) } funkcija natisni(št: real) { če št < 0.0 { natisni('-') št *= -1.0 } naj celi_del = št kot celo naj za_vejico = št % 1.0 natisni(celi_del) če za_vejico == 0.0 { vrni } naj decimalke = (za_vejico * 10.0**NATANČNOST_REAL kot real) kot celo; naj natančnost = NATANČNOST_REAL dokler decimalke % 10 == 0 { decimalke /= 10 natančnost -= 1 } natisni('.') _natisni_dol(decimalke, natančnost) } funkcija natisni(a: bool) { če a { natisni("resnica") } čene { natisni("laž") } }