среда, 15 октября 2014 г.

Istoria: Programul revolutiei lui Tudor Vladimirescu

Revoluţia de la 1821 condusă de Tudor Vladimirescu a fost unul dintre evenimentele care au marcat începutul procesului de renaştere naţională a României. Revoluţia a avut cauze naţionale, economice şi sociale şi, deşi a fost în cele din urmă înfrântă, a adus în atenţia cancelariilor marilor puteri europene situaţia din Principatele Dunărene şi a determimat Imperiul Otoman să pună capăt domniilor fanariote.

Tudor Vladimirescu, conducătorul revoluţiei de la 1821

Tudor Vladimirescu (sau Theodor, aşa cum s-a iscălit întotdeauna) s-a născut în satul Vladimir din Gorj, pe la 1780, (data naşterii încă este subiect de controversă istorică), într-o familie de ţărani liberi, cu o bună stare materială. A devenit unul dintre reprezentanţii tinerei burghezii aflate în plină ascensiune: a fost arendaşul mai multor moşii, vătaf de plai (subprefect) de Mehedinţi şi a practicat negustoria. A participat la războiul ruso-turc din 1806 – 1812 în fruntea unui corp de panduri olteni, fiind decorat cu ordinul „Sfântul Vladimir” clasa a III-a şi înălţat la gradul de locotenent. A călătorit mult în ţară şi în străinătate, a învăţat câteva limbi străine şi a legat o strânsă prietenie cu intelectuali ardeleni (Gheorge Lazăr devenindu-i sfetnic apropiat), prin intermediul cărora a avut acces la lucrările unora dintre corifeii Şcolii Ardelene. A dat dovadă de reale aptitudini de comandant şi organizator militar, fiind cel care a pus bazele noilor unităţi de panduri, care trebuiau să devină nucleul „Adunării norodului” – oastea revoluţiei de la 1821.

Programul revoluţiei

Ţelurile revoluţiei de la 1821 au fost consemnate în diferite acte, începând cu Proclamaţia de la Padeş şi Scrisoarea către Poartă „Cererile norodului românesc” din 23 ianuarie/4 februarie 1821, continuând cu Proclamaţiile din 16/28 martie, 20 martie/1 aprilie, al doilea „arzmagzar” către Poartă din 27 martie/8 aprilie şi alte scrisori şi declaraţii ale lui Vladimirescu. Din toate documentele reiese că se urmărea realizarea în etape succesive a unor măsuri care să asigure instituirea unei noi ordini sociale şi politice şi să asigure accesul ţării la un statut de mai largă independenţă.
În cadrul „Cererilor norodului românesc” (un document care trebuia să devină germenele unei constituţii româneşti), se proclama că „în folosul a toată obştea” să fie instaurată o viaţă politică şi administrativă românească, (prin eliminarea elementului fanariot), „Cererile…” urmând să fie întărite cu jurămât, recunoscute de sultan şi garantate de Austria şi Rusia. Domnul, care rămânea în continuare să fie numit de puterea suzerană – Imperiul Otoman – trebuia să conducă ţara, respectând acest act, care ţinea locul unei constituţii, în unire cu „Adunarea norodului”, în timp ce Tudor, „ales şi hotărât de întregul popor român”, urma să exercite guvernarea efectivă. Numirile în toate dregătoriile mari şi mici, civile, militare sau ecleziastice trebuiau să se facă pe viitor numai prin „alegerea şi voinţa a tot norodul”, numai dintre cei potriviţi pentru respectivele slujbe şi în mod obligatoriu din rândurile celor „pământeni şi patrioţi”. Funcţionarii urmau să numai fie numiţi fără „dare de bani”, astfel încât „caftane cu bani să înceteze cu totu[l] a se mai face, ci numai după slujbă”. Se cerea de asemenea desfiinţarea tuturor categoriilor de scutiţi de plata impozitelor, iar „toate lefile străinilor să lipsească cu totul”. Aparatul administrativ trebuia redus la strictul necesar, urmând să fie desfiinţate toate organele socotite „jăfuitoare”: Hătmănia Divanului, Vornicia Capitalei, Spătăria cea mare, etc.
„Cererile…” prevedeau şi o reformă a justiţiei, prin desfiinţarea „legiuirii lui Caragea”, care nu era făcută „cu voinţa a tot norodul”. Învăţământul, care trebuia să cuprindă întreg „tineretul naţiunii roe” indiferent de originea socială, trebuia să devină treptat obligatoriu şi gratuit. Problemele fiscale formau un capitol aparte, urmând să fie puse pe baze noi, prin desfiinţarea vămilor interne şi reducerea taxelor vamale de import-export, măsuri care ar fi trebuit să impulsioneze viaţa economică.
În ceea ce priveşte ţărănimea, se pare că din considerente tactice, Tudor Vladimirescu având nevoie de sprijinul boierilor „făgăduiţi”, dar fiind atent şi la reacţiile imperiilor vecine, nu a fost abordată problema reformei agricole radicale, care ar fi dus la împropietărirea ţăranilor. În schimb, se întărea dreptul clăcaşilor pentru folosirea pământului de care fuseseră deposedaţi în timpul domniei lui Ioan Gheorghe Caragea. Proclamaţia din 23/4 martie făcea cunoscută „zdrobirea şi încetarea vericăruia jăf şi nedreptate ce aţi cercat până acum din pricina oblăduitorilor domni ce [...] v-au supt sângele” şi anunţa o „mare uşurinţă” în ceea ce priveau „toate celelalte dări şi orânduieli”, măsuri care trebuiau să aducă la „scăparea robiei întru care v-aţi aflat până acum”. [7] În lupta pe care urma să o poarte, el avea nevoie de sprijinul boierimii, singura forţă politică recunoscută de Imperiul Otoman şi de celelalte puteri, capabilă să-i susţină demersurile diplomatice. Tudor a făcut de la început o deosebire între boierii pământeni şi aceia care erau susţinătorii şi beneficiarii regimului fanariot. Cu toate acestea, încă de la începuturile revoluţiei, el a proclamat împărţirea „averilor rău agonisite”.
Un alt capitol important al programului lui Vladimirescu era constituirea unei armate naţionale permanente, alcătuită din panduri cu „căpeteniile lor” şi 200 de arnăuţi.
Experienţele ultimilor decenii au impus acţiuni bine cumpănite pentru a nu stârni reacţiile marilor puteri europene, pentru a nu provoca represaliile otomane sau declanşarea unor lupte între armatele străine pe teritoriul Munteniei. Linia politică externă adoptată de Tudor Vladimirescu era aceea de a nu da Porţii niciun motiv să-i justifice intervenţia armată. Aparenta lipsă de ostilitate faţă de puterea suzerană, tonul prevenitor al „arzmagazarurilor” trimise la Istambul, tratativele duse cu paşalele de la Dunăre trebuie înţelese din această perspectivă. Documentele rămase din timpul revoluţiei reiau ca un laitmotiv necesitatea ca Imperiul Otoman să nu se amestece în treburile interne ale ţării. De fapt, cererea de înlocuire a domnilor fanarioţi era în sine o poziţiilor Porţii.
O dezvoltare nouă a evenimentelor a apărut după intrarea în acţiune a Eteriei şi după dezavuarea oficială de către ţarul Alexandru I al Rusiei a mişcării greceşti şi a celei româneşti.
În ceea ce priveşte relaţiile cu celelalte provincii româneşti, Tudor îndemna Divanul să coopereze cu fraţii de dincolo de Milcov, ca „fiind la un gând şi la un glas cu Moldova, să putem câştiga deopotrivă dreptăţile acestor prinţipaturi, ajutorându-se unii pre alţii”.

Urmări şi concluzii

În primăvara lui 1822, de la Bucureşti şi Iaşi au fost trimise delegaţii pentru a cere Înaltei Poarţi domni pământeni. Din aceste delegaţii au făcut parte printre alţii: Ioniţă Sandu Sturdza, un coborâtor al lui Vlad Ţepeş, Grigorie Dimitrie Ghica, nepot de frate al decapitatului Grigore Alexandru Ghica al Moldovei [28] şi vornicul Iordache Râşcanu, viitor membru in divanul domnesc al Moldovei. Această acţiune a adus în Moldova, după lunga perioadă fanariotă, din nou un domn pământean în persoana lui Ioniţă Sandu Sturdza[29] şi în Muntenia pe Grigore al IV-lea Ghica. Deşi înfrântă prin intervenţia armatelor otomane, Revoluţia din 1821 a reuşit să determine sfârşitul epocii fanariote prin restabilirea domniilor pământene, lucru care a dus la înlăturarea gravelor prejudicii aduse de Poartă statutului de autonomie a celor două Ţări Române. Totodată, revoluţia a consolidat ceea ce Nicolae Bălcescu va denumi mai târziu ca fiind „Partida Naţională”.

Informatica: Subprograme


Subprogramele in Pascal

