matematykaszkolna.pl
Delphi :( Jack: for j:=2 to j<=i/2 + 1 do begin if (i div j = 0) then begin j := j + 1; end; dlaczego blad jest we fragmencie na czerwono i jak go usunac?emotka Musze zrobic projekt i nwm nawet czemu cos nie dziala. Jest to Delphi (podobny do object Pascala)
8 lis 02:05
Saizou : Bo modyfikujesz zmienna sterująca pętle
8 lis 07:55
Jack: No bo w C tak moge odrazu... To jak moge to zmienic bo naprawde nie mam pomyslu.
8 lis 08:08
Jack: Naprawde pilneemotka
8 lis 08:13
jc: j samo się zmieni.
8 lis 08:17
jc: Czy nie powinno być zwyczajnie? for j:=2 to i/2 do Nie jestem pewny, czy możesz napisać i/2. Jak będzie źle, wpisz i div 2. http://4programmers.net/Delphi/Sk%C5%82adnia_j%C4%99zyka/P%C4%99tle A więc jednak Delphi emotka
8 lis 08:25
Jack: @jc A niechcialbys zerknac na moj program? Jako ze to obiektowy to wraz z tym co "zbudowalem" Np. Jk bym na maila wyslal
8 lis 08:31
Jack: jak usunalem j:=j+1; to mi znaduje blad w tym forze. for j:=2 to j<=i/2 + 1 do Error : Incompatible types : gpt"Boolean" expected "LongInt" jednakze tuz przed tym mam var i,j :Integer wiec jak dostal boolean?
8 lis 08:39
Jack: przy czym glownie zaznacza ten znak <= co tu jest nie tak?
8 lis 08:43
PW: No bo wyrażenie "j <=i/2+1" jest wyrażeniem logicznym, a nie liczbą.
8 lis 08:51
Saizou : a co te programik ma robić ?
8 lis 08:54
Saizou : W Pascalu to pewnie nie działa, bo to "dobrze" zrobiony język, a nie tak jak C czy C++, gdzie chodziło głównie o to, żeby mieć jak najwięcej użytecznych opcji (to co było potrzebne dodawało się na bieżąco).
8 lis 08:56
jc: Napisz tak: for j:=2 to i div 2 do begin ... end We wcześniejszym wpisie zamieściłem link do opisu pętli. Delphi pewnie tak, jak Pascal, bardzo pilnuje typów. Więc na wszelki wypadek zmieniłem dzielenie / na dzielenie całkowite div. Na Delphi się nie znam, ale zaczynałem od Pascala. Coś mi w pamięci zostało.
8 lis 08:57
PW: W niektórych językach funkcjonuje pętla typu WHILE (wyrażenie logiczne) DO (....) END pewnie o czymś takim myślałeś.
8 lis 09:01
Jack: Zmienilem tak jak napisal jc i teraz error jest,ze "got "Double" expected "LongInt" oco mu chodzi ?
8 lis 09:06
Jack: jc, Saizou, ma ktos z was gg albo cos w tym stylu?
8 lis 09:07
jc: Pomieszałeś typy. Pokaż większy fragment programu.
8 lis 09:08
Saizou : W Pacalu są trzy pętle (z tego co ja wiem) for , while, repeat
8 lis 09:10
Jack: jak wypisac cos w delphi? chcialbym zeby mi wypisalo semiprime[i] , semiprime[i+1] .
8 lis 23:23
Mariusz: jc ma rację j jest zmienną sterującą pętlą i samo się zmieni (to rosnąco, downto malejąco) Zmienna sterująca może być typem całkowitym, znakowym, logicznym ... (tzw typem porządkowym) Do dzielenia całkowitego używaj div Reszta z dzielenia to mod
9 lis 06:12
Mariusz: uses crt; function isprime(n:longint):boolean; var i:longint; b:boolean; begin b:=(n>1); i:=2; while((b) and (i<n)) do begin b:=b and (n mod i<>0); i:=i+1; end; isprime:=b; end; var j,n:longint; esc:char; begin clrscr; repeat write('Podaj przedzial'); readln(n); for j:=1 to n do writeln('Liczba', j,'czy pierwsza ',isprime(j)); esc:=readkey; until esc=#27; end.
9 lis 07:49