Autor | Zpráva | ||
---|---|---|---|
breeta Profil * |
#1 · Zasláno: 30. 3. 2009, 11:07:35
Ahoj mám tenhle kod:
<?php $zacatek ="1"; $konec = "5"; while ($zacatek<=$konec) { echo "$zacatek," ; $zacatek++; } ?> vypíše 1, 2, 3, 4, 5 jak mám nejlíp sečíst while aby výsledek byl 15? |
||
Budilnek Profil * |
#2 · Zasláno: 30. 3. 2009, 11:16:52
Sečíst while???
|
||
Majkl578 Profil |
#3 · Zasláno: 30. 3. 2009, 11:24:33 · Upravil/a: Majkl578
???
for($i = $x = 1; $i <= 5; $i++, $x += $i) { echo $i, ', '; } || $a = $b = ''; for($i = $x = 1; $i <= 5; $i++, $x += $i) { $a .= ($a ? ', ' : '') . $i; $b .= ($b ? ', ' : '') . $x; } echo $a, "\n", $b; |
||
Tomáš K. Profil * |
#4 · Zasláno: 30. 3. 2009, 11:25:06
Čísla jsou čísla (bez uvozovek) a řetězce jsou řetězce (s uvozovkami). Je dobré to dodržovat
$zacatek =1; $konec = 5; $soucet = ($konec-$zacatek+1) *($zacatek + $konec) / 2 |
||
Philber Profil |
#5 · Zasláno: 30. 3. 2009, 11:27:13 · Upravil/a: Philber
<?php $zacatek ="1"; $konec = "5"; $soucet = "0"; while ($zacatek<=$konec) { echo "$zacatek," ; $soucet = $soucet + $zacatek; $zacatek++; } echo "<br />"; echo "$soucet"; ?> |
||
Majkl578 Profil |
#6 · Zasláno: 30. 3. 2009, 11:31:41
Tomáš K.
a hele chytrak... pouc me jak donutim treba mysql_fetch_assoc vracet integer kdyz v db je int a i presto vraci vzdy string? kdyby jsi radeji dal kod do pre |
||
Joker Profil |
#7 · Zasláno: 30. 3. 2009, 12:00:41
Philber
Fuj- čísla jako řetězce?! Navíc, proč cyklus? Stačí se trochu zamyslet a zapojit matematiku a je to na jeden výpočet, viz Tomáš K. Kdo ten vzorec nepochopil: Chci vlastně součet aritmetické posloupnosti, kde první prvek je $zacatek, každý další je vždycky o jedničku vyšší než předchozí a poslední prvek je $konec. Neboli prvků v posloupnosti je $konec - $zacatek + 1 (to +1 kvůli tomu, že první je samotný $zacatek). Součet prvních n členů aritmetické posloupnosti je: (n * (a1 + an)) / 2, čili v tomhle případě: (($konec - $zacatek + 1) * ($zacatek + $konec)) / 2 |
||
Joker Profil |
#8 · Zasláno: 30. 3. 2009, 12:02:37
Majkl578
pouc me jak donutim treba mysql_fetch_assoc vracet integer kdyz v db je int a i presto vraci vzdy string? $cislo = intval($databaze["sloupec"]); ...každopádně když to vrátí funkce, tak budiž, ale dávat si sám do proměnných čísla v uvozovkách?! |
||
Tomáš K. Profil * |
#9 · Zasláno: 30. 3. 2009, 12:06:58
Neříkám, že je nutné to rozlišovat, ale že to je dobrý zvyk, zvlášť pokud tě to nic nestojí (např. v deklaraci). Funguje samozřejmě obojí. Ale s přístupem, že je to vlastně jedno, je možné, že časem narazí - tuším, že třeba v SQL neprojde
INSERT INTO table SET string=5 ale INSERT INTO table SET string='5' ano. Nemůžu to teď vyzkoušet. Možná to záleží na konfiguraci nebo nečem podobném, ale zdá se mi jednodušší datové typy dodržovat vždy a všude (pokud to mám zadarmo) a nemuset o podobných věcech uvažovat. Co se týče mysql_fetch_assoc, tak jsem si ji v jednom projektu skutečně přepsal na vlastní, která dělá totéž, jen vrací datové typy dle databáze. Tedy jde to, ale tohle už mě stojí nějaké úsilí (a čas výpočtu), tam bych mu použití stringu na místě int určitě nevyčítal. Kód do pre jsem dát zapomněl, za to se omlouvám. |
||
Majkl578 Profil |
#10 · Zasláno: 30. 3. 2009, 12:25:19
Joker
nemluvim o konverzi na strane php, ta mi je jasna. byl to jen takovy priklad. cisla at si dava kam chce, beztak se mu pretypuje na int; rozhodne to je jeste relativne dobre reseni oproti jinym vecem co se tu casto objevuji. nerikam ale, ze spravne. osobne uz radeji neresim, jake prasecinky lidi vymysleji, proste jim napisu vlastni alternativu a tim to hasne. Tomáš K. tusim, ze v tomto pripade projde oboji |
||
Joker Profil |
#11 · Zasláno: 30. 3. 2009, 13:07:55
Majkl578
cisla at si dava kam chce, beztak se mu pretypuje na int S tímhle přístupem nesouhlasím, to pak vede k tomu, že třeba v databázi někdo vyrobí všechny sloupce VARCHAR, protože do toho lze zadat cokoliv, i číslo, datum,... |
||
breeta Profil * |
#12 · Zasláno: 30. 3. 2009, 14:01:22
Joker
poradis me prosim co se týče té matematiky aritmetické posloupnost pro sčítání je: (($konec - $zacatek + 1) * ($zacatek + $konec)) / 2 ale jak na odčítání dělení a násobení? |
||
Philber Profil |
#13 · Zasláno: 30. 3. 2009, 14:23:56
breeta co by si přesněji potřeboval ohledně té matematiky?
|
||
breeta Profil * |
#14 · Zasláno: 30. 3. 2009, 14:29:42
Philber
zapis pro scitani napr 1 2 3 4 5 je (($konec - $zacatek + 1) * ($zacatek + $konec)) / 2 ale jek na odcitani a nasopeni a deleni 1 2 3 4 5 |
||
Nox Profil |
#15 · Zasláno: 30. 3. 2009, 14:49:59
breeta
http://cs.wikipedia.org/wiki/Posloupnost http://www.matweb.cz/posloupnosti A studuj Odčítání nepotřebuješ, odčítání je přičítání opačného čísla ($x * (-1) ) Dělení nepotřebuješ, dělení je násobení převráceným číslem ($x^-1 neboli 1/$x) |
||
Majkl578 Profil |
#16 · Zasláno: 30. 3. 2009, 16:16:20
Joker
take s nim nesouhlasim, bohuzel vetsina tech "nezabehlych" uzivatelu dela :| |
||
Časová prodleva: 15 let
|
0