9.1. prezentarea datelor pe calculator
ª Reprezentarea informațiilor numerice.
ª Reprezentări ale informațiilor simbolice.
■ Prezentarea informațiilor grafice.
ª Reprezentarea solidă.
Prin desemnarea sa, computerul este un dispozitiv automat universal, controlat de software pentru lucrul cu informații. Din proprietatea universalității rezultă că calculatorul realizează toate cele trei tipuri de procese informatice: stocarea, transmiterea și prelucrarea informațiilor. Calculatoarele moderne funcționează cu tot felul de informații: numeric, simbolic, grafic, sunet. Informațiile stocate în memoria computerului și destinate procesării se numesc date.
Așa cum am menționat în secțiunea anterioară, un alfabet binar este folosit pentru a reprezenta tot felul de date în memoria calculatorului. Cu toate acestea, interpretarea secvențelor de cifre binare pentru fiecare tip de date este diferită. Încă o dată, subliniem că vorbim despre reprezentarea internă a datelor, în timp ce reprezentarea externă pe dispozitivele input-output este obișnuită pentru forma umană.
Reprezentarea informațiilor numerice. Din punct de vedere istoric, primul tip de date cu care au început să lucreze calculatoarele a fost numerele. Primele calculatoare au fost folosite exclusiv pentru calcule matematice. În conformitate cu principiile lui John von Neumann, calculatorul efectuează calcule în notație binară. Problema reprezentării interne (mașinilor) a numerelor va fi luată în considerare mai detaliat decât se face în manuale.
Unități structurale ale memoriei computerului - cuvânt de biți, octeți și mașini. Mai mult, noțiunile de biți și octeți sunt universale și nu depind de modelul computerului, iar dimensiunea cuvântului calculatorului depinde de tipul de procesor de calculator. Dacă cuvântul mașinii pentru acest computer este un octet, atunci această mașină este numită 8 biți (8 biți); dacă cuvântul mașinii este format din 2 octeți, atunci acesta este un computer pe 16 biți; Cuvânt de 4 octeți pentru computerele pe 32 de biți. Discuția cu privire la modul în care sunt reprezentate numerele în memoria calculatorului se va baza pe exemplul unei mașini pe 16 biți.
Numerele din memoria calculatorului sunt stocate în două formate: într-un format cu puncte fixe și într-un format cu virgulă mobilă. Un punct aici și în cele ce urmează este semnul divizării părții întregi și fracționate a numărului. Un format de punct fix este utilizat pentru a memora numere întregi în memorie. În acest caz, numărul ocupă un cuvânt de memorie al mașinii (16 biți). Pentru a obține o reprezentare internă a unui întreg pozitiv N într-o formă cu puncte fixe, avem nevoie de:
1) traduceți numărul N într-un sistem de numere binare;
2) rezultatul rezultat este adăugat la stânga cu zerouri nesemnificative de până la 16 cifre.
De exemplu, N = 160710 = 110010001112. Reprezentarea internă a acestui număr în cuvântul mașinii este după cum urmează:
În formatul hexazecimal comprimat, acest cod va fi scris astfel: 0647.
Numerele binare din cuvântul mașinii sunt numerotate de la 0 la 15 de la dreapta la stânga. Cea mai mare cifra a 15-a din reprezentarea mașinii pentru orice număr pozitiv este zero. Prin urmare, întregul maxim în această formă este:
0111 1111 1111 11112 = 7FFF16 = (2151) = 3276710.
Pentru a scrie o reprezentare internă a unui număr întreg negativ (-N), aveți nevoie de:
1) obține o reprezentare internă a unui număr pozitiv N;
2) obține codul invers al acestui număr prin înlocuirea lui 0 cu 1 și 1 cu 0;
3) adăugați 1 la numărul obținut.
Definim prin aceste reguli reprezentarea internă a numărului 160710.
1) 0000 0110 0100 0111
2) 1111 1001 1011 1000
Rezultatul 1111,100,011,100
Formular rezultat hexazecimal: F9B9.
Metoda descrisă de reprezentare a unui întreg număr negativ este denumită un cod suplimentar. Cea mai mare cifră din reprezentarea oricărui număr negativ este 1. Prin urmare, aceasta indică semnul unui număr și, prin urmare, este numită bit semn.
Utilizarea unui cod suplimentar pentru reprezentarea internă a numerelor negative face posibilă înlocuirea operației de scădere cu operația de adăugare cu un număr negativ: N - M = N + (-M). Evident, următoarea egalitate trebuie să dețină: N + (-N) = 0. Să efectuăm adăugarea pentru numerele de mai sus 1607 și -1607:
0000 0110 0100 0111 1607
1111 1001 1011 1001 -1607
1 0000 0000 0000 0000 0
Astfel, unitatea în cel mai înalt bit, obținută în plus, depășește limita bitmap a cuvântului computer și dispare, dar zero rămâne în memorie.
Ieșirea semnalelor binare dincolo de limita unei celule de memorie alocate unui număr este numită depășire. Pentru numere reale, această situație este de urgență. Procesorul îl detectează și se oprește din funcționare (depășire de întrerupere). Cu toate acestea, în calcule cu numere întregi, depășirea nu este fixată ca o situație de urgență și întreruperile nu apar.
Numărul binar pe 16 biți 1000 0000 0000 0000 = 215 este "auto-negativ":
1000 0000 0000 00 00 215
0111 1111 1111 1111
1000 0000 0000 0000 -215
Acest cod este utilizat pentru a reprezenta valoarea -215 = -32768. Prin urmare, intervalul de reprezentare a numerelor întregi într-un cuvânt de mașină pe 16 biți:
În general, pentru un cuvânt de mașină k-bit, acest interval este:
Diferitele tipuri de computere utilizează diferite opțiuni pentru organizarea unui format cu un punct de plutire. Iată un exemplu al uneia dintre variantele reprezentării unui număr real într-o celulă de memorie de 4 octeți:
Formatul punctului variabil este utilizat atât pentru reprezentarea valorilor întregi cât și pentru valorile cu o parte fracționată. În matematică, aceste numere sunt numite reale, în programare - reale.
Formatul cu puncte plutitoare presupune reprezentarea numărului real R sub forma produsului mantisei (m), pe baza sistemului numeric (n), la o anumită putere întreg, numită ordinea (p):
Ordinea indică numărul de poziții și în ce direcție ar trebui să se schimbe punctul din mantisă ("înot"). De exemplu, 25,32410 = 0,25324'102. Cu toate acestea, sunt valabile și următoarele ecuații:
Prin urmare, reprezentarea unui număr într-o formă în virgulă mobilă este ambiguă. Pentru a evita ambiguitatea, se utilizează în computer un formular cu puncte de flotare normalizate. Mantisa în formă normalizată trebuie să satisfacă condiția:
Pentru numărul considerat, forma normalizată va fi: 0,25324 x 10.
În memoria calculatorului, mantisa este reprezentată ca un întreg care conține doar cifrele sale semnificative (numerele întregi și virgula nu sunt stocate). În consecință, problema reprezentării interne a unui număr real se reduce la reprezentarea unei perechi de întregi: mantisa (m) și ordinea (p). În exemplul examinat, m = 25324, p = 2.
Diferitele tipuri de computere utilizează diferite opțiuni pentru organizarea unui format cu un punct de plutire. Iată un exemplu al uneia dintre variantele reprezentării unui număr real într-o celulă de memorie de 4 octeți:
1 byte 2 octeți 3 octeți 4 octeți
În bitul mare al primului octet, semnul numărului este stocat: 0 - plus, 1 - minus; Restul de 7 biți ai primului octet conține comanda pentru mașină; în următorii 3 octeți, se stochează cifre semnificative ale mantissei.
În cadrul cursului de bază al informaticii, problema reprezentării numerelor reale poate fi luată în considerare numai la un nivel mai profund. Materialul teoretic și lucrările practice pe această temă sunt disponibile în manual [6].
Prima sarcină este de a introduce studenții la alfabetul simbolic al computerului. Ar trebui să știe asta
- Alfabetul de calculator include 256 de caractere;
- fiecare caracter ocupă un octet de memorie.
Apoi, introduceți conceptul tabelului de codificare. Tabelul de codare este un standard care asociază fiecare caracter al alfabetului cu propriul număr de ordine. Cel mai mic număr este 0, cel mai mare este 255. Codul binar simbolic este numărul său de serie în sistemul binar. Astfel, tabela de codificare stabilește o legătură între alfabetul de caractere extern al calculatorului și reprezentarea binară internă.
Standardul internațional pentru computerele personale este tabelul ASCII. În practică, vă puteți întâlni cu o altă masă - KOI-8 (Codul de schimb de informații), care este utilizat în rețelele globale de calculatoare, computerele care rulează sistemul de operare Unix, precum și computerele de tip PDP. Acestea includ, în special, calculatorul școlar național Electronics-UKNC.
Elevii nu au nevoie să solicite memorarea codurilor de caractere. Cu toate acestea, ar trebui să cunoască câteva principii ale organizării tabelelor de coduri. Ar trebui să fie luate în considerare împreună cu elevii un tabel al codului ASCII, prezentat într-un număr de manuale și în cărți de referință. Acesta este împărțit în două părți. Standardul internațional este doar prima jumătate a tabelului, adică caractere cu numere de la 0 la 127. Acestea includ literele minuscule și majuscule ale alfabetului latin, numere zecimale, semne de punctuație, toate tipurile de paranteze, simboluri comerciale și alte simboluri. Simbolurile cu numere de la 0 la 31 sunt numite de obicei manageri. Funcția lor este de a controla procesul de ieșire a textului pe ecran sau de imprimare, de a da un semnal audio, de a marca textul etc. Numărul de simbol 32 este un spațiu, adică poziția goală în text. Toate celelalte sunt reflectate de anumite semne. Este important să atragem atenția elevilor asupra respectării ordinii lexicografice în aranjarea literelor alfabetului latin, precum și a numerelor. Acest principiu se bazează pe posibilitatea de a sorta informațiile simbolice pe care le vor întâlni elevii pentru prima dată, lucrând cu bazele de date.
A doua jumătate a tabelului de coduri poate avea opțiuni diferite. În primul rând, este folosit pentru a plasa alfabetele naționale, altele decât latine. Deoarece codarea alfabetului rusesc este chirilică, se folosesc versiuni diferite de tabele, atunci există adesea probleme cu transferul de text rusesc de la un calculator la altul, de la un sistem de program la altul. Puteți spune elevilor că tabela de codare a caracterelor 128 - 255 este numită o pagină de cod și fiecare versiune are propriul număr. De exemplu, MS-DOS utilizează numărul paginii de cod 866, iar în Windows - numărul 1251.
Ca informații suplimentare, se poate spune că problema standardizării codării caracterului este rezolvată prin introducerea unui nou standard internațional numit Unicode. Aceasta este o codificare pe 16 biți, adică în el este alocat pentru fiecare caracter 2 octeți de memorie. Desigur, cantitatea de memorie este dublată. Dar o astfel de tabelă de coduri permite includerea a până la 65.536 de caractere. Este clar că toate alfabetele naționale posibile pot fi incluse în ea.
Prezentarea informațiilor grafice. Există două abordări pentru a rezolva problema reprezentării imaginilor pe un computer: raster și vector. Esența ambelor abordări în descompunere, adică Împărțirea unei imagini în părți ușor de descris.
Este necesar să se comunice studenților relația dintre codul de culoare și compoziția amestecului de culori de bază. Ar trebui să începeți prin examinarea versiunii paletei de opt culori. În acest caz, se folosește un cod pe trei biți și fiecare bit al acestui cod indică prezența (1) sau absența (0) a culorii de bază corespunzătoare. Următorul tabel prezintă codurile pentru paleta de opt culori (tabelul 9.1).
Codul binar al paletei de opt culori
Bitii din acest cod sunt distribuiți conform principiului "GLC", adică primul bit este responsabil pentru componenta roșie, a doua pentru cea verde, a treia pentru cea albastră. Pe această temă, elevii ar trebui să poată răspunde la întrebări de acest tip:
- Ce culori amesteci cu roz?
- Este cunoscut faptul că culoarea brună se obține prin amestecarea culorilor roșii și verzi. Care este codul pentru culoarea maro?
La programarea imaginilor color, este obișnuit pentru fiecare culoare să se potrivească cu numărul zecimal. Obțineți numărul de culoare este foarte simplu. Pentru a face acest lucru, codul său binar, considerând un număr binar întreg, ar trebui convertit într-un sistem cu număr zecimal. Apoi, conform tabelului. 9.1, numărul de culori negre - 0, albastru - 1, verde - 2, etc. Culoarea albă este numărul 7. Utile în ceea ce privește stabilirea cunoștințelor sistemului binar de numere sunt întrebări de acest fel:
- Fără a se uita la masă, sunați la numărul roșu al numărului zecimal.
Doar după ce studenții au dat seama de paleta de 8 culori, puteți trece la examinarea codificării mai multor culori. Tabelul de coduri al paletei de 16 culori este dat în manuale [14]. Acestea sunt aceleași opt culori, dar au două niveluri de luminozitate. Controlează luminozitatea celui de al patrulea bit adițional - bitul de intensitate. În structura codului de 16 culori "IKZS" I este bitul de intensitate. De exemplu, dacă codul 100 din paleta de 8 culori înseamnă roșu, atunci în paleta de 16 culori: 0100 - roșu, 1100 - roșu strălucitor; ITO - maro, 1110 - maro strălucitor (galben).
În abordarea vectorială, imaginea văzută ca o colecție de elemente simple: linii drepte, arce, cercuri, elipse, dreptunghiuri, etc. zakrasok numite grafice .. primitivelor Informațiile grafice sunt date care identifică în mod unic toate primitivele grafice care compun un desen.
Poziția și forma primitivelor grafice sunt specificate în sistemul de coordonate grafice asociate ecranului. De obicei, originea este situată în colțul din stânga sus al ecranului. Grilă de pixeli coincide cu grila. Axa orizontală X este direcționată de la stânga la dreapta; axa verticală Y - de sus în jos.
Relația dintre adâncimea de biți a codului de culoare - b și numărul de culori - ^ (dimensiunea paletei) este exprimată prin formula: K = 2b. În literatura de specialitate cu privire la grafica computerizată, valoarea b este denumită de obicei adâncimea de culoare a culorii. Paleta de culori naturale așa-numită este obținută la b = 24. Pentru o astfel de adâncime, paleta include mai mult de 16 milioane de culori.
În abordarea vectorială, imaginea este văzută ca o colecție de elemente simple: linii drepte, arce, cercuri, elipse, dreptunghiuri, etc. zakrasok care sunt numite primitive grafice. Informațiile grafice sunt date care identifică în mod unic toate primitivele grafice care compun un desen.
Poziția și forma primitivelor grafice sunt specificate în sistemul de coordonate grafice asociate ecranului. De obicei, originea este situată în colțul din stânga sus al ecranului. Grilă de pixeli coincide cu grila. Axa orizontală X este direcționată de la stânga la dreapta; axa verticală Y - de sus în jos.
Reprezentarea sunetului. Computerele moderne "știu cum" să păstreze și să reproducă sunetul (vorbire, muzică, etc.). Sunetul, ca orice altă informație, este stocat în memoria calculatorului sub forma unui cod binar.
În manualele existente pe cursul de bază al informaticii, tema prezentării audio a unui calculator nu este practic acoperită (acest material este disponibil în unele manuale pentru cursuri de profil). În același timp, cerințele minimului obligatoriu au început să includă aspecte ale tehnologiei multimedia. După cum știți, sunetul este o componentă indispensabilă a produselor multimedia. Prin urmare, dezvoltarea în continuare a cursului de bază va necesita includerea unei teme de prezentare solidă în acesta. Să discutăm pe scurt această problemă.
Principiul de bază al codării sunetului, precum și codarea imaginii este exprimat prin cuvântul "discretizare".
Când codificați o imagine, eșantionarea este o împărțire a imaginii într-un număr finit de elemente-pixeli cu o singură culoare. Și cu cât aceste elemente sunt mai mici, cu atât mai puțin viziunea noastră constată discreența imaginii.
Natura fizică a sunetului este vibrațiile într-o anumită gamă de frecvențe transmise printr-o undă sonoră prin aer (sau alt mediu elastic). Procesul de conversie a undelor sonore în cod binar în memoria calculatorului:
Adaptor audio (placa de sunet) - dispozitiv special conectat la computer, pentru a converti oscilații electrice de frecvență audio în cod binar numeric, atunci când un sunet de intrare și de transformare inversă (de la codul numeric în oscilații electrice) în timpul reproducerii sunetului.
În procesul de adaptor audio de înregistrare a sunetului cu o anumită perioadă măsuri amplitudinea curentului electric și scrie cod binar în registrul valorii obținute. Apoi, codul primit din registru este rescris în memoria RAM a calculatorului. Calitatea sunetului calculatorului este determinată de caracteristicile adaptorului audio: rata de eșantionare și adâncimea de biți.
Frecvența de eșantionare este numărul de măsurători ale semnalului de intrare în 1 secundă. Frecvența este măsurată în hertz (Hz). O măsurătoare în 1 secundă corespunde unei frecvențe de 1 Hz. 1000 măsurători pe 1 secundă - 1 kilohertz (kHz). Frecvențe caracteristice de eșantionare a adaptoarelor audio: 11 kHz, 22 kHz, 44.1 kHz, etc.
Dimensiunea bitului din registru este numărul de biți din registrul adaptorului audio. Adâncimea de biți determină precizia măsurării semnalului de intrare. Cu cât adâncimea de biți, cea mai mică eroarea fiecărui individ de conversie a semnalului electric într-un număr și vice-versa. Dacă capacitatea este de 8 (16), atunci când se măsoară semnalul de intrare, se poate obține 2s = 256 (216 = 65536) de diferite valori. Evident, un adaptor audio pe 16 biți codifică și reproduce mai bine sunetul decât un adaptor audio pe 8 biți.
Un fișier de sunet este un fișier care stochează informațiile audio în formă binară numerică. Ca regulă, informațiile din fișierele audio sunt comprimate.
Un exemplu. Pentru a determina dimensiunea (în bytes) a fișierului audio digital, timpul de joc, care este de 10 secunde, la o rată de eșantionare de 22.05 kHz și o rezoluție de 8 biți. Fișierul nu este comprimat.
Soluția. Formula de calcul dimensiunea (în bytes) a integratorului digital fișier audio (mono): (frecvența de eșantionare în Hz) x (timpul de înregistrare în secunde) x (rezoluție în biți) / 8.
Astfel, dimensiunea fișierului este calculată după cum urmează: 22050'10'8 / 8 = 220500 octeți.