Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 2.305 pregleda

Najnovija ↓

Problem sa zadatkom u Pascalu 03.11.2010. u 23:18 · pre 194 meseca #1
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.


Re: Problem sa zadatkom u Pascalu 04.11.2010. u 00:58 · pre 194 meseca #2
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.
Re: Problem sa zadatkom u Pascalu 04.11.2010. u 11:01 · pre 194 meseca #3
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
Re: Problem sa zadatkom u Pascalu 04.11.2010. u 13:14 · pre 194 meseca #5
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
Re: Problem sa zadatkom u Pascalu 04.11.2010. u 18:04 · pre 194 meseca #6
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.
Re: Problem sa zadatkom u Pascalu 04.11.2010. u 19:27 · pre 194 meseca #7
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
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme