Program liczący sumę podanych liczb a kończy sumować gdy natrafi na 0

0

Cześć,
Mam za Prace domową do szkoły napisać program, który:

np.: jest parę liczb 4 8 2 5 12 51 234 213 0 42 21 4212
Sumuje te liczby które są, aż natrafi na liczbę 0
Resztę pomija i nic z nią nie robi.

Bardzo proszę o pomoc :)

0

a dokładnie jaką pomoc?

0
madmike napisał(a):

a dokładnie jaką pomoc?

No chodzi mi czy ktoś mógłby taki prosty program napisać bo ja zielony jestem w tym :/

3

ode mnie masz wsparcie duchowe i link do kursu pascala:
http://www.pascal.eu.org/

0

http://bit.ly/14dI0EF
Nie prościej było w ten sposób? IMO mniej klikania niż na forum. Potem skorzystaj z tego czym się myśli i zrób z zawartości tego linka użytek.

0

Dobra więc może tak:

uses
  crt;
var
  max, a: Integer;
begin
  max:=0;

  repeat
    write('Podaj wartosc liczby :');readln(a);
    if max<a then max:=a;
  until a=0;

  Writeln('Maxymalna liczba to ',max);
  readln;
end.

Ten program pokazuje największą liczbę z tych co napisze a chce żeby zamiast pokazywania największej z wypisanych, sumował te co napisałem wcześniej (oczywiście przestaje sumować i pokazuje wynik gdy wpisze 0)

Mógłby ktoś pomóc?

0

no...

1. suma = 0
2. powtarzaj:
    a. wprowadź liczbę
    b. dodaj liczbę do sumy
3. dopóki liczba nie będzie zerem
4. wypisz sumę

teraz już łatwo będzie przerobić... nie ma za co :P

0

@madmike

thx wielkie :D

0

No nic dodać, nic ująć - koledzy udzielili wsparcia "duchowego" oraz poratowali linkiem do Google, więc cóż można jeszcze dopisać :]

Jako sumę wybierz typ liczby całkowitej indeksowanej od 0 lub jakiejkolwiek innej, jeśli potrzebujesz także sumować liczby ujemne - czyli np. Integer lub mniejsza, jeśli nie potrzeba Ci dodawać dużych liczb; Wykorzystaj pętlę Repeat, wcześniej zerując sumę; W pętli pobieraj liczbę do zmiennej pomocniczej za pomocą Readln i dodawaj ją do sumy, a pętlę zakończ jeśli zmienna pomocnicza jest równa 0; W pętli po wprowadzeniu liczby z klawiatury nie musisz mieć warunku sprawdzającego, czy wprowadzona liczba jest równa 0, bo jeśli do sumy dodasz to 0 to i tak wynik się nie zmieni; Warunek by się przydał, jeśli pętla ma być przerywana po podaniu liczby różnej od 0; Na koniec wypisz wymaluj wynik i zakończ program;

Tyle ode mnie, jeśli czegoś dalej nie rozumiesz to czas najwyższy przeczytać jakikolwiek kurs programowania w pascalu;


W przypadku, gdy program ma czytać liczby z pliku (wszystkie podane przez Ciebie są w jednej linii w pliku) musisz otworzyć ten plik do odczytu (procedura Reset), następnie w pętli wczytywać do zmiennej liczbę procedurą Read (koniecznie Read!) i dodawać do sumy; W tym wypadku lepiej będzie wykorzsytać pętlę While - przed pętlą należy wyzerować zmienną sumy oraz ustawić wartość zmiennej pomocniczej różną od zera; Pętla ma działać dotąd, aż nie napotka na koniec pliku oraz zmienna pomocnicza jest równa 0 (wykorzystaj zanegowaną funkcję Eof oraz operator And do łaczenia warunków); Na koniec wypisz wynik i gotowe.

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