Pascal program problem

Pascal program problem

offline
  • SSpin 
  • Saradnik foruma
  • Pridružio: 09 Dec 2004
  • Poruke: 6488
  • Gde živiš: Nis -> ***Durlan City***

Treba mi mala pomoc oko nekoliko problema
Od ove godine ucim pascal, i naravno ja nemam pojma, pa bih molio za pomoc smešak

Za pismeni nam treba zapis algoritma + program (sve radimo u svesci).

Recimo glupi primer, evo jednog zadatka :

Napisati program kojim se izracunava cena porcije sira od x grama, ako je 1kg sire 165din.

Ovako sam ja uradio, pa recite da li je dobro:

x grama -> p
1000g -> k
165din -> d

pocetak
|
p, k, d - ulazne jedinice
|
c:=d/k*p
|
c - izlazne jedinice
|
kraj

a program

Program sir;   var p, k, d:integer;   begin read(p, k, d); c:=d/k*p; write(c); end.

U resenju pise malo gluplje, ali ovo je neka moja logika, pa da znam da li moze i ovako. A ako ne, kazite mi kako da razmisljam Smile

hvala Zagrljaj



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Kad pises program, razmisljas kako bi to sam uradio i onda samo objasnis racunaru, na njegovom jeziku, kako to da uradi.

Prvo sto treba da uradis je da dobijes cenu sira za 1g... to si uradio tako sto si cenu za kg podelio sa 1000. Ostaje ti jos samo da tu cenu pomnozis sa masom sira u porciji i imas rezultat.

Ulazne promenljive su ti cena i masa porcije. Cena se uvek unosi za 1kg. Nema potrebe za promenljivom k koja ce da sadrzi 1000g.

Kod ti je skoro dobar. Cena i masa porcije ne moraju da budu celi brojevi. Bilo bi dobro da ih deklarises kao real. Nedostaje ti jedino deklaracija promenljive c u kojoj ce se nalaziti rezultat.

Da je ceo test bio samo ovaj jedan program, ja bih ti dao 3 Smile



offline
  • SSpin 
  • Saradnik foruma
  • Pridružio: 09 Dec 2004
  • Poruke: 6488
  • Gde živiš: Nis -> ***Durlan City***

Muce me ovi problemi, pokusavam da naucim pascal.



Data su dva ugla izrazena us tepenima, minutama, sekundama :(s1, m1, sec1) i (s2, m2, sec2). Napisati program kojim se odredjuje njihov zbir b) razlika.


////


napisati program kojim se izracunava povrsina i zapremina valjka, kome je R poluprecnik osnove i H visina.

///

Trougao je dat duzinama stranica a, b i uglom izmedju njih C. naci duzinu stranice c i povrsinu S datog trougla.:

c = pod korenom a^2 + b^2 - 2abcos(C)
S = pod korenom p(p-a)(p-b)(p-c)

//////////

ove nikako ne mogu da resim.
Svaka pomoc je dobro dosla smešak

offline
  • Pridružio: 13 Apr 2007
  • Poruke: 452
  • Gde živiš: Beograd

Program sir;   var s1,m1 ,sec1, s2,m2,sec2, zs,zm,zsec,  rs,rm, rsec :real;   begin read(s1,m1 ,sec1, s2,s2,sec2); zsec := (sec1 + sec2); If zsec > 60 then begin    zsec := zsec-60;    zm := zm + 1; end; zm := zm + (m1 + m2); If zm > 60 then begin    zm := zm-60;    zs := zs + 1; end; zs := zs + (s1 + s2); write(zs, zm, zsec); end.

Kolko sam shvatio ovaj prvi bi trebao da izgleda ovako...
Nisam nikada radio u Pascalu, vec u Delphiu...
Ovo ti prvi pod a, pod b uradi sam po ovom proncipu...
Ovo ostalo je cini mi se lako...
Sve radis po formuli...

Nadam se da sam bar malo pomogao...

offline
  • boris4 
  • Novi MyCity građanin
  • Pridružio: 24 Dec 2007
  • Poruke: 6

napisati program kojim se izracunava povrsina i zapremina valjka, kome je R poluprecnik osnove i H visina.

pa da probam da pomognem

V = R^2*PI*H // nadam se da ti je ovo jasno
P = 2*(R^2*PI)+(2*R*PI*H) //i ovo takodje pa sada to treba smestiti u program

Necu ti sada pisati program jer moras sam da naucis ali samo trebas da zamenis ove promenljive... PI ti je vec deklarisan sto znaci
V = sqr(R)*PI*H
P = 2*(sqr(R)*PI)+(2*R*PI*H)
(sve sto treba je da ovo napises u program posle unosenja R i H)

Nadam se da sam pomogao[/code]

Dopuna: 26 Dec 2007 0:26

pa ni ovaj poslednji nije nista posebno samo zar u zadatku ne pise da je p = (a+b+c)/3 ? (Euklidova formula)
E sada ne moze da se deklarise i C i c jer pascal negleda mala velika slova (to gledaju ovi noviji jezici: C, C++, C# itd.)
tako da ce mi ugao biti alfa,a treca stranica c

pa da krenemo

program trougao; var a,b,c,alfa,c,s,p : real; begin        readln(a,b);        readln(alfa);        c := sqrt(sqr(a)+sqr(b)-2*a*b*cos(alfa));        p := (a+b+c)/3;        s := sqrt(p*(p-a)*(p-b)*(p-c));        writeln(c:8:2);        writeln(s:8:2); end.
Nadam se da sam pomogao

offline
  • Pridružio: 04 Jun 2008
  • Poruke: 2
  • Gde živiš: Županja

heh, ja imam sličan problem... nešta mal teži ipak... uglavnom...prvu godinu učim pascal a imam poprilično glupavog profesora tak da niko nea veze s vezom... ipak ima nas par koji se kao nešta potrudimo kod kuće naučit pa me muči jedan zadatak... koi smo pisali za ocjenu pa smo svi dobili komadine... jer on ni ne želi pogleat program ak nie gotov do kraja...ev kak glasi i kak sam ga ja riješila... al negdje ima logička nekaka pogreška koju ne mogu pronać... pa ak mi neko može pomoć... hvala unaprijed..

znači, treba napisat proceduru koja će računat umnožak n realnih brojeva
 program govno; uses crt; var n:integer;     x,umn:real; procedure umnozak(var n:integer; x,umn:real); var i:integer; begin         umn:=1;         for i := 1 to n do begin                 writeln('Unesi ',i,'. broj: ');                 readln(x);                 umn:=umn*x;         end; end; begin         clrscr;         writeln('Unesi broj n: ');         readln(n);         umnozak(n,x,umn);         writeln('Umnozak je ',umn:4:2);         readln; end.

offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

umesto
procedure umnozak(var n:integer; x,umn:real);
probaj da napises
procedure umnozak;

offline
  • Pridružio: 04 Jun 2008
  • Poruke: 2
  • Gde živiš: Županja

ma nie to... skužila sam neki dan... mislim, može se to i tak naprawit al mi smo zadatak na nastavi morali riješit s formalnim parametrima... a ja napravim glupost i swe ih deklariram kao ulazno izlazne, a n je samo ulazni pa to ne trea izgledat wak
procedure umnozak(var n:integer; x,umn:real);
nego owak
procedure umnozak(n:integer; var x,umn:real);

thx enivej.....=)

Ko je trenutno na forumu
 

Ukupno su 1077 korisnika na forumu :: 44 registrovanih, 6 sakrivenih i 1027 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 357magnum, _Rade, A.R.Chafee.Jr., Apok, bankulen, Batinas, Bokiboks, cifra, CikaKURE, cincarin, Denaya, Dimitrije Paunovic, dragoljub11987, drimer, Georgius, ginjica, hyla, ILGromovnik, JOntra, Karla, Kubovac, ladro, Lošmi, Lucije Kvint, Marko Marković, mikrimaus, milenko crazy north, milutin134, nebidrag, nenad81, ostoja, panzerwaffe, rasok, Ripanjac, RJ, Rogan33, royst33, slonic_tonic, Sumadija34, vathra, Vladko, voja64, wolf431, wolverined4