CATEGORII DOCUMENTE |
TIPURI DE DATE
Din exemplele anterioare am observat ca datele pot fi: de intrare sau de ie ire (in func ie de utilizarea lor)
Variabilele A,B,C din exemplu, le‑am declarat de tip intreg:
var A,B,C:integer;
Deci in variabilele A i B putem introduce doua numere intregi. Ce se intampla daca vrem sa lucram cu numere reale (care au i parte zecimala), sau cu cuvinte, litere, etc. altfel spus, cu informa ii diverse?
In memoria calculatorului, informa iile (datele) in func ie de natura lor, sunt codificate diferit (pentru o utilizare optima a memoriei i viteza in opera iile de transfer i execu ie).
In continuare vom aborda cateva tipuri de date (de baza) in PASCAL urmand ca tipurile speciale (stucturi de date) sa le discutam ulterior, cand vom fi familiariza i cu modul de lucru al TP‑ului.
7. TIPURI DE DATE
TIPURI DE DATE NUMERICE
INTEGER
Variabilele declarate cu tipul integer:
var A,B,C:integer;
pot lua valori numere intregi aflate in intervalul [‑32768,32767]. Daca incercam sa introducem intr‑o variabila declarata astfel, o valoare care nu este cuprinsa in intervalul dat, programul nu va func iona corect, aparand o eroare in execu ie care va afecta corectitudinea rezultatelor.
LONGINT
Variabilele declarate cu tipul longint:
var A,B,C:longint;
pot lua valori numere intregi aflate in intervalul [‑2147483648,2147483647].Daca incercam sa introducem intr‑o variabila declarata astfel, o valoare care nu este cuprinsa in intervalul dat, programul va func iona incorect.
REAL
Variabilele declarate cu tipul real:
var A,B,C:real;
vor fi memorate cu 11 cifre exacte i rangul cuprins intre 10 la puterea ‑38 i +38.
7. TIPURI DE DATE
TIPURI DE DATE NENUMERICE
CHAR
Variabilele declarate cu tipul char, vor con ine fiecare un caracter ASCII (litera, cifra, semn special, etc.).
ex. program semn;
var A:char;
begin
readln (A);
writeln (A,A,A,' ',A,A,A);
end.
Programul din exemplul anterior, lansat in execu ie, asteapta introducerea unui caracter oarecare. Dup introducerea lui, il va tip rii in dou grupe de cate 3 ori.
STRING
Variabilele declarate cu tipul string, spre deosebire de char, pot con ine pan la 255 de caractere ASCII.
7. TIPURI DE DATE
ex. program numepren;
var nume,pren:string;
begin
write ('nume:');
readln (nume);
write ('pren:');
readln (pren);
writeln (nume,' ',pren);
end.
Programul din exemplul anterior, dupa introducerea a doua cuvinte (sau fraze), de lungime maxim 255 fiecare (nume i prenume), le va tiparii pe un rand cu pauza intre ele.
Tipurile de date discutate anterior sunt tipuri simple, i doar o parte din tipurile de date existente in TP. Pentru un incepator sunt suficiente.
ARRAY
Sa discutam acum despre o stuctura de date numita tablou; in limba engleza ( i in TP) numit array.
Un tablou este o sructura de date constand intr‑un numar fixat de elemente de acela i tip, care au un singur nume (un identificator). Programul selecteaz elementele dupa pozi ia lor in tablou. Pozi ia este indicata de numarul elementului (un fel de eticheta) care se numeste index; de unde i denumirea de variabile indexate.
7. TIPURI DE DATE
Dar sa in elegem mai bine aceasta stuctura pe un exemplu: Se dau 100 de numere intregi. Va fi greu sa le citim pe fiecare in cate o variabila (simpla) A,B,C,Detc.
Cum vom proceda ? Nimic mai simplu: declaram variabila indexata A:
var A:array[1..100] of integer;
care va avea 100 de componente (elemente) de tip intreg, i care va fi indexata (numerotata) cu numere intregi de la 1 la 100.
ex. program tablou;
var a:array[1..5] of integer;
b:integer;
begin
readln(a[1]);
readln(a[2]);
readln(a[3]);
readln(a[4]);
readln(a[5]);
b:=a[1]+a[2]+a[3]+a[4]+a[5];
writeln('b= ',b);
end.
Exemplul precedent ne arata cum putem folosi o variabila indexata cu 5 elemente intregi, in loc de 5 variabile diferite de tip intreg. Problema devine foarte avantajoasa in cazul in care lucram de exemplu cu 100,1000,etc. de astfel de elemente.
7. TIPURI DE DATE
Intr‑un astfel de caz, o intrebare fireasca este cum citim elementele (datele de intrare) ? O sut de instruc iuni read ? Sau cum le adunam ? O instruc iune imensa de tipul :
b:=a[1]+a[2]++a[100] ? NU !
Pentru a a ceva vom utiliza insruc iuni specifice care le vom analiza in continuare.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1728
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved