informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. gabimet ne...

42
Informatika Blerina Zanaj

Upload: others

Post on 18-Oct-2019

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Informatika

Blerina Zanaj

Page 2: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Software

• Nje program perbehet nga nje sekuenc instruksionesh qe specifikojne ate qe duhet te beje kompiuteri.

• Software eshte nje set programesh qe ofrohen nga prodhuesi i hardware apo i realizuar nga nje zhvillues aplikacionesh. Keshtu nje program mund te klasifikohet si software n.q.se ka vecorite : korrektesine, ndryshueshmerine dhe mirembajtjen.

Page 3: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Programi

• Nje program funksionon ne rregull pasi ka kalurar disa kohe ne fazen e planifikimit dhe zhvillimit. Shkruajta e kodit fillon vetem pasi eshte bere planifikimi. Plani perbehet nga nje seri instruksionesh qe i referohemi si algorithm. Algoritmi na lejon te zgjidhimi problemin ne nje menyre sistematike. Zhvillimi i nje algoritmi behet pasi eshte e nevojshme qe te zgjedhesh hapat korrekt llogjike qe con ne zgjidhjen me te shpejte dhe ne menyre eficente problemin.

Page 4: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Diferencimet e software-it

Na nevojiten dy tipe software ne menyre qe te procesojme te dhenat nga ana e kompiuterit : software te sistemit, dhe software aplikimi.

• Software te sistemit : kontrollon dhe suporton veprimet e sistemit te kompiuterit pasi ai kryen disa detyra te procesimit te informacionit.

• Software te aplikimit : drejton performancen per nje perdorim apo aplikim te caktuar te kompiuterit per tu perputhur me qellimin e perpunimit te informacionit.

Page 5: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Software i sistemeve Software e sistemeve mund te ndahen ne : programet e kontrollit te sistemeve, programet te suportimit te sistemeve, dhe programet e zhvillimit te sistemeve. • Programet e kontrollit te sistemit kontrollojne perdorimin e

hardware-it, software-it dhe burimet e te dhenave te sistemit te kompiuterit gjate eksekutimit te detyrave te procesimit.

• Programet e suportimit te sistemit suportojne veprimet, manaxhimin dhe perdoruesit e sistemit te kompiuterit duke mundesuar nje varietet sherbimesh suporti. Programe sherbimesh, monitorim performance dhe monitorim sigurie jane disa nga keto programe.

• Programet e zhvillimit te sistemit ndihmojne perdoruesit te zhvillojne programet per procesimin e informacionit dhe procedurat dhe per te pergatitur programet e perdoruesit per ekzekutim nga sistemi. Pjesa me e madhe e programeve te zhvillimit perfshijne perkthyesit e gjuheve, kompilatoret dhe zhvillimin e aplikimeve te sistemit.

Page 6: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Sistemet Operative Software me i rendesishem i sistemit per cdo

sistem eshte sistemi operative. Nje sistem operative eshte nje sistem i integruar programesh qe supervizon veprimtarin e CPU ( central processing unit)- kontrollon input/output dhe funksionimin e magazinimit e sistemit te kompiuterit dhe mundeson shume sherbime suporti. Programet e kontrollit e nje sistemi operative kryen tre detyra te rendesishme manaxhimin e te dhenave, resorseve dhe detyrave. Programet te tjere qe mund te jene pjese e sistemit operative ose qe blihen si programe sherbimesh mund te perfshijne perkthyesit e gjuheve dhe software te tjere.

Page 7: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Software te tjere te sistemit • Programet e perkthimit te gjuheve konvertojne

instruksionet e gjuhes se programimit ne kode instruksionesh ne gjuhe makine.

• Programet e sherbimeve jane programe te specializuara qe realizojne funksione ripetitive rutine dhe jane te vlefshme per cdo perdorues te sistemit te kompiuterit. Nje programe sherbimi tipik eshte linkage editor i cili update-on nje program duke percaktuar vendodhjet tipike ne memorie qe i nevojitet dhe duke lidhur sebashku pjeset e programit qe u nevojiten rutina te tjera. Kategoria kryesore e programeve te sherbimeve jane utility programs qe realizojne detyra spastruese dhe funksione te konvertimit te fileve.

Page 8: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Software-t e aplikacioneve Software e aplikacioneve ju referohet atyre

programeve qe jane hartuare per te zgjidhur probleme te perditeshme mirembajta e pagave, inventarit, faturimit, etj.Nje program aplikacioni hartohet nga nje programues dhe me pas per sherbimin e realizuar nga programi vendoset nje pagese mujore. Kur dihet nje nevoje per nje aplikacion te caktuar paketa software mundeson nje zgjidhje te pergjithshme te lehte duke supozuar se ajo i ploteson nevojat e klientit. Perdorimi i paketave te software bie ne kundeshtim me software e specializuara qe zhvillohet per nevojat e nje klienti.

Page 9: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Software e aplikacioneve perfshine nje varietet

programesh qe mund te kanalizohen per qellime

te pergjithshme, biznes, shkence dhe kategori te

tjera.

• Aplikacione me qellime te pergjithshem mund te kryejne funksione te pergjithshme perpunimi te informacionit per perdoruesin. Te tille jane si word processor, graphics,spreadsheet aplications.

• Programet e aplikacionit per biznesin kryejne procesim te informacionit qe suportojne funksione te rendesishme te biznesit per kerkesat e industrise.

• Programet e aplikacionit shkencore realizojne perpunimin e informacionit per fushat e punes kerkimore te shkences,eksperimentimit dhe zhvillimit. Te tjera fusha perfshijne artin, edukimin, zbavitjen,muziken.

Page 10: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Procesi i zhvillimit te programit • Nje program eshte nje sekuenc instruksionesh qe

realizojne nje qellime te caktuar. Procesi i zhvillimit te programit mund te shikohet ne hapat e meposhtem:

- Kuptimi i specifikimeve : specifikimet e problemit duhet te jene te qarta dhe te kuptueshme.

- Roli i analistit te sistemit : kompanit e medha punesojne nje analist sistemi qe eshte pergjegjes per procedurat e dizenjimit teresore. Analisti i sistemit eshte pergjegjes te pyes klientit per tipin e te inputeve dhe outputeve te kerkuara dhe i jep programuesit modelin e input/outputeve sebashku me kerkesat e procesimit te nevojshme.

- Analiza e problemeve : programi qe do te zhvillohet mund te jete i thjeshte ose kompleks ne varesi te detyres qe do te kryeje.

Page 11: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

- Dizenjimi i zgjidhjes : cdo detyre qe te kryhet me sukses duhet te planifikohet ne menyre e kujdeshme. Kjo do te perfshije testimi i kushteve te ndryshme, ndjekja e patheve alternative ne procedure ne varesi te rezultateve te testit, dhe percaktimi i sekuences se hapave. Jane dy hapat qe bejne kete detyre:

Algorithm-i : nje pershkrim i detajua i hapave qe duhet te ndiqen. Flowchart: nje paraqitje me vizatim i programit, qe eshte me i kapshem

vizualishte per shkake te organizimit te tije grafike. - Testimi dhe debugging: nje program zor se ecen mire qe me heren e pare per

shkake te prezences se mundeshme te gabimeve llogjike dhe/ose te sintakses. Ketyre gabimeve iu referohemi si bugs. Procesi i eliminimit te gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza.

Perdorimi i te dhenave te testit: te dhenat e testit duhet te pergatiten ne ate menyre qe programi te run-ohet duke perdorur keto te dhena. Duhet te pergatiten ne ate menyre qe te perfshije te gjitha kushtet qe programi duhet te testoje.

Perdorimi i mjeteve diagnostikuese : ka ndihma te diagnostikimit qe programuesi duhet te shfrytezoje per te detektuar gabimet kur programi deshton se funksionuar korrektesishte. Mjetet diagnostikuese mundesojne ne pergjithesi nje metode per te testuar ekzekutimin e programit ne cdo hap ose sa here qe programi ndjek nje path te caktuar. Per qellime debugging mund te perdoren breakpoint-et.

- Instalimi : software i testuar instalohet te klienti dhe perfundimishte i testuar me te dhena reale.

Page 12: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Algoritmet • Algoritmi eshte nje procedure perllogaritese e mire percaktuar (

sekuenc hapash perllogarites). Ai mer nje set vlerash si inpute dhe prodhon nje set vlerash si outpute. Mund te shihet si nje domosdoshmeri per zgjidhjen e nje problemi perllogarites. Jane disa tipare qe duhet te plotesoje nje algoritem:

- Kufizimi : kjo detyron qe algoritmi duhet te perfundoje pas ekzekutimit te disa hereve nr i fundem ky ekzekutimesh, s’mund te vazhdoje te funksionoje pafundesishte.

- Perkufizueshmeria: algoritmi nje sekuence hapash. Per nje procedure perllogaritese qe te definohet si algoritem cdo hap ne procedure duhet te kete nje perkufizim precise.

- Input dhe output: nje algoritem ka nje domain te vlerave qe inicializojne procedurat. Keto quhen si vlerat inpute te algoritmit. Gjithashtu ajo do te gjeneroje nje set vlerash qe quhen si vlerat output. Pra algoritmi mund te shikohet si nje funksion ose transformim qe lidh vlerat input-e me ato output-e.

- Efektiviteti : operacionet e specifikuara ne nje algoritem duhet te jene te thjeshta qe mund te kryhen me laps dhe leter.

Page 13: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Analiza e algoritmeve • Meqenese jane disa metoda qe mund te pershtaten

per zgjidhjen e problemit, keshtu do te jene disa algoritme qe iu korespondojne metodave. Shpesh ne duhet te bejme zgjedhjen mbi perdorimin e nje algoritmi si me i pershteshmi. Nje perzgjedhje e tille kerkon nje analize te algoritmit. Kur ne flasim per analizimin e nje algoritmi per zgjidhjen e nje problemi ne perpiqemi te parashikojme burimet qe nevojiten algoritmit. Edhe pse burime te tilla si kapaciteti i memories dhe bandwidth i sistemit mund te jene te rendesishme, eficensa e nje algoritmi matet me kohen e runimit te tije. Koha e runimit rritet me rritjen me madhesine e inputit. Keshtu koha e runimit pershkruhet si funksion i madhesise se inputit. Nr i njesive ne input apo nr i biteve te nevojshme per prezantim jane masat kryesore te madhesise se inputit.

Page 14: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Analiza ne rastin me te keqe eshte kufiri i siperme i kohes se runimit cfaredo qofte inputi. Kjo garanton qe algoritmi smund te jete me keqe nen disa kushte rrethanore. Rasti me i keqe eshte i shpeshe dhe eshte e natyreshme per analis.

Analiza e rastit mesatare: kjo nuk eshte kurre me keqe se e para, kur ne konsidorjme qe inputet me madhesi te njejte jane ekuiprobabel.

Rendi i rritjes: eshte shkalla e rritjes e kohes se ekzekutimit qe i merakos me shume studiuesit e algoritmeve.

Ne e konsiderojme nje algoritem me te mire se nje tjeter vetem atehere kur koha me e keqe e runimit te tije ka nje rende rritje me te vogel.

Page 15: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Functions of the major hardware components in a computer system

• The main function of a computer system is to

process information. An example operation done using a computer is to create a document. The processing of this information goes through a set of phases, each of these phases require it's own set of devices.

Page 16: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

• The first phase is the Input phase, where data is entered into the computer system through input devices.

• After data is inputted into the computer system, it is then processed and some changes or computations are done by the Central Processing Unit (CPU).

• During the time which the document is being modified, the document needs to be stored temporarily in the computer's Main memory for the CPU to access it.

• To save the document for future use, it is stored in Secondary Storage.

• The document is then outputted to the screen or printed.

Page 17: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Major Hardware components

• The major hardware components of a computer can be broadly categorized as:

• CPU(CU, ALU)

• Main Memory/Immediate Access storage (Primary Storage)

• Secondary Storage

• Input/Output Devices

Page 18: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

CPU

• The central processing unit (CPU) is the brain of a computer system. It carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU is made up of the Control Unit(CU) and the Arithmetic and Logic Unit(ALU). CU: The control unit is a part of the CPU that instructs other parts of the computer system to carry out program instructions. ALU: The ALU is a a digital circuit that performs arithmetic and logical operations.

Page 19: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Main Memory • Main Memory is a form of Immediate Access Storage

also known as primary storage, it is volatile memory directly accessible to the CPU and is used to store data actively operated on. The CPU continuously reads instructions stored there and executes them as required. Information stored in main memory is lost when the computer is powered off.

Page 20: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Primary Storage Devices:

• RAM

• ROM

• PROM

• EPROM

• EEPROM

Bistable Devices:

• A bistable device is a device that can exist in one of two possible states,which could either be on or off.

Random-access memory (RAM):

RAM is a form of primary storage, it is volatile. RAM takes the form of integrated circuits and it is used to temporarily store data and allows quick access to this stored data. This data can be accessed in any order.

Page 21: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Read-only memory (ROM)

