Risipa de key_press | Programare

Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Risipa de key_press | Programare - Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Conversia unui numar din baza 16 in baza 10

Să se transforme un numar natural din baza 16 în baza 10.

Analiza Programului

Pentru a trece un număr din baza 16 în baza 10 se procedează la fel ca la trecerea din baza 2 în baza 10, avându-se în vedere înlocuirea literelor A, B, C, D, E, F cu 10, 11, 12, 13, 14, 15.
Un numar in baza 16 are corespondent in baza 10 un numar egal cu suma produselor dintre fiecare cifra si 16 la exponentul egal cu pozitia pe care se afla cifra in numarul scris in baza 16 (pozitia este calculata de la dreapta la stanga).

86C(16) = 8 x 162 + 6 x 16 + 12 = 2156(10)

Rezolvarea in C#

Conversia unui numar natural din baza 2 in baza 10

Să se transforme un numar natural din baza 2 în baza 10.

Analiza Programului

Un numar in baza 2 are corespondent in baza 10 un numar egal cu suma produselor dintre fiecare cifra si 2 la exponentul egal cu pozitia pe care se afla cifra in numarul scris in baza 2 (pozitia este calculata de la dreapta la stanga).

Exemplu : 101011(2) = 1×2^0 + 1×2^1 + 0x2^2 + 1×2^3 + 0x2^4 + 1×2^5 = 43.

Rezolvarea in C#

Conversia unui numar natural din baza 10 în baza 16

Să se transforme un numar natural din baza 10 în baza 16.

Analiza Programului

Un sistem de numeratie este alcatuit dintr-o multime finita de simboluri dsi un set de reguli de reprezentare a numerelor cu ajutorul simbolurilor respective. Numarul de simboluri reprezinta baza sistemului de numeratie.
De exemplu, in sistemul zecimal se utilizeaza 10 simboluri: 0,1,2,3,4,5,6,7,8,9.
In sistemul hexazecimal se utilizeaza 16 simboluri: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. Semnificatia zecimala a simbolurilo A,B,C,D,E,F este, in ordine, 10,11,12,13,14,15.

Pentru a trece un număr din baza 10 în baza 16 se procedează astfel :
se împarte succesiv la 16 numărul (apoi câturile) si se reţin resturile. Dacă acestea sunt 10,11,12,13,14,15 se înlocuiesc cu A,B,C,D,E,F.
Resturile obţinute formează cifrele numărului scris în baza 16 (de la ultimul rest la primul).

Exemplu : 2156(10)=…(16)*2156 = 134 x 16 +12 => 134 = 8 x 16 + 6 => 8 = 0 x 16 + 8 => X = 86C(16).

Rezolvarea in C#

Sirul lui Fibonacci

Să se determine primii n termeni ai şirului lui Fibonacci.

Analiza Programului
In sirul de numere Fibonacci, fiecare numar reprezinta suma a doua numere anterioare. Astfel, șirul incepe cu 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610 etc.
Vom utiliza 3 variabile. In firstNumber si secondNumber vom retine doi membri Fibonacci consecutivi. Acestia vor fi initializati cu primii termeni ai sirului.

In fNumber vom calcula termenul urmator.

Rezolvarea in C# si C++

Factori primi

Sa se descompună un număr natural n în factori primi.
Ex: 360=23*32*51

Analiza Programului

Consideram toate numerele naturale incepand cu 2.
Pentru fiecare numar verificam daca este divizor al lui n. Daca da, calculam multiplicitatea acestui divizor in n impartind succesiv pe n la divizor si calculam numarul de impartiri efectuate atat timp cat n mai are divizori.

Rezolvarea in C# si C++

Conversia unui numar din baza 10 in baza 2

Să se transforme un numar natural din baza 10 în baza 2.

Analiza Programului

Orice informaţie poate fi codificată folosind doar două simboluri: 0 şi 1, sistemul de numeraţie în baza 2, numit şi sistemul de numeraţie binar.
Pentru a trece un numar din baza 10 in baza 2 se imparte numarul la 2 si se retine restul, apoi catul obtinut se imparte la 2 si se retine restul. Se continua procedeul pana se obtine catul 0. Numarul scris in baza 2 se obtine scriind toate resturile, de la ultimul la primul.
Exemplu : 62 = 11110

Rezolvarea in C# si C++

Exercitiu

Se citesc n nr naturale de la tastatură. Sa se determine în câte zerouri se va termina produsul acestora, fără a calcula efectiv produsul. Ex: 12, 35, 30, 75 → 3 zerouri.

Analiza Programului

Pentru a obtine cifra zero, singura posibilitate o reprezinta inmultirea factorilor primi 2 si 5.
Numaram de cate ori apar 2 si 5 in descompunerea numarului si valoarea cea mai mica dintre cele doua contoare va insemna numarul de zerouri.

Rezolvarea in C# si C++