luni, 11 aprilie 2011

Linux. Cum sa administrati rapid un DNS.

DNS HOWTO
Nicolai Langfeldt (janl@linpro.no), Jamie Norrish and others
Version 3.1, 2001-01-18
Traducerea: Victor Plugaru(vuk@go.ro). Cu scuzele de rigoare
pentru eventualele greseli si/sau inadvertente.

CUM SA administrati rapid un DNS.
______________________________________________________________________

Cuprins


1. Preambul

1.1 Chestiuni legale
1.2 Credit si cereri de suport.
1.3 Dedicatie

2. Introducere.

3. Caching name server.

3.1 Pornirea lui named
3.2 Resolvere
3.3 Felicitari

4. Forwarding

5. Un domeniu simplu

5.1 Intai teorie seaca
5.2 Propriul nostru domeniu
5.3 Zona reverse
5.4 Cuvinte de atentionare
5.5 De ce nu functioneaza interogarile inverse.
5.5.1 Zona reverse nu este investita.
5.5.2 Aveti un subnet fara clase
5.6 Servere slave (sclav)

6. Optiuni de securitate fundamentale.

6.1 Restrictionarea transferurilor pe zone
6.2 Protectia in situatii de spoofing
6.3 Rularea lui named ca non-root

7. Un exemplu real de domeniu

7.1 /etc/named.conf (sau /var/named/named.conf)
7.2 /var/named/root.hints
7.3 /var/named/zone/127.0.0
7.4 /var/named/zone/land-5.com
7.5 /var/named/zone/206.6.177

8. Intretinere

9. Conversia de la versiunea 4 la versiunea 8

10. Intrebari si raspunsuri

11. Cum sa deveniti un administrator DNS la scara mare.

Cum sa realizezi masquerading, transparent proxy, forwardare de porturi, si alte forme de NAT pentru kernelurile Linux ver 2.4

traducere ver. 0.2 de catre Riddl

Multumiri tuturor celor care m-au ajutat, in special lui Gushterul.
Observatie f importanta: probabil ca exista unele greseli in acest document.
Am tradus si eu cum m-am priceput mai bine, daca descoperiti greseli de
traducere si pentru observatii pertinente trimiteti-mi mail pentru Riddl la
"discutzii at gmx dot net". Nu uitati sa precizati numele documentului.
Multumesc anticipat.
Aceasta versiune este putin modificata fata de original, deorece unii termeni
sunau foarte ciudat in ro.
Pentru ultima versiune a acestui document verifica
<http://www.securityorg.net/docs/>.

Lecturare placuta!
______________________________________________________________________
Linux 2.4 NAT HOWTO
Rusty Russell, lista de discutii netfilter@lists.samba.org
$Revision: 1.3 $ $Date: 2002/06/05 13:21:56 $

Acest document descrie cum sa realizezi masquerading, transparent proxy,
forwardare de porturi, si alte forme de NAT pentru kernelurile Linux ver 2.4.

______________________________________________________________________

Cuprins

1. Introducere
2. Care este site-ul oficial si care sunt listele de discutii?
2.1. Ce inseamna NAT?
2.2. De ce as dori sa realizez NAT?
3. Doua tipuri de NAT
4. Trecere rapida de la kernelurile 2.0 si 2.2
4.1. Doresc sa realizez doar masquerading! Help!
4.2. Dar despre ipmasqadm?
5. Controlul a ceea ce dorim sa facem cu NAT?
5.1 Selectare simpla folosind iptables
5.2 Aspecte delicate in privinta selectarii pachetelor ce le dorim
modificate
6. Cum sa modificam pachetele
6.1 Folosirea NAT pentru modificarea adresei sursa (SNAT)
6.1.1 Masquerading
6.2 Folosirea NAT pentru modificarea adresei destinatie (DNAT)
6.2.2 Redirectare
6.3 Mapare complexa
6.3.1. Selectarea de adrese multiple dintr-un sir
6.3.2. Realizarea de mapare NAT nula
6.3.3. Comportamentul NAT standard
6.3.4. Mapare implicita a porturilor sursa
6.3.5. Ce se intampla cand NAT-area nu reuseste
6.3.6. Mapari multiple, Suprapuneri si Conflicte
6.3.7. Schimbarea destinatiei conexiunilor generate local
7. Protocoale speciale
8. Avertizmente privind folosirea NAT
9. Folosirea SNAT si rutarea
10. Folosirea DNAT pentru adrese aflate in aceeasi retea.
11. Multumiri


Linux, Folosirea lui iptables pentru filtrarea pachetelor in kernelurile versiunea 2.4.

traducere ver. 0.6 de catre Riddl

Multumiri tuturor celor care m-au ajutat. Lui Gushterul in special.
Deasemenea multumiri si lui Little Dragon.
Observatie f importanta: probabil ca exista unele greseli in acest document.
Am tradus si eu cum m-am priceput mai bine, daca descoperiti greseli de
traducere si pentru observatii pertinente mail me (Riddl) at
"discutzii at gmx dot net". Nu uitati sa precizati numele documentului.
Multumesc anticipat.
Aceasta versiune este putin modificata fata de original, deorece unii termeni
sunau foarte aiurea in ro.
Pentru ultima versiune a acestui document verifica
<http://www.securityorg.net/docs/>.

Lecturare placuta!

______________________________________________________________________


Linux 2.4 Packet Filtering HOWTO
Rusty Russel, lista de discutii netfilter@lists.samba.org
$Revision: 1.2 $ $Date: 2002/02/19 11:33:43 $

Acest document descrie folosirea lui iptables pentru filtrarea pachetelor in
kernelurile versiunea 2.4.
______________________________________________________________________

Cuprins

1. Introducere
2. Care este site-ul oficial? Exista vreo lista de discutii?
3. Deci, ce inseamna filtru de pachete?
3.1 De ce as vrea sa filtrez pachetele?
3.2 Cum filtrez pachetele sub linux?
3.2.1 iptables
3.2.2 Crearea regulilor permanente
4. Cine dracu esti tu, si de ce te joci cu kernelul meu?
5. Ghidul intr-adevar rapid al lui Rusty pentru filtrarea de pachete
6. Cum traverseaza pachetele filtrele?
7. Folosirea iptables
7.1 Ce vei vedea cand porneste calculatorul
7.2 Operatii pentru o singura regula
7.3 Optiuni de filtrare
7.3.1 Specificarea IP-ului sursa si destinatie
7.3.2 Specificarea inversa
7.3.3 Specificarea protocolului
7.3.4 Specificarea unei interfete
7.3.5 Specificarea fragmentelor
7.3.6 Optiuni extinse la iptables: Noi potriviri
7.3.6.1 Optiuni extinse TCP
7.3.6.1.1 O explicatie pentru flag-urile TCP
7.3.6.2 Optiuni extinse UDP
7.3.6.3 Optiuni extinse ICMP
7.3.6.4 Alte optiuni extinse pentru potrivire
7.3.6.5 Potrivirea dupa stare
7.4 Argumente asupra tintei
7.4.1 Chain-uri definite de utilizator
7.4.2 Optiuni extinse la iptables: Noi tinte
7.4.3 Tinte speciale construite default
7.5 Operatii asupra unui intreg chain
7.5.1 Creearea unui nou chain
7.5.2 Stergerea unui chain
7.5.3 Stergerea tuturor regulilor unui chain
7.5.4 Listarea unui chain
7.5.5 Resetarea counter-elor
7.5.6 Setarea policy-ului

8. Folosirea ipchains si ipfwadm
9. Folosirea impreuna a NAT-ului si a filtrarii de pachete
10. Diferente intre iptables si ipchains
11. Sfaturi asupra designului filtrului de pachete

Ce este o retea de calculatore si cum functioneaza internetul

traducere ver. 0.4 de catre Riddl

Multumiri tuturor celor care m-au ajutat, in special lui Gushterul.
Observatie f importanta: probabil ca exista unele greseli in acest document.
Am tradus si eu cum m-am priceput mai bine, daca descoperiti greseli de
traducere si pentru observatii pertinente trimiteti-mi mail pentru Riddl la
"discutzii at gmx dot net". Nu uitati sa precizati numele documentului.
Multumesc anticipat.
Aceasta versiune este putin modificata fata de original, deorece unii termeni
sunau foarte ciudat in ro.
Pentru ultima versiune a acestui document verifica
<http://www.securityorg.net/docs/>.

Lecturare placuta!

______________________________________________________________________

Linux Networking-concepts HOWTO
HOWTO privind conceptele de retea linux
Rusty Russell
$Revision: 1.3 $ $Date: 2002/06/05 13:21:56 $

Acest document descrie ce este acea o retea (cum ar fi internetul), si foarte
primar cum functioneaza acesta.

______________________________________________________________________

Cuprins

1. Introducere
2. Ce este aceea o "retea de calculatoare"?
3. Ce este "Internetul"?
3.1. Cum functioneaza Internetul?
4. Aceast lucru numit IP
4.1. Grupuri de adrese IP: Netmask-uri
5. Nume de computere si Adrese IP
6. Servici diferite: Email, Web, FTP, DNS
7. Interfete dialup: PPP
8. Cum arata pachetele
9. Sumar
10. Multumiri
11. Index
______________________________________________________________________

Configurarea modemului si a pppd-ului pentru a folosi linii inchiriate pe 2 fire

Linii inchiriate Mini-HOWTO
Rob van der Putten, rob@sput.nl
v2.1, 3 August 2000
Traducerea: Victor Plugaru(vuk@go.ro). Cu scuzele de rigoare
pentru eventualele greseli si/sau inadvertente.

Configurarea modemului dumneavoastra si a pppd-ului pentru a
folosi linii inchiriate pe 2 fire.
_________________________________________________________________________

Table of Contents


1. Introducere

1.1 Ce este o linie inchiriata
1.2 Presupuneri

2. Modemul

2.1 Configuratia modemului
2.2 Test
2.3 Exemple
2.3.1 Hi-Tech
2.3.2 Tornado FM 228 E
2.3.3 Tron DF
2.3.4 US Robotics Courier V-Everything

3. PPPD

3.1 Configurarea
3.2 Script-uri
3.2.1 Pornirea lui pppd si mentinerea lui in functiune
3.2.2 Configurarea rutelor
3.3 Test


______________________________________________________________________


Cea mai recenta versiune a acestui document poate fi gasita la:
http://www.sput.nl/software/leased-line/



Cum sa obtii, instalezi si configurezi software-ul ipchains pentru realizarea de firewall sub Linux, precum si cateva posibilitati de folosire al acestuia

traducere ver. 0.2 de catre Riddl

Documentul a fost tradus intr-un ritm foarte alert.
Nu este o traducere profesionala. Deasemenea nu este o traducere mot-a-mot.
Am incercat sa respect versiunea originala.
Multumiri lui Gushterul. Daca gasiti greseli sau aveti obervatii dati-mi
un mail pentru Riddl la "discutii at gmx dot net". Nu uitati sa precizati
numele documentului.
Multumesc anticipat.
Pentru ultima versiune a acestei traduceri verifica
<http://www.securityorg.net/docs/>.

