Kako postaviti pametne telefone i računala. Informativni portal

Kodovi promjenjive duljine.

Kompresija informacija u memoriji računala takva je transformacija koja dovodi do smanjenja količine zauzete memorije uz zadržavanje kodiranog sadržaja. postojati različiti putevi kompresija za različiti tipovi podaci. Samo za kompresija grafičke informacije koristi se desetak različitih metoda. Ovdje ćemo razmotriti jedan od načina komprimiranja tekstualnih informacija.

U osmobitnoj tablici kodiranja znakova (kao što je ASCII), svaki znak je kodiran s osam bitova i stoga zauzima 1 bajt u memoriji. U dijelu 1.3 našeg udžbenika rečeno je da je učestalost pojavljivanja različitih slova (znakova) u tekstu različita. Tamo se također pokazalo da je informacijska težina simbola veća što je učestalost pojavljivanja manja. Ova je okolnost povezana s idejom kompresije teksta u memorija računala: odbiti kodiranje svih znakova kodovima iste duljine. Simboli s manjom informacijskom težinom, t.j. često se pojavljuju, kodirajte kraćim kodom u usporedbi s znakovima koji se rjeđe pojavljuju. Ovakvim pristupom moguće je značajno smanjiti količinu općeg tekstualnog koda i, sukladno tome, prostor koji on zauzima u memoriji računala.

Ovaj pristup je poznat već dugo vremena. Koristi se u poznatom Morseovom kodu, od kojih je nekoliko kodova dano u tablici. 3.1, gdje je "točka" kodirana nulom, a "crtica" jedinicom.

Tablica 3.1

Pismo

Kao što se može vidjeti iz ovog primjera i tablice. 3.1, češća slova imaju kraći kod.

Za razliku od kodova jednake duljine, koji se koriste u ASCII standardu, u ovom slučaju postoji problem razdvajanja kodova pojedinih slova. U Morseovom kodu ovaj se problem rješava uz pomoć "pauze" (razmaka), koja je, zapravo, treći znak Morseove abecede, t.j. Morseova abeceda nije dvoznačna, već troznačna.

Ali što je s računalnim kodiranjem, gdje se koristi binarna abeceda? Jedan od najjednostavnijih, ali vrlo učinkovitih načina konstruiranja kodova različitih duljina koji ne zahtijevaju poseban separator je algoritam D. Huffmana (D.A. Huffman, 1952). Koristeći ovaj algoritam, gradi se binarno stablo koje omogućuje jedinstveno dekodiranje binarni kod, koji se sastoji od znakovnih kodova različitih duljina. Stablo se naziva binarnim ako svaki vrh ima dvije grane. Na riža. 3.2 prikazuje primjer takvog stabla, izgrađenog za englesku abecedu, uzimajući u obzir učestalost pojavljivanja njegovih slova. Kodovi dobiveni na ovaj način mogu se sažeti u tablicu.

Tablica 3.2

Pismo

Huffmanov kod

Uz pomoć tablice. 3.2 jednostavan za kodiranje teksta. Tako, na primjer, niz od 29 znakova

Weneedmor esnowforbe Tterskiing se pretvara u kod: 011101 100 1100 100 100 110011111101 0111111101 01100110 1011001 100 10110110 1110 1010 1100 00001, koji, kada je postavljen u memoriju, pogledat će:

01110110 01100100 10011011 00011111 01011100 01101100 11100111 01010011 11010110 1110010000100110 01011011 01101000 11101010 10110000 001

Dakle, tekst koji zauzima 29 bajtova u ASCII kodiranju zauzet će samo 16 bajtova u Huffman kodiranju.

Obrnuti zadatak - prijelaz s Huffmanovih kodova na slova engleske abecede - provodi se pomoću binarnog stabla (vidi sliku). U ovom slučaju, prekodiranje se događa skeniranjem teksta s lijeva na desno od prve znamenke, krećući se duž odgovarajućih (koji imaju isti binarni kod) grana stabla dok ne dođemo do krajnjeg vrha sa slovom. Nakon odabira slova u kodu, proces dekodiranja sljedećeg slova ponovno počinje s vrha binarnog stabla.

Lako je pogoditi da je prikazano stablo skraćena verzija Huffmanovog koda. U cijelosti, mora uzeti u obzir sve moguće znakove koji se nalaze u tekstu: razmake, interpunkcijski znakovi, zagrade itd.

U programima koji komprimiraju tekst – arhivarima, za svaki obrađeni tekst se gradi tablica učestalosti pojavljivanja znakova, a zatim se formiraju kodovi različitih duljina poput Huffmanovih kodova. U ovom slučaju, kompresija teksta postaje još učinkovitija, budući da je kodiranje posebno prilagođeno ovom tekstu. I što je veća veličina teksta, to je veći učinak kompresije.

Kratak oko glavni

Kompresija informacija takva je transformacija koja dovodi do smanjenja količine zauzete memorije uz zadržavanje kodiranog sadržaja.

Ideja metode kompresije teksta: duljina koda znakova smanjuje se sa smanjenjem njegove informacijske težine, tj. sa sve većom učestalošću pojavljivanja u tekstu.

Huffmanov algoritam kompresije je predstavljen kao binarno stablo.

Arhivari koji koriste Huffmanov algoritam grade svoje stablo binarnog kodiranja za svaki tekst.

Pitanja i zadaci

    Koja je razlika između kodova konstantne i promjenjive duljine?

    Kako kodovi promjenjive duljine omogućuju "komprimiranje" teksta?

    Kodirajte sljedeći tekst pomoću ASCII kodova i Huffmanovih kodova: HAPPYNEWYEAR. Izračunajte potrebnu količinu memorije u oba slučaja.

4. Dekodirajte pomoću binarnog stabla (vidi sliku) sljedeći kod:

11110111 10111100 00011100 00101100 10010011 01110100 11001111 11101101 001100

Binarno stablo engleske abecede korišteno za Huffmanovo kodiranje

Blok A

fiksni troškovi

varijabilni troškovi



Analizirajući proizvedene proizvode, glavnu pozornost treba posvetiti analizi njihove cijene. Cijena koštanja je vrednovanje prirodnih resursa, sirovina, materijala, goriva, energije, dugotrajne imovine, radnih resursa i drugih troškova za njihovu proizvodnju i prodaju koji se koriste u procesu proizvodnje proizvoda (radova, usluga). Definicija troška proizvodnje shvaća se kao izračun troškova koji se mogu pripisati jedinici. proizvodi. Puštanje proizvoda u promet može se smatrati opravdanim ako će prihodi od prodaje proizvoda pokriti sve troškove dostupne u poduzeću. A ako ne, onda je izlaz neisplativ. Oni. oslobađanje će biti opravdano kada poduzeće dosegne volumen proizvodnje i prodaje koji odgovara točki nulte dobiti. TNP je obujam prodaje od kojeg tvrtka ostvaruje dobit.

Također, sukladno Paretovom kriteriju optimalnosti za strukturu outputa, output će biti učinkovit ako istovremeno maksimizira korisnost kupaca i ne nadilazi raspoložive resurse (tj. leži na krivulji proizvodnih mogućnosti). Struktura proizvodnje je učinkovita ako su proizvođači i potrošači istovremeno u ravnoteži.

Koja je razlika između računovodstvene dobiti poduzeća i graničnog prihoda koji je ono primilo u isto vrijeme?

Granični prihod obračunava se kao razlika između prihoda od prodaje proizvoda (bez PDV-a i trošarina) i varijabilni troškovi. Drugim riječima, MD je zbroj fiksnih troškova i dobiti od prodaje. MD mora pokriti fiksne troškove poduzeća i osigurati mu dobit od prodaje proizvoda, radova, usluga. Ova brojka se također naziva iznosom pokrića.

MD = Prihodi od prodaje - varijabilni troškovi

MD = Fiksni troškovi + Dobit od prodaje

Računovodstvena dobit - ukupna dobit od poduzetničku djelatnost izračunato iz računovodstva. Računovodstvena dobit izračunava se kao razlika između ukupnog prihoda poduzeća i računovodstvenih (eksplicitnih) troškova. Računovodstveni troškovi su trošak resursa koje tvrtka koristi po njihovim stvarnim cijenama nabave. Eksplicitni troškovi se u potpunosti odražavaju u računovodstvu, pa se nazivaju i računovodstvenim troškovima. Eksplicitni troškovi određuju se visinom troškova poduzeća za plaćanje vanjski resursi, tj. resursi koji nisu u vlasništvu poduzeća. Na primjer, sirovine, materijali, gorivo, rad itd.

Računovodstvena dobit \u003d Ukupni prihod poduzeća - Računovodstveni (eksplicitni) troškovi

(Dakle, računovodstvena dobit manja je od marže doprinosa za iznos eksplicitnih fiksnih troškova.)

Koji su glavni čimbenici koji utječu na vrijednost graničnog prihoda poduzeća?

Važnu ulogu u potkrepljivanju upravljačkih odluka ima marginalna (ograničavajuća) analiza čija se metodologija temelji na proučavanju odnosa između tri skupine najvažnijih ekonomski pokazatelji"troškovi - obujam proizvodnje (prodaje) proizvoda - dobit" i predviđanje kritične i optimalne vrijednosti svakog od ovih pokazatelja kada postavljena vrijednost drugi. Glavna kategorija analize marže je granični prihod. Marginalni prihod (dobit) je razlika između prihoda od prodaje (bez PDV-a i trošarina) i varijabilnih troškova. Na promjenu graničnog dohotka mogu utjecati (zajedno ili zasebno) dva čimbenika – povećanje (smanjenje) prihoda i troškova. Važan faktor, koji utječe na profitabilnost pojedinih objekata granične dobiti, je vrijednost i struktura nepotpunog troška. Vrijednost graničnog dohotka (profita) izravno ovisi o vrijednosti djelomičnog troška. Prevladavanje varijabilnih troškova u strukturi parcijalnog troška ukazuje na činjenicu da u cilju postizanja rentabilnosti ovaj objekt granični prihod ne zahtijeva značajan obujam prodaje. Prevladavanje izravnih fiksnih troškova u strukturi nepotpunih troškova ukazuje na potrebu povećanja prodaje radi njihove kompenzacije.

Blok B

Koja je razlika između smanjenog troška proizvoda tvrtke u izravnom trošku i njegovog punog troška u računovodstvu?

Smanjeni trošak industrijskih proizvoda u izravnom trošku uzima se u obzir i planira samo u smislu varijabilnih troškova. Fiksni troškovi prikupljaju se na zasebnom računu i terete se izravno na teret računa financijskih rezultata u određenim intervalima, na primjer, "Dobit i gubitak". Varijabilni troškovi se također koriste za procjenu stanja državnih poduzeća u skladištima na početku i kraju godine i WIP-a. Puna cijena koštanja u računovodstvu uključuje uključivanje stalnih i varijabilnih troškova u cijenu koštanja.

Mogućnosti za izračun cijene međusobno izvedenih radova odgovarajućih transfernih cijena.

Najtočnije rezultate distribucije obostrano pruženih usluga daje rješenje sustava linearnih troškovnih jednadžbi za svaki pododjel unutar tvornice. U opći pogled sustav jednadžbi mjesta i mjesta troška ima sljedeći oblik:

Gdje Rni- iznos primarnih troškova mjesta; q i- obim usluga pruženih jedinici; n- mjesto troška i-ta divizija ( i = 1, ... n); k i , k j omjeri raspodjele troškova j mjesto troškova.

Na jednosmjerna metoda trošak usluga primarnih mjesta odnosi se samo na glavnu proizvodnju poduzeća, iznos troškova povezanih s međusobna razmjena aktivnost se ne uzima u obzir. Koeficijenti distribucije izračunavaju se po formuli:

Gdje DO - koeficijent raspodjele; R poslijepodne troškovi primarnih sjedala; P pm - ukupni volumen usluga potrošenih od strane svih odjela glavne proizvodnje poduzeća.

Korištenje metoda distribucije koraka utvrđuje se redoslijed otpisa troškova primarnih mjesta troška. Obično počinju s pomoćnim radionicama i farmama čije usluge su svima potrebne. Koeficijent raspodjele u ovom slučaju izračunava se po formuli

Gdje R fix , R var - fiksni i varijabilni troškovi alocirani od strane prethodnog mjesta troška; P pm - obujam primarnih usluga prenesenih na sljedeću podjelu poduzeća.

Sa stajališta kontrole veličine i isplativosti troškova mjesta i centara unutar poduzeća, izdvaja se metoda proračun troškova i metoda usporedba troškova i učinka. U prvom slučaju, za svako troškovno mjesto ili centar odgovornosti sastavlja se proračun (procjena) troškova i prema računovodstvenim podacima njihove stvarne vrijednosti kontroliraju njegovo poštivanje. Pri korištenju metode usporedbe troškova i produktivnosti u kontekstu svakog odjela poduzeća, otkrivaju se odstupanja uzrokovana promjenom veličine produktivnosti ili stupnja iskorištenosti proizvodnih kapaciteta i razine troškova mjesta ili centra.

Blok C

1. Što određuje i kako se mjeri iskorištenost kapaciteta poduzeća?

Iskorištenost kapaciteta je razina iskorištenosti potencijalnih proizvodnih mogućnosti, koje se procjenjuju omjerom stvarne proizvodnje i maksimalno mogućeg.

Iskorištenost kapaciteta općenito se mjeri vremenom korištenja ovaj resurs po danu, tjednu, mjesecu. Opterećenje PM-a moguće je izračunati kao zbroj proizvoda obujma proizvedenih proizvoda svake vrste do trenutka proizvodnje jedinice proizvodnje svake vrste na istraživanom području.

PM se u pravilu ne koristi u potpunosti zbog utjecaja sljedećih ograničavajućih čimbenika: razine potražnje za proizvedenim proizvodima, količine raspoloživih materijalnih resursa (materijala, sirovina, goriva) potrebnih za proizvodnju, ograničena prilika korištenje drugih kapaciteta poduzeća, što utječe na maksimalnu moguću razinu proizvodnje unutar jednog ciklusa itd.

2. Koji troškovi ovise o stupnju iskorištenosti proizvodnih kapaciteta poduzeća ?

Proizvodni kapacitet ili sposobnosti poduzeća nije homogena, već homogena vrijednost koju čine proizvodni kapaciteti pojedinih odjela (radnja, pogona) poduzeća. Iz raznih razloga, uključujući i objektivne, ti kapaciteti nisu u potpunosti međusobno povezani, npr. zbog različita izvedba strojevi, strojevi i druga oprema. Iz ovoga je jasno da troškove materijalnih i radnih resursa treba uzeti u obzir na temelju određene razine iskorištenosti proizvodnih kapaciteta, u pravilu manje od 100%. Nedovoljno iskorišten kapacitet znači neiskorištene prilike za povećanje proizvodnje i smanjenje troškova proizvodnje. Iz toga proizlazi da razina opterećenja PM-a utječe na iznos varijabilnih troškova.

3. Koja je veličina ukupan iznos poslovni troškovi?

Veličina ukupnog troška poduzeća - bruto troškovi poduzeća (?), koji je skup stalnih, nepromjenjivih, troškova i varijabilnih troškova, ovisno o obujmu proizvedenih i prodanih proizvoda.

pros

Standardni sustav obračuna troškova može značajno smanjiti količinu računovodstveni rad;

Pruža solidnu osnovu za utvrđivanje materijalnih odstupanja u usporedbi troškova;

Pomaže u poboljšanju učinkovitosti upravljanja i kontrole troškova, jer zahtijeva detaljnu studiju svih proizvodnih, administrativnih i marketinških funkcija poduzeća, što rezultira razvojem najoptimalnijih pristupa upravljanju uz smanjenje troškova;

Standardni troškovi služe najbolji kriterij procijeniti stvarne troškove;

Pruža korisnicima informacije o očekivanim troškovima proizvodnje i prodaje proizvoda;

Omogućuje postavljanje cijena na temelju unaprijed određene jedinične cijene;

Omogućuje vam sastavljanje izvješća o prihodima i rashodima s identifikacijom odstupanja od normi i razlozima njihovog nastanka.

Minusi

Mnogo je pažnje usmjereno na troškove i produktivnost rada;

Ne pruža poduzeću dovoljno informacija da pronađe načine za poboljšanje svojih aktivnosti;

Ne pokriva sve aspekte povećanja učinkovitosti proizvodnje;

Odnosi se na ponavljajuće troškove;

Uspjeh primjene ovisi o sastavu i kvaliteti regulatornog okvira;

Neuspjeh postavljanja standarda određene vrste troškovi.

Blok D

Blok A

Koja je razlika između fiksnih i varijabilnih poslovnih troškova?

Kriterij za podjelu troškova na fiksne i varijabilne je njihov ovisnost o obujmu proizvodnje.

fiksni troškovi ne mijenjaju se automatski s promjenama u obujmu proizvodnje ili s promjenama u proizvodnom kapacitetu. Stoga je koncept fiksnih troškova primjenjiviji za razdoblja unutar godine kada se sastav i razina korištenja proizvodnih kapaciteta poduzeća ne mijenjaju bitno.

Nomenklatura fiksnih troškova ne može biti ista za sve djelatnosti i mora se specificirati uzimajući u obzir specifičnosti poduzeća. Fiksni troškovi obično uključuju kamate na kredite, najamninu, plaće rukovodećih djelatnika, troškove zaštite prostora, održavanja i popravka zgrada, troškove ispitivanja, pokusa i istraživanja itd. Fiksni troškovi također uključuju troškove amortizacije (za obnovu osnovnog kapitala). Razina fiksnih troškova po jedinici proizvodnje ima tendenciju smanjenja u odnosu na povećanje proizvodnje, i obrnuto.

Povećanje konstanti povezano je s rastom proizvodnih kapaciteta i nastaje zbog kapitalnih ulaganja i dodatnog privlačenja obrtnog kapitala. Smanjenje apsolutna vrijednost Fiksni troškovi postižu se racionalizacijom proizvodnje, smanjenjem troškova upravljanja, prodajom viška dugotrajne imovine.

varijabilni troškovi povećanje ili smanjenje apsolutnog iznosa ovisno o promjeni obujma proizvodnje i dijele se na proporcionalne i neproporcionalne dijelove.

Proporcionalni troškovi obuhvaćaju troškove sirovina, osnovnog materijala, poluproizvoda, plaće glavnih radnika na plaće po komadu, pretežni dio troškova goriva i energije za tehnološke svrhe, troškove pakiranja i pakiranja proizvoda.

Disproporcionalni troškovi mogu biti progresivni (tj. rastu brže od proizvodnje) i degresivni (ako je njihov rast manji od promjene količine proizvodnje)

Kodovi promjenjive duljine

KODIRANJE I KOMPRESIJANJE INFORMACIJA

Kodiranje je usporedba poruke prenesene ili zapisane u memoriju određenim nizom znakova, koji se obično naziva kodna riječ. Kodiranje može služiti u dvije svrhe. Prvi cilj je smanjiti duljinu prenesena poruka(komprimiranje informacija), a drugi - dodavanje prenesenoj riječi dodatne informacije, koji pomaže u otkrivanju i ispravljanju pogrešaka do kojih je došlo tijekom prijenosa (kodiranje za ispravljanje šuma). U ovom predavanju razmatra se prva vrsta kodova.

Kodovi promjenjive duljine

Prvo pravilo za konstruiranje kodova promjenjive duljine je da kratki kodovi treba dodijeliti znakovima koji se često pojavljuju, a duge znakove onima koji se rijetko pojavljuju. U tom slučaju, šifre treba dodijeliti tako da se mogu dekodirati nedvosmisleno, a ne dvosmisleno. Na primjer, razmotrite četiri znaka a 1 , a 2 , a 3 , a 4 . Ako se pojavljuju u poruci s jednakom vjerojatnošću ( str= 0,25), tada im dodjeljujemo četiri dvobitna koda: 00, 01, 10, 11. Sve su vjerojatnosti jednake, tako da kodovi promjenjive duljine neće komprimirati podatke. Za svaki znak s kratkim kodom postoji znak s dugi kod a prosječan broj bitova po znaku bit će najmanje 2. Redundantnost podataka jednakovjerojatnih znakova je 0, a niz takvih znakova ne može se komprimirati pomoću kodova promjenjive duljine (ili bilo koje druge metode).

Sada neka se ova četiri simbola pojave s različitim vjerojatnostima (vidi tablicu 12.1). U ovom slučaju postoji redundancija koja se može ukloniti kodovima promjenjive duljine i komprimirati podatke tako da je potrebno manje od 2 bita po simbolu. Najmanji prosječni broj bitova po znaku je 1,57, što je entropija ovog skupa znakova.

Tablica 12.1 predlaže kod Kod_ 1, koji dodjeljuje najkraći kod znaku koji se najčešće pojavljuje. Prosječan broj bitova po znaku je 1,77. Ovaj broj je blizu teoretskog minimuma.

Tablica 12.1

Razmislite o nizu od 20 znakova

a 1 a 3 a 2 a 1 a 3 a 3 a 4 a 2 a 1 a 1 a 2 a 2 a 1 a 1 a 3 a 1 a 1 a 3 a 1 ,

u kojoj se pojavljuju četiri znaka s približno iste frekvencije. Ovaj niz će odgovarati 37-bitnoj kodnoj riječi:

1|010|01|1|010|010|001|01|1|1|01|01|1|1|010|1|1|01|010|1.

Prosječan broj bitova po znaku je 1,85, što nije previše daleko od izračunate minimalne prosječne duljine. Međutim, ako pokušamo dekodirati slijed, ispada da je to Kod _1 ima značajan nedostatak. Prvi udarac kodna riječ je 1, tako da prvi znak niza može biti samo a 1 , budući da kod nijednog drugog znaka ne počinje s 1. Sljedeći znak je 0, ali kodovi znakova a 2 , a 3 , a 4 svi počinju od 0, tako da dekoder mora pročitati sljedeći znak. Jednako je 1, ali kodovi za a 2 i a 3 oba na početku imaju 01. Dakle, dekoder ne zna kako dalje: dekodirati niz kao 1|010|01…, tj. a 1 a 3 a 2 …, ili kao 1|01|001…, tj. a 1 a 2 a 4 .... Daljnji bitovi niza ne mogu ispraviti položaje. Zato Kodirati _1 je dvosmislen. oslobođeni ovog nedostatka. Kod _2.

Kod _2 ima takozvano svojstvo prefiksa, koje se može formulirati na sljedeći način: ako je određeni niz bitova odabran kao kod bilo kojeg znaka, tada nijedan kod bilo kojeg drugog znaka ne bi trebao imati ovaj niz na početku (kod znakova ne može biti prefiks drugog koda).znak). Ako je redak 01 kod za a 2 , onda drugi kodovi ne smiju počinjati s 01. Stoga kodovi za a 3 i a 4 mora početi s 00. Za to je prirodno odabrati 000 i 001.

Stoga, pri odabiru skupa kodova promjenjive duljine, moraju se poštivati ​​dva principa: 1) kraći kodni nizovi trebaju biti dodijeljeni simbolima koji se često pojavljuju; 2) primljeni kodovi moraju imati svojstvo prefiksa. Slijedeći ova načela, moguće je konstruirati kratke, jedinstveno dekodirajuće kodove, ali ne nužno najbolje (tj. najkraće) kodove. Osim ovih principa, potreban je algoritam koji uvijek generira skup najkraćih kodova (koji imaju najmanju prosječnu duljinu). Ulazni podaci ovog algoritma trebaju biti frekvencije (ili vjerojatnosti) znakova abecede. Takav algoritam je Huffmanovo kodiranje.

Treba napomenuti da ne samo metode statističke kompresije koriste kodove promjenjive duljine za kodiranje pojedinačnih simbola. Ovaj pristup se posebno koristi u aritmetičkom kodiranju.

Prije nego što opišemo metode statističkog kodiranja, zadržimo se na interakciji kodera i dekodera. Pretpostavimo da je neka datoteka (na primjer, tekstualna datoteka) komprimirana korištenjem prefiksnih kodova promjenjive duljine. Da bi izvršio dekodiranje, dekoder mora znati kod prefiksa svaki lik. To se može postići na tri načina.

Prvi način je da se skup prefiksnih kodova odabere jednom i da ga koriste svi koderi i dekoderi. Ova metoda se koristi, na primjer, u faksimilnoj komunikaciji. Drugi način je da se kodiranje vrši u dva prolaza. Prilikom prvog prolaza, koder čita datoteku koja se kodira i prikuplja potrebnu statistiku. Na drugom prolazu vrši se kompresija. Između prolaza, koder, na temelju prikupljenih informacija, stvara najbolji kod prefiksa za ovu određenu datoteku. Ova metoda daje vrlo dobar omjer kompresije, ali je obično prespora za praktična upotreba. Osim toga, u komprimirana datoteka potrebno je dodati tablicu prefiksnih kodova kako bi je dekoder znao. To degradira ukupnu izvedbu algoritma. Ovaj pristup u statističkoj kompresiji naziva se polu-adaptivna kompresija.

Za predstavljanje količina (podataka) u programu koriste se konstante i varijable. Oba imaju ime (identifikator) i vrijednost. Razlika je u tome što se vrijednost konstante ne može promijeniti tijekom izvršavanja programa, ali vrijednost varijable može.

Varijable uvjetno dijelimo na ulazne (što je zadano), izlazne (rezultat: ono što treba dobiti) i međuvarijable potrebne u procesu izračuna. Na primjer, za program za izračunavanje najvećeg zajedničkog djelitelja (Euklidov algoritam), ulazne varijable su m i n, srednja varijabla je r. Izlazna varijabla je također n. Ove varijable moraju biti tipa "prirodni brojevi". Ali u Pascalu ne postoji takav tip. Dakle, morate koristiti neke cjelobrojnog tipa. Veličina tipa određuje raspon brojeva za koje se program može koristiti. Ako varijable opisujete ovako:

vrlo veliki broj na ulazu možete uzeti 32767 \u003d 2 16 - 1.

Važno! Značenje varijabli opisanih u odjeljku Var, nedefiniran. Ponekad možete pronaći definiciju varijable kao memorijske ćelije koja sadrži vrijednost varijable. Podrazumijeva se da deklaracija varijable povezuje adresu ove ćelije s imenom varijable, odnosno ime se koristi kao adresa memorijske ćelije u kojoj se nalazi vrijednost. Ali samo značenje još nije utvrđeno.

U Euklidovom algoritmu vrijednost ostatka r uspoređuje se s nulom. 0 je cjelobrojna konstanta. Moguće je (ali nije obavezno) definirati konstantu s vrijednošću 0, na sljedeći način:

Tijekom kompilacije, identifikator Zero će biti zamijenjen svojom numeričkom vrijednošću u tekstu programa.

Vrsta nulte konstante nije očita. Nula postoji u bilo kojem cjelobrojnom tipu. U odjeljku o konstantama možete deklarirati upisanu konstantu navodeći i vrstu i vrijednost:

Nula: cijeli broj = 0;

Ali sada je nula postala obična varijabla cjelobrojnog tipa, početna vrijednost koji je definiran i jednak nuli.

Korištenje varijable kontrolira se tijekom prevođenja. Prevoditelj će obično spriječiti pokušaje postavljanja for varijabilna vrijednost pogrešan tip. Mnogi programski jezici automatski prebacuju vrijednost varijable na željeni tip. U pravilu, takav implicitna konverzija tip programera početnika izvor je teško dostupnih bugova. U Pascalu je implicitna konverzija tipa prije iznimka nego pravilo. Iznimka je napravljena samo za konstante i varijable tipa INTEGER (cijeli brojevi), koji se smiju koristiti u izrazima tipa REAL (real). Zabraniti automatska konverzija vrste ne znači da Pascal nema alate za pretvorbu podataka. Jesu, ali se moraju eksplicitno koristiti.

Vrhunski povezani članci