QReferate - referate pentru educatia ta.
Cercetarile noastre - sursa ta de inspiratie! Te ajutam gratuit, documente cu imagini si grafice. Fiecare document sau comentariu il poti downloada rapid si il poti folosi pentru temele tale de acasa.



AdministratieAlimentatieArta culturaAsistenta socialaAstronomie
BiologieChimieComunicareConstructiiCosmetica
DesenDiverseDreptEconomieEngleza
FilozofieFizicaFrancezaGeografieGermana
InformaticaIstorieLatinaManagementMarketing
MatematicaMecanicaMedicinaPedagogiePsihologie
RomanaStiinte politiceTransporturiTurism
Esti aici: Qreferat » Documente informatica

Programe cu date numerice (utilizare instructiuni si functii de i/e)



PROGRAME CU DATE NUMERICE (UTILIZARE INSTRUCTIUNI SI FUNCTII DE I/E)


EXEMPLE DE PROGRAME


Exemple de afisare pe ecran si citire de la tastatura


E1.1 Afisarea unui text constant pe ecran.


#include <stdio.h>

void main ()




E1.2 Afisarea valorilor unor variabile intregi


#include <stdio.h>

void main ()


E1.3 Afisare text constant si valori variabile intregi


#include <stdio.h>

void main ()


E1.4 Citire si afisare numar intreg


#include <stdio.h>

void main ()



E1.5 Citire si afisare numer intreg lung


#include <stdio.h>

void main ()


E1.6 Citire si afisare numar real


#include <stdio.h>

void main ()


E1.7 Afisare rezultat functie de tip 'double'


#include <stdio.h>

#include <math.h>

void main ()


E1.8 Afisare rezultat functie, dupa conversie la intreg.


#include <stdio.h>

#include <math.h>

void main ()


E1.9 Afisare cu o precizie dorita


#include <stdio.h>

#include <math.h>

void main ()


E1.10 Afisarea unor numere pe coloane de dimensiuni egale


#include <stdio.h>

void main ()


E1.11 Afisare numere reale foarte mari sau foarte mici (cu exponent)


#include <stdio.h>

#include <math.h>

void main ()



Exemple cu expresii si instructiuni de atribuire


E1.12 Calcul arie triunghi cu laturi date


#include <stdio.h>

#include <math.h>

void main ()



E1.13 Calculul unghiuri dintr-un triunghi (in radiani)


#include <stdio.h>

#include <math.h>

void main ()


E1.14 Calcul lungime si panta segment dintre doua puncte date


#include <stdio.h>

#include <math.h>

#include <values.h>

void main ()


E1.15 Afisare cat si rest impartire intreaga numere cu semn.


#include <stdio.h>

void main ()



Exemple cu instructiuni 'if' si 'switch'


Directiva 'include <stdio.h>' si altele necesare nu mai apar in toate

exemplele, dar trebuie adaugate pentru compilarea corecta a programelor.


E1.16 Verifica daca un caracter dat este o litera ( fie mare, fie mica)


void main ()

char ch;

ch= getchar();

if ( ch >='a' && ch <='z' || ch >='A' && ch <='Z' )

printf ('este litera n');

else

printf (' nu este litera n');

}


E1.17 Determinare maxim dintre trei numere intregi


void main ()



E1.18 Determinare tip triunghi cu laturi date


void main ()



E1.19 Verifica existenta unui fisier inainte de creare fisier


// verifica existenta fisier inainte de crearea lui

#include <stdio.h>

void main ()

f=fopen(numef,'w'); // deschide fisier ptr creare

fputs (numef,f); // scrie in fisier chiar numele sau

fclose(f);



E1.20 Determinare numar de zile dintr-o luna


void main ()

printf ('luna %d are %d zile n',luna,zile);

}




Exemple cu instructiuni 'for', 'while', 'do'


E1.21 Citirea unui sir de numere, dupa citirea lungimii sirului.


#include <stdio.h>

#include <values.h>

// afisare valoare maxima dintr-un sir

void main ()

printf('%dn',amax);

}


E1.22 Citirea unui sir de numere terminat cu caracterul 'End of File'

recunoscut de sistem ( Ctrl-Z in DOS si Windows).


#include <stdio.h>

// suma valorilor dintr-un sir de numere

void main ()


E1.23 Citirea mai multor siruri de numere terminate fiecare cu un zero.

Sfarsitul datelor este marcat tot cu zero. Exemplu:

1 2 3 0 4 5 0 7 8 9 0 0


#include <stdio.h>

// sume valori din mai multe siruri terminate cu zero

void main () while (a);

if (m) // daca sir de lungime nenula

printf('%f n',sum);

} while (m);

}


Obs. Situatia de mai sus apare la verificarea unor programe cu mai multe

seturi de date (memorate probabil intr-un fisier), printr-o singura rulare

a fiecarui program.


E1.24 Afisarea unui numar intreg fara semn in binar folosind extragerea

selectiva de biti cu o masca ce contine un singur bit 1.


void main ()

printf('n');

}


E1.25 Determina cel mai mare divizor comun a doi intregi (ineficient).


void main ()


E1.26 Determina cel mai mare divizor comun a doi intregi (alg. lui Euclid).


void main ()

printf ('cmmdc= %dn', b);

}



E1.27 Varianta cu 'do-while' pentru algoritmul lui Euclid


void main ()

do while (r);

printf('%d n',a);

}



E1.28 Ciclu in ciclu. Numararea numerelor prime mai mici ca un intreg dat n.


#include <stdio.h>

main ()

np=3; // vor fi cel putin 3 numere prime

for (m=5;m<=n;m=m+2)

printf ('%dn',np);

}


E1.29 Suma unei serii definite printr-o relatie de recurenta intre termeni.


// suma seriei Taylor pentru e^x cu precizie maxima permisa de 'float'

void main ()

printf ('%15.6f %15.6f n',y, exp(x));

}


// varianta cu instructiunea 'for'

void main ()

printf ('%15.6f %15.6f n',y, exp(x));

}


E1.30 Program care afiseaza un meniu de optiuni si trateaza fiecare optiune


#include <stdio.h>

#include <conio.h>

void main ()

fflush(stdin); getchar();

} while (1);



E1.31 Afisarea in hexazecimal a octetilor din mai multe numere de tip 'float'


void main ()


PROBLEME PROPUSE



P1.1 Program care citeste coordonatele (x,y) ale unui punct din plan si

afiseaza numarul cadranului in care se afla (1,2,3,4). Se vor verifica

succesiv semnele valorilor x si y. S-ar putea folosi instructiunea 'switch'?


P1.2 Program pentru calculul sumei a doua intervale de timp exprimate

in ore, minute si secunde, cu si fara instructiunea 'if'. (rezultatul este

exprimat tot in ore, minute, secunde). Exemplu :

h1:m1:s1 = 02:49:48 ; h2:m2:s2 = 10:17:35

rezultat = 13:07:23


P1.3 Program pentru calculul timpului scurs intre doua momente de timp

exprimate in ore, minute si secunde (cu si fara 'if'). Exemplu :

h1:m1:s1 = 13:07:23 ; h2:m2:s2 = 02:49:48

rezultat = 10:17:35


P1.4 Program pentru determinarea celui mai mare intreg pentru care se mai

poate calcula corect factorialul sau, succesiv pentru tipurile 'int',

'long', 'float' si 'double'.

Indicatie: Se compara k!/k cu (k-1)! si daca difera se afiseaza k.


P1.5 Program care aduna valoarea x de n ori, ca 'float' si ca 'double', si

afiseaza sumele sx si sy. sx este de tip 'float',iar sy de tip 'double'.

Se vor lua pe rfnd :

x=0.1 n=100

x=0.01 n=1000

x=0.001 n=10000

Se vor afisa sumele partiale la fiecare n/10 termeni adunati, cu pauza

dupa fiecare 10 linii afisate ( pauza realizata cu functia 'getchar').


P1.6 Program pentru calculul combinarilor de n luate cite m , pentru n=10

si m intre 1 si 10, prin doua metode :

(a) Folosind relatia de recurenta:

C(n,k) = C(n,k-1) * (n-k+1)/k ptr. k=1,m si C(n,0)=1

(b) Folosind relatia de calcul:

C(n,m) = n!/ (m!*(n-m)!)


P1.7 Program pentru afisarea echivalentului binar al unui numar natural

(intreg cu semn) dat. Exemple: 11=1011, 25 =1001, 23= 10111.

Algoritm: Se repeta impartirea la puteri descrescatoare ale lui 2, iar

caturile sunt cifrele binare. Restul impartirii devine noul deimpartit.

Varianta: se foloseste o masca binara cu un singur bit 1 (deplasat mereu

la dreapta), cu care se extrag biti succesivi din numar.


P1.8 Program pentru calculul si afisarea radacinii patrate a unor numere

folosind urmatoarea relatie de recurenta intre doua aproximatii succesive

r1 si r2 ale radacinii lui x :   r2 = ( r1 + x/r1)/2 .

Aproximatia initiala r1 poate fi orice valoare ( se va lua r1=x/2).

Relatia de recurenta se aplica atata timp cat r1 este diferit de r2.

Se va afisa pentru verificare si rezultatul functiei sqrt(x), pentru

primele 20 de numere pare.


P1.9 Program pentru afisarea tuturor numerelor naturale de 2 cifre care

au cel putin 7 divizori nebanali (altii decit 1 si numarul respectiv).


P1.10 Program pentru afisarea numarului maxim de divizori ai unui numar

natural de n cifre ( n<=5 sau n<=10). Se va completa programul cu afisarea

celui mai mare (celui mai mic) numar cu numar maxim de divizori.


P1.11 Program pentru afisarea tuturor descompunerilor unui numar natural

dat prin sume de numere naturale consecutive. Exemplu:

15 = 1+2+3+4+5 = 4+5+6 = 7+ 8


P1.12 Program pentru afisarea numerelor perfecte mai mici ca o valoare data.

(Un numar perfect este un numar egal cu suma tuturor divizorilor sai).


P1.13 Program care calculeaza valoarea functiilor sin(x) si cos(x) ca suma a

seriei de puteri si afisare alaturi de rezultatul functiilor de biblioteca.

sin(x) = x - x^3/3! + x^5/5! - x^7/7! +

cos(x) = 1 - x^2/2! + x^4/4! - x^6/6! +

Se vor insuma toti termenii mai mari ca zero in valoare absoluta.

Observati ce se afiseaza pentru valori mari ale lui x si de ce este necesara

reducerea unghiului x la o valoare mai mica ca 2*PI.


P1.14 Program care determina numarul de zerouri cu care se termina

produsul a n numere naturale date (fara a efectua produsul si fara vectori).

Indicatie: Numarul de zerouri terminale este dat de numarul produselor 2*5

din produsul celor n numere, deci de minimul dintre numarul de cifre 2 si

numarul de cifre 5 care apar in produs. Se vor aduna puterile lui 2 si lui 5

din fiecare numar dat si se determina minimul dintre ele.

Exemplu: n=3, a=15, b=12, c=25

nr cifre 2 = 0 + 2 + 0 = 2

nr cifre 5 = 1 + 0 + 2 = 3

min (2,3)=2 deci produsul a*b*c are 2 zerouri la sfirsit (este 4500)


P1.15 Program pentru descompunerea unui numar natural dat in factori primi.

Se vor afisa factorii primi si puterile (exponentii) lor.

Exemplu: 60 = 2^2 * 3 ^1 * 5^1


SOLUTII LA PROBLEME PROPUSE



R1.1

// afisare pozitie punct fata de cele 4 cadrane

#include <stdio.h>

void main ()



R1.2

void main ()

m=m1+m2+m;

if (m >=60)

h=h1+h2+h;


// afisare rezultat

printf ('%02d:%02d:%02d n',h,m,s);



R1.3


void main ()


R1.4

// cel mai mare numar k pentru care se poate calcula k!

#include <stdio.h>

void main ()

else

kf1=kf2;

}



R1.5

// erori la calcule cu numere reale

#include <stdio.h>

void main ()

n=n*10; x=x/10;

getchar();

}



R1.6

// calcul combinari prin doua metode

#include <stdio.h>

void main ()


R1.7

// cifrele binare sunt caturi ale impartirii prin puteri ale lui 2

void main ()

}


// afisare intreg in binar, cu extragere de biti succesivi

void main ()


R1.8

// calcul radacina patrata prin aproximatii succesive

#include <stdio.h>

#include <math.h>

void main () while ( r1 != r2);    // cat timp difera la primele 6 zecimale

printf ('%f %f %f n',x, r2, sqrt(x));

}


R1.9

// numere de 2 cifre cu peste 6 divizori

void main ()



R1.10

// nr maxim de divizori ptr un numar de n cifre

void main ()


}

printf ('%ld si %ld au %ld divizori n', nr1, nr2, max);


R1.11

// toate secventele de numere naturale consecutive

// a caror suma este egala cu n

main ()

/* afisare numere Ontre i si j */

if (s==n)

}

}


// R1.12

/* numere perfecte */

void main ()

if (m==s)

printf ('n %d', m);

}



R1.13

// suma seriei Taylor pentru sin(x) si cos(x) cu precizie maxima

void main ()

printf ('%15.6f %15.6f n',sx, sin(x));

printf ('%15.6f %15.6f n',cx, cos(x));

}



R1.14

// Determina numarul de zerouri cu care se termina produsul

// a n numere naturale date (fara efectuare produs)

#include <stdio.h>

void main ()

while ( a%5 ==0)

}

if ( n2<n5)

printf ('%dn',n2);

else

printf ('%dn',n5);


R1.15

/* descompunere in factori primi */

#include <stdio.h>

main ()

if (p > 0) // daca m s-a impartit exact prin k

printf ('%d^%d*',k,p); // k este un factor prim, p este puterea sa

}

printf ('bn');



Nu se poate descarca referatul
Acest document nu se poate descarca

E posibil sa te intereseze alte documente despre:


Copyright © 2024 - Toate drepturile rezervate QReferat.com Folositi documentele afisate ca sursa de inspiratie. Va recomandam sa nu copiati textul, ci sa compuneti propriul document pe baza informatiilor de pe site.
{ Home } { Contact } { Termeni si conditii }