Lecturare placuta!

______________________________________________________________________
Rusty Russell
v1.0.8, Tue Jul 4 14:20:53 EST 2000

Acest document descrie cum sa obtii, instalezi si configurezi software-ul
ipchains pentru realizarea de firewall sub Linux, precum si cateva
posibilitati de folosire al acestuia.
______________________________________________________________________

Cuprins

1. Introducere
1.1. La ce foloseste?
1.2. De ce?
1.3. Cum?
1.4. De unde?
2. Bazele teoretice ale filtrarii de pachete
2.1. La ce foloseste?
2.2. De ce?
2.3. Cum?
2.3.1. Un kernel ce are compilat suport pentru filtrare de
pachete
2.3.2. ipchains
2.3.3. Crearea regulilor permanente
3. Sunt derutat! Rutare, masqueradare, forwardare de pachete, ipautofw....
3.1. Ghidul de trei linii al lui Rusty privind masqueradarea
3.2. Promovare gratuita: regulile WatchGuard
3.3. Firewall-uri obisnuite
3.3.1. Retea privata: Proxy-uri traditionale
3.3.2. Retea privata: Proxy-uri transparente
3.3.3. Retea privata: Masquerading
3.3.4. Retea publica
3.3.5. Servicii interne limitate
3.4. Mai multe informatii despre masquerading

4. Filtrul de pachete
4.1. Cum travereseaza pachetele filtrele
4.1.1. Folosirea ipchains
4.1.2. Ce vei vedea cand porneste computerul
4.1.3. Operatii pentru o singura regula
4.1.4. Optiuni de filtrare
4.1.4.1. Specificarea adreselor IP sursa si destinatie
4.1.4.2. Specificarea inversa
4.1.4.3. Specificarea protocolului
4.1.4.3.1. Specificarea porturilor TCP si UDP
4.1.4.3.2. Specificarea tipului si codului
ICMP
4.1.4.4. Specificarea interfetei
4.1.4.5. Specificarea doar a pachetelor TCP SYN
4.1.4.6. Despre fragmente
4.1.5. Efectele filtrarii de pachete
4.1.5.1. Specificarea unei tinte
4.1.5.2. Logarea pachetelor
4.1.5.3. Schimbarea tos (type of service)
4.1.5.4. Marcarea unui pachet
4.1.5.5. Operatii pentru un chain
4.1.5.6. Crearea unui chain nou
4.1.5.7. Stergerea unui chain
4.1.5.8. Stergerea tuturor regulilor unui chain
4.1.5.9. Listarea regulilor unui chain
4.1.5.10. Resetarea (aducerea la 0) a counter-elor
4.1.5.11. Setarea policy-ului
4.1.6. Operatii pentru masquerading
4.1.7. Verificarea unui pachet
4.1.8. Mai multe reguli dintr-o data si ceea ce se intampla
atunci
4.2. Exemple folositoare
4.2.1. Folosirea ipchains-save
4.2.2. Folosirea ipchains-restore
5. Diverse
5.1. Cum sa iti organizezi regulile firewall-ului
5.2. Ce anume sa nu filtrezi spre afara
5.2.1. Pachete icmp
5.2.2. Conexiunile TCP catre servere DNS (servere de nume)
5.2.3. FTP
5.3. Filtrarea Pingului Mortii
5.4. Filtrarea pentru Teardrop si Bonk
5.5. Filtrarea fragmentelor in masa
5.6. Schimbarea regulilor din firewall
5.7. Cum realizez protectia impotriva spoofarii IP
5.8. Proiecte mai avansate
5.8.1. SPF: filtrare dupa starea pachetului (stateful packet
filtering)
5.8.2. "Hack-ul" ftp-data al lui Michael Hasenstein
5.9. Planuri de viitor
6. Probleme des intalnite
6.1. ipchains -L ingheata!
6.2. Specificarea inversa nu poate fi realizata!
6.3. Masqueradarea/Forwardarea nu se realizeaza!
6.4. Tinta -j REDIR nu merge!
6.5. Specificare mai multor interfete (ex "-i ppp+") nu merge!
6.6. TOS nu merge!
6.7. ipautofw si ipportfw nu merg!
6.8. xosview este stricat!
6.9. Segmentation Fault din cauza tintei "-j REDIRECT"!
6.10. Nu pot preciza valori de timeout pentru masquerading!
6.11. Vreau sa filtrez IPX!
7. Un exemplu serios
7.1. Topologia retelei
7.2. Scopurile
7.3. Inainte de realizarea filtrarii de pachete
7.4. Filtrarea de pachete pentru pachetele directe
7.4.1. Trecerea spre alte chain-uri din chain-ul forward
7.4.2. Definirea chain-ului icmp-acc
7.4.3. Reguli pentru conexiuni reteaua interna ==> DMZ
(servere)
7.4.4. Reguli pentru conexiuni din reteaua externa ==> DMZ
(servere)
7.4.5. Reguli pentru conexiuni din reteaua interna ==> reteaua
externa
7.4.6. Reguli pentru conexiuni din DMZ ==> reteaua interna
7.4.7. Reguli pentru conexiuni din DMZ ==> reteaua externa
7.4.8. Reguli pentru conexiuni din reteaua externa ==> reteaua
interna
7.4.9. Filtrul de pachete pentru insusi sistemul care este
ruter
7.4.9.1. Interfata catre reteaua externa
7.4.9.2. Interfata catre reteaua de servere (DMZ)
7.4.9.3. Interfata catre reteaua interna
7.5. In final
8. Anexa: Diferente intre ipchains si ipfwadm
8.1. Tabel pentru informare rapida
8.2. Exemple de comenzi ipfwadm translatate in ipchains
9. Anexa: Folosirea scriptului ipfwadm-wrapper
10. Anexa: Multumiri.
10.1. Traduceri

