Komputerowe Forum Dyskusyjne
komputery software hardware programowanie sieci

∑ temat został odczytany 4852 razy ¬




ZAREJESTRUJ SIĘ I ZALOGUJ NA FORUM, TO NIC NIE KOSZTUJE!
PO ZALOGOWANIU BĘDZIESZ MÓGŁ ZOBACZYĆ WYPOWIEDZI SPECJALISTÓW I WYŁĄCZYĆ REKLAMY

KOMPUTERY | Programowanie
PASCAL program sumujący liczby prarzyste 
Wyślij odpowiedź [powiadom znajomego]    
Autor "PASCAL program sumujący liczby prarzyste"   
 
młody.18
 Wysłana - 8 listopad 2006 22:49        | zgłoś naruszenie regulaminu

Witam jestem na 1 roku informatyki i mam problem z programem który musi robic następujace rzeczy:
-zsumowac kilka kolejno wprowadzonych liczb
-zsumowac tylko liczby parzyste
-zsumowac liczby nieparzyste
-wyswietlic ilosc liczb parzystych i nieparzystych

Z góry dziekuje za pomoc

 
Krzynio_85
 Wysłana - 8 listopad 2006 23:28      [zgłoszenie naruszenia]

1) Robisz jakas petle np. repeat-until, w ktorej zczytujesz kolejno liczby (readln(liczba);) a nastepnie dodajesz je do siebie (suma:=suma+liczba) tak dlugo az np. zostanie wprowadzone 0 (zero). Potem wystarczy juz tylko wyswietlic sume.
2) To samo co w 1 tyle ze dodajesz tylko liczby parzyste, czyli takie ktorych reszta z dzielenia przez 2 rowna sie 0 (zero) - if (liczba mod 2=0) then suma:=suma+liczba;
3) Analogicznie do 2...
4) Liczysz ilosc wystapien parzystych i nieparzystych tzn. gdy liczba jest parzysta to po dodaniu jej do "sumy" dokladasz jeszcze parzyste:=parzyste+1; (analogicznie nieparzyste)
_______________________________
 
[http://www.elenet.com.pl]

Znawca -
 
kortyg
 Wysłana - 9 listopad 2006 09:21      [zgłoszenie naruszenia]

Zamiast wpisywać,program losuje liczby.
uses crt;
var tab:array[1..20]of integer;
tab_np:array[ 1..20 ]of integer;
tab_p:array[ 1..20 ]of integer;
i,j,k,suma_p,suma_np:integer;
begin
j:=1;k:=1;suma_p:=0;suma_np:=0;
clrscr;
Randomize;
for i:=1 to 20 do
begin
tab[ i ]:= Random(100);
if tab[ i ] mod 2=0 then begin tab_p[ j ]:=tab[ i ];j:=j+1;end
else begin tab_np[ k ]:=tab[ i ];k:=k+1;end;
end;
writeln('zawartosc tablicy:');
for i:=1 to 20 do
write(tab[ i ],' ');writeln;
writeln('liczby parzyste');
for i:=1 to j-1 do
begin
write(tab_p[ i ],' ');
suma_p:=suma_p+tab_p[ i ];
end;;writeln;
writeln('liczby nieparzyste');
for i:=1 to k-1 do
begin
write(tab_np[ i ],' ');
suma_np:=suma_np+tab_np[ i ];
end; ;writeln;
writeln('suma parzystych= ',suma_p);
writeln('suma nieparzystych= ',suma_np);
readkey;
end.

_______________________________
 
Ed

Znawca -
 
młody.18
 Wysłana - 9 listopad 2006 15:25      [zgłoszenie naruszenia]

hej wielkie dzieki!!! Biore sie za pisanie!!

 
młody.18
 Wysłana - 9 listopad 2006 22:36      [zgłoszenie naruszenia]

hej
napisalem jak narazie tylko pierwsza czesc taka która sumuje 5 kolejnych liczb i nie wiem jak dalej pomuzcie bo zwariuje

Program zajeciaa
Uses Crt;
Var
x : Real; //LICZBA PODANA PRZEZ UZYTKOWNIKA
i : Byte; //ZMIENNA STERUJACA PETLA
suma : Real; //SUMA PODAWANYCH LICZB
BEGIN
Textcolor(white);
WriteLn('Liczy sume 5 liczb.');
suma := 0;
For i:=1 To 5 Do
begin
Write('Podaj liczbe ',i,':');
ReadLn(x);
suma := suma + x;
end;
WriteLn('Suma liczb = ',suma:0:2);
Readln
END

 
xitami
 Wysłana - 9 listopad 2006 23:51      [zgłoszenie naruszenia]

A co to znaczy kilku?
Można umówić się, że:
1 zero oznacza koniec,
2 po pierwsze program pyta ile będzie tych liczb
3 czytamy aż do eof (Ctrl-Z)
4 po wprowadzeniu kolejnej, za każdym razem pokazujemy wyniki
Od tego zależy także skąd będziemy wiedzieli ile było liczb.

Widzę, że sumę potrafisz liczyć, Kortyg pokazał ci kiedy należy powiększyć zmienną SUMA_P (suma liczb parzystych)
W programie Kortyga zbędna jest zmienna SUMA_NP., bo przecie SUMA-SUMA_P=...
Trzeba dodać jeszcze licznik liczb parzystych.

 
miszcz0
 Wysłana - 13 listopad 2006 23:52      [zgłoszenie naruszenia]

pomine tutaj deklaracje zmiennych i to co koledzy napisali, masz to wziac pod uwage i dostosowac do swojego programu:
-pytasz sie ile liczb
write('podaj ilosc liczb');
wczytujesz ilosc liczb:
readln(ilosc); -ilosc nazwa zmiennej
wczytujemy z klawiatury liczby po kolei
zerujemy liczniki ilosc liczb parzystych i nieparzystych oraz ich sumy:
iloscp:=0;
iloscn:=0;
suma:=0;
sumap:=0;
suman:=0;
for i:=1 to ilosc do
begin
writeln('podaj liczbe o indeksie[',i,']=');
readln(liczba );
suma:=suma+liczba ;
if (liczba mod 2=0) then begin
iloscp:=iloscp+1
sumap:=sumap+liczba ;
end
else begin
iloscn:=iloscn+1
suman:=suman+liczba ;
end
end;
i teraz jak chcesz wyswietlic to we write lub writeln wypisujesz poszczegolne zmienne:
suma - liczy sume wszystkich liczb wprowadzonych z klawiatury
sumap- suma parzystych
suman- suma nieparzystych
iloscp - ilosc parzystych liczb
iloscn - ilosc np liczb

chyba proste?
_______________________________
 

...xXx...
______________________
...ino ano tej ze hej ok!...

 
młody.18
 Wysłana - 14 listopad 2006 17:52       [zgłoszenie naruszenia]

Proste?powiem tylko tyle -biore sie za nauke

[Powiadom mnie, jeśli ktoś odpowie na ten artykuł.]



 
Przegląd tygodnia | Wyślij odpowiedź

PASCAL program sumujący liczby prarzyste