Korisnički Kontrolni Panel
Pogledajte svoj profil
Pogledajte svoje postove
ČPP
Prijavite se

Matematički forum na kojem možete da diskutujete o raznim matematičkim oblastima, pomognete drugima oko rešavanja zadataka, a i da dobijete pomoć kada vam zatreba


















Index stranica OSTALE MATEMATIČKE OBLASTI MATEMATIKA U INFORMATICI MATEMATIKA U PROGRAMIRANJU

[Pascal] Petlja for...

[Pascal] Petlja for...

Postod Miladin Jovic » Nedelja, 02. Novembar 2014, 13:06

Zadatak glasi:
[dispmath]S=\sum_{k=1}^n\frac{(x-3)^k}{k^n}[/dispmath]
Treba napisati program koji za ceo broj [inlmath]n[/inlmath] i broj [inlmath]x[/inlmath] izračunava [inlmath]S[/inlmath].
Imam rešenje i ono ovako glasi:

Kôd: Obeleži sve
program suma;
Var i,j,n:inteeger;
x,s:real;
p:longint;
Begin
readln(n);
readln(x);
s:=0;
k:=1;
for i:=1 to n do begin
   k:=k*(x-3);
   p:=1;
      for j:==1 to n do p:=p*i;
   s:=s+k/p;
end;
writeln(s:10:6);end.

Ako bi mogao neko da objasni ovu drugu petlju, ne razumem je. On nam omogućava da ispod razlomačke crte piše kod prvog razlomka [inlmath]1^n[/inlmath], kod drugog [inlmath]2^n[/inlmath] do [inlmath]n^n[/inlmath].
Ali mi ovaj kod nije jasan kako on to radi, kad ne postoji funkcija za stepenovanje (osim za kvadriranje i funkcije [inlmath]e^x[/inlmath]).
Zaslužni forumaš
 
Postovi: 370
Zahvalio se: 243 puta
Pohvaljen: 123 puta

Sharuj ovu temu na:

Share on Facebook Facebook Share on Twitter Twitter Share on MySpace MySpace Share on Google+ Google+

Re: [Pascal] Petlja for...

Postod ubavic » Nedelja, 02. Novembar 2014, 15:15

U slučaju kad je izložilac ([inlmath]\mathtt{n}[/inlmath]) ceo broj, stepenovanje možemo definisati kao:
[dispmath]k^n=1\times\underbrace{k\times k\times k\times\cdots\times k }_{n\;\mathrm{puta}}\quad\left(n\in\mathbb{N}\right)[/dispmath]
Ta petlja upravo koristi gornju jednakost, množeći broj [inlmath]\mathtt{k}[/inlmath] samim sobom [inlmath]\mathtt{n}[/inlmath] puta.
Korisnikov avatar
ubavic  OFFLINE
Zaslužni forumaš
 
Postovi: 529
Lokacija: Zrenjanin
Zahvalio se: 348 puta
Pohvaljen: 515 puta

  • +1

Re: [Pascal] Petlja for...

Postod Daniel » Nedelja, 02. Novembar 2014, 16:43

@Miladin
Imaš greške u kodu – nigde nisi definisao promenljivu [inlmath]\mathtt{k}[/inlmath] (treba da bude real tipa). Imaš i udvojeno e i udvojen znak = (slovne greške u samim postovima još i možemo tolerisati (iako nisu preporučljive), ali one u kodu nisu dopuštene – zbog slovnih grešaka program, jednostavno – ne radi :) ).
I do not fear death. I had been dead for billions and billions of years before I was born, and had not suffered the slightest inconvenience from it. – Mark Twain
Korisnikov avatar
Daniel   ONLINE
Administrator
 
Postovi: 7681
Lokacija: Beograd
Zahvalio se: 4039 puta
Pohvaljen: 4110 puta

Re: [Pascal] Petlja for...

Postod Miladin Jovic » Nedelja, 02. Novembar 2014, 20:01

Kôd: Obeleži sve
p:=1
...p:=p*i

Dakle, tu je [inlmath]p=1[/inlmath] ,a zatim [inlmath]p[/inlmath] dodeljujemo [inlmath]p\cdot i[/inlmath] odnosno dodeljujemo [inlmath]1\cdot i[/inlmath], pa kako je ovde [inlmath]i[/inlmath] proizvod [inlmath]p[/inlmath] [inlmath]n[/inlmath] puta?
Zaslužni forumaš
 
Postovi: 370
Zahvalio se: 243 puta
Pohvaljen: 123 puta

Re: [Pascal] Petlja for...

Postod ubavic » Nedelja, 02. Novembar 2014, 20:19

Zato što se to radi tačno [inlmath]\mathtt{n}[/inlmath] puta, što je i razlog zašto koristimo for petlju. Pogledaj:
U prvom prolazu ([inlmath]\mathtt{j}=1[/inlmath]), imamo [inlmath]\mathtt{p}=\mathtt{p}\times\mathtt{i}=1\times\mathtt{i}=\mathtt{i}[/inlmath].
U drugom prolazu ([inlmath]\mathtt{j}=2[/inlmath]), imamo [inlmath]\mathtt{p}=\mathtt{p}\times\mathtt{i}=\mathtt{i}\times\mathtt{i}=\mathtt{i}^2[/inlmath].
U trećem prolazu ([inlmath]\mathtt{j}=3[/inlmath]), imamo [inlmath]\mathtt{p}=\mathtt{p}\times\mathtt{i}=\mathtt{i}^2\times\mathtt{i}=\mathtt{i}^3[/inlmath].
....
U [inlmath]n[/inlmath]-tom prolazu ([inlmath]\mathtt{j}=n[/inlmath]), imamo [inlmath]\mathtt{p}=\mathtt{p}\times\mathtt{i}=\mathtt{i}^{n-1}\times\mathtt{i}=\mathtt{i}^n[/inlmath].
Korisnikov avatar
ubavic  OFFLINE
Zaslužni forumaš
 
