TIK ME ZGJEDHJE 12
Përmbajtja
TEMATIKA I - BOTA E KOMPJUTERIT (HARDWARE, SOFTWARE)
1.1 Njësia qendrore e procesimit dhe arkitektura e saj................................................................ 6
1.2 Karakteristikat kryesore të CPU. Kujtesa “cache” dhe paralelizmi.......................................... 9
1.3 Njësia e përpunimit grafik (GPU)........................................................................................... 12
1.4 Veprimtari praktike – Implementimi i arkitekturës Von Neumann me anë të simulatori
online “Little Man Computer”................................................................................................ 14
1.5 Pajisjet ruajtëse optike, magnetike dhe flash. Karakteristikat e tyre..................................... 17
1.6 Sistemet Operative. Llojet, karakteristikat dhe krahasimet midis tyre................................... 21
1.7 Software-t me burim të hapur dhe të mbyllur. Përdorimi i utiliteteve si domosdoshmëri
në PC...................................................................................................................................... 25
1.8 Cikli jetësor i një programi nga gjuha makinë, në kompilues deri në interpretues................ 28
1.9 Veprimtari praktike – Instalimi i një sistem operimi në makinën virtuale............................. 31
1.10 Vlerësim njohurish............................................................................................................... 35
TEMATIKA II - ALGORITMIKA DHE PROGRAMIMI
2.1 Rritja e efikasitetit të algoritmit nëpërmjet teknikave “Përça e Sundo” dhe rekursivitetit..... 38
2.2 Kompleksiteti i algoritmit....................................................................................................... 41
2.3 Veprimtari praktike - Instalimi i Python.................................................................................. 44
2.4 Ndryshoret dhe konstantet.................................................................................................... 46
2.5 Operatorët............................................................................................................................. 48
2.6 Strukturat e kontrollit............................................................................................................. 51
2.7 Struktura ciklike ..................................................................................................................... 54
2.8 Vlerësim njohurish në Python................................................................................................ 57
2.9 Tipet String dhe Array ........................................................................................................... 58
2.10 Rradhët dhe Pilat................................................................................................................. 60
2.11 Funksionet dhe procedurat.................................................................................................. 62
2.12 Algjebra Booleane................................................................................................................ 64
2.13 Harta Karnough.................................................................................................................... 66
2.14 Vlerësim njohurish për hartën Karno................................................................................... 68
2.15 Sistemet kompjuterike dhe inteligjenca artificiale............................................................... 69
2.16 Vlerësim njohurish............................................................................................................... 71
TEMATIKA III - BAZA E TË DHËNAVE DHE MENAXHIMI I TYRE
3.1 Hyrje në bazat e të dhënave. Avantazhet e bazave të të dhënave relacionale mbi tabelat
me një dimension................................................................................................................... 74
3.2 Modeli Relacional i të dhënave.............................................................................................. 78
3.3 Formularët normal të parë, të dytë dhe të tretë................................................................... 82
3.4 Hyrje në SQL (Structured Query Language)........................................................................... 86
3.5 Prezantim me SQL Server dhe krijimi i tabelave..................................................................... 89
3
3.6 Shtrëngimet në SQL............................................................................................................... 92
3.7 Komanda SELECT. Veprime bazë............................................................................................. 95
3.8 Veprimtari praktike................................................................................................................ 99
3.9 Operatorët e bashkësisë. Funksionet Statistikore, group by dhe Join..................................... 101
3.10 Projekt - Krijimi i një baze të dhënash dhe veprime me Select (2orë)................................. 104
3.11 Shprehjet BEGIN, END. Transaksionet dhe vetitë APIQ......................................................... 106
3.12 Bazat e dhënave të shpërndara, të dhënat e mëdha dhe të dhënat e hapura..................... 109
3.13 Vlerësim njohurish............................................................................................................... 113
TEMATIKA IV - TRANSMETIMI I TË DHËNAVE, RRJETAT DHE INTERNET-I
4.1 Digjitalizimi i një sinjali........................................................................................................... 116
4.2 Korruptimi i të dhënave dhe gjetja e gabimeve...................................................................... 118
4.3 Kompresimi i të dhënave....................................................................................................... 120
4.4 Veprimtari praktike - Përdorimi i WinRAR-it........................................................................... 122
4.5 Shtresat e rrjetit. Modeli TCP/IP............................................................................................. 124
4.6 Adresat Mac dhe IP................................................................................................................ 126
4.7 Packet-switched dhe circuit-switched..................................................................................... 128
4.8 Interneti i gjërave (IoT)........................................................................................................... 130
4.9 Rreziqet në rrjet..................................................................................................................... 132
4.10 Hashing................................................................................................................................ 135
4.11 Siguria operacionale............................................................................................................ 137
4.12 Vlerësim njohurish............................................................................................................... 139
TEMATIKA V - ZHVILLIMI I APLIKACIONEVE, SOFTWARE-VE
DHE SISTEMEVE
5.1 Cikli i zhvillimit të software..................................................................................................... 142
5.2 Vlerësimi i realizueshmërisë së një projekti të zhvillimit software-ik..................................... 144
5.3 Veprimtari praktike - Vlerësimi i perspektivës ekonomike së projektit të zhvillimit
software-ik ATM...................................................................................................................... 146
5.4 Kërkesat funksionale dhe jofunksionale................................................................................. 147
5.5 Rastet e përdorimit - Use Cases............................................................................................. 149
5.6 Metoda e zhvillimit waterfall.................................................................................................. 151
5.7 Metoda e zhvillimit agile........................................................................................................ 153
5.8 Mënyrat e përshkrimit të veprimeve për një zgjidhje............................................................ 155
5.9 Diagrama e procesit................................................................................................................ 157
5.10 Ndërveprimi kompjuter-njeri............................................................................................... 159
5.11 Testimi i të dhënave.............................................................................................................. 161
5.12 Abstraksioni.......................................................................................................................... 163
5.13 Modelimi i sistemit............................................................................................................... 165
5.14 Veprimtari praktike - Zhvillimi i një sistemi informacioni (2 orë)........................................... 168
5.15 Vlerësim njohurish (2 orë).................................................................................................... 169
4
TEMA(HTIAKRADIW- BAORETA, SEOKFOTWMAPJRUET) ERIT
1.1 Njësia qendrore e procesimit dhe arkitektura e saj
1.2 Karakteristikat kryesore të CPU. Kujtesa “cache” dhe paralelizmi
1.3 Njësia e përpunimit grafik (GPU)
1.4 Veprimtari praktike - Implementimi i arkitekturës Von Neumann me anë të
simulatorit online “Little Man Computer”
1.5 Pajisjet ruajtëse optike, magnetike dhe flash. Karakteristikat e tyre
1.6 Sistemet Operative. Llojet, karakteristikat dhe krahasimet midis tyre
1.7 Softuerët me burim të hapur dhe të mbyllur. Përdorimi i utiliteteve si
domosdoshmëri në PC
1.8 Cikli jetësor i një programi nga gjuha makinë, në kompilues deri në
interpretues
1.9 Veprimtari praktike. Instalimi i një sistem operimi në makinën virtuale
1.10 Vlerësim njohurish
Në këtë tematikë, nxënësi/ja:
• koncepton qëllimin e CPU-së, elementëve të tij dhe funksionet e tyre përfshirë
elementët kyç të arkitekturës së Von Neumann, funksionet dhe ndërlidhjet midis tyre;
kuptojnë ciklin fetch-execute; koncepton karakteristikat tipike të CPU-së që ndikojnë
në performancën e tij dhe faktorët që kanë çuar në rritjen e performancës së CPU-
ve moderne si kujtesa “cache” apo paralelizmi; koncepton që njësia e përpunimit
grafik (GPU-ja) është projektuar për të kryer veprime që përmirësojnë rezultatin
grafik; identifikon përdorimet, përparësitë dhe mangësitë e pajisjeve ruajtëse optike,
magnetike apo “flash”; kupton sistemet operative, karakteristikat kryesore të tyre
dhe karakteristikat që përbëjnë dallimet kryesore midis tyre; koncepton që mjeti i
domosdoshëm (ndryshe në anglisht “utility”) është thjesht një pjesë software-i i cili
ka vetëm një qëllim; bën dallimin midis bashkuesve, kompiluesve dhe interpretuesve;
kupton dallimin midis software-ve me burim të hapur dhe të mbyllur (open and close
source).
5
Bota e kompjuterit (hardware, software)
1.1 Njësia qendrore e procesimit dhe arkitektura e saj
Nxënësi/ja: Situatë
-- koncepton çfarë është Jeni duke blerë një kompjuter të ri në një dyqan elektronik dhe
CPU-ja; po përpiqeni të kuptoni specifikimet teknike. Shitësi ju thotë që
-- identifikon elementet të zgjedhim kompjuterin që ka një procesor 64-bit quad-core
e CPU-së Intel i7 3.5 GHz. Duket i bukur nga pamja, por çfarë do të thonë
-- identifikon regjistrat e me të vërtetë këto parametra?
CPU-së.
CPU-ja (Njësia qendrore e përpunimit)
Fjalë kyç:
CPU, procesor, arkitektura e Në çdo sistem kompjuterik, komponenti më thelbësor është CPU-ja
kompjuterit, funksionalitete, (central processing unit - njësia qendrore e
regjistrat e CPU-së, 64 bit. përpunimit), e cila gjithashtu zakonisht njihet
si mikroprocesor, apo procesori i kompjuterit.
Njësia qendrore e përpunimit (CPU) quhet komponenti kompjuterik i cili
është përgjegjës për interpretimin dhe ekzekutimin e instruksioneve të
programit. Mikroprocesori ka si qëllim marrjen e të dhënave, përpunimin e CPU
tyre dhe më pas dërgimin e të dhënave që janë përpunuar. Njësia qendrore e
përpunimit konsiderohet si zemra e një kompjuteri dhe është instaluar në një socket (vend) specifik në
motherboard. Meqenëse një CPU kryen shumë llogaritje me shpejtësi të lartë, ajo nxehet shpejt dhe
për ta ftohur është instaluar në të një ventilator (ftohës).
Në një sistem kompjuterik procesori kryen këto funksione kryesore:
• Dekodon dhe ekzekuton instruksionet e marra nga programet Ftohësi i procesorit
software-ike.
• Kryen llogaritje aritmetike.
• Kontrollon dhe mbështet kohën e çdo operacioni ose instruksioni.
Arkitektura e CPU-së
Arkitektura e CPU-së njihet si arkitektura Von Neumann e cila u krijua fillimisht nga John von Neumann
në vitin 1945.
Arkitektura e CPU-së sipas tij përbëhet nga:
• njësia e Kontrollit;
• njësia Aritmetike dhe Logjike (ALU);
• regjistrat;
• inputet / Outputet (të dhënat / rezultatet).
Arkitektura e Von Neumann bazohet në konceptin kompjuterik të programit të ruajtur, ku të dhënat e
instruksioneve dhe të dhënat e programit ruhen në të njëjtën memorje. Kjo arkitekturë ende përdoret
në shumicën e kompjuterave të prodhuara në ditët e sotme.
6
Bota e kompjuterit (hardware, software)
Arkitektura e CPU sipas Von Neumann
Njësia e kontrollit, CU (Control unit)
Njësia e Kontrollit është një pjesë e brendshme e CPU-së që bashkërendon udhëzimet dhe rrjedhën
e të dhënave ndërmjet CPU-së dhe komponentëve të tjerë të kompjuterit. Është një njësi që drejton
operacionet e njësisë qendrore të përpunimit duke dërguar sinjale të kohës dhe të kontrollit. Ajo
udhëzon ALU-në se cili nga veprimet aritmetike dhe logjike duhet të kryhet. Qëllimi i saj është të
kontrollojë të gjithë elementët e tjerë të CPU-së, duke siguruar që të dhënat të merren nga vendi ku
janë ruajtur dhe të shkojnë në vendin ku kërkohen.
Njësia Aritmetike dhe Logjike
ALU-ja (Arithmetic Logic Unit) është një qark elektrik i brendshëm i një CPU-je që kryen të gjitha
operacionet aritmetike dhe logjike në një kompjuter. Është truri i mikroprocesorit. ALU-ja kryen llogaritjet
bazë aritmetike si mbledhja, zbritja, shumëzimi si edhe kryen operacione logjike si krahasimi i numrave etj.
ALU-ja merr tre lloje inputesh:
1. sinjalin e kontrollit nga CU (Njësia e Kontrollit);
2. të dhënat që do të operohen;
3. informacion mbi gjendjen nga veprimet e bëra më parë.
Kur të gjitha kërkesat kanë mbaruar, rezultati që përbëhet nga të dhënat ruhet në kujtesë dhe në
regjistrat e brendshëm të CPU-së do të ruhet një informacion mbi statusin.
Regjistrat
Regjistrat janë pjesë të vogla të memories të vendosura brenda CPU-së. Ata janë zona të magazinimit
me shpejtësi të lartë në CPU. Të gjitha të dhënat duhet të ruhen në një regjistër para se të përpunohen.
Kemi disa lloje regjistrash:
• MAR - Regjistri i adresave të kujtesës: Mban vendndodhjen e kujtesës së të dhënave që duhet
të arrihen.
• AC (Akumulator) - ruan rezultatet e ndërmjetme aritmetike dhe logjike.
• PC (Program Counter) - përmban adresën e udhëzimit tjetër që do të ekzekutohet.
• CIR (Regjistri aktual i udhëzimeve) - përmban udhëzimin aktual gjatë përpunimit.
7
Bota e kompjuterit (hardware, software)
Cikli fetch-execute
Të gjithë CPU-të pa marrë parasysh llojin, kryejnë një cikël bazë ekzekutimi që përbëhet nga tre hapa:
fetch-dekodim-ekzekutim.
Hapi i parë i ciklit nis me leximin e instruksionit, ky hap quhet Fetch.
Në një cikël ekzekutimi, CPU-ja merr udhëzimet e hyrjes ose komandat nga njësia e kujtesës, kryen
operacione aritmetike dhe logjike dhe i ruan këto të dhëna të përpunuara në kujtesë si në figurë.
Hapat e ciklit të ekzekutimit janë:
1. Njësia e kontrollit CU realizon adresimin e kujtesës qendrore për leximin e një instruksioni.
2. Instruksioni lexohet në njësinë e
kontrollit.
3. Dekodon instruksionin e lexuar.
4. Komandon ekzekutimin e tij.
Njësia e kujtesës Cikli Fetch-Execute
Njësia e kujtesës përbëhet nga RAM (Random Access Memory), e cila njihet si kujtesa kryesore.
Ndryshe nga një hard disk, kjo kujtesë është e shpejtë dhe gjithashtu e disponueshme drejtpërdrejtë
nga CPU-ja.
RAM-i përbëhet nga shumë qeliza të memories, të një madhësie fikse. Çdo qelizë ka një adresë të
lidhur me të në formë binare: 0 dhe 1.
Çdo qelizë ka dy karakteristika të rëndësishme: adresën dhe përmbajtjen e saj (atë që ruhet në vendin
e caktuar). Adresa do të identifikojë në mënyrë unike çdo vend në kujtesë.
Ngarkimi i të dhënave nga kujtesa e përhershme (hard disk) në memorien e përkohshme RAM, i lejon
CPU-së të veprojë shumë më shpejt.
Buses ofron mjetin me të cilin të dhënat transmetohen nga një pjesë e një kompjuteri në një tjetër
duke lidhur të gjithë komponentët e brendshëm të mëdhenj me CPU-në dhe kujtesën.
Një bus standard i sistemit të CPU-së është i përbërë nga një bus kontrolli, bus i të dhënave dhe një bus
adresa.
• Adresa Bus - mbart adresat e të dhënave (por jo të dhënat) midis procesorit dhe kujtesës.
• Data Bus - mbart të dhëna ndërmjet procesorit, njësisë së kujtesës dhe pajisjeve të
hyrjes/daljes.
• Bus i kontrollit - mbart sinjale/komanda kontrolli nga CPU-ja në mënyrë që të kontrollojë dhe
koordinojë të gjitha aktivitetet brenda kompjuterit.
Kontroll njohurish
1. Cilët janë funksionet kryesorë të CPU-së?
2. Çfarë përmban cikli i ekzekutimit? Tregoni hapat e tij.
3. Cila është arkitektura e Von Neumann?
4. Çfarë funksioni kanë regjistrat në CPU?
8
Bota e kompjuterit (hardware, software)
1.2 Karakteristikat kryesore të CPU-së.
Kujtesa “cache” dhe paralelizmi
Nxënësi/ja: Situatë
-- identifikon karakteristikat Kompjuteri i Mirit është më i shpejtë se kompjuteri i Xhulias.
kryesore dalluese të një Miri i tha Xhulias se shkaku mund të jetë lloji i procesorit
procesori; dhe performanca e tij. A ka të drejtë?
-- koncepton performancën Modeli
e CPU-së;
Karakteristika kryesore e një procesori ka të bëjë me kompaninë e
-- koncepton çfarë është prodhimit, ku dy janë më kryesoret, AMD dhe Intel. Edhe pse modelet
paralelizmi. konkuruese nga të dy kompanitë kanë karakteristika dhe performancë të
ngjashme, nuk mund të instaloni një procesor AMD në një motherboard
Fjalë kyç: Intel-compatible ose anasjelltas.
performancë, model,
paralelizëm, socket.
Socket Modele të ndryshme procesorësh
Një karakteristikë tjetër përcaktuese e një procesori është foleja ose socket, që është projektuar për
t’u përshtatur. Nëse duam të zëvendësojmë procesorin në një motherboard socket 478, për shembull,
duhet të zgjedhim një procesor zëvendësimi që është projektuar për t’u përshtatur në atë socket.
Tipe të ndryshme socket
Shpejtësia e orës
Shpejtësia e orës është shkalla në të cilën një procesor mund të kryejë një cikël përpunimi. Zakonisht
matet në megahertz ose gigahertz. Një megahertz është i barabartë me një milion cikle për sekondë
ndërsa një gigahertz është i barabartë me një miliard cikle për sekondë. Kjo do të thotë se një procesor
1,8 GHz ka dy herë shpejtësinë e orës së një procesori 900 MHz. Shpejtësia e orës së përpunimit është
një tregues i rëndësishëm se sa i shpejtë është një kompjuter. Sa më e lartë të jetë shpejtësia aq më
shumë llogaritje mund të bëhen duke e bërë kompjuterin më të shpejtë.
9
Bota e kompjuterit (hardware, software)
Shpejtësia e procesorit
Një ndër faktorët më kryesorë në përcaktimin e performancës së kompjuterit është shpejtësia e
procesorit, domethënë sa shpejt do të ekzekutohen instruksionet.
Shpejtësia e procesorit matet me numrin e bërthamave që ai ka dhe me shpejtësinë në GHz që ka
secila prej tyre. Procesorët mund të kenë më shumë se një bërthamë llogaritëse, që rrisin shpejtësinë
e kompjuterit në mënyrë të veçantë ekzekutimin në paralel. Per shembull, procesor Dual CORE (me dy
bërthama llogaritëse) ose QUAD Core (me 4 bërthama llogaritëse). Nëse një procesor ka dy ose katër
bërthama, performanca e një kompjuteri mund të rritet edhe nëse shpejtësia e CPU-së mbetet e njëjtë.
Një procesor me dy bërthama (dual-core) 3.0 GHz do të jetë në gjendje të kryejë dyfishin e numrit të
llogaritjeve në krahasim me një procesor me një bërthamë 3.10 GHz.
Procesorët 32 bit kundrejt 64 bit
Sot janë në qarkullim procesorët 32bit dhe 64bit. Një procesor 64 bit mund të përdoret me një sistem
operativ 32bit. Për të parë llojin e procesorit që kemi në kompjuterin tonë dhe llojin e sistemit operativ,
nëse është 32bit apo 64 bit, klikojmë në START, RUN dhe në të shkruajmë dxdiag. Në dritaren që del
gjejmë informacion mbi procesorin dhe sistemin operativ, memorjen RAM, kartën grafike etj.
Parametrat e kompjuterit
Madhësia e procesit
Madhësia e procesit, e quajtur edhe madhësia fab matet me nanometër dhe përcakton madhësinë e
elementit më të vogël të mundshëm të një procesori.
Memoria cache
Memoria cache është komponente e kompjuterit e cila ruan te dhënat në mënyrë që kërkesat për
këto të dhëna të procesohen më shpejt. Cache është memorje e vogël për nga kapaciteti, por shumë e
shpejtë. Është e vendosur mes memorjes kryesore (RAM) dhe Njësisë Qendrore për Përpunim (CPU).
Në disa raste është e vendosur dhe vetë në modulin e CPU-së. Cache-ja përmban kopje të një pjese
të të dhënave të cilat ndodhen në memorien kryesore. Kur procesori tenton të lexojë një fjalë nga
memoria, së pari kontrollon për këto të dhëna në cache. Nëse këto të dhëna ndodhet në cache, ajo i
10
Bota e kompjuterit (hardware, software)
dërgohet procesorit. Ndërkaq nëse fjala e kërkuar nuk gjendet në cache, një bllok i memories kryesore
që përmban fjalën e kërkuar lexohet në cache e pastaj fjala e kërkuar i dërgohet procesorit. Kujtesa
cache i jep memories shpejtësi që i afrohet shpejtësisë së memorieve më të shpejta dhe njëkohësisht
siguron kapacitet më të madh të memories në një çmim më të ulët.
Paralelizmi
Një karakteristikë tjetër që shërben për të përmirësuar performancën e procesorëve është dhe
paralelizmi, ku shumë instruksione ekzekutohen njëkohësisht. Paralelizmi është ekzekutimi i
operacioneve të shumëfishta nga njësitë funksionale homogjene.
Qëllimi i përpunimit paralel është të shpejtojë aftësinë e përpunimit kompjuterik pra të rrisë sasinë e
përpunimit që mund të kryhet gjatë një periudhe të caktuar kohe.
Dy ose më shumë ALU në CPU mund të punojnë njëkohësisht për të rritur shpejtësinë. Sistemi mund
të ketë dy ose më shumë procesorë që veprojnë njëkohësisht.
Lloji i paralelizmit:
• instruction-level parallelism (ILP), nivelit të instruksioneve;
• paralelizëm në nivel instruksionesh (Superscalar), paralelizmi në nivel procesori.
ILP është një njësi matëse se sa nga instruksionet në një program kompjuterik mund të ekzekutohen në
të njëjtën kohë. Teknikat mikro-arkitekturore që përdoren për të shfrytëzuar ILP-në përfshijnë:
• Pipelining - ekzekutimi i instruksioneve të shumta mund të jenë pjesërisht të mbivendosur.
• Ekzekutimin superscalar në të cilin përdoren njësi të shumëfishta ekzekutimi për të ekzekutuar
instruksione të shumta paralelisht.
Superscalar - paralelizëm në nivelin e instruksioneve brenda një procesori të vetëm. Ndërkohë që një
CPU superscalar është gjithashtu edhe pipelined. Arkitektura Pipelining dhe Superscalar konsiderohen
teknika të ndryshme të rritjes së performancës.
Kontroll njohurish
1. Cilat janë karakteristikat kryesore për të rritur performancën e një procesori?
2. Çfarë është kujtesa ccaacchhee?
3. Çfarë është paralelizmi dhe cilat janë llojet e tij?
4. Kërkoni në internet për avantazhet dhe disavantazhet e paralelizmit.
11
Bota e kompjuterit (hardware, software)
1.3 Njësia e përpunimit grafik (GPU)
Nxënësi/ja:
-- koncepton cfarë është Situatë
GPU-ja. Kur luajmë lojra të ndryshme në kompjuter, vëmë
re se disa kanë pamje jo të qartë, disa janë shumë
-- koncepton si ndikon ajo në të qartë. Po cili kujdeset për paraqitjen e tyre që ne
përmirësimin e rezultatit shohim në PC?
grafik.
Fjalë kyç:
GPU, përmirësim,
grafika.
GPU (Njësia e përpunimit grafik)
Njësia e përpunimit të grafikës (GPU- Graphics Processing Unit) është një procesor me një çip i cili
përdoret për të menaxhuar veprimet grafike duke rritur edhe performancën e video-ve. GPU-të
përdoren në sisteme të integruara, telefona celularë, kompjutera personalë etj. GPU-të moderne janë
shumë efikase në manipulimin e grafikës kompjuterike dhe të përpunimit të imazhit. Struktura e tyre
paralele i bën ata më efikasë se CPU-të në algoritme ku përpunimi i blloqeve të mëdha të të dhënave
bëhet paralelisht. Në një kompjuter personal, GPU-ja mund të jetë i pranishëm në një kartë video ose
mund të futet në motherboard.
Pamja e një GPU-je
GPU-të kanë ekzistuar që në krjimin e video game-ve në vitet 1970. Njësitë e përpunimit grafik u
përdorën në kompjutera të kompanive të ndryshme në fund të viteve 1990. Kompania e teknologjisë
NVIDIA prezantoi GPU-në e parë për kompjuterat personalë, GeForce 256, në vitin 1999.
Karakteristikat kryesore:
1. Kërkesat kompjuterike janë të mëdha. Realizimi në kohë reale kërkon biliona piksela për sekondë
dhe çdo piksel kërkon qindra ose më shumë operacione. GPU-të duhet të japin një sasi të madhe të
performancës llogaritëse për të kënaqur kërkesat e aplikacioneve komplekse në kohë reale.
2. Përgjegjësia është më e rëndësishme se vonesa. Sistemi vizual i njeriut vepron në shkallë kohore
të milisekondës ndërsa veprimet brenda një procesori modern kërkojnë kohë prej nanosekondash.
Ky hendek i rendit të gjashtë do të thotë se vonesa e çdo veprimi individual është e parëndësishme
krahasuar me përgjegjësinë që ka GPU-ja.
12
Bota e kompjuterit (hardware, software)
Qëllimi kryesor i një GPU-je është që të shfaqë grafika 3D të cilat përbëhen nga poligone. Meqenëse
shumica e transformimeve poligoniale përfshijnë numra dhjetorë, GPU-të janë të dizenjuara për të kryer
veprime me numra me presje. Kjo arkitekturë e specializuar i mundëson GPU-ve të bëjnë grafikë në
mënyrë më efikase se sa edhe CPU-ja më e shpejtë. Përdorimi i GPU-së me fuqi të lartë mundëson edhe
luajtjen e lojërave moderne.
Fuqia përpunuese e kartës video i mundëson kompjuterit që të prodhojë imazhe në lëvizje më të shpejta
dhe detaje më të mira e cila është një domosdoshmëri për lojërat kompjuterike dhe programet video.
Termi “GPU” shpesh përdoret në mënyrë sinonime me “kartën grafike” edhe pse të dyja janë të ndryshme.
Një kartë grafike është një pjesë e harduerit që përmban një ose më shumë GPU dhe elementë të tjerë
elektronikë që lejojnë kartën grafike të funksionojë.
Smartfonët modernë janë të pajisur me çipa të avancuar që mund të bëjnë shumë detyra të ndryshme
në varësi të programimit të tyre. GPU-të janë një pjesë thelbësore e atyre çipeve dhe performanca e
GPU-së po bëhet gjithnjë e më e rëndësishme duke qene se lojërat celulare po shtyjnë kufijtë e aftësive
të tyre.
Kontroll njohurish
1. Çfarë është GPU-ja?
2. Përse përdorimi i tyre është i rëndësishëm?
3. Cilaj janë karakteristikat kryesore të GPU-së?
4. Kërkoni në internet informacione shtesë për GPU-në dhe tregoni
rolin kryesor në lojrat kompjuterike me video.
13
Bota e kompjuterit (hardware, software)
1.4 Veprimtari praktike – Implementimi i arkitekturës Von Neumann
me anë të simulatorit online “Little Man Computer”
Aftësi që zhvillohen
- Nxënësi/ja aftësohet në krijimin e animacioneve për faqet e internetit.
Nxënësit do të zhvillojnë dhe mësojnë në orën e punës praktike se si realizohen hapat e ekzekutimit
për të gjetur zgjidhjen e një problemi duke përdorur programin e “Little Man Computer”.
Mjetet e punës: fletore për të mbajtur shënimet, stilolaps, kompjuter dhe internet.
Fillimisht do të tregojmë se çfarë është “Little man”, qëllimi i krijimit të tij, hapat e ekzekutimit të
një programi që nga momenti i marrjes së inputit deri në nxjerrjen e outputit.
Zhvillim
Kompjuteri Little Man (LMC) është një model udhëzues i një kompjuteri, i krijuar nga Dr. Stuart
Madnick në vitin 1965. LMC zakonisht mbështetet në modelimin e një kompjuteri të thjeshtë Von
Neumann i cili ka të gjitha tiparet themelore të një kompjuteri modern. Rikujtojmë që arkitektura
Von Neumann përbëhet nga pesë komponentë kryesorë:
1. Pajisjet hyrëse, dalëse.
2. Njësia e kontrollit.
3. Njësia llogjike dhe aritmetike.
4. Memorja kryesore.
5. Bus-et.
Ky është qëllimi kryesor i "Little Man Computer", të kuptojë se si këto pesë elementët kryesorë
bashkëveprojnë me njëri-tjetrin për të nxjerrë në përfundim një rezultat.
Pamja e "Little Man Computer" është si në figurën e mëposhtme:
Ndërfaqja e Little Man Computer
14
Bota e kompjuterit (hardware, software)
Komponentët kryesorë të “Little man” të shënuara me numra në figurë janë:
1. Dritarja ku ju duhet të shtypni/vendosni kodin.
2. Dy butonat për të ngarkuar kodin në kujtesë i cili më pas do të ekzekutohet (run).
3. Dritarja për një hyrje, nëse ka, nuk është e nevojshme.
4. Një tregues që tregon hapat e kodit, hap pas hapi.
5. Hapësirat e kujtesës ku ruhen instruksionet dhe të dhënat, siç specifikohet në arkitekturën
Von Neumann, 100 qeliza, nga 00 në 99.
6. Dritarja për output gjatë ekzekutimit të kodit.
7. Opsionet për të kontrolluar rrjedhën e ekzekutimit, të ngadalshëm në të shpejtë etj.
"Little man" përbëhet nga disa grupe udhëzimesh të cilat duhet t'i njohim fillimisht e më
pas të fillojmë ekzekutimin e kodit. Tabela e mëposhtme tregon udhëzimet kryesore të
"Little Man".
Kodi Mnemonik Kodi numerik Instruksioni
INP 901 Të dhënat input
ADD 1XX Shto të dhëna (shuma)
SUB 2XX Hiq të dhëna (diferenca)
STA 3XX Ruaj të dhënat
LDA 5XX Ngarko të dhënat
BRA 6XX Kalo në një qelizë specifike
BRZ 7XX Nëse është 0, kalo në një qelizë tjetër
BRP 8XX Nëse është 0, ose pozitive, kalo një qelizë specifike
OUT 902 Të dhënat output
HLT Ndalo ekzekutimin
DAT Trajto përmbajtjen si të dhëna
XX-është numri i
qelizës në ndarjen
e kujtesës
Për të parë se si funksionon "Little Man
Computer", hapni shfletuesin dhe shkruani
http://www.peterhigginson.co.uk/lmc/ i cili
do të shfaqë programin e “burrit të vogël”.
Ekzekutojmë instruksionet e mëposhtme të
cilët i mundësojnë përdoruesit të shkruajë
një vlerë dhe më pas e afishon atë:
INP
STA 20
OUT
HLT
Një program i thjeshtë në Little Man Computer
15
Bota e kompjuterit (hardware, software)
Gjatë ekzekutimit të një programi, "Little man" kryen këto hapa:
1. Kontrollon Program Counter për numrin e mailbox (kutisë postare) që përmbajnë instruksionet
e programit.
2. Merr instruksionet nga mailbox me atë numër që kanë. Secili instruksion përmban dy fusha:
një opcode (që tregon veprimin për të kryer) dhe fushën e adresës (tregohet se ku mund të
gjejë të dhënat për të kryer operacionet).
3. Rrit numrin e programit.
4. Dekodon instruksionet.
5. Merr të dhënat nga inputi ose në mailbox.
6. Ekzekuton instruksionin bazë me opcod-in e dhënë.
7. Ruan rezultatin.
8. Kthehet në program counter (numëruesin e programit) për të përsëritur ciklin.
LMC-ja bazohet në idenë e një ‘Little man’ që vepron si njësia e kontrollit të një CPU-je duke
marrë udhëzime nga RAM, dekodimin dhe ekzekutimin e tyre, si dhe menaxhon mekanizmat
e hyrjes dhe të daljes.
Ushtimi 1. Shkruani një program i cili merr si input dy numra të plotë dhe shfaq si output
shumën e tyre.
Zgjidhje
Hapat e kodit:
• Vendosni input-in. • Mblidhni numrin e dytë me të parin.
• Ruani numrin e parë. • Pritni outputin përfundimtar.
• Vendosni input-in për numrin e dytë. • Ndaloni ekzekutimin.
• Ruajeni atë. • Trajtoni përmbajtjen si të dhëna.
• Ngarkoni të dhënat.
Kodi përkatës në këtë rast është: INP
STA A
INP
STA B
LDA A
ADD B
OUT
HLT
A DAT
b DAT
Nxënësi duhet të marrë këtë kod dhe ta vendosë tek programi i "Little Man Computer". Gjatë
ekzekutimit të tij të kuptojë grupet e udhëzimit dhe rezultatet në fund.
Ushtrimi 2. Shkruani një program i cili merr si input dy numra të plotë dhe shfaq si output
diferencën e tyre.
Ushtrimi 3. Shikoni në internet dhe kërkoni grupe udhëzime të tjera për "Little Man Computer".
Mbasi të keni mbaruar me kërkimin dhe analizimin, shkruani një kod i cili merr si input dy numra
të plotë dhe nxjerr si output më të madhin e tyre.
16
Bota e kompjuterit (hardware, software)
1.5 Pajisjet ruajtëse optike, magnetike dhe flash.
Karakteristikat e tyre
Nxënësi/ja: Situatë
-- koncepton se çfarë janë Ana solli në klasë një kuti magnetike të cilën ia
pajisjet ruajtëse; kishte marrë kompjuterit të saj që ishte prishur. Ajo
-- identifikon nuk dinte se çfarë funksionaliteti kishte kjo paketë
karakteristikat e tyre; magnetike në kompjuter. Artani i shpjegoi Anës se
-- idetifikon lloje të kjo pajisje është një Hard disk. Si mendoni çfarë pasojash mund t’i ketë
ndryshme pajisjesh sjellë kompjuterit të Anës prishja e Hard diskut?
ruajtëse. Disku i ngurtë
Fjalë kyç:
Një hard drive disk (HDD) është një pajisje ruajtëse që përmban
hard disk, pajisje magnetike, disqe magnetike të cilat rrotullohen me shpejtësi të lartë për të
usb, shpejtësi, rrotullim. lexuar dhe shkruar informacionet. Hard disku na mundëson ruajtjen
e të dhënave edhe kur kompjuteri është i fikur, pra është një memorje sekondare që ruan të dhënat në
mënyrë të përhershme. Një hard disk ndodhet brenda një hard drive i cili lexon dhe shkruan të dhënat.
Hard drive gjithashtu transmeton të dhënat ndërmjet CPU-së dhe disk-ut.
Pajisja më e madhe ruajtëse hardware-ike e kompjuterit konsiderohet vetë hard disk-u i cili ndodhet
brenda kasës së kompjuterit.
Përveç qëllimit për të ruajtur dhe lexuar të dhënat, përmban edhe sistemin operativ dhe aplikacionet.
Disku i ngurtë zakonisht është i konfiguruar si njësia e parë në renditjen për startim të kompjuterit.
Shpejtësia e një disku të ngurtë matet me numrin e rrotullimeve për minutë (Revolution per Minute) –
RPM. Koha e kërkimit është koha e nevojshme nga momenti kur procesorit i paraqitet kërkesa për një
skedar deri në momentin kur fillon të shfaqet bajti i parë i këtij skedari. Kjo kohë e kërkimit është 10
deri 20 milisekonda.
HDD është i përbërë nga disqe të mbuluara nga një shtresë materiali magnetik.
Pajisja e Hard Disk-ut
Njësitë matëse të hard diskut
Çdo gjë që mund të ruhet në një hard disk matet duke u bazuar në madhësinë e saj. E dimë që një tekst
zë shumë pak kapacitet, fotografitë pak më shumë se teksti dhe videot duan hapësirë më të madhe.
Hard disku nuk e di dallimin ndërmjet elementeve, ai e di vetëm madhësinë e tyre, të cilat maten me
megabajt (MB), gigabajt (GB) dhe terabytes (TB).
17
Bota e kompjuterit (hardware, software)
Kë duhet të zgjedhim?
Nëse duam të transferojmë skedarë midis kompjuterave ose nëse kemi nevojë për një disk për të
ruajtur vetëm disa nga të dhënat tuaja, do të jetë i mjaftueshëm një kapacitet relativisht i vogël (p.sh.
500 GB).
Përparësitë e Hard Disk-ut
Hard Disk-u është përgjegjës për ruajtjen e informacionit. Çdo gjë që mbajmë në kompjuter ruhet në
një hard disk. Jo vetëm dokumente, foto, muzikë dhe video, por edhe programet tuaja, preferencat
tuaja, madje edhe sistemi operativ ruhet në hard disk.
Disavantazhet
Nëse hard disku dëmtohet, mund të humbasim të gjitha të dhënat që kemi ruajtur në të. Kjo është
arsyeja pse shumë përdorues kanë një sistem rezervë. Në këtë mënyrë, ata janë të pajisur me një disk
të dytë në të cilën ata kopjojnë të gjitha dosjet e tyre të rëndësishme.
Llojet e Hard disqeve
Hard disqet ndahen në 2 kategori:
• Disqet e jashtme lidhen me kompjuterat ose sistemet kompjuterike
nga jashtë me ndihmë të kabllove të ndryshëm.
• Disqet e brendshme HDD (hard disk drive) janë instaluar brenda Hard disqe të jashtëm
njësisë qendrore dhe kanë lidhje specifike si për fuqinë ashtu edhe për
transmetimin e informacionit.
Një disk i brendshëm ofron ruajtje të integruar të të dhënave dhe shpejtësi maksimale. Një disk i
jashtëm garanton fleksibilitet më të madh dhe ruajtje të përhershme kur kemi nevojë për të.
Lidhja e hard disk-ut me kompjuterin
Ekzistojnë katër metoda kryesore për lidhjen e hard diskut:
1. USB. Ky është lloji më i zakonshëm i lidhjes dhe nuk kërkon ndonjë konfigurim. Mjafton ta vendosim
në portë dhe kompjuteri e njeh drive-in dhe mund të lexojmë dhe ruajmë skedarët pothuajse në
çast.
2. Firewire. Plug-and-play: shërben si USB, por është shumë më i shpejtë, gjë që shpjegon përhapjen
e saj masive për transferimin e skedarëve video.
3. SATA. Kjo është lidhja standarde për disqet e brendshme. Ofron shpejtësinë më të mirë të
transferimit të skedarëve, pavarësisht formatit.
4. eSATA. Lidhja më pak e zakonshme dhe shumë e fuqishme, e përdorur shpesh në PC. Një lidhje
eSATA vepron në një shpejtësi afërsisht të barabartë me atë të një drive të brendshëm.
Shpejtësia e hard drive
Pllaka magnetike është pjesa më kryesore dhe kjo pjesë rrotullohet me shpejtësi prej 3200 deri
10000 rrot/min. Sa më shpejt të rrotullohet pllaka aq më shpejt e gjen hard disku skedarin që po
kërkojmë ose e shkruan. Një disk me shpejtësi prej 7,200 rpm është më i shpejtë sesa një disk me
shpejtësi 5,400 rpm. Për të rritur sasinë e ruajtjeve të të dhënave, hard disku ka pllaka të shumëfishta
(multiple platters). Koka lexuese/ shkruese është e rëndësishme për shpejtësinë dhe performancën e
hard diskut.
18
Bota e kompjuterit (hardware, software)
Koka lexuese/shkruese e hard diskut
Të dhënat ruhen në sipërfaqe të pllakës të ndara në sektorë dhe gjurmë. Gjurmat janë në formë të
rrathëve, ndërsa sektorët janë ndarje në formë të segmenteve, si më poshtë:
Pjesët përbërëse të diskut të ngurtë
DVD-ROM, CD-ROM, krahasimet
DVD (Digital Versatile Disc) është një disk i aftë për ruajtjen e sasive të mëdha të të dhënave
me madhësinë e një kompakt disku standard. Disqet DVD u shitën së pari në vitin 1997. Ato u
përdoren gjerësisht për ruajtjen dhe parë filmat dhe të dhëna të tjera. Për të luajtur DVD-në në një
kompjuter duhet të kemi një DVD drive dhe një softuer që luan DVD-në.
CD (Compact Disc) gjithashtu përdoret për ruajtjen e programeve, të dhënave të ndryshme,
muzikës, videos etj. Fizikisht, një DVD dhe CD duken të njëjta. Të dy disqet kanë të njëjtën madhësi
dhe zakonisht kanë një anë me një etiketë dhe anën tjetër që lexon lazeri, përveçse nëse është një
DVD me dy anë. Megjithatë, teknologjia nga e cila përbëhet një DVD lejon që disku me të njëjtën
madhësi të mbajë më shumë të dhëna sesa një CD. CD-të kanë përafërsisht kapacitet prej 600 –
800 MB, ndërsa DVD-të kanë kapacitet prej disa GB.
Pajisja luajtëse e CD/DVD ROM dhe CD
Përdorueshmëria e tyre
DVD, CD-të janë ende shumë të njohura dhe të përdorura gjerësisht. Sidoqoftë, për shkak të
teknologjive më të reja si disqet Blu-ray dhe shërbimet e transmetimit si Netflix dhe shërbimet e
tjera Cloud computing, shitjet dhe përdorimi i DVD-ve, CD-ve, ka rënë ndjeshëm.
19
Bota e kompjuterit (hardware, software)
USB Flash Driver USB flash drive
Një USB Flash Drive është një pajisje ruajtëse e të dhënave
që përfshin kujtesën flash në një ndërfaqe të integruar USB.
Zakonisht është i lëvizshëm, i rishkrueshëm dhe shumë më i
vogël se një disk optik. USB-ja flash drive i parë doli në treg
në vitin 2000 me një kapacitet ruajtjeje prej 8 MB. Tashmë
ata kanë kapacitete që variojnë nga 8 GB deri në 1 TB, në
varësi të prodhuesit dhe nivelet e kapaciteteve të ardhshme
priten të arrijnë në 2 TB.
Përparësitë e USB flash driver
• USB flash driver-at janë të vogla dhe të lehta dhe përdorin pak energji. Pajisjet janë mjaft të
forta për të përballuar goditjet mekanike, gërvishtjet dhe pluhurin, dhe në përgjithësi janë të
papërshkueshme nga uji.
• USB flash driver-at mund të mbajnë të dhënat për periudha të gjata edhe kur pajisja është e
shkëputur nga kompjuteri ose kur kompjuteri është i fikur. Kjo e bën USB-në të përshtatshme për
transferimin lehtësisht të të dhënave nga një kompjuter në një tjetër. Ata përdoren dhe për backup
(ruajtje të kopjes së të dhënave).
• Ndryshe nga shumica e disqeve të lëvizshme, një USB flash drive nuk kërkon bateri ose furnizim të
jashtëm të energjisë dhe nuk është i varur nga platforma.
Mangësitë e USB flash driver
• USB-të duke qenë se kalojnë të dhëna nga një kompjuter në një tjetër kanë shanse ekspozimi ndaj
marrin viruseve.
• Rrjedhja e të dhënave është një problem sepse pajisjet janë të lëvizshme dhe të vështira për t’u
ndjekur. Nëse një sistem është i infektuar, atëherë edhe USB-ja infektohet dhe të dhënat që ka
mund të humbasin.
Kontroll njohurish
1. Tregoni disa pajisje ruajtëse optike.
2. Me çfarë matet performanca e një hard disku?
3. Ku ndyshon CD ROM nga DVD ROM?
4. Si lexohen/shkruhen të dhënat në një Hard Disk?
5. Kërkoni në internet dhe gjeni llojet kryesore të Hard disqeve, merrni informacionet me anë të
USB flash driver dhe transferoni të dhënat në kompjuterin e shkollës.
6. Tregoni pse përdorueshmëria e DVD-së po pëson rënie?
7. Cilat janë përparësitë dhe mangësitë e USB-së?
20
Bota e kompjuterit (hardware, software)
1.6 Sistemet Operative. Llojet, karakteristikat
dhe krahasimet midis tyre
Nxënësi/ja: Situatë
-- koncepton se çfarë është Blerta dëgjoi shokët e saj duke diskutuar në lidhje
sistemi i operimit; me sistemet e operimit. Miri thonte që unë kam të
-- identifikon llojet e instaluar Windows në PC dhe është më i mirë, ndërsa
sistemeve të operimit; Beni kundërshtonte duke thënë se ka zgjedhur Linux sepse është një sistem
operimi më i mirë se Windows. Kush ka të drejtë dhe përse?
-- identifikon
karakteristikat e Ç’është sistemi operativ?
sistemeve të operimit.
Sistemi i operimit është një program i cili mundëson aktivizimin e
Fjalë kyç: pjesës hardwere-rike të sistemit të kompjuterit. Pa sistem operativ
sistem operimi, Linux, pjesët e kompjuterit nuk do të funksiononin. Sistemi operativ është
Unix, Windows, procesor. programi kryesor në një kompjuter. Ai kontrollon pothuajse të gjitha
funksionet e tij. Të gjithë kompjuterat mbështeten në një sistem operativ (OS) për të ofruar ndërveprim
mes shfrytëzuesve, aplikacioneve dhe hardware-it.
Sistemi operativ ka katër role kryesore:
• kontrollon pjesët harduerike;
• menaxhon skedarët dhe folderat;
• ofron ndërfaqen e përdoruesit;
• menaxhon aplikacionet.
Përdoruesit mund të bashkëveprojnë drejtpërdrejt me sistemin operativ përmes një ndërfaqeje të
përdoruesit siç është një ndërfaqe grafike GUI (Gragik User Interface). Përdoruesi ndërvepron me
menunë dhe ikonat) ose një rresht komandë (command line). Përdoruesi shtyp komandën për të
kryer veprime të caktuara.
Sistemi operativ me ndërfaqe grafike dhe rresht komandë
21
Bota e kompjuterit (hardware, software)
Sistemet Operative 32 bit dhe 64 bit
Një sistem operativ 32-bit, si Windows XP Professional, është i aftë për adresimin e vetëm 4 GB RAM, ndër-
sa një sistem operativ 64-bit mund të adresojë më shumë se 128 GB RAM. Menaxhimi i memories është
gjithashtu i ndryshëm duke rezultuar në rritjen e performancës së programeve 64-bit. Një sistem operativ
64-bit, si Windows 64-bit, ka karakteristika të tjera të sigurisë të tilla si mbrojtjen e kernelit - bërthamës së
sistemit operativ (Patch) dhe nënshkrimin e detyrueshëm të drajverave. Me anë të Patch, drajverat e palës
së tretë nuk mund të modifikojnë kernelin.
Tipet e Sistemeve të Operimit
Në botë ka tipe të ndryshme sistemi operimi:
• Windows;
• Unix;
• Linux;
• Apple Mac OS.
Windows-i Sisteme të ndryshme operimi
Windows -i është sistem operativ i cili instalohet në kompjuter dhe na mundëson komunikimin me të. Ky
sistem është përgjegjës për funksionimin e të gjitha njësive të kompjuterit. Më herët janë përdorur sistemet
operative si: Windows 98, Windows 2000, Windows XP, Windows Vista, Windows 7 e së fundi Windows 10.
Të gjitha këto versione kanë vazhdimësi me njëra-tjetrën, mirëpo çdo sistem ka përparësitë e veta.
Karakteristikat kryesore janë:
• Është lehtësht i përdorshëm. Dritaret e Windows-it janë të lehta për t’u përdorur në krahasim me
sistemet e tjera operative prandaj Windows-i është sistemi operativ më popullor në botë për PC.
• Monitorimi i performancës. Mjafton të shtypësh në të njëjtën kohë tastat “Alt + Ctrl + Del”, klikojmë
Task Manager për të parë performancën e kompjuterit.
• Menaxhimi i skedarëve. Windows-i i menaxhon skedarët automatikisht në një vend të caktuar në
bazë të llojit të skedarit.
• Plug & Play. Është nevoja të instalojmë ndonjë pajisje të jashtme shtesë si p.sh.: kamera web etj.
• I bazuar në MS-Dos (Microsoft Disk Operating System).
• Dritaret. Windows-i ndryshe njihet si sistem operimi i dritareve sepse çdo detyrë që bëjmë është
në dritaren e vet.
Disa nga produktet e Windows-it përmendim: Windows XP Professional, Windows XP Home Edition,
Windows 7 Professional, Windows 7 Ultimate, Windows 10 i cili u lançua në 2015 dhe është versioni
i parë i Windows -it që merr përditësime të vazhdueshme të funksioneve dhe më i përdoruri
aktualisht.
Unix
Sistemi operativ Unix është zhvilluar në fund të viteve të 1960-të dhe ka hedhur bazën për zhvillimin e
shumë sistemeve operative. Shumë nga konceptet thelbësore të sistemeve operative moderne ishin të
22
Bota e kompjuterit (hardware, software)
paraqitura për herë të parë në sistemin operativ Unix. Është një nga sistemet operative më të vjetra. Ka
shumë versione të ndryshme të UNIX-it sot. Një nga më të fundit është Linux i cili është jashtëzakonisht
popullor për server-at.
LINUX
Linux është zhvilluar nga Linus Torvalds në vitin 1991 dhe është projektuar si një sistem operativ me
kod burim të hapur. Me burim të hapur, do të thotë se ato mund të modifikohen dhe shpërndahen
nga të gjithë njerëzit në mbarë botën, pa pagesë. Kjo është e ndryshme nga Windows-i, i cili mund të
modifikohet vetëm nga kompania që e zotëron atë. Përparësitë e Linux-it janë se është falas dhe ka
shumë versione të ndryshme nga të cilat mund të zgjedhim.
Karakteristikat kryesore:
• Sistem operativ me burim të hapur. Çdo programues mund ta modifikojë atë për shkak të nevojave
të tij.
• Është software i lirë. Linux është një softuer i lirë që mund ta shkarkojmë nga interneti dhe ta
instalojmë në kompjuter.
• Ka lehtësi në instalim. Çdo përdorues mund të instalojë Linux-in pasi nuk ka kërkesa specifike për
instalimin e tij.
Sistemet operative Linux përfshijnë Red Hat, Centos, Caldera, SUSE, Debian, Fedora, Ubuntu, Slackware,
Mandriva etj.
Apple Mac OS
Mac OS është projektuar vetëm për t'u instaluar në kompjuterat Apple. Në vitin 1984, Apple prezantoi
PC Macintosh me sistemin operativ Macintosh. Kompjuterët Apple përdorin një sistem operativ të qua-
jtur Mac OS. Mac OS është sistem operativ i bazuar në ndërfaqen e përdoruesit grafik, GUI. Versionet
aktuale të Mac OS tani bazohen në një version të përshtatur të UNIX.
Karakteristikat kryesore janë:
• Ofron siguri. Mac OS është një sistem me dy shtresa: ndërfaqe grafike “GUI attractive” dhe sistem
shfrytëzimi Unix. Ai është më i njohur për veçoritë e tij të sigurisë ku Firewall i integruar i Mac OS
është i vendosur për të punuar në mënyrë të padukshme dhe është lehtësisht i konfigurueshëm.
Nuk ka nevojë për softuer të veçantë antivirusi pasi siguria është shumë e lartë.
• Ofron besueshmëri. Mac OS është jashtëzakonisht i qëndrueshëm. Apple kontrollon prodhimin nga
fillimi deri në fund, kështu që çdo pjesë e një Mac është projektuar dhe testuar për të punuar së
bashku.
• Ofron lehtësinë e përdorimit. Apple njihet si dizenjuesi më ideal i ndërfaqes grafike.
• Integrohet me Apple dhe produkte të tjera. Mac OS njeh dhe punon automatikisht me çdo produkt
tjetër të Apple, si Cinema Display, Airport, dhe iPad.
Tabela e mëposhtme përmbledh karakteristikat kryesore duke bërë krahasimet midis: MAC, WINDOWS,
LINUX.
23
Bota e kompjuterit (hardware, software)
Karakteristikat Apple Windows Linux
Siguria
Nuk ka viruse në Ka shumë viruse në Ka më pak vi-
Çmimi Mac sepse mund të Windows për shkak ruse në krahasim
Përputhshëria instaloni MAC vetëm të një shpërndarjeje me Windows-in,
në pajisjet APPLE. në sasi të madhe në sepse Linux është
Besueshmëria
treg. një sistem me kod
me burim të ha-
pur.
Shumë të shtrenjta. Pak më i lirë se Mac. Janë totalisht
falas.
Shumë software nuk Është i përputhshëm Duke qenë se
janë të përputhshme me të gjithë llojet është me burim
me MAC, prandaj ka e software-ve dhe të hapur, mund
një limit në sistemin lojrave. të programojmë
MAC. çfarëdo software
që dëshirojmë
Është shumë i Është i besueshëm Duke qenë se
besueshëm sepse por mund të preket është një sistem
nuk ka viruse. nga viruset. jo i kompletuar
mund ta modi-
fikoni sipas llojit
që doni të përdor-
ni.
Krahasimet midis Mac, Windows dhe Linux
Kontroll njohurish
1. Çfarë është një sistem operimi?
2. Cilat janë karakteristikat kryesore të disa sistemeve operimi?
3. Përse Mac konsiderohet si më i sigurt?
4. Kërkoni në internet mbi instalimin e një sistemi operimi me ndërfaqe GUI, si p.sh.
Windows dhe një tjetër i cili përdor Command Line si Linux (Centos). Kujtojmë qe
edhe Linux ka ndërfaqe GUI siç ka edhe Windows command prompt-in.
24
Bota e kompjuterit (hardware, software)
1.7 Software-ët me burim të hapur dhe të mbyllur.
Përdorimi i utiliteteve si domosdoshmëri në PC
Nxënësi/ja: Situatë
-- koncepton se çfarë janë Anxhela dëshiron të investojë në kompaninë e saj duke shtuar
software-ët me kod software të rinj, mirëpo nuk ka shumë informacion se cilët
burim të hapur; software duhet të zgjedhë, ato me kod me burim të hapur
-- koncepton se çfarë janë apo të mbyllur. Anxhela nuk ka shumë buxhet, çfarë do t'i
software-ët me kod sugjeronit ju? Po për të mbrojtur sistemin e saj të operimit
burim të mbyllur; nga viruset, çfarë mjeti do t'i sugjeroni?
-- dallon diferencën midis
tyre; Programet me kod me burim të hapur dhe të
mbyllur
-- koncepton utilitetet dhe
karakteristikat e tyre. Programet software-ike janë bërë në ditët e sotme një domosdoshmëri
Fjalë kyç: e nevojshme në çdo profesion. Përhapja me shpejtësi të madhe e
kod i hapur, kod i mbyllur, internetit ka bërë që të krijohen programe software-ike të ndyshme.
siguri, pagesë, utilitet, Përdorueshmëria e këtyre programeve varet nga lloji i software-ve.
domosdoshmëri, shërbim. Software-et i ndajmë: software në kod me burim të hapur dhe me kod
me burim të mbyllur.
Le të kuptojmë karakteristikat e tyre:
• Software-i me kod me burim të hapur është software-i me kodin burim që kushdo mund ta
shikojë, modifikojë dhe përmirësojë atë. Softueri me kod të hapur është i disponueshëm për
publikun e gjerë për t'u përdorur dhe modifikuar. Nuk duhet të paguajmë për ta përdorur këtë
software dhe as për ta modifikuar atë, pra çdo veprim që bëjmë është pa pagesë. Ajo që vlen për
t'u përmendur është se një pjesë e software-it mund të zhvillohet dhe të përsëritet nga zhvilluesit
e tjerë kudo në botë. Realisht, kjo do të thotë që softueri mund të përmirësohet me kalimin e
kohës, por shpesh ndodh edhe që me gjithë atë evolucion që bëhet mund të ndryshojë tërësisht
formën nga ai software që ishte fillimisht.
• Softueri me kod me burim të mbyllur mund të përkufizohet si software-i i cili ka një pronar dhe
është i shpërndarë sipas një marrëveshjeje liçencimi për përdoruesit e autorizuar që i lejon,
modifikime, kopjime dhe kufizime të ripublikimit privat. Kodi burim nuk ndahet me publikun
për këdo që dëshiron ta shikojë ose ta ndryshojë atë. Software-i me burim të mbyllur është e
kundërta e software-it me burim të hapur.
Cilin duhet të zgjedhim? Software-in me kod të mbyllur apo software-in me kod me burim të hapur?
Programe me kod burim të hapur dhe të mbyllur
25
Bota e kompjuterit (hardware, software)
Në përgjithësi, diferencat midis dy software-it kanë disa faktorë kryesorë:
• Kostoja
• Shërbimi
• Risia
• Përdorueshmëria
• Siguria
Kostoja
Një ndër avantazhet më kryesore të kodit të burimit të hapur, është kostoja, pasi ata janë pa pagesë.
Mjafton të dimë mirë t'i përdorim dhe kostoja e përgjithshme totale do jetë më e lirë në krahasim me
burimet e mbyllura. Për burimet e mbyllura, në varësi të kompleksitetit të sistemit, kostoja mund të
ndryshojë nga disa mijë deri në disa qindra mijë dollarë, që përfshin një tarifë bazë për software-in,
integrimin si edhe shërbimet e tarifat vjetore të licensimit.
Shërbimi
Mbështetja e software-it të lirë ofrohet nga komuniteti besnik dhe i angazhuar nëpërmjet blog-eve
dhe forumeve, por kjo mbështetje shpesh nuk arrin të japë nivelin e lartë të përgjigjes që shumë
konsumatorë presin. Duke qenë se këto software nuk kanë pronarë, shërbimi që ofrohet në open
source nuk është 100% i plotë.
Shërbimi dhe mbështetja në burimet e mbyllura janë ndoshta përparësitë më të mëdha të përdorimit
të tyre. Mbështetja përfshin manualë përdorimi dhe suport teknik të menjëhershëm nga kompanitë e
software-it me ekspertë të cilët i njohin mirë produktet dhe shërbimet e tyre.
Risia
Software-i i burimeve të hapur ofron një sasi të madhe të fleksibilitetit dhe lirisë për të ndryshuar
software-in pa kufizime. Kjo sjell një risi në ndryshimin dhe krijimin e një produkti të ri.
Software-i me burim të mbyllur, e ka të pamundur për ta parë ose ndryshuar kodin burimor, pra ka
kufizime në fleksibilitet, mirëpo ky kufizim ofron sigurinë dhe besueshmërinë e plotë për përdoruesin.
Ashtu si software-i me kod të hapur, software-i me burim të mbyllur ka edhe komunitete online të
cilat ndajnë ide dhe strategji duke nxitur risi dhe duke lejuar që produkti të përshtatet me nevojat e
përdoruesve.
Përdorueshmëria
Software-ët me kod me burim të mbyllur janë më shumë të përdorshëm për zhvilluesit se sa për
përdoruesit e thjeshtë, pasi janë më pak komplekse në përdorim. Manualet e përdorimit ofrohen
gjithashtu për referencë të menjëhershme dhe trajnime të shpejta, ndërsa shërbimet ndihmëse
ndihmojnë në maksimizimin e përdorimit të software-it. Sistemet e palëve të treta dhe zhvilluesit janë
gjithashtu në gjendje të përdorin një sërë mekanizmash për të rritur përdorimin e software-eve me kod
me burim të mbyllur.
Siguria
Siguria e burimit të hapur shpesh është një shqetësim për kompanitë e mëdha, sepse software-i nuk
është gjithmonë i zhvilluar në një mjedis të kontrolluar.
Software-i me kod me burim të mbyllur shihet përgjithësisht si më i sigurt sepse është zhvilluar në një
mjedis të kontrolluar nga një ekip ekspertësh me një drejtim të përbashkët. Ky ekip është i vetmi grup
që mund të shikojë ose modifikojë kodin burim, prandaj rreziku i sulmeve është i vogël.
26
Bota e kompjuterit (hardware, software)
Utilitetet
Utiliteti është software sistemi që ka si qëllim ofrimin e ndihmës në analizimin, konfigurimin,
optimizimin dhe mirëmbajtjen e një kompjuteri. Ai përdoret për të mbështetur infrastrukturën
kompjuterike në kontrast me software-in e aplikimit, i cili ka për qëllim kryerjen e detyrave të
drejtpërdrejta që përfitojnë përdoruesit e zakonshëm.
Llojet e shërbimeve që mund të instalohen në një kompjuter janë:
• Antivirusi shërben për skanimin e viruseve kompjuterike dhe për t’i
hequr ato.
• Arkivat krijojnë një skedar të vetëm dhe kur është një direktori mund
të mbajë shumë skedarë brenda. Arkivi mund të përfshijë kompresim
dhe shifrim të informacionit. Për të marrë shërbimet, duhet kryer
procesi i çarkivimit.
• Backup software realizon kopje të të gjithë informacionit të ruajtur në një disk dhe rikthen atë
ose të gjithë diskun (për shembull në rast të dështimit të diskut) ose skedarëve të zgjedhur (për
shembull kur një skedar është fshirë aksidentalisht).
• Enkriptimi është procesi ku të dhënat do të bëhen të palexueshme nga njerëzit ose kompjuterët
e tjerë me qëllim parandalimin e të tjerëve nga leximi i përmbajtjes së saj. Të dhënat e shifruara
gjenerohen duke përdorur një program enkriptimi. Për të lexuar ose përdorur të dhënat duhet që
ato të deshifrohen dhe vetëm ata që kanë fjalëkalimin e saktë ose çelësin e deshifrimit mund t’i
bëjnë të dhënat të lexueshme përsëri.
• Menaxhuesi i skedarëve është një program softuer-ik që ndihmon përdoruesin të menaxhojë
të gjithë skedarët në kompjuterin e tij. Siguron një metodë të përshtatshme për të kryer
menaxhimin e përditshëm të të dhënave dhe detyrat e menaxhimit: siç janë fshirja, riemërimi,
lëvizja, kopjimi, bashkimi, gjenerimi dhe modifikimi i folderave dhe grupeve të të dhënave.
• Shërbimet e kompresimit të të dhënave - zvogëlojnë madhësinë e skedarëve që kompresohen.
• Clipboard-i është një vend i veçantë në kujtesën e kompjuterit që ruan përkohësisht të dhënat
që janë prerë ose kopjuar nga një dokument. Clipboard zakonisht do të mbajë informacionin e tij
derisa të presim ose të kopjojmë diçka tjetër ose të dalim nga kompjuteri.
• Debugger-i është një software që është projektuar për të gjetur gabime në kodin burim të një
programi.
• Dr. Watson është një software për Microsoft Windows që përdoret për të ndihmuar në zbulimin,
dekodimin dhe evidentimin e gabimeve që hasen gjatë programeve të Windows.
Kontroll njohurish
1. Çfarë janë software me kod burim të hapur dhe të mbyllur?
2. Cilët janë faktorët kryesorë që ndikojnë në zgjedhjen e një software?
3. Kërkoni në internet disa software që janë me burim të hapur dhe përmendini ato në klasë.
Instalojeni dhe bëni veprime me software-in. Të njëjtën veprim realizoni edhe me burim të
hapur, tregoni ku hasët më tepër vështirësi?
4. Çfarë janë utilitetet?
5. Përmendni disa nga utilitetet dhe karakteristikat e tyre.
6. Instaloni një utilitet në PC dhe tregoni arsyen përse e përdorët.
7. Përse sistemi i operimit Mac nuk ka nevojë për utilitetin antivirus?
27
Bota e kompjuterit (hardware, software)
1.8 Cikli jetësor i një programi nga gjuha makinë,
në kompilues deri në interpretues
Nxënësi/ja: Situatë
-- interpreton një kod në Artani ka krijuar një kod në gjuhën C si më poshtë, për t’ia treguar shokut
gjuhën makinë; të tij.
-- zgjedh se çfarë #include <stdio.h>
kompiluesi të përdori për int main()
të ekzekutuar një kod; { printf(“Përshëndetje, Miri!”);
-- identifikon asembluesit return 0; }
dhe kompiluesit. Por Artani nuk e di se ku ta shkruajë këtë kod për t’ia shfaqur shokut të tij.
Fjalë kyç: Procesi i përkthimit
asembler, kompilues,
intepretues, kod, të Një kompjuter nuk mund të kuptojë një program të shkruar në një
dhëna. gjuhë, përveç gjuhës së tij atë të makinës. Programet e shkruara në
gjuhë të tjera duhet të përkthehen në gjuhën e makinës. Ky përkthim
Kompiluesi kryhet me ndihmën e software-it. Ekzistojnë tri lloje të programeve të
përkthyesve, si kompiluesi, interpretuesi dhe asembleri.
Kompiluesi është një program kompjuterik që përkthen kodin burim të shkruar në një gjuhë programimi
të nivelit të lartë në një gjuhë të nivelit të ulët (p.sh. gjuha asembler, kodi objekt ose kod makine) për
të krijuar një program të ekzekutueshëm.
Fazat e kompilimit të një programi
Karakteristika të kompiluesit
1. Kompiluesit përkthejnë të gjithë programin e gjuhës së nivelit të lartë në gjuhën e makinës, para
se ta ekzekutojë atë. Kjo optimizon përdorimin e udhëzimeve të gjuhës së makinës në programin e
përkthyer. Prandaj, programet e kompiluara ekzekutohen më shpejt se programet e interpretuara.
Programi i gjuhës origjinale quhet programi burim. Programi i kompiluar, p.sh. programi i gjuhës së
makinës i gjeneruar nga interpretuesi pas përkthimit quhet skedari objekt.
2. Skedari objekt ruhet gjithmonë për përdorim në të ardhmen.
3. Nuk konsumon kohë për metodën e përkthimit.
28
Bota e kompjuterit (hardware, software)
4. Kërkon kujtesë të madhe në kompjuter.
5. Çdo ndryshim në programin burim pas përpilimit kërkon rikompilimin e kodit.
Interpretuesi
Interpretuesi është një program kompjuteri që ekzekuton drejtpërdrejt instruksione të shkruara në
gjuhë makine.
Interpretuesi përkthen programin e shkruar në gjuhën e nivelit të lartë, në gjuhën e makinës gjatë
kohës së ekzekutimit të atij programi, instruksion mbas instruksioni. Ai lexon instruksionin e parë të
shkruar në program dhe konverton atë në instruksione të njëjta me gjuhën e makinës. Pastaj CPU-ja
ekzekuton ato instruksione në gjuhën makinë. Pas kësaj, përkthyesi lexon dhe përkthen instruksionet e
ardhshme dhe kështu me radhë, deri sa të mbarojë të gjithë përkthimet.
Karakteristika të procesit të interpretimit
1. Kodi objekt nuk ruhet për përdorim në të ardhmen.
2. Metodë përkthimi me kohë.
3. Interpretuesi është i lehtë për të shkruar dhe nuk kërkon hapësirë të madhe të kujtesës në
kompjuter.
4. Shpejtësia e ekzekutimit të interpretuesit është e ngadaltë.
5. Çdo ndryshim në programin burim gjatë përkthimit nuk kërkon rikthim të të gjithë kodit.
Hapat e ekzekutimit të interpretuesit
Shembull për interpretuesin:
Hapim programin Notepad dhe pasi shkruajmë kodin si më poshtë e ruajmë atë me emrin
shembull.html.
<html>
<body>
<script>
name = prompt(“Përshëndetje klasa XII”)
</script>
</body>
</html>
Si e kupton interpretuesi:
• <html>, hap një faqe html
• <body>, vendoset e gjitha përmbajtja e faqes
• <script>, hap një funksion skript
• name = prompt(“Përshëndetje klasa XII”), shfaq në ekran mesazhin “Përshëndetje klasa XII”
29
Bota e kompjuterit (hardware, software)
• </script>, mbyll funksionin e skriptit
• </body>, mbyll përmbajtjen e faqes
• </html>, mbyll faqjen html
Asemblimi
Asembleri përkthen kodin asembler në instruksione të makinës të cilat janë të ekzekutueshme. Këto
instruksione ruhen në një skedar objekt i cili i korrespondon programit burim. Asembleri është një
gjuhë programimi e nivelit të ulët ku ka një korrespondencë midis gjuhës dhe arkitekturës së makinës.
Njihet ndryshe edhe si gjuha e kodit të makinës. Gjuha assembler përdor mnemonika për ta paraqitur
instruksionet e makinës.
Hapat e procesit të asemblimit:
1. Nëpërmjet një pajisjeje hyrëse, merret një input për programin Assembler.
2. Përdorim Asemblerin për të prodhuar programin objekt në gjuhën e makinës.
3. Ekzekutojmë programin.
Hapat ekzekutimit të assembler-it
Kontroll njohurish
1. Cilat janë dallimet midis një kompiluesi, interpretuesi dhe assembler-i?
2. Krijoni një kod të nivelit të lartë dhe ekzekutojeni atë në një kompilues, tregoni
hapat që ndoqët.
3. Kërkoni në internet disa shembuj kompiluesish dhe ekzekutoni kodin e Artanit.
Përshkruani interpretuesin.
30
Bota e kompjuterit (hardware, software)
1.9 Veprimtari praktike – Instalimi i një sistemi operimi
në makinën virtuale
Aftësi që zhvillohen
Nxënësi/ja: tregon si të përdoret makina virtuale, koncepton avantazhet e makinës
virtuale dhe tregon si instalohen programet në të.
Qëllimi i këtij projekti është të tregojë se çfarë janë makinat virtuale, avantazhet dhe si përdoren
ato për të instaluar programet.
Hyrje
Një “makinë virtuale” u konceptua fillimisht nga Popek dhe Goldberg si “një kopje efikase e
izoluar e një makine kompjuterike të vërtetë”.
Një makinë virtuale (VM- Virtual Machine) është një sistem operativ (OS) ose mjedis aplikimi që
është instaluar në software, i cili simulon hardware fizik të një kompjuteri. Përdoruesi mund të
përdorë të njëjtat funksionalitete në një makinë virtuale si në një hardware të dedikuar. Makinat
virtuale bazohen në arkitekturën kompjuterike dhe sigurojnë funksionalitetin e një kompjuteri
fizik. Implementimi i tyre mund të përfshijë hardware të specializuar, software ose një kombinim
të tyre.
Ekzistojnë lloje të ndryshme të makinave virtuale:
1. Makinat virtuale të sistemit (të quajtura virtualizime të plota) sigurojnë
funksionalitetet e nevojshme për ekzekutimin e të gjithë sistemeve
operative. Në një makinë virtuale mund të lejohen mjedise të shumta
që janë të izoluara nga njëri-tjetri, por ekzistojnë në të njëjtën makinë
fizike.
2. Makinat virtuale janë të dizenjuara për të ekzekutuar programet
kompjuterike në një mjedis të pavarur nga platforma.
Përse duhet të përdorni makinat virtuale? Avantazhet e tyre
1. Izolimi nga sistemi operativ
Mund të instalojmë software-in eksperimental në VM (makinë virtuale) pa rrezikuar
qëndrueshmërinë e kompjuterit. Gjithashtu mund të eksperimentojmë me software me
kod burim të hapur që janë duke u zhvilluar në një sistem operativ të instaluar brenda VM
(makinë virtuale) pa sjellë pasoja për kompjuterin.
2. Lehtësi për të ndaluar dhe për të filluar testimin përsëri në të njëjtën fazë
Aplikacionet VM (makinë virtuale) lejojnë përdoruesin të pezullojë makinën virtuale dhe të
shpëtojë gjendjen e saj. Mund të kalojmë në një detyrë tjetër ose të mbyllim kompjuterin
dhe pastaj kur është koha për të filluar eksperimentimin përsëri mund të fillojmë VM (makinë
virtuale) në të njëjtën gjendje kur u ndal.
3. Rekuperim i shpejtë
VM (makina virtuale) na lejon që të bëjmë një rikuperim (recover) të shpejtë duke përdorur
snapshots (fotografim i çastit). Të dhënat tona nuk humbasin dhe nuk na duhet kohë për të
kthyer të dhënat nga fillimi.
31
Bota e kompjuterit (hardware, software)
4. Pajisjet e VM janë të lehta për t’u replikuar.
Nëse kemi instaluar një sistem operativ në një makinë virtuale dhe të gjitha aplikacionet dhe
konfigurimet janë përfunduar, makina virtuale mund të ruhet si një “pajisje”. Kjo pajisje mund
të përdoret më vonë nga persona të tjerë dhe mund të kopjohet lehtë dhe të përdoret në një
kompjuter tjetër.
Llojet e aplikacioneve të makinave virtuale
Ekzistojnë tri aplikacione kryesore të makinës virtuale që funksionojnë në të tre sistemet operative
të mëdha kompjuterike (Windows, Mac OS dhe Linux). Aplikacionet e makinës virtuale janë:
• Parallels
• VMWare
• VirtualBox
Të tre këto aplikacione janë me kod burim të hapur, pra pa pagesë. Çdokush mund të përdorë
aplikacionin që i përshtatet funksionaliteteve të projektit që do të realizohet.
Ne do të tregojmë përdorimin e VMWare pasi ka performancë më të lartë në krahasim me dy
aplikacionet e tjera.
Do realizojmë instalimin e një sistemi operimi
Windows Server 2012 në VMWare.
1. Hapim VMWare. Zgjedhim nga menuja
File, New Virtual Machine. Zgjedhim
opsionin Typical.
2. Zgjedhim çfarë sistemi operimi do të instalojmë dhe klikojmë Next.
32
Bota e kompjuterit (hardware, software)
3. Tek konfigurimet e procesorit, zgjedhim numrin
e procesorëve që do na nevojitet.
4. Zgjedhim sa memorie do na nevojitet dhe klikojmë Next.
5. Në opsionin e llojit të rrjetit zgjedhim NAT në mënyrë që të mund të përdorim internetin
brenda makinës virtuale. Pastaj klikojmë butonin Next.
6. Në menunë select a disk, zgjedhim Create a new virtual disk.
7. Specifikojmë kapacitetin e diskut.
33
Bota e kompjuterit (hardware, software)
8. Këtu shohim të gjithë parametrat dhe karakteristikat që kemi zgjedhur, nëse janë në rregull,
atëherë klikojmë butonin Finish.
9. Zgjedhim CD / DVD duke klikuar mbi vendndodhjen e skedarit të instalimit ISO të Server 2012
10. Klikojmë butonin OK. Tani mund të fillojmë të instalojmë Windows Server 2012.
• Plotësojmë fushat dhe klikojmë next.
• Vendosim një password për identifikim.
• Plotësojmë fushat me të dhënat e vendosura dhe tashmë mund të aksesojmë sistemin e
operimit Windos Server 2012.
Kontroll njohurish
1. Realizoni të njëjtën detyrë me një sistem operimi.
34
Bota e kompjuterit (hardware, software)
1.10 Vlerësim njohurish
Aftësi që zhvillohen
-Nxënësi/ja aftësohet në përvetësimin e njohurive të përftuara në këtë tematikë.
1. Zgjidhni alternativën e saktë:
1. Çfarë do të thotë CPU?
a. Njësia Qendrore e Përpunimit
b. Njësia Periferike Qendrore
c. Shërbimi qendror i përpunimit
d. Njësia e përpunimit të përbashkët
2. CPU-ja mund të përshkruhet si:
a. Truri i kompjuterit
b. Zemra e kompjuterit
c. Shpirti i kompjuterit
3. CPU-ja është e vendosur në:
a. Hard Diskun e kompjuterit
b. Motherboard-i i kompjuterit
c. Brenda ftohësit të kompjuterit
4. Të dhënat shkruhen dhe lexohen nga disku nëpërmjet një mekanizmi magnetik
të______________ në disketë.
a. lexuesit
b. gjurmëve
c. kokës leximi / shkrimi
d. sektorit
5. Cilat janë dy lloje të kabllove standarde të lidhjes me hard disk?
a. RS-232 and PATA
b. IDE and EIDE
c. PATA and SATA
d. DMA and ATA
6. Cili sistem operativ Windows mund të mbështesë versionet 64-bit të Windows-it?
(Zgjidh të gjitha alternativat që janë të sakta.)
a. Windows 2000
b. Windows XP
c. Windows Vista
d. Windows 7
7. Çfarë do të thotë GPU?
a. Baza e të dhënave grafike
b. Njësia e përpunimit grafik
c. Ruajtja e imazheve
35
8. Modelet më kryesore te procesorëve janë:
a. Windows dhe Linux
b. AMD dhe Intel
c. Mac dhe AMD
9. Cikli i ekzekutimit kalon në këto faza:
a. Dekodim-fetch-ekzekutim
b. Ekzekutim-dekodim-fatch
c. Facht-dekodim-ekzekutim
d. Të gjitha
10. Çfarë do të thotë ALU?
a. Njësia e kontrollit
b. Memoria kryesore
c. Njësia e aritmetikës dhe logjikës
2. Tregoni çfarë paraqet programi i mëposhtëm, shpjegoni hapat e interpretuesit.
Ekzekutojeni atë në një kompilues.
#include<stdio.h>
int main()
{
int a, b, c;
printf(“Vendosni dy numra\n”);
scanf(“%d %d”, &a, &b);
c = a + b;
printf(“Shuma e dy numrave është = %d\n ”, c);
return 0;
}
3. Cilat janë ndyshimet midis sistemeve të operimit Mac, Linux dhe Windows?
4. Përshkruani arkitekturën Von Neumann dhe tregoni hapat e ekzekutimit.
5. Çfarë funksioni kanë regjistrat në CPU?
6. Çfarë janë utilitetet dhe përse përdoren ato?
7. Cilat janë karakteristikat kryesore të GPU-së?
8. Nga ndryshon kodi burim i hapur me kodin burim të mbyllur? Përmendini disa
software me burim të hapur dhe të mbyllur.
9. Cilët janë faktorët kryesorë që ndikojnë në rritjen e përformancës së procesorit?
10. Çfarë janë pajisjet magnetike dhe përse përdoren?
11. Usb-ja është e njëjtë me DVD?
36
TEMATIKA II - ALGORITMIKË DHE PROGRAMIMI
2.1 Rritja e efikasitetit të algoritmit nëpërmjet teknikave “Përça e Sundo” dhe
rekursivitetit
2.2 Kompleksiteti i algoritmit
2.3 Veprimtari praktike - Instalimi i Python
2.4 Ndryshoret dhe konstantet
2.5 Operatorët
2.6 Strukturat e kontrollit
2.7 Struktura ciklike
2.8 Vlerësim njohurish në Python
2.9 Tipet String dhe Array
2.10 Rradhët dhe Pilat
2.11 Funksionet dhe procedurat
2.12 Algjebra Booleane
2.13 Harta Karnough
2.14 Vlerësim njohurish për hartën Karno
2.15 Sistemet kompjuterike dhe Inteligjenca artificiale
2.16 Vlerësim njohurish
Në këtë tematikë, nxënësi/ja:
• zhvillon algoritme efikasë dhe eficiente që zgjidhin problemet shumështresore duke
përdorur pseudokodet apo bllokskemat; përzgjedh dhe zhvillon algoritme për të
zgjidhur një problem në bazë të zgjidhjes, kompleksitetit, shpejtësisë, sasisë së përdorur
të memories, sasisë së të dhënave, dhe hyrjeve dhe daljeve të kërkuara; interpreton,
korrigjon, apo përfundon algoritmet duke krahasuar eficensën e algoritmeve të ndryshme
për të njëjtën detyrë; zhvillon dhe gjen gabimet logjike (debug) të programet kompjuterike
duke përdorur nënprograme dhe duke prodhuar një kod të mirë strukturuar; përzgjedh
një strukturë të mirë të dhënash për një detyrë; përdor programimin e orientuar në
objekt duke përfshirë klasat, objektet dhe trashëgiminë dhe enkapsulimin; gjurmon/
analizon programet kompjuterike për të identifikuar se si ato punojnë.
37
Algoritmikë dhe programimi
2.1 Rritja e efikasitetit të algoritmit nëpërmjet teknikave
“Përça e Sundo” dhe rekursivitetit
Nxënësi/ja: Situatë
-- koncepton si teknikat Algoritmat e renditjes si Insertion Sort dhe Bubble Sort kanë rend O(n2).
“Përça dhe Sundo” dhe
rekursiviteti mund të rrisin A mund të përdorim algoritma renditjeje që kanë një efikasitet më të
efikasitetin e algoritmave;
mirë se algoritmat e sipërpërmendur?
-- ndërton një funksion
rekursiv; Teknika “Përça dhe Sundo”
-- rendit numrat duke Për probleme të ndryshme në një algoritëm kemi sasi të madhe të
përdorur algoritmin dhënash. Për këtë arsye duhet që të mendohen dhe të përdoren
Merge Sort. algoritme efiçiente.
Fjalë kyç: “Përça dhe Sundo” është një nga teknikat e algoritmeve dhe mund
të përdoret për të zgjidhur probleme llogaritëse. Kështu për të
rekursion, “Përça dhe zgjidhur problemin P, teknika “Përça dhe Sundo” përdor strategjinë
Sundo”, merge sort, si më poshtë:
efikasitet.
1. Ndaj problemin P në probleme më të
vogla P1, P2, P3........ Pn.
2. Zgjidh në mënyrë rekursive problemet
e vogla.
3. Kombino zgjidhjet e problemeve më të
vogla P1, P2, P3........ Pn për të dhënë
zgjidhjen e problemit P.
Teknika “Përça dhe Sundo”
Për shkak se teknika “Përça dhe Sundo” zgjidh problemet e vogla në mënyrë rekursive, çdo problem
i vogël do të ishte më i vogël se problemi origjinal. Teknika “Përça dhe Sundo” krijon të paktën dy
nënprobleme kështu një algoritëm “Përça dhe Sundo” krijon disa thirrje rekursive.
Rekursiviteti
Rekursiviteti është procesi në të cilin një funksion thërret veten e tij në mënyrë direkte ose indirekte.
Një funksion i tillë quhet funksion rekursiv. Duke përdorur algoritma rekursivë, disa probleme mund
të zgjidhen më lehtë dhe me efikasitet. Nëse do të kishim disa veprime, përdorimi i rekursionit do të
thjeshtonte problemin tonë.
Supozojmë se kërkohet të ndërtohet Faktoriali i një numri n.
Faktoriali i numrit n: n! = n * (n-1) * (n-2) * … * 2 * 1.
Përcaktimi i rekursivitetit: n! = n * (n-1)! dhe 1! = 1.
Llogaritja e faktorialit të numrit 4: 4! = 4 * 3! = 4 * 3 * 2! = 4 * 3 * 2 * 1! = 4 * 3 * 2 * 1 = 24.
38
Algoritmikë dhe programimi
Si funksionon kompjuteri gjatë implementimit të një rekursioni?
• Thirrja e metodës për n=4: thërret metodën për n-1=3.
• Thirrja e metodës për n=3: thërret metodën për n-1=2.
• Thirrja e metodës për n=2: thërret metodën për n-1=1.
• Thirrja e metodës për n=1: kthen vlerën 1.
• Thirrja e metodës për n=2: llogarit 2*1, kthen 2.
• Thirrja e metodës për n=3: llogarit 3*2, kthen 6.
• Thirrja e metodës për n=4: llogarit 4*6, kthen 24.
Në mënyrë të tillë që të programojmë një funksion rekursiv duhet të kontrollojmë nëse:
1. kemi arritur në kushtin e ndalimit;
2. thërrasim funksionin për të zgjidhur problemet më të vogla;
3. kombinojmë problemet e vogla dhe kthejmë vlerën e funksionit.
Shembull: Të llogaritet faktoriali i një numri n duke përdorur funksionin rekursiv.
public static int faktorial(int n)
int rezultati;
if (n == 0) //kushti i ndalimit
rezultati = 1;
else
rezultati = n * faktorial (n-1);
return rezultati;
}
Algoritmi Merge Sort
Algoritmat që keni parë deri më tani si algoritmat e renditjes Insertion Sort dhe Bubble Sort kanë
të njëjtin rend O(n2). A mund të përdorim algoritma renditjeje që kanë një efikasitet më të mirë se
algoritmat e sipërpërmendur? Le të shikojmë algoritmin e renditjes Merge Sort i cili përdor teknikën
“Përça dhe Sundo” së bashku me rekursivitetin. Ky algoritëm zbaton strategjinë e mëposhtme:
1. n elementët ndahen në dy sekuenca, ku secila prej tyre ka n/2 elementë.
2. Sekuencat e ndara renditen në mënyrë rekursive.
3. Dy sekuencat e renditura bashkohen për të formuar listën e elementëve të renditur.
Supozojmë se kemi Merge(A, p, q, r) i cili bashkon A[p..q] me tabelën e renditur A[q+1..r].
Algoritmi i mëposhtëm përdoret për të renditur A[p..r].
Merge Sort(A,p,r)
Nëse p < r atëherë
q = [b(p + r)/2]
MergeSort (A,p,q)
MergeSort(A,q+1,r)
Merge(A,p,q,r)
39
Algoritmikë dhe programimi
Shembull:
Të renditen numrat 29,10,14,37,13 duke përdorur algoritmin Merge Sort.
Zbatimi i algoritmit Merge Sort
Siç mund ta shikojmë përdorimi i teknikës “Përça dhe Sundo” së bashku me rekursivitetin rrisin
efektivitetin e algoritmit dhe mund të arrijmë në zgjidhjen e problemit me më pak hapa.
Aftësi që zhvillohen
- Nxënësi/ja: aftësohet në rritjen e efikasitetit të algoritmave nëpërmjet
përdorimit të teknikave “Përça dhe Sundo” dhe rekursivitetit.
Kontroll njohurish
1. Cila është strategjia që përdor teknika “Përça dhe Sundo”?
2. Çfarë është rekursioni?
3. Supozojmë se kërkohet të llogaritet Fibonacci i një numri n, duke ditur që
F(n) = F(n-1) + F(n-2) dhe F(1)=1, F(0)=0. Ndërtoni një algoritëm rekursiv.
4. Shpjegoni algoritmin Merge Sort.
5. Përdorni algoritmin Merge Sort për të rendur vargun e numrave të mëposhtëm:
a. 12, 5, 7, 4, 41, 15, 54.
b. 3, 2, 8, 1, 9, 15, 12, 11.
c. 45, 31, 36, 0, 49, 52, 99, 100, 43, 55, 50.
40
Algoritmikë dhe programimi
2.2 Kompleksiteti i algoritmit
Nxënësi/ja: Situatë
-- koncepton që projektimi i Cilët janë faktorët që ndikojnë
algoritmeve përfshin aftësinë
për të realizuar sa më lehtë dhe kushtëzojnë zgjedhjen e një
ri-autorësinë, për të provuar,
testuar dhe korrigjuar kodet algoritmi? Si përshkruhet kompleksiteti i një algoritmi?
përfundimtare;
Algoritëm
-- koncepton se si kompleksiteti,
shpejtësia, përdorimi i Rikujtojmë që algoritmi është një sekuencë veprimesh që si qëllim
memories, sasia e të dhënave, ka zgjidhjen e një problemi të caktuar, duke shpjeguar mënyrën
si dhe tipi i të dhënave në dhe hapat që ndiqen deri në zgjidhjen e tij.
hyrje dhe dalje kushtëzojnë Kompjuteri i zgjidh problemet me anën e programeve, të cilat
zgjedhjen e algoritmeve; përbëhen nga një bashkësi hapash. Që kompjuteri të zgjidhë një
problem, duhet të shkruajmë një program me anë të të cilit t’i
-- koncepton se si përkufizimi i tregojmë kompjuterit hap pas hapi se çfarë duhet të bëjmë. Më
O-s së madhe përdoret për të pas kompjuteri e ekzekuton këtë program duke ndjekur hapat
përshkruar kompleksitetin e njëri pas tjetrit. Pikërisht bashkësia e hapave që nevojiten për të
algoritmit. zgjidhur një problem nga kompjuteri njihet si algoritëm. Zgjidhja
e një problemi nga kompjuteri kërkon ndërtimin e një kodi
Fjalë kyç: përfundimtar.
kompleksitet, algoritëm,
O-ja e madhe.
Zgjidhja e problemit nëpërmjet kodit
Algoritmi është procesi i parë në shkrimin e një programi kompjuterik. Për këtë arsye ai realizon
më lehtë ri-autorësinë e kodit përfundimtar. Gjithashtu nëpërmjet algoritmave kemi mundësinë të
provojmë, testojmë dhe korrigjojmë kodet përfundimtare.
Kompleksiteti
Kompleksiteti i një algoritmi është matja e sasisë së kohës dhe hapësirës së kërkuar nga një algoritëm
për një madhësi të caktuar (n). Koha e ekzekutimit të një algoritmi varet nga kompjuteri që po përdoret,
efiçensa e një kompilatori, kompleksiteti i algoritmit, tipi i të dhënave në hyrje dhe në dalje, sasisa e
të dhënave, shpejtësia dhe përdorimi i memories. Koha e ekzekutimit të algoritmit varet nga inputi.
Për shembull renditja e 1000 numrave kërkon më shumë kohë se renditja e 3 numrave. Në analizimin
41
Algoritmikë dhe programimi
e një algoritmi, ne përpiqemi të parashikojmë numrin e herëve të veprimeve në një algoritëm. Për
shembull, nëse jemi duke analizuar një algoritëm renditjeje do të duhet të numërojmë sasinë e
krahasimeve që kryhen, dhe nëse është një algoritëm për të gjetur zgjidhjen më optimale, numrin
e herëve që vlerëson një zgjedhje. Është e rëndësishme që algoritmat e renditjes të realizohen apo
implementohen duke përdorur vetëm O(1) hapësirë (variabla) shtesë. Sigurisht, algoritmat që kanë
këtë veçori janë të rëndësishëm në rastet kur duhet të minimizohet kujtesa e përdorur prej tyre,
për shembull në rastet kur ka shumë të dhëna që do të renditen. Për më tepër, jemi të interesuar
që algoritmat e renditjes të jenë të qëndrueshëm. Kjo do të thotë që, nëse për çdo i, j të tilla që
i < j kemi A[i].çelës = A[j].çelës, atëherë kemi garancinë që në tabelën output të algoritmit kemi që A[i]
ndodhet përpara A[j]. Qëndrueshmëria e algoritmeve të renditjes është e rëndësishme në situata të
caktuara sepse zvogëlon kohën e ekzekutimit.
Rasti më i mirë, rasti më i keq dhe rasti mesatar
Rasti më i keq është koha maksimale e ekzekutimit, për
të gjithë sasinë e të dhënave duke konsideruar vetëm
numrin e herëve të veprimeve që kryen algoritmi.
O-ja e madhe përshkruan rastin më të keq të
mundshëm. Kështu nëse në një tabelë të renditur
kërkojmë elementin X, rasti më i keq do të ishte që
elementi X do të ishte në fund të tabelës ose nuk do
të gjendej fare.
Në rastin më të mirë ne shikojmë në disa instanca Grafik i rastit më të keq, mesatar dhe më të mirë
specifike për sasinë e të dhënave n. Për shembull,
sjellja më e mirë nga një algoritëm renditjeje do të
merret nëse inputi është tashmë i renditur.
Rasti mesatar është rasti më i përdorshëm. Për këtë rast duhet të kryhet një studim empirik i algoritmit
dhe në disa raste të klasifikojmë input-in.
Në grafikun në të djathtë shikojmë grafikun e rastit më të keq, rastit mesatar dhe rastit më të mirë për
një kohë dhe sasi të dhënash të caktuara.
Kompleksiteti dhe O-ja e madhe
Kompleksiteti mund të përcaktohet bazuar në tipin e instruksioneve që përdoren në program.
Koha konstante O(1)
Në kohën konstante kryhen këto veprime: i caktohet vlerë një variabli, shtohet një element në tabelë,
përcaktohet nëse një numër binar është tek apo çift, aksesohet një element i nga tabela, etj. Ato
kërkojnë një kohë standarde për shkak se janë instruksione të thjeshta. Për shembull:
int variabël = 1;
Koha lineare O(n)
Cikli i mëposhtëm ekzekutohet n herë. Nëse ne supozojmë se instruksioni brenda ciklit është O(1),
atëherë koha totale e ciklit është n*O(1) e cila do të jetë e barabartë me O(n).
for (int i = 0; i < n; i++) {
//instruksion
}
42
Algoritmikë dhe programimi
Koha kuadratike O (n2) //do something in constant time...
Në këtë shembull cikli i parë ekzekutohet n herë. Për çdo herë që cikli i jashtëm ekzekutohet, cikli i
brendshëm ekzekutohet n herë. Kështu instruksioni do të ekzekutohet n * n herë. Këtu kompleksiteti
do të jetë O(n * n) pra O(n 2). Ky kompleksitet duhet të shmanget pasi kompleksiteti rritet në mënyrë
kuadratike.
Koha logaritmike O(log n)
Koha logaritmike rritet në një kohë të vogël për sa kohë që N rritet. Një mënyrë e mirë për të
kontrolluar nëse një cikël është log(n) është të shikohet nëse variabli dyfishohet në vend të rritet me
1. Për shembull variabli i nuk rritet me 1 (i++) por dyfishohet duke bërë një kohë ekzekutimi log(n).
Koha linearitmetike O (n*Log n) for (int i = 0; i < n; i*=2) {
//instruksion
}
Këto algoritma janë të aftë të kryejnë një performancë të mirë me një sasi të madhe të dhënash.
Disa shembuj të algoritmave me kohë ekzekutimi O(n*Log n) janë algoritmi Merge Sort dhe Quick
Sort.
for(int i= 0; i< n; i++) { // cikël linear O(n) * ...
for(int j= 1; j< n; j *= 2){ // ...log (n)
//instruksione
}
}
Grafiku i O-së së madhe
Aftësi që zhvillohen
- Nxënësi/ja: aftësohet në kuptimin e faktorëve që kushtëzojnë zgjedhjen e algoritmeve dhe si përshkruhet
kompleksiteti nëpërmjet O-së së madhe.
Kontroll njohurish
1. Çfarë është një algoritëm dhe si mund të kalojmë nga një algoritëm në shkrimin e kodit
përfundimtar?
2. Çfarë kuptojmë me rastin më të mirë, rastin më të keq dhe rastin mesatar. Jepni një
s hem bull.
3. Për çfarë përdoret O-ja e madhe dhe cilat janë mënyrat e përcaktimit të kompleksitetit të
algoritmit?
43
Algoritmikë dhe programimi
2.3 Veprimtari praktike - Instalimi i Python
Aftësi që zhvillohen
Nxënësi/ja koncepton gjuhën Python, instalon Python dhe ekzekuton një
program në të.
Python është një gjuhë programi i cili ekzekutohet në çdo sistem operimi, është i lehtë për t’u
përdorur dhe shkarkimi i editorit të tij është pa pagesë. Python përdoret nga disa prej kompanive
më të mëdha në botë të teknologjisë dhe faqeve web. Gjithashtu Python përdoret për të zhvilluar
lojra, harta për të përpunuar imazhe dhe animime në video etj.
Instalimi i Python
Hapi 1:
Instalimi i paketës së Python në Windows është i thjeshtë. Fillimisht duhet të hapim faqen web
http://www.python.org/downloads në të cilin mund të shkarkojmë versionin më të fundit për
sistemin e operimit Windows.
Hapi 2:
Hapim skedarin e shkarkuar .exe për të filluar instalimin e Python.
Hapi 3:
Menjëherë pas hapjes së skedarit do të na kërkohet të klikojmë butonin Run për të ekzekutuar
skedarin.
44
Algoritmikë dhe programimi
Hapi 4:
Ndjekim progresin e instalimit të Python për
sistemin e operimit Windows.
Hapi 5:
Instalimi i Python është kryer në mënyrë të suksesshme. Për të përfunduar instalimin klikojmë
butonin Close.
Hapi 6:
Për të shkruar kodin në Python do të përdorim një aplikacion i quhet IDLE. IDLE është mjedisi i
programimit. Shkojmë në menunë Start dhe kërkojmë për folderin Python dhe zgjedhim IDLE dhe
shkruajmë kodin për të afishuar Përshëndetje! në Python.
Aftësi që zhvillohen
- Nxënësi/ja: instalon, ekzekuton program në Python dhe afishon tekst të thjeshtë në Python.
Kontroll njohurish
1. Instaloni programin Python në kompjuterin tuaj. Tregoni hapat që ndoqët.
2. Afishoni emrin dhe klasën tuaj në Python.
45
Algoritmikë dhe programimi
2.4 Ndryshoret dhe konstantet
Nxënësi/ja: Situatë
-- koncepton variablat Cili është ndryshimi midis variablave dhe
dhe konstantet konstanteve? Si deklarohen dhe inicializohen
-- kryen procesin variablat dhe konstantet në gjuhën C apo Java?
e deklarimit dhe Po në Python?
vlerëdhënies së Ndryshoret
variablave dhe
konstanteve Ndryshoret ose variablat përdoren për të ruajtur një vlerë të caktuar.
-- njihet me rregullat e Çdo ndryshore në Python ka një tip të dhëne. Ndryshoret mund
emërtimit të variablave të konceptohen si një vend i cili mban të dhëna të cilat mund të
dhe konstanteve. ndryshohen më vonë nëpërmjet programimit. Tipe të ndryshme të
Fjalë kyç: dhënash, në Python janë numrat, listat, stringjet etj.
variabla, konstante, Deklarimi dhe vlerëdhënia e ndryshoreve
deklarim, vlerëdhënie. Në Python, ndryshoret nuk kanë nevojë për deklarim. Deklarimi i
ndryshoreve ose inicializimi i ndryshoreve ndodh në mënyrë automatike kur i caktohet një vlerë
ndryshores. Vlerëdhënia e ndryshoreve realizohet nëpërmjet operatorit të barazimit (=), si në rastin e
mëposhtëm:
>>> x=5
Shprehja x=5 përbëhet nga disa pjesë:
• Nga emri i ndryshores (x).
• Operatori i vlerëdhënies (=).
• Vlera që i përcaktohet variablit (5).
Në momentin kur një variabli i caktojmë një vlerë, ne inicializojmë ose krijojmë variablin. Pas kësaj
mund të përdoret variabli në vend që të përdoret vlera.
Emërtimi i variablave
Emërtimi i variablave në Python është shumë fleksibël, por ka disa rregulla të cilat duhet që të
respektohen si:
• Emrat e ndryshoreve nuk duhet të përmbajnë hapësira por duhet të jenë një fjalë e vetme.
• Emrat e ndryshoreve përbëhen vetëm nga shkronjat, numrat dhe underscore (_).
• Emrat e ndryshoreve nuk mund të fillojnë me një numër.
Le të shikojmë disa emra të vlefshëm dhe jo të vlefshëm të emrave të variablave:
Emra të vlefshëm Emra të pavlefshëm
numri_im Numri-im
int5 5int
NUMRI_IM $NUMRI_IM
numër_plotë numër i plotë
46
Algoritmikë dhe programimi
Gjatë emërtimit të variablave duhet patur parasysh që variablat pavarësisht se mund të përbëhen nga
të njëjtat shkronja, nëse ato janë të shkruara me shkronja të mëdha ose të vogla janë të ndryshme
nga njëra tjetra, si përshembull numri_im dhe NUMRI_IM.
Vlerëdhënia e variablave >>> x=0.5
>>> x*3
Pasi variabli x krijohet ai mund të përdoret si më poshtë, 1.5
ku me ngjyrë blu kemi afishimin e rezultatit x*3, më pas >>> y=100
mund të kryejmë veprime me ndryshore të tjera. >>> y+200
300
Konstantet
Konstantet janë një tip variabli vlera e të cilave është e pandryshueshme. Konstantet mund të jenë:
numra të plotë, numra me presje dhjetore, karaktere e stringje.
Deklarimi dhe vlerëdhënia e konstanteve
Konstantet shkruhen me shkronja të mëdha dhe përdoret vija poshtë ( _ ) për të ndarë fjalët nga njëra
tjetra.
>>> PI = 3.14
>>> GRAVITETI = 9.8
>>> print (PI)
3.14
>>> print (GRAVITETI)
9.8
Aftësi që zhvillohen
- Nxënësi/ja: aftësohet në procesin e deklarimit dhe vlerëdhënies së ndryshoreve dhe konstateve.
Kontroll njohurish
1. Çfarë kuptoni me ndryshore? Po me konstante? Cili është ndryshimi midis tyre?
2. Cilat janë rregullat e emërtimit të ndryshoreve?
3. Përcaktoni nëse ndryshoret apo konstantet e mëposhtme janë emërtuar në mënyrë të
saktë.
a. Konst-PI b. y*3 c. 4 d. mosha e. kLaSa f. PERIMETËR
4. Ndërtoni një program në Python që ruan në ndryshore emrin, mbiemrin, moshën dhe
klasën dhe i afishoni ato.
47
Algoritmikë dhe programimi
2.5 Operatorët
Nxënësi/ja: Situatë
-- analizon operatorë të Kërkohet të ndërtohet një program në Python që pasi merr dy numra
ndryshëm në Python, nga përdoruesi afishon shumën e tyre. Cilët janë ndryshoret dhe
funksionet për marrjen dhe afishimin e të dhënave që do të përdoren
-- përcakton se kur në këtë rast?
përdoret secili prej
operatorëve, Operatorët
-- përdorin funksionin Operatorët përdoren për të kryer veprime me variabla e konstante.
input() dhe output() në Ato janë të disa llojeve të cilat do t’i përdorim në vijim:
Python. 1. Operatorët aritmetikë
Operatorët aritmetikë përdoren për të kryer veprime matematikore si
Fjalë kyç: mbledhja, zbritja, shumëzimi, apo pjesëtimi.
operatorë, input(),
output().
Operatori Përshkrimi Sintaksa >>> a = 9
+ Mbledh dy ndryshore x+y >>> b = 4
- Zbret dy ndryshore x-y >>> shuma = a + b
* Shumëzon dy ndryshore x*y >>> moduli = a % b
/ Pjesëton ndryshoren e parë me x/y >>> print(shuma)
ndryshoren e dytë 13
% Moduli kthen mbetjen kur ndryshorja e x%y >>> print(moduli)
parë pjesëtohet me ndryshoren e dytë 1
2. Operatorët relacionalë
Operatorët relacionalë krahasojnë vlera dhe më pas kthejnë True ose False sipas kushtit.
Operatori Përshkrimi Sintaksa >>> a = 13
> Më i madh se x>y >>> b = 33
< Më i vogël se x<y >>> print(a>b)
== I barabartë x*y False
!= Jo i barabartë x/y >>> print(a!=b)
>= Më i madh ose i barabartë me x%y True
<= Më i vogël ose i barabartë me
3. Operatorët logjikë
Operatorët logjikë kryejnë veprimet logjike AND, OR dhe NOT.
Operatori Përshkrimi Sintaksa >>> a = True
and kthen true nëse të dy ndryshoret janë true x and y >>> b = False
or kthen true nëse njëri nga ndryshoret është x or y >>> print(a and b)
not not x False
true >>> print(not a)
kthen true nëse ndryshorja është false False
48
Algoritmikë dhe programimi
4. Operatorët e vlerëdhënies
Operatorët e vlerëdhënies përdoren për t’i dhënë vlerë variablave.
Operatori Përshkrimi Sintaksa
= i cakton vlerën që ka ana e djathtë e shprehjes anës së majtë. x=y+z
+= Mbledh ndryshoren në anën e djathtë me ndryshoren në anën e a+=b a=a+b
majtë dhe vlerën ia cakton ndryshores në anën e majtë.
-= Zbret ndryshoren në anën e djathtë nga ndryshorja në anën e majtë a-=b a=a-b
dhe vlerën ia cakton ndryshores në anën e majtë.
*= Shumëzon ndryshoren në anën e djathtë me ndryshoren në anën e a*=b a=a*b
majtë dhe vlerën ia cakton ndryshores në anën e majtë.
/= Pjesëton ndryshoren në anën e majtë me ndryshoren në anën e a/=b a=a/b
majtë dhe vlerën ia cakton ndryshores në anën e majtë.
Funksioni input() dhe print()
Një nga mënyrat për marrjen e të dhënave është marrja e të dhënave direkt nga përdoruesi. Për
marrjen e të dhënave në Python nga përdoruesi përdoret funksion input(). Fillimisht programi afishon
stringun që ne japim si parametër, si Cili është emri juaj? dhe më pas pret që përdoruesi të japi të
dhënat. Përdoruesi mund të japi një string i cili mund të jetë i ndarë me hapësirë. Pasi japim stringun
input shtypim tastin Enter nga tastiera. Ndërsa me afishimin e të dhënave përdoret funksioni print().
Për të afishuar disa të dhëna në të njëjtin rresht duhet të vendoset presje midis tyre.
Shembull
Kërkohet të lexohen dy numra nga përdoruesi dhe të afishohet shuma e tyre në Python.
Cili është problemi në shembullin e mësipërm? Në rastin e mësipërm inputet e përdoruesit merren
si stringje. Për shkak se kërkohen veprime me numra të plotë mund të konvertojmë inputet string në
numra. Si më poshtë:
Aftësi që zhvillohen
- Nxënësi/ja: aftësohet në përdorimin e operatorëve, të hyrjeve dhe të daljeve të të dhënave.
49
Algoritmikë dhe programimi
Kontroll njohurish
1. Tregoni tipet e ndryshme të operatorëve dhe përse përdoren ato?
2. Shkruani shprehjen :
a. për të testuar nëse një numër është çift apo tek,
b. për të testuar nëse numri që lexon nga përdoruesi është më i madh se 100 apo jo,
c. për të testuar nëse dy numra janë të ndryshëm nga njëri-tjetri.
3. Shkruani një program në Python që merr si input tipet e ndryshme të operatorëve në të
njëjtin rresht dhe i afishon ato.
4. Shkruani një program në Python që lexon nga përdoruesi dy numra dhe afishon modulin
e tyre.
50