pascal zen programu
Download
Skip this Video
Download Presentation
Pascal – řízení programu

Loading in 2 Seconds...

play fullscreen
1 / 27

Pascal – řízení programu - PowerPoint PPT Presentation


  • 134 Views
  • Uploaded on

Pascal – řízení programu. cykly. Opakování – if-then. Seřaďte dva řetězce podle abecedy (stačí je porovnat) Všechna velká písmena jsou v ASCII tabulce před malými!!! (každý znak má v této tabulce svůj kód – číselnou hodnotu). Opakování – if-then. Program Retezce; Var R1,R2 : string;

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Pascal – řízení programu' - elga


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
opakov n if then
Opakování – if-then
  • Seřaďte dva řetězce podle abecedy (stačí je porovnat)
  • Všechna velká písmena jsou v ASCII tabulce před malými!!!
  • (každý znak má v této tabulce svůj kód – číselnou hodnotu)
opakov n if then1
Opakování – if-then

Program Retezce;

Var R1,R2 : string;

Begin

Writeln(\'Zadej dva retezce (malymi pismeny): \');

Readln(R1);

Readln(R2);

Writeln;

If R1 < R2 then Writeln(R1, \' stoji v abecede pred \', R2);

If R1 = R2 then Writeln(\'Oba retezce jsou identicke\');

If R1 > R2 then Writeln(R2, \' stoji v abeceda pred \',R1);

Readln;

End.

pascal p kazy a cykly
Pascal – příkazy a cykly
  • další možností řízení programu jsou tzv. cykly

a) s pevným počtem opakování

for Proměnná:=DelejOd to DelejDo do

Příkaz;

slide5
počet opakování cyklu určíme řídící proměnnou, dolní a horní mezí (řídící proměnná bude postupně nabývat hodnoty mezi dolní a horní mezí včetně)
  • před započetím provádění cyklu je znám počet opakování
  • používá se, chceme-li několikrát po sobě zopakovat stejnou činnost
pascal p kazy a cykly1
Pascal – příkazy a cykly

i – řídící proměnná

d – dolní mez

h – horní mez

for i:= dolní mez to

horní mez do příkaz

pascal p kazy a cykly2
Pascal – příkazy a cykly
  • obsah proměnné zvětšují od DelejOd do DelejDo a pokaždé provedou Příkaz

Příklad:

ProgramAbeceda;

Var c:char;

Begin for c:=\'a\' to \'z\' doWriteln(c);

Readln;

End.

pascal p kazy a cykly3
Pascal – příkazy a cykly

Vytvořte program, který zaplní celou

obrazovku nápisem Ahoj (NIKDE nesmí

zůstat mezera).

pascal p kazy a cykly4
Pascal – příkazy a cykly

Program AhojVsude;

Var I:Integer;

Begin

Writeln(\'Kecy\');

For I:=1 to 980 do Write(\'Ahoj\');

Readln;

End.

pascal p kazy a cykly5
Pascal – příkazy a cykly
  • Řešený příklad “Součet”:
  • na vstupu jsou dvě přirozená čísla a, b

(a < b).

  • vytiskněte, kolik je součet všech přirozených čísel v intervalu <a, b>

(budou-li např. na vstupu čísla 4 a 7, chceme vytisknout číslo 22, protože 4+5+6+7=22)

pascal p kazy a cykly6
Pascal – příkazy a cykly

Řídící proměnnou cyklu necháme nabývat

hodnot 4, 5, 6 a 7 (v našem konkrétním

případě) a vždy ji přičteme do proměnné

SOUCET, kde bude hledaný součet

pascal p kazy a cykly7
Pascal – příkazy a cykly

Program SCITANI;

var ODKUD, KAM, SOUCET, I: integer;

begin

write (´Od ktereho cisla mam zacit scitat ?´);

readln (ODKUD);

write (´Do ktereho cisla mam scitat ?´);

readln (KAM);

SOUCET := 0;

for I:= ODKUD to KAM do SOUCET := SOUCET + I;

write (´Hledany soucet cisel je:´, SOUCET);

readln;

end.

slide13
Najděte všechna řešení rovnice a2+b2=c2 v oboru přirozených čísel menších jak 100
e en p klad for to do
Řešený příklad – for – to -do
  • Zadejte číslo n a najděte všechny jeho dělitele.

program delitel;

var i:byte; n,m:word;

begin writeln(\'Zadej cislo:\');

readln(n);

for i:=1 to n do

begin m:=n mod i;

if m=0 then writeln(\'Cislo \',i,\' je delitelem cisla \',n);

end;

readln;

end.

?

pascal p kazy a cykly8
Pascal – příkazy a cykly

Program Pythagoras;

Var A,B,C : Integer;

Begin

For A:=1 to 100 do

For B:=1 to 100 do

For C:=1 to 100 do if A*A +B*B = C*C then Write(a:3,\' \',b:3,\' \',c:4,\' \');

Readln;

End.

pascal p kazy a cykly9
Pascal – příkazy a cykly

b) Cyklus s podmínkou na konci

příkaz REPEAT … UNTIL

REPEAT

Příkaz A;

Příkaz B;

UNTIL Podm;

Jediná výjimka,

kdy není třeba Begin a End.

pascal p kazy a cykly10

Příkaz A

Příkaz B

Podm.

Ne

Ano

Pascal – příkazy a cykly

Opakuj Akci 1 a Akci 2,

dokudneplatí

Podmínka

Opakuj tak dlouho,

až nastane splnění podmínky

(až začne platit podmínka)

p klad pro repeat until
Příklad pro repeat - until
  • Spočítejte počet studentů na škole. Počty se zadávají po jednotlivých třídách. Na konci zadávající stiskne 0.
e en p kladu
Řešení příkladu

program skola;

var soucet,pocet:word;

begin

soucet:=0;

repeat writeln(\'Zadej pocet studentu ve tride\');

readln(pocet);

soucet:=soucet+pocet;

until pocet=0;

writeln(\'Pocet studentu na skole je \',soucet); readln;

end.

e en p klad repeat until
Řešený příklad repeat-until
  • Vytvořte program pro výpočet faktoriálu.

program faktorial;

var a,f:integer;

begin f:=1;

repeat

writeln(\'Zadej celé číslo od 1 do 12.\'); readln(a);

until (a>=1) and (a<=12);

write(\'Faktorial cisla \',a,\' je \');

while a<>0 do begin

f:=f*a;

a:=a-1;

end;

writeln(f,\'.\');

readln;

end.

pascal p kazy a cykly11
Pascal – příkazy a cykly

c) cyklus s podmínkou na začátku

příkaz WHILE …DO

WHILE Podm DO Begin

Příkaz X;

Příkaz Y;

End;

pascal p kazy a cykly12

Podm.

Ne

Ano

Příkaz X

Příkaz Y

Pascal – příkazy a cykly

Dokud platí

podmínka,

dělej Příkazy X a Y

Pokud platí Podmínka,

Prováděj Akci

s t n n sel
Sčítání n čísel

S:=0;

I:=1;

while I <=10 do S:=S+I

  • příkaz cyklu se bude provádět do nekonečna, neboť obsah proměnné I je stále stejný (obsah proměnné S se neustále zvyšuje o 1)
s t n n sel1
Sčítání n čísel
  • požadujeme-li však sečíst pouze1+2+…+10 a výsledek tohoto součtu uložit do proměnné S, pak algoritmus musí být ve tvaru:

S:=0;

I:=1;

while I <=10 do begin S:=S+I;

I:=I+1

end

zad n p kladu while do
Zadání příkladu – while-do
  • Spočítejte průměrnou známku studentů. Učitel do programu zadává známky a program spočítá průměr ze všech zadaných známek. Při ukončení zadávání stiskne učitel 0.
e en p kladu1
Řešení příkladu:

program prumer;

var a,soucet,i:integer;

begin

soucet:=0; i:=0;

writeln(\'Zadej znamku\');

readln(a);

while (a>0) and (a<6) do begin soucet:=soucet+a;

i:=i+1;

writeln(\'Zadej znamku\');

readln(a);

end;

if soucet=0 then writeln(\'Zadnou znamku jsi nezadal\') else writeln(\'Prumerna znamka je\', soucet/(i-1));

readln;

end.

ad