Kako podesiti pametne telefone i računare. Informativni portal

Kodovi promjenjive dužine.

Kompresija informacija u memoriji računala je takva transformacija koja dovodi do smanjenja količine zauzete memorije uz održavanje kodiranog sadržaja. Postoji Različiti putevi kompresija za različite vrste 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 sa osam bita i stoga zauzima 1 bajt u memoriji. U odeljku 1.3 našeg udžbenika rečeno je da je učestalost pojavljivanja različitih slova (znakova) u tekstu različita. Tamo je također pokazano da je informatička težina simbola veća što je manja učestalost pojavljivanja simbola. Ova okolnost je povezana sa idejom kompresije teksta u kompjuterska memorija: odbiti kodiranje svih znakova kodovima iste dužine. Simboli sa manjom informacijskom težinom, tj. koji se često javljaju, kodirajte kraćim kodom u poređenju sa znakovima koji se ređe pojavljuju. Ovakvim pristupom moguće je značajno smanjiti količinu opšteg tekstualnog koda i, shodno tome, prostor koji on zauzima u memoriji računara.

Ovaj pristup je poznat već duže vrijeme. Koristi se u poznatom Morzeovom kodu, od kojih je nekoliko kodova dato u tabeli. 3.1, gdje je "tačka" kodirana nulom, a "crtica" jedinicom.

Tabela 3.1

Pismo

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

Za razliku od kodova jednake dužine, koji se koriste u ASCII standardu, u ovom slučaju postoji problem razdvajanja kodova pojedinačnih slova. U Morzeovom kodu se ovaj problem rješava uz pomoć "pauze" (razmaka), koja je, u stvari, treći znak Morzeove abecede, tj. Morzeova abeceda nije dvoznačna, već troznačna.

Ali šta je sa kompjuterskim kodiranjem, gdje se koristi binarni alfabet? Jedan od najjednostavnijih, ali veoma efikasnih načina za konstruisanje kodova različitih dužina koji ne zahtevaju poseban separator je D. Huffman algoritam (D.A. Huffman, 1952). Koristeći ovaj algoritam, gradi se binarno stablo koje omogućava jedinstveno dekodiranje binarni kod, koji se sastoji od znakovnih kodova različitih dužina. Stablo se naziva binarnim ako svaki vrh ima dvije grane. Na pirinač. 3.2 prikazuje primjer takvog stabla, izgrađenog za englesku abecedu, uzimajući u obzir učestalost pojavljivanja njegovih slova. Kodovi dobijeni na ovaj način mogu se sažeti u tabelu.

Tabela 3.2

Pismo

Huffman Code

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

Weneedmor Esnowforbe T strije se pretvara u šifru: 011101 100 1100 100 100 1101100011111010111100 IT 1100 1110 011101 01001 1110 1011 011100 100 001001 100 10110110 110100011 1010 1010 1100 00001, koji će ga, kada ga postavite u memoriju, pogledajte:

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

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

Obrnuti zadatak - prijelaz s Huffmanovih kodova na slova engleske abecede - izvodi se pomoću binarnog stabla (vidi sliku). U ovom slučaju, prekodiranje se događa skeniranjem teksta s lijeva na desno od prve cifre, 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 počinje ponovo od vrha binarnog stabla.

Lako je pretpostaviti da je prikazano drvo skraćena verzija Huffmanovog koda. U potpunosti, mora uzeti u obzir sve moguće znakove koji se nalaze u tekstu: razmake, znakovi interpunkcije, zagrade itd.

U programima koji komprimiraju tekst – arhivatorima, za svaki obrađeni tekst se gradi tabela učestalosti pojavljivanja znakova, a zatim se formiraju kodovi različite dužine poput Huffmanovih kodova. U ovom slučaju, kompresija teksta postaje još efikasnija, jer je kodiranje posebno prilagođeno ovom tekstu. I što je veća veličina teksta, veći je efekat kompresije.

Kratko o main

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

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

Huffmanov algoritam kompresije je predstavljen kao binarno stablo.

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

Pitanja i zadaci

    Koja je razlika između kodova konstantne i varijabilne dužine?

    Kako kodovi promjenjive dužine dozvoljavaju da se tekst "komprimira"?

    Kodirajte sljedeći tekst koristeći ASCII kodove i Huffman kodove: HAPPYNEWYEAR. Izračunajte potrebnu količinu memorije u oba slučaja.

