Delphi-program – Delphi – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Delphi-program – Delphi – Fórum – Programujte.comDelphi-program – Delphi – Fórum – Programujte.com

 

Petr Jureček
~ Anonymní uživatel
30 příspěvků
8. 3. 2012   #1
-
0
-

Potřeboval bych pomoct s tímto zadáním, neví někdo jak na to?

 

Program načte neprázdnou posloupnost celých nenulových čísel ukončenou číslem nula a zjistí, zda je tato posloupnost klesající (další číslo vždy menší než předchozí).

Nahlásit jako SPAM
IP: 88.103.184.–
JoDiK
~ Anonymní uživatel
987 příspěvků
8. 3. 2012   #2
-
0
-

Potřebujeě pomoct se zadáním nebo s řešením toho zadání?

Řešení máš přece už v tom zadání (v závorce).

Takže s čím potřebuješ pomoct?

Nahlásit jako SPAM
IP: 88.103.233.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
8. 3. 2012   #3
-
0
-

#2 JoDiK
S řešením celého programu, moc si s tím nevím rady

Nahlásit jako SPAM
IP: 88.103.184.–
JoDiK
~ Anonymní uživatel
987 příspěvků
8. 3. 2012   #4
-
0
-

#3 Petr Jureček
Program se neřeší, ten se píše až máš vyřešený algoritmus.

Tak pěkně od začátku.

Umíš napsat program, který přečte jedno číslo a vypíše ho?

Pokud ano, tak ho napiš a ukaž. Pokud ne, tak se to nauč.  Když si nebudeš vědět rady s konkrétní věcí, kterou nenajdeš ani v poznámkách ze školy, ani v nápovědě, ani na internetu, tak se tady znovu zeptej.

Hlavně nečekej, že to za tebe někdo udělá.

Nahlásit jako SPAM
IP: 88.103.233.–
stif+1
Stálý člen
8. 3. 2012   #5
-
0
-
Nahlásit jako SPAM
IP: 178.40.48.–
Autor programuje v programovacích jazykoch C++ a VB. Je tvorcom e-zinu http://www.programujte.6f.sk/, na ktorom sa nachádzaju info pre začínajúcich prog. a webdesignerov. Stránka zahrňuje aj fórum.
Petr Jureček
~ Anonymní uživatel
30 příspěvků
8. 3. 2012   #6
-
0
-

#4 JoDiK
Mám skoro hotovo, ale bohužel jsem se zasekl a nevím kde je chyba, mohl byses na to kouknout? Dám přepis do Delphi

program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
i,n,min,min1:integer;
a:array [1..100] of integer;

procedure prd;


begin
n:=3;
a[1]:=3;
a[2]:=1;
a[3]:=2;

min:=maxint;

for i:=1 to n do
if a[i]<min then min:=a[i];

for i:=1 to n do
if a[i]=min then begin write(a[i]); writeln(' ', i);  min1:=maxint; min:=a[i]; end;


for i:=1 to n do
if a[i]>min then begin if a[i]<min1 then min1:=a[i];

end;
for i:=1 to n do
  if a[i]=min1 then begin write(a[i]); writeln(' ', i); min1:=maxint; min:=a[i]; end;

  for i:=1 to n do
if a[i]>min then begin if a[i]<min1 then min1:=a[i];

end;
for i:=1 to n do
  if a[i]=min1 then begin write(a[i]); writeln(' ', i); min1:=maxint; min:=a[i]; end;
end;


begin
prd;
readln
end.

Nahlásit jako SPAM
IP: 88.103.184.–
JoDiK
~ Anonymní uživatel
987 příspěvků
8. 3. 2012   #7
-
0
-

#6 Petr Jureček
Tomu nerozumím, na čem ses zasekl? Co ti na tom nefunguje? Teda kromě toho že program, který jsi sem nahrál dělá něco úplně jiného, než je v zadání? To ale není chyba v programu...

Nahlásit jako SPAM
IP: 88.103.233.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
8. 3. 2012   #8
-
0
-

#7 JoDiK
Máš pravdu, zkopíroval jsem program co jsme dělali ve škole, podle mě to bude vypadat nějak takhle:

for I:=1 to N-1 do
if A[I]>A[I+1] then begin
POM:=A[I];
A[I]:=A[I+1];
A[I+1]:=POM;
end;

zatím jsem v této fázi, je to dobře? Jde vidět, že tomu hodně rozumíš, já měl teprv 5 cvik a hned na nás vybalily program 

Nahlásit jako SPAM
IP: 88.103.184.–
JoDiK
~ Anonymní uživatel
987 příspěvků
8. 3. 2012   #9
-
0
-

#8 Petr Jureček
Nemáš to dobře, zas to dělá něco úplně jiného.

Nahlásit jako SPAM
IP: 88.103.233.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
8. 3. 2012   #10
-
0
-

#9 JoDiK
kurňa, můžeš mi říct, kde je chyba? Aspoň trochu polopatě vysvětlit, snažím se na to přijít, bude se to dělat bublinkovým řazením mám pravdu?

Nahlásit jako SPAM
IP: 88.103.184.–
JoDiK
~ Anonymní uživatel
987 příspěvků
8. 3. 2012   #11
-
0
-

#9 JoDiK
PS: jestli máte teprv páté cviko, tak to je to zadání celkem v pořádku, na to stačí jeden cyklus a dvě proměnné. To co sem dáváš používá strukturované proměnné (pole) a to bych viděl až tak možná po deseti cvikách...

Nahlásit jako SPAM
IP: 88.103.233.–
JoDiK
~ Anonymní uživatel
987 příspěvků
8. 3. 2012   #12
-
0
-

#10 Petr Jureček
Chyba je v tom, že jsi nepochopil zadání. Ty nemáš ani hledat minimum, ani třídit. Máš jen zjistit stav posloupnosti a vypsat tu informaci (jestli je nebo není klesající). Když to setřídíš, tak jaksi zrušíš tu původní posloupnost včetně vlastnosti, kterou máš zjišťovat...

Nahlásit jako SPAM
IP: 88.103.233.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
8. 3. 2012   #13
-
0
-

#12 JoDiK
Zkusím mrknout do skript a projedu si tady ty cvičení, pokud' mi to stále nepůjde, tak se na tebe obrátím, i když mi radíš jenom teoriticky a v mém případě to moc nepomáhá    tak ti prozatím děkuji

Nahlásit jako SPAM
IP: 88.103.184.–
JoDiK
~ Anonymní uživatel
987 příspěvků
8. 3. 2012   #14
-
0
-

#12 JoDiK
A jak jsem psal na začátku - řešení máš uvedeno přímo v zadání v závorce. Tak udělej to co je tam psáno - zjisti, jestli pro všechny prvky posloupnosti platí, že následující prvek je menší. Předpokládám, že logické proměnné jste brali - tak dej výchozí stav že posloupnost je klesající a jestli třeba jediný prvek nesplňuje podmínku, tak to změň na nepravdu a na závěr vypiš jestli posloupnost je či není klesající.

Nahlásit jako SPAM
IP: 88.103.233.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
8. 3. 2012   #15
-
0
-

#14 JoDiK
Dobře, díky, zkusím to zítra trochu zapsat a kdyby to nešlo, tak se na tebe obrátím, díky moc 

Nahlásit jako SPAM
IP: 88.103.184.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
9. 3. 2012   #16
-
0
-

JoDiKu, tady přikládám tvůj úkol ze začátku:

program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  A:Real;
begin
  {èíslo,které jsi chtìl}
  ReadLn(A);
  WriteLn(A:7:2);
  { TODO -oUser -cConsole Main : Insert code here }
end.

napsal jsem číslo a vypsalo ho, co dál?

Nahlásit jako SPAM
IP: 88.103.184.–
Honzc0
Stálý člen
9. 3. 2012   #17
-
0
-

V zadání máš určit "zda je tato posloupnost klesající (další číslo vždy menší než předchozí)."

1.V cyklu od i := 1 to n-1 budeš brát čísla z pole (to už jsi někde udělal)

2.Porovnáš (příkaz if) zda je a[i]<a[i+1], když ano, tak je jasné, že posloupnost není klesající. Tak si v tom případě do

  nějaké proměnné třeba pom, (které na začátku přiřadíš nulu) dáš v tom případě 1. Tím pádem můžeš z cyklu

   vyskočit. To se dělá příkazem Break.

3.Takže ti buď projede celý cyklus - podmínka nebude splněna a tedy v pom budeš mít 0 (a posloupnost bude

   klesající), nebo bude splněna a tedy v pom budeš mít 1.

4. Podle hodnoty pom pak vypíšeš (příkazem if) zda je klesající nebo ne

    if pom=0 then

      WriteLn('Posloupnost je klesajici')

    else

     WriteLn('Posloupnost neni klesajici');

Nahlásit jako SPAM
IP: 93.181.78.–
JoDiK
~ Anonymní uživatel
987 příspěvků
9. 3. 2012   #18
-
0
-

#16 Petr Jureček

Koukám, že jsi pracoval dlouho do noci... Tak tady máš postupně další úkoly. Jak to budeš stíhat, tak to sem dej, já se občas kouknu...

1. Uprav deklaraci proměnné na celočíselný typ.

2. Vypiš informaci, jestli je to zadané číslo nulové či nikoliv.

3. Jestli je to zadané číslo záporné, tak k němu přičti jeho kladný dvojnásobek.

4. Dokud je to zadané číslo větší jak 5, tak od něho odečítej hodnotu 3 a průběžně vypisuj aktuální stav.

Nahlásit jako SPAM
IP: 88.103.233.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
9. 3. 2012   #19
-
0
-

#17 Honzc
for I:=1 to N-1 do
if A[I]<A[I+1] then begin
POM:=A[I];
A[I]:=A[I+1];
A[I+1]:=POM;
end;

to už jsem tu dával, ale Jodik říkal, že to je úplně něco jiného, než mám v zadání

Nahlásit jako SPAM
IP: 88.103.184.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
9. 3. 2012   #20
-
0
-

úkol 1:

program Project3;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  I:Integer;
begin
  I:=1;
  { TODO -oUser -cConsole Main : Insert code here }
end.

Nahlásit jako SPAM
IP: 88.103.184.–
JoDiK
~ Anonymní uživatel
987 příspěvků
9. 3. 2012   #21
-
0
-

#19 Petr Jureček

Úkol 1 špatně, měl jsi upravit to předchozí řešení. Kde máš načítání hodnoty? Kde je výpis?

Nahlásit jako SPAM
IP: 88.103.233.–
JoDiK
~ Anonymní uživatel
987 příspěvků
9. 3. 2012   #22
-
0
-

#21 JoDiK
Další úkoly vždy navazují a rozvíjejí předchozí úkol, takže přidávej do existujícího programu...

Nahlásit jako SPAM
IP: 88.103.233.–
JoDiK
~ Anonymní uživatel
987 příspěvků
9. 3. 2012   #23
-
0
-

#19 Petr Jureček
K tomu kódu: Seš si jistý, že rozumíš tomu, co je tam napsané? Pokud ne, pokračuj v mém zadání, máš-li zájem tomu rozumět. Pokud ne, tak si to od někoho hotové zkopíruj a neřeš a po ničem nepátrej.

BTW: to, co jsi sem dal je jeden průchod bublinkového třídění, který přehazuje sousední hodnoty v poli, pokud nesplňují podmínky. To co ti radil Honzc přece není to samé, sice se to porovnává stejně, ale nic se neprohazuje, jen se vyhodnocuje jestli je to v pořádku... On ti radí přiřadit někam jedničku, já bych na to šel přes logickou proměnnou.

Nahlásit jako SPAM
IP: 88.103.233.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
9. 3. 2012   #24
-
0
-

Tak jak mi to napsal on rozumně, tak tomu rozumím co tam probíhá, ale když mi zadáš úkol tak je pro mě celkem těžké, to sám udělat, proto chci od tebe pomoc. Snažím se udělat co po mě žádáš

Nahlásit jako SPAM
IP: 88.103.184.–
JoDiK
~ Anonymní uživatel
987 příspěvků
9. 3. 2012   #25
-
0
-

#24 Petr Jureček
OK. Tak až budeš mít první úkol tak ho pošli a prosímtě doplň do něj komentáře ke každému řádku co se tam dělá, ať vidím, jestli tomu rozumíš.

Nahlásit jako SPAM
IP: 88.103.233.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
9. 3. 2012   #26
-
0
-

Nevím, zkouším to a prostě na to nepříjdu 

Nahlásit jako SPAM
IP: 88.103.184.–
JoDiK
~ Anonymní uživatel
987 příspěvků
9. 3. 2012   #27
-
0
-

#26 Petr Jureček
Počkej na co nepřijdeš?

Přečíst celočíselnou hodnotu a vypsat ji na obrazovku?

Nahlásit jako SPAM
IP: 88.103.233.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
9. 3. 2012   #28
-
0
-

#27 JoDiK
Když už jsem přečetl hodnotu, místo číselné to bylo sice A a to jsem i vypsal na obrazovku. Nepochopil jsem co tím myslíš

Nahlásit jako SPAM
IP: 88.103.184.–
JoDiK
~ Anonymní uživatel
987 příspěvků
10. 3. 2012   #29
-
0
-

#28 Petr Jureček
Aha, no jen jsem si chtěl ověřit jak tomu "rozumíš". No a nerozumíš - přesněji vzájemně si nerozumíme - nevím jestli to vůbec takto půjde přes internet, ale aby jsme si rozumněli, musíš se orientovat v názvosloví.

Takhle nějak jsem si to představoval:

var
  c:Integer;  { promenna pro cele cislo }
begin
  write('Zadej cele cislo : '); { vypis textu na obrazovku }

  readln(c);  { cteni cisla z klavesnice, zadane cislo se ulozi do promenne c }

  writeln('Bylo zadano cislo : ',c); { kontrolni vypis zadaneho cisla }

{ zkoumani, jestli je zadane cislo ulozene v promenne c nulove

  vypiš buď text "zadané číslo je nulové" nebo "zadané číslo není nulové" }

end.

No a můžeš pokračovat úkolem 2. - pořád jenom přidávat do předchozího programu!

Nahlásit jako SPAM
IP: 88.103.233.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
10. 3. 2012   #30
-
0
-

Ok, na ten program mrknu, chci se zeptat, nějak takhle jsem udělal to moje zadání, mohlo by to tak vypadat?

program Project4;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  c,posledni:Integer;
  temp:String;
  poleCisel:array[1..6] of Integer = (5,4,99,2,1,0);
begin
c := 1;
posledni := poleCisel[c]+1;
while(poleCisel[c]<posledni) do
begin
  writeln(poleCisel[c]);
  posledni := poleCisel[c];
  c := c + 1;
  if(c>6) then
  begin
  writeln('Pole je sestupne')
  end
  else
  begin
  if(poleCisel[c]>posledni) then
  begin
  write(poleCisel[c]);
  writeln(' neni sestupne');
  end
  end
end;
readln(temp);

Nahlásit jako SPAM
IP: 90.176.51.–
JoDiK
~ Anonymní uživatel
987 příspěvků
10. 3. 2012   #31
-
0
-

#30 Petr Jureček
Vypadat by to tak mohlo, coby ne, vidím, že místo abys použil návrh obsažený už v zadání, nebo jak ti to rozepsal Honzc, vymýšlíš cosi nového. Neříkám, že je to úplně špatně, ale na splnění zadání ti tam pár drobností chybí a taky si to zkus odladit s jinými vstupními údaji. Co ti to vypíše třeba pro tuto posloupnost?

poleCisel:array[1..6] of Integer = (15,48,99,99,1,0)

Nahlásit jako SPAM
IP: 88.103.233.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
10. 3. 2012   #32
-
0
-

Píše mi to chybu hned u toho beginu 

Nahlásit jako SPAM
IP: 90.176.51.–
JoDiK
~ Anonymní uživatel
987 příspěvků
10. 3. 2012   #33
-
0
-

#31 JoDiK
Aha, máš to tak nepřehledné, že jsem se vtom hned nezorientoval.

S těmito údaji ti to nehodí chybu?

