Category Archives: Tutorijali

Saveti i uputstva.

Linux tutorijal 25 – Igranje u Linuxu

Video o igrama u Linuxu, nacinima igranja, web browser igrama, emulatorima i native igrama.

Blender tutorijal 09 – prikaz dodatka ManuelbastioniLAB

Jedan od gledalaca je trazio tutorijal o tome kako napraviti coveka u Blenderu. Dodatak ManuelbastioniLAB radi upravo to, generise ljudske figure u blenderu.

Pascal: Funkcije i procedure

U Pascalu postoje dva tipa potprograma, funkcije i procedure. Razlike je sto funkcije vracaju neku vrednost u glavni program, dok procedure jednostavno izvrse ono zbog cega su pozvane. Inace glavni razlog za koriscenje potprograma je bolja organizacija. Ako neki proces ponavljamo nekoliko puta na vise mesta u programu, logicno je da ga napisemo jednom i kasnije pozivamo kada nam treba. Takodje, ovakve potprograme mozemo koristiti kasnije i u drugim programima. Pogledajmo nekoliko primera.

program Funkcije;
var
a,b,v: integer;

//funkcija koja vraca veci broj
function max(x,y:integer): integer;
//lokalna varijabla unutar funkcije
var
calc: integer;
begin
if (x > y) then calc := x else calc :=y;
max := calc;
end;

//glavni program
begin
write('Unesite prvi broj: ');
readln(a);
write('Unesite drugi broj: ');
readln(b);
writeln('--------------------');
//pozivamo funkciju
v := max(a,b);
writeln ('Veci broj je: ',v);
readln;
end.

U ovom primeru smo najpre deklarisali funkciju max koja od dva poslata broja vraca veci. Zatim smo je pozvali iz glavnog programa da bi odredili koji je broj veci od dva uneta, i na kraju ispisali rezultat na ekranu. Kao sto ste mogli da vidite, funkcije se definisu sintaxom:

function ime(argumenti:tip; argumenti2:tip2;..):izlazni tip

.. i na kraju vraca rezultat u formatu: ime := neki proracun. Ona moze sadrzati i lokalne varijable koje smo u nasem primeru ubacili samo radi demonstracije, inace nije bilo neophodno. Pogledajmo jos jedan primer.

program Funkcije2;
var
a,b:integer;
//direktno vracena funkcija
function god(a,b:integer):integer;
begin
god := a-b;
end;

//glavni program
begin
write('Unestite vase godiste: ');
readln(a);
write('Unestite aktuelnu godinu: ');
readln(b);
writeln('--------------------');
writeln('Ove godine punite ',god(b,a),' god.');
readln;
end.

Ovaj program je vrlo slican, i demonstrira vracanje rezultata u jednoj liniji bez dodatnih internih varijabli. Takodje i pozivanje funkcije direktno iz druge komande ili izraza, bez dodatnih spoljnih varijabli.

Vise o potprogramima u Pascalu mozete pogledati ovde.

Pascal: Stringovi

Stringove smo vec pominjali i koristili u prethodnim primerima. Oni predstavljaju niz karaktera i kao takvi su jedan od najbitnijih elemenata u svim modernim programskim jezicima opste namene. Ovde cemo obraditi neke od brojnih funkcija i operacija sa stringovima u Pascalu.

Pogledajmo sada jedan primer sa stringovima:

program Stringovi;
uses
crt;

var
ime,pre,c,n:string;

begin
write('Unesite ime: ');
readln(ime);
write('Unesite prezime: ');
readln(pre);
c := ' '; //dodajemo razmak
clrscr;
//nastavljanje
writeln('Puno ime je: ', concat(ime,c,pre));
//moze i sa +
c := ime+pre;
writeln('Zbir imena i prezimena je: ', c);
//brisanje dela stringa
n := c; //cuvamo originalni zbir
delete(c,2,3);
writeln('Zbir bez tri slova: ', c);
//razno
writeln('Broj karaktera u imenu: ', length(ime));
writeln('Zbir malim slovima: ', lowercase(n));
writeln('Zbir velikim slovima: ',upcase(n));
writeln('Pozicija prezimena u zbiru: ',pos(pre,n));
readln;
end.