In anumite situatii, este necesar ca o sceventa de instructiuni sa se execute de mai multe ori in cadrul unui program, eventual cu alte date; sau este nevoie pentru usurarea algoritmului sa se faca impartirea unei probleme in subprobleme. O astfel de secventa poate fi cuprinsa in cadrul uni modul de program numit subprogram. La aceste subprograme referirea se face cu ajutorul unui nume si eventual parametri (adica date de intrare si iesire pentru subprogramul respectiv).
            In Pascal exista doua tipuri de subprograme:
-          subprograme de tip procedura;
-          subprograme de tip functie.
Tot ca si o clasificare: subprogramele pot fi predefinte de limbaj (sqrt(), val()) si definite de programator. Noi ne vom ocupa de a doua categorie.
Indiferent de tip, subprogramele trebuie declarate si definite in cadrul programului principal inainte de blocul acestuia.
EX:
Program nume_principal;
USES  unituri
CONST  declaratii_constante
TYPE declaratii_tipuri de date
VAR declarartii_variabile

Declaratii de proceduri si functii

BEGIN
            {blocul programului – unde apare apelul la subprogram}
END.
O declaratie de subprogram se realizeaza in doua parti:
-          un antet de subprogram (care face legatura intre programul principal si subprogram);
-          blocul subprogramului (care descrie functionarea subprogramului).

1.    Procedurile – se declara astfel:
      PROCEDURE  nume [(lista parametrilor formali)];
      [Declaratii;]
Begin
            {corpul procedurii}
End;
Unde        nume=este un identificator ce constituie numele simbolic dat de programator procedurii.
                  Lista parametrilor formali= este optionala (poate fi vida) si precizeaza datele de care depinde subprogramul si tipul lor si are urmatoarea forma:
                  ([var] lista_variabile1:tip1;[var] lista_variabile2:tip2;……….);
Utilizarea parametrilor formali confera subprogramelor capacitatea de a actiona independent de contextul programului, dar se supun unor reguli:
-          in cadrul subprogramului se manifesta ca orice variabila declarata la inceputul unui program;
-          pot fi date de intrare (fara var, referirea la ele se face prin valoare) sau date de iesire (cu var, referirerea la ele se face prin adresa)
-           nu pot fi declarati din nou in partea de declaratii a procedurii;
                  Declaratii=procedura poate avea lista ei de declaratii in general de variabile. In cazul in care in aceasta parte se declara alte subprograme atunci avem de-a face cu subprograme imbricate. Toate declaratiile facute in acest loc sunt locale subprogramului in care sunt declarate (adica lucrurile definite aici nu au semnificatie decat in cadrul acestui subprogram.
Declaratiile facute in programul principal se numesc globale si se vad si se pot folosi in tot programul, inclusiv in interiorul subprogramelor. 
Apelul procedurilor se face in felul urmator:
Nume [(lista parametrilor actuali)];
Unde nume=numele stabilit de programator procedurii;
            Lista parametrilor actuali=o lista de variabile sau expresii dar care trebuie sa corespunda ca si numar, ordine, tip cu lista parametrilor formali de la definirea procedurii.
            Apelul unei proceduri are ca efect intreruperea secventei de instructiuni din partea apelanta (program principal sau alt subprogram), realizarea corespondentei intre parametrii actuali cu cei formali, executia subprogramului apelat, dupa care se revine la programul apelant. Astfel in memorie: se  aloca spatiu pentru p. actuali, variabilele locale, adresa de revenire in programul apelant, se face transferul parametrilor actuali, se transmite controlul primei instructiuni din subprogram.
EX: sa se scrie un program care face suma a n matrici patratice citite de la tastatura.
-          o procedura de citire,
-          o procedura de calcul al sumei.
uses crt;
type matrice=array[1..10,1..10] of integer;
var a,s:matrice;
    n,i,j,m:integer;
procedure citire(var a:matrice;n:integer);
var i,j:integer;
begin
     for i:=1 to n do
         for j:=1 to n do
             begin
                  write('a[',i,',',j,']=');
                  readln(a[i,j]);
             end;
end;
procedure suma(x:matrice;n:integer;var s:matrice);
var i,j:integer;
begin
     for i:=1 to n do
         for j:=1 to n do
             s[i,j]:=s[i,j]+x[i,j];
end;
BEGIN
clrscr;
write('Dati dimensiunea matricilor ');
readln(n);
write('Dati numarul de matrici la care se face suma ');
readln(m);
for i:=1 to m do
begin
     writeln('Dati a ', i,' a  matrice');
    citire(a,n);
    suma(a,n,s);
end;
writeln('Matricea suma este');
for i:=1 to n do
   begin
     writeln;
     for j:=1 to n do
         write(s[i,j],'  ');
   end;
readln;
END.

2.    Functiile – se declara astfel:
      FUNCTION  nume [(lista parametrilor formali)]:tip;
      [Declaratii;]
Begin
            {corpul functii}
            nume:=expresie;
End;
Elementele nume, lista parametrilor formali, declaratii au aceeasi semnificatie ca la proceduri. Diferenta fata de acestea este ca o functie returneaza o valoare care are un anumit tip (standard, string sau adresa a unei date) specificat in linia de antet si obligatoriu in cadrul blocului functiei numele acesteia trebuie sa primeasca o valoarea unei expresii.
Apelul unei functii se face prin: nume(lista parametrilor formali)  dar aceasta forma trebuie sa apara in cadrul unei expresii, a unei atribuiri, sau valoarea returnata de functie se va tipari.
Ex: Se da un vector cu numere naturale si se cere sa se numere cate din ele sunt prime.
Program nrprime;
Uses crt;
Type vector=array[1..10] of word;
Var       v:vector;
            I,n,nr:integer;
Function prim(a:word):boolean;
Var
Begin
            Prim:=true;
            For I:=2 to trunc(sqrt(a)) do
                        If a mod I=0 then prim=false;
            If a=2 then prim:=true;
            If a=1 then prim:=false;
End;
BEGIN  Clrscr;
            Write(‘n=’);readln(n);
            Nr:=0;
            For I:=1 to n do
            Begin
                       Readln(v[I]);
                       If prim(v[I])=true then nr:=nr+1;
            End;
Writeln(‘Vectorul are ‘, nr,’  numere prime’);
Readln;
END.
Mecanismul de transfer al parametrilor:
            Am specificat ca parametrii pot fi de doua tipuri:
-          parametri de intrare, transmisi prin valoare, (nu au cuvantul rezervat var in fata) mecansimul de lucru cu acestia este urmatorul:  in momentul apelarii subprogramului se transmite valoarea acestui parametru care se va pastra intr-o zona de memorie separata, iar toate modificarile referitoare la acesta se vor face in acest loc, iar in momentul iesirii din subprogram cand se lucreaza cu aceasta variabila modificarile nu vor fi vizibile.
EX:
Program  xxx;
Var x,y:integer;
Procedure ex(x:integer);  
Begin
            x:=5;
End;
Begin    x:=8;
            Ex(x);
            Writeln(x);  End.
Acest program va tipari valoarea 8.
-          parametri de iesire, transmisi prin adresa (care au in fata cuvantul rezervat VAR), mecanismul de lucru este urmatorul: in momentul apelarii subprogramului acestora nu lise rezerva memorie ci se va lucra direct in zona de memorie aloca la declararea variabilelor respective (deci toate modificarile din subprogram vor fi vizibile si in programul principal.
EX:Program  xxx;
Var x,y:integer;
Procedure ex(var x:integer);  
Begin
            x:=5;
End;
Begin
            x:=8;
            Ex(x);
            Writeln(x);
End.
Acest program va tipari valoarea 5.
Domeniul de vizibilitate al variabilelor
Am stabilit ca variabilele se impart in: variabile locale unui subprogra si variabile globale. Semnificatie acestora se vede in urmatorul desen:

Astfel

-          variabilele declarate in PP vor fi vizibile in S1, S2, S3, S4, S5.

-          variabilele declarate in S1 vor fi vizibile in S1 si in S2, iar in PP, S3, S4, S5 nu;
-          variabilele declarate in S3 vor fi vizibile in S4 si S5 iar in PP si S1, si S2 nu.
-          Variabilele declarate in S4 vor fi vizibile doar acolo si nu in S5, S3, S1, S2 si PP
 
           


Variabilel declarate in S3 sunt variabile locale pentru pentru S3 dar sunt variabile globale pentru S4 si S5. Variabilele declarate in PP sunt globale deoarece sunt vizibile de toate subprogramele. Daca exista o variabila declarata si in  S3 si in S4 (ex: var a:integer) atunci in S3 se va folosi variabila definita acolo iar in S4 variabila a declarata in S4 cea din S3 pierzandu-si semnificatia.

In Pascal se pot folosi si subprograme declarate in zona de declaratii si definite mai tarziu folosind cuvantul rezervat FORWARD, acest lucru face posibila utilizarea unui subprogram inainte de a-l defini.

EX: Program  xxx;
Var x,y:integer;
Procedure ex1(var x:integer);FORWARD;
Procedure ex2(x:integer);  
Begin
            Ex1(x);
End;
Procedure ex1;  
Begin    X:=6;  End;

Begin    x:=3;
            Ex2(x);
            Writeln(x); End.
Se va tipari valoar


http://elimulnou.md/wp-content/uploads/Functii-si-Proceduri.pptx