70 likes | 260 Views
Podmienený cyklus WHILE. Ing. Danica Bačová 2007. S yntax cyklu while. Cyklus WHILE má podmienku na začiatku cyklu while podmienka do begin pr í kaz 1 ; príkaz2; ... end;. Zadanie príkladu. Napíšte program, ktorý vypočíta ciferný súčet daného prirodzeného čísla.
E N D
Podmienený cyklus WHILE Ing. Danica Bačová 2007
Syntax cyklu while Cyklus WHILE má podmienku na začiatku cyklu while podmienka do begin príkaz1; príkaz2; ... end;
Zadanie príkladu Napíšte program, ktorý vypočíta ciferný súčet daného prirodzeného čísla. • Čo je ciferný súčet? • ciferný súčet = súčet jednotlivých číslic • príklad: ciferný súčet čísla 759=7+5+9=21
Návod na riešenie • Do premennej cislo si uložíme zadané číslo. • Budeme potrebovať ešte jednu premennú sucet. • Ciferný súčet vypočítame tak, že postupne budeme z čísla "odtrhávať" poslednú cifru a tú pripočítavať do ciferného súčtu.
cislo mod 10 cislo div 10 ako zistiť poslednú cifru daného čísla?759 ak „odtrhnúť“ z čísla poslednú cifru? 75 Návod na riešenie 9
Ako to funguje cislo= 2431 sucet=0 je cislo <>0? sucet=0+2431 MOD 10=0+1=1 cislo=2431 DIV 10=243 je cislo <>0? sucet=1+243 MOD 10=1+3=4 cislo=243 DIV 10=24 je cislo <>0? sucet=4+24 MOD 10=4+4=8 cislo=24 DIV 10=2 je cislo <>0? sucet=8+2 MOD 10=8+2=10 cislo=2 DIV 10=0 je cislo <>0? NIE výpočet ciferného súčtu končí Postup pri riešení
načítaj číslo napr. 2431 vynuluj sucet opakuj, kým je cislo rôzne od 0 „odtrhni“ poslednú cifru a pripočítaj ju do ciferného súčtu prepíš cislo číslom bez poslednej cifry vypíš ciferný súčet readln(cislo); {napr. 2431} sucet := 0; while cislo <> 0 do begin sucet:= sucet+cislo mod 10; cislo := cislo div 10; end; writeln(‘ciferny sucet=‘,sucet; Zápis v Pascale