Cykly v Pascalu Radim tefan Copyright Radim tefan
























- Slides: 24

Cykly v Pascalu Radim Štefan © Copyright Radim Štefan

Tři typy cyklů • Cyklus s podmínkou na konci • Cyklus s podmínkou na začátku • Cyklus s řídící proměnnou

Cyklus s podmínkou na konci Popis: Repeat příkazy 1, 2, …. Until podmínka; Until • 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.

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.

Start Čti A - A>0 + Obvod: = 4*A; Obsah: = A*A; Piš: Obvod, Obsah Konec

begin repeat Write('Zadej stranu čtverce'); Read(A); until A>0; Obvod: = 4*A; Obsah: = A*A; Write('Obvod: ', Obvod, 'Obsah: ', Obsah); end;

Cyklus s podmínkou na začátku Popis: While podmínka do příkaz; do • 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

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

Start suma: = 0; poc: = 0; Čti N - + poc<N - + Piš suma Čti a suma: = suma+a; poc: = poc+1; Konec

begin pom: = 0; poc: = 0; Write('Zadej N'); Read(N); while poc<N do begin Write('Zadej číslo: '); Read(a); Pom: = pom+a; Poc: = poc+1; end; Write('Suma: ', suma); end;

Cyklus s řídící proměnnou Popis: For i: =1 to N do příkaz; do • 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.

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.

Start pom: = 1; Čti N i: = 1 (1) N Čti a pom: = pom*a; Piš pom Konec

begin pom: = 1; Write('Zadej N: '); Read(N); for i: =1 to N do begin Write('Zadej číslo: '); pom: = pom*a; end; Write('Součin: ', pom); end;

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.

Řešení 1 Start Řešení 1 Max: = -9999; Čti N i: = 1 (1) N Čti a - Max< a+ Piš Max: = a; Konec

Řešení begin Max: = -9999; Write('Zadej N'); Read(N); for i: =1 to N do begin Write('Zadej číslo: '); Read(a); if Max<a then Max: = a; end; Write('Maximum: ', Max); end; 1

Řešení 2 Start Čti N Řešení 2 Čti a Max: = a; i: = 2 (1) N Čti a - Max<a + Max: = a; Piš Max Konec

begin Řešení Write('Zadej N'); Řešení 2 Read(N); Write('Zadej číslo: '); Read(a); Max: = a; for i: =2 to N do begin Write('Zadej číslo: '); Read(a); if Max<a then Max: = a; end; Write('Maximum: ', Max); end; 2

Závěr 1. Vysvětlete rozdíl mezi oběma řešeními vyhledávající největší číslo. 2. Které řešení je vhodnější a proč?

Líbila se vám tato prezentace? ANO NE Klikněte prosím na příslušnou odpověď

Líbila se vám tato prezentace? ANO NE Klikněte prosím na příslušnou odpověď

Líbila se vám tato prezentace? ANO NE Klikněte prosím na příslušnou odpověď

To mě těší ☺ Děkuji za pozornost.