- ROM is a class of non-volatile storage device that is programmed at creation, it cannot be reprogrammed at any later time. Data stored in ROM cannot be modified, therefore, it is mainly used to store firmware (firmware is software that is very closely tied to specific hardware, and unlikely to need frequent updates).

- Programmable Read-only memory (PROM):

PROM is a form of ROM that is one-time programmable.

This means that this device can only be programmed once

and can never be reprogrammed. The key difference from

ROM is that the programming is applied after the device is

created.

Page 22: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

- Erasable Programmable read only memory(EPROM):

EPROM is a type of ROM. EPROM Differs from PROM in that it can be erased by exposing it to strong ultraviolet light from a mercury-vapor light source.

- Electronically Erasable Programmable read only memory(EEPROM):

EEPROM is also a type of ROM. EEPROM Differs from EPROM in that it can be erased electronically. An example of an EEPROM device is the Flash Drive.

Page 23: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Secondary Storage:

• Secondary storage differs from primary storage in that it is not directly accessible by the CPU. The computer usually uses its input/output channels to access secondary storage and transfers the desired data using an intermediate area in primary storage. Secondary storage does not lose the data when the device is powered off and it is non-volatile. Secondary Storage Devices Include the Hard Drive, Flash Drive, Memory Card.

Page 24: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Input Devices

• An input device is any peripheral (piece of computer hardware equipment) used to provide data to the computer. Input Devices Include the Mouse, Keyboard, Touch Screen Monitor, Scanner, Track Pad, Microphone, Joystick, Web Camera.

Page 25: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Output devices • An output device is any piece of computer hardware

equipment used to communicate the results of data processing carried out by the computer to the outside world. Output Devices include the Speaker, Printer, Monitor, Plotter.

Page 26: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Informatika

Blerina Zanaj

Page 27: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Algoritmat

Objektivi primar i informatikes eshte perpunimi

automatik i informacioneve. Perpunimi automatik

Kerkon shkrimin e nje programi . Ne rastin e

problemeve komplekse kerkohet percaktimi i nje

metode zgjidhjeje dhe i nje algoritmi.

Page 28: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Metoda informatike e zgjidhjes se nje problemi

Me gjithe zhvillimet e mjeteve informatike, ne

pergjithesi zgjidhja e nje problemi me ndihmen e

kompiuterit ka te automatizuar vetem ekzekutimin e

programit i cili duhet te konceptohet nga programuesi.

Kjo eshte arsyeja pse njerezit mesojne gjuhet e

programimit. Procesi i zgjidhjes se nje problemi me

ndihmen e kompiuterit kalon ne disa faza:

1. Analiza e problemit dhe specifikimi i tij.

2. Ndertimi i algoritmit.

3. Hartimi i programit.

4. Ekzekutimi i programit dhe testimi i tij.

Page 29: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Analiza e problemit dhe specifikimi i tij

Pershkrimi i nje problemi mund te jete i paqarte,

prandaj se pari ai duhet te analizohet me kujdes me

qellim qe te percaktohen qarte te dhenat qe

perbejne informacionin hyres (input), te

domosdoshme per arritjen e zgjidhjes dhe

rezultatet (output) qe priten nga zgjidhja e ketij

problemi.

Page 30: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Ndertimi i algoritmit Pas specifikimit te problemit duhet te behet pershkrimi i detajuar i te gjitha veprimeve qe do te kryhen per te arritur zgjidhjen. Ky pershkrim quhet algoritem. Ndertimi i algoritmit perben dhe fazen me te rendesishme te zgjidhjes se nje problemi me kompiuter. Algoritmi nje bashkesi e fundeme veprimesh rigozorishte te percaktuara, qe e ekzekutuar duke u nisur nga kushte te dhena fillestare, jep rezultatin korespondues dhe perfundon ne nje kohe te fundme.Ekzekutimi i nje algoritmi shkakton nje proces sekuencial, nje seri ngjarjesh qe ndodhin njera pas tjetres, secila me nje fillim dhe fund te percaktuar qarte. Nje algoritem pershkruan zgjidhjen e problemit ne menyre te pavarur nga cdo gjuhe programimi. Nje nga vendimet me te rendesishme qe duhen mare gjate ndertimit te nje algoritmi eshte zgjedhja e struktures me te pershtateshme te te dhenave. Te gjitha programet perpunojne te dhenat, prandaj menyra e organizimit te tyre ka efekte te rendesishme ne zgjidhjen perfundimtare te problemit. Struktura e te dhenave dhe algoritmat jane ngushtesishte te lidhur me njeri-tjetrin.

