Kronos Posted May 11, 2009 Report Share Posted May 11, 2009 Ja mam taki problem z Pascalem (piszę tutaj bo to temat o Pascalu) uczę się go w szkole i mam następujące zadanie: Napisać program, który w zależności od podanego przez użytkownika wieku (ilości lat) przyporządkuje go do odpowiedniej grupy wiekowej według podanej niżej skali i wyświetli odpowiedni komunikat informujący użytkownika do jakiej grupy został zaliczony (użyć instrukcji CASE..OF) powyżej 56 lat -> 'ludzie starsi' 36-55 lat -> 'ludzie w średnim wieku' 21-35 lat -> 'ludzie młodzi' 16-20 lat -> 'młodzież' 0-15 lat -> 'dzieci' Program ma działać w pętli. Odpowiedź 'T' lub 't' na pytanie: "Czy chcesz zakończyć?" kończy działanie programu. I właśnie z tą podkreśloną częścią powyższej instrukcji mam problem i kompletnie nie wiem jak to zrobić. Jest to zadanie dodatkowe na ocenę celującą, a ja pobrałem z neta kilka poradników, ale żaden mi nie pomógł. Zatem proszę was o pomoc. Napiszcie mi jakie polecenia mam wpisać w programie, aby zakończył się po wpisaniu "T" lub 't'. Pozdrawiam! Jeżeli szukasz pomocy to załóż nowy temat. Jeden problem=1 temat. Tutaj nie odpowiadamy na Twój problem, lecz autora.-mateusz(stefan) Link to comment Share on other sites More sharing options...
[Ekspert] Sergi Posted May 11, 2009 Report Share Posted May 11, 2009 Dawno w Pascalu nie robiłem, więc konstrukcja pewnie pozostawia wiele do życzenia. repeat { //instrukcje case// writeln ("Czy chcesz zakończyć?"); readln(decyzja); case (decyzja) of 't' : koniec='true'; 'T' : koniec='true'; end; } until (decyzja=true); Link to comment Share on other sites More sharing options...
Kronos Posted May 11, 2009 Author Report Share Posted May 11, 2009 Podziękował A jeszcze jedno! Czy: -15 mod 4=? 6 div 3*4=0,5? 4*4 mod 2=0? 5*(5/2)= 12,5? i ostatnie zadanie co do którego mam wątpliwości: Dany jest fragment programu: x:=0; while x<0 do x:=x-1; ile razy zostanie wykonana ta pętla? Link to comment Share on other sites More sharing options...
Alton Posted May 11, 2009 Report Share Posted May 11, 2009 Tamta pętelka ani razu się nie wykona: Program do niej dochodzi i zaczyna od sprawdzenia warunku (bo tak działa while). Ponieważ warunek nie jest spełniony (x=0, a nie x<0) to omija ją całą. Link to comment Share on other sites More sharing options...
[Ekspert] Sergi Posted May 11, 2009 Report Share Posted May 11, 2009 Jak to zadanie na szóstkę to wymagałoby chyba nieco więcej wkładu własnego, nie sądzisz? -15 mod 4= -1 (wynikiem dzielenia modulo jest reszta z dzielenia liczb całkowitych) 6 div 3*4=0,5 tak, 6/12=0.5 4*4 mod 2=0 tak, 16/2=8 r.0 5*(5/2)=12.5 tak, 5*2.5=12.5 Link to comment Share on other sites More sharing options...
Kronos Posted May 11, 2009 Author Report Share Posted May 11, 2009 Podziękował Segi w Tym co mi napisałeś w poprzednim pości są błędy. Bd z tym kombinował dalej Link to comment Share on other sites More sharing options...