Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
© Copyright Radim Štefan
Cykly v Pascalu Radim Štefan © Copyright Radim Štefan
2
Tři typy cyklů Cyklus s podmínkou na konci
Cyklus s podmínkou na začátku Cyklus s řídící proměnnou
3
Cyklus s podmínkou na konci
Popis: Repeat příkazy 1, 2, …. Until podmínka; Vykoná se tělo cyklu – příkazy. Otestuje se podmínka – pokud bude mít hodnotu TRUE, cyklus se ukončí. Příkazy se provedou minimálně jednou.
4
Cyklus s podmínkou na konci
Zadání příkladu: Popište pomocí vývojového diagramu algoritmus výpočtu obvodu a obsahu čtverce o straně A. Zajistěte, aby výpočet proběhl pouze tehdy, jestliže strana A bude mít velikost větší než nula. Pro řešení použijte cyklus s podmínkou na konci.
5
Konec Start A>0 + - Obvod:= 4*A; Obsah:= A*A; Čti A Piš: Obvod, Obsah
6
begin repeat Write('Zadej stranu čtverce'); Read(A); until A>0; Obvod:= 4*A; Obsah:= A*A; Write('Obvod:',Obvod,'Obsah:',Obsah); end;
7
Cyklus s podmínkou na začátku
Popis: While podmínka do příkaz; Otestuje se podmínka – pokud bude FALSE cyklus se ukončí. Vykoná se tělo cyklu – příkaz. Příkaz nemusí být proveden ani jednou. Pro provedení více příkazů, je potřeba použít „složený“ příkaz pomocí: Begin End
8
Cyklus s podmínkou na začátku
Zadání příkladu: Popište pomocí vývojového diagramu algoritmus sečtení N čísel. Pro řešení použijte příkaz cyklu s podmínkou na začátku. Napište algoritmus v jazyce Pascal
9
Start suma:= 0; poc:= 0; Čti N poc<N Piš suma Čti a Konec
suma:= suma+a; poc:= poc+1; Čti N Čti a suma:= 0; poc:= 0; Piš suma + -
10
begin pom:= 0; poc:= 0; Write('Zadej N'); Read(N); while poc<N do Write('Zadej číslo: '); Read(a); Pom:= pom+a; Poc:= poc+1; end; Write('Suma: ',suma);
11
Cyklus s řídící proměnnou
Popis: For i:=1 to N do příkaz; Pokud je hodnota řídící proměnné - i menší nebo rovna koncové hodnotě - N, vykoná se tělo cyklu – příkaz. Po provedení příkazu se hodnota řídící proměnné automaticky zvýší o 1 a provede návrat na začátek cyklu.
12
Cyklus s řídící proměnnou
Zadání příkladu: Popište pomocí vývojového diagramu algoritmus vynásobení N čísel. Pro řešení použijte příkaz cyklu s řídící proměnnou. Napište algoritmus v jazyce Pascal.
13
Konec Start pom:= pom*a; Čti N Čti a pom:= 1; Piš pom i:= 1 (1) N
14
begin pom:= 1; Write('Zadej N: '); Read(N); for i:=1 to N do Write('Zadej číslo: '); pom:= pom*a; end; Write('Součin: ', pom);
15
Zadání příkladu: Popište pomocí vývojového diagramu algoritmus nalezení největšího čísla z řady N čísel. Pro řešení použijte příkaz cyklu. Napište algoritmus v jazyce Pascal.
16
Řešení 1 Řešení 1 - + Start Max:= -9999; Čti N i:= 1 (1) N Čti a
Konec Start Max:= a; Čti N Čti a Max:= -9999; Piš Max i:= 1 (1) N Max<a + - Řešení 1
17
Řešení 1 begin Max:= -9999; Write('Zadej N'); Read(N);
for i:=1 to N do Write('Zadej číslo: '); Read(a); if Max<a then Max:= a; end; Write('Maximum: ', Max);
18
Řešení 2 Řešení 2 Start Čti N i:= 2 (1) N Čti a - Max<a Piš Max +
Konec Start Max:= a; Čti N Čti a Piš Max i:= 2 (1) N Max<a + - Řešení 2
19
Řešení 2 Řešení 2 begin Write('Zadej N'); Read(N);
Write('Zadej číslo: '); Read(a); Max:= a; for i:=2 to N do if Max<a then Max:= a; end; Write('Maximum: ', Max); Řešení 2
20
Závěr Vysvětlete rozdíl mezi oběma řešeními vyhledávající největší číslo. Které řešení je vhodnější a proč?
21
Líbila se vám tato prezentace?
ANO NE Klikněte prosím na příslušnou odpověď
22
Líbila se vám tato prezentace?
ANO NE Klikněte prosím na příslušnou odpověď
23
Líbila se vám tato prezentace?
ANO NE Klikněte prosím na příslušnou odpověď
24
To mě těší ☺ Děkuji za pozornost.
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.