Page 31: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Sipas menyres se organizimit te veprimeve, algoritmat

mund te jene:

1. Lineare: Veprimet renditen njeri pas tjetrit, cdo veprim kryehet vetem nje here.

2. Te degezuar: Sipas vleres se kushteve logjike, kryhet nje varg veprimesh apo nje varg tjeter.

3. Ciklike: Nje ose me shume veprime kryhen ne menyre te perseritur.

Pershkrimi i algoritmave mund te behet ne menyra te

ndryshme , por me e natyrshmja eshte qe algoritmat te

shkruhen ne nje gjuhe te ngjashme me gjuhet e

programimit pasi kjo do ta lehtesonte kalimin nga

algoritmi ne program. Nje gjuhe e tille algoritmike quhet

gjuhe ‘pseudo programimi’ ose ndryshe pseudokod.

Page 32: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Pseudokodi ndryshe nga gjuhet e programimit nuk ka rregulla precize dhe ndryshon nga nje programues te tjetri. Per ndertimin e algoritmeve do te ndjekim keto rregulla : • Per operacionet aritmetike jane perdorur simbolet e

zakonshme te kompiuterit +,-,*,/ (mbledhja, zbritja, shumezimi dhe pjestimi).

• Madhesite qe trajtohen ne algoritma paraqiten me emra simbolike.

• Komentet shenohen midis shenjave (/*dhe*/). • Fjalet celes te gjuhes se programimit do ti vendosim te

perkthyera ne shqip p.sh.:lexo, afisho,n.q.s., atehere,etj. • Blloqet e veprimeve mbyllen ndermjet fjaleve Fillim dhe

Fund. • Si ndarese e veprimeve perdoret pikepresja (;).

Page 33: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Shembull 1. Te ndertohet algoritmi qe gjen dhe

afishon shumen dhe prodhimin e dy numrave

me pseudokod.

1.Lexo (numeri1, numeri2);

2.Shuma numeri1 + numeri2;

3. Prodhimi numeri1 * numeri2;

4. Afisho (Shuma, Prodhimi);

5.Fund.

Page 34: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Nje tjeter menyre e paraqitjes se sekuencave te nje algoritmi eshte ajo grafike nepermjet bllokskemave (Flow Chart). Per ndertimin e tyre perdoren figura gjeometrike te llojeve te ndryshme, secila prej te cilave sherben per te paraqitur nje tip specifik operacioni. Perpunimi Testimi

Hyrje/Dalje Drejtimi i fluksit

Fillim /Fund

Keto simbole bashkohen ne segmente te orientuara qe paraqesin sekuencen me te cilen operiacionet e ndryshme do te ekzekutohen.

Page 35: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Paraqitja ne forme grafike i algoritmit te gjetjes

se shumes dhe prodhimit te dy numrave:

Page 36: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Rombi tregon nje zgjedhje logjike qe duhet te

kryer gjate perpunimit. Si rezultat i zgjedhjes

logjike algoritmi mund te vazhdoje sipas njeres

prej rrugeve te mundeshme logjike.

Algoritmi eshte nje bashkesi e fundme veprimesh

rigorozishte te percaktuara, qe e ekzekutuar duke

u nisur nga kushte te dhena fillestare, jep

rezultatin korrespondues dhe perfundon ne nje

kohe te fundme.

Page 37: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Hartimi i programit Hapi i trete ne perdorimin e kompiuterit per

zgjidhjen e nje problemi eshte “perkthimi” ne nje gjuhe programimi te kuptueshme nga kompiuteri. Ndryshe nga algoritmi, gjate hartimit te programit duhen zbatuar rigorozishte rregullat gramatikore ose sic quhen ndryshe sintaksa e gjuhes.

Japim nje shembull per ilustrimin e algoritmit te shkruar ne pseudokod per zgjidhjen e nje ekuacioni te grades se dyte.

Page 38: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

/*algoritmi per zgjidhjen e ekuacionit te grades se dyte*/

Fillim

Deklarime

Lexo ( a, b, c );

d b*b-4a*c;

Nqs (d<0) /*dallori negative*/

shkruaj (“s’ka rrenje reale”);

perndryshe

Fillim

Nqs (d>0) /*dallori pozitive*/

Fillim

x1 ( -b+ )/(2*a);

x2 (-b- )/(2*a);

Fund

perndryshe

Fillim