U nasem programu najpre smo uneli ime i prezime. Zatim smo pomocu funkcije concat sastavili tri stringa u jedan, i demonstrirali kako se isti efekat moze postici sa prostim sabiranjem. Zatim smo obrisali deo stringa pomocu funkcije delete. Argumetni su delete(string,pocetak brisanja,duzina brisanja). U delu razno smo obradili jos nekoliko funkcija. To su length koja vraca duzinu stringu, zatim prebacivanje u mala i velika slova pomocu lowercase i upcase, kao i odredjivanje pozicije stringa u stringu pomocu funkcije pos.

U koliko pod Uses ucitate i sysutils, bice vam dostupne dodatne korisne funkcije, poput IntToStr i StrToInt. Pogledajmo jos jedan primer.

program Stringovi2;
uses
crt, sysutils;

var
ime,god,lin:string;
g,x:integer;

begin
write('Unesite ime: ');
readln(ime);
write('Unesite godiste: ');
readln(god);
clrscr;
//prebacivanje u integer i nazad
g := strtoint(god);
g := 2020 - g;
god := inttostr(g);
//sabiranje stringa
lin := '2020te punite ' + god + ' godina';
writeln(lin);
//vracamo vrednost u god
g := 2020 - g;
god := inttostr(g);
//prebacivanje u ASCII i nazad
x := ord(ime[1]);
writeln('ASCII prvog slova imena: ', x);
lin := chr(x);
writeln('Prvo slovo imena iz ASCII: ',lin);
insert(god,ime,3);
writeln('Godiste ubaceno u ime: ',ime);
delete(ime,3,4);
writeln('Obrisano godiste iz imena: ',ime);
readln;
end.

Ovde smo najpre uneli ime i godiste. Zatim smo prebacili godiste u integer da bi izvrsili racunsku operaciju, nakon cega smo vrednost opet vratili u string i ispisali na ekranu. Zatim smo prebacili slovo u ASCII vrednost i nazad, i na kraju pokazali kako se string ubacuje i izbacuje iz drugog stringa. Argumenti funkcije insert su (string koji ubacujemo, string u koji ubacujemo, mesto odakle pocinjemo). Argumenti funkcije delete su vec objasnjenji u prethodnom primeru.

Svi moderni jezici imaju brojne funkcije sa stringovima. Ovde smo obradili samo neke koje se cesto koriste. Vise o stringovima u pascalu pogledajte ovde i ovde.

Linux tutorijal 24 – VeraCrypt

Prikaz programa VeraCrypt.

Linux tutorijal 23 – Jednostavna enkripcija fajlova

U ovoj epizodi pricam o enkripciji fajlova uz pomoc ccrypt, gpg i 7z.

Gimp tutorijal 72 – G’MIC filter Extract Foreground

Odgovor na pitanje jednog od gledalaca u vezi G’MIC filtera Extract Foreground.

Gimp tutorijal 71 – Prikaz novih verzija skripti za Gimp 2.9.x

Prikaz novih verzija skripti za Gimp 2.9.x.
Skripte Highpass sharpening i Kalendar su preradjene da ne izbacuju poruke upozorenja. Skripte su kompatibilne i sa starom verzijom Gimpa 2.8.x.

Skripte mozete preuzeti iz download sekcije bloga Kompjuteri:
https://kompjuteri2011.wordpress.com/download/

Gimp tutorijal 70 – Prikaz Gimp-a 2.9.x

Nastavak prikaza Gimp-a 2.9.x iz prethodne epizode.

Gimp tutorijal 69 – Gimp 2.9.x u AppImage formatu

Prikaz Gimpa 2.9.x u AppImage formatu.

Linkovi:
https://discuss.pixls.us/t/gimp-2-9-5-appimage-ready-for-testing/1959
https://kompjuteri2011.wordpress.com/2016/08/10/appimage/
http://www.gimp.org/
https://www.dropbox.com/s/hy9ihpqoe0bth84/gimp-2.9.5-20160808.glibc2.15-x86_64.AppImage?dl=0

%d bloggers like this: