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

Loading in 2 Seconds...

play fullscreen
1 / 27

Pascal – řízení programu - PowerPoint PPT Presentation


  • 135 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


Download Now 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