Se afișează postările cu eticheta programare. Afișați toate postările
Se afișează postările cu eticheta programare. Afișați toate postările

marți, 1 februarie 2011

Unit-uri în Pascal

Construirea şi gestiunea bibliotecilor utilizator şi gestiunea bibliotecilor standard se realizează cu programul utilitar tpumover.exe care lansează printr-o linie de comandă de forma:
tpumover.exe  fişier-1 [[optiune]fişier-2]] ...
Prin fişier-1 este desemnată o bibliotecă, iar prin fişier-2 o unitate compilată (extensiile implicite ale celor două fişiere sunt .tpl, respectiv .tpu). În absenţa informaţiilor pentru al doilea parametru, se listează conţinutul bibliotecii specificate. De exemplu, pentru listarea bibliotecii standard, considerînd că aceasta se află în directorul D:\TP\BIN, iar tpumover.exe  la fel se află în directorul D:\TP\BIN, se va folosi comanda:
D:\TP\BIN> tpumover.exe   \TP\BIN\TURBO
şi se va obţine o listă de forma:
TPU MOVER Version 7.0 Copyright (c) 1992 Borland International
Unit
Code
Data
Uses
System
22757
702

Overlay
1859
26
System
Crt
1567
20
System
Dos
1591
6
System
printer
54
256
System

Lista conţine unităţile din biblioteca standard, dimensiunea parţii de cod si de date asociate lor, precum şi uniturile pe care le utulizează. Se remarcă faptul că toate unităţile standard se referă la unitatea System. Pentru construirea bibliotecilor proprii, utilizatorul va lansa programul cu precizarea unui nume pentru fişierul bibliotecă, urmat de numele fişierelor .tpu precedate de opţiunea "+" (adăugare). De exemplu, directorul BIN conţine toate fişierele .tpu ale unităţilor create de utilizator, în acest caz pentru crearea bibliotecii personale My_bibl se va scrie:
D:\TP\BIN>tpumover.exe   My_bibl  +sisteme.tpu +matrix.tpu +Interpol.tpu
D:\TP\BIN>tpumover.exe   My_bibl  +ecuatii.tpu +functie.tpu +integr.tpu
După realizarea acestor comenzi ân directoriul BIN se va crea un fişier cu numele My_bibl.tpl.
          Pentru ştergerea unit-ului ecuatii.tpu din biblioteca My_bibl, se scrie comanda:
D:\TP\BIN> tpumover.exe   My_bibl –ecuatii.tpu
La o comandă de forma:
D:\TP\BIN> tpumover.exe   \TP\BIN\My_bibl
se vor afişa informaţii despre conţinutul bibliotecii :



http://resurse-educationale.uv.ro

Tipul de date string în Pascal

Elaborarea cursurilor multimedia instructive prin aplicarea tehnologiilor multimedia nu necesită abilităţi şi cunoştinţe de specialitate în informatică şi sunt accesibile tuturor ce deţin o cultură informaţională adecvată. Dat fiind faptul că sistemele şi tehnologiile multimedia sunt în continuă dezvoltare, cresc şi performanţele fiecărui tip de programe, fiind mai interesante şi mai captivante.

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.

Un array (masiv) este un bloc continuu de celule din memoria calculatorului, reunit sub un nume comun. Array-ul descrie o structură de entităţi (componente) care, geometric, sunt atît de regulate încît oricare dintre ele pot fi specificate în mod unic prin precizarea coordonatelor. Aceste coordonate sunt numite indici. În limbajul Pascal indicii sunt listaţi în paranteze drepte care urmeaza numelui array-ului ca în a[3] (se citeşte a de 3) şi b[i,j] (se citeşte b de i şi j!). Deşi [3] şi [i,j] nu pot apărea ca indici, ei sunt versiuni liniarizate ale indicilor folosiţi în notaţii ca a3 şi bi,j. Din moment ce array-urile sunt stocate în memorie, orice componente ale acestora pot fi accesate (regăsite) foarte repede, timpul de acces fiind independent de locaţia componentei (array-ului).

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ă faptului că este una din cele mai complexe tehnici de programare, vom acorda o atenţie mărită acestei modalităţi de tratare a programelor, atenţie însoţită de un număr mare de exemple. Ele sunt în majoritate de facturi diferite, şi constituie un bun punct de pornire în formarea unei gândiri dinamice.

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

Reprezentarea zecimală codificată binar se realizează prin exprimarea fiecărei cifre zecimale într-o tetradă binară conform unui anumit cod numeric. Cel mai utilizat este codul zecimal codificat binar, BCD (Binary Coded Decimal). Cifrele de la 0 la 9 sunt reprezentate prin valori binare echivalente, pe cîte 4 poziţii binare: 0 – 0000, 1 – 0001, ..., 9 – 1001. Se observă că din cele 16 valori distincte ce se pot reprezenta pe 4 poziţii binare, doar primele 10 sunt utilizate. Avantajul aceste codificări este corespondenţa  directă între cifra zecimală şi valoarea sa. Reprezentarea numerelor zecimale se realizează în grupuri de cîte 8 cifre binare în două forme: Drept exemplu, în figura 10 sunt redate reprezentările numărului 3278 în forma împachetată şi despachetată. Numerele negative pot fi reprezentate prin cod direct (mărime şi semn) sau prin coduri mai sofisticate: cod zecimal invers sau cod zecimal complementar. Semnul pentru astfel de numere se reprezintă printr-o combinaţie de 4 biţi, care nu se utilizează pentru reprezentarea cifrelor zecimale, de „+” prin 1100, iar „-” prin 1111. Reprezentarea zecimală codificată binar se utilizează pentru aplicaţiile în care se prelucrează, cu operaţii simple, un număr foarte mare de numere: calcule electronice, calculatoare încorporate în aparate de măsură ş.a. Deoarece în aceste cazuri timpul de prelucrare ar fi mai mic decît timpul necesar conversiei din zecimal în binar şi invers (dacă prelucrarea s-ar face în binar), se preferă efectuarea calculelor, folosind reprezentarea zecimală codificată binar. Astfel, nu mai este necesară conversia datelor la introducerea şi extragerea acestora în şi din calculator. §2. Tipuri de date O caracteristică importantă a datelor este tipul acestora. Prin tip se înţelege o mulţime de valori căreia i se poate ataşa un nume, valorile reprezintă constante de acest tip. Tipul stabileşte atît semnificaţia datelor cît şi restricţiile impuse în folosirea lor. Principalele tipuri de date ale limbajului Pascal sunt: În plus programatorul are posibilitatea definirii unor noi tipuri. Una dintre caracteristicile limbajelor de nivel înalt este aceea că, în cazul lor, compilatorul realizează o verificare a tipului astfel încît să existe certitudinea că tipurile de date implicate în calcul sunt compatibile cu operaţiile ce trebuie realizate. În afara calculatorului, valorile de orice tip se reprezintă ca texte, adică printr-o secvenţă de caractere. De exemplu, numerele întregi se pot reprezenta prin secvenţe de cifre zecimale, numerele reale prin cifre şi punct zecimal, iar caracterele prin ele însele. În interiorul calculatorului, însă, lucrurile stau cu totul altfel. Hard-ware-ul unui calculator electronic este format din dispozitive ce se pot afla în două stări fizice distincte. De exemplu, un tranzistor poate conduce sau nu curent electric. Se spune că un dispozitiv cu două stări memorizează o cifră binară sau un bit. Unui grup de N astfel de dispozitive îi corespund 2N stări diferite şi el memorizează n biţi. O astfel de entitate se va numi cuvînt de N biţi. Un cuvînt de 8 biţi poate avea 26 stări diferite, suficiente pentru a putea asocia cîte o stare fiecărui caracter dintr-un set de caractere uzual. Vom spune în acest caz că, fiecare stare codifică un caracter. Un cuvînt de 16 biţi poate avea 65536 stări diferite, adică suficient pentru a putea codifica toate numerele întregi cuprinse între –32768 şi +32767. Celelalte date pot fi codificate în mod asemănător. 3.1.Tipuri de date întregi În Pascal tipurile întregi permit reprezentarea, memorarea şi prelucrarea numerelor întregi. Teoretic, acestea  pot avea valori absolute oricît de mari, dar reprezentarea datelor în cadrul calculatorului nu permite existenţa seturilor de numere infinite. Limbajul Pascal implementează această restricţie furnizînd în mod automat un identificator de constantă, MaxInt, a cărui valoare reprezintă cel mai mare număr ce poate fi conţinut de o variabilă de tip integer. MaxLongInt=2147483647 Operaţiile aritmetice efectuate asupra valorilor de tip întreg vor fi executate corect de către calculator numai dacă toţi operanzii şi toate rezultatele intermediare sunt cuprinse în intervalul –MaxInt şi MaxInt. Dacă aceste valori sunt depăşite, rezultatul devine impredictibil, caz în care se spune că a apărut o „depăşire”  (overflow) şi programul eşuează. Anumite calculatoare semnalizează o asemenea situaţie generînd mesaje de eroare şi determinînd oprirea imediată a execuţiei programului. Există însă şi sisteme de calcul în care depăşirile nu sunt detectate, iar programul poate furniza rezultate eronate, fără ca utilizatorul uman să fie atenţionat. Din acest motiv se consideră că eliminarea posibilităţii apariţiei depăşirilor reprezintă o foarte serioasă problemă a programării. În limbajul de programare Pascal sunt cinci tipuri de date întregi: Shortint, INTEGER, LongInt, BYTE, WORD.

Download Numere mari

luni, 31 ianuarie 2011

Metode de organizare a efectelor de animaţie în Pascal

Principiile didactice sunt teze fundamentale, norme generale care stau la baza proiectării, organizării şi desfăşurării activităţilor de predare - învăţare, în vederea realizării optime a obiectivelor educaţionale. Principiile didactice au caracter general-normativ, sistematic şi dinamic-deschis.

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

O temă destul de dificilă din cursul liceal de informatică este tema „Tipuri structurate de date. Tipul fişier (file)”.

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

Orice algoritm lucrează cu date (numere întregi, reale, şiruri de caractere etc.). Referitor la acestea, în informatică, s-au cristalizat anumite concepte fundamentale, pe care le voi prezenta în continuare. Definiţie: Printr-un tip de dată  înţelegem o mulţime cu elemente numite valori. De sxemplu:{-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]. În Turbo Pascal un astfel de tip se numeşte integer şi este predefinit. Pe mulţimea valorilor unui tip se definesc operaţiile asociate tipului. De 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 memorează valorile sale. De 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). Tipurile de date pot fi simple şi structurate. 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. 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. De exemplu, mulţimea este o structură de date. Î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. Variabilele declarate în secţiunea var a unui program sau subprogram se numesc variabile statice. Numărul variabilelor statice se satabileşte în momentul scrierii programului şi nu poate fi schimbat în timpul execuţiei. Există însă situaţii în care numărul necesar de variabile nu este cunoscut din timp. De exemplu, presupunem că este necesară prelucrarea datelor referitoare la persoanele care formează o listă de aşteptare (o coadă) la o casă de bilete. Lungimea cozii este nedefinită. De fiecare dată cînd apare o persoană nouă, trebuie să se creeze o variabilă de tipul respectiv. După ce persoana pleacă – variabile evine inutilă. Variabilele care sunt create şi eventual distruse în timpul execuţiei programului se numesc variabile dinamice O structură de date este formată din datele propriu-zise şi relaţiile dintre ele. În funcţie de modul de organizare, o structură de date poate fi implicită sau explicită. Tablourile, şirurile de caractere, articolele, fişierele şi mulţimile sunt structuri implicite de date. Relaţiile dintre componentele acestor structuri sînt predefinite şi nemodificabile. De exemplu, toate componentele unui şir de caractere au un nume comun, iar caracterul s[i+1] este succesorul caracterului s[i] în virtutea poziţiei ocupate. Structurile de date se clasifică în două mari categorii: statice şi dinamice. Criteriul de clasificare este dat de modul de alocare a memoriei interne. Întrucît structura tablourilor, şirurilor de caractere, articolelor, mulţimilor, fişierelor nu se modifică în timpul execuţiei oricărul program sau subprogram, structurile respective reprezintă structuri statice de date.

§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

Paralab. Постановка вычислительной задачи и выбор параллельного метода решения

Для параллельного решения тех или иных вычислительных задач процесс вычислений должен быть представлен в виде набора независимых вычислительных процедур, допускающих выполнение на независимых процессорах.

Общая схема организации таких вычислений может быть представлена следующим образом:

  • разделение процесса вычислений на части, которые могут быть выполнены одновременно;



  • распределение вычислений по процессорам;



  • обеспечение взаимодействия параллельно выполняемых вычислений.


Возможные способы получения методов параллельных вычислений:

  • разработка новых параллельных алгоритмов;



  • распараллеливание последовательных алгоритмов.


Условия эффективности параллельных алгоритмов:

  • равномерная загрузка процессоров (отсутствие простоев);



  • низкая интенсивность взаимодействия процессоров (независимость).


В системе ПараЛаб реализованы широко применяемые параллельные алгоритмы для решения ряда сложных вычислительных задач из разных областей научно-технических приложений: алгоритмы сортировки данных, матричного умножения и обработки графов.

Выбор задачи.


Для выбора задачи из числа реализованных в системе выберите пункт меню Задача и выделите левой клавишей мыши одну из строк: Сортировка, Матричное умножение, Обработка графов. Выбранная задача станет текущей в активном окне.

Download Lab_2

ПАРАЛАБ ПРОГРАММНАЯ СИСТЕМА ДЛЯ ИЗУЧЕНИЯ И ИССЛЕДОВАНИЯ МЕТОДОВ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙПАРАЛАБ ПРОГРАММНАЯ СИСТЕМА ДЛЯ ИЗУЧЕНИЯ И ИССЛЕДОВАНИЯ МЕТОДОВ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ

Программная система Параллельная Лаборатория (сокращенное наименование ПараЛаб) обеспечивает возможность проведения вычислительных экспериментов с целью изучения и исследования параллельных алгоритмов решения сложных вычислительных задач. Система может быть использована для организации лабораторного практикума по различным учебным курсам в области параллельного программирования, в рамках которого обеспечивается возможность

• моделирования многопроцессорных вычислительных систем с различной топологией сети передачи данных;

• получения визуального представления о вычислительных процессах и операциях передачи данных, происходящих при параллельном решении разных вычислительных задач;

• построения оценок эффективности изучаемых методов параллельных вычислений.

Проведение такого практикума может быть организовано на "обычных" однопроцессорных компьютерах, работающих под управлением операционных систем MS Windows 2000 или MS Windows XP (режим многозадачной имитации параллельных вычислений). Кроме режима имитации, в системе ПараЛаб обеспечивается удаленный доступ к имеющейся многопроцессорной вычислительной системе для выполнения экспериментов в режиме "настоящих" параллельных вычислений для сопоставления результатов имитации и реальных расчетов.

В целом система ПараЛаб представляет собой интегрированную среду для изучения и исследования параллельных алгоритмов решения сложных вычислительных задач. Широкий набор имеющихся средств визуализации процесса выполнения эксперимента и анализа полученных результатов позволяет изучить эффективность использования тех или иных алгоритмов на разных вычислительных системах, сделать выводы о масштабируемости алгоритмов и определить возможное ускорение процесса параллельных вычислений.

Реализуемые системой ПараЛаб процессы изучения и исследований ориентированы на активное освоение основных теоретических положений и способствуют формированию у пользователей своих собственных представлений о моделях и методах параллельных вычислений путем наблюдения, сравнения и сопоставления широкого набора различных визуальных графических форм, демонстрируемых в ходе выполнения вычислительного эксперимента.

Возможности системы. ПараЛаб - программный комплекс, который позволяет проводить как реальные параллельные вычисления на многопроцессорной вычислительной системе, так и имитировать такие эксперименты на одном последовательном компьютере с визуализацией процесса решения сложной вычислительной задачи.

При проведении имитационных экспериментов ПараЛаб предоставляет возможность для пользователя:

• определить топологию параллельной вычислительной системы для проведения экспериментов, задать число процессоров в этой топологии, установить производительность процессоров, выбрать характеристики коммуникационной среды и способ коммуникации;

• осуществить постановку вычислительной задачи, для которой в составе системы ПараЛаб имеются реализованные параллельные алгоритмы решения, выполнить задание параметров задачи;

• выбрать параллельный метод для решения выбранной задачи;

• установить параметры визуализации для выбора желаемого темпа демонстрации, способа отображения пересылаемых между процессорами данных, степени детальности визуализации выполняемых параллельных вычислений;

• выполнить эксперимент для параллельного решения выбранной задачи; при этом в системе ПараЛаб может быть сформировано несколько различных заданий для проведения экспериментов с отличающимися типами многопроцессорных систем, задач или методов параллельных вычислений, для которых выполнение эксперимента может происходить одновременно (в режиме разделения времени); одновременное выполнение эксперимента для нескольких заданий позволяет наглядно сравнивать динамику решения задачи различными методами, на разных топологиях, с разными параметрами исходной задачи. При выполнении серии экспериментов, требующих длительных вычислений, в системе имеется возможность их проведения в автоматическом режиме с запоминанием результатов в журнале вычислений [1-3].

Для реальных экспериментов на многопроцессорных вычислительных системах зависимости строятся по набору результатов проведенных вычислительных экспериментов. Любой из проведенных ранее экспериментов может быть восстановлен для повторного проведения. Кроме того, обеспечена возможность ведения журнала экспериментов с записью туда постановки задачи, параметров вычислительной системы и полученных результатов.

Реализованные таким образом процессы изучения и исследований позволят освоить теоретические положения и помогут формированию представлений о методах построения параллельных алгоритмов, ориентированных на решение конкретных прикладных задач.

Downlaod Lab_1

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

Probelma 1. Creaţi un program care afişează următoarea funcţie.



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.

Orice algoritm lucrează cu date (numere întregi, reale, şiruri de caractere etc.). Referitor la acestea, în informatică, s-au cristalizat anumite concepte fundamentale, pe care le vom prezenta în continuare.

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