Pascal: Funkcije i procedure (nastavak)

Ovo je nastavak prethodnog texta koji odvajamo zbog preglednosti. Kao sto smo vec pomenuli, funkcije i procedure su dva tipa potprograma. Ovo vazi za pascal, python kao i vecinu modernih programskih jezika. Razlika je sto funkcije vracaju neku vrednost u glavni program, dok procedure jednostavno urade ono zbog cega su pozvane i tu im se zadatak zavrsava. One medjutim mogu primati argumente iz glavnog programa, na osnovu kojih ce izvrsiti svoj zadatak. Pogledajmo primer:

program Procedura;
uses crt;
var
n:integer;

procedure lines(c:byte; lin:integer);
var
m:integer;
begin
textcolor(c);
gotoXy(10,lin);
for m := 1 to 10 do
begin
Write(chr(196));
end; end;

begin
for n := 1 to 7 do
begin
lines (n,n);
end;
readln;
end.

U ovom primeru nasa procedura ispisuje linije u razlicitim bojama u sukcesivnim redovima. Argumente koje prima su boja i linija. Iz glavnog programa for petlja poziva proceduru i salje joj parametre za oba elementa koji se povecavaju za jedan. Rezultat je program koji ispisuje 7 linija u isto toliko boja.

Kao sto smo vec pomenuli, procedure mogu da rade i bez argumenata. Tada ih jednostavno pozivamo iz glavnom programa imenom. U tom slucaju funkcionisu recimo kao klasicni potprogrami iz Basica. Sada cemo prethodni primer preraditi tako da funkcionise na ovaj nacin.

program Procedura2;
uses crt;

procedure xyz;
var
n,m:integer;
begin
for n := 1 to 7 do
begin
textcolor(n);
gotoXy(10,n+5);
for m := 1 to 10 do
begin
Write(chr(196));
end; end; end;

begin
write('Nasih 7 linija >>');
xyz;
readln;
end.

Ovde smo najpre definisali proceduru xyz koja crta 7 linija u duginim bojama. Zatim smo jednostavno pozvali xyz iz glavnog programa. Naravno, ovaj pristup ima smisla u koliko se radnja ponavlja vise puta. Primere namerno pravimo tako da budu jednostavni, da bi se lakse ilustrovali principi i metod rada.

Vise o procedurama procitajte ovde i ovde.

Advertisements

Dual boot – popravka razlike u vremenu koje pokazuju satovi u Linuxu i Windowsu

Imate kompjuter, gde koegzistiraju Windows i Linux u dual bootu. Sve lepo radi, ali postoji jedan mali problem, a to je razlika u vremenu koje prikazuju satovi Linuxa i Windowsa. Najjednostavnije receno, razlika u vremenu se javlja zato sto Linux koristi hardverski sat (RTC – real time clock) kao univerzalno vreme (UTC – universal time clock), odnosno RTC nije u lokalnoj vremenskoj zoni, dok Windows koristi RTC (real time clock) u lokalnoj vremenskoj zoni. Znaci, treba usaglasiti nacine na koji Windows i Linux koriste hardverski sat. To mozete uraditi na jedan od dva nacina. Ili da podesite Linux da koristi lokalno vreme ili da podesite Windows da koristi UTC.

Ovde cu objasniti kako da podesite Linux da korsiti lokalno vreme.
Pokrenite terminal i kucajte:
sudo timedatectl set-local-rtc 1 --adjust-system-clock
ukucajte sudo sifru, na kraju proverite sat u terminalu kucajuci:
timedatectl
Inace, satu u uglu ekrana, treba neko vreme da se azurira na novo podesavanje. To jest, azurirace se prilikom prve promene, na primer, kada se promeni minut. Ili, ako vam se zuri, promena ce odmah biti vidljiva, kada kliknete na sat (ovo vazi za Linux Mint sa Mate grafickim okruzenjem).

Da bi ste vratili podesavanje da Linux koristi UTC, u terminalu kucajte:
sudo timedatectl set-local-rtc 0 --adjust-system-clock
ukucajte sudo sifru, na kraju proverite sat u terminalu kucajuci:
timedatectl
Takodje, satu u uglu ekrana, treba neko vreme da se azurira na novo podesavanje. To jest, azurirace se prilikom prve promene, na primer, kada se promeni minut. Ili, ako vam se zuri, promena ce odmah biti vidljiva, kada kliknete na sat (ovo vazi za Linux Mint sa Mate grafickim okruzenjem).

Podesavanje Windowsa, da koristi UTC se vrsi iz registrya, ali to nisam probao, pa necu opisivati taj nacin.

Blender Tutorijal 14 – Uklanjanje digitalnog suma (Denoising)

U ovoj epizodi opisujem postupak uklanjanja digitalnog suma u cycles renderu uz pomoc opcije denoising. To je nova opcija u verziji 2.79.

Blender Tutorijal 13 – Hvatac senke (Shadow catcher)

Prikaz opcije Shadow catcher u Blenderu 2.79.

Blender tutorijal 12 – Promena boje ociju u teksturi

Blender tutorijal 11 – Kosa 2

Gimp tutorijal 74 – dopuna prethodne epizode

Gimp tutorijal 73 – Prikaz dodatka Beautify

Prikaz Beautify dodatka za Gimp.

http://registry.gimp.org/node/26835
https://github.com/hejiann/beautify
https://launchpad.net/~hda-me/+archive/ubuntu/gimp-beautify

Telegram messenger

Telegram je relativno nov i jako efikasan instant messenger, sa funkcijama i karakteristikama koje ga izdvajaju i cine vrlo pozeljnim. Najpre podrzava sve mobilne i desktop operativne sisteme i na svima ima istu funkcionalnost. Verzija za Windows podrzava XP i poseduje portabilnu verziju. Visoka kompatibilnost dodatno je podrzana cloud tehnologijom, tako da je nalogu moguce pristupiti sa svih uredjaja. Svi podaci i komunikacija su visoko enkriptovani, a za one koji zele dodatnu sigurnost, moguce je ukljuciti i end user direktan enkriptovani chat. Takodje, u cilju poboljsanja sigurnosti, ponudjena je stalna nagrada od 300.000$ svakome ko uspe da desifruje poruke. Vise detalja ovde.

Od standardnih opcija, program podrzava chat, voice pozive, razmenu fajlova i slika, audio poruke, grupne razgovore, emotikone, stickere, programiranje botova i slicno. Klijent strana je open source pod GPL licencom, server strana je zatvorena i vlasnicka a dostupan je i API za developere. Jedina eventualna mana je vezivanje naloga za mobilni broj, bar iz mog ugla. On se medjutim moze sakriti postavljanjem username-a, koji dodatno setuje link za lakse povezivanje. Telegram se moze koristiti i iz browsera, nakon registracije. Na kraju bih dodao da je klijent izuzetno lagan po resurse, kad se uporedi sa konkurencijom, sto mu je mozda i najveca prednost.

Vise informacija, FAQ i download na Telegram sajtu i Wiki stranici.

Blender tutorijal 10 – Pravljanje kose

Pravljanje kose uz pomoc particle sistema, odnosno sistema cestica.

%d bloggers like this: