Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  

 
CATEGORII DOCUMENTE





AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Bucle Do - While

c

+ Font mai mare | - Font mai mic







DOCUMENTE SIMILARE

Trimite pe Messenger
PROGRAMAREA STRUCTURILOR DE DATE IN C++
Memoria partajata
Struct (inregistrarea)
Accesul la biblioteca standard
VECTORI ORDONATI - APLICATIE : COMPONENTE CONEXE
STRUCURA DE DATE DE TIP GRAF
Pointeri si argumente de functii
PROIECT - un program C++ care citeste de la tastatura un numar natural n
FUNCTII SI STRUCTURA PROGRAMULUI
Operatori logici pe biti

Bucle Do - While

Buclele while  si for impartasesc atributul de testare a conditiei

de  terminare la  inceputul  buclei mai degraba decit la sfirsitul

ei,  asa cum am discutat in Capitolul  1.  Al treilea tip de bucle

in C - bucla do-while - testeaza conditia la  sfirsit,   dupa ce a

executat  intreg corpul buclei;  corpul este executat cel putin  o

data. Sintaxa ei este

        do

             instructiune

        while (expresie);

 

'Instructiune'   este   executata   si   apoi   'expresie'    este

evaluata. Daca este adevarata, 'instructiune'  se executa din nou,

s.a.m.d. Daca 'expresie'  devine falsa, bucla se termina.

     Asa  cum este de asteptat, bucla 'do-while' este folosita mai

putin decit while si  for,  probabil  5% din totalul de folosire a

buclelor. Cu toate acestea, ea este din timp in timp valoroasa, ca

in exemplul urmator,  unde functia itoa converteste un numar intr-

un  sir de caractere (inversa lui atoi).  Lucrarea este putin  mai



complicata decit se pare la prima vedere, deoarece metodele usoare

de  generare de cifre le genereaza intr-o ordine gresita.  Am ales

calea de a genera sirul invers apoi de a-l inversa.

        itoa (n, s)  /* converteste pe n in caractere in s */

        char s[];

        int n;

       

                while ((n /= 10) > 0);        /* sterge-o */

                if (sign < 0)

                    s[i++] = '-';

                s[i] = '0';

                reverse(s);

        }

 

Bucla  do-while  este necesara, sau cel putin convenabila deoarece

cel  putin un caracter trebuie pus in matricea  s,  indiferent  de

valoarea  lui  n.  Am  folosit de asemenea  acoladele   in   jurul 

singurei  instructiuni ce compune corpul buclei  do-while,   chiar 

daca   nu   sint   necesare  pentru  ca  cititorul  grabit  sa  nu

considere  gresit  partea cu while ca fiind inceputul  unei  bucle

while.

 

  Exercitiul  3.3.   In reprezentarea numerelor ca si  complemente

  fata  de  2  versiunea noastra  pentru   itoa   nu  functioneaza

  pentru numarul negativ cel mai mic,  adica pentru valoarea lui n

  egala  cu -(2 la puterea dimensiune cuvint-1).  Explicati de ce.

  Modificati  functia pentru a functiona corect si pentru  aceasta

  valoare, indiferent de calculatorul pe care se executa.

  Exercitiul  3.4.  Scrieti  o functie analoaga  itob(n,  s)  care

  converteste intregii fara  semn  n  intr-o  reprezentare  binara

  pe caracter in s. Scrieti itoh, care converteste un intreg intr-

  un numar haxazecimal.

 

  Exercitiul 3.5.  Scrieti o versiune a lui itoa care accepta trei

  argumente  in loc de doua.  Al treilea argument este un cimp  de

  lungime minima;  numarul convertit trebuie completat cu blancuri

  la stinga, daca e necesar, pentru a se inscrie in cimpul dat.

DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 269
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Distribuie URL

Adauga cod HTML in site



Termeni si conditii de utilizare | Contact
© SCRIGROUP 2019. All rights reserved