______________________________________________________________________


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

Formule matematice în probleme informatice


§1. Noţiune de  model şi modelare


Orice om pe parcursul vieţii este nevoit sa rezolve mai multe probleme.  Problemele pot fi simple şi complicate. În multe cazuri procesul de rezolvare a problemelor este oral, iar pentru altele sunt necesare calcule care se pot efectua manual (cu ajutorul stiloului, hîrtiei) sau cu ajutorul calculatorului. Oricît de variate nu ar fi problemele, procesul de rezolvare a lor presupune citeva etape obligatorii. Acestea sunt:

Aşadar procesul de rezolvare a problemei se reduce la realizarea sirului de transformari consecutive:

Vom analiza o problemă elementară: se cere de determinat aria suprafeţei unei mese de formă dreptunghiulară. Pentru a rezolva problema este suficient să măsurăm lungimea si lăţimea mesei, iar numerele să le inmulţim.

Această procedură simplă inseamnă de fapt urmatoarele: obiectul real - suprafaţa mesei este inlocuită cu un obiect abstract – dreptunghiul. Considerăm că acest dreptunghi are aceleaşi dimensiuni  ca şi suprafaţa mesei. După ce aflăm aria dreptunghiului, considerăm că aria lui este egală aproximativ cu aria suprafeţei mesei.

În asemenea situaţie, vom spune că dreptunghiul reprezintă un model al suprafeţei mesei, iar procesul descris a capatat denumirea de modelare.

Omul aplică modelele din cele mai vechi timpuri la cercetarea proceselor complexe, la înalţarea unor edificii noi etc.

Modelul construit e mai accesibil pentru cercetare decît obiectul real. Unele obiecte în general nu pot fi cercetate direct: nu pot fi, de exemplu, efectuate expe-rienţe cu economia unei ţări.

Dacă obiectul supus cercetării posedă caracteristici dinamice, adică caracteristici ce depind de timp, atunci o importanţă mare o capătă problema pronosticării stării obiectului, sub influienţa diferitor factori, peste un interval de timp. Şi această problemă se rezolvă cu ajutorul modelelor.

Definiţie: Modelul reprezintă un sistem teoretic sau material, construit sau selectat de subiect, cu ajutorul căruia pot fi studiate indirect proprietăţile şi transformările altui sistem (original) mai complex, cu care primul sistem prezintă o analogie. Procesul de construire a modelului se numeşte modelare.

Modelele pot fi materiale şi ideale. Machetul unei clădiri este un model material, iar schema sistemului circulaţiei sangvine pe o planşă este un model ideal).

Modelele ideale pot fi calitative şi cantitative. Modelul calitativ este, de fapt, o descriere verbală. Ele ne dau o imagine generală despre original. Cu toate acestea, după aceste modele originalul nu poate fi construit.

Modelele cantitative reprezintă niste scheme, tabele, formule ce  ne permit, în principiu, să construim după ele originalul. Modelul matematic este unul din modelele cantitative.


§2. Noţiune de model matematic


În general, orice problemă tehnică, indiferent de natura sa, parcurge pînă la materializarea soluţiei sale, următoarele etape, reprezentate în figura 1:

Procesul de rezolvare reprezentat în această figură nu este unul liniar: iteraţiile şi revenirile îi sunt specifice. Astfel, din orice etapă se poate reveni la oricare dintre etapele precedente, oricînd putîndu-se constata o disfuncţionalitate sau lipsa unor elemente produse în faze anterioare etapei curente, neplăceri rezovabile numai prin reluarea unor etape deja parcurse.

Nu de puţine ori, chiar în ultima etapă, cea de implementare, se poate constata o eroare majoră în proiectare sau chiar în formularea detaliată a problemei, eroare ce face imposibilă sau nesatisfăcătoare aplicarea soluţiei finale. Particularizând elementele de mai sus pentru activitatea de elaborare a programilor, se constată regăsirea tuturor fazelor din desenul iniţial. În continuare se insistă numai asupra unor particularităţi strict necesare în cazul unor aplicaţii mici sau mijlocii

Download Formule matematice in probleme informatice

Principii didactice la Informatică

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.

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 exista obiectul, nu trebuie sa aiba loc predarea”.

Download Principiile didacticii.doc

Lucrul extracuricular la informatică

Ca urmare a transformărilor din societatea noastră, rolul şcolii constă în dezvoltarea liberă, armonioasă a elevului şi formarea personalităţii creative, care se poate adapta la condiţiile de continuă schimbare ale vieţii - una din principalele probleme ale pedagogiei şi didacticii în ridicarea interesului elevului faţă de învăţătură. Această problemă se rezolvă cu succes datorită interacţiunii orelor de curs cu activităţile extraşcolare.

Principala formă organizaţională a procesului de învăţământ la informatică în şcoala medie este lecţia. În cadrul lecţiei se realizează funcţiile esenţiale ale învăţământului:

- didactice,

- educative,

- dezvoltative.

Însă informatica este un obiect atât de vast, încât nu se predă în numărul de ore prevăzute. În orele de curs elevii studiază un număr mic de teme, date ca model de programă, spre a le forma deprinderile necesare de lucru. Lecţia nu asigură pe deplin necesităţile individuale ale fiecărui elev. La dezvoltarea pe larg a capacităţilor la informatică individuale contribuie lucrul extraşcolar dirijate de către profesor.

