• No results found

Kapitulli 5: Strukturat e kontrollit II (Përsëritje)

N/A
N/A
Protected

Academic year: 2020

Share "Kapitulli 5: Strukturat e kontrollit II (Përsëritje)"

Copied!
34
0
0

Loading.... (view fulltext now)

Full text

(1)

Kapitulli 5:

Strukturat e kontrollit II (Përsëritje)

(2)

Objektivat

• Në këtë kapitull, ju do të :

– Mësoni rreth strukturave të kontrollit të përsëritjes (cikliing)

– Mësoni si të përdorni while cikli në një program – Mësoni si të përdorni for cikli në një program

– Mësoni si të përdorni do…while cikli në një program

– Shqyrtoni deklaratat break dhe continue – Mësoni si të debugoni ciklis

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 2

(3)

Pse është Përsëritja e Nevojshme?

• Përsëritja lejon përdorimin efikas të variablave

• Mund të lexojë, të shtojë dhe apo të llogarisë mesataren e shumë numrave duke përdorur një numër të kufizuar variablash

• Shëmbull: Shtoni pesë numra. Shkruani në klasë algoritmin & kodin duke përdorur 2 mënyra :

1. Deklaroni nga një variabël për secilin numër, futni numrat dhe shtoni variablat së bashku

2. Krijoni një cikli që lexon një numër në një variabël dhe e shton atë në një variabël që përmban shumën e numrave

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 3

(4)

Struktura while cikliing (Përsëritje)

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 4

(5)

while cikliing

• Sintaksa e deklaratës while:

• deklaratë e vetme ose bllok udhëzimesh, quhet trupi i cikli-it

• shprehja vepron si vendimmarrës dhe zakonisht është një shprehje logjike

• Kllapat janë pjesë e sintaksës

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 5

(6)

while cikliing

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 6

(7)

while cikliing

• Variabla i në Shëmbullin 5-1 quhet variabla e kontrollit te ciklit

• Cila është vlera e i kur cikli mbaron?

• Cikli Infinit: vazhdon të ekzekutojë pafund. Mund të

ndodhë nëse vlera e kushtit që përfundon ciklin nuk arrihet kurrë.

– Kjo shmanget duke përfshirë deklaratat në trupin e ciklit që sigurojnë që do të arrihet një vlerë daljeje.

– Për shëmbull, çfarë ndodh nëse deklarata i=i+5 është hequr nga trupi i ciklit.

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 7

(8)

Struktura while cikliing (Përsëritje) (vazhdimi.)

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 8

(9)

4 tipet e while cikliing

• Counter controlled while loop

• Sentinel-Controlled while loop

• Flag-Controlled while loop

• EOF-Controlled while loop

9

C++ Programming: From Problem Analysis to Program Design, Seventh Edition

(10)

1: Counter-Controlled

• Kur e dini saktësisht se sa herë duhen ekzekutuar deklaratat

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 10

(11)

2: Sentinel-Controlled

• cikli mbaron kur sentineli haset (nuk e dimë sa herë do të përsëritet cikli)

• Sentinel – një numër ose karakter, i testuar në kushtet e ciklit, që do të bëjë që përseritja të ndalet

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 11

(12)

2. Shëmbull: Numrat e Telefonit

• Shëmbull : lexoni dhe nxirrni numrat derisa përdoruesi të arrijë në butonin ‘E’.

• Shëmbulli 5-5 (në libër) jep një rast të një cikli sentinel-controlled.

• Programi konverton shkronjat e mëdha në shifrën e tyre telefonike korresponduese

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 12

(13)

3: Flag-Controlled

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 13

• Flag-controlled while cikli: përdor një variabël bool për të

kontrolluar ciklin. Cikli përfundon kur variabla ndryshon vlerën e

saj të parë (nga false në e vërtetë, ose e anasjellta)

(14)

3. Shëmbull: Lojë me hamendsim numrash

• Shëmbulli 5-6 implementon një lojë me hamendje numrash duke përdorur një flag-controlled while loop

• Përdor funksionin rand të skedarit cstdlib për të gjeneruar një numër të rastit

– rand() kthen një vlerë int ndërmjet 0 dhe 32767 – Për të konvertuar në një numër të plotë >= 0 dhe < 100:

• rand() % 100

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 14

(15)

4: EOF-Controlled (End of File)

• End-of-file (EOF)-controlled while loop: kur është e vështirë të zgjedhësh një vlerë sentinel

• cikli-i vazhdon derisa të ketë input nga përdoruesi.

• Vlera logjike e kthyer nga cin mund të përcaktojë nëse nuk ka më input.

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 15

(16)

4.Shëmbull: EOF-Controlled

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 16

(17)

Struktura for loop (Përseritja) (vazhdimi.)

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 17

(18)

Struktura for loop (Përseritja)

• Sintaksa e deklaratës for:

• Deklarata iniciale, kushti i

ciklit dhe deklarata update quhen for loop control statements

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 18

(19)

Shëmbull for

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 19

(20)

Shëmbull for

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 20

(21)

Cikli for, erroret

• Më poshtë është një gabim semantik:

• Më poshtë është një cikël i saktë (por infinit) for :

for (;;)

cout << "Hello" << endl;

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 21

(22)

Shëmbull for

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 22

(23)

Shëmbull for

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 23

(24)

Struktura do…while (Përsëritje)

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 24

(25)

do…while

• Sintaksa e një cikli do...while

Deklarata ekzekutohet së pari, dhe më pas vlerësohet shprehja

– Për aq kohë sa shprehja është e vërtet, cikli vazhdon

• Për të shmangur një cikel infinit, trupi duhet të

përmbajë një deklaratë që e bën shprehjen false

• cikli gjithmonë përsëritet të paktën një herë

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 25

(26)

do…while

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 26

(27)

do…while

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 27

(28)

Zgjedhja e Strukturës së duhur të përsëritjes

• Të tre ciklet kanë vendin e tyre në C ++

– Nëse mund të përcaktoni paraprakisht numrin e

përsëritjeve të nevojshme, cikli for është zgjedhja e saktë

– Nëse nuk dini dhe nuk mund të përcaktoni paraprakisht numrin e përsëritjeve të nevojshme, dhe që mund të jetë zero, përdorni një cikël while

– Nëse nuk dini dhe nuk mund të përcaktoni paraprakisht numrin e përsëritjeve të nevojshme, dhe ka të paktën një, përdorni një do...while cikli

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 28

(29)

Deklaratat break dhe continue

• break dhe continue alternojnë rrjedhën e kontrollit

• Deklarata break përdoret për dy qëllime:

– Për të dalë herët nga një cikël: Mund të eliminojë përdorimin e disa variablave (flag)

– Për të anashkaluar pjesën e mbetur të një strukture switch

• Pasi break ekzekutohet, programi vazhdon me deklaratën e parë pas strukturës

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 29

(30)

Deklaratat break dhe continue

• continue përdoret në strukturat while, for, dhe do…while

• Kur ekzekutohet, ai i kapërcen të gjitha deklaratat pas deklaratës continue, dhe vazhdon me përsëritjen e cikli-it tjetër .

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 30

(31)

Nested Control Structures

• Për të krijuar modelin e mëposhtëm :

*

**

***

****

*****

• Mund të përdorim kodin vijues:

for (i = 1; i <= 5 ; i++) {

for (j = 1; j <= i; j++) cout << "*";

cout << endl;

}

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 31

(32)

Nested Control Structures (vazhdimi.)

• Cili është rezultati nëse e zëvendësojmë deklaratën e parë for me këtë?

for (i = 5; i >= 1; i--)

• Pergjigja:

*****

****

***

**

*

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 32

(33)

Përmbledhje

• C++ ka tre struktura përsëritje:

– while, for, dhe do…while

• while, for, dhe do janë fjalë kyç

• ciklet while dhe for quhen ciklie pre-test

• ciklii do...while quhet cikli post-test

• while and for mund të mos ekzekutohen fare, por do...while gjithmonë

ekzekutohet të paktën njëherë

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 33

(34)

Përmbledhje (vazhdimi.)

• Një cikël while mund të jetë:

– Counter-controlled – Sentinel-controlled – EOF-controlled

• Vendosja e një pikëpresje në fund të cikli-it for është një gabim semantik

• Ekzekutimi i një deklarate break në trupin e një cikli menjëherë përfundon ciklin

• Ekzekutimi i një deklarate continue në trupin e një cikli kalon në përsëritjen (iteracionin) tjetër

C++ Programming: From Problem Analysis to Program Design, Seventh Edition 34

References

Related documents

14 PV Elite User's Guide  Wall thickness calculations for internal and external pressure according to the rules of.. ASME Section VIII Divisions 1 and 2, PD 5500,

• Use control volume analysis to determine the forces associated with fluid flow1. • Use control volume analysis to determine the moments caused by

In the case of regular, –er verbs like tourner and passer, we’ll hear the distinctive –ez ending?. For “turn left”,

Identification and Introduction of The Medicinal Plants Used by Honeybees in Markazi Province Article · April 2017 CITATIONS 0 READS 19 4 authors, including: Some of the authors of

The current organisation of the Blood Ravens owes much organisation of the Blood Ravens owes much to a Space Marine named Azariah Vidya, to a Space Marine named Azariah Vidya, known

It seems that Edmodo is more effective than Quipper School in writing lesson since the learning platform in Edmodo gives facilities for the students to work

According to confidential interviews with experts on manufac- turing, the wholesale unit cost of the vial, cap, and stopper for single-dose packaging is $0.21 per dose plus $0.10

Different design scenarios were tested for bias and accuracy with a range of heritability values, number of half-sib families created, number of progeny within each full-sib