paskal-izračunavanje vrednosnih funkcija

14
Izračunavanje vrednosnih funkcija 2014 1

Upload: os-zarko-zrenjanin-novi-sad

Post on 06-Aug-2015

88 views

Category:

Education


5 download

TRANSCRIPT

Izračunavanje vrednosnih funkcija 2014

1

Slika 1.Blez Paskal

Izračunavanje vrednosnih funkcija 2014

Sadržaj:

Sadržaj_______________________________________________________________________________3

O Paskal-u____________________________________________________________________________4

Tabeliranje vrednostnih funkcija__________________________________________________________6

Izračunavanje sume i proizvoda___________________________________________________________7

Ispitivanje svojstava celih brojeva_________________________________________________________9

Zaključak____________________________________________________________________________11

Literatura___________________________________________________________________________12

2

Slika 1.Blez Paskal

Izračunavanje vrednosnih funkcija 2014

O Paskal-u

Paskal (Pascal) je imperativni programski jezik, koji je 1974. godine razvio Niklaus Virt, kao jezik pogodan za učenje strukturnog programiranja. Imenovan je po čuvenom francuskom matematičaru i filozofu Blezu Paskalu. Standardizovan je 1983. godine od strane Međunarodnog komiteta za standardizaciju. Paskal se danas koristi kao početni program za obuku budućih programera.

Istorija Paskal-a

Krajem 60-ih godina švajcarski naučnik Niklaus Virt imao je za cilj da napravi jezik u kome bi se mogla efikasno realizovati obuka programera. Međutim, danas Pascal ima mnogo širu primenu. On se koristi ne samo za pisanje programa u raznim oblastima primene računara već i kao jezik za sistemsko i vizuelno programiranje. Vizuelni Pascal, realizovan paketom Delphi, danas je jedan od najpopularnijih jezika za projektovanje Windows aplikacija. To je jednostavan jezik koji se može brzo naučiti, i u njemu se mogu pisati algoritamski vrlo složeni programi. Programski jezik Pascal razvio je, izmedju 1968 i 1970, na temeljima tad popularnog jezika ALGOL-a, radi prevazilaženja poteškoća koje su se javljale programiranjem u višim programskim jezicima sekvencijalnog karaktera (FORTRAN, COBOL, ALGOL i BASIC), kao i zbog potreba uvođenja standardnog programskog jezika za učenje u školama i fakultetima. Virt je programskom jeziku dao ime Pascal u čast francuskog filozofa i matematičara Bleza Paskala, koji je 1641. izumeo mehanički kalkulator. Prva specifikacija objavljena je 1971. Već od 1972 Pascal se počinje izučavati na fakultetima kao jezik prikladan za uvod u programiranje. Prvobitna standardizacija jezika dogodila se 1983. Pascal uvodi paradigmu strukturnog i proceduralnog programiranja, što znači da se programski kod razlaže na samostalne strukture - podatke i podprograme, koji se ne izvršavaju u istom redosledu u kom su navedeni, kao što je slučaj kod naredbi sekvencijalnih programskih jezika, nego se po potrebi pozivaju i izvode. Sedamdesetih godina Pascal stiče veliku popularnost te se u velikoj meri koristi za aplikacijsko i i sistemsko programiranje.

3

Slika 2. Turbo Paskal

Izračunavanje vrednosnih funkcija 2014

Borlandov Pascal

1983. pojavljuje se Turbo Pascal firme Borland, prvo integrisano razvojno okruženje (IDE).

Turbo Pascal objedinjuje sve funkcije ciklusa razvoja softvera u jedan celovit program (pisanje koda, kompajlovanje, linkovanje, debugovanje), a istovremeni pristup svakoj od funkcija bez potrebe pokretanja zasebnih programa i gašenja predhodno pokrenutih je doprineo još većoj popularizaciji Pascala u softverskoj industriji, jer su programeri do tad morali pokretati zasebno nekoliko različitih programa (editor, kompajler, linker, debugger) da bi dovršili konačan program. IDE Turbo Pascal je masovno korišćen, kako zbog mogućnosti velike uštede vremena pri razvoju softvera, tako i zbog svoje niske cene i licence koja je omogućivala kupovinu samo jedne kopije proizvoda bez obzira na kolikom broju kompjutera će softver biti korišćen. Osim Turbo Pascala, Borland je izporučivao i skuplju verziju IDE-a pod nazivom Borland Pascal koja se od Turbo Pascala neznatno razlikovala po mogućnostima i imala uključen izvorni kod standardnih modula. Od novina koje uvodi Borland u Turbo Pascal značajna je mogućnost deljenja koda na odvojene datoteke, takozvane module.

4

Slika 3. Ciklus While

Slika 4. Ciklus Repeat

Izračunavanje vrednosnih funkcija 2014

Tabeliranje vrednostnih funkcija

Ako je potrebno izračunati vrednosti nekih funkcija za seriju početnih vrednosti argumenata onda se za to mogu koristiti ciklusi. Koji ciklus će se koristiti zavisi od odnosa između vrednosti argumenata. Ako postoji neko pravilo na osnovu kojeg se argumenti menjaju i to tako da se unapred zna broj vrednosti argumenata možemo koristiti bilo koju vrstu ciklusa. Ako se ne može unapred znati koliko puta će se računati vrednost funkcije onda ćemo koristiti neki od ciklusa sa uslovom.

Nekad treba ispisati vrednosti trigonometrijskih funkcija sin i cos na intervalu od ao do bo stepeni sa korakom od co. Zadatak ćemo rešiti primenom ciklusa while. Kao početnu vrednost argumenta funkcije uzećemo broj a, odrediti vrednost funkcije i ispisati je, a zatim povećavati argument dok ne stignemo do broja b. Potrebno je voditi računa o tome da trigonometrijske funkcije rade sa uglovima u radijanima. Zadatak je jednostavno moguće rešiti i korišćenjem ciklusa repeat uz uslov da korisnik upiše da je a<b, a ako nije, pre primene rešenja, treba zameniti vrednosti promenljivih. Rešenje pomoću ciklusa for nije tako jednostavno.

5

Slika 4. Ciklus Repeat

Slika 5. Ciklus sa uslovom

Izračunavanje vrednosnih funkcija 2014

Izračunavanje sume i proizvoda

Ako je potrebno računati sume ili proizvode neke grupe brojeva koji imaju neku funkcionalnu zavisnost, uglavnom mogu se koristiti sve vrste ciklusa, ali se najčešće koristi ciklus for jer je takvo rešenje najjednostavnije (osim u nekim specifičnim slučajevima). Neka treba sabrati sve parne brojeve od a do b. Najjednostavnije rešenje je:

Naravno, postavljanje početnog broja na paran broj veći ili jednak broju a moglo se izvesti i pomoću jedne If naredbe, ali to je već stvar “ukusa”. Na isti način bi se rešavali i zadaci sa proizvodom brojeva. Ako bi trebalo sabirati ili množiti brojeve koji nisu celi, onda bi trebalo

6

Slika 6. If naredba

Izračunavanje vrednosnih funkcija 2014

koristiti cikluse sa uslovom jer je rešenje jednostavnije nego sa brojačkim ciklusima (a ponekad i jedino moguće).

7

Slika 7. Ispitivanje svojstava celih brojeva

Izračunavanje vrednosnih funkcija 2014

Ispitivanje svojstava celih brojeva

Problemi tipa: odrediti da li je broj prost, ispisati sve proste delioce broja, ispisati savršene brojeve do n, ispisati Armstrongove brojeve do n i slični, mogu se rešavati bilo kojom vrstom ciklusa, a često se koristi i kombinovanje različitih vrsta, da bi se rešenje pojednostavilo. Prikazaćemo prvi algoritam. Broj je prost ako osim 1 i samog sebe nema drugih delioca, zato ćemo izbrojati takve delioce:

bd:=0; // broj delioca različitih od 1 i samog broja je na početku 0

For del:=2 to broj-1 do // počinjemo testiranje od 2 do prvog manjeg broja

If broj mod del=0 then bd:=bd+1; // ako je broj deljiv uvećavamo broj delilaca za 1

If bd>0 then // ispisati broj nije prost

U algoritmu ima puno nepotrebnih testiranja, pa je neefikasan i ne treba ga koristiti. Bilo koji broj, osim samog sebe, nema delioca koji su veći od njegove polovine. Broj nije prost ako ima bar jednog delioca različitog od 1 i samog sebe, pa nema potrebe tražiti sve takve delioce. Bolji algoritam se prekida čim se pronađe prvi takav delilac:

Prvi uslov u ciklusu je jasan. Objasniću drugi. Algoritam je zamišljen da se ciklus prekida čim se naiđe na prvog delioca koji je veći od 1. To znači, ako je broj deljiv sa 2 nema potrebe proveravati da li je deljiv sa svojom polovinom; ako je broj deljiv sa 3 nema potrebe proveravati

8

Izračunavanje vrednosnih funkcija 2014

da li je deljiv svojom trećinom i tako dalje do nekog broja n. Da bismo pronašli koji je to broj formiramo niz parova delilaca koji kao proizvod daju taj broj, odnosno: 2 * broj/2, 3 * broj/3, 4 * broj/4 ... Prvi delilac stalno raste, drugi se stalno smanjuje i prvi je uvek manji od drugog. Jasno je da prvi delilac ne može biti veći od korena tog broja (jer ako je veći mora se pomnožiti sa brojem koji je manji od njega da bi se dobio broj). Znači, poslednji delilac u ovom nizu je koren početnog broja, zato je to poslednji broj za koji proveravamo da li može biti delilac početnog i ako je delilac veći od korena broja znači da nismo našli nijednog delioca, pa je početni broj prost.

9

Izračunavanje vrednosnih funkcija 2014

Zaključak

10

Izračunavanje vrednosnih funkcija 2014

Literatura

1. http://sr.wikipedia.org/sr/%D0%9F%D0%B0%D1%81%D0%BA%D0%B0%D0%BB_%28%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%81%D0%BA%D0%B8_%D1%98%D0%B5%D0%B7%D0%B8%D0%BA%29

2. “RAČUNARSTVO I INFORMATIKA”, Dušan Tomić, “Zavod za udžbenike” Beograd 3. http://znakoviporedputa.com/religija-i-zivot/523-blez-paskal4. http://profesorka.wordpress.com/2011/11/02/uvod-u-pascal/5. http://www.tehnickaue.edu.rs/srp/cas/?conid=1799

11