Zadanie suma kwadratów/ sprawdzenie

stinky91
2012-05-09 13:41
stinky91
0

mógłby ktoś sprawdzić czy to zadanie bedzie dobrze ?

Zbuduj program w języku Pascal, który dla zadanych liczb naturalnych n i m (n<m) oblicza sumę kwadratów wszystkich liczb naturalnych od n i m . Wykorzystać instrukcję for...do .

var
suma,n,m,i:integer;

begin
suma:=0;
readln(n,m);
for i := n to m do

begin
suma := suma + (i *i);
end;
write('Suma kwadratow liczb z przedziału od ',n,' do ',m,' = ',suma);
end.

Znaczniki przydały by się... no i formatowanie kodu... - furious programming 2012-05-09 15:36

Pozostało 580 znaków

2012-05-09 14:49

Rejestracja: 9 lat temu

Ostatnio: 7 godzin temu

0

Zamiast

begin
  suma := suma + (i*i);
end;

możesz

Inc(suma, Round(sqr(i)));

Ale poza tym dobrze, przydałoby się zrobić to idioto-odporne czyli sprawdzanie czy użytkownik wpisał liczbę i ta liczba nie jest przypadkiem zmiennoprzecinkowa albo n mniejsze od m.


edytowany 3x, ostatnio: TomRiddle, 2012-05-09 15:00
Pokaż pozostałe 2 komentarze
zapomniałem o typach. - TomRiddle 2012-05-09 15:00
Round(sqr(i)) -> jak niby z kwadratu liczby całkowitej ma wyjść liczba zmiennoprzecinkowa? - Patryk27 2012-05-09 15:01
poprawiłem, jeszcze zanim napisałeś komentarz. - TomRiddle 2012-05-09 15:03
kompletnie bez sensu. z przejrzystego, szybkiego kodu zrobiłeś potworka. po co zaprzęgać liczby rzeczywiste do prostego mnożenia dwóch liczb całkowitych? btw jeśli i*i wychodzi poza zakres, to sqr(i) też wyjdzie poza ten zakres i kod wywali się przy przypisaniu do sumy, więc sqr nie daje nic pozytywnego. - ŁF 2012-05-09 16:37

Pozostało 580 znaków

2012-05-09 14:49

Rejestracja: 15 lat temu

Ostatnio: 4 miesiące temu

0

może delikatnie zwrócić uwagę autorowi, że ma braki w matematyce?

Autorowi zadania, czy autorowi rozwiązania? Rozwiązujący nie miał wyboru: "Wykorzystać instrukcję for...do". - bogdans 2012-05-09 15:17

Pozostało 580 znaków

ŁF
2012-05-09 16:40
ŁF
Moderator

Rejestracja: 17 lat temu

Ostatnio: 17 godzin temu

0

imho program spełnia wszystkie założenia, jest prosty i przejrzysty. jedyne do czego można się przyczepić, to formatowanie:

program SumaKwadratów; // to dla oceniającego
var
  suma, n, m, i : integer;

begin
  suma := 0;
  Readln(n, m);

  for i := n to m do
  begin
    suma := suma + i * i;
  end;

  Write('Suma kwadratow liczb z przedziału od ', n, ' do ', m, ' = ', suma);
end.

edytowany 2x, ostatnio: ŁF, 2012-05-09 16:42

Pozostało 580 znaków

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0