programowanie
j:
Witam mam do napisania program który wyświetli liczby dwucyfrowe których reszta z dzielenia
przez 4 wynosi 3 oraz program obliczy sumę tych liczb. Więc tak:
var
i,suma:integer;
begin{program glowny}
for i:=11 to 99 do
begin
if i mod 4=3 then
writeln(i);
end;
ten fragment z wyswietlaniem tych liczb mam ale mam problem z tą sumą wydaje mi sie ze trzeba
by tu uzyc tzn utworzyc tablice z tych liczb i policzyc sume elementow tej tablicy?
30 sty 19:21
wmboczek: bez tablicy
suma=0
for i=10 to 99
if i mod 4=3 then
writeln(i);
suma=suma+i
eddif
30 sty 19:24
j:
Aha na to nie wpadłem a powiedz mi dlaczego zle mi on liczy te sume:
program Untitled;
var
i,suma:integer;
begin{program glowny}
suma:=0;
for i:=11 to 99 do
begin{instrukcja wykonywana w pętli}
if i mod 4=3 then
writeln(i);
suma:=suma+i;
end;
writeln('suma:',suma);
readln;
end.
Bo policzyłem z ciągu arytmetycznego ze ta suma to 1265 a program liczy ze 4895
30 sty 19:34
wmboczek: Wydaje się OK
Zobacz, jakie masz wyniki cząstkowe może to cię naprowadzi
Generalnie wynik zliczania powinien być typu rzeczywistego − jeśli typ integer jest jakoś mocno
ograniczony (np. do 1024) to wyjdą bzdury po przekroczeniu zakresu
30 sty 19:44
j:
Hmm tez juz o tym myslałęm ale typ integer jest to po prostu 4−bajtowa liczba całkowita ze
znakiem w kodzie U2 pobawie sie tym jeszcze sprobuje w c++ zobaczyc jak to działa
30 sty 19:52
Sławek:
if i mod 4=3 then
begin
writeln(i);
suma:=suma+i;
end;
end;
30 sty 19:52