Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Kodet me gjatësi të ndryshueshme.

Kompresimi i informacionit në kujtesën e kompjuterit është një transformim i informacionit që çon në një reduktim të sasisë së memories së zënë duke ruajtur përmbajtjen e koduar. ekzistojnë menyra te ndryshme ngjeshja për tipe te ndryshme të dhëna. Vetëm për ngjeshja informacion grafik Përdoren rreth një duzinë metodash të ndryshme. Këtu do të shikojmë një nga mënyrat për të kompresuar informacionin e tekstit.

Në një tabelë kodimi me tetë bit (si ASCII), çdo karakter është i koduar në tetë bit dhe për këtë arsye zë 1 bajt në memorie. Në seksionin 1.3 të tekstit tonë u tha se shpeshtësia e paraqitjes së shkronjave (shkronjave) të ndryshme në tekst është e ndryshme. Aty u tregua gjithashtu se pesha e informacionit të simboleve është më e madhe, aq më e ulët është frekuenca e shfaqjes së saj. Ideja e kompresimit të tekstit në memorie kompjuterike: Shmangni kodimin e të gjithë karaktereve me kode të gjatësisë së njëjtë. Simbolet me më pak peshë informacioni, d.m.th. karakteret që shfaqen shpesh duhet të kodohen me një kod më të shkurtër në krahasim me karakteret që shfaqen më rrallë. Me këtë qasje, ju mund të zvogëloni ndjeshëm sasinë e kodit total të tekstit dhe, në përputhje me rrethanat, hapësirën që ai zë në kujtesën e kompjuterit.

Kjo qasje ka qenë e njohur për një kohë të gjatë. Përdoret në kodin e njohur Morse, disa kode të të cilit janë dhënë në tabelë. 3.1, ku "pika" është e koduar si zero, dhe "dash" si një.

Tabela 3.1

Letër

Siç mund të shihet nga ky shembull dhe tabela. 3.1, shkronjat që shfaqen më shpesh kanë një kod më të shkurtër.

Ndryshe nga kodet gjatësi të barabartë, të cilat përdoren në standardin ASCII, në këtë rast ekziston problemi i ndarjes midis kodeve të shkronjave individuale. Në kodin Morse, ky problem zgjidhet me ndihmën e një "pauze" (hapësire), e cila, në fakt, është karakteri i tretë i alfabetit Morse, d.m.th. Alfabeti Morse nuk është me dy, por me tre karaktere.

Por çfarë ndodh me kodimin kompjuterik, ku përdoret alfabeti binar? Një nga mënyrat më të thjeshta, por shumë efektive për të ndërtuar kode me gjatësi të ndryshme që nuk kërkojnë një kufizues të veçantë është algoritmi D. A. Huffman (D. A. Huffman, 1952). Duke përdorur këtë algoritëm, ndërtohet një pemë binare, e cila ju lejon të deshifroni pa mëdyshje kod binar, i përbërë nga kode karakteresh me gjatësi të ndryshme. Një pemë binare është ajo që ka dy degë që vijnë nga çdo kulm. Aktiv oriz. 3.2 tregon një shembull të një peme të tillë të ndërtuar për alfabetin anglez, duke marrë parasysh shpeshtësinë e shfaqjes së shkronjave të saj. Kodet e marra në këtë mënyrë mund të përmblidhen në një tabelë.

Tabela 3.2

Letër

Kodi Huffman

Duke përdorur tabelën 3.2 teksti i lehtë për t'u koduar. Kështu, për shembull, një varg prej 29 karakteresh

WENEEDMOR ESNOWFORBE TTERSKIING është konvertuar në kodin: 011101 100 1100 100 100 110110001111101011100 IT 1100 1110 011101 01001 101 110 00 10110110 110100011 1010 1010 1100 00001, i cili, kur vendoset në memorie bajt pas bajt, do të marrë formën:

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

Kështu, teksti që merr 29 bajt në kodimin ASCII do të marrë vetëm 16 bajt në kodimin Huffman.

Detyra e kundërt - kalimi nga kodet Huffman në shkronjat e alfabetit anglez - kryhet duke përdorur një pemë binare (shih figurën). Në këtë rast, rikodimi ndodh duke skanuar tekstin nga e majta në të djathtë nga shifra e parë, duke lëvizur përgjatë degëve përkatëse (që kanë të njëjtin kod binar) të pemës derisa të arrijmë në kulmin fundor me shkronjën. Pas zgjedhjes së një shkronje në kod, procesi i deshifrimit të shkronjës tjetër fillon përsëri nga maja e pemës binare.

Është e lehtë të merret me mend se pema e treguar është një version i shkurtuar i kodit Huffman. Duhet të marrë plotësisht parasysh të gjitha karakteret e mundshme që gjenden në tekst: hapësira, shenjat e pikësimit, kllapa etj.

Në programet që kompresojnë tekstin - arkivuesit, për secilin tekst të përpunuar ndërtohet një tabelë e shpeshtësisë së shfaqjes së simboleve dhe më pas krijohen kode me gjatësi të ndryshme, si kodet Huffman. Në këtë rast, kompresimi i tekstit bëhet edhe më efikas, pasi kodimi përshtatet në mënyrë specifike për tekstin e dhënë. Dhe sa më e madhe të jetë madhësia e tekstit, aq më i madh është efekti i kompresimit.

I shkurtër O gjeja kryesore

Kompresimi i informacionit është transformimi i informacionit që çon në një reduktim të sasisë së memories së zënë duke ruajtur përmbajtjen e koduar.

Ideja e një metode të kompresimit të tekstit: gjatësia e një kodi të karakterit zvogëlohet ndërsa pesha e tij e informacionit zvogëlohet, d.m.th. me rritje të shpeshtësisë së paraqitjes në tekst.

Algoritmi i kompresimit Huffman paraqitet si pemë binare.

Arkivuesit që përdorin algoritmin Huffman ndërtojnë pemën e tyre të kodimit binar çdo tekst.

Pyetje dhe detyra

    Cili është ndryshimi midis kodeve me gjatësi konstante dhe të ndryshueshme?

    Si ju lejojnë kodet me gjatësi të ndryshueshme të "ngjeshni" tekstin?

    Kodoni tekstin e mëposhtëm duke përdorur kodet ASCII dhe Huffman: HAPPYNEWYEAR. Llogaritni sasinë e kërkuar të memories në të dyja rastet.

4. Deshifroni kodin e mëposhtëm duke përdorur një pemë binare (shih figurën):

11110111 10111100 00011100 00101100 10010011 01110100 11001111 11101101 001100

Pema binare e alfabetit anglez e përdorur për kodimin Huffman

Blloku A

Kostot fikse

Kostot e ndryshueshme



Gjatë analizimit të produkteve të prodhuara, vëmendja kryesore duhet t'i kushtohet analizës së kostos së tyre. Kostoja është vlerësimi i burimeve natyrore, lëndëve të para, materialeve, karburantit, energjisë, aseteve fikse, burimeve të punës dhe kostove të tjera për prodhimin dhe shitjen e tij të përdorura në procesin e prodhimit të produkteve (punëve, shërbimeve). Me përcaktimin e kostos së prodhimit nënkuptohet llogaritja e kostove për njësi. produkteve. Prodhimi i produkteve mund të konsiderohet i justifikuar nëse të ardhurat nga shitja e produkteve mbulojnë të gjitha shpenzimet e ndërmarrjes. Dhe nëse jo, atëherë prodhimi është i padobishëm. Ato. prodhimi do të justifikohet kur ndërmarrja të arrijë vëllimin e prodhimit dhe shitjes që i përgjigjet pikës zero të fitimit. Mallrat e konsumit janë vëllimi i shitjeve nga i cili kompania bën një fitim.

Gjithashtu, në përputhje me kriterin e optimalitetit Pareto për strukturën e prodhimit, prodhimi do të jetë efektiv nëse njëkohësisht maksimizon dobinë e blerësve dhe nuk shkon përtej kufijve të burimeve të disponueshme (d.m.th., ai shtrihet në kurbën e mundësive të prodhimit). Struktura e prodhimit është efektive nëse prodhimi dhe konsumi janë njëkohësisht në një gjendje ekuilibri.

Cili është ndryshimi midis fitimit kontabël të një ndërmarrje dhe të ardhurave marxhinale që ka marrë gjatë të njëjtës kohë?

Të ardhura margjinale llogaritet si diferencë ndërmjet të ardhurave nga shitja e produkteve (pa TVSH dhe akciza) dhe shpenzimet e ndryshueshme. Me fjalë të tjera, MD është shuma e shpenzimeve fikse dhe fitimit nga shitjet. MD duhet të mbulojë kostot fikse të ndërmarrjes dhe t'i sigurojë asaj fitim nga shitja e produkteve, punëve dhe shërbimeve. Kjo shifër quhet edhe shuma e mbulimit.

MD = Të ardhurat nga shitjet - kosto variabile

MD= Kostot fikse + Fitimi nga shitjet

fitimi i kontabilitetit - fitimi total i marrë nga aktiviteti sipërmarrës, llogaritur sipas kontabilitetit. Fitimi kontabël llogaritet si diferencë ndërmjet të ardhurave totale të ndërmarrjes dhe kostove kontabël (të shprehura). Kostot kontabël janë kostoja e burimeve të përdorura nga kompania me çmimet aktuale të blerjes së tyre. Kostot eksplicite pasqyrohen tërësisht në kontabilitet, prandaj quhen edhe kosto kontabël. Kostot eksplicite përcaktohen nga shuma e shpenzimeve të ndërmarrjes për të paguar burimet e jashtme, d.m.th. burimet që nuk janë në pronësi të firmës. Për shembull, lëndët e para, materialet, karburantet, puna, etj.

Fitimi kontabël = Të ardhurat totale të ndërmarrjes - Kostot kontabël (Eksplicite).

(Kështu, fitimi kontabël është më i vogël se marzhi i kontributit nga shuma e kostove fikse të qarta.)

Cilët janë faktorët kryesorë që ndikojnë në shumën e të ardhurave marxhinale të një ndërmarrje?

Një rol të madh në justifikimin e vendimeve të menaxhimit luan analiza marxhinale (margjinale), metodologjia e së cilës bazohet në studimin e marrëdhënies midis tre grupeve më të rëndësishme. treguesit ekonomikë"kosto - vëllimi i prodhimit (shitjeve) të produkteve - fitimi" dhe parashikimi i vlerës kritike dhe optimale të secilit prej këtyre treguesve në vlera e vendosur të tjerët. Kategoria kryesore e analizës marxhinale janë të ardhurat margjinale. Të ardhurat marxhinale (fitimi) janë diferenca ndërmjet të ardhurave nga shitjet (pa TVSH dhe akciza) dhe kostove variabile. Ndryshimet në të ardhurat marxhinale mund të ndikohen (së bashku ose veçmas) nga dy faktorë - një rritje (ulje) e të ardhurave dhe kostos. Një faktor i rëndësishëm, që ndikon në rentabilitetin e objekteve individuale të fitimit margjinal është madhësia dhe struktura e kostos së pjesshme. Shuma e të ardhurave marxhinale (fitimit) varet drejtpërdrejt nga shuma e kostos së pjesshme. Mbizotërimi i kostove variabile në strukturën e kostos jo të plotë tregon faktin se për të arritur vlerën e reduktuar të këtij objekti marzhi i kontributit nuk kërkon vëllim të konsiderueshëm shitjesh. Mbizotërimi i kostove fikse direkte në strukturën e kostos jo të plotë tregon nevojën për të rritur vëllimin e shitjeve për t'i rikuperuar ato.

Blloku B

Cili është ndryshimi midis kostos së reduktuar të prodhimit të një ndërmarrje në kosto direkte dhe kostos së plotë të saj në kontabilitet?

Kostoja e reduktuar e produkteve industriale në kosto direkte merret parasysh dhe planifikohet vetëm në terma të kostove variabile. Shpenzimet fikse mblidhen në një llogari të veçantë dhe debitohen drejtpërdrejt në një llogari të rezultateve financiare, si Fitimi dhe Humbja, në intervale të caktuara. Balancat e GP në magazina në fillim dhe në fund të vitit dhe puna në vazhdim vlerësohen gjithashtu në bazë të kostove variabile. Kostoja e plotë në kontabilitet përfshin përfshirjen e shpenzimeve fikse dhe të ndryshueshme në kosto.

Opsionet për llogaritjen e kostos së punës së ofruar reciprokisht dhe çmimet përkatëse të transferimit.

Rezultatet më të sakta të shpërndarjes së shërbimeve të ofruara reciprokisht sigurohen duke zgjidhur një sistem të ekuacioneve lineare të kostos për çdo ndarje në fabrikë. NË pamje e përgjithshme Sistemi i ekuacioneve për vendet dhe qendrat e kostos ka formën e mëposhtme:

Ku Rni - shuma e kostove primare të vendeve; qi– vëllimi i shërbimeve të ofruara për njësinë; n– vendi i shpenzimeve i- ndarja ( i = 1, ... n); k i , k j - koeficientët e shpërndarjes së kostos j-vendi i shpenzimeve.

metodë e njëanshme kostoja e shërbimeve të vendeve parësore lidhet vetëm me prodhimin kryesor të ndërmarrjes, shumën e shpenzimeve që lidhen me të shkëmbim i ndërsjellë aktiviteti nuk merret parasysh. Koeficientët e shpërndarjes llogariten duke përdorur formulën:

Ku TE - koeficienti i shpërndarjes; R pasdite kostot e vendeve kryesore; P pm - vëllimi i shërbimeve të konsumuara në total nga të gjitha divizionet e prodhimit kryesor të ndërmarrjes.

Duke përdorur metoda e shpërndarjes me hapa përcaktohet sekuenca e fshirjes së kostove të qendrave të kostos parësore. Zakonisht ata fillojnë me punëtori dhe ferma ndihmëse, shërbimet e të cilave janë të nevojshme për të gjithë. Koeficienti i shpërndarjes në këtë rast llogaritet duke përdorur formulën

Ku R fix, R var - kostot fikse dhe variabile të alokuara nga qendra e mëparshme e kostos; P PM - vëllimi i shërbimeve parësore të transferuara në ndarjen tjetër të ndërmarrjes.

Nga pikëpamja e kontrollit mbi madhësinë dhe kosto-efektivitetin e kostove të vendeve dhe qendrave brenda ndërmarrjes, ekziston një metodë buxhetimi i kostos dhe metodë krahasimi i kostove dhe produktivitetit. Në rastin e parë, për çdo vend shpenzimi ose qendër përgjegjësie, hartohet një buxhet (vlerësim) i kostove dhe, bazuar në të dhënat kontabël të vlerës së tyre aktuale, monitorohet përputhshmëria me të. Kur përdorni metodën e krahasimit të kostove dhe produktivitetit në kontekstin e secilës ndarje të ndërmarrjes, identifikohen devijimet e shkaktuara nga ndryshimet në vlerën e produktivitetit ose shkallën e përdorimit të kapaciteteve prodhuese dhe nivelin e kostove të një lokacioni ose qendre.

Blloku C

1. Nga çfarë varet shfrytëzimi i kapacitetit prodhues të një ndërmarrje dhe si matet ai?

Shfrytëzimi i kapaciteteve prodhuese është niveli i përdorimit të aftësive të mundshme prodhuese, të cilat vlerësohen nga raporti i prodhimit aktual të prodhimit me maksimumin e mundshëm.

Përdorimi i kapacitetit matet zakonisht me kohën e përdorimit të këtij burimi në ditë, javë, muaj. Ngarkesa PM mund të llogaritet si shuma e produkteve të vëllimit të produkteve të prodhuara të çdo lloji dhe koha e prodhimit të një njësie produkti të çdo lloji në zonën e studimit.

Si rregull, PM-të nuk përdoren plotësisht për shkak të ndikimit të faktorëve kufizues të mëposhtëm: niveli i kërkesës për produkte të prodhuara, vëllimi i burimeve materiale në dispozicion (materiale, lëndë të para, lëndë djegëse) të nevojshme për prodhim, mundësi e kufizuar shfrytëzimi i kapaciteteve të tjera të ndërmarrjes, duke ndikuar në nivelin maksimal të mundshëm të prodhimit brenda një cikli etj.

2. Cilat kosto varen nga shkalla e shfrytëzimit të kapacitetit prodhues të ndërmarrjes? ?

Kapaciteti ose aftësitë prodhuese të një ndërmarrjeje nuk janë një sasi homogjene, por homogjene, e përbërë nga kapacitetet prodhuese të divizioneve individuale (dyqane, seksione) të ndërmarrjes. Për arsye të ndryshme, përfshirë objektive, këto fuqi nuk janë plotësisht të ndërlidhura me njëra-tjetrën, për shembull, për shkak të performancë të ndryshme makina, makineri dhe pajisje të tjera. Nga këtu është e qartë se kostot e burimeve materiale dhe të punës duhet të merren parasysh bazuar në një nivel të caktuar të shfrytëzimit të kapaciteteve prodhuese, zakonisht më pak se 100%. Kapaciteti i pashfrytëzuar nënkupton mundësi të papërdorura për të rritur prodhimin dhe për të ulur kostot e prodhimit. Nga kjo rrjedh se niveli i ngarkesës së PM-së ndikon në madhësinë e kostove të ndryshueshme.

3. Sa është madhësia shuma totale shpenzimet e kompanisë?

Madhësia e shumës totale të shpenzimeve të ndërmarrjes është kostot bruto të ndërmarrjes (?), të cilat janë një grup kostosh konstante, të pandryshueshme dhe kosto të ndryshueshme, në varësi të vëllimit të produkteve të prodhuara dhe të shitura.

pro

Sistemi standard i kostos ju lejon të zvogëloni ndjeshëm vëllimin punë kontabiliteti;

Ofron një bazë solide për identifikimin e variacioneve të rëndësishme në krahasimet e kostos;

Ndihmon në përmirësimin e efikasitetit të menaxhimit dhe kontrollit të kostos, pasi kërkon një studim të hollësishëm të të gjitha funksioneve prodhuese, administrative dhe të shitjeve të ndërmarrjes, gjë që rezulton në zhvillimin e qasjeve më optimale ndaj menaxhimit duke ulur kostot;

Shpenzimet standarde shërbejnë kriteri më i mirë për të vlerësuar kostot aktuale;

Ofron përdoruesve informacione për kostot e pritshme të prodhimit dhe shitjes së produkteve;

Ju lejon të vendosni çmimet bazuar në një kosto të paracaktuar për njësi;

Ju lejon të hartoni një raport mbi të ardhurat dhe shpenzimet, duke identifikuar devijimet nga normat dhe arsyet e shfaqjes së tyre.

Minuset

Shumë vëmendje i kushtohet kostos dhe produktivitetit të punës;

Nuk i jep ndërmarrjes informacion të mjaftueshëm për të gjetur mënyra për të përmirësuar aktivitetet e saj;

Ai nuk mbulon të gjitha aspektet e rritjes së efikasitetit të prodhimit;

Zbatohet për kostot periodike të përsëritura;

Suksesi i aplikimit varet nga përbërja dhe cilësia e kuadrit rregullator;

Pamundësia për të vendosur standarde për lloje të caktuara shpenzimet.

Blloku D

Blloku A

Cili është ndryshimi midis shpenzimeve fikse dhe të ndryshueshme të një biznesi?

Kriteri për ndarjen e kostove në fikse dhe variabile është i tyre varësia nga vëllimi i prodhimit.

Kostot fikse nuk ndryshojnë automatikisht me ndryshimet në vëllimet e prodhimit ose me ndryshimet në kapacitetin e prodhimit. Prandaj, koncepti i kostove fikse është më i zbatueshëm për periudhat brenda vitit kur përbërja dhe niveli i shfrytëzimit të kapacitetit prodhues të ndërmarrjes nuk ndryshon ndjeshëm.

Gama e kostove fikse nuk mund të jetë uniforme për të gjitha industritë dhe duhet të qartësohet duke marrë parasysh specifikat e ndërmarrjes. Shpenzimet fikse zakonisht përfshijnë interesat e huave, qiranë, pagat e punonjësve drejtues, kostot e sigurisë së ambienteve, mirëmbajtjen dhe riparimet e vazhdueshme të ndërtesave, kostot e testimit, eksperimenteve dhe kërkimeve, etj. Kostot fikse përfshijnë gjithashtu tarifat e amortizimit (për restaurimin e kapitalit fiks). Niveli i kostove fikse për njësi të prodhimit tenton të ulet relativisht me rritjen e vëllimit të prodhimit dhe anasjelltas.

Rritja e konstanteve shoqërohet me një rritje të kapacitetit prodhues dhe ndodh për shkak të investimeve kapitale dhe tërheqjes shtesë të kapitalit qarkullues. Ulje vlere absolute kostot fikse arrihen duke racionalizuar prodhimin, duke reduktuar kostot e menaxhimit dhe duke shitur asetet fikse të tepërta.

Kostot e ndryshueshme rriten ose zvogëlohen në sasi absolute në varësi të ndryshimeve të vëllimit të prodhimit dhe ndahen në pjesë proporcionale dhe joproporcionale.

Shpenzimet proporcionale përfshijnë kostot e lëndëve të para, materialeve bazë, produkteve gjysëm të gatshme, pagave të punëtorëve kryesorë me pagat e punës, pjesën mbizotëruese të kostove të karburantit dhe energjisë për qëllime teknologjike, kostot e kontejnerëve dhe paketimit të produkteve.

Kostot disproporcionale mund të jenë progresive (d.m.th., duke u rritur më shpejt se vëllimi i prodhimit) dhe degresive (nëse madhësia e rritjes së tyre është më e vogël se ndryshimi në sasinë e prodhimit)

Kodet me gjatësi të ndryshueshme

KODIMI DHE KOMPRESIMI I INFORMACIONIT

Kodimi është hartëzimi i një sekuence të caktuar simbolesh, që zakonisht quhet fjalë kodi, në një mesazh të transmetuar ose të regjistruar në memorie. Kodimi mund të shërbejë për dy qëllime. Qëllimi i parë është zvogëlimi i gjatësisë mesazhi i transmetuar(ngjeshja e informacionit), dhe e dyta - shtimi i fjalës së transmetuar informacion shtese, i cili ndihmon në zbulimin dhe korrigjimin e gabimeve që ndodhin gjatë transmetimit (kodimi rezistent ndaj zhurmës). Ky leksion diskuton llojin e parë të kodeve.

Kodet me gjatësi të ndryshueshme

Rregulli i parë për ndërtimin e kodeve me gjatësi të ndryshueshme është ai kode të shkurtra duhet t'u caktohet karaktereve që shfaqen shpesh dhe ato të gjata për karakteret që shfaqen rrallë. Në këtë rast, kodet duhet të caktohen në mënyrë që ato të mund të deshifrohen pa mëdyshje, dhe jo të paqarta. Për shembull, merrni parasysh katër karaktere a 1 , a 2 , a 3 , a 4 . Nëse ato shfaqen në një mesazh me probabilitet të barabartë ( fq= 0,25), pastaj u caktojmë katër kode me dy bit: 00, 01, 10, 11. Të gjitha probabilitetet janë të barabarta, kështu që kodet me gjatësi të ndryshueshme nuk do t'i kompresojnë të dhënat. Për çdo simbol me një kod të shkurtër ka një simbol me kod i gjatë dhe numri mesatar i biteve për karakter do të jetë së paku 2. Teprica e të dhënave të karaktereve ekuiprobabile është 0, dhe një varg karakteresh të tillë nuk mund të kompresohet duke përdorur kode me gjatësi të ndryshueshme (ose ndonjë metodë tjetër).

Le të shfaqen tani këto katër simbole me probabilitete të ndryshme (shih Tabelën 12.1). Në këtë rast, ka një tepricë që mund të hiqet duke përdorur kode me gjatësi të ndryshueshme dhe të dhënat kompresohen për të kërkuar më pak se 2 bit për simbol. Numri mesatar më i vogël i biteve për simbol është 1.57, që është entropia e atij grupi simbolesh.

Tabela 12.1 sugjeron kodin Kodi_ 1, i cili i cakton kodin më të shkurtër karakterit që shfaqet më shpesh. Numri mesatar i biteve për simbol është 1.77. Ky numër është afër minimumit teorik.

Tabela 12.1

Konsideroni një sekuencë prej 20 karakteresh

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 ,

në të cilën paraqiten katër karaktere me përafërsisht të njëjtat frekuenca. Ky varg do të korrespondojë me një fjalë kodi 37-bit:

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

Numri mesatar i biteve për karakter është 1.85, që nuk është shumë larg nga gjatësia mesatare minimale e llogaritur. Sidoqoftë, nëse përpiqeni të deshifroni sekuencën, rezulton se Kodi _1 ka pengesë domethënëse. Pika e parë fjalë kodikeështë 1, kështu që karakteri i parë i sekuencës mund të jetë vetëm a 1 sepse kodi për asnjë karakter tjetër nuk fillon me 1. Karakteri tjetër është 0, por kodet për karakteret janë a 2 , a 3 , a 4 fillojnë të gjitha me 0, kështu që dekoderi duhet të lexojë karakterin tjetër. Është e barabartë me 1, por kodet për a 2 dhe a 3 të dyja kanë 01 në fillim, prandaj, dekoderi nuk di si të vazhdojë: deshifroni vargun si 1|010|01..., pra. a 1 a 3 a 2..., ose si 1|01|001..., domethënë a 1 a 2 a 4 .... Bitë të mëtejshme në sekuencë nuk mund ta korrigjojnë situatën. Kjo është arsyeja pse Kodi _1 është e paqartë. Të lirë nga ky disavantazh Kodi _2.

Kodi _2 ka të ashtuquajturën veti të prefiksit, e cila mund të formulohet si më poshtë: nëse një sekuencë e caktuar bitesh zgjidhet si kod i një simboli, atëherë asnjë kod i asnjë simboli tjetër nuk duhet ta ketë këtë sekuencë në fillim (kodi i një simboli nuk mund të jetë parashtesë e kodit të një karakteri tjetër). Nëse rreshti 01 është kodi për a 2, atëherë kodet e tjera nuk duhet të fillojnë me 01. Prandaj, kodet për a 3 dhe a 4 duhet të fillojë me 00. Është e natyrshme të zgjedhësh 000 dhe 001 për këtë.

Prandaj, kur zgjidhni një grup kodesh me gjatësi të ndryshueshme, duhet të respektohen dy parime: 1) sekuenca kodesh më të shkurtra duhet t'u caktohen karaktereve që shfaqen shpesh; 2) kodet e marra duhet të kenë vetinë e prefiksit. Duke ndjekur këto parime, është e mundur të ndërtohen kode të shkurtra, të dekodueshme në mënyrë unike, por jo domosdoshmërisht kodet më të mira (domethënë më të shkurtra). Përveç këtyre parimeve, nevojitet një algoritëm që prodhon gjithmonë grupin e kodeve më të shkurtra (ato me gjatësinë mesatare më të vogël). Hyrja në këtë algoritëm duhet të jetë frekuenca (ose probabilitetet) e karaktereve të alfabetit. Një algoritëm i tillë është kodimi i Huffman.

Duhet të theksohet se jo vetëm metodat statistikore të kompresimit përdorin kode me gjatësi të ndryshueshme për të koduar karaktere individuale. Kjo qasje përdoret, veçanërisht, në kodimin aritmetik.

Para se të përshkruajmë metodat e kodimit statistikor, le të ndalemi në ndërveprimin midis koduesit dhe dekoderit. Le të supozojmë se disa skedarë (për shembull, një skedar teksti) është ngjeshur duke përdorur kode prefiksi me gjatësi të ndryshueshme. Për të deshifruar, dekoderi duhet të dijë kodi i prefiksitçdo personazh. Kjo mund të arrihet në tre mënyra.

Metoda e parë është që një grup kodesh prefiks zgjidhet një herë dhe përdoret nga të gjithë koduesit dhe dekoderat. Kjo metodë përdoret, për shembull, në komunikimet me faks. Metoda e dytë është që kodimi kryhet në dy kalime. Në kalimin e parë, koduesi lexon skedarin që do të kodohet dhe mbledh informacionin e nevojshëm statistikor. Kalimi i dytë kryen kompresim. Në mes kalimeve, koduesi, bazuar në informacionin e mbledhur, krijon kodin më të mirë të prefiksit për këtë skedar të veçantë. Kjo metodë jep një raport shumë të mirë kompresimi, por zakonisht është shumë i ngadaltë për përdorim praktik. Përveç kësaj, në skedar i ngjeshurështë e nevojshme të shtohet një tabelë e kodeve të parashtesave në mënyrë që dekoderi ta dijë atë. Kjo degradon performancën e përgjithshme të algoritmit. Kjo qasje ndaj kompresimit statistikor quhet kompresim gjysmë-përshtatës.

Për të paraqitur sasitë (të dhënat) në një program, përdoren konstante dhe variabla. Të dy kanë një emër (identifikues) dhe një vlerë. Dallimi është se vlera e një konstante nuk mund të ndryshohet gjatë ekzekutimit të programit, por vlera e një ndryshore mund.

Në mënyrë konvencionale, ne i ndajmë variablat në hyrje (ajo që jepet), output (rezultat: çfarë duhet të merret) dhe ato të ndërmjetme të nevojshme në procesin e llogaritjes. Për shembull, për një program për llogaritjen e pjesëtuesit më të madh të përbashkët (algoritmi Euklidian), variablat hyrëse janë m dhe n, ndryshorja e ndërmjetme është r. Variabla e daljes është gjithashtu n. Këto variabla duhet të jenë të tipit "numra natyrorë". Por nuk ka një lloj të tillë në Pascal. Prandaj do të duhet të përdorni disa lloj i tërë. Madhësia e tipit përcakton gamën e numrave për të cilët mund të përdoret programi. Nëse i përshkruani variablat si kjo:

kjo është e njëjta gjë një numër i madh në hyrje mund të merrni 32767 = 2 16 - 1.

E rëndësishme! Kuptimi i variablave të përshkruar në seksion Var, i papërcaktuar. Ndonjëherë mund të gjeni përkufizimin e një ndryshoreje si një qelizë memorie që përmban vlerën e ndryshores. Nënkuptohet se përshkrimi i ndryshores lidh adresën e kësaj qelize me emrin e ndryshores, domethënë emri përdoret si adresa e qelizës së kujtesës ku përmbahet vlera. Por vetë kuptimi ende nuk është përcaktuar.

Në algoritmin Euklidian, vlera e mbetjes r krahasohet me zero. 0 është një konstante numër i plotë. Është e mundur (por nuk kërkohet) të përcaktohet një konstante me vlerë 0, për shembull, si kjo:

Gjatë procesit të përpilimit, identifikuesi Zero në tekstin e programit do të zëvendësohet me vlerën e tij numerike.

Lloji i konstantës Zero nuk është i dukshëm. Zero ekziston në çdo lloj numëri të plotë. Në seksionin e konstantave, mund të përshkruani një konstante të shtypur duke specifikuar llojin dhe vlerën:

Zero: numër i plotë = 0;

Por tani Zero është bërë një ndryshore e rregullt me ​​numër të plotë, vlera fillestare e cila është e përcaktuar dhe e barabartë me zero.

Përdorimi i variablave kontrollohet në fazën e përpilimit. Përpiluesi zakonisht refuzon përpjekjet për të vendosur vlerë e ndryshueshme lloji i gabuar. Shumë gjuhë programimi hedhin automatikisht vlerën e një ndryshoreje në lloji i duhur. Si rregull, kjo konvertim i nënkuptuar lloji midis programuesve fillestarë është një burim gabimesh të vështira për t'u zbuluar. Në Pascal, konvertimi i nënkuptuar i tipit mund të konsiderohet përjashtim dhe jo rregull. Një përjashtim bëhet vetëm për konstantet dhe variablat e tipit INTEGER (numrat e plotë), të cilët lejohen të përdoren në shprehjet e tipit REAL (real). Ndalohet konvertim automatik llojet nuk do të thotë që Pascal nuk ka lehtësira për konvertimin e të dhënave. Ato ekzistojnë, por ato duhet të përdoren në mënyrë eksplicite.

Artikujt më të mirë mbi këtë temë