4. Dekodirajte pomoću binarnog stabla (pogledajte 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 pažnju treba posvetiti analizi njihove cijene. Cena koštanja je vrednovanje prirodnih resursa, sirovina, materijala, goriva, energije, osnovnih sredstava, resursa rada i drugih troškova za njihovu proizvodnju i prodaju koji se koriste u procesu proizvodnje proizvoda (radova, usluga). Definicija troškova proizvodnje podrazumijeva se kao obrač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 preduzeću. A ako ne, onda je proizvodnja neisplativa. One. oslobađanje će biti opravdano kada preduzeće dostigne obim proizvodnje i prodaje koji odgovara tački nulte dobiti. TNP je obim prodaje od kojeg kompanija ostvaruje profit.

Takođe, u skladu sa Pareto kriterijumom optimalnosti za strukturu autputa, output će biti efikasan ako istovremeno maksimizira korisnost kupaca i ne ide dalje od raspoloživih resursa (tj. leži na krivulji proizvodnih mogućnosti). Struktura outputa je efikasna ako su proizvođači i potrošači istovremeno u ravnoteži.

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

Marginalni prihod obračunava se kao razlika između prihoda od prodaje proizvoda (bez PDV-a i akciza) i varijabilni troškovi. Drugim riječima, MD je zbir fiksnih troškova i dobiti od prodaje. MD mora pokriti fiksne troškove preduzeća i obezbijediti mu dobit od prodaje proizvoda, radova, usluga. Ova cifra se još naziva i iznos pokrića.

MD = Prihodi od prodaje - varijabilni troškovi

MD = Fiksni troškovi + Dobit od prodaje

Računovodstvena dobit - ukupni profit od preduzetničku aktivnost izračunato iz računovodstva. Računovodstvena dobit izračunava se kao razlika između ukupnog prihoda preduzeća i računovodstvenih (eksplicitnih) troškova. Računovodstveni troškovi su trošak resursa koje firma koristi po njihovim stvarnim cijenama nabavke. 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 preduzeća za plaćanje eksterni resursi, tj. resurse koji nisu u vlasništvu firme. Na primjer, sirovine, materijali, gorivo, radna snaga itd.

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

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

Koji su glavni faktori koji utiču na vrednost graničnog prihoda preduzeća?

Važnu ulogu u potkrepljivanju upravljačkih odluka igra marginalna (ograničavajuća) analiza, čija se metodologija zasniva na proučavanju odnosa između tri grupe najvažnijih ekonomski pokazatelji"troškovi - obim proizvodnje (prodaje) proizvoda - profit" i predviđanje kritične i optimalne vrijednosti svakog od ovih pokazatelja kada se postavljena vrijednost drugi. Glavna kategorija analize marže je marginalni prihod. Marginalni prihod (profit) je razlika između prihoda od prodaje (bez PDV-a i akciza) i varijabilnih troškova. Na promjenu graničnog dohotka mogu uticati (zajedno ili odvojeno) dva faktora – povećanje (smanjenje) prihoda i troškova. Važan faktor, koji utiče na rentabilnost pojedinih objekata granične dobiti, je vrijednost i struktura nepotpunog troška. Vrijednost graničnog prihoda (profita) direktno zavisi od vrijednosti parcijalnog troška. Preovlađivanje varijabilnih troškova u strukturi parcijalnih troškova ukazuje na činjenicu da u cilju postizanja rentabilnosti ovaj objekat marginalni prihod ne zahtijeva značajan obim prodaje. Prevladavanje direktnih fiksnih troškova u strukturi nepotpunih troškova ukazuje na potrebu povećanja prodaje kako bi se oni nadoknadili.

Blok B

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

Smanjeni trošak industrijskih proizvoda u direktnim troškovima se uzima u obzir i planira samo u smislu varijabilnih troškova. Fiksni troškovi se prikupljaju na posebnom računu i terete se direktno na teret računa finansijskih rezultata u određenim intervalima, na primjer „Dobit i gubitak“. Varijabilni troškovi se takođe koriste za procenu stanja državnih preduzeća u skladištima na početku i na kraju godine i WIP. Puna cijena koštanja u računovodstvu uključuje uključivanje fiksnih i varijabilnih troškova u cijenu koštanja.

Opcije za obračun troškova međusobno izvedenih radova odgovarajućih transfernih cijena.

Najtačniji rezultati distribucije međusobno pruženih usluga daju se rješenjem sistema linearnih jednadžbi troškova za svaki pododjel unutar pogona. IN opšti pogled sistem jednadžbi mesta i mesta troškova ima sledeć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 koeficijenti raspodjele troškova j mjesto troškova.

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

Gdje DO - koeficijent raspodjele; R pm troškovi primarnih sjedišta; Q pm - obim usluga koje su ukupno potrošene sve divizije glavne proizvodnje preduzeća.

Koristeći metoda distribucije koraka utvrđuje se redosled otpisivanja troškova primarnih mesta troškova. Obično počinju sa pomoćnim radionicama i farmama, čije usluge su svima potrebne. Koeficijent raspodjele u ovom slučaju se izračunava po formuli

Gdje R fix , R var - fiksni i varijabilni troškovi alocirani od strane prethodnog mjesta troškova; Q pm - obim primarnih usluga prebačen u sljedeću diviziju preduzeća.

Sa stanovišta kontrole veličine i isplativosti troškova mesta i centara u okviru preduzeća, izdvaja se metod budžetiranje troškova i metod poređenje troškova i performansi. U prvom slučaju, za svako troškovno mjesto ili centar odgovornosti sastavlja se budžet (predračun) troškova i prema računovodstvenim podacima njihove stvarne vrijednosti kontrolišu njegovo poštovanje. Prilikom korišćenja metode poređenja troškova i produktivnosti u kontekstu svake divizije preduzeća, otkrivaju se odstupanja uzrokovana promenom veličine produktivnosti ili stepena iskorišćenosti proizvodnih kapaciteta i nivoa troškova mesta ili centra.

Blok C

1. Šta određuje i kako se mjeri iskorišćenost kapaciteta preduzeća?

Iskorišćenost kapaciteta je nivo korišćenja potencijalnih proizvodnih mogućnosti, koje se procenjuju odnosom stvarne proizvodnje prema maksimalnom mogućem.

Iskorišćenost kapaciteta se generalno meri vremenom korišćenja ovaj resurs po danu, sedmici, mjesecu. Moguće je izračunati opterećenje PM-a kao zbir proizvoda zapremine proizvedenih proizvoda svake vrste do vremena proizvodnje jedinice proizvodnje svake vrste u istraživanom području.

Po pravilu, PM se ne koristi u potpunosti zbog uticaja sledećih ograničavajućih faktora: nivoa potražnje za proizvedenim proizvodima, količine raspoloživih materijalnih resursa (materijala, sirovina, goriva) potrebnih za proizvodnju, ograničene mogućnosti korišćenje drugih kapaciteta preduzeća, što utiče na maksimalno mogući nivo proizvodnje u jednom ciklusu itd.

2. Koji troškovi zavise od stepena iskorišćenosti proizvodnih kapaciteta preduzeća ?

Proizvodni kapacitet ili mogućnosti preduzeća nije homogena, već homogena vrednost, koju čine proizvodni kapaciteti pojedinih odeljenja (radionica, pogona) preduzeća. Iz raznih razloga, uključujući i objektivne, ovi kapaciteti nisu u potpunosti međusobno povezani, npr različite performanse mašine, mašine i druga oprema. Iz ovoga je jasno da troškove materijalnih i radnih resursa treba uzeti u obzir na osnovu određenog stepena iskorišćenosti proizvodnih kapaciteta, po pravilu manje od 100%. Nedovoljno iskorišten kapacitet znači neiskorištene mogućnosti za povećanje proizvodnje i smanjenje troškova proizvodnje. Iz toga proizilazi da nivo opterećenja PM utiče na iznos varijabilnih troškova.

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

Veličina ukupnog troška preduzeća - bruto troškovi preduzeća (?), koji je skup stalnih, nepromenljivih troškova i varijabilnih troškova, u zavisnosti od obima proizvedenih i prodatih proizvoda.

pros

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

Pruža solidnu osnovu za identifikaciju materijalnih varijacija u poređenjima troškova;

Pomaže u poboljšanju efikasnosti upravljanja i kontrole troškova, jer zahtijeva detaljno proučavanje 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 kriterijum procijeniti stvarne troškove;

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

Omogućava vam da postavite cijene na osnovu unaprijed određene jedinične cijene;

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

Minusi

Velika pažnja je usmjerena na troškove i produktivnost rada;

Ne pruža preduzeću dovoljno informacija da pronađe načine da poboljša svoje aktivnosti;

Ne pokriva sve aspekte povećanja efikasnosti proizvodnje;

Odnosi se na periodične troškove;

Uspjeh aplikacije zavisi od sastava i kvaliteta 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?

Kriterijum za podelu troškova na fiksne i varijabilne je njihov zavisnost od obima proizvodnje.

fiksni troškovi ne mijenjaju se automatski s promjenama u obima proizvodnje ili s promjenama u proizvodnom kapacitetu. Stoga je koncept fiksnih troškova primenljiviji za periode u toku godine, kada se sastav i stepen korišćenja proizvodnih kapaciteta preduzeća značajno ne menjaju.

Nomenklatura fiksnih troškova ne može biti ista za sve industrije i mora se specificirati uzimajući u obzir specifičnosti preduzeća. Fiksni troškovi obično uključuju kamate na kredite, zakupninu, plate rukovodećih radnika, troškove zaštite prostorija, održavanja i popravke zgrada, troškove ispitivanja, eksperimenata i istraživanja itd. Fiksni troškovi uključuju i troškove amortizacije (za obnovu osnovnog kapitala). Nivo fiksnih troškova po jedinici proizvodnje ima tendenciju smanjenja u odnosu na povećanje proizvodnje, i obrnuto.

Povećanje konstanti povezano je sa rastom proizvodnih kapaciteta i nastaje zbog kapitalnih ulaganja i dodatnog privlačenja obrtnih sredstava. Smanjenje apsolutna vrijednost Fiksni troškovi se postižu racionalizacijom proizvodnje, smanjenjem troškova upravljanja, prodajom viškova osnovnih sredstava.

varijabilni troškovi povećanje ili smanjenje apsolutnog iznosa u zavisnosti od promene obima proizvodnje i dele se na proporcionalne i neproporcionalne delove.

Proporcionalni troškovi obuhvataju troškove sirovina, osnovnog materijala, poluproizvoda, plate glavnih radnika po komadu, pretežni deo troškova goriva i energije za tehnološke svrhe, troškove pakovanja i pakovanja 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 varijabilne dužine

KODIRANJE I KOMPRESIJU INFORMACIJA

Kodiranje je poređenje poruke prenesene ili snimljene u memoriji određenim nizom znakova, koji se obično naziva kodna riječ. Kodiranje može služiti u dvije svrhe. Prvi cilj je smanjenje dužine prenesena poruka(komprimiranje informacija), a drugi - dodavanje prenesenoj riječi Dodatne informacije, koji pomaže u otkrivanju i ispravljanju grešaka koje su se dogodile tokom prijenosa (kodiranje za ispravljanje šuma). U ovom predavanju se razmatra prva vrsta kodova.

Kodovi varijabilne dužine

Prvo pravilo za konstruisanje kodova promenljive dužine je da kratki kodovi treba dodijeliti znakovima koji se često pojavljuju, a duge znakove onima koji se rijetko pojavljuju. U ovom slučaju, šifre treba dodijeliti tako da se mogu dekodirati nedvosmisleno, a ne dvosmisleno. Na primjer, uzmite u obzir četiri znaka a 1 , a 2 , a 3 , a 4 . Ako se pojavljuju u poruci sa jednakom vjerovatnoćom ( str= 0,25), tada im dodjeljujemo četiri dvobitna koda: 00, 01, 10, 11. Sve vjerovatnoće su jednake, tako da kodovi promjenljive dužine neće komprimirati podatke. Za svaki znak sa kratkim kodom postoji znak sa dugi kod a prosječan broj bitova po karakteru će biti najmanje 2. Redundantnost podataka jednako vjerovatnih znakova je 0, a niz takvih znakova ne može se komprimirati korištenjem kodova promjenjive dužine (ili bilo koje druge metode).

Sada neka se ova četiri simbola pojave sa različitim vjerovatnoćama (vidi tabelu 12.1). U ovom slučaju postoji redundantnost koja se može ukloniti kodovima promjenjive dužine i komprimirati podatke tako da je potrebno manje od 2 bita po simbolu. Najmanji prosječni broj bitova po karakteru je 1,57, što je entropija ovog skupa znakova.

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

Tabela 12.1

Razmotrite niz 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 sa 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 karakteru je 1,85, što nije previše daleko od izračunate minimalne prosječne dužine. Međutim, ako pokušamo dekodirati sekvencu, ispostaviće se da je to Šifra _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 nijedan drugi kod znakova ne počinje sa 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. To je jednako 1, ali kodovi za a 2 i a 3 oba imaju na početku 01. Dakle, dekoder ne zna kako dalje: dekodira niz kao 1|010|01…, tj. a 1 a 3 a 2 …, ili kao 1|01|001…, tj. a 1 a 2 a 4 .... Dalji bitovi niza ne mogu ispraviti pozicije. Zbog toga Kod _1 je dvosmislen. oslobođeni ovog nedostatka. Šifra _2.

Šifra _2 ima takozvano svojstvo prefiksa, koje se može formulirati na sljedeći način: ako je određena sekvenca bitova odabrana kao kod bilo kojeg znaka, onda nijedan kod bilo kojeg drugog karaktera ne bi trebao imati ovaj niz na početku (kod znakova ne može biti prefiks drugog koda). Ako je red 01 kod za a 2 , onda drugi kodovi ne smiju početi sa 01. Dakle, kodovi za a 3 i a 4 mora početi sa 00. Prirodno je odabrati 000 i 001 za ovo.

Stoga, pri odabiru skupa kodova promenljive dužine, moraju se poštovati dva principa: 1) kraće kodne sekvence treba da budu dodeljene simbolima koji se često pojavljuju; 2) primljeni kodovi moraju imati svojstvo prefiksa. Slijedeći ove principe, mogu se konstruirati kratki, jedinstveno dekodirani kodovi, ali ne nužno i najbolji (tj. najkraći) kodovi. Pored ovih principa, potreban je i algoritam koji uvijek generiše skup najkraćih kodova (koji imaju najmanju prosječnu dužinu). Ulazni podaci ovog algoritma trebaju biti frekvencije (ili vjerovatnoće) znakova abecede. Takav algoritam je Huffmanovo kodiranje.

