Dodaj wpis w tym temacie
Spis tematów | Strona: 1 2 3 ... 30 31 Wyślij wiadomość do admina |
Przewiń wpisy ↓ | Turbo Pascal dla zielonych |
2010-04-23 (02:42) Tajemniczy Don Pedro Data rejestracji: 2009-04-18 00:00:00 Ilość postów: 722 | wpis nr 315 097 [ CZCIONKA MONOSPACE ] Ale zmiennymi będą raczej chyba obiekty losowe /zwane przez niektórych niepoprawnych \"liczbami\"/ : 1, 2, 3, 4, 5, ..., 41, 42. Bo 45 to chyba z innej gry? |
2010-04-23 (03:01) KURKA Data rejestracji: 2009-01-23 00:00:00 Ilość postów: 2551 | wpis nr 315 098 [ CZCIONKA MONOSPACE ] Oki , masz rację Ja w tej chwili przywiązuje wagę do tłumaczenia a nie do też ważnej w sumie rzeczy . Liczb jest oczywiście jak piszesz od 1 do 42. MAMY : _________________________ Program MiniLotto; Uses crt; Var a,b,c,d,e : byte; licznik : longint; ___________________________ teraz najłatwiejsze funkcje które będą przydatne : begin - to inaczej początek end - to koniec między tymi słowami można a nawet trzeba coś wciśnąć np: begin; writeln (\'Program MiniLotto\') end. Proszę zauważyć , że po słowie END jest kropka. program który się wykona to , to co jest między Start (begin) i STOP (end.) writeln- napisz ( w tym przypadku na ekranie) to co jest w \' \' . A w \' \' jest Program MiniLotto. czyli na razie program w postaci : ___________________________ Program MiniLotto; Uses crt; Var a,b,c,d,e : byte; licznik : longint; begin; writeln (\'Program MiniLotto\') end. _____________________________ po uruchomieniu zrobi : napisze (wyświetli) na ekranie : Program MiniLotto |
2010-04-23 (03:07) KURKA Data rejestracji: 2009-01-23 00:00:00 Ilość postów: 2551 | wpis nr 315 099 [ CZCIONKA MONOSPACE ] Kurcze , muszę uwazać na to co piszę bo wprowadzam w bład : MA BYĆ : Program MiniLotto; Uses crt; Var a,b,c,d,e : byte; licznik : longint; begin; writeln (\'Program MiniLotto\'); end. kto zauważył erratę , ten już powinien wiedzieć dlaczego wcześniej było źle. |
2010-04-23 (03:23) KURKA Data rejestracji: 2009-01-23 00:00:00 Ilość postów: 2551 | wpis nr 315 100 [ CZCIONKA MONOSPACE ] Teraz myślę , że potrzeba znaleźć kompilator free , aby nie było nieścisłości , a następnie zrobimy pętle, i mały zabieg (a raczej wybieg). Wybieg polega na tym , że nie jesteśmy w stanie zobaczyć wyniku , tzn tego co wyswietli na ekranie: Program MiniLotto; Uses crt; Var a,b,c,d,e : byte; licznik : longint; begin; writeln (\'Program MiniLotto\') end. bo program działa tak, że : begin- start writeln (\'Program MiniLotto\') - napisz na ekranie \"Program MiniLotto\" end. - zakończ. i jego szybkość jest taka , że napis \"Program MiniLotto\" wyświetli na kilka ns aby zobaczyć co wyświetla możemy użyć funkji delay(1000) - 1000 oznacza około 1s Program MiniLotto; Uses crt; Var a,b,c,d,e : byte; licznik : longint; begin; writeln (\'Program MiniLotto\'); delay(3000); end. na około 3 sekundy wyświetli się napis który jest w \'----\' funkcji writeln. |
2010-04-23 (03:58) KURKA Data rejestracji: 2009-01-23 00:00:00 Ilość postów: 2551 | wpis nr 315 101 [ CZCIONKA MONOSPACE ] A teraz zmusimy program by wyświetlił nam 42 liczby : __________________________________ Program MiniLotto; Uses crt; Var a,b,c,d,e : byte; licznik : longint; begin; writeln (\'Program MiniLotto\'); for a:=1 to 42 do begin writeln(a); end; delay(3000); end. _______________________________ program działa w ten sposób: begin; writeln (\'Program MiniLotto\'); wyświetla na ekranie \"\"Program MiniLotto\"\" i przechodzi do słów: for a:=1 to 42 do begin co oznacza że zmiennej \"a\" przypisuje najpierw liczbę 1(później 2, 3 ......42) i idzie do następnej linii writeln(a); wyświetla na ekranie \"\"a\"\" czyli 1 i przechodzi do następnej linii end; to jest pętla : for >>coś tam>>end; >>for>>coś tam>>end; >>for...itd aż for a:= 42 . tak więc pętla będzie wykonywać się od a=1 do a= 42. czyli 42 razy. na ekranie pojawi sie : Program MiniLotto 1 2 3 . . . 42 na około 3 sekundy bo to spowoduje funkcja delay(3000) |
2010-04-23 (08:24) SirMavins Data rejestracji: 2009-05-29 00:00:00 Ilość postów: 3951 | wpis nr 315 127 [ CZCIONKA MONOSPACE ] Witajcie. Jak rozumiem zdecydowałaś się KURKO podzielić swoją wiedzą z laikami. I to właśnie im przyda się kilka prostych rad, które dadzą im efekt o którym im chodzi? I będzie można tę wiedzę zastosować w prognozowaniu liczb do gier? Czyli jednym słowem - SUPER. Pzdr Tak na marginesie to o Office już coś jest, ale jak przeglądałem to raczej nie dla mnie, no chyba że nie rozumiem co piszą, a tak nie jest. Z mej stron - na pewno skorzystam. |
2010-04-23 (08:48) 777ch Data rejestracji: 2005-11-07 00:00:00 Ilość postów: 21728 | wpis nr 315 134 [ CZCIONKA MONOSPACE ] Marriusz2 > ....nawet gdybym codziennie pisał program , to jest moja sprawa, i nie twój zasrany interes. Ja zrobię w kilkanaście minut..... coś czego Ty nie zrobisz nigdy..... ---------------------------------------------------------------------------------------- Wycieraj sobie dupę ..... papierem , a nie mną. Pouczasz ludzi........ a sam nic kompletnie nie potrafisz. |
2010-04-23 (12:47) Marco1972 Data rejestracji: 2009-03-22 00:00:00 Ilość postów: 481 | wpis nr 315 195 [ CZCIONKA MONOSPACE ] Kurka, świetnie tłumaczysz. Po słowie kluczowym begin nigdy nie ma średnika,po słowie kluczowym end , który zamyka instrukcje zawarte między begin i end na ogół jest średnik, wyjątkiem jest instrukcja if warunek then begin instrukcje do wykonania, gdy warunek spełniony; end else begin instrukcje do wykonania, gdy warunek nie jest spełniony; end; Ostatni end w programie zakończony jest tylko kropką. Instrukcja repeat until keypressed; zatrzymuje wykonywanie programu do chwili naciśnięcia dowolnego klawisza, jest wygodniejsza dla użytkownika, bowiem sam użytkownik decyduje, kiedy przejść dalej. |
2010-04-23 (13:05) KURKA Data rejestracji: 2009-01-23 00:00:00 Ilość postów: 2551 | wpis nr 315 201 [ CZCIONKA MONOSPACE ] Oki Marco1972 Niestety nie ma możliwości edycji postu więc muszę sprostować co do średnika. Na razie przyjmujemy że zawsze na końcu dajemy średnik. Wyjątek to słowo Begin (po nim nic nie ma) Oraz End na końcu programu (po ostatnim end jest kropka). Tyle wystarczy , instrukcje warunkowe później . Delay(1000) - przemawia bardziej (opóźnienie) i na razie tak zostawmy , bo w pierwszym programie za dużo to nie zdrowo. mamy więc na razie : __________________________________ Program MiniLotto; Uses crt; Var a,b,c,d,e : byte; licznik : longint; begin writeln (\'Program MiniLotto\'); for a:=1 to 42 do begin writeln(a); end; delay(3000); end. __________________________________________ możemy nieco zmodyfikować sposób wyświetlania na ekranie, zamiast writeln(a); write(a,\',\'); wówczas program wyświetla : ========================= Program MiniLotto 1,2,3,4,5,6 .....42, ========================= |
2010-04-23 (13:25) Marriusz2 Data rejestracji: 2009-06-02 00:00:00 Ilość postów: 2410 | wpis nr 315 209 [ CZCIONKA MONOSPACE ] Leo Głupota Twoja poraża . Pięć lat temu opisałem tutaj na Forum zasadę ONT czyli Ostatniej Niewypadniętej Liczby . Każdy zna post o ostatnim autobusie i Ostatniej Niewypadniętej Liczbie . Od tego momentu przyswoiłeś sobie to pojęcie i w kazdym arkuszu korzystasz z tego pojęcia . Ja nie liczę na objaw wdzięcznosci -bo ty tego nie znasz . Dobrze ,że cokolwiek sobie z tego co pisze przyswoiłeś . Jak na 5 lat to i tak duzo. Wprawdzie liczyłem ,że ruszysz głową i pójdziesz troszeczkę dalej -bo nie doczytałes ,ze ONT nie dotyczy liczb zywych -bo sie nie nadaje jako model . Ale trudno . Natomiast takie zachowanie ,że uczysz sie ode mnie -powoli ale zawsze a później wyzywasz -to złe zachowanie Leo. |
2010-04-23 (13:32) KURKA Data rejestracji: 2009-01-23 00:00:00 Ilość postów: 2551 | wpis nr 315 214 [ CZCIONKA MONOSPACE ] Teraz zajmijmy się pętlą for . Jedna pętla for a:=1 to 42 do begin end; Dwie pętle: for a:=1 to 42 do begin for b:=1 to 42 do begin end; end; Teraz mielibyśmy : _________________________ Program MiniLotto; Uses crt; Var a,b,c,d,e : byte; licznik : longint; begin writeln (\'Program MiniLotto\'); for a:=1 to 42 do begin for b:=1 to 42 do begin writeln(a,b); delay(50); end; end; delay(3000); end. __________________________________ Program wyświetla: Program MiniLotto 1,1 1,2 1,3 . . 2,1 2,2 2,3 . . 3,1 3,2 . itd. Niestety nie wyświetla kombinacji bez powtórzeń. Delay(50) po to by widzieć co po kolei wyświetla - spowolnić program na tyle byśmy widzieli na ekranie co robi. Z tego powodu zdecydowałam się na delay. |
2010-04-23 (13:39) KURKA Data rejestracji: 2009-01-23 00:00:00 Ilość postów: 2551 | wpis nr 315 219 [ CZCIONKA MONOSPACE ] Gdy dodamy trzecią , czwartą i piątą pętle : for a:=1 to 42 do begin for b:=1 to 42 do begin for c:=1 to 42 do begin for d:=1 to 42 do begin for e:=1 to 42 do begin end; end; end; end; end; end; program będzie wyświetlał : 1,1,1,1,1,1 1,1,1,1,1,2 1,1,1,1,1,3 itd. Musimy nieco zmienić . I jescze errata : writeln(a,\',\',b); by wyświetlił : 1,2 a nie 12 między a i b musi być przecinek w apostrofie (a , \' , \' , b); |
2010-04-23 (13:46) KURKA Data rejestracji: 2009-01-23 00:00:00 Ilość postów: 2551 | wpis nr 315 224 [ CZCIONKA MONOSPACE ] Aby program wyświetlał kombinacje bez powtórzeń musimy zrobić tak by \"a\" zmieniało się od 1 do 38 \"b\" zmienia się od 2 do 39 \"c\" zmienia się od 3 do 40 \"d\" od 4 do 41 \"e\" od 5 do 42 for a:=1 to 38 do begin for b:=2 to 39 do begin for c:=3 to 40 do begin for d:=4 to 41 do begin for e:=5 to 42 do begin end; end; end; end; end; end; Ale jak zobaczycie nadal nie będzie prawidłowo. Myślę że teraz na tym zakończymy , i musimy przejść do obsługi kompilatora, ktorego jeszcze nie mamy. |
2010-04-23 (13:53) 777ch Data rejestracji: 2005-11-07 00:00:00 Ilość postów: 21728 | wpis nr 315 226 [ CZCIONKA MONOSPACE ] Marriusz2 > bo każdego pouczasz , ja nie napisałem ,że nic od Ciebie nie skorzystałem, WPISY MERYTORYCZNE TO CO INNEGO, a co innego POUCZANIE ....... i przywoływanie mojego nicku , leo to, leo tamto .... czy ja w swoich postach piszę Mariusz to,Mariusz tamto... WEŹ TY SIĘ ODCZEP ....... Permanentnie przeginasz pałę , stosując wobec inteligentnych osób, które mają ochotę coś ..... napisać, demonstrację jakiejś .....wiedzy ,która jest WYZNACZNIKIEM >PRAWDY, a prawda jest naga ........ i zupełnie inna niż ci się wydaje, bo PRIMO nie jest ....... jedna , prawd jest wiele. Tak jak ......kłamstw. |
2010-04-23 (14:02) KURKA Data rejestracji: 2009-01-23 00:00:00 Ilość postów: 2551 | wpis nr 315 228 [ CZCIONKA MONOSPACE ] Nie mam kompilatora jeszcze , ale kolega ze szkoły ma mi przesłać więc jak będę mieć to dam link i sama też go sobie zainstaluje by nie było wpadek z średnikami, przecinkami , składnią . Myślę , że za godzinę lub dwie będzie link do kompilatora. |
2010-04-23 (14:40) Marco1972 Data rejestracji: 2009-03-22 00:00:00 Ilość postów: 481 | wpis nr 315 240 [ CZCIONKA MONOSPACE ] To tylko opisze wyjaśnienie odnośnie tych pętli, należy rozumować tak: wykonuj pętle ze zmienną e w pętli za zmienną d, całość w pętli ze zmienną c, całość w pętli ze zmienną b, całość w pętli ze zmienną a. W turbo pascalu stosuje się wcięcia w celu łatwiejszego odczytywania programu, ja stosuję trzy spacje jako wcięcie, niestety, tu przy wklejaniu jakoś je zjada i słabo przez to widać. Ale można umówić się, że ciąg znaków dla przykładu qqq oznacza trzy spacje i wówczas wyglądało by to tak: for a:=1 to 42 do qqq for b:=1 to 42 do qqq qqq for c:=1 to 42 do qqq qqq qqq for d:=1 to 42 do qqq qqq qqq qqq for e:=1 to 42 do qqq qqq qqq qqq begin qqq qqq qqq qqq qqq writeln(a,\',\',b,\',\',c,\',\',d,\',\',e); qqq qqq qqq qqq qqq delay(50); qqq qqq qqq qqq end; |
2010-04-23 (14:50) KURKA Data rejestracji: 2009-01-23 00:00:00 Ilość postów: 2551 | wpis nr 315 247 [ CZCIONKA MONOSPACE ] Myślę że zrobię screna i wtedy będzie widać wcięcia i po co one są. Teraz plik : http://www.wrzuc.to/dy8vBVEaW.wt należy pobrać i zainstalować, domyślnie instaluje się na \"C:\\FPC\\2.2.4\" |
2010-04-23 (15:05) Marco1972 Data rejestracji: 2009-03-22 00:00:00 Ilość postów: 481 | wpis nr 315 256 [ CZCIONKA MONOSPACE ] W pętli for po słowie do jeżeli występuje jedna instrukcja nie musimy pisać begin i end, tą jedną instrukcją może być oczywiście następna instrukcja for, i jeżeli po słowie do występuje więcej niż jedna instrukcja, wówczas należy zamknąć je słowami begin i end; W praktyce jednak lepiej od razu pisać begin i end, nawet gdy mamy tylko jedną instrukcję, pisanie programu, to przecież ciągła jego modyfikacja, w każdej chwili możemy chcieć powtarzać więcej niż jedną instrukcję, a instrukcja for bez słów begin i end powtórzy tylko jedną instrukcję, to błąd, który zwłaszcza początkującej osobie trudno wykryć. |
2010-04-23 (15:23) KURKA Data rejestracji: 2009-01-23 00:00:00 Ilość postów: 2551 | wpis nr 315 259 [ CZCIONKA MONOSPACE ] Marco musimy ograniczyć się do minimum. Oczywiście twe uwagi są bardzo przydatne. Chcę zrobić ten programik tak by nie zniechęcić zbyt dużą ilością informacji. Na początek to w sumie jest nawet dość skomplikowany programik. http://www.wrzuc.to/5UOQ0xeGRH.wt tak to na razie wygląda. by uruchomić go naciskamy na pasku \"run\" i ponownie w rozwinięciu \"Run\". będzie chodził powoli ponieważ delay(50) spowalnia go. by przerwać naciskamy \"break\" na klawiaturze. zapisujemy : File >> Save Później dodamy : \"clrscr\" - to znaczy \"wyczyść ekran\", by było przejrzyście na ekranie , ale tym głowy sobie nie zawracać. Dalej dodamy \" |
2010-04-23 (18:39) Marco1972 Data rejestracji: 2009-03-22 00:00:00 Ilość postów: 481 | wpis nr 315 310 [ CZCIONKA MONOSPACE ] Dla ścisłości, aby program wyświetlał kombinacje bez powtórzeń program powinien wyglądać tak: ( oczywiście qqq oznacza trzy spacje jako wcięcia) program minilotto; uses crt; var a,b,c,d,e:byte; begin qqq writeln(\'proram wyświetla kombinacje w minilotto\'); qqq for a:=1 to 38 do qqq qqq for b:=a+1 to 39 do qqq qqq qqq for c:=b+1 to 40 do qqq qqq qqq qqq for d:=c+1 to 41 do qqq qqq qqq qqq qqq for e:=d+1 to 42 do qqq qqq qqq qqq qqq begin qqq qqq qqq qqq qqq qqq writeln(a,\',\',b,\',\',c,\',\',d,\',\',e); qqq qqq qqq qqq qqq qqq delay(50); qqq qqq qqq qqq qqq end; qqq writeln(\'Dalej dowolny klawisz\'); qqq repeat until keypressed; qqq clrscr; end. Pętle for oprócz pierwszej działają od wartości następnej z poprzedniej pętli for, w ten sposób pozbywamy się kombinacji z powtórzeniami. |
| Dodaj wpis w tym temacie | Spis tematów | Wyniki lotto | Strona: 1 2 3 ... 30 31 Wyślij wiadomość do admina |