struss [ Legionista ]
Turbo Pascal
Witam, uczę się programować w turbo pascal i tak, jestem noobem :P
Mam zadanko żeby wczytać i zsumować 10 pierwszych liczb dodatnich (ujemne pominąć).
Myślę, myślę i nie mogę wymyślić jakiej pętli użyć i jak to napisać żeby wczytało 10 pierwszych dodatnich. Jak na razie wymyśliłem żeby użyć 3 zmiennych:
suma - będzie trzymać zsumowane wartości
a - będzie wczytywaną liczbą dodawaną do sumy
b - będzie ogranicznikiem "że 10 pierwszych dodatnich" tylko za bardzo nie wiem jak ją wpleść w pętle.
Pomoże ktoś :)??
Mipari [ Generaďż˝ ]
Użyj pętli Repeat...Until
a:=1
b:=0;
REPEAT
b:=b+a;
a:=a+1
UNTIL b=10;
Kane [ bladesinger ]
ogolnie Mipari nie zrozumial posta wiec jego kod jest raczej nic nie warty...
dawno nic nie pisalem w pascalu wiec moge miec jakies drobne bledy skladni ale chyba powinno byc dobrze:
a- wczytana liczba
c- suma
b- licznik
a:=0;b:=0;c:=0;
repeat
write ('podaj liczbe');
readln (a);
if a>0 then c:=c+a;
b:=b+1;
until b=10;
writeln('suma pierwszych dziesiecu dodatnich liczb',c);
edit: Tymbarkus - pytanie nie jest dokonca jasne co che osiagnac wiec w sumie nie wiadomo jak to ma byc:)
Tymbarkus [ Konsul ]
Nie doczytalem, nvm
struss [ Legionista ]
Kane->chyba dobrze zaraz to sprawdzę i napiszę czy działa.
struss [ Legionista ]
Niestety nie działa bo on po prostu dodaje tylko dodatnie liczby, ujemne pomija (czyli na razie ok) ale wykonuje pętle 10 razy i koniec czyli jak wpiszę: -1,-1,-1,-1,-1,-1,-1,-1,-1,5 to wyświetli wynik 5. A pętla powinna powtarzać się dotąd aż nie wczyta 10 liczb dodatnich czyli np. wklepuję:
2
-43
-49
5
7
6
-9
40
1
8
-100
2
7
-7
8
[koniec petli bo wpisałem 10 dodatnich liczb]
I teraz program ma dodać i wyświetlić sumę (2+5+7+6+40+1+8+2+7+8)=86
Regis [ ]
To zwiekszaj licznik petli tylko dla liczb dodatnich
struss [ Legionista ]
Ehh w końcu mi się udało to zrobić :)
Ale spokojnie bo mam jeszcze 2 zadanka i jak sobie nie poradzę to napisze :P
A obok screen z rozwiązaniem.