Postovi: 529
Lokacija: Zrenjanin
Zahvalio se: 348 puta
Pohvaljen: 515 puta

Re: [Pascal] Petlja for...

Postod Miladin Jovic » Nedelja, 02. Novembar 2014, 20:59

Ali nama pre druge petlje piše da je [inlmath]p:=1[/inlmath], zar onda u drugom ponavljanju ove prve petlje (u kojoj se nalazi ova druga) a to je istovremeno i drugo ponavljanje ove druge , ne dodeljuje broj [inlmath]1[/inlmath] variabli [inlmath]p[/inlmath]. Pa onda [inlmath]p[/inlmath] nema stečenu vrednost prvim ponavljanjem tj. [inlmath]p:=i[/inlmath].
To su još neke nedoumice.
Zaslužni forumaš
 
Postovi: 370
Zahvalio se: 243 puta
Pohvaljen: 123 puta

Re: [Pascal] Petlja for...

Postod Daniel » Nedelja, 02. Novembar 2014, 21:53

Nazovimo prvu i drugu petlju spoljašnjom i unutrašnjom petljom, da ne bude zabune. :) Unutrašnja petlja se, logično, nalazi unutar spoljašnje. :)

Dobro si rekao, pri svakom ponavljanju spoljašnje petlje vrednost promenljive [inlmath]\mathtt{p}[/inlmath] se vraća na [inlmath]1[/inlmath]. I ta jedinica je inicijalna vrednost promenljive [inlmath]\mathtt{p}[/inlmath] prilikom novog ulaska u unutrašnju petlju, u kojoj se [inlmath]\mathtt{p}[/inlmath] množi sa [inlmath]\mathtt{i}[/inlmath] onoliko puta koliko iznosti [inlmath]\mathtt{n}[/inlmath], što znači da će [inlmath]\mathtt{p}[/inlmath] nakon izlaska iz unutrašnje petlje imati vrednost [inlmath]\mathtt{i}^n[/inlmath].

Znači, u prvom prolasku kroz spoljašnju petlju, kada je [inlmath]\mathtt{i}[/inlmath] jednako jedinici, u unutrašnjoj petlji će se računati [inlmath]\mathtt{p}=1\cdot\underbrace{\mathtt{i}\cdot\mathtt{i}\cdots\mathtt{i}}_{n\mbox{ puta}}=1\cdot\underbrace{1\cdot 1\cdots 1}_{n\mbox{ puta}}=1^n[/inlmath].
U drugom prolazu kroz spoljašnju petlju [inlmath]\mathtt{i}[/inlmath] je jednako dvojci, [inlmath]\mathtt{p}[/inlmath] se ponovo vraća na jedinicu i u unutrašnjoj petlji će se računati [inlmath]\mathtt{p}=1\cdot\underbrace{\mathtt{i}\cdot\mathtt{i}\cdots\mathtt{i}}_{n\mbox{ puta}}=1\cdot\underbrace{2\cdot 2\cdots 2}_{n\mbox{ puta}}=2^n[/inlmath].
U trećem prolazu kroz spoljašnju petlju [inlmath]\mathtt{i}[/inlmath] je jednako trojci, [inlmath]\mathtt{p}[/inlmath] se ponovo vraća na jedinicu i u unutrašnjoj petlji će se računati [inlmath]\mathtt{p}=1\cdot\underbrace{\mathtt{i}\cdot\mathtt{i}\cdots\mathtt{i}}_{n\mbox{ puta}}=1\cdot\underbrace{3\cdot 3\cdots 3}_{n\mbox{ puta}}=3^n[/inlmath].
[inlmath]\vdots[/inlmath]
U [inlmath]\mathtt{n}[/inlmath]-tom (i poslednjem) prolazu kroz spoljašnju petlju [inlmath]\mathtt{i}[/inlmath] je jednako vrednosti promenljive [inlmath]\mathtt{n}[/inlmath], [inlmath]\mathtt{p}[/inlmath] se ponovo vraća na jedinicu i u unutrašnjoj petlji će se računati [inlmath]\mathtt{p}=1\cdot\underbrace{\mathtt{i}\cdot\mathtt{i}\cdots\mathtt{i}}_{n\mbox{ puta}}=1\cdot\underbrace{\mathtt{n}\cdot\mathtt{n}\cdots\mathtt{n}}_{n\mbox{ puta}}=n^n[/inlmath].
I do not fear death. I had been dead for billions and billions of years before I was born, and had not suffered the slightest inconvenience from it. – Mark Twain
Korisnikov avatar
Daniel   ONLINE
Administrator
 
Postovi: 7681
Lokacija: Beograd
Zahvalio se: 4039 puta
Pohvaljen: 4110 puta


Povratak na MATEMATIKA U PROGRAMIRANJU

Ko je OnLine

Korisnici koji su trenutno na forumu: Nema registrovanih korisnika i 1 gost


Index stranicaTimObriši sve kolačiće boarda
Danas je Utorak, 20. Avgust 2019, 01:30 • Sva vremena su u UTC + 1 sat [ DST ]
Pokreće ga phpBB® Forum Software © phpBB Group
Prevod – www.CyberCom.rs