Pascal zen programu
This presentation is the property of its rightful owner.
Sponsored Links
1 / 27

Pascal – řízení programu PowerPoint PPT Presentation


  • 89 Views
  • Uploaded on
  • Presentation posted in: General

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;

Download Presentation

Pascal – řízení programu

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


Pascal zen programu

Pascal – řízení programu

cykly


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;


Pascal zen programu

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


Pascal zen programu

  • 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 s t n 10 sel

Příklad: Sčítání 10 čísel


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.


  • Login