Upload
mihajlo-jonic
View
233
Download
7
Embed Size (px)
DESCRIPTION
Iz Wikipedije, slobodne enciklopedijeTaiji dijagram, simbol taoizmaTaoizam je naziv za filozofska i religijska učenja koja se temelje na metafizičkom tumačenju kineskog znaka Tao. Taoisti Tao tumače kao princip kontinuiteta u vječno mijenjajućem Univerzumu. Taoizam je ostavio neizbrisiv trag na razne oblasti kineske kulture, a poslije se proširio i po drugim oblastima istočne Azije.Jedan od utemeljitelja taoizma je i Lao Tse, koji je živio u 6. vijeku pne. Lao Ce je poučavao da ljudi treba da žive u harmoniji sa prirodom. On je naglašavao važnost jednostavnog života i održanje ravnoteže sa prirodom, pri čemu se nije slagao sa Konfučijevim uvjerenjem da su u jednom društvu najvažniji snažna porodica i država. On nije vjerovao u zakone i poučavao je da je najbolji način života ne preduzimati nikakve snažne, protivprirodne akcije. Temeljno djelo taoizma je Tao Te Chinga, koja se često prevodi kao Knjiga Puta i Vrline.Središnji pojam taoizma je Tao (ili Dao). Tao je nepromjenjiv, prije je svih stvari. Od njega potiču nebo i zemlja, kao dva pola. Muški princip Jang (duh, dobro, ljubav, svjetlo) i ženski princip Jin (tvar, zlo, mržnja, tmina), koji zajedno održavaju sklad svijeta u neprestanom mijenjanju. Taoisti Tao tumače kao princip kontinuiteta u vječno mijenjajućem univerzumu.Taoizam kao religija se pojavljuje dosta kasnije, u 2. vijeku ne. Taoizam je jedna od velikih religioznih tradicija nastalih u Kini. Za razliku od velikih zapadnjačkih religija, taoizam nema jednog Boga ni proroka osnivača. Jedno od glavnih vjerovanja taoizma je da svaka osoba treba da slijedi sopstveni Tao ili Put. Univerzalan, a ipak veoma lične prirode, taoizam je imao značajnog utjecaja na duhovni život mnogih kultura, kako u Aziji, tako i širom svijeta.Važno je međutim napomenuti da taoizam nije jasno izdiferencirana religija, baš kao ni konfucijanstvo i kineski budizam, već svi zajedno čine jednu cjelinu - kinesku narodnu religiju koja se je godinama razvijala i prihvaćala razna učenja. Podjela Kineza na taoiste, budiste i konfičijaniste je jedna velika zabluda na Zapadu, a u stvari su ovo samo tradicije koje zajedno čine jednu cjelinu. Istina je da se Kinezi izjašnjavaju kao pripadnici jedne od ovih religija, ali to je samo zato što time žele istaknuti da su više privrženi tom vjerovanju nego ostalima. Mnogi deklarirani taoisti ili konfucijanci idu često u budističke hramove i obrnuto.
Citation preview
1
GENERATORSKI MODULI
2
Generatorski modul za generisanje strukture podataka
genericpackage PODACI isPOD1: TIP1;POD2: TIP2;end PODACI; Ovako definisani generatorski modul može se iskoristiti
u drugom modulu na sličan način kao i strukturni tipovi podataka. Na primer:
package TEKUCI_PODACI is new PODACI; Pristup podacima:
TEKUCI_PODACI.POD1
3
GENERATORSKI MODULI SA PARAMETRIMA
Parametri generatorskih modula mogu da budu: tipovi, procedure i funkcije ili uobičajeni parametri (promenljive na primer).
Primer korišćenja:procedure IZMENA(A,B: in out T) isPOM: T := A;beginA := B;B := POM;end IZMENA;
4
Generatorski modul za generisanje procedure
generictype TIP is private;procedure IZMENA (A,B: in out TIP) isPOM: TIP := A;beginA := B;B := POM;end IZMENA;
5
Generatorski modul za generisanje procedure
Ovako definisani modul postoji smo kao model potprograma koji se stvarnogeneriše u fazi kompilacije programa. Generisanje posebnih procedura, primeraka datog modula (instanci), postiže se pomoću new, sličnokao kod izvedenih tipova podataka.declare
procedure IZMENA_BOJA is new IZMENA(TIP => BOJA);procedure IZMENA_INT is new IZMENA(TIP => INTEGER);M,N: INTEGER;BOJA1,BOJA2: BOJA;begin....IZMENA_BOJA(BOJA1,BOJA2);IZMENA_INT(M,N);....end;
6
Ograničenja tipovaOgraničenja tipovaTakođe se mogu postaviti i određena ograničenja na tipove podataka:
type TIP is (<>); Diskretni tiptype TIP is range <>; Celobrojni tiptype TIP is digits <>; Tip pokretnog zarezatype TIP is delta <>; Tip fiksnog zareza.
7
Generatorski modul sa ograničenjem tipova podataka
generictype BILO_KOJI is (<>); -- Bilo koji diskretni tip;function SLEDECI(A: BILO_KOJI) return
BILO_KOJI isbegin
if A = BILO_KOJI'LAST thenreturn BILO_KOJI'FIRST;
elsereturn BILO_KOJI'SUCC(A);
end if;end SLEDECI;
Korišćenje:
function SLEDECI_DAN is new SLEDECI(BILO_KOJI => DAN);function SLEDECE_DOBA is new SLEDECI(BILO_KOJI => GOD_DOBA);
8
Paketi kao generatorski moduliPaketi kao generatorski moduli
generictype BILO_KOJI is (<>);package POMERANJE isfunction SLEDECI (A: BILO_KOJI) return BILO_KOJI;function PRETHODNI(A: BILO_KOJI) return BILO_KOJI;end POMERANJE;package body POMERANJE isfunction SLEDECI .....function PRETHODNI ....-- Ovde bi bile definisane funkcije na način kako-- je to dato u prethodnom primeruend POMERANJE;
9
Strukturni tipovi u generatorskim Strukturni tipovi u generatorskim modulimamodulimageneric
type ELEMENT is digits <>;type INDEKS is (<>);type VEKTOR is array (INDEKS) of ELEMENT;procedure SUMA (V: VEKTOR) return ELEMENT isS: ELEMENT := V(INDEKS'FIRST);begin
for I in INDEKS rangeINDEKS'SUCC(INDEKS'FIRST)..INDEKS'LAST loopS := S + V(I);
end loop;return S;
end;
10
Strukturni tipovi u generatorskim Strukturni tipovi u generatorskim modulimamodulima
type PADAVINE is delta 0.1 range 0.0 .. 200.0;type MESECI is (JANUAR, FEBRUAR, MART, APRIL,
MAJ, JUN, JUL, AVGUST, SEPTEMBAR, OKTOBAR, NOVEMBAR, DECEMBAR);
type PADAVINE_MES is array (MESECI) of PADAVINE;
procedure GOD_PADAVINE is new SUMA(VEKTOR => PADAVINE_MES);
ELEMENT => PADAVINE(INDEKS => MESECI)
11
Funkcije kao argumenti Funkcije kao argumenti generatorskih modulageneratorskih modula
generictype FORMAL is digits;function F(X: FORMAL) return FORMAL;function INTEGRAL(DGR,GGR: FORMAL)
return FORMAL isbegin-- Potprogram kojim se određuje-- integral funkcije F po nekoj od-- numerickih metoda;end INTEGRAL;
12
Funkcije kao argumenti Funkcije kao argumenti generatorskih modulageneratorskih modula
declarefunction INTEGRAL_SIN is new
INTEGRAL(FORMAL => FLOAT; F=>SIN);PI := 3.14158;beginY := INTEGRAL_SIN(0.0, PI/2.0);end;
13
C++- Generičke funkcijeC++- Generičke funkcijetemplate <class T>T max (T i, T j){
return i>j ? i : j;}
Kad se pozove sa max(5,8) funkcioniše kao da je funkcija max definisana kao:
int max (int i, int j){
return i>j ? i : j;}
14
C++- Generičke funkcijeC++- Generičke funkcijeMože se koristiti i eksplicitni zahtev za generisanje funkcije na osnovu šablona:
float max (float, float); Poziv ove funkcije bio bi:
float g = max (i, f);
15
Šablonske klaseŠablonske klase
template <class T, int k>class Vektor {
T element [k];public:
int duzina;public:
Vektor();T& operator[] (int i);
};
16
Definicije funkcijaDefinicije funkcijatemplate <class T, int k>Vektor<T, k>::Vektor (){
duzina = k;}template <class T, int k>T& Vektor<T, k>::operator[] (int i) {
return element[i];}
17
Instanciranje klaseInstanciranje klase
Vektor realnih brojava dužine 12 bio bi definisan na sledeći način:
Vektor<float, 12> vek;
Pristup elementu vektora vek:
vek[3] = 4.2;