Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa zadatkom u Pascalu

[es] :: Pascal / Delphi / Kylix :: Problem sa zadatkom u Pascalu

[ Pregleda: 1659 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

febro
Veleučilište Velika Gorica

Član broj: 272170
Poruke: 4
*.adsl.net.t-com.hr.



Profil

icon Problem sa zadatkom u Pascalu03.11.2010. u 22:18 - pre 164 meseci
Pozdrav !
Dobili smo zadatak da racunamo vrijednost x ako imamo zadane parametre :

f(x) = { x+10 ; x > 100
{ f(x+10) ; x <= 100
Ako je x manji od 100, dodaje mu se vrijednost sve dok mu se njegova konačna vrijednost ne popne iznad 100 i onda se ispisuje rezulat, a ako je x veci od 100, dodaje mu se samo 10.
Napravio sam program s ponavljanjem koji to izracunava i tocan je, ali zadatak koji smo nakon toga dobili jeste da napravimo taj isti program BEZ koristenja ponavljanja i naredbi grananja.
Uglavnom, nemam uopće ideju kako započeti, kojim načinom to uopće riješiti, pa bih zamolio nekog iskusnijeg programera da mi da neke smjernice :)


P.S.
Zadatak koji sam napisao izgleda ovako :

Code:
PROGRAM pilasta_funkcija ;
USES    crt;
VAR     x,y: real;
LABEL   A,B;

BEGIN
ClrScr;
       WriteLn('Unesi broj x ');
       Write('X:',' ');
         ReadLn(x);

        IF x > 100 THEN BEGIN
B:        y:=x+10;
          WriteLn('                   ');
          Write('Rijesenje =  ', y:0:2);
        END;

       IF x <= 100 THEN BEGIN
A:        x:=x+10;
           IF x<=100 THEN GOTO A;
           IF x>100  THEN GOTO B;
        WriteLn('                    ');
        Write  ('Rijesenje = ', x:0:2);
       END;
      ReadLn
END.


 
Odgovor na temu

Picsel
Beograd

Član broj: 39817
Poruke: 440
95.180.86.*



+7 Profil

icon Re: Problem sa zadatkom u Pascalu03.11.2010. u 23:58 - pre 164 meseci
Cudno, ali evo resenja
Code:
var x,y:real;
begin
Write('Unesi broj x: ');
Readln(x);
y:=ord(x<100)*(110+(trunc(x) mod 10)+x-trunc(x))+ord(x>=100)*(x+10);
Write('Resenje = ',y:0:2);
Readln;
end.
 
Odgovor na temu

febro
Veleučilište Velika Gorica

Član broj: 272170
Poruke: 4
*.adsl.net.t-com.hr.



Profil

icon Re: Problem sa zadatkom u Pascalu04.11.2010. u 10:01 - pre 164 meseci
Citat:
Picsel: Cudno, ali evo resenja
Code:
var x,y:real;
begin
Write('Unesi broj x: ');
Readln(x);
y:=ord(x<100)*(110+(trunc(x) mod 10)+x-trunc(x))+ord(x>=100)*(x+10);
Write('Resenje = ',y:0:2);
Readln;
end.


OK, svaka čast :D
Jel mi možeš malo pojasniti koji ti je bio pristup, jer ne kuzim baš iz ovoga što si radio XD
funkcija "ord" mi nije bas jasna :D
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Problem sa zadatkom u Pascalu04.11.2010. u 11:56 - pre 164 meseci
Evo :)
F
 
Odgovor na temu

febro
Veleučilište Velika Gorica

Član broj: 272170
Poruke: 4
*.adsl.net.t-com.hr.



Profil

icon Re: Problem sa zadatkom u Pascalu04.11.2010. u 12:14 - pre 164 meseci
XD
Znaci sa "ord" je dobio trenutnu vrijednost (poziciju) X-a.
OK , sad kuzim, al mi jos uvijek nije jasan ovaj dio iza prvog "ord"-a

Code:
(110+(trunc(x) mod 10)+x-trunc(x))


ne vidim matematički smisao zbrajanja 110 sa modom decimalnog dijela x-a
:S

ili sam jednostavno glup XD

ako tko zna, molio bih ga da mi malo pojasni :P
 
Odgovor na temu

Picsel
Beograd

Član broj: 39817
Poruke: 440
95.180.86.*



+7 Profil

icon Re: Problem sa zadatkom u Pascalu04.11.2010. u 17:04 - pre 164 meseci
Trunc daje ceo deo broja x. Trunc(123.456)=123
Mod 10 je poslednja cifra broja x pre tacke.
x-trunc(x) je deo nakon decimalne tacke.
 
Odgovor na temu

febro
Veleučilište Velika Gorica

Član broj: 272170
Poruke: 4
*.adsl.net.t-com.hr.



Profil

icon Re: Problem sa zadatkom u Pascalu04.11.2010. u 18:27 - pre 164 meseci
Citat:
Picsel: Trunc daje ceo deo broja x. Trunc(123.456)=123
Mod 10 je poslednja cifra broja x pre tacke.
x-trunc(x) je deo nakon decimalne tacke.


sad mi je jasno :)
Hvala na pomoći
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Problem sa zadatkom u Pascalu

[ Pregleda: 1659 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.