poleCisel = Array(956, 848, 799, 699, 1, 0)

Nahlásit jako SPAM
IP: 88.103.233.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
10. 3. 2012   #34
-
0
-

Omluva, to první co jsi tu napsal mi to přečetlo, chybělo mi tam ;

výsledek toto:

15

48

není sestupně, ta druhá varianta nefunguje

Nahlásit jako SPAM
IP: 90.176.51.–
JoDiK
~ Anonymní uživatel
987 příspěvků
10. 3. 2012   #35
-
0
-

#34 Petr Jureček
Hele, jedna důležitá věc. Máte to určitě řešit s využitím pole?

Nahlásit jako SPAM
IP: 88.103.233.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
10. 3. 2012   #36
-
0
-

tu druhé:

956

848

799

699

1

0

pole je sestupně

Nahlásit jako SPAM
IP: 90.176.51.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
10. 3. 2012   #37
-
0
-

No, nevím jestli tam má být pole, dostali jsme zadání, nic víc nám k tomu řečeno nebylo

Nahlásit jako SPAM
IP: 90.176.51.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
10. 3. 2012   #38
-
0
-

Rozhodlo to, jak mělo, nebo špatně? Co by to podle tebe mělo vyhodit? Vyhodnotilo to dobře, nebo ne?

Nahlásit jako SPAM
IP: 90.176.51.–
JoDiK
~ Anonymní uživatel
987 příspěvků
10. 3. 2012   #39
-
0
-

#38 Petr Jureček
To snad vidíš, jestli je to dobře nebo ne, mně to vyhodilo index mimo rozsah... Asi nemáš zapnutou kontrolu rozsahu...

Nahlásit jako SPAM
IP: 88.103.233.–
JoDiK
~ Anonymní uživatel
987 příspěvků
10. 3. 2012   #40
-
0
-

#39 JoDiK
Hele, zkusíme to jináč, tohle je na dlouho.

Zkus pochopit moje řešení, třeba se to takto naučíš líp...

var c1, c2 : Integer;

klesajici : Boolean;

begin

klesajici := true;  { nastav klesající jako pravda }
write('Zadej cislo : '); readln(c1);   { přečti první číslo }
write('Zadej cislo : '); readln(c2);   { přečti další (druhé) číslo }
While c2 <> 0 do      { dokud další číslo není nula opakuj }

  begin
    If c2 >= c1 Then klesajici := False; 

     { jestli další číslo není menší než předchozí tak nastav klesající jako nepravda }

    c1 := c2;   { ulož další číslo jako nové předchozí }

    write('Zadej cislo : '); readln(c2);  { přečti další číslo }

  end;

if klesajici { vypiš výsledek zkoumání}

  then writeln ("Posloupnost je klesajici")

  else writeln ("Posloupnost neni klesajici");

end.

Nahlásit jako SPAM
IP: 88.103.233.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
10. 3. 2012   #41
-
0
-

To máš tak rychle vyřešené??    jak dlouho programuješ? Nic méně vrhnu se na ty tvoje úkoly, at' si z toho něco odnesu :)

Nahlásit jako SPAM
IP: 90.176.51.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
10. 3. 2012   #42
-
0
-

Ten konec jsem napsal takto:

if klesajici { vypiš výsledek zkoumání}

  then writeln ('Posloupnost je klesajici')

  else writeln ('Posloupnost neni klesajici');

protože mě to přes " nechtělo pustit, pak mě to už pustilo, ale chce to po mě číslo, tak ho zadám, chce to po mě další a pořád to chce jenom čísla a výsledek žádný

Nahlásit jako SPAM
IP: 90.176.51.–
JoDiK
~ Anonymní uživatel
987 příspěvků
10. 3. 2012   #43
-
0
-

#42 Petr Jureček
Jasně, nemám tu pascal tak jsem to převedl z visualbasicu, tam jsou dvojité uvozovky.

Nemáš náhodou v zadání řečeno "Program načte neprázdnou posloupnost celých nenulových čísel ukončenou číslem nula" ???

Takže zadávání skončí až zadáš nulu.