Rolul activităţilor extraşcolare în procesul didactic continuă să crească, deoarece contribuie la legătura cunoştinţelor teoretice cu viaţa, asigură dezvoltarea capacităţilor, aptitudinilor spirituale şi fizice la nivelul potenţialului maxim, constituie „o punte între cunoştinţele acumulate în cadrul lecţiei şi informaţiile acumulate informal”. Lucrul extraşcolar este un act de creaţie, ce se creează prin flexibilitate şi prin mobilitatea structurii, cu scopul de a dezvolta gândirea creatoare a elevilor şi a utiliza o gamă largă de forţe de muncă independentă.

Scopul activităţilor la informatică în afara orelor de curs constă în pregătirea psihologică şi practică a elevilor pentru adaptarea şi activitatea lor într-o societate informaţională în continuă schimbare şi formarea gândirii algoritmice, accentul fiind pus pe individualizare şi învăţare permanentă.



Studiul activităţii extraşcolare prevede:

-  pregătirea psihologică şi practică a elevului pentru utilizarea calculatorului în activităţi specifice vârstei;

-  formarea deprinderilor practice de lucrul cu calculatorul;

- studierea informaticii ca ştiinţă care include elemente de algoritmizare, programare, logică, noţiuni de acumulare, păstrare şi prelucrare a informaţiei;

-  studierea sistemului de calcul ca instrument (editoare de text, editoare grafice şi de sunet, tabele de calcul etc.);

-  studierea   sistemului   de   calcul   ca   obiect   (structura   şi   funcţionarea calculatorului, a reţelelor de calculatoare);

-   formarea gândirii algoritmice.

Activităţile extraşcolare se bazează pe materialul adăugător şi se sprijină pe lucrul individual al elevului. Ele îi ajută pe elevi să înţeleagă mai bine cunoştinţele predate în clasă, să le aprofundeze, să ajungă prin munca independentă la scopul pus în faţa sa, să realizeze obiectivele specifice şi generale prevăzute de programă.

Activităţile extraşcolare la informatică contribuie la descoperirea şi stimularea talentelor şi aptitudinilor elevilor, la cultivarea interesului pentru informatică, la dezvoltarea deprinderilor de a elabora creaţii originale. Elevul explorează, reconstruieşte, redescoperă, ajunge la generalizarea şi asimilarea adevărurilor prin eforturi proprii. El se transformă treptat într-un "gândito creativ", se îndreaptă spre căutări, explorări şi muncă personală independentă sau în grup, spre dobândirea tezaurului cunoaşterii umane, şi chir obţinerea unor idei sau soluţii noi, realizarea unor inovaţii şi invenţii, care să propulseze creaţia, noutatea într-un anumit domeniu de specialitate.

Funcţia de baza a activităţilor extraşcolare în procesul de educaţie a personalităţii, poate fi considerată — dezvoltarea individualităţii creatoare. Ele au pentru aceasta posibilităţile materiale şi cadrele necesare, la aceasta contribuie şi principiul de formare a colectivului activităţilor extraşcolare şi metodele de organizare şi conţinutul activităţii lui vitale.

Curriculumul la informatică propune un conţinut care contribuie la realizarea obiectivelor curriculare, care consemnează aşteptările societăţii, vizând atât parcursul şcolar al elevilor în ansamblu sau, cât şi performanţele cele mai generale care ar trebui atinse de el la finele şcolarizării. Obiectivele sunt "modele" care reies din structura personalităţii şi din cea a experienţei, sociale în sens larg, vizând sintetic cunoştinţele ("a şti"), capacităţile (" a şti să faci") şi atitudinile ("a ştii să fii") pe care elevii ar trebui să le interiorizeze în cadrul întregului parcurs şcolar. Ele sunt clasificate pe categorii:

-  de cunoaştere (cunoaşterea şi utilizarea conceptelor fundamentale specifice informaticii):

-  cunoaşterea principiului de construcţie şi funcţionare a calculatorului;

-  cunoaşterea metodelor de acumulare, reprezentare, păstrare şi prelucrare a informaţiei cu ajutorul  calculatorului;

-  cunoaşterea specificului de comunicare a omului cu calculatorul;

-  cunoaşterea etapelor de rezolvare a problemelor la calculator;

-  cunoaşterea evoluţiei tehnicii de calcul;

- cunoaşterea tipurilor de date, a operaţiilor posibile asupra lor şi realizarea lor la calculator;

-  cunoaşterea instrucţiunilor unui limbaj de programare de nivel înalt;

-  cunoaşterea  specificului  soluţiei analitice şi de simulare în rezolvarea problemelor la calculator;

-  cunoaşterea unităţilor de măsură a informaţiei reprezentate în calculator;

-  cunoaşterea posibilităţilor şi domeniilor de aplicare a editoarelor grafice, muzicale, de text, a sistemelor informatice, a bazelor de date, a tabelelor electronice;

-  cunoaşterea conceptului sistemelor informaticii, a principilor după care ele se clasifică.

-  de capacităţi (de rezolvare a problemelor, de investigare / explorare, de comunicare, utilizând limbajul adecvat informaticii):

-  înţelegerea la nivel cotidian a noţiunilor de informaţie, suport de informaţie şi rolul informaţiei în societate;

-  aprecierea volumului de informaţie de pe suportul concret de informaţie;

-  înţelegerea principiului de lucru al computerului, al utilajului periferic;

-  selectarea utilajului şi a soft - ului necesar atingerii scopului pus, rezolvării problemei date;

-  însuşirea principalelor caracteristici ale bazelor de date, a tabelelor de calcul;

-  redactarea şi stocarea informaţiei stocate în baza de date, tabele de calcul,

-  editoare de texte, grafice, muzicale;

-  însuşirea metodelor de cercetare şi cunoaştere cu ajutorul calculatorului;

-  însuşirea unor metode standard de rezolvare a problemelor şi utilizarea lor în situaţii nestandard;

-  înţelegerea noţiunii de constantă şi variabilă;

-  utilizarea corectă a instrucţiunilor unui limbaj de programare la rezolvarea problemelor conform algoritmului dat;

-  formularea corectă a problemei ce va fi rezolvată la computer;

-  construirea modelului,  elaborarea algoritmului  şi  a programului pentru modelul dat;

-  analiza rezultatelor obţinute în urma rezolvării problemei la computer;

-  înţelegerea esenţei algoritmului principal şi al subalgoritmului, al modului de executare a lor;

-  partajarea problemei şi utilizarea algoritmilor deja alcătuiţi ca subalgoritm;

-  înţelegerea dependenţei rezolvării problemei de repertoriul de instrucţiuni al executantului;

-  detectarea erorilor în algoritmul de rezolvare a problemei concrete;

-  selectarea şi corectarea algoritmilor existenţi pentru situaţii noi.

-  de atitudini (tactici compartimentale adecvate, capacităţi de acomodare la specificul   echipamentelor şi programelor de calculator):

-  perceperea rolului, locului calculatorului şi influenţa lui asupra dezvoltării societăţii;

-  perceperea adecvată a influenţei revoluţiei informaţionale asupra omului elaborarea tacticii comportamentale adecvate;

-  perceperea adecvată a mesajelor transmise de calculator şi utilizarea adecvată a limbajelor speciale în procesul de comunicare cu ele;

-  utilizarea soft - ului educaţional şi utilitar la rezolvarea problemelor apărute;

-  acomodarea la dinamica soft - ului şi al tehnicii informaţionale;

-  manifestarea conştiinţei faţă de acţiunile proprii în lucrul cu soft - ul de destinaţie comună;

- asumarea responsabilităţii utilizării calculatorului, a sistemelor informatice, a reţelelor de calculatoare.

Reieşind din obiectivele informaticii, activităţile extraşcolare la informatică cuprind doua direcţii principale:

1. Aprofundarea fundamentală a cunoştinţelor căpătate de elevi la lecţii, care au o mare importantă   instructiv — educativă.

2. Formarea capacităţilor şi atitudinilor de cercetare ştiinţifică în lucrul cu literatura suplimentară.

Download Lucru-extracuricular-info.doc

Istoria apariţiei calculatorului

V-aţi întrebat vreodatã cine a contribuit la inventarea şi dezvoltarea calculatoarelor ? Acum aveţi posibilitatea sã aflaţi. De aceea vã propun sã facem o scurtã întoarcere în timp şi sã vedem cum ar fi putut fi si cum a fost istoria calculatoarelor.



Cum ar fi putut fi ...

La începutul secolului al XVII-lea Wilhelm Schickard, un profesor de astronomie, matematicã a creat la Tubingern în Germania o maşină ingenioasã care putea sã adune, sã scadã, şi într-o anumitã mãsurã sã înmulţească, şi sã dividã numere în sute. Din pãcate înainte ca dispozitivul sã fie pe jumãtate realizat fabrica unde era adãpostit a ars. Wilhelm Schickard şi întreaga sa familie au murit de ciumã înainte ca el sã construiascã alt model. Mult mai târziu un mecanic a recreat instrumentul având ca ghid vechile scrisori ale lui Schickard. Dacã aceastã invenţie ar fi fost disponibilă inventatorilor din acea vreme, aceasta ar fi putut schimba în totalitate istoria calculatoarelor.

Cum a fost ...

Evoluţia calculatoarelor a decurs încet fără invenţia lui Schickard ca prototip. Mai întâi s-a întâmplat un lucru ciudat cu numerele. În 1600 John Napier, un scoţian, a descoperit un mod de a manipula numerele astfel încât înmulţirea şi împărţirea sã fie reduse la adunarea şi scãderea altor numere. Seriile de numere şi relaţiile dintre ele au fost numite logaritmi. Punând numerele pe cilindri de fildeş (numiti oasele lui Napier) soluţiile la problemele dificile puteau fi gãsite prin potrivirea logaritmilor şi apoi prin adunarea sau scãderea numerelor corespunzãtoare.

Invenţia riglei de calcul a lui Robert Bissaker din 1650 a înlocuit cilindrii de fildeş a lui Napier. Blaise Pascal, matematician francez şi filosof a inventat primul calculator mecanic digital ( Pascalina ) care putea face adunãri şi scãderi cu numerele întregi. Aceastã maşină nu era la fel de avansatã ca maşina creată de Schickard.

Pascalina creatã în 1642 a fost un eşec. În primul rând Pascal era sigurul care o putea repara. În al doilea rând în acea vreme era mai ieftin sã ai oameni care sã facã calculele decât sã cumperi o asemenea maşinărie şi în al treilea rând lucrãtorii se temeau cã vor fi înlocuiţi de Pascalina pierzându-şi astfel slujbele. Totuşi Pascalina a fost folositã pânã când a apãrut calculatorul electronic care a fãcut-o nefolositoare. Pentru contribuţia adusã numele lui Pascal a fost dat unui limbaj de programare.

Mai târziu Gottfried Wilhelm Von Leibniz, matematician german, împreunã cu Sir Issac Newton au inventat calculele şi au creat calculatorul acţionat de roatã cu pedalã. Acest dispozitiv creat în 1673 putea face adunãri, scãderi, înmulţiri şi împărţiri. Roata lui Leibniz era o îmbunătăţire a Pascalinei, totuşi nu era posibil sã se aibã încredere în ea (mai putea greşi), astfel cã nu a fost folositã de prea multã lume. Oricum calculatorul lui Leibniz l-a impresionat pe Peter Cel Mare care a trimis un exemplar împãratului Chinei pentru ca sã îl convingã de tehnologia germanã şi pentru a creşte relaţiile comerciale dintre Est si Vest.

Francezul Joseph Marie Jacquard în anul 1804 a construit o maşină automatã cu cartele perforate care era folositã pentru a ţese cu modele. Invenţia lui Jacquard a arãtat cã datele pot fi stocate pe cartele; cartelele la rândul lor pot fi folosite pentru a crea serii de instrucţiuni. Programarea instrucţiunilor s-a dovedit a fi un lucru foarte important pentru calculatoarele moderne.

În 1822 inventatorul si matematicianul Charles P. Babbage, a conceput o maşină care putea fi folositã în rezolvarea de probleme diferite, maşină care avea o memorie mecanicã în care putea pãstra rezultatele. Royal Astronomical Society l-a încurajat pe Babbage cu garanţii guvernamentale şi astfel calculatorul creat de el devenea mai mare şi mai complex pe mãsurã ce îl revizuia. Garanţiile nu i-au mai fost acordate din anul 1834, dar cu toate acestea Babbage a propus o maşină mult mai complexã. Cu toate cã puterea a şase motoare cu abur care erau necesare sã punã în funcţiune motorul analitic ar fi ocupat lungimea unui teren de fotbal, calculatorul lui Babbage putea calcula logaritmi automat. Datele erau introduse folosind cartele perforate şi maşinăria putea fi programatã sã-şi schimbe metodele de operare. Din pãcate motorul analitic nu a fost construit, dar oricum acest concept a fost predecesorul calculatorului din zilele noastre. Pentru contribuţia sa Babbage a fost numit parintele calculatorului. Babbage avea un partener şi un om de încredere, Augusta Ada, contesa de Lovelace şi fiica poetului Lord Byron.

Doamna Lovelace a înţeles ideile lui Babbage, a recunoscut valoarea ideilor, şi în anul 1840, a scris lucrãri cu caracter ştiinţific care explicau ideile lui Babbage celorlalţi. Ea a fost cea care a sugerat folosirea sistemului binar, în locul celui zecimal, pentru stocarea datelor. Doamna Lovelace este consideratã prima programatoare pentru cã ea a modelat desenul motorului analitic incluzând o repetare automatã a unei serii de calcule. Această procedurã în cerc este foarte importantã pentru programatorii de astãzi. Zece ani mai târziu în anul 1850, George Boole, matematician englez a realizat cã problemele matematice complexe puteau fi rezolvate reducându-le la o serie de rãspunsuri afirmative sau negative.

Sistemul binar cu 1 ca rãspuns pozitiv şi 0 ca rãspuns negativ era o soluţie. Aceastã teorie avea sã stea la baza circuitelor calculatorului.

Doctorul Herman Hollerith a construit prima maşină electromecanicã cu cartele gãurite în 1880. Socrul lui Hollerith care se ocupa de recensãminte, a propus ca maşina sã fie folositã pentru a sorta rezultatele recensãmântului folosind cartele gãurite cu 80 de coloane pe care tot Herman le-a inventat. Folosind această maşinărie Hollerith a obţinut la recensãmântul din 1890 un rezultat de 63.056.000 de oameni într-o treime din timpul care a fost necesar în 1880 pentru a numãra 50.262.000 de oameni. Dupã descoperirea lui Hollerith a fost o pauzã în descoperirile din domeniul calculatoarelor.

Progresul exista, dar nimic spectaculos nu a fost raportat - nimic nu a fost raportat pânã când în anul 1927 la Massachusetts Institute of Tehnology (MIT) Vannevar Bush împreunã cu colaboratorii sãi au creat maşina care putea rezolva ecuaţii simple. Pânã în anul 1931 maşina a fost modificatã şi perfecţionată pentru a rezolva ecuaţii mai complexe. Maşina afişa rezultatele prin rotirea unor săgeţi.

În anul 1940 George Stibitz împreunã cu colegul sãu Samuel Williams au demonstrat cum sã se folosească dispozitivul creat de ei în anul 1937 şi numit Complex Number Calculator pentru a transmite calcule la distanţe de pânã la 250 mile.

La Iowa, în anul 1939, John Atanasoff şi Clifford Berry au colaborat şi au construit calculatorul Atanasoff-Berry. ABC-ul a fost primul calculator electronic, digital care putea fi folosit pentru mai multe scopuri. Deşi putea rezolva simultan ecuaţii algebrice, comunitatea ştiinţifică nu a fost foarte interesatã. Când Atanasoff a contactat compania IBM ( International Business Machines ) pentru a le prezenta maşina, compania a rãspuns cã nu va fi niciodatã interesatã de o maşină electronicã de calcul.

Download Istoria-aparitiei-PC

Totul despre discurile optice CD-R/RW, DVD-R/RW

Istoria cd rom ului

Istoria cd-rom-urilor începe în anul 1980 cind marile companii PHILIPS şi SONY au anunţat specificaţii in plus pentru folosirea tehnologiei CD pentru datele de calculator. În 1982 cele doua companii , au anunţat un standard pentru aceste unităţi, care includea formatul de 4.72 inci care a evoluat ctre unităţile de cd rom utilizate în prezent, şi care folosesc aceeaşi tehnologie şi format ca şi cd-urile, care sînt identice ca aspect, dar diferă din punct de vedere al conţinutului informaţional  şi al unităţiilor de hard pentru inregistrare şi redare.

