
Programování - úkol ve small basicu
Dobrý den, potřebovala bych s něčím pomoct - mám zadaný úkol na IVT a nevím si s ním rady, byla bych za každou radu vděčná ;) Týká se to programování, konkrétně ve small basicu, zadání je následující : vytvoř program, který postupně bude měnit barvy okna od černé až po bílé (simulace rozednívání)... Předem díky za každý užitečný komentář :)
Je otázka, jestli je to chyba tazatelky nebo pedagoga co ji to nedokázal naučit. Nebo chyba osnov v té škole, že zatěžují žáky věcmi které nebudou potřebovat.
BTW: Co je to za školu?
gymnázium
Tak to je skutečně dovednost, co v životě velmi dobře uplatníte. Já si například pamatuji (ještě ze SVVŠ), jak se řekne německy jedním slovem "Množství mléčné bílkoviny".
Kdyby vás tam raději učili používat MS Office.
Schválně: Pokud budete psát vícestránkový dokument a budete potřebovat číslovat stránky od páté stránky a aby číslování začalo číslem 8725, naučili vás to?
Pokud ne, vyřiďte vašemu pedagogovi, že vás nemá otravovat 3,14čovinami, ale učit vás něčemu užitečnému. Že mu to vzkazuji.
s wordem/writerem sme pracovali loni, letos "je na programu" grafika, databáze, programování, tvorba webových stránek. A ne, nevím, jak by se to udělalo...
A to jste zacali probirat az koncem kvetna a hned jste dostali takovy priklad?
To jsou dnes divne skoly...
Buď tazatelka lže a vykašlala se na to nebo může být chyba ve vyučujícím. Ono to tak bohužel je ve velké části škol. Díky za to, že aspoň já mám rozumnýho učitele IKT, který učí základy wordu, excelu, inkscapu, základy úpravy fotek v GIMPu, základy editace videa, od každého trochu, ale pořádně a vysvětluje to jak pro čtyřletý děcko
, takže tomu rozumí všichni. Většinou je to asi tak, že kdo to umí, tak pracuje v nějaké programátorské firmě nebo je freelancer a ti, co se neuplatnili nikde, to učí ve školách. Potom je taky skupina učitelů, kteří nutí učit se nabídky ve Wordu, Excelu atd. nazpaměť!!! Další skupina zase zatuhla někdy před desíti lety a nejmodernější procesor je pro ně Pentium III nebo zavírání křížkem ničí operační systém. Tím nechci ty učitele nijak ospravedlňovat, kvalita školství postupně upadá, někdy se sám sebe ptám jestli jsem fakt na gymnáziu nebo ve zvláštní škole. Příchozí prváci nemají žádné tušení třeba o Pythagorově větě (natož napsat větu bez chyby nebo vědět v jakém století byla druhá světová válka) a když po mě něco chtějí, tak se zeptám "A co umíš, ať můžeme navázat." a oni suše odpoví "Nic, já absolutně netuším.". Místo povinné maturity z češtiny by se mělo zavést něco jako "základní znalosti", kde by byl diktát z češtiny, slohová práce, nějaká beletrie, kousek matiky, kousíček fyziky, chemie, něco hlavně o české a část o zahraniční historii, zeměpisu, slavných českých osobnostech (kolik mladých lidí dnes ví bez Wikipedie třeba o geniálním profesoru Holém?), prostě základní znalosti, které by měl vzdělaný člověk mít. Není to chyba těch dětí, chybu vidím hlavně v současném systému a částečně i v rodičích. Systém a rodiče je nenaučili respektovat autoritu a vykonávat povinnosti. Pokud učitel nedejbože dá facku spratkovi, je pak společností označen za tyrana a dohnán k sebevraždě (nedávno se stalo). Pokud výrostka slovně výrazněji napomene, spratek se schová za tatínka, ten dojde do školy a učitel má průser. I když je to občas chyba učitele, že se žák něco nenaučil, většinou je to chyba žáka (špatně vychovaného systémem a rodiči). Ale učitel nemá žádnou páku na to, aby ho donutil. Nedodrželo se jen jediného pravidlo Komenského - když nepomůže dobré slovo, pomůže rákoska. A takhle to bohužel dopadlo.
Nevykašlala jsem se na to, chyběla jsem na poslední dvouhodinovce a tento týden nemám o nic víc času, mám tu zahraniční návštěvu, tak se škole nestíhám moc věnovat... Obecně s počítači peru dost často a teď jak vidno svou bitvu prohrávám. V profesoru chyba není, to spíš asi ve mně. Poradil by mi teda, prosím, někdo ? Jak se mění barvy - to je tam mám vypisovat nebo jak ?
Kdyby jsi čas strávený s tímto dotazem a následnými odpovědmi věnovala přečtení základů Small Basicu (je i v češtině a má asi 70 stránek), tak už by jsi to dávno měla. Ten "program" bude mít maximálně 4 řádky.
Ale aby jsi neměla pocit, že jsme nelidové, tak malá nápověda:
Budeš potřebovat cyklus "For", barva okna je ve vlastnosti "GraphicsWindow.BackgroundColor", budeš ještě potřebovat metodu "GraphicsWindow.GetColorFromRGB()". A aby ten program neproběhl příliš rychle, tak je vhodné ho zpomalit metodou "Program.Delay()".
Odstíny šedi jsou takové barvy, které mají stejné hodnoty ve všech třech složkách RGB.
tak jsem se zasekla a bojim se, že sem na mrtvým bodě... logicky by mi tenhle příkaz přišel správný ale počítač mi ho prostě neuzná (zvýrazněná část je podle něj špatně) :
i = GraphicsWindow.GetColorFromRGB(0,0,0)
start:
GraphicsWindow.BackgroundColor = i
i = i+(1,1,1)
If i = (255,255,255) Then
Goto start
EndIf
Program.Delay(2)
RGB se musí načítat vždycky každý po jednom aby to bylo jako rozednívání.... nenapadá mě jak to ale udělat správně. =/
Základní princip je správný, ale takhle konkrétně to opravdu nejde.
i = 0
start:
GraphicsWindow.BackgroundColor = GraphicsWindow.GetColorFromRGB(i,i,i)
i = i + 1
Nepoužívej Goto, cyklus For je mnohem lepší.
Zkontroluj si podmínku, za jaké má cyklus pokračovat, takhle to nepůjde.
Zpoždění musíš dát dovnitř cyklu, jinak ti to zpomalí jenom úplný konec programu.
For i = 0 To 255
Program.Delay(50)
GraphicsWindow.BackgroundColor = GraphicsWindow.GetColorFromRGB(i,i,i)
endfor
Tak takhle mi to funguje =) akorát na začátku tam vždycky problikne bílá na moment... nevim jesi to je moje chyba nebo ?
Zhruba tak na 50 milisekund co? Zkus popřemýšlet proč.
ale když si třeba vemu jen tenhle příkaz GraphicsWindow.BackgroundColor="red" tak u toho je to to samý, že tam na začátku problikne bílá, když se program spustí. To nemůže bejt těma milisekundama, tady přece nic takovýho není a stejně to tam problikne...
změň na:
Jestli to taky nepůjde, tak to možná je vlastnost, že změna barvy chvíli trvá, i když o tom pochybuju.
je to furt stejný...
Tak to bude nejspíš jenom na tvém počítači, u mě to teda nedělá.
Tak fajn =) Moc děkjuju za pomoc !!!