Nahlásit jako SPAM
IP: 88.103.233.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
10. 3. 2012   #44
-
0
-

   máš pravdu, ještě jednu radu, na konci musím napsat ReadLn, aby mi výsledek zůstal a hned nezmizl?

Nahlásit jako SPAM
IP: 90.176.51.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
10. 3. 2012   #45
-
0
-

Jo, už mi to tam zůstává, takže takhle to má vypadat, ve výsledku to vypadá jednoduše, ale přijít na to je pro mě složité, každopádně děkuji za ochotu, a zítra se vrhnu na úkol č.2 

Nahlásit jako SPAM
IP: 90.176.51.–
JoDiK
~ Anonymní uživatel
987 příspěvků
10. 3. 2012   #46
-
0
-

#44 Petr Jureček
Jo, pokud to spouštíš ve windows, dej tam readln;

Nahlásit jako SPAM
IP: 88.103.233.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
13. 3. 2012   #47
-
0
-

úkol č.2:

program Project12;

{$APPTYPE CONSOLE}

var
  c:Integer;  { promenna pro cele cislo }
begin
  write('Zadej cele cislo: '); { vypis textu na obrazovku }
  readln(c);  { cteni cisla z klavesnice, zadane cislo se ulozi do promenne c }
  writeln('Bylo zadano cislo:',c); { kontrolni vypis zadaneho cisla }
  begin
    If c=0 Then { zkoumani, jestli je zadane cislo ulozene v promenne c nulove}
      WriteLn('Ano, cislo je nula');
  end;
  { TODO -oUser -cConsole Main : Insert code here }
  ReadLn
end.

Nahlásit jako SPAM
IP: 88.103.184.–
JoDiK
~ Anonymní uživatel
987 příspěvků
13. 3. 2012   #48
-
0
-

#47 Petr Jureček
Čteš vůbec ta zadání? Dokonce jsem ti do toho připraveného programu napsal do poznámky co to má dělat a ty toho uděláš jen půl.

Doplň co chybí.

{ zkoumani, jestli je zadane cislo ulozene v promenne c nulove

  vypiš buď text "zadané číslo je nulové" nebo "zadané číslo není nulové" }

Nahlásit jako SPAM
IP: 88.103.233.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
13. 3. 2012   #49
-
0
-

program Project12;

{$APPTYPE CONSOLE}

var
  c:Integer;  { promenna pro cele cislo }
begin
  write('Zadej cele cislo: '); { vypis textu na obrazovku }
  readln(c);  { cteni cisla z klavesnice, zadane cislo se ulozi do promenne c }
  writeln('Bylo zadano cislo:',c); { kontrolni vypis zadaneho cisla }
  begin
    If c=0 Then
      WriteLn('Ano, cislo je nula');
  end;
  begin
    If c>0 Then
      WriteLn('Cislo neni nula');
  end;
{ zkoumani, jestli je zadane cislo ulozene v promenne c nulove

  vypiš buď text "zadané číslo je nulové" nebo "zadané číslo není nulové" }
  { TODO -oUser -cConsole Main : Insert code here }
  ReadLn
end.

Nahlásit jako SPAM
IP: 88.103.184.–
JoDiK
~ Anonymní uživatel
987 příspěvků
13. 3. 2012   #50
-
0
-

#49 Petr Jureček
Nemáš to dobře, záporné hodnoty jsou přece také celá čísla. D těmi beginy a endy tolik neplýtvej, dávej je jen tam, kde budou ohraničovat víc jak jeden příkaz uvnitř jiného příkazu.

Správně to mohlo být třeba takto (podobně jako u výpisu té klesající posloupnosti):

writeln('Bylo zadano cislo:',c); { kontrolni vypis zadaneho cisla }

If c=0
        Then  WriteLn('Ano, cislo je nula')
        Else  WriteLn('Cislo neni nula');

ReadLn;

Nahlásit jako SPAM
IP: 88.103.233.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
13. 3. 2012   #51
-
0
-

Ok, to teda mám:

program Project12;

{$APPTYPE CONSOLE}

var
  c:Integer;  { promenna pro cele cislo }
