Jeden z předchozích programů je rozkrájen na procedury.
Vlastní program je pak šokézně krátký a přehledný.
cvičení: Upravte tento program tak, aby i z řádků psaných kurzívou byla procedura!
program zkouseni;
uses crt;
var a,i,q,w,e,r,klavesa: integer;
pondělí 30. listopadu 2009
úterý 24. listopadu 2009
Zkoušení cykly
Vytvořete program, který se zeptá na počáteční číslo a konečné číslo a pak vypíše číselnou řadu mezi těmito čísly.
Např.: Vložíte 10 jako počátek a 16 jako konec.
Program vypíše tento výstup:
10 12 14 16
Toto řešte pomocí minimálně dvou metod cyklů.
Ideální příklad výstupu při zadání viz výše:
-----
metoda for:
10 12 14 16
metoda while:
10 12 14 16
metoda repeat:
10 12 14 16
ještě jednou ano/ne?
Např.: Vložíte 10 jako počátek a 16 jako konec.
Program vypíše tento výstup:
10 12 14 16
Toto řešte pomocí minimálně dvou metod cyklů.
Ideální příklad výstupu při zadání viz výše:
-----
metoda for:
10 12 14 16
metoda while:
10 12 14 16
metoda repeat:
10 12 14 16
ještě jednou ano/ne?
pondělí 23. listopadu 2009
Zkoušení cykly
Vytvořete program, který se zeptá na počáteční číslo a konečné číslo a pak vypíše číselnou řadu mezi těmito čísly.
Např.: Vložíte 10 jako počátek a 15 jako konec.
Program vypíše tento výstup:
10 11 12 13 14 15
Toto řešte pomocí všech tří metod cyklů.
Ideální příklad výstupu při zadání viz výše:
-----
metoda for:
10 11 12 13 14 15
metoda while:
10 11 12 13 14 15
metoda repeat:
10 11 12 13 14 15
ještě jednou ano/ne?
-----
Např.: Vložíte 10 jako počátek a 15 jako konec.
Program vypíše tento výstup:
10 11 12 13 14 15
Toto řešte pomocí všech tří metod cyklů.
Ideální příklad výstupu při zadání viz výše:
-----
metoda for:
10 11 12 13 14 15
metoda while:
10 11 12 13 14 15
metoda repeat:
10 11 12 13 14 15
ještě jednou ano/ne?
-----
pondělí 16. listopadu 2009
Program znaky
Program nejdříve zeptá, kolik znaků a pak jaké znaky a pak tyto znaky v počtu, který byl zadán namaluje vedle sebe!
úkol: upravte tento program tak, aby testoval, zda nebylo do počtu znaků, které se mají napsat nebylo zadáno číslo menší než 5, pokud by tomu tak bylo, tak vyzve na nové zadání
graficky tento program vyčistěte (stejné řádkové rozestupy mezi jednotlivými řešeními)
program znaky;
uses crt;
var klavesa, pocet, i, a: integer;
znak: char;
begin
writeln ('Program ti vypise tolik znaku, kolik si reknes:)');
repeat
writeln ('jakym znakem to bude?');
readln (znak);
writeln ('kolik znaku za sebou to bude?');
readln (pocet);
clrscr;
writeln ('nejdrive pomoci FOR');
writeln ('');
for i:=1 to pocet do
write (znak);
writeln ('');
write ('a ted pomoci REPEAT');
writeln ('');
a:=1;
repeat
write (znak);
a:=a+1;
until a>pocet;
writeln ('');
writeln('a ted pomoci WHILE');
writeln ('');
a:=0;
while a
begin
write (znak);
a:=a+1;
end;
writeln ('');
writeln ('Pokracovat 1/0');
readln (klavesa);
until klavesa<>1;
end.
úkol: upravte tento program tak, aby testoval, zda nebylo do počtu znaků, které se mají napsat nebylo zadáno číslo menší než 5, pokud by tomu tak bylo, tak vyzve na nové zadání
graficky tento program vyčistěte (stejné řádkové rozestupy mezi jednotlivými řešeními)
program znaky;
uses crt;
var klavesa, pocet, i, a: integer;
znak: char;
begin
writeln ('Program ti vypise tolik znaku, kolik si reknes:)');
repeat
writeln ('jakym znakem to bude?');
readln (znak);
writeln ('kolik znaku za sebou to bude?');
readln (pocet);
clrscr;
writeln ('nejdrive pomoci FOR');
writeln ('');
for i:=1 to pocet do
write (znak);
writeln ('');
write ('a ted pomoci REPEAT');
writeln ('');
a:=1;
repeat
write (znak);
a:=a+1;
until a>pocet;
writeln ('');
writeln('a ted pomoci WHILE');
writeln ('');
a:=0;
while a
begin
write (znak);
a:=a+1;
end;
writeln ('');
writeln ('Pokracovat 1/0');
readln (klavesa);
until klavesa<>1;
end.
úterý 10. listopadu 2009
Program Cykly 3
námět na zkoušení:
Upravte tento program tak, aby se nejdříve zeptal, kolik znaků a pak jaké znaky a pak tyto znaky v počtu, který byl zadán namaloval vedle sebe!
program cykly3;
uses crt;
var a,i, klavesa: integer;
begin
repeat
writeln ('for -----------------------------------------');
for i:=1 to 5 do
write ('for');
writeln (' ');
writeln ('repeat -----------------------------------------');
a:=0;
repeat
write ('rep');
a:=a+1;
until a>5;
writeln (' ');
writeln ('while -----------------------------------------');
a:=0;
while a<=5 do
begin
write ('whi');
a:=a+1;
end;
writeln (' ');
writeln ('stiskni 1, kdyz pokracovat, jinak nulu a program skonci');
readln (klavesa);
until klavesa<>1;
{zde konci cyklus repeat}
end.
Upravte tento program tak, aby se nejdříve zeptal, kolik znaků a pak jaké znaky a pak tyto znaky v počtu, který byl zadán namaloval vedle sebe!
program cykly3;
uses crt;
var a,i, klavesa: integer;
begin
repeat
writeln ('for -----------------------------------------');
for i:=1 to 5 do
write ('for');
writeln (' ');
writeln ('repeat -----------------------------------------');
a:=0;
repeat
write ('rep');
a:=a+1;
until a>5;
writeln (' ');
writeln ('while -----------------------------------------');
a:=0;
while a<=5 do
begin
write ('whi');
a:=a+1;
end;
writeln (' ');
writeln ('stiskni 1, kdyz pokracovat, jinak nulu a program skonci');
readln (klavesa);
until klavesa<>1;
{zde konci cyklus repeat}
end.
pondělí 9. listopadu 2009
Tři typy cyklů
V tomto programu jsou použity všechny 3 typy cyklů. Každý z nic dělá totéž.
Zkoušení bude spočívat v tom, že dostanete podobný program, kde však bude jediný typ cyklu a vy budete muset dopsat zbylé dva.
program nasobilka;
uses crt;
var a, b, c, i,j,pom, klavesa: integer;
begin
repeat {to je zacatek cyklu, ktery konci tim until dole:
program se bude motat dokola, dokud nekdo nezmackne klavesu 1}
clrscr; {to je vymazani obrazovky}
writeln ('zadej cislo, kterym se zacne nasobit');
readln (A);
clrscr; {to je vymazani obrazovky}
writeln ('zadej cislo, kterym se skonci nasobit');
{writeLN napise text a ukonci radek (na rozdil od write)}
readln (B);
writeln ('zadej cislo, ktere se bude nasobit');
{writeLN napise text a ukonci radek (na rozdil od write)}
readln (C);
pom:=a;
writeln ('for -----------------------------------------');
writeln ('repeat -----------------------------------------');
repeat
a:=pom;
while a<=b do
readln (klavesa);
until klavesa<>1;
{zde konci cyklus repeat}
end.
Zkoušení bude spočívat v tom, že dostanete podobný program, kde však bude jediný typ cyklu a vy budete muset dopsat zbylé dva.
Všimněte si prosím záludného použití proměnné POM !
(ideální by bylo udělat simulační tabulku tohoto programu...)program nasobilka;
uses crt;
var a, b, c, i,j,pom, klavesa: integer;
begin
repeat {to je zacatek cyklu, ktery konci tim until dole:
program se bude motat dokola, dokud nekdo nezmackne klavesu 1}
clrscr; {to je vymazani obrazovky}
writeln ('zadej cislo, kterym se zacne nasobit');
readln (A);
clrscr; {to je vymazani obrazovky}
writeln ('zadej cislo, kterym se skonci nasobit');
{writeLN napise text a ukonci radek (na rozdil od write)}
readln (B);
writeln ('zadej cislo, ktere se bude nasobit');
{writeLN napise text a ukonci radek (na rozdil od write)}
readln (C);
pom:=a;
writeln ('for -----------------------------------------');
for i:=A to B do
writeln (i, ' x ',c , ' =',i * c);
{napise obsah promenne i, pak znacku nasobeni...}writeln ('repeat -----------------------------------------');
repeat
writeln (a, ' x ',c , ' =',a * c);
a:=a+1;
until a>b;
writeln ('while -----------------------------------------');a:=pom;
while a<=b do
begin
writeln (a, ' x ',c , ' =',a * c);
a:=a+1;
end;
writeln ('stiskni 1, kdyz pokracovat, jinak nulu a program skonci');readln (klavesa);
until klavesa<>1;
{zde konci cyklus repeat}
end.
úterý 3. listopadu 2009
Program porovnávající cykly
úkol:
Sestavte program, který vypíše násobilku z klávesnice zadaného čísla.
Program vypíše pouze násobky z intervalu, který budete požadovat (zadáte z klávesnice jeho začátek a konec).
Konkrétně:
Zadáte z klávesnice, že požadujete násobky od 3 do 5 pro číslo 6. Program vypíše:
3 x 6 = 18
4 x 6 = 24
5 x 6 = 30
V programu uveďte řešení pomocí 3 různých metod cyklů (for, repeat, while).
Tato řešení oddělte ve výpisu vodorovnou čarou.
-------------------------------------------------------------
...a řešení:
program nasobilka;
uses crt; var a, b, c, i,j, klavesa: integer;
begin
repeat {to je zacatek cyklu, ktery konci tim until dole:
program se bude motat dokola, dokud nekdo nezmackne klavesu 1}
clrscr; {to je vymazani obrazovky}
writeln ('zadej cislo, kterym se zacne nasobit');
readln (A);
clrscr; {to je vymazani obrazovky}
writeln ('zadej cislo, kterym se skonci nasobit');
{writeLN napise text a ukonci radek (na rozdil od write)}
readln (B);
writeln ('zadej cislo, ktere se bude nasobit');
{writeLN napise text a ukonci radek (na rozdil od write)}
readln (C);
for i:=A to B do
writeln (i, ' x ',c , ' =',i * c);
{napise obsah promenne i, pak znacku nasobeni...}
writeln ('-----------------------------------------');
repeat
writeln (a, ' x ',c , ' =',a * c);
a:=a+1;
until a>=b;
writeln ('stiskni 1, kdyz pokracovat, jinak nulu a program skonci');
readln (klavesa);
until klavesa<>1;
{zde konci cyklus repeat}
end.
Sestavte program, který vypíše násobilku z klávesnice zadaného čísla.
Program vypíše pouze násobky z intervalu, který budete požadovat (zadáte z klávesnice jeho začátek a konec).
Konkrétně:
Zadáte z klávesnice, že požadujete násobky od 3 do 5 pro číslo 6. Program vypíše:
3 x 6 = 18
4 x 6 = 24
5 x 6 = 30
V programu uveďte řešení pomocí 3 různých metod cyklů (for, repeat, while).
Tato řešení oddělte ve výpisu vodorovnou čarou.
-------------------------------------------------------------
...a řešení:
program nasobilka;
uses crt; var a, b, c, i,j, klavesa: integer;
begin
repeat {to je zacatek cyklu, ktery konci tim until dole:
program se bude motat dokola, dokud nekdo nezmackne klavesu 1}
clrscr; {to je vymazani obrazovky}
writeln ('zadej cislo, kterym se zacne nasobit');
readln (A);
clrscr; {to je vymazani obrazovky}
writeln ('zadej cislo, kterym se skonci nasobit');
{writeLN napise text a ukonci radek (na rozdil od write)}
readln (B);
writeln ('zadej cislo, ktere se bude nasobit');
{writeLN napise text a ukonci radek (na rozdil od write)}
readln (C);
for i:=A to B do
writeln (i, ' x ',c , ' =',i * c);
{napise obsah promenne i, pak znacku nasobeni...}
writeln ('-----------------------------------------');
repeat
writeln (a, ' x ',c , ' =',a * c);
a:=a+1;
until a>=b;
writeln ('stiskni 1, kdyz pokracovat, jinak nulu a program skonci');
readln (klavesa);
until klavesa<>1;
{zde konci cyklus repeat}
end.
Přihlásit se k odběru:
Příspěvky (Atom)