În anii 1990 Phillips a colaborat Coorporaţia japoneză Sony pentru a crea un disc digital versatile (Digital Versatile Disk) care să aibă o capacitatea mai mare de stocare a informaţie decat CD-ul. Alte firme nu au acceptat standardul propus de inginerii de la Phillips şi Sony. Producători DVD-ului au optat totuşi pentru un alt standard şi alianţa Phillips-Sony a acceptat să licenţieze rezultatele cercetărilor consorţiului global.



Ce este CD-ROM-ul

Este un suport de stocare optică numai pentru citire (Compact Disc Read Only Memory) şi face parte din categoria memorilor externe, cu o capacitate de stocare între 650 şi 900 de mb pentru discul de 120mm, şi o capacitate între 158 şi 200 de mb pentru discurile de 80mm.

Cel mai popular este discul de 120mm, folosind aceeaşi tehnologie şi format cu cele mai multe aparaturi elecronice şi calculatoare personale ce folsesc tehnologia cd-rom. Discul de 8mm este mai puţin popular,  dar mulţumită dimensiunilor sale reduse, a cîştigat popularitate în rîndul aparaturiilor care folosec tehnologia digitală audio comprimată, camere de fotografiat digitale sau produse de stocare de date, cum ar fi un reportofon miniatură.



Tehnologia cd-rom ului

Discul este fabricat dintr o foaie de policarbonat, şi  are un diametru de 120mm, grosime 1.2mm şi un orificiu în centru de 15mm. Această foaie de policarbonat este acoperită cu un film metalic, de obicei din aliaj de aluminiu sau care mai poate fi şi din argint sau aur. Acest film metalic este porţiunea de disc pe a cărei suprafaţă datele sînt inscripţionate sub formă de adîncituri microsopice de-a lungul unei piste care se desfăşoară în spirală, de pe care unitatea cd rom citeşte datele. Filmul metalic este apoi acoperit cu un înveliş de plastic care protejează datele de sub suprafaţa sa. Unele discuri mai pot avea  înveliţuri adiţionale care le măresc rezistenţa la zgîrieturii, manevrare şi o suprafaţă optimă pentru imprimare (suprafaţă superioară). Pe partea superioară este de obicei o etichetă, şi toate citirile se vor efectua dinspre faţa inferioară. Cd-rom-urile au o singură faţă activă. Citirea informaţiei se face cu ajutorul unui receptor sau senzor de lumină care sesizează cind lumina reflectată de filmul metalic este puternică, şi cînd este absentă sau difuza. Lumina absentă sau difuză este cauzată de adinciturile (pits) gravate pe filmul metalic, iar reflectarea puternică a luminii indică lipsa gropii, şi se numeşte un cîmp(land). Iar în cazul discurilor cu proprietăţi de scriere şi citire (RW), filmul metalic este înlocuit cu un subsrat de sticlă sau metalic acoperit cu un picment organic fotosensibil, format dintr-un aliaj de argint, indium, antimoniu şi teluriu care au aceleaşi proprietăţi reflective ca şi cd-ul obişnuit. Cînd laserul de inregistrare îcepe să pirograveze datele pe disc încinge substratul acoperit cu pigmentul organic, şi ca urmare a încălziri acestor zone ele reflectă lumina în acelaşi mod ca şi o groapă de pe un disc cu film metalic, chiar dacă acolo nu există nici o groapă, ci numai un punct nereflectorizant de pe disc. Această procedură  de folosire a călduri pentru a crea acele puncte nereflectorizante din disc, se numeşte adesea înregistrare prin ardere a cd-ului.







Tipuri de cd-uri

CD-I, este un compact disc conceput de Philips, destinat  aplicaţiilor multimedia interactive să ruleze pe o consolă(player) ataşat la un televizor.

CD-PHOTO,  este un compact disc conceput de Philips, destinat stocării fotografiilor digitale de înaltă rezoluţie pe cd.

CD-R (recordable) sau ”write-once disc”, fabricat începînd cu anul 1992, este un compact disc ce oferă posibilitatea de scriere o singură dată, şi de mai multe ori citirea datelor de pe cd.

CD-RW (rewritable), fabricat începînd cu anul 1996, este un compact disc al cărei date pot fi şterse şi rescrise de mai multe ori, numai într-o unitate de disc CD-RW.

DVD (digital versatile disc) sînt de fapt tot nişte CD-uri însă cu o densitate mai mare de stocare a datelor, datorită unei zone mai mare de date pe disc  prin îngustarea şi creşterea lungimii spiralei ce conţine adinciturile. DVD-ul oferă capacităţi  mai mari de stocare , adică 4.7 gb la discul de 120mm cu o singură faţă,  şi sa născut datorită nevoii de spaţii de stocare mai mari.

DVD-R (recordable), fabricat începînd cu anul 1997. Oferă aceleaşi posibilităţi de scriere şi citire a datelor de pe disc ca şi cd-r, doar că scrierea şi citirea datelor în cazul dvd-r se fac la viteze mai mici.

DWD-RW fabricat începînd cu anul 1998, deasemenea oferă aceleaşi posibilităţi de ştergere şi rescriere a datelor ca şi discurile CD-RW, la care deasemenea vitezele de ştergere-rescriere a datelor diferă.

Download Istoria_CD

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

Auto Draft

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