begin
  write('Zadej cele cislo: '); { vypis textu na obrazovku }
  readln(c);  { cteni cisla z klavesnice, zadane cislo se ulozi do promenne c }
  writeln('Bylo zadano cislo:',c); { kontrolni vypis zadaneho cisla }
    If c=0 Then
      WriteLn('Ano, cislo je nula')
    Else
      WriteLn('Cislo neni nula');
{ zkoumani, jestli je zadane cislo ulozene v promenne c nulove
  { TODO -oUser -cConsole Main : Insert code here }
  ReadLn
end.

Nahlásit jako SPAM
IP: 88.103.184.–
JoDiK
~ Anonymní uživatel
987 příspěvků
14. 3. 2012   #52
-
0
-

#51 Petr Jureček
3. Jestli je to zadané číslo záporné, tak k němu přičti jeho kladný dvojnásobek a vypiš výsledek.
4. Dokud je to zadané číslo větší jak 5, tak od něho odečítej hodnotu 3 a průběžně vypisuj aktuální stav.

Nahlásit jako SPAM
IP: 88.103.236.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
14. 3. 2012   #53
-
0
-

Chci se zeptat, ten program můžu měnit nebo jenom doplňovat nové věci do toho? Tady bych to c dal If c<0 Then atd

Nahlásit jako SPAM
IP: 88.103.184.–
JoDiK
~ Anonymní uživatel
987 příspěvků
15. 3. 2012   #54
-
0
-

#53 Petr Jureček

Nepsal jsem to už? Psal!

9. 3. 2012   #22

#21 JoDiK
Další úkoly vždy navazují a rozvíjejí předchozí úkol, takže přidávej do existujícího programu.

Nahlásit jako SPAM
IP: 88.103.236.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
17. 3. 2012   #55
-
0
-

Ještě se chci zeptat zpátky k tomu programu, my jsme ve škole ještě nedělali boolean, jak bych to měl profesorce vysvětlit? Vím, že to je logická proměnná, která se používá při těchto typech př, kde se musí rozhodnout ano, ne.

Nahlásit jako SPAM
IP: 88.103.184.–
JoDiK
~ Anonymní uživatel
987 příspěvků
18. 3. 2012   #56
-
0
-

#55 Petr Jureček
Tak použj integer, jako nepravda do něj ulož 0 a jako pravda 1

Nahlásit jako SPAM
IP: 88.100.43.–
Petr Jureček
~ Anonymní uživatel
30 příspěvků
18. 3. 2012   #57
-
0
-

Jako takhle:

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  c1,c2,klesajici:Integer;
begin
  klesajici:=1;  { nastav klesající jako pravda }
  write('Zadej cislo:');
  readln(c1);   { přečti první číslo }
  write('Zadej cislo:');
  readln(c2);   { přečti další (druhé) číslo }
  While c2 <> 0 do      { dokud další číslo není nula opakuj }
  begin
    If c2 >= c1 Then
      klesajici:=0;
     { jestli další číslo není menší než předchozí tak nastav klesající jako nepravda }
    c1:=c2;   { ulož další číslo jako nové předchozí }
    write('Zadej cislo:');
    readln(c2);  { přečti další číslo }
  end;
  if klesajici { vypiš výsledek zkoumání} then
    writeln ('Posloupnost je klesajici')
  else
    writeln ('Posloupnost neni klesajici');

  { TODO -oUser -cConsole Main : Insert code here }
  ReadLn;
end.

u toho if klesajici then mi to vypíše, že to musí být boolean

Nahlásit jako SPAM
IP: 88.103.184.–
zlz
~ Anonymní uživatel
634 příspěvků
18. 3. 2012   #58
-
0
-

   

if klesajici = 1 then
if klesajici <> 0 then
Nahlásit jako SPAM
IP: 213.211.51.–
JuReeeC0
Duch
18. 3. 2012   #59
-
0
-

#58 zlz
a to mám napsat kde? nebo spíš co změnit? snažím se o všechny varianty a furt mě to nechce pustit

Nahlásit jako SPAM
IP: 88.103.184.–
JoDiK
~ Anonymní uživatel
987 příspěvků
18. 3. 2012   #60
-
0
-

#59 JuReeeC
A tuhle variantu jsi zkusil?

if klesajici=1 { vypiš výsledek zkoumání} then
    writeln ('Posloupnost je klesajici')
  else
    writeln ('Posloupnost neni klesajici');

Nahlásit jako SPAM
IP: 88.103.233.–
JuReeeC
~ Anonymní uživatel
9 příspěvků
18. 3. 2012   #61
-
0
-

Super, už to funguje. Ale moc jsem nepochopil, jaký je v tom rozdíl. Když boolean pracuje s hodnotou 0 a 1, tak to je to stejné, kde je rozdíl?

Nahlásit jako SPAM
IP: 88.103.184.–
zlz
~ Anonymní uživatel
634 příspěvků
19. 3. 2012   #62
-
0
-

Boolean má hodnotu true nebo false. Že je to technicky 1 nebo 0 je tady celkem nepodstatné. A IF prostě vyžaduje logickou hodnotu - takže boolean, nebo logický výraz.

Nahlásit jako SPAM
IP: 213.211.51.–
petr jurecek
~ Anonymní uživatel
30 příspěvků
20. 3. 2012   #63
-
0
-

Boolean chapu, ale nahradil jsem to Integer. Tak jak ji to mam vysvetlit, kdyz se me zepta, co to znamena?

Zasláno z mobilního telefonu.

Nahlásit jako SPAM
IP: 158.196.120.–
JoDiK
~ Anonymní uživatel
987 příspěvků
20. 3. 2012   #64
-
0
-

#63 petr jurecek
A co jí chceš vysvětlovat, kdyžs to teda nahradil tím integerem a ten jste přece probírali?

Nahlásit jako SPAM
IP: 88.103.233.–
JuReeeC
~ Anonymní uživatel
9 příspěvků
20. 3. 2012   #65
-
0
-

Jo to jo, ale jen by mě zajímalo, proč jsem tam dal to 1 a 0. Proč zrovna tyto dvě hodnoty proměnných?

Nahlásit jako SPAM
IP: 88.103.184.–
JoDiK
~ Anonymní uživatel
987 příspěvků
20. 3. 2012   #66
-
0
-

#65 JuReeeC
Tak si tam prosímtě dej třeba -236 pro nepravdu a 1374 pro pravdu, bude to fungiovat úplně stejně...

Proč, proč, třeba proto, že to jsou dvě základní hodnoty jednoho bitu dvojkové soustavy?

Nahlásit jako SPAM
IP: 88.103.233.–
JuReeeC
~ Anonymní uživatel
9 příspěvků
20. 3. 2012   #67
-
0
-

Nic s bitama ve škole neřešíme, toto slyším poprvé, právě z takového hlediska to vůbec neberem a to mě dost štve. Řešíme jen matematické úlohy, do hloubky nic.

Nahlásit jako SPAM
IP: 88.103.184.–
JuReeeC
~ Anonymní uživatel
9 příspěvků
20. 3. 2012   #68
-
0
-

#66 JoDiK

Mám správně ten vývoják k tomu? Snad jo :)

Nahlásit jako SPAM
IP: 88.103.184.–
JoDiK
~ Anonymní uživatel
987 příspěvků
21. 3. 2012   #69
-
0
-

#68 JuReeeC
Jestli jsem to správně přečetl, tak v kladné větvi posledního rozhodování píšeš "Posloupnost je rostoucí"???

Snad klesající ne???

Jinak to vypadá správně.

Nahlásit jako SPAM
IP: 88.103.233.–
JuReeeC
~ Anonymní uživatel
9 příspěvků
21. 3. 2012   #70
-
0
-

#69 JoDiK
Jo máš pravdu    chybka se vloudila

Nahlásit jako SPAM
IP: 88.103.184.–
JuReeeC
~ Anonymní uživatel
9 příspěvků
21. 3. 2012   #71
-
0
-

Tak program uznaný, ted' se vrhnu na tvoje úkoly :)

Nahlásit jako SPAM
IP: 88.103.184.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 5 hostů

Podobná vlákna

Program v Delphi — založil JuReeeC

Program v Delphi — založil Jack

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý