Autor | Zpráva | ||
---|---|---|---|
Joker Profil |
Autor: Joker
Odkaz na aktuální verzi textu: Základní kurz 13: Funkce zveřejněno Odkud se vede diskuse k aktuálnímu stavu textu: |
||
Jan Tvrdík Profil |
Zase jenom stručně:
• (($cislo % 2) == 0) ? true : false; je hnus, vede programátory k nepochopení toho, jak fungují výrazy v PHP. Použij rovnou return (($cislo % 2) == 0)) a případně to dovysvětli pod příkladem (teď to děláš naopak).
• příklad se sude() se mi nelíbí, co třeba naprogramovat gcd?
• předání argumentu referencí mi přijde jako něco, co začátečník nikdy nepoužije |
||
Joker Profil |
#3 · Zasláno: 21. 12. 2012, 18:36:57
Jan Tvrdík:
První bod: Pod tím je popsané, proč to tam je zrovna takhle. I podle dotazů tady spousta začátečníků nechápe, že porovnávací operátory vracejí boolean, zjevně jsou často přesvědčení, že porovnávací operátory jsou nějaká speciální vlastnost jazyka, která na základě porovnání hodnot nějak rozhodne, jaký další kód provést. Neboli mám strach, že hodně lidí příkaz return (($cislo % 2) == 0)) nepochopí.
Druhý bod: Hm, možná by to bylo užitečnější, přece jen funkci na určení sudého/lichého čísla asi nikdo potřebovat nebude (když na to už je operátor) Třetí bod: Na druhou stranu asi hodně lidí bude očekávat, že když funkci předají nějakou proměnnou, práce s argumentem uvnitř funkce ovlivní i hodnotu té proměnné vně funkce. I když je pravda, že možná by stačilo jim vysvětlit že to nejde a nerozebírat, jak by to šlo udělat. |
||
Jan Tvrdík Profil |
#4 · Zasláno: 21. 12. 2012, 22:56:54
Joker:
„spousta začátečníků nechápe, že porovnávací operátory vracejí boolean“ Tím, že to budeš tajit jim to moc neujasníš. Naopak jim pomůžeš tak, že to použiješ a vysvětlíš. „Na druhou stranu asi hodně lidí bude očekávat, že když funkci předají nějakou proměnnou, práce s argumentem uvnitř funkce ovlivní i hodnotu té proměnné vně funkce.“ Je určitě důležité ukázat na příkladu, že to takhle nefunguje + odkázat na následující kapitolu o platnosti proměnných, kde to bude vysvětleno víc dopodrobna. Ještě pár nápadů na funkce (převzato ze cvičení C na FIT ČVUT): • Napište funkci, která vypíše na obrazovku 10 hvězdiček. Vyzkoušejte ji. • Napište funkci void kresliHvezdy(int n), která vypíše na obrazovku zadaný počet hvězdiček. Tuto funkci využijte pro vykreslení obdélníku - procedura se dvěma parametry a trojúhelníku - procedura s jedním parametrem. • Napište funkci, která vypočte n tou mocninu čísla x, n i x jsou celá čísla. • Vytvořte iterativní funkci pro výpočet faktoriálu. • Vytvořte funkci, která zjistí, zda její parametr je prvočíslo. • Napište funkci, která pomocí funkce z předchozího příkladu vypíše všechna prvočísla menší než její parametr. • Napište funkci se dvěma parametry, která najde nejmenší společný násobek těchto čísel. • Napište funkci se dvěma parametry, která najde největší společný dělitel těchto čísel. • Napište funkci, která pro dva intervaly zadané svými krajními body určí jejich průnik. Pokud průnik není, vrátí interval <0,0>. |
||
Časová prodleva: 1 rok
|
|||
Joker Profil |
#5 · Zasláno: 3. 5. 2014, 17:09:40
Přidávám si sem poznámku z vlákna Vysvětlení základních principů PHP - reakce na učebnici php
Jcas: „(Nedávno jsem narazil na zajímavou věc, i když to asi není správně. Volám fc dřív, než jsem ji vytvořil. Zajímavé, že to v php prošlo. V jvscriptu by to neprošlo.)“ O pořadí deklarace a volání funkce by v kapitole mohla padnout zmínka. |
||
Časová prodleva: 1 měsíc
|
|||
Joker Profil |
#6 · Zasláno: 16. 6. 2014, 14:17:03
Kapitola zveřejněna na Péhápku, ale ještě to bude chtít doladit připomínky.
|
||
Časová prodleva: 9 let
|
0