Treba napomenuti da ne samo statističke metode kompresije koriste kodove varijabilne dužine 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 enkodera i dekodera. Pretpostavimo da je neka datoteka (na primjer, tekstualna datoteka) komprimirana korištenjem prefiksnih kodova varijabilne dužine. Da bi izvršio dekodiranje, dekoder mora znati prefiks kod 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 se vrši kompresija. Između prolaza, koder, na osnovu prikupljenih informacija, kreira najbolji prefiks kod za ovu konkretnu datoteku. Ova metoda daje vrlo dobar omjer kompresije, ali je obično prespora praktična upotreba. Osim toga, u komprimovani fajl potrebno je dodati tabelu prefiksnih kodova kako bi je dekoder znao. Ovo degradira ukupne performanse 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 tokom izvršavanja programa, ali vrijednost varijable može.

Varijable uslovno dijelimo na ulazne (ono što je dato), izlazne (rezultat: ono što treba dobiti) i međuvarijable potrebne u procesu prorač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 ne postoji takav tip u Pascalu. Dakle, morate koristiti neke cjelobrojni tip. Veličina tipa određuje raspon brojeva za koje se program može koristiti. Ako opišete varijable ovako:

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

Bitan! Značenje varijabli opisanih u odjeljku Var, nedefinisano. Ponekad možete pronaći definiciju varijable kao memorijske ćelije koja sadrži vrijednost varijable. Podrazumijeva se da deklaracija varijable povezuje adresu ove ćelije sa 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 se upoređuje sa nulom. 0 je cjelobrojna konstanta. Moguće je (ali nije obavezno) definirati konstantu s vrijednošću 0, na sljedeći način:

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

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

Nula: cijeli broj = 0;

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

Upotreba varijable se kontrolira u vrijeme kompajliranja. Kompajler će obično osujetiti pokušaje postavljanja for varijabilna vrijednost pogrešan tip. Mnogi programski jezici automatski prebacuju vrijednost varijable na željeni tip. Po pravilu, takav implicitna konverzija tip programera početnika izvor je grešaka koje je teško pronaći. U Pascalu, implicitna konverzija tipa je prije izuzetak nego pravilo. Izuzetak je napravljen samo za konstante i varijable tipa INTEGER (cijeli brojevi), koji se mogu koristiti u izrazima tipa REAL (real). Zabrana automatska konverzija tipovi ne znači da Pascal nema mogućnosti konverzije podataka. Jesu, ali se moraju eksplicitno koristiti.

Top Related Articles