Efectuați operații aritmetice în sistemul numeric binar. Aritmetică binară. Bazele algoritmizării și programării

Scopul lucrării:

Să fie capabil să efectueze operații aritmetice în sistem binar Socoteala.

Exercita

Completați exercițiul 1. Înainte de a efectua exercițiul, studiați materialul pe tema din subsecțiunea 2.1.4.

Exercițiul 1

Formularea sarcinilor

Sunt date numerele 1001 (2) și 101 (2). Aflați suma acestor numere.

Soluţie

1001 (2)

+ 101 (2)

1. Când adunăm două unități conform tabelului 2, obținem 10. În cifra cea mai puțin semnificativă scriem 0 , iar 1 este mutat la stânga o poziție.

100 1 (2)

+ 10 1 (2)

2. Când adunăm două zerouri, obținem 0. Nu uitați de 1, care a fost transferat din cifra de ordin inferioară. Când adunăm 0 și 1 obținem 1 .

10 01 (2)

+ 1 01 (2)

3. Când adunăm 0 și 1 obținem 1 .

1 001 (2)

+ 101 (2)

1 110 (2)

4. Numai 1 .

5 Să verificăm.

1001 (2) =9 (10) , 101 (2) =5 (10) , 1110 (2) =14 (10)

Exercițiul 2

Formularea sarcinilor

Sunt date numerele 1101 (2) și 11 (2). Găsiți diferența dintre aceste numere.

Soluţie

Când scădeți o unitate din 0, o unitate din cifra cea mai apropiată, diferită de 0, este ocupată. În acest caz, o unitate ocupată în cifra cea mai mare dă 2 unități în cifra de ordin inferioară și una din toate cifrele dintre cele mai mari. și cel mai jos.

Examinare.

1101 2 =2 3 +2 2 +1=13 10

1010 2 =2 3 +2=10 10

Exercițiul 3

Formularea sarcinilor

Sunt date numerele 111 (2) și 101 (2). Găsiți produsul acestor numere.

Operația de înmulțire se reduce la schimbare și adunare repetată

Exemplu

Examinare.

111 2 =2 2 +2+1=7 10

101 2 =2 2 +1=5 10

100011 2 =2 5 +2+1=32+3=35 10 =7*5.

Construirea tabelelor de adevăr pentru formule logice

Scopul lucrării

Să fie capabil să construiască tabele de adevăr pentru formule logice date.

Exercita

Completați exercițiul 1. Înainte de a efectua exercițiul, studiați materialul pe tema din subsecțiunile 2.1.4, 2.1.5, 2.1.6, 2.1.7 .

Exercițiul 1

Formularea sarcinilor



Dată o formulă logică . Construiți un tabel de adevăr pentru această formulă.

Soluţie:

1. Prioritizăm executarea operațiunilor:

1) – operație de negație a unui enunț ÎN. Rezultatul operației este atribuit unei variabile.

2) – operația de înmulțire (conjuncție) logică a enunțurilor și . Rezultatul operației este atribuit unei variabile.

3) – operația de consecință (implicație) logică a enunțurilor și . Rezultatul operațiilor este atribuit unei variabile.

2. Construim un tabel format din cinci coloane:

Datele inițiale X Y F
O B

ÎN Datele inițiale tabele notăm numele enunțurilor OŞi ÎN. În cele trei coloane rămase scriem numele variabilelor cărora le atribuim rezultatele operațiilor logice.

3. Datele inițiale umplem tabelele cu posibile combinații de semnificații ale enunțurilor OŞi ÎN(prima opțiune este atunci când ambele afirmații sunt adevărate; a doua și a treia opțiune sunt atunci când una dintre afirmații este adevărată și cealaltă este falsă; a patra opțiune este atunci când ambele afirmații sunt false).

5. Completați numele coloanei cu valori Y. Pentru a face acest lucru, folosind tabelul de adevăr al operațiilor logice de bază, determinăm valoarea operației de conjuncție Y=0 (cu O=1 și X=0), etc.

Bazele algoritmizării și programării

Scopul lucrării

· Să fie capabil să execute un algoritm verbal.

· Învață să reprezinte algoritmi pentru rezolvarea unor probleme simple sub formă de diagrame de flux și să scrii programe pe baza acestora.

Nota

Studentul trebuie să finalizeze sarcina în două versiuni:

· Execută un algoritm verbal și notează rezultatul acestuia.

· Prezentați algoritmul verbal sub forma unei organigrame și program. Introduceți programul, rulați-l, obțineți rezultatul.

Exercita

Completați exercițiul 1. Înainte de a efectua exercițiul, studiați materialul pe tema.

Exercițiul 1

Algoritm liniar

Formularea sarcinilor

2) Realizați o diagramă bloc și scrieți un program conform unui algoritm dat.

Algoritm verbal

Ca rezultat al algoritmului liniar:

aflați valoarea variabilelor: k, n, m.

Soluţie:

1) Algoritmul verbal se execută secvenţial.

· Valoarea k = 8 se substituie în m =k+2=10.

· Valoarea k = 8, m =10 este substituită în n =k+m =18.

· Se calculează noul k = n – 2 * k =18 – 2 * 8 = 2.

· Se calculează nou m:=k+n=2+18=20.

Ca rezultat al algoritmului liniar, valorile variabilelor sunt egale cu:

n=18, k=2, m=20.

2) Diagrama bloc a algoritmului sarcinii este prezentată în Figura 19.

Programul algoritmului prezentat în Figura 19.

k, m, n: întreg;

Writeln('introduceți k'); (Pe ecran este afișat un indiciu - text între paranteze)

Readln(k); (Introducerea de la tastatură a variabilei k)

Writeln('k=', k,' n=', n,' m=', m); (Ieșirea variabilelor k, n, m)

Explicațiile (comentariile) pentru operatori sunt date între paranteze.

În diagrama bloc prezentată în Figura 20, valoarea variabilei k introdus de la tastatură. Prin urmare, în program acest bloc corespunde unui operator de intrare, care vă permite să introduceți orice valoare variabilă de la tastatură k.

Concluzie

Algoritm tip liniar, dat ca o listă de operațiuni, poate fi mult mai complex. Ca urmare, probabilitatea unei erori verbale de calcul (sarcina 1) crește. Dacă vă imaginați algoritmul sub forma unei diagrame bloc, puteți vedea clar succesiunea operațiilor. Algoritmul poate fi complicat prin introducerea unei variabile k de la tastatură.

Scrierea unui algoritm sub formă de program este mult simplificată dacă urmați diagrama de flux din Figura 20.

· Blocul 1 corespunde cuvântului BEGIN (început).

· Blocul 2 corespunde operatorului de intrare Readln (k).

· Blocurile 3¸6 sunt rescrise din Figura 20.

· Blocul 7 corespunde instrucțiunii de ieșire Writeln (‘k=’, k,’ n=’, n,’ m=’, m).

· Blocul 8 corespunde cuvântului END (sfârșitul programului).

Ca rezultat al executării unui program de tip liniar, puteți obține o singură valoare pentru fiecare variabilă. Dacă introduceți o valoare variabilă diferită de la tastatură k, atunci instrucțiunea de ieșire va produce următorul rezultat.

Dacă trebuie să calculați un tabel de valori atunci când o variabilă se modifică k, atunci ar trebui să alegeți un algoritm ciclic.

Figura 20 - Diagrama bloc al algoritmului liniar

Exercițiul 2

Algoritm de ramificare

Formularea sarcinilor

1) Executați algoritmul verbal. Înregistrați rezultatul.

Algoritm verbal

Fragment de algoritm dat:

dacă W > R, atunci R=W+R, în caz contrar W=R-W.

Ca urmare a executării acestui algoritm cu valori inițiale: W=-7, R=55

ecranul va afișa: W R

Soluţie:

1) Pentru valorile inițiale: W=-7, R=55 condiția W > R nu este îndeplinită. În acest caz, se execută a doua ramură W=R-W=55+7=62.

Ca rezultat al algoritmului, valorile variabilelor sunt egale cu: W=62, R=55.

2) Diagrama bloc a algoritmului verbal este prezentată în Figura 21.

În figura 21, a apărut un nou bloc 3, în care se verifică starea. Blocul de verificare a condiției formează o ramură în două direcții în algoritm.

Diagrama bloc arată că, în funcție de condiția w>r, se execută una dintre ramurile algoritmului. Apoi este afișat rezultatul calculului.


Figura 21 - Algoritmul de ramificare

· Blocul 2 corespunde operatorului de intrare Readln (w, r).

· Blocul 3 corespunde operatorului de condiție dacă w > r atunci w:= w + r altfel r:=r-w.

· Blocul 4 corespunde operatorului de atribuire w = w+r.

· Blocul 5 corespunde operatorului de atribuire r=r-w.

· Blocul 6 corespunde operatorului de ieșire Writeln (’ w =’, w, ’ r =’, r).

Programul algoritmului de ramificare prezentat în Figura 21.

Writeln('introduceți w, r'); (Pe ecran este afișat un indiciu - text între paranteze)

Readln(w,r); (Introducerea de la tastatură a variabilelor w, r)

dacă w > r atunci

Writeln(' w =', w, ' r =', r); (Ieșire rezultat)

Exercițiul 3

Algoritmi. Cicluri

Formularea sarcinilor

1) Executați algoritmul verbal. Înregistrați rezultatul.

2) Realizați o diagramă bloc și scrieți un program bazat pe algoritm.

Exemplul 1

Un algoritm ciclic cu un numărător de cicluri este dat sub forma unei descrieri verbale.

Începutul buclei pentru i de la 1 la 3

sfârşitul ciclului; Ieșire d, s.

Soluţie:

1) Algoritmul indică intervalul de modificări ale contorului eu, unde se poate observa că trebuie efectuate trei bucle.

· După executarea primei bucle, valorile variabilelor sunt d=2, s=2.

· Valorile obținute sunt înlocuite în al doilea ciclu.

· După executarea celei de-a doua bucle, valorile variabilelor sunt d=4, s=6.

· Valorile obținute în al doilea ciclu sunt înlocuite la executarea celui de-al treilea ciclu.

· Ca urmare a executării algoritmului, valorile variabilelor sunt egale cu: d=8, s=14.

2) Diagrama bloc a algoritmului buclei verbale cu un contor este prezentată în Figura 22.

Figura 22 - Algoritm de buclă cu un numărător

· Blocul 1 corespunde cuvântului de serviciu BEGIN.

· Blocul 2 corespunde operatorului de intrare readln (n).

· Blocul 3 corespunde operatorilor de atribuire s:=0; d:=1;

· Blocul 4 corespunde unui operator de buclă cu un numărător pentru i:=1 la n do.

· Blocul 5 corespunde operatorilor de atribuire d: =2 * d; s: =s + d;

· Blocul 6 corespunde instrucțiunii de ieșire Writeln (‘d= ’, d, ‘s = ’, s);

· Blocul 7 corespunde cuvântului de serviciu END.

Programul algoritmului contor de bucle prezentat în Figura 22.

s, d, i, n: întreg;

writeln('introduceți numărul de bucle-n');

pentru i:=1 la n do (instrucțiune buclă cu parametri)

Writeln(‘ d= ’, d, ‘s = ’, s);

Sfârşit; (instrucțiunea de sfârșit a buclei)

Exemplul 2

Un algoritm ciclic cu o precondiție este dat sub forma unei descrieri verbale.

Valorile inițiale ale variabilelor sunt stabilite:

Începutul ciclului. În timp ce y>x execută:

sfârşitul ciclului;

Determinați numărul de cicluri kși valori variabile y după ieșirea din buclă.

Soluţie

1) Bucla rulează atâta timp cât condiția y>x este îndeplinită.

· Deoarece y=5, x=1, atunci condiția y>x este îndeplinită și valoarea y calculat folosind formula y = y – x.

· Ca rezultat al primei bucle, y=4.

· În al doilea ciclu este îndeplinită condiția y>x, după al doilea ciclu valoarea y=3.

· În al treilea ciclu este îndeplinită condiția y>x, după terminarea celui de-al treilea ciclu valoarea y=2.

· În a patra buclă este îndeplinită condiția y>x, după buclă valoarea y=1.

· Dacă valorile y=1, x=1, condiția y>x nu este îndeplinită, bucla nu va fi executată. Prin urmare, bucla se va încheia și vor fi executate patru bucle.

La ieșirea din buclă, valorile variabilelor vor fi egale: k=4, y=1, x=1.

2) Programul algoritmului buclei cu o precondiție, prezentat în Figura 12.

k, x, y: întreg;

writeln('introduceți x,y');

while y>x do (instrucțiunea buclă cu precondiție)

writeln(‘ k=’, k , ‘ y= ’ , y);

Sfârşit; (instrucțiunea de sfârșit a buclei cu precondiție)

Programul nu specifică valoarea inițială a lui k înainte de a executa bucla. Implicit este zero.

Exemplul folosește un operator de buclă cu o precondiție, care în acest exemplu este executat sub condiția y>x. Condiția este verificată la intrarea în buclă. În corpul buclei, contorul este specificat ca un operator de atribuire k:=k+1, care dă numărul de bucle finalizate.

Exemplul3

Rescrieți algoritmul ciclic din exemplul 2 folosind un operator de buclă cu o postcondiție. Rezultatul va fi același.

Programul algoritmului buclei de postcondiție prezentat în Figura 13.

k, x, y: întreg;

writeln('introduceți x, y, ');

repetare (instrucțiune buclă cu postcondiție)

readln(‘ k=’ , k , ‘ y= ’, y);

până la y<=x; {конец оператора цикла с постусловием }

Exercițiul 4

Matrice unidimensionale

Exemplul 1

Trebuie să găsiți elementul maxim al unei matrice unidimensionale și numărul acestuia în ordinea în care apare în matrice. Prezentați algoritmul problemei sub forma unei diagrame bloc și scrieți un program bazat pe acesta.

Soluţie

1) Algoritm de căutare: introduceți variabila Max, în care scriem primul element al tabloului. Apoi într-o buclă comparăm fiecare element ulterior cu Max. Dacă numărul stocat în elementul curent este mai mare decât cel stocat în Max, atunci numărul din elementul curent este scris în Max.

Program pentru găsirea elementului maxim al unui tablou unidimensional și numărul acestuia:

x: matrice de întreg;

k, max, n, i: întreg;

Writeln('introduceți numărul de elemente ale matricei n');

pentru i:=1 la n do

readln(x[i]); (introducerea elementelor matricei)

pentru i:=1 la n do

dacă x[i]>max atunci

writeln(’ max = ’ , max , ’ k =’ , k);

O diagramă bloc a algoritmului de căutare a elementului maxim al unui tablou unidimensional și numărul acestuia este prezentată în Figura 23.

Blocul 2 - introducerea numărului de elemente dintr-o matrice unidimensională.

Blocul 3 este începutul ciclului în care vor fi introduse elemente ale unui tablou unidimensional.

Blocul 4 - introducerea elementelor unui tablou unidimensional într-o buclă.

Blocul 5 – valoarea primului element al unui tablou unidimensional este atribuită elementului maxim.

Blocul 6 este începutul ciclului, în care în blocul 7 se verifică condiția pentru elementul maxim al unui tablou unidimensional, iar în blocul 8 se înregistrează valoarea și numărul elementului maxim al unui tablou unidimensional.

În blocul 9, sunt afișate elementul maxim al unui tablou unidimensional și numărul acestuia.

Figura 23 - Algoritm pentru căutarea elementului maxim al unui tablou unidimensional și a numărului acestuia

Matrice bidimensionale

Exemplul 2

Pentru o matrice bidimensională constând din N rânduri și M coloane, găsiți suma elementelor coloanei cu trei.

Soluţie

Tabel de identificare

Program pentru găsirea sumei elementelor unui tablou bidimensional cu 3 coloane:

a: tablou[ 1.. 10, 1..10] de întreg;

s, i, j, n, m: întreg;

writeln('introduceți numărul de rânduri - n și coloane - m');

pentru i:=l la n do

pentru j:=l la m face

writeln(’ introduceți elementul de matrice a[ ’, i , ’ , ’ , j , ’ ]= ’);

readln(a,); (introducerea unui element de matrice)

scrieln(a); (ieșirea elementului de matrice)

pentru i:=1 la n do

s:=s+a[i, 3]; (suma elementelor din 3 coloane)

writeln(’s=’,s,);


Test

Finalizați sarcini munca de testare dupa subiect:

1. Sisteme numerice.

2. Algebra logicii.

3. Algoritmizare și programare.

Exemplul 1. Găsiți X dacă Pentru a transforma partea stângă a egalității, folosim succesiv legea lui De Morgan pentru adunarea logică și legea dublei negații: Conform legii distributive pentru adunarea logică: Conform legii excluderii a treia și legea excluderii constantelor: Echivalăm partea stângă rezultată cu dreapta: X = B În final, obținem: X = B. Exemplul 2. Simplificați expresia logică Verificați corectitudinea simplificării folosind tabelele de adevăr pentru original și expresia logică rezultată. Conform legii inversiunii generale pentru adunare logica (prima lege a lui de Morgan) si legea dublei negatii: Conform legii distributive pentru adunare logica: Conform legii contradictiei: Conform legii idempotitatii Inlocuim valorile ​​și, folosind legea comutativă și grupând termenii, obținem: Conform legii excluderii (lipirea) Înlocuiți valorile și obținem: Conform legii excluderii constantelor pentru adunare logică și legii idempotității: Înlocuiți valorile și obțineți: Conform legii distributive pentru înmulțirea logică: Conform legii excluderii celui de-al treilea: Înlocuiți valorile și, în final, obțineți: 2 Fundamentele logice ale unui calculator Un convertor discret, care, după procesarea semnale binare de intrare, produce un semnal de ieșire care este valoarea uneia dintre operațiile logice, se numește element logic. Mai jos sunt simboluri , care ar trebui executat ultimul. În acest caz, o astfel de operație este o adunare logică, prin urmare, trebuie să existe un disjunctor la ieșirea circuitului logic. Semnalele îi sunt furnizate de la doi conectori, care la rândul lor sunt alimentați cu un semnal de intrare normal și unul inversat (de la invertoare). Aplicarea unuia logic la ambele intrări S și R poate duce la rezultate ambigue, prin urmare o astfel de combinație de semnale de intrare este interzisă. 2.28.Care este cel mai mare număr zecimal care poate fi scris în trei cifre în sistemele de numere binar, octal și hexazecimal? (circuite) elemente logice de bază care implementează înmulțirea logică (conjunctor), adunarea logică (disjunctor) și negație (invertor).: A) ; b) ; V). 2.31 În clasă sunt 11.112 fete și 11.002 băieți. Câți elevi sunt în clasă? 2.32 În clasă sunt 36 de elevi, dintre care 21 sunt fete și 15 băieți. În ce sistem numeric erau numărați elevii? calcul, notându-l pornind de la ultimul rest. Exemplul 2.12 Convertiți numărul zecimal 17310 în sistemul numeric octal: ■ Se obține: 17310=2558. 0,562510 în sistemul de numere binar. Exemplul 2.19 Convertiți fracția zecimală 0,710 în sistemul numeric binar. Evident, acest proces poate continua la nesfârșit, dând tot mai multe semne noi în imaginea echivalentului binar al numărului 0,710. Deci, în patru pași obținem numărul 0,10112, iar în șapte pași numărul 0,10110012, care este o reprezentare mai precisă a numărului 0,710 în binar și așa mai departe. Un astfel de proces fără sfârșit se încheie la un anumit pas, când se crede că a fost obținută acuratețea necesară a reprezentării numerelor. 2.3.3. Translația numerelor arbitrare Translația numerelor arbitrare, adică a numerelor care conțin un întreg și o parte fracțională, se realizează în două etape. Întreaga parte este tradusă separat, iar partea fracțională separat. În înregistrarea finală a numărului rezultat, partea întreagă este separată de partea fracțională. evacuări. Împărțim părțile întregi și fracționale ale numărului în tetrade și sub fiecare dintre ele scriem cifra hexazecimală corespunzătoare: Obținem o reprezentare hexazecimală a numărului original: 748,D216. Exemplul 2.20 Convertiți numărul 17,2510 în sistemul numeric binar. Traducerea întregii părți: Traducerea părții fracționale: Exemplul 2.21. Convertiți numărul 124,2510 în octal.

2.3.4. Conversia numerelor dintr-un sistem numeric cu baza 2 într-un sistem numeric cu baza 2n și înapoi Conversia numerelor întregi - Dacă baza sistemului numeric q-ary este o putere a lui 2, atunci conversia numerelor din sistemul numeric q-ary în binar și spatele poate fi efectuat folosind mai mult


reguli simple. Pentru a scrie un număr binar întreg în sistemul numeric cu baza q = 2", trebuie să: 1. Împărțiți numărul binar de la dreapta la stânga în grupuri de n cifre fiecare. 2. Dacă ultimul grup din stânga are mai puține n cifre, atunci trebuie să fie lăsat cu zerouri până când

numărul necesar diverse sisteme Socoteala.


2.39. Completați tabelul, în fiecare rând din care trebuie scris același număr fracționar în sisteme numerice diferite.

2.40. Completați tabelul, în fiecare rând în care același număr arbitrar (numărul poate conține atât un întreg, cât și o parte fracțională) ar trebui să fie scris în sisteme numerice diferite.

Diviziune. Operația de împărțire se realizează folosind un algoritm similar cu algoritmul pentru efectuarea operației de împărțire în sistemul numeric zecimal.


Adunarea în alte sisteme numerice. Mai jos este un tabel de adunare în sistemul de numere octale:

2.42. Aranjați semnele operațiilor aritmetice astfel încât următoarele egalități să fie adevărate în sistemul binar:

Scrieți răspunsul pentru fiecare număr în sistemele numerice indicate și zecimal. 2.44. Ce număr precede fiecare dintre următoarele:

2.45. Notați numerele întregi aparținând următoarelor intervale numerice:

a) în sistemul binar;

b) în sistemul octal;

c) în sistem hexazecimal.

Scrieți răspunsul pentru fiecare număr în sistemele numerice indicate și zecimal.



2.47. Aflați media aritmetică a următoarelor numere:

2.48 Suma numerelor octale 17 8 + 1700 8 + 170000 3 + 17000000 8 +
+ 1700000000 8 convertit în sistem numeric hexazecimal.
Găsiți a cincea cifră din stânga în numărul egal cu această sumă.


Recuperați numerele necunoscute indicate de un semn de întrebare în
următoarele exemple de adunare și scădere, având mai întâi determinat
Le, în ce sistem sunt reprezentate numerele.

Operații aritmetice în sisteme numerice poziționale

Să aruncăm o privire mai atentă la operațiile aritmetice din sistemul numeric binar. Aritmetica sistemului de numere binare se bazează pe utilizarea tabelelor pentru adunarea, scăderea și înmulțirea cifrelor. Operanzii aritmetici sunt localizați în rândul de sus și prima coloană a tabelelor, iar rezultatele sunt la intersecția coloanelor și rândurilor:

Să ne uităm la fiecare operație în detaliu.

Plus. Tabelul de adunare binară este extrem de simplu. Doar într-un caz când se efectuează adăugarea 1+1, are loc un transfer la cifra cea mai semnificativă. ,

Scădere. La efectuarea unei operații de scădere, numărul mai mic este întotdeauna scăzut din numărul mai mare în valoare absolută și se pune semnul corespunzător. În tabelul de scădere, un 1 cu bară înseamnă un împrumut la cel mai înalt rang.

Multiplicare. Operația de înmulțire se realizează cu ajutorul unei tabele de înmulțire conform schemei uzuale utilizate în sistemul numeric zecimal cu înmulțirea secvențială a multiplicandului cu următoarea cifră a multiplicatorului.

Diviziune. Operația de împărțire se realizează folosind un algoritm similar cu algoritmul pentru efectuarea operației de împărțire în sistemul numeric zecimal.

Sarcini de determinare a valorilor în diferite sisteme numerice și bazele acestora

Sarcina 1. Pentru a codifica caracterele @, $, &, %, sunt folosite numere binare secvenţiale din două cifre. Primul caracter corespunde numărului 00. Folosind aceste caractere, a fost codificată următoarea secvență: $%&&@$. Decodificați această secvență și convertiți rezultatul într-un sistem numeric hexazecimal.

Soluţie.

1. Să comparăm numerele binare cu caracterele pe care le codifică:
00 — @, 01 — $, 10 — &, 11 — %

3. Convertiți numărul binar în sistemul numeric hexazecimal:
0111 1010 0001 = 7A1

Răspuns. 7A1 16.

Sarcina 2. Grădina are 100 x pomi fructiferi, dintre care 33 x meri, 22 x...
– pere, 16 x – prune, 17 x – cireșe. Care este baza sistemului numeric (x).

Soluţie.

1. Rețineți că toți termenii sunt cifre duble. În orice sistem numeric ele pot fi reprezentate după cum urmează:
a * x 1 + b * x 0 = ax + b, unde a și b sunt cifrele cifrelor corespunzătoare numărului.
Pentru un număr din trei cifre ar fi așa:
a * x 2 + b * x 1 + c * x 0 = ax 2 + bx + c

2. Starea problemei este:
33 x + 22 x + 16 x + 17 x = 100 x
Să înlocuim numerele în formule:
3x + 3 + 2x +2 + 1x + 6 + 1x + 7 = 1x 2 + 0x + 0
7x + 18 = x 2

3. Rezolvați ecuația pătratică:
-x2 + 7x + 18 = 0
D = 7 2 – 4 * (-1) * 18 = 49 + 72 = 121. Rădăcină pătrată de la D este 11.
Rădăcini ecuație pătratică:
x = (-7 + 11) / (2 * (-1)) = -2 sau x = (-7 - 11) / (2 * (-1)) = 9

4. Un număr negativ nu poate fi baza unui sistem numeric. Prin urmare, x poate fi doar egal cu 9.

Răspuns. Baza necesară a sistemului numeric este 9.

Sarcina 3.Într-un sistem numeric cu o anumită bază, numărul zecimal 12 este scris ca 110. Găsiți această bază.

Soluţie.

În primul rând, vom scrie numărul 110 prin formula de scriere a numerelor în sisteme numerice poziționale pentru a găsi valoarea în sistemul numeric zecimal, iar apoi vom găsi baza prin forță brută.

110 = 1 * x 2 + 1 * x 1 + 0 * x 0 = x 2 + x

Trebuie să obținem 12. Să încercăm 2: 2 2 + 2 = 6. Încercați 3: 3 2 + 3 = 12.

Aceasta înseamnă că baza sistemului numeric este 3.

Răspuns. Baza necesară a sistemului numeric este 3.

Sisteme de numere hexazecimale și octale

Sarcina 1. Ce număr din sistemul numeric hexazecimal îi corespunde numărului 11000101?

Soluţie.

Când convertiți un număr binar în hexazecimal, primul este împărțit în grupuri de patru cifre, începând de la sfârșit. Dacă numărul de cifre nu este divizibil cu patru, atunci primele patru sunt prefixate cu zerouri. Fiecare patru are o corespondență unică cu o cifră din sistemul numeric hexazecimal.

11000101 = 1100 0101 = C5 16

Nu este nevoie să aveți o masă de corespondență în fața ochilor. Numărarea binară a primelor 15 numere poate fi făcută în cap sau scrisă secvențial. Nu trebuie uitat că 10 în sistemul zecimal îi corespunde lui A în hexazecimal, 11 la B, 12 la C, 13 la D, 14 la E, 15 la F.

Răspuns. 11000101 = C5 16

Sarcina 2. Calculați suma numerelor binare x și y, cu x = 10100 și y = 10101. Exprimați rezultatele ca număr octal.

Soluţie.

Să adăugăm două numere. Regulile aritmeticii binare și zecimale sunt aceleași:

Când convertiți un număr binar în octal, primul este împărțit în grupuri de trei cifre, începând de la sfârșit. Dacă numărul de cifre nu este divizibil cu trei, atunci primele trei sunt precedate de zerouri:

Răspuns. Suma numerelor binare 10100 și 10101, reprezentate în sistemul de numere octale, este 51.

Conversie în sistem de numere binar

Sarcina 1. Care este numărul 37 în binar?

Soluţie.

Puteți converti prin împărțirea la 2 și combinând resturile în ordine inversă.

O altă modalitate este de a descompune numărul în suma puterilor a doi, începând cu cel mai mare, al cărui rezultat calculat este mai mic decât numărul dat. La conversie, puterile lipsă ale unui număr trebuie înlocuite cu zerouri:

37 10 = 32 + 4 + 1 = 2 5 + 2 2 + 2 0 = 1 * 2 5 + 0 * 2 4 + 0 * 2 3 + 1 * 2 2 + 0 * 2 1 + 1 * 2 0 = 100101

Răspuns. 37 10 = 100101 2 .

Sarcina 2. Câte zerouri semnificative există în notație binară? număr zecimal 73?

Soluţie.

Să descompunăm numărul 73 în suma puterilor a două, începând cu cea mai mare și ulterior înmulțind puterile lipsă cu zerouri și puterile existente cu una:

73 10 = 64 + 8 + 1 = 2 6 + 2 3 + 2 0 = 1 * 2 6 + 0 * 2 5 + 0 * 2 4 + 1 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 1001001

Răspuns. Reprezentarea binară a numărului zecimal 73 are patru zerouri semnificative.

Sarcina 3. Calculați suma numerelor x și y pentru x = D2 16, y = 37 8. Prezentați rezultatul în sistemul de numere binar.

Soluţie.

Amintiți-vă că fiecare cifră a unui număr hexazecimal este formată din patru cifre binare, fiecare cifră a unui număr octal din trei:

D2 16 = 1101 0010
37 8 = 011 111

Să adunăm numerele rezultate:

Răspuns. Suma numerelor D2 16 și y = 37 8, reprezentate în sistemul de numere binar, este 11110001.

Sarcina 4. Dat: o= D7 16, b= 331 8 . Care număr c, scris în sistemul de numere binar, îndeplinește condiția o< c < b ?

  1. 11011001
  2. 11011100
  3. 11010111
  4. 11011000

Soluţie.

Să convertim numerele în sistemul de numere binar:

D7 16 = 11010111
331 8 = 11011001

Primele patru cifre ale tuturor numerelor sunt aceleași (1101). Prin urmare, comparația este simplificată prin compararea celor patru cifre inferioare.

Primul număr din listă este egal cu numărul b, prin urmare, nu este potrivit.

Al doilea număr este mai mare decât b. Al treilea număr este o.

Doar al patrulea număr este potrivit: 0111< 1000 < 1001.

Răspuns. A patra opțiune (11011000) îndeplinește condiția o< c < b .

Conversie la sistemul numeric zecimal

Sarcina 1. Ce număr din sistemul zecimal corespunde numărului 24 16?

Soluţie.

24 16 = 2 * 16 1 + 4 * 16 0 = 32 + 4 = 36

Răspuns. 24 16 = 36 10

Sarcina 2. Se știe că X = 12 4 + 4 5 + 101 2. Care este valoarea lui X în sistemul numeric zecimal?

Soluţie.


12 4 = 1 * 4 1 + 2 * 4 0 = 4 + 2 = 6
4 5 = 4 * 5 0 = 4
101 2 = 1 * 2 2 + 0 * 2 1 + 1 * 2 0 = 4 + 0 + 1 = 5
Aflați numărul: X = 6 + 4 + 5 = 15

Răspuns. X = 15 10

Sarcina 3. Calculați valoarea sumei 10 2 + 45 8 + 10 16 în notație zecimală.

Soluţie.

Să convertim fiecare termen în sistemul numeric zecimal:
10 2 = 1 * 2 1 + 0 * 2 0 = 2
45 8 = 4 * 8 1 + 5 * 8 0 = 37
10 16 = 1 * 16 1 + 0 * 16 0 = 16
Suma este: 2 + 37 + 16 = 55

Răspuns. 55 10

Operații aritmetice în sistemul numeric binar

Sisteme numerice

Numărul subiectului:

În sistemul numeric binar, operațiile aritmetice sunt efectuate după aceleași reguli ca și în sistemul numeric zecimal, deoarece ambele sunt poziționale (împreună cu octal, hexazecimal etc.).

Plus

Adunarea numerelor binare cu o singură cifră se efectuează conform următoarelor reguli:

În acest ultim caz, la adăugarea a două, cifra de ordin inferioară depășește și 1 este transferată la cifra de ordin superior. Depășirea are loc dacă suma este egală cu baza sistemului numeric (în acest caz este numărul 2) sau mai mare decât aceasta (pentru sistemul numeric binar acest lucru nu este relevant).

De exemplu, să adăugăm oricare două numere binare:

Scădere

Scăderea numerelor binare cu o singură cifră se efectuează conform următoarelor reguli:

0 - 1 = (împrumut de la rang înalt) 1

Multiplicare

Înmulțirea numerelor binare cu o singură cifră se realizează conform următoarelor reguli:

Diviziune

Împărțirea se realizează în același mod ca în sistemul numeric zecimal:

Secțiuni: Informatica

Ţintă: învață elevii să efectueze operații aritmetice în sistemul numeric binar .
Sarcini:
educativ:
- repetarea și consolidarea cunoștințelor elevilor despre sistemele de numere;
- să dezvolte la şcolari capacitatea de a efectua corect operaţii aritmetice în sistemul numeric binar;
dezvoltarea:
- dezvolta gândire logică elevi;
- dezvoltarea interesului cognitiv al elevilor.

Progresul lecției.

Învățarea de materiale noi.
Reguli de adăugare:
0+0=0
0+1=1
1+0=1
1+1=10
Atrageți atenția elevilor asupra faptului că atunci când adăugați două unități în sistemul de numere binar, rezultatul este 0, iar unitatea este transferată la următoarea cifră. Când adăugați trei unități, rezultatul este 1 în intrare, iar unitatea este transferată la următoarea cifră. (1+1+1=11).

Exemplul 1.
101+10=111

Exemplul 2.
10011+11=1110


1001+11=1100
110+110=1100

Reguli de multiplicare:
0*0=0
0*1=0
1*0=0
1*1=1

Exemplul 1.
101*11=1111

Explicaţie:
Înmulțim fiecare cifră a celui de-al doilea factor cu fiecare cifră a primului factor, rezultatele produselor se adună conform regulilor de adunare în sistemul de numere binar. (Matematică – clasa a III-a).

Exemplul 2.
1011*101=110111

Soluţie:

Elevii rezolvă următoarele exemple în mod independent:
1001*101=101101
1001*11=11011

Reguli de scădere:
0-0=0
1-0=1
1-1=0
0-1=-1
Atrageți atenția elevilor asupra faptului că „minus” din ultima regulă înseamnă „a lua rangul (1).”

Exemplul 1.
10110-111=1111

Explicaţie:
Scăderea se face la fel ca la matematică. Dacă cifra din minuend este mai mică decât cifra subtraendului, atunci pentru această scădere este necesar să se ocupe cifra (1), deoarece 10-1=1. Dacă există un 0 la stânga unei astfel de scăderi, atunci nu putem ocupa un rang. În acest caz, ocupăm cifra în minuendul unității cel mai apropiat de stânga scăderii date. În acest caz, toate zerourile din care nu am putut ocupa o cifră trebuie schimbate în unu, deoarece 0-1=-1. Este recomandabil să notați toate modificările numerelor peste această scădere. Efectuați o scădere suplimentară cu numerele rezultate de mai sus.

Exemplul 2.
100000-11=11101

Elevii rezolvă următoarele exemple în mod independent:
100010-100=
101011-10111=

Regula diviziunii:
Împărțirea se face după regulile matematicii, fără a uita că efectuăm operații în sistemul numeric binar.

Exemplul 1.
101101:1001=101

Explicaţie:
În coeficient, nu ezitați să scrieți primul 1, pentru că un număr din sistemul binar nu poate începe cu 0. Înmulțim acest 1 cu divizor și scriem rezultatul corect sub dividend, observând adâncimea de biți. Efectuăm scăderea conform regulilor de scădere în sistemul numeric binar. Luăm următoarea cifră a dividendului și comparăm numărul rezultat cu divizorul. În acest caz, numărul rezultat este mai mic decât divizorul în câtul scriem 0 (în caz contrar, 1). Luăm următoarea cifră a dividendului. Obținem un număr egal cu divizorul, scriem 1 în coeficient etc.

Exemplul 2.
101010:111=110

Exemple de soluții independente:
1001000:1000=1001
111100:1010=110

Teme pentru acasă.
Urmați acești pași:
1100+1101=
101+101=
1011*101=
111*101=
11011-110=
10001-1110=
1011010:1010=



Distribuie