Cu informatii pentru dezvoltare personala, dar şi pentru studentţi, elevi, profesori, webmasteri, programatori
marți, 1 februarie 2011
Tipul de date string în Pascal
Un modul este un element simplu şi autonom, care însă poate intra în calitate de componentă într-un ansamblu mai complex.
Se numeşte curs multimedia instructiv (CMI) o reţea de module, create pe baza tehnologiilor multimedia, reprezentînd informaţii multimedia, pentru acumularea cunoştinţelor în orice domeniu disciplinar.
La elaborarea unui curs instructiv asistat de calculator trebuie de pacurs următoarele etape:
După cum s-a meţionat mai sus una din priorităţile instruirii asistate de calculator este aplicarea elementelor multimedia: imagini grafice, imagini 3D, elemente de sunet (voce, mizică), clipuri-video, filme, animaţie. Ele oferă posibilitatea explicării proceselor complexe prin adăugarea efectelor ilustrative multimedia.
Obietivul de bază al implementării lecţiilor electronice, incluse în cursurile multimedia instructive este asistarea şi înlocuirea patţială a materiei studiate în mod tradiţional. Deaceea la crearea cursurilor de instruire electronice autorul trebuie să selecteze minuţios temele ce vor fi incluse în curs. Cursul creat trebuie să fie consecutiv şi integru.
Utlizarea tehnologiilor informaţionale asigură instruirea computerizată cu acomodarea la viteza de asimilare a informaţiei pentru fiecare utilizator în parte.
Modulele cursului multimedia elaborat trebuie să conţină un număr suficient de obiecte de navigare, hottascuri (combinaţii de taste), pauze, posibilităţi de anulare (ESC) a unor acţiuni etc. Modumele informaţionale şi paginile cursului pot fi legate prin cuvinte-cheie, legături definite de autor.
E necesar să oferim posibilitatea alegerii de către utilizator a oricărei teme pentru strudiere. Trebuie să asigurăm ieşirea către începutul programului (meniul de bază), cît şi către pagina primară a oricărui modul...
Sugestii şi recomadări de creare a cursului:
Este bine de folosit nu mai mult de trei culori pe o pagină. Alte efecte pot fi obţinute prin schimbarea temporară a culorii fragmentului, care apoi revine la culoarea iniţială.
Documentele grafice sunt informaţii în formă de imagini fixe reprezentînd grafice, schiţe tehnice, desene, imagini foto. Utilizarea imaginilor la crearea unui curs multimedia insctructiv îl face mai explicit, mai interesant, mai captivant
Secvenţele video sunt informaţii în formă de imagini în mişcare – filme etc. Pregătirea benzilor animate este un proces mai complicat, dar în unele cazuri poate fi necesar. O deosebire clară între video-clipuri şi animaţie nu este reliefată. Cu filme sunt reflectate imagini din lumea reală, iar cu animaţii şi vedeo-clipuri – imagini din lumea virtuală.
Există mai multe forme de proiectare a unui dialog. Din cele mai cunoscute tipuri de dialog sunt:
- selectarea cu ajutorul mause-lui a opţiunii necesare din meniu;
- înscrierea opţiunii necesare, sau a abrevierii acesteia;
- activarea unei taste corespunzătoare funcţiei date.
Cea mai eficientă este selectarea cu ajutorul mouse-lui.
Secvenţele audio sunt informaţii în formă acustică: voce, muzică,sunet, etc. În cadrul creării unui curs multimedia instructiv sunetul reprezintă un mijloc eficient de influenţare. Cu ajutorul sunetului putem contribui la focalizarea atenţiei către un obiect de pe ecran. Secvenţele audio ocupă un volum mare, deaceea se vor utiliza doar în caz de strictă necesitate.
O valoare psihologică înaltă o are maniera sau tonul de expunere a informaţiei de studiu. Pentru ca expunerea informaţiei să fie mai accesibilă este necesar să fie ales un ton agreabil. O abordare aproblemei de-o manieră autoritară va avea o expunere severă şi neatractivă, deaceea poate duce la plictiseală şi la scăderea interesului faţă de studiu, pînă la abandonarea cursului. Folosirea binevoinţei, nuanţelor de umor contribuie la stabilirea unui feedback (conexiune inversă)sănătos între utilizator şi CMI
Download Tipul de date string
Tipuri de date Array (Tablou) în Pascal.
Array-urile ale căror componente pot fi identificate folosind un singur indice sunt numite array-uri unidimensionale, array-urile ca b[i,j] cu doi indici sunt numite bidimensionale, iar cele cu mai mult de doi indici sunt numite multidimensionale.
Matematicienii şi oamenii de ştiinţă folosesc frecvent array-uri bidimensionale pe care le numesc matrici. Toate array-urile ilustrate mai jos respectă definitia unui array, dar ele nu sunt în egală masură acceptate de Pascal
Array-urile sunt folositoare, dar nu necesare pentru însumarea numerelor. Consideram urmatorul program pentru adunarea a cinci valori întregi:
PROGRAM suma5;
var
a,b,c,d,e,suma:integer;
begin
writeln('Introduceti a,b,c,d,e ');
readln(a,b,c,d,e);
suma:=a+b+c+d+e;
writeln('Suma este: ',suma)
end {suma5}.
Acum, presupunem ca în loc de cinci valori de intrare avem 50, 500 sau 5000! Evident, tehnica utilizată în programul suma5 nu "prea ţine"; cine este dispus să inventeze 5000 de nume diferite de variabile? Altfel stau lucrurile dacă vom folosi un array, ca în programul nouasuma5.
PROGRAM nouasuma5;
const
n=5000;
var
a:array[1..n] of integer;
i,suma:integer;
begin
suma:=0; { initializare suma }
for i:=1 to n do
begin
read(a[i]);
suma:=suma+a[i];
end;
write(suma);
end {nouasuma5}.
Se pune următoarea întrebare: a fost necesară definirea unui array? Raspunsul este: nu. Argumentul este simplu - nu a fost exploatată proprietatea de acces direct a array-ului. Pentru această problemă, soluţia preferată este cea ilustrată în programul prezentat mai jos, care foloseşte o singură variabilă de intrare a:
PROGRAM suma;
var
s,a:integer;
begin
s:=0;
while NOT eof do
begin
read(a);
s:=s+a;
end;
write(s);
end {suma}.
§3. Managementul indicilor
Presupunem că a este de tip array [0..n] of integer; unde n este o constantă, iar i un înteger. Pentru a atribui fiecărui element a[i] valoarea indicelui este usor.
for i:=0 to n do
a[i]:=i;
Pentru a atribui fiecărui element a[i] valoarea n-i procedam ca în exemplul urmator:
Exemplu:
for i:=0 to n do
a[i]:=n-i;
for i:=0 to n do
a[n-i]:=i;
În fiecare caz a trebuit să descoperim cîte o relaţie între a[i], a[n-i] şi i şi între a[i] şi n-i.
Iata un exemplu mai interesant.
Presupunem că procedura exchange este corespunzător definită ca un array ce conţine cîteva valori şi că dorim să inversăm ordinea acelor valori.
a[0]<->a[n]
a[1]<->a[n-1]
a[2]<->a[n-2]
Relaţia dintre indicii succesivi este uşor de stabilit:
a[i]<->a[n-i]
Dar ce limită superioară ar trebui să fie folosită de ciclul for astfel încît să minimalizăm numărul de schimbări necesare ?
Exprimarea din exemplul urmator, dupa cum se poate constata uşor, nu face mai nimic!
Exemplu:
for i:=0 to n do
exchange(a[i],a[n-i]);
Ceea ce ne trebuie este soluţia următoare, care lucrează atît pentru o valoare para a lui n, cît şi pentru o valoare impară.
Exemplu:
for i:=0 to (n-1) div 2 do
exchange(a[i],a[n-i]);
Exemplele prezentate sunt tipice utilizării array-ului cu o dimensiune. Cheia succesului constă în managementul indicilor.
Tipuri de date array
Programare dinamică. Programe rezolvate.
Datorită frecvenţei folosirii aceluiaşi termen, vom nota noţiunea de programare dinamică prin iniţialele PD.
PD este o tehnică de programare de nivel înalt în sens că necesită o îmbinare între intuiţie şi rigurozitate matematică. Expunem, într-un mod intuitiv, ideile acestei tehnici.
În general, termenul de "principiul optimalităţii" semnifică următoarele: atunci când vrem să obţinem o situaţie favorabilă dintr-un anumit punct de vedere, este bine ca ea să rezulte tot din spaţii favorabile. Un exemplu intuitiv este acel al distanţelor:
Într-un cartier sînt mai multe case, pe care le vom nota cu litere: A,….,Z. Dacă există un drum minim de la A la Z şi acest drum trece de exemplu prin D, atunci porţiunile din acest drum situate între A şi D, respectiv D şi Z sunt minime.
Pentru a justifica aceasta, să presupunem prin absurd că drumul A-α-D nu ar fi minim. Înseamnă că există alt traseu A-β-D mai scurt decât acesta; dacă luăm atunci drumul A- β - D - Z, el va fi evident mai scurt decât drumul A - α - D - Z, care este considerat ca fiind drum minim, contradicţie.
Deci, dacă traseul A-Z este optim, atunci orice subtraseu al său este optim.
Principiul optimalităţii are 3 variante:
s1, s2, …, si să fie optim.
De precizat că reciproca nu este adevărată totdeauna: din îmbinarea a două optime nu rezultă neapărat un optim; doar dacă avem un optim, putem fi siguri că el este compus din două optime. Deci trebuie să facem toate combinaţiile di soluţii parţiale optime pentru a găsi acea pereche de optime care alăturate conduc la un optim. Am folosit mai sus termenul de optim, dar nu am precizat în ce sens. Criteriul ales nu este valabil pentru orice problemă, ci va fi un criteriu specific problemei pe care o tratăm. În exemplu anterior criteriul era distanţa dintre două puncte (de exemplu A şi Z). Deci noţiunea abstractă cu care se lucra în problemă era ceia de distanţă, iar optim înseamnă lungimea ei, măsurată în anumite unităţi.
Dacă - spre exemplu - vom aborda o problemă care necesită să evaluăm ce preţ trebuie plătit pentru a duce un sistem dintr-o stare în alta, noţiunea cu care se va lucra este banul, iar optim va însemna cît mai puţini. După cum se poate intui, întotdeauna se va găsi o cuantificare a realităţii astfel în cît optimalitatea să se refere la numere.
Rezolvările folosind PD sunt în general bazate pe realizarea unei optimizări, de aflare a unui şir optim de transformări conform criteriului care ne intersectează.
Deficienţa acestei metode este că depinde de experienţa personală şi de capacitatea de a intui. Şi încă un lucru: să nu vă speriaţi; de obicei programele de PD sunt extrem de scurte şi neaşteptat de simple.
Programare dinamica
Programarea numerelor mari în Pascal
Download Numere mari
luni, 31 ianuarie 2011
Metode de organizare a efectelor de animaţie în Pascal
Caracterul general rezultă din faptul că principiile didactice vizează toate componentele procesului de învăţământ, sunt aplicabile permanent în procesul de predare - învăţare la informatică. Principiile didactice au caracter normativ prin funcţia lor, orientativă şi reglatoare, în stabilirea obiectivelor, în structurarea conţinutului, în alegerea formelor de realizare a procesului de predare - învăţare, în alegerea strategiilor didactice prin îmbinarea metodelor, a mijloacelor de instruire şi realizarea evaluării.
Caracterul sistematic rezultă din faptul că principiile didactice sunt sisteme de norme care trebuie aplicate în fiecare forma de activitate didactică. Nerespectarea unui principiu didactic poate conduce la anularea sau atenuarea celorlalte.
Caracterul dinamic deschis al principiilor didactice rezulta din faptul că acestea nu sunt rigide. Numărul principiilor nu este limitat, ele pot multiplica sau integra în principii cu o sfera mai larga. Principiile didactice permit manifestarea creativităţii în proiectarea şi realizarea activităţii instructiv-educative.
§1. Principiul intuiţiei sau unităţii dintre senzorial şi raţional
Principiul intuiţiei exprimă necesitatea obiectelor, fenomenelor şi proceselor prin intermediul simţurilor, care realizează cunoaşterea senzoriala a realităţii, ca punct de plecare şi de uşurare a înregistrării esenţialului realităţii spre cunoaşterea logica, raţională, contribuind la înfăptuirea unităţii dintre senzorial şi raţional.
Principiul intuiţiei a apărut ca un demers legic împotriva învăţării scolastice, învăţării mecanice, pe de rost, împotriva buchiselii. Principiul intuiţiei a corespuns necesităţii psiho-pedagocice a realizării unui învăţământ bazat pe înţelegere, legat de viaţă, realist.
Realizând unitatea dintre cunoaşterea senzoriala şi cea raţională, principiul intuiţiei nu înseamnă deci rămânerea la treapta cunoaşterii senzoriale. El realizează treapta cunoaşterii senzoriale, pentru uşurarea înţelegerii, pentru a ajunge la treapta dificilă, dar de mare importanţă pentru cunoaştere, treapta învăţării logice (a cunoaşterii raţionale), bazată pe studierea elementelor şi conexiunilor abstracte, esenţiale şi generale exprimate, prin noţiuni, concepte, idei, teorii, principii etc. Numai astfel se poate ajunge prin învăţare la însuşirea ştiinţei. Principiul intuiţiei face ca învăţarea să fie mai întâi ca o reflectare în mintea elevilor sub formă de percepţii şi reprezentări. Percepţiile şi reprezentările nu sunt simple imagini (fotografii) globale ale realităţii, ci ele sunt acte psihice de cunoaştere activă, de reflectare cognitivă, care stau la baza realizării proceselor psihice ideatice sub forma noţiunilor, ideilor, teoriilor etc., deci de cunoaştere (învăţare) raţională. În acest context, a intui înseamnă a observa şi a gândi în acelaşi timp.
Principiul intuiţiei se realizează prin îmbinarea materialului didactic intuitiv-natural la scara lor reala, şi de substitute (machete, modele, reprezentări grafice, mijloace audio-vizuale, mijloace logico-matematice etc.).
Pedagogul elveţian Robert Dottrens spunea: „Nu există obiectul, nu trebuie să aibă loc predarea”.
Îmbinarea echilibrată a celor trei componente: imaginea, cuvântul şi elementele logico-matematice reprezintă esenţa intuiţiei pentru o învăţare eficientă.
Prezentarea materialului intuitiv este un mijloc de învăţare eficientă, organizată, dirijată, sistematică, activă, corelată cu interesele şi trebuinţele elevului, elevii nu ştiu să observe, ei trebuie învăţaţi să vadă şi să desprindă din obiecte şi fenomene esenţialul, dar şi specificul particularul. Nu este suficient să priveşti, să mânuieşti, să pipăi, să cântăreşti obiectele pentru a obţine o cunoştinţă ştiinţifică despre realitate, ci este necesar să sesizezi esenţialul prin problematizare. Obiectele nu-l instruiesc singure pe elev, ci profesorul instruieşte cu ajutorul acestora prin orientarea gândirii şi interpretării, prin problematizare, prin emitere de ipoteze. Dacă profesorul nu îndrumă intuiţia elevilor, ei reţin caracterele particulare ale obiectelor (culoare, formă, mărime, mişcare) care le atrag atenţia şi nu sesizează esenţialul, de aceia este necesară intuirea polimodata, dirijată prin cuvânt, sistematizată după un plan, într-o ordine logică. Instruirea nu se reduce la furnizarea imaginilor sau reprezentărilor unor obiecte, evenimente, la înlocuirea „verbalismului cuvântului” cu „verbalismul imaginii”. Nu modelul în sine şi simpla intuire duce la învăţarea cu sens şi are efecte formative, ci acţiunea cu modelul, prin care elevul însuşi descoperă relaţii, principii, legităţi.
Download Grafica
Tipul de date fişier în Pascal
Despre necesitatea cunoaşterii şi aplicabilitatea tipului de date fişier ne conving culegerile de probleme la informatică.
Practica arată că elevul trebuie să revină periodic la rezolvarea diferitor probleme cu aplicarea tipului de date fişier. Acest fapt contribuie la dezvoltarea gîndirii analitice, a intuiţiei şi a creativităţii, calităţii necesare pentru studierea ulterioară a informaticii atît la treapta liceală, cît şi în învăţămîntul universitar.
Unii elevi învaţă mai eficient rezolvînd probleme rezolvate. Nu este vorba de memorarea rezolvării (deşi şi acest lucru este util la o anumită etapă de învăţare, nu oricine poate rezolva orice, dar oricine poate învăţa o rezolvare), ci de reluarea rezolvării pe altă cale. În acest scop profesorul poate propune elevilor rezolvarea unor exemple mai dificile, urmate ulterior de discuţii asupra metodelor de rezolvare.
Să nu uităm de sfatul lui G.Polya: „Dacă vreţi să învăţaţi să rezolvaţi probleme, trebuie... să rezolvaţi probleme”.
Teza are drept scop studierea detaliată a temei şi formularea unor metode şi strategii didactice pebtru predarea – învăţarea – evaluarea temei „Tipul de date fişier”.
Lucrarea constă din două capitole:
Capitolul I constă din 9 paragrafe, unde sunt expuse noţiunile teoretice generale despre tipul de date fişier şi anume: clasificarea fişierelor, fişiere cu tip, fişire fără tip, fişiere text, proceduri şi funcţii definite asupra tipului de date fişier.
Capitolul II constă din 5 paragrafe. Acest capitol conţine informaţii referitoare la: curriculum liceal la tema „Tipul de date fişier (file)”, unde sunt prezente numărul de ore (opţional) şi aranjarea lor pentru predare-învăţare; tratarea temei „Tipul de date fişier (file)” în manualul Informatica. Limbajul de programare Pascal. Manual pentru clasele IX-XI de Anatol Gremalschi, Iurie Mocanu şi Ion Spinei; necesitatea utilizării problematizării la lecţiile de informatică. La fel se conţine un şir de probleme de dificultate diferită ce pot fi propuse elevilor pentru antrenament şi consolidarea cunoştinţelor la tema „Tipul de date fişier (file)”. Ultimul paragraf al acestui capitol, şi anume „Sugestii privind evaluarea” aduce cititorului un set de teste de evaluare formativă şi sumativă ce au ca scop determinarea nivelului de cunoştinţe a elevilor, a abilităţilor lor, determinarea erorilor şi posibilitatea lichidării lor.
Prezenta lucrarea are drept scop familiarizarea cititorului cu noţiuni de predare – învăţare – evaluare a temei tipul fişier în liceu. Această lucrare poate fi utilă studenţilor şi profesorilor.
§1. Clasificarea fişierelor
Fişierul este o colecţie organizată de informaţii (date, rezultate, programe sursă, programe direct executabile etc.), dispuse pe unul sau mai multe suporturi externe.
Componentele unui fişier se numesc înregistrări (articole) şi pot avea dimensiune fixă sau variabilă. Numărul de componente dintr-un fişier este variabil, fiind limitat doar de capacitatea de memorare a suportului utilizat. Sfîrşitul unui fişier este uneori marcat printr-o componentă specială (end of file - caracterul ^Z).
Fişierul, în contextul limbajului Pascal, este o structură de date omogenă, formată din componente de acelaşi tip, exceptînd tipul fişier.
Înregistrarea este constituită dintr-o mulţime de valori ale unor caracteristici asociate unui obiect, proces etc., din domeniul aplicaţiei.
Componentele înregistrării asociate diverselor caracteristici sunt denumite cîmpuri de date.
Limbajul Pascall permite utilizarea fişierelor cu înregistrări de lungime fixă (stabilită la momentul prelucrării) şi variabilă (două înregistrări alăturate sunt separate prin marcaje speciale, de exemplu prin caracterele CR/LF - sfîrşit de linie).
Din punct de vedere fizic (al suportului extern), fişierul este o succesiune de octeţi.
Accesul la componentele unui fişier are la bază următorul mecanism: fiecare fişier are un indicator (pointer) al componentei curente, cea accesibilă în acel moment. Pentru fiecare acces la fişier (adică, pentru fiecare operaţie de citire sau scriere), indicatorul avansează de la componenta curentă la următoarea componentă, care devine astfel componenta curentă.
Modul de acces la componente poate fi: secvenţial (accesul la componenta n din fişier trebuie precedat de inspectarea componentelor 0, 1, 2, , n-1) şi direct sau aleator (poziţionarea se face direct pe componenta respectivă).
Cînd se lucrează cu un fişier, acestuia i se asociază o variabilă tampon avînd tipul de bază al componentelor fişierului. Variabila tampon realizează interfaţa între fişier şi program.
Variabilelor fişier (utilizate în programe, atunci cînd lucram cu fişiere) li se asociază, de obicei, fişiere fizice, aflate pe suport extern şi gestionate de către sistemul de operare. În conţinuare, vom nota cu f variabila fişier utilizată la un moment dat.
Din punct de vedere al limbajului Pascal şi al conţinutului lor, fişierele se împart în două mari categorii:
- fişiere text, în care toate datele sunt sub formă de caractere ASCII (un caracter/octet). Practic, fişierele text conţin caractere organizate în linii de lungime variabilă, liniile consecutive fiind separate printr-un marcaj de sfîrşit de linie (end of line) reprezentat prin perechea de caractere de control Carriage Return şi Line Feed - CR/LF.
- fişiere binare, în care toate datele sunt memorate în formă identică cu cea din memoria principală. Practic, fişierele binare sunt fişiere cu componente de tipuri definite de programator.
Fişierele binare se împart, la rîndul lor, în două clase:
- fişiere cu tip (în care înregistrările au structura şi lungimea fixe, precizate la momentul fiecărei prelucrări);
fişiere fără tip (în care înregistrările sunt blocuri binare de lungime fixă, precizată ca parametru în procedura de deschidere a fişierului; nu se face nici o ipoteză referitoare la structura blocurilor; un bloc este o succesiune de octeţi)
Download Fisiere
Alocarea memoriei în Turbo Pascal
§1. Tabloul
Fie Ani={1,2,….ni} mulţimea primelor ni numere naturale. Fie M=An1 x An2 x…..x Ank produsul cartezian a k astfel de mulţimi. Definiţie: Se numeşte tablou o funcţie f:M→T, unde T este o mulţime oarecare. Numărul k este dimensiunea tabloului. Dacă k=1 tabloul se mai numeşte şi vector. Vectorul are n1 componente. Dacă k=2 tabloul se mai numeşte şi matrice. Matricea are n1xn2 elemente. Majoritatea limbajelor de programare evoluate au implementat tipul tablou (array în Turbo Pascal). Pentru a identifica elementele unui tablou se folosesc indicii. Exemplul 1: Distanţa dintre două mulţimi în plan se consideră distanţa dintre două puncte ale acestor mulţimi, situate cel mai aproape unul de altul. Aflaţi distanţa dintre două mulţimi de puncte date. (pr.38, §5, [1])
Download Alocarea-memoriei
Modulul Graph în Turbo Pascal
1. Iniţializarea regimului grafic
Placa grafică sau adaptorul de ecran este componenta hard a calculatorului care asigură gestiunea memoriei şi controlul monitorului video. Driver-ul grafic este componenta soft-ului care comandă placa grafică. Placa grafică tratează ecranul în două moduri:
În regimul text fiecare caracter ce apare la ecran este păstrat în memoria calculatorului în doi octeţi, unul cuprinde codul ASCII al caracterului, iar al doilea culorile, iluminarea, culoarea fonului şi clipirea. În regimul grafic memoria ecranului are un cod pentru fiecare pixel prin care se determină culoarea pixelui.
Zona de memorie ecran pentru memorarea unui ecran se numeşte pagină video. Pagina video care apare la un moment dat pe ecran se numeşte pagină vizibilă. Prelucrarea informaţiei grafice în Pascal este susţinută de modulul Graph.
Modulul Graph pune la dispoziţie circa 90 de proceduri şi funcţii păstrate în fişierul graph.tpu. Utilizarea procedurilor şi funcţiilor grafice este posibilă dacă în partea declarativă uses vom declara modulul graph. Fiecare regim grafic are driver-ul său specific. Tabelul următor conţine lista regimurilor grafice posibile pentru diferite adaptoare grafice. În prima coloniţă sunt indicare tipurile de drivere, în a doua – numărul de pixeli de pe ecran, în coloniţa a treia este indicată palitra de culori a regimului dat, în ultima coloniţă sunt indicate numărul de pagini video care se pot încărca simultan în memoria videoadaptorului.
Orice program Turbo Pascal ce conţine prelucrarea informaţiei grafice trebuie să cuprindă:
[like url=http://resurse-educationale.uv.ro/]Iniţializarea regimului grafic se relizează prin procedura InitGraph cu formatul:
InitGraph(var GraphDriver:integer; {tipul adaptorului}
var GraphMode:integer; {regimul grafic}
var DriverPath:string); {calea spre driver}
De exemplu:
procedure ini;
var gd, gm:integer;
begin
gd:=detect;
initgraph(gd,gm,'c:\tp\bgi');
if graphresult<>grok then halt(1);
end;
Download Modulul Graph
Biblioteci în Turbo Pascal
Modulul UNIT - este o unitate de program, textul căruia se compilează de sinestătător (autonom). Această unitate de program include descrierea constantelor, variabilelor, tipurilor de date utilizate, a procedurilor şi funcţiilor ce vor fi create şi care mai apoi vor putea fi chemate în programul de bază. Însă structura internă a modulului personal este ascunsă (în programul unde se apelează unit-ul) de utilizator.
Structura generală a unui UNIT
Un modul poate fi despărţit în cîteva compartimente: antetul unit-ului, secţiunea de interfaţă, secţiunea de implementare, secţiunea de iniţializare (ea poate să lipsească).
Antetul unit-ului
Antetul modulului puţin se deosebeşte de antetul programului. În modul în locul cuvîntului rezervat Program se utilizează cuvîntul rezervat Unit. Tot aici pot fi indicate directivele compilatorului.
La alegerea numelui modulului este necesar de luat în consideraţie următoarea latură specifică: vom ţine cont ca numele unit-ului să nu coincidă cu numele căreiva funcţii sau proceduri standarde, cuvînt rezervar sau numele alttui obiect de programare din interiorul programului. La această cerinţă se mai adaugă încă una: numele unit-ului trebuie să corespundă cu numele fişierului în care se păstrează acest unit. Deaceea numele unit-ului nu trebuie să conţină mai mult de opt simboluri.
Secţiunea de interfaţă
Nou spre deosebire de structura unui program este secţiunea de interfaţă. În acest compartiment se descriu toate constantele, tipurile de date şi variabilele, procedurile şi funcţiile accesibile în acest modul pentru a putea fi utilizate în cadrul altor programe externe. Secţiunea de interfaţă conţine toată informaţia, necesară pentru a putea fi accesată de altă programe, descrisă în modulul dat. Orice altă informaţie despre modul pentru a putea fi utilizat nu este necesară.
În secţiunea de interfaţă este posibil de a face accesibili pentru utilizare module deja create indicînd numele lor în compartimentul uses. După operatorul uses se declară tipurile de date, vatiabilele ce vor fi utilizate la descrierea procedurilor şi funcţiilor descries în acest modul.
Toate procedurile şi funcţiile ce vor putea fi utilizate mai apoi în alte programe sunt descries în secţiunea de interfaţă indicîndu-se numele lor şi parametrii. Textul ca atare al procedurilor şi funcţiilor va fi mai apoi descries în secţiunea de implementare unde se va mai indica încă o dată numele procedurii sau funcţiei.
În practică este posibil şi cazul cînd secţiunea de interfaţă lipseşte aşa cum este indicat în exemplul leer.pas, ce conţine modulul Leer. Acest modul este foarte simplu şi este pur demonstrative.
unit Leer;
INTERFACE
{Acest compartiment este gol}
IMPLEMENTATION
uses crt;
begin
clrscr;
writeln(‘Salut!’)
end.
Secţiunea de implementare
Secţiunea de implementare este compartimentul modulului în care se scrie textul propriu zis al procedurilor şi funcţiilor descries în secţiunea de interfaţă. Procedurile şi funcţiile se descriu exact aşa cum ne-am obişnuit să o facem în programele obişnuite. Tipurile de date şi structura lor sunt inaccesibile pentru cealaltă pasrte a unit-ului şi sunt utilizate numai în secţiunea de implementare. La fel ca şi secţiunea de interfaţă secţiunea de implementare poate să fie vidă.
Secţiunea de iniţializare
Secţiunea de iniţializare reprezintă blocul principal al modulului. Instrucţiunile Indicate în acest bloc se îndeplinesc primele, adică mai întîi se îndeplinesc instrucţiunile din secţiunea de iniţializare a modulului, apoi instrucţiunile ce se conţin între begin şi end al programului Pascal ce utilizează modulul în cauză. De exemplu programul de mai jos exemplu.pas va fi realizat în felul următor: unit-ul Leer.tpu în secţiunea de implementare conţine instrucţiunile clrscr – curăţirea ecranului, apoi writeln(‘Salut!’) – afişează la ecran cuvîntul Salut după care se va realiza instrucţiunea writeln(‘Program demonstrativ’).
program exemplu;
uses Leer;
begin
writeln(‘Program demonstrativ’)
end.
Pentru a putea utiliza acest unit în alte programe Pascal este necesar de a salva acest unit cu nume_unit.pas, apoi se va compila unit-ul tastînd [F9] (Compile) iar pentru opţiunea Destination se va instala valoarea Disk. În urma acestei operaţii pe disc se va forma fişierul nume_unit.tpu. dacă ve-ţi tasta [Ctrl+F9] atunci după compilare va apărea informaţia Can not run a unit care ne informează că unit-ul nou creat nu se poate realiza desinestătător.
Download Biblioteci in Pascal
duminică, 30 ianuarie 2011
Web-site pentru afacerea ta pe Internet
Epoca de pionierat a Internetului s-a terminat. In prezent asistam la inceputul unei revolutii in modul de a face afaceri la scara globala, 24 de ore din 24. Afacerile online ( e-business ), comertul electronic, magazinele electronice, etc. au devenit deja termeni consacrati in lumea financiara si bancara. Dupa un raport al Forrester Research vanzarile online au crescut de la 300 milioane USD in 1995, la peste 6 miliarde USD in 2000 si se asteapta sa depaseasca cifra de 90 miliarde USD in 2005. In ultimul deceniu, Internetul a evoluat intr-o unealta formidabila avand un impact major in toate aspectele vietii. La fiecare jumatate de an apar schimbari asa de importante incat este imposibil de prevazut unde se va ajunge in urmatorii 10 ani. Conform unor statistici, utilizatorul tipic de Internet este american (84%), alb (87%), vorbitor de limba engleza (93%), in varsta de 35 de ani, educat si avand un salariu bun. Astazi, din ce in ce mai multe firme si chiar persoane particulare au o pagina web. Pe Internet, se gasesc la dispozitia celor interesati toate mijloacele necesare pentru crearea de site-uri web. Se pot realiza atit site-uri simple, avand cateva pagini, cit si site-uri deosebit de complexe, de sute de pagini si care inglobeaza ultimele tehnologii in domeniul: Flash, Shockwave, Java, Javascript, etc. La momentul actual exista din ce in ce mai multe firme care se ocupa cu webdesign, dar preturile cerute pentru realizarea unei pagini web sunt destul de mari. Web-ul astazi, ca si cel de ieri si cel de maine se afla intr-o continua transformare si metamorfoza care pe cei mai multi fie ii lasa rece fie ii ameteste si ii descurajeaza in incercarea de a intelege mai mult. Scopul lucrarii date este de a-l pune in actualitate pe omul “studioso” cu posibilitatile oferite de internet la accesarea informatie si utilizarea ulterioara a acesteia in scopuri proprii. De asemenia, imi propun ca prin lucrarea data persoana fizica sa obtina o idee si informatie mai larga privind posibilitatile proprii de promovare personala si a unei afaceri prin intermediul internetului utilizind web-siturile. In cadrul primului capitol voi demonstra, pe cit e posibil, ca E-afacerile ocupa un segment important in piata afacerilor globale. In primul capitol voi prezenta prin intermediul unor exemple eficacitatea utilizarii internetului prin demonstrarea posibilitatilor largite ale E-learningului, care dupa cum se pare a avut un impact neastptat de mare asupra societatii contemporane. De asemeni voi aduce exemple ale utilizarii Internetului in realizarea unei afacere precum si utilizarea acestuia drept sursa principala de realizare ale bunurilor unui agent economic. Modalitatea de afisare a informatiilor pe internet are loc in mare parte prin intermediul Web-Siturilor, astfel ca in cadrul capitolului doi ma voi opri in mod special asupra acestora. O atentie deosebita o voi acorda clasificarii acestora din diferite puncte de vedere. Ulterior in acest capitol voi atrage atentia asupra principiilor de administrare a afacerilor pe internet. Datorita faptului ca aceasta lucrare va fi concentrata asupra eficientei economice a sit-urilor web, voi analiza unele modele business de sit-uri, oprindu-ma in mod special la modelul publicitar, cel de sustinere a unor afaceri existente precum si modele de lansare a unor noi afaceri cu toate efectele pozitive ulterioare lansarii acestuia, desigur in cazul unei lansari de succes. De asemeni voi prezenta perspectivele generale ale acestor modele de afaceri precum si pe zone geografice concrete, aducind drept exemplu dezvoltzarea in ultimii ani. Dupa ce voi da o explicatie privind tipurile existente ale web-sit-urilor si posibilitatile de utilizare ale acestora, ulterior ma voi opri asupra crearii in sine a acestuia, iar mai amanuntit asupra etapelor de creare a site-ului web, dat fiind importanta cu care trebuie tratat acest proces la fiecare din etapele crearii lui. Am structurat aceest capitol in patru parti care reprezinta, dupa parerea mea, etape absolut obligatorii in realizarea unui site-web care sa atraga vizitatorii. In literatura de specialitate sau pe siturile care furnizeaza informatii despre webdesign probabil aceste etape, precum si pasii necesari pentru parcurgerea lor, vor fi denumite altfel. Din considerente proprii de machetare a lucrarii si pentru a fi pe cit posibil cit mai concisa eu am gasit aceste denumiri. Poate ele nu sunt cele mai sugestive, dar intelegerea si parcurgerea lor in totalitate sunt esentiale daca dorim sa obtinem o audienta maxima pentru site.
1.Economia digitala si impactul ei asupra societatii
Utilizarea larga a tehnologiilor informatiei si comunicatiilor si progresul catre
Societatea Informationala asigura cresterea economica in conditii de protectie
sporita a mediului, accelerand reducerea consumului fizic in favoarea valorificarii
informatiei si a cunoasterii, deplasarea centrului de greutate de la investitii in
mijloacele fixe la investitii in capitalul uman. In acest mod,
Societatea Informationala integreaza si obiectivele dezvoltarii durabile,
bazata pe dreptate sociala si egalitatea sanselor, libertate, diversitate
culturala si dezvoltare inovativa, protectie ecologica, restructurarea industriei
si a mediului de afaceri.
Schimbarile majore din ultimii ani – cresterea exponentiala a comunicatiilor mobile
si a numarului utilizatorilor de Internet, contributia sectorului TIC (tehnologiile
informatiei si comunicatiilor) la cresterea economica si la crearea de locuri de munca,
restructurarea companiilor si a business-ului in general pentru a beneficia mai eficient
de noile tehnologii, dezvoltarea accelerata a comertului electronic – sustin tranzitia de
la era industriala la cea post - industriala.
Noile tehnologii digitale fac accesul, stocarea si transmiterea informatiei din ce in
ce mai facile si mai accesibile. Dispunand de informatia digitala, aceasta poate fi
transformata in noi valori economice si sociale, creand imense oportunitati pentru
dezvoltarea de noi produse si servicii. Informatia devine resursa-cheie pentru economia digitala.
Notiunea de “noua economie” (economia digitala) se refera in special la transformarile
actuale ale activitatilor economice ca rezultat al utilizarii tehnologiilor digitale,
care asigura accesul, prelucrarea si stocarea informatiei intr-o maniera mai ieftina
si mai facila. Noua economie este caracterizata de intensificarea inglobarii cunoasterii
in noile produse si servicii, cresterea importantei invatarii si a inovarii, a
globalizarii si a dezvoltarii durabile. Volumul enorm al informatiilor schimba modul
de functionare a pietelor, facand posibile restructurarea intreprinderilor si aparitia
de noi oportunitati pentru crearea de valoare prin exploatarea informatiilor disponibile.
In prezent, exista ample dezbateri in mass-media internationala si in mediile politice
asupra intrebarii daca aceste modificari sunt suficient de radicale pentru a merita
eticheta de “noua economie”. La originea acestor dezbateri stau performantele
exceptionale ale economiei americane: 8 ani de crestere continua, cresterea anuala
de peste 4% in ultimii ani, inflatia controlata sub 2%, somajul sub 5%.
Construirea noului model de societate ridica probleme socio-politice majore - atat
la scara nationala cat si internationala - de atenuare a fenomenului de "digital
divide" (excludere de la beneficiile noilor tehnologii a unor categorii sociale
si a unor regiuni/zone geografice) si de coeziune sociala, de conservare si promovare
a culturii specifice fiecarei natiuni si comunitati locale, de protectie a cetateanului
si consumatorului. Solutionarea acestor probleme nu se poate realiza decat printr-un
dialog larg intre autoritatile guvernamentale, reprezentantii mediului de afaceri, ai
mediului academic si societatea civila.
Download Web site pentru afacere
Programe rezolvate în Pascal
Program P2.1;
uses crt;
var i,n,s : integer;
f : boolean;
begin
clrscr;
repeat
write('Introduceţi un număr natural n=');
readln(n);
until n>2;
if n mod 2=0 then f:=false else f:=true;
write('s=');
for i:=1 to n-2 do
if(not f) and (i mod 2 =0)then write('*',i)
else
if f and (i mod 2<>0)then write('*',i);
writeln('*',n);
readkey;
end.
Se dă un număr natural n. Verificaţi daca acest număr este prim sau nu.
Program P2.2;
uses crt;
var i,n,f : integer;
begin
clrscr;
repeat
write('Introduceţi un număr natural n=');
readln(n);
until n>2;
f:=0;
for i:=2 to n div 2 do
if n mod i=0 then f:=1;
if f=0 then
writeln('Numărul',n:6,' este prim')
else
writeln('Numărul',n:6,' nu este prim');
readkey;
end.
Este dat intervalul numerelor naturale de la n pina la m. Determinati toate numerele naturale din acest interval.
Program P2.3;
uses crt;
var i,n,f,j,r,m : integer;
begin
clrscr;
repeat
write('Introduceţi limita de jos a intervalului n=');
read(n);
write('Introduceţi limita de sus a intervalului m=');
readln(m);
until (n>0) and(m>0) and(n<m);
writeln('Introduceţi intervalul de la',n:6,'pina la',m:6');
r:=0;
for j:=n to m do
begin
f:=0;
for i:=2 to j div 2 do
if j mod i=0 then f:=1;
if f=0 then
begin r:=1;
writeln('Numărul',j:6,' este prim')
end;
end;
if r=0 then writeln('Numărul nu este prim');
readkey;
end.
Se da un număr natural n. Determinaţi toate numerele prime, inclusiv n.
Program P2.4;
uses crt;
var i,n,f,j,r,m : integer;
begin
clrscr;
repeat
write('Introduceţi un număr natural n=');
readln(n);
until n>0;
writeln('Introduceţi intervalul de la 1 pînă la',n:6');
r:=0;
for j:=1 to n do
begin
f:=0;
for i:=2 to j div 2 do
if j mod i=0 then f:=1;
if f=0 then
begin r:=1;
writeln('Numarul',j:6,' este prim')
end;
end;
if r=0 then writeln('Numărul nu este prim');
readkey;
end.
Introduceţi doua numere naturale m si n. Determinaţi împărţitorul lor comun NOD.
Program p2_5;
uses crt;
var i,m,n,k,nod:integer;
begin
clrscr;
repeat
write('Introduceţi numărul natural n=');
readln(n);
write('Introduceţi numărul natural m=');
readln(m);
until (n>0) and (m>0);
if n>m then k:=m else k:=n;
for i:=1 to k do
if (n mod i=0) and (m mod i=0) then nod:=i;
writeln('Împărţitorul numărului comun ',n, 'şi', m,
'nod=',nod);
readkey;
end.
Tema 3:
Sunt date următoarele n numerele naturale. Găsiţi suma tuturor numerelor naturale negative.
Program P3.1;
uses crt;
var n,x,sum,i : integer;
begin
clrscr;
repeat
write('Introduceţi lungimea următoarelor numere n=');
readln(n);
until n>0;
sum:=0;
for i:=1 to n do
begin
writeln('introdu x=');
readln(x);
if x<0 then sum:=sum+x;
end;
if sum=0 then writeln('Numărul negativ nu exisţă')
else
writeln('Suma numerelor negative este sum=',sum);
end.
Sunt date următoarele n numere naturale. Găsiţi numărul maximal.
Program P3.2;
uses crt;
var n,x,max,i : integer;
begin
clrscr;
repeat
write('Introduceţi lungimea următoarelor numere n=');
readln(n);
until n>0;
writeln('introdu x=');
readln(x);
max:=x;
for i:=2 to n do
begin
writeln('introdu x=');
readln(x);
if (x>max) then max:=x;
end;
writeln('Numărul maximal este max=',max);
end.
Download probleme rezolvate Pascal
Limbajul Pascal. Stive. Cozi.
Printr-un tip de dată înţelegem o mulţime cu elemente numite valori.
Exemplu:{-32768, 32767, .......0,1,........32767} este omulţime de numere întregi. Atunci cînd nu există posibilatea de confuzie, putem nota mulţimea de mai sus astfel: [-32768,32767]. Un element al acestei mulţimi este 7 (valoarea 7). În Turbo Pascal un astfel de tip se numeşte integer. Şi este predefinit (este cunoscut de limbaj, nu trebuie definit de programator).
Pe mulţimea valorilor unui tip se definesc operaţiile asociate tipului.
Exemplu: Pentru tipul integer se definesc operaţiile de adunare, scădere, înmulţire etc.
Pentru fiecare tip se defineşte modul în care se valorile sale.
Exemplu: Pentru tipul integer valorile se memorizează utilizînd codul complementar şi se folosesc 2 octeţi consecutivi.
Pentru a lucra cu date de un anumit tip se folosesc variabile.
O variabilă se caracterizează prin: tip (natura datelor şi modul de memorare), nume (prin care aceasta se adresează) şi adresă (număr de ordine al primului octet în care se reţin datele, memoria internă fiind privită ca o succesiune de octeţi numerotaţi).
Tipuri de date pot fi simple (mulţimile care alcătuiesc nu sunt rezultate ca produs cartezian a altor mulţimi) şi stucturate în caz contrar. Exemplu:tipul integer este simplu, iar tipul record este structurat.
Limbajele de programare evoluate utilizează din plin tipurile de date. Mai mult, unele din ele permit programului, folosind tipurile existente, să definească noi tipuri de date. Limbajul Turbo Pascal este un exemplu în acest sens.
Noţiunea de tip de date este strânsă legată de un anumit limbaj de programare. În situaţia în care se renunţă la această legătură, se ajunge la o altă noţiune mult utilizată şi anume cea de structură de date.
Exemplu: Mulţimea este o structură de date (după cum vom arăta). În limbajul Turbo Pascal există tipul mulţime (set). Alte limbaje (de exemplu C) nu cunosc acest tip. Aceasta nu înseamnă că în C nu vom putea lucra cu mulţimi. Sarcina noastră este să înţelegem structura de date numită mulţime şi să o implementăm în orice limbaj de programare dorim.
Un curs de algoritmi trebuie să fie independenţi de orice limbaj. Fapt că în aceasta lucrare algoritmii se implementează în Turbo Pascal nu înseamnă că ei pot fi folosiţi numai în acest limbaj. Din acest motiv, orice curs de algoritmi va utiliza noţiunea de structură de date.
Download Limbajul Pascal Stive Cozi
miercuri, 26 ianuarie 2011
Programarea Web cu Microsoft ASP.NET
de la Microsoft Active Server Pages (ASP), dar beneficiază de suportul platformei de
dezvoltare Microsoft .NET.
Una dintre cele mai importante calităţi ale ASP.NET este timpul redus necesar dezvoltării
aplicaţiilor web. Atât tehnologia în sine, cât şi uneltele de dezvoltare de aplicaţii web de la
Microsoft (cum ar fi Visual Web Developer Express - VWD) – reduc considerabil timpul de
dezvoltare al aplicaţiilor web faţă de alte tehnologii – prin simplitatea unui limbaj de
programare ”managed” de genul C# sau Visual Basic .NET, prin colecţia bogată de biblioteci
de clase şi controale .NET care oferă foarte multă funcţionalitate ”out of the box”, prin
orientarea pe construirea de aplicaţii web a mediului de dezvoltare VWD.
Chiar dacă ASP.NET este gândit pentru a dezvolta aplicaţii web foarte complexe – prin
faptul că se bazează pe .NET, prin faptul că se insistă pe un model de dezvoltare OOP,
respectiv pe separarea interfeţei de logica aplicaţiei – totuşi, este extrem de simplu ca
folosind ASP.NET să dezvoltăm aplicaţii mici, de genul magazinelor online, al aplicaţiilor care
sunt pur şi simplu un ”front-end” pentru o bază de date, sau al site-urilor personale.
ASP.NET cuprinde toate tehnologiile necesare pentru a dezvolta o aplicaţie web, scriind
cantitatea minimă de cod. Limbajele de programare care pot fi utilizate pentru a crea aplicaţii
ASP.NET sunt cele suportate de platforma .NET – cum sunt Visual Basic .NET şi C#, iar o
altă caracteristica importanta a acestor limbaje (înafara faptului că sunt ”managed”) este ca
au fost create având în vedere paradigma programării orientată pe obiecte. Totul din .NET, şi
evident din ASP.NET, este un obiect.
Evident, orice site / aplicaţie web trebuie să fie găzduită pe un server pentru a putea fi
utilizată. Chiar dacă în capitolele viitoare vom discuta mai mult despre instalarea aplicaţiilor
ASP.NET, aici aş dori să prezint pe scurt variantele de găzduire.
Pentru o persoană / companie care doreşte să beneficieze de o aplicaţie ASP.NET, după
ce a fost dezvoltată, trebuie instalată undeva. Presupunând că ea a fost dezvoltată pentru
.NET, aplicaţia are nevoie de un server web IIS (internet Informations Services).