x1 -b/(2*a); /*dallori i barabarte me 0*/

x2 x1;

Fund;

afisho (x1, x2);

Fund;

Fund

d

d

Page 39: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Shikohet qe algoritmi eshte ndertuar ne nje trajte te pergjitheshme te ekuacionit te grades se dyte, duke perdorur parametra shkronjore, qe ne momentin e ekzekutimit marrin vlera konkrete te koeficienteve te ekuacionit real qe duhet zgjidhur. I njejti algoritem do te sherbeje ne kete menyre per te zgjidhur cdo ekuacion te grades se dyte.

Page 40: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

• Japim programin ne C per algoritmin e shembullit tone: /*program ekuacion*/ /*programi llogarit rrenjet reale te ekuacionit te grades se dyte te formes : */ include <stdio.h> void main (void) { int a,b,c; /*koeficientet e ekuacionit*/ float d; /*dallori*/ float x1,x2; /*rrenjet e ekuacionit*/ printf(“Jepni koeficientet e ekuacionit :”); scanf(“%d %d %d : &a, &b, &c); d=b*b-4*a*c; if (d<0) { printf(“\nekuacioni nuk ka rrenje reale”); else { if (d>0) { x1= (-b + sqr(d))/(2*a); x2 = (-b –sqr(d))/(2*a); } else { x1= -b/(2*a); x2=x1; } printf(“\n x1= %f, x2= %f”, x1, x2); } }

2ax bx c

Page 41: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Ekzekutimi i programit dhe testimi i tije

• Procedura e ekzekutimit te nje programi ne kompiuter varion nga njeri sistem ne tjetrin. Sapo programi te jete regjistruar, ai kompilohet dhe ekzekutohet duke dhene komandat perkatese. N.q.se nuk detektohet asnje gabim gjate kompilimit, programi objekt qe rezulton mund te ekzekutohet dhe rezultatet do te afishohen ne ekran.

• Te dhenat mund te jepen ne menyre interaktikve gjate ekzekutimit te programit prej tastieres nga perdoruesi dhe rezultatet te afishohen direkt te perdoruesi (zakonishte ne ekran).

• Nje tjeter menyre eshte ajo ne batch (mode batch). Ketu perdoruesi pergatit qe me pare nje skedar qe do te permbaje programin, te dhenat dhe disa komanda rreshte. Ekzekutimi i ketije skedari behet pa asnje nderhyrje te perdoruesit.

Page 42: Informatika - umt.edu.alumt.edu.al/docs/1404375929.pdf · gabimeve quhet debugging. Gabimet ne programe behen duke e testuar ate ne disa faza. Perdorimi i te dhenave te testit: te

Gjate hartimit te programit, ashtu dhe gjate futjes se te dhenave dhe ekzekutimit te tije, mund te behen gabime te cilat shkaktojne nderprerjen e procesit.

Dallohen disa lloje gabimesh: a) Gabime sintaksore. Keto lloje gabimesh p.sh., harrohet pikepresja, nje

variabel deklarohet dy here, nuk shkruhet ne rregull nje fjale celes, etj, kapen zakonishte nga kompilatori. Per kete arsye quhen syntax errors ose compile-time errors dhe zakonishte bejne te pamundur kompilimin dhe ekzekutimin e programit.

b) Gabime ne ekzekutim. Te tjera gabime si p.sh., pjestimi me 0, etj nuk kapen nga kompilatori. Ato detektohen vetem gjate fazes se ekzekutimit. Per kete arsye ato quhen run-time errors ( gabime gjate ekzekutimit). Per te dyja keto lloj gabimesh, sistemi afishon ne ekran mesazhe per te cilat perdoruesi duhet te konsultoj manualet. Ne keto raste gabimet mund te korrigjohen relativishte lehte dhe pasi modifikohet programi ai mund te rikompilohet dhe riekzekutohet.

c) Gabime llogjike. Ndryshe nga dy te parat keto lloje gabimesh jane me te veshtira per t’u identifikuar: P.sh. Ne qofte se ne ne nje formule nuk zbatohet ne menyre korrekte (ne vend te shenjes + vendosim *) kjo nuk do te shkaktoje asnje gabim gjate fazes se kompilimit dhe ekzekutimit, por rezultati do te jete i gabuar. Per te qene te sigurte qe rezultatet jane korrekte eshte e rendesishme qe perdoruesi te ekzekutoje nje program disa here duke futur te dhena per te cilat rezultati korrekt njihet qe me pare.