Zadanie jest następujące:
Napisz prościutki program
1^+2^+3^+...+k^ ( ^ -kwadrat )
który będzie sumował te wartości.
Napisałem coś takiego, ale wychodzi z tego, że coś jest zwalone lub czegoś brakuje bo źle liczy.(np.1^+...+10^ powinno wyjśc 385 a on wylicza 371) Kto poprawi ewentualnie dopisze prakujące linie?
Ja mam napisane w tym programie do until k>=10 czyli 1^+2^+3^+..+10^ bo nie wiem jaką inną wartość mógłbym wpisać aby wykonać poprawnie to zadanie z k^.
Jest to programowane w Turbo Pascalu.
...............................................................................................................
program jak_to_zrobic;
uses crt;
var
suma:integer;
k:integer;
begin
clrscr;
suma:=0;
k:=0;
repeat
k:=k+1;
k:=sqr(1-2*k);
suma:=suma+k;
until k>=10;
write('suma wynosi= ', suma);
readln;
end.
Program sumujący. Czego w nim brakuje???
-
- Użytkownik
- Posty: 845
- Rejestracja: 2 kwie 2006, o 23:32
- Płeć: Mężczyzna
- Lokalizacja: Limanowa
- Pomógł: 191 razy
Program sumujący. Czego w nim brakuje???
zmieniłbym część międze repeat a until:
Kod: Zaznacz cały
repeat
k:=k+1;
suma:=suma+k*k;
until k=10;
-
- Użytkownik
- Posty: 70
- Rejestracja: 21 paź 2006, o 23:07
- Płeć: Mężczyzna
- Lokalizacja: krosno
- Podziękował: 5 razy
- Pomógł: 11 razy
Program sumujący. Czego w nim brakuje???
wedlug mnie musisz zadeklarować k jako zmienną która podaje urzytkowanik podczas działania programu
ja bym wprowadzi takie zmiany|:
uses crt;
var
suma:integer;
k, n, z:integer; //wprowadzilem zmienna n do sprawdzania pętli repeat
begin
clrscr;
suma:=0;
writeln('podaj k'); //tu dodalem kawalek ktory pyta o k i przypisuje do zmiennej
read(k);
repeat
z:=z+1;
n:=z; //tutaj też zmieniłem trochę, zmienna n teraz oblicza a z sluży do
n:=sqr(n); sprawdzania pętli; n:=z gwarantuje ze n bedzie kolejna liczba
suma:=suma+n;
until k=z;
write('suma wynosi= ', suma);
readln;
end.
ja bym wprowadzi takie zmiany|:
uses crt;
var
suma:integer;
k, n, z:integer; //wprowadzilem zmienna n do sprawdzania pętli repeat
begin
clrscr;
suma:=0;
writeln('podaj k'); //tu dodalem kawalek ktory pyta o k i przypisuje do zmiennej
read(k);
repeat
z:=z+1;
n:=z; //tutaj też zmieniłem trochę, zmienna n teraz oblicza a z sluży do
n:=sqr(n); sprawdzania pętli; n:=z gwarantuje ze n bedzie kolejna liczba
suma:=suma+n;
until k=z;
write('suma wynosi= ', suma);
readln;
end.
- Sokół
- Użytkownik
- Posty: 451
- Rejestracja: 17 wrz 2006, o 19:22
- Płeć: Mężczyzna
- Lokalizacja: Zielona Góra
- Podziękował: 15 razy
- Pomógł: 55 razy
Program sumujący. Czego w nim brakuje???
to niech program spyta uzytkownika ile ma byc k. A tak w ogole to ja bym skorzystal z takiego wzoru na sume skonczona:Casey pisze:Ja mam napisane w tym programie do until k>=10 czyli 1^+2^+3^+..+10^ bo nie wiem jaką inną wartość mógłbym wpisać aby wykonać poprawnie to zadanie z k^.
\(\displaystyle{ 1^{2}+2^{2}+3^{2}+4^{2}+...+k^{2}= \frac{k(k+1)*(2k+1)}{6}}\)