1 / 42

Përmbajtja

Universiteti Shtet ëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM I Ligjerata 3. Përmbajtja . GJUHËT E LARTA PROGRAMORE TIPET DHE STRUKTURAT E TË DHËNAVE. GJUHËT E LARTA PROGRAMORE.

Download Presentation

Përmbajtja

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UniversitetiShtetëror i TetovësFakulteti i Shkencave Matematike-NatyroreDepartamenti i InformatikësPROGRAMIM ILigjerata 3

  2. Përmbajtja • GJUHËT E LARTA PROGRAMORE • TIPET DHE STRUKTURAT E TË DHËNAVE

  3. GJUHËT E LARTA PROGRAMORE • Parashtrohet pyetje: “Si mund të përafrohen kompjuterët tek njerëzit me qëllim të shfrytëzimit të tyre edhe nga ana e njerëzve që nuk e njohin teknologjinë e programimit me gjuhë të makinës?” • Ideja themelore në përgjigjen e këtij problemi ka qenë që programuesit të shkruajnë/programojnë në një gjuhë të ngjashme me atë të njeriut. • Edhe pse gjuhët e larta programore janë artificiale, ata janë të ndërtuara në mënyrë të njëjtë si dhe ato natyrale.

  4. Ndarja e gjuhëve programore • Ndarja e tyre, në të shumtën e rasteve, bëhetsipas fushës së zbatimit/aplikimit. Kështu, gjuhët programore mund ti ndajmë sivijon: • a) Gjuhë për përdorim të gjerë (për zgjidhjen e problemeve teknologjikoshkencore,ekonomike), siç janë: PASCAL, C, FORTRAN, BASIC, COBOL,PL/1 etj. • b) Gjuhë për inteligjencë artificiale (zgjidhja e detyrave logjike nga fusha einteligjencës artificiale, konludimit logjik, robotikës dhe sistemeveeksperte), siç janë: PROLOG, LISP, FORT, COMIT etj.

  5. Ndarja e gjuhëve programore • c) Guhë për programim sistemor dhe paralel (për programimin e softverëvesistemore edhe për programe që ekzekutohen njëkohësisht (paralelisht) nëmë shumë procesorë), siç janë: ADA, MODULA-2, OCCAM etj. • d) Gjuhë speciale (në të cilat bëjnë pjesë gjuhët për përshkrimin ealgoritmeve që udhëheqin procese teknike, për simulimin e sistemeve, përkontrollin e sistemit operativ etj) siç janë: JCL, APT, GPSS etj. • e) Gjuhë të orientuara në objekte (gjuhë programore ku objektetshfrytëzohen si tip i posaçëm i të dhënave) siç janë: C++, Delphi, Java,Visual Basic etj.

  6. TIPET DHE STRUKTURAT E TË DHËNAVE • Sipas operacioneve që mund të ekzekutohen mbi një bashkësi të caktuar tëdhënash, dallojmë tipe të ndryshme të të dhënave. Me termin tip i të dhënavenenkuptojmë bashkësinë e të dhënave T={t1,t2,...,tn} mbi të cilat mund tëzbatohen operacione të ndryshme nga bashkësia e operacioneveO={o1,o2,...,on}. • Për shembull, në gjuhën programore Pascal, bashkësia e numrave të plotëështë • T={-32768, -32767, -32765, . . . , -1, 0, 2, . . . , 32767} dhe mbi të mund tëekzekutohen operacione nga bashkësia O={+, -, *, /, DIV, MOD}.

  7. Ndarja e të dhënave

  8. Tipet statike – linearisht të radhitura • Tipet statike të të dhënave janë me madhësi paraprakisht të definuar. Atovendosen në lokacione fikse të memorjes dhe për këtë qasja ndaj tyre ështëshumë e shpejtë. Ato ndahen në të pastrukturuara dhe të strukturuara. • Tipe linearisht të radhitura të të dhënave janë: • Tipet kardinale (ang. Cardinal) janë numra të plotë pozitiv dhe zeroja,dmth. 0,1,2,3,...,124,...,856,... • Numra të plotë (ang. Integer) janë numrat e plotë, dmth: ...,-100,-99,...,-1,0,1,...258,259,... • Karakterët (ang. Character) janë të dhënat tekstuale brenda të cilave mundtë ketë shkronja, shifra numerike dhe simbole tjera speciale. Psh. ‘!’,’%’,’/’,’1’,’A’,’@’,… • Logjike (ang. Logical) janë dy vlera të ,mundshme logjike, TRUE (e vërtetë) dhe FALSE (e pavërtetë)

  9. Tipet statike – linearisht të radhitura • Të numëruara (ang. Enumerated) janë të dhëna që i definon shfrytëzuesipër numërim, si: (molla, dardha, kumbulla), ose (tresh, katërsh, pesë) etj. • Me intervale (ang. Subrange) janë të dhëna nga një interval të të dhënash,që shënohen me të dhënën e parë dhe të fundit, të ndarë me dy pika nëmes tyre. Psh. 1..31, janar..dhjetor, ‘A’,’Z’ etj.

  10. Tipet statike–linearisht të paradhitura • Tipet reale (ang. Real) tipe, gjegjësisht bashkësi e numrave real, sipsh:5.27, +0.0345, -127.083 etj. Dhe • Tipet komplekse (ang. Complex) janë tipe që fitojnë vlera të numravekompleks

  11. Tipet statike-të strukturuara • Tipet statike të strukturuara - janë tipe të komplikuara/përbëra të të dhënave, tëcilat përbëhen prej njësive elementare dhe/ose të dhënave të pastrukturuara, tëndërlidhura në strukturë te definuar saktësisht. • Vargu i bitave (ang. bit string), janë vargje bitesh, dhe vendosen nëapostrofë. Psh: ‘0011010’,’111010001110’ etj. • Vargu i karakterëve (ang. character string) janë vargje prej karakterëvedhe vendosen në apostrofë, Psh: ‘A05MXY7’,’INFORMATIKA’ etj. • Vargjet (ang. array) janë vargje të të njëjtit tip të dhënash, dhe vendosennë kllapa të vogla, si: (-2,5,7,3), (‘a’,’b’,’c’). • Bashkësitë (ang. set) tip i të dhënave prej bashkësive, dhe vendosen nëkllapa të mesme, si: [A,B,C], [2,y,5] etj.,

  12. Tipet statike-të strukturuara • Strukturat apo rekordet (ang. Struct apo record) janë tipe të dhënash që përmbajnë të dhëna prejtipeve të ndryshme të pastrukturuara.

  13. Tipet dinamike • Tipet dinamike të të dhënave mund të jenë me madhësi të ndryshueshme dhestrukturë të pandryshueshme. • Tipet dinamike me madhësi të ndryshueshme kanë strukturë fikse, ndërsa madhësiaiu ndryshohet gjatë përpunimit. • Psh. Struktura e bashkësisë M={a,r,g,l,w,q}mbetet e njëjtë (përsëri është bashkësi) me shtimin e elementeve t, u, dhe v, kursemadhësia e saj ndryshon dhe do të jetë M={a,r,g,l,w,q,t,u,v}. • Në këto tipe bëjnë pjesë tipet statike të strukturuara: vargu i bitave, vargu Ikarakterëve, vargjet dhe bashkësitë, të cilat mund të jenë ose statike osedinamike, varësisht se si definohen.

  14. Tipet dinamike me strukturë të pandryshueshme • Kanë mënyrë të ndërtimit të strukturës paraprakisht të definuar, kurse vet struktura konkrete dhe madhësia e saj ndryshojnë gjatë përpunimit, • psh. Nëse në drurin binar në figurën 2.a I shtojmë edhe një degë, do të ndryshojë struktura dhe madhësia e tij si në figurën 2.b, por mënyra e ndërtimit të strukturës është paraprakisht e definuar: prej secilës nyje mund të dalin më së shumti dy degë.

  15. Tipet dinamike me strukturë të pandryshueshme

  16. Gjuha Programore C++ • Programi në C++ paraqet një koleksion nënprogramesh, të quajtura funksione. • Nënprogrami apo funksioni është një koleksion urdhërash të cilat, kur aktivizohen (ekzekutohen), zgjedhin diçka. • Secili program në C++ e ka funksionin main. • Njësia më e vogël individuale e një programi e shkruar në një gjuhë quhet token.

  17. Simbolet • Simbolet speciale • Simbolet me fjalë: • Fjalët e rezervuara, osekeywords (fjalë kyçe) • Ato janë: • int • gloat • double • char • void • Return • + • - • * • / • . • ; • ? • , • <= • != • == • >=

  18. Identifikuesit • Përbëhen nga shkronja, shifra, dhe karakteri underscore apo nënvizues (_) • Duhet të fillojnë me shkronjë apo underscore • C++ është case sensitive • Disa identifikues të paradefinuar janë cout dhe cin • Përkundër fjalëve të rezervuara, identifikuesit e paradefinuar mund të redefinohen, por kjo nuk është ide e qëlluar

  19. Identifikuesit e lejuar dhe jotë lejuar • Identifikues të lejuar (legal) në C++ janë: • first • conversion • payRate

  20. Tipet e të dhënave në C++ • Në C++ tipet e të dhënave mund të klasifikohe në tre kategori: • Tipe të thjeshta të dhënave • Tipe strukturore të dhënave • Pointerët

  21. Tipe të thjeshta të dhënave • Tre kategori të tipeve të thjeshta të dhënave • Integrale: numrat e plote (integer) • Me presje dhjetore • Tipi i numërimit (Enumeration): tipe të dhënash të definuara nga vetë shfrytëzuesi

  22. Tipet e të dhënave int • Shembuj • -3419 • 0 • 78 • Numrat e plotë pozitiv nuk duhet ta kenë shenjën + përpara • Asnjë presje nuk përdoret për numrat e plotë • Presjet përdoren për ndarjen e gjërave(antarëve) nëpër lista

  23. Tipet e të dhënave bool • Tipet bool • Kanë dy vlera: true dhe false • Manipulojnë me shprehjet logjike (Boolean) • true dhe false janë vlera logjike • bool, true, dhe false janë fjalë të rezervuara

  24. Tipet e të dhënave char • Tipet më të vogla të dhënave integrale • Përdoren për karakteret: shkronjat, shifrat, dhe simbolet speciale • Secili karakter është i mbyllur me apostrof • Disa nga vlerat që u përkasin tipit të dhënave char janë: 'A', 'a', '0', '*', '+', '$', '&' • Hapësira e zbrazët është po ashtu karakter dhe shënohet si ' ', duke lënë një hapësirë ndërmjet dy apostrofëve

  25. Tipet e të dhënave me presje dhjetore • C++ përdor notacion shkencor për ti paraqitur numrat real (floating-point notation)

  26. Tipet e të dhënave me presje dhjetore • float: paraqet çdo numër real • Intervali: -3.4E+38 to 3.4E+38 • Alokimi në memorie për tipin float është 4 bajt • double: paraqet çdo numër real • Intervali: -1.7E+308 to 1.7E+308 • Alokimi në memorie për tipin double është 8 bajt • Në shumicën e kompilatorëve (compilers), tipet e të dhënave double dhe long double janë të njëjta

  27. Tipet e të dhënave me presje dhjetore • Numri maksimal i shifrave signifikante (vende decimale) për vlerat float është 6 apo 7 • Vlerat float quhen single precision • Numri maksimal i shifrave signifikante (vende decimale) për vlerat double është 6 apo 7 • Vlerat double quhen double precision • Precision = numri maksimal i shifrave signifikante

  28. Operatorët aritmetikor • Operatorët në C++ • + mbledhja • - zbritja • * shumëzimi • / pjesëtimi • % mbetja nga pjesëtimi • +, -, *, dhe / mund të përdoren me tipet e të dhënave integrale dhe me presje dhjetore • Operator unar – ka një operand • Operator binar- me dy operand

  29. Prioriteti i operacioneve • Të gjitha operacionet që janë brenda () trajtohen (ekzekutohen) të parët • *,/, dhe % janë në nivelin e njëjtë të prioritetit dhe trajtohen pastaj pas operacionit në () • + dhe – kanë nivelin e njëjtë të prioritetit dhe trajtohen në fund • Kur operatorët janë të nivelit të njëjtë atëherë ekzekutohen (trajtohen) nga ana e majtë te ana e djathtë

  30. Shprehjet • Nëse të gjithë operandët janë numra të plotë • Shprehja quhet një shprehje integrale • Nëse të gjithë operandët janë numra me presje • Shprehja quhet shprehje me presje dhjetore • Shpreshja integrale jep rezultat integral • Shprehja me numra me presje jep rezultat me presje dhjetore (floating-point result)

  31. Shprehjet e përziera • Shprehja e përziera: • Ka operandë të tipit të ndryshëm të dhënave • Përmban integer (numra të plotë) dhe floating-point (numra me presje dhjetore) • Shembuj me shprehje të përziera • 2+4.9 • 6/4+3.5 • 5.4*2-13.6+18/6

  32. Ekzekutimi i shprehjeve të përziera • Nëse operatori ka tipin e njëjtë të operandëve • Bëhet ekzekutimi sipas tipit të operandëve • Nëse operatori i ka të dy tipet e operandëve • Integer ndryshohet në floating-point • Ekzekutohet operatori • Rezultati është floating-point

  33. Ekzekutimi i shprehjeve të përziera • E tërë shprehja ekzekutohet sipas rregullës së prioritetit: • Shumëzimi, pjesëtimi dhe mbetja ekzekutohen përpara mbledhjes dhe zbritjes • Operatorët që kanë nivelin e njëjtë të prioritetit ekzekutohen nga ana e majtë deri te e djathta • Për sqarim më të mirë lejohet edhe grupimi

  34. Konvertimi i tipit (Casting) • Sforcimi implicit i tipit: kur vlera e një tipi automatikisht konvertohet në një tip tjetër • Operatorët cast japin konvertim të tipit eksplicit • Përdorni formën vijuese: • static_cast<dataTypeName>(expression)

  35. Tipi i të dhënave string • Tip i definuar nga programuesi e që ndodhet në librari standarde • Është sekuencë e zeros dhe disa karakterëve • Vlera e string futet në thonjëza • Null=string me asnjë karakter • Secili karakter ka pozitë relative në string • Pozita e karakterit të parë është 0, pozita e të dytit është 1, etj. • Gjatësia=numri i karakterëve në string

  36. Input (Hyrja) • Të dhënat së pari ngarkohen në memorien kryesore përpara se të manipulohen • Vendosja e të dhënave në memorie është proces me dy hapa: • I jepet urdhër kompjuterit të alokoj (ndaj) memorie • Jepen urdhërat për vendosjen e të dhënave në memorien e alokuar (ndarë)

  37. Alokimi i memories • Konstanta e emëruar: lokacion në memorie përmbajtja e të cilit nuk mund të ndryshoj gjatë ekzekutimit • Sintaksa për deklarimin e konstantës së emëruar: • Në C++ const është fjalë e rezervuar

  38. Variablat (ndryshoret) • Variabla=lokacion në memorie përmbajtja e të cilit mund të ndryshoj gjatë ekzekutimit. • Sintaksa për deklarimin e një apo më shumë variablave është: • Shembull: tipi_i_të_dhënave identifikues, identifikues, ... ;

  39. Urdhëresa për shoqërim • Urdhëresa për shoqërim e ka formën: variabla=shprehja; • Shprehja ekzekutohet dhe vlera e saj i shoqërohet variablës së shënuar në anën e majtë. • Në C++ operatori për shoqërim është =

  40. Urdhëresa për shoqërim • Në C++ formulimi i mëposhtëm: i = i + 2; • E ekzekuton çka është në i, ia rrit vlerën për 2, dhe e shoqëron vlerën e re në lokacionin e memories i.

  41. PYETJE?

More Related