Differences

This shows you the differences between two versions of the page.

Link to this comparison view

programare-cc:laboratoare:10 [2020/12/12 11:14]
andrei.simescu [Problema 2]
programare-cc:laboratoare:10 [2025/12/11 12:44] (current)
carmen.odubasteanu [Problema 4]
Line 1: Line 1:
-===== Laboratorul 10. Pointeri la funcţii. Operatori pe biţi. =====+===== Laboratorul 10. Pointeri la funcţii. Operatori pe biţi. ​Structuri-Enumerări ​=====
  
 În acest laborator veţi învăţa să folosiţi: În acest laborator veţi învăţa să folosiţi:
Line 5: Line 5:
   * Pointeri la funcţii   * Pointeri la funcţii
   * Directive de preprocesare   * Directive de preprocesare
 +  * Structuri-Enumerări
  
 ==== Problema 1 ==== ==== Problema 1 ====
Line 13: Line 14:
 Funcţia primeşte ca argument adresa funcţiei de integrat şi numărul de paşi şi va avea antetul: Funcţia primeşte ca argument adresa funcţiei de integrat şi numărul de paşi şi va avea antetul:
 <code c>double integrala(double (*func) (double x), double a, double b, int n) </​code>​ <code c>double integrala(double (*func) (double x), double a, double b, int n) </​code>​
-Programul principal va apela funcţia de calcul a integralei pentru două funcţii diferite şi un n suficient de mare. Se pot +Programul principal va apela funcţia de calcul a integralei pentru două funcţii diferite şi un n suficient de mare(peste 100). Se pot 
-integra functiile **sin(x)** si **cos(x)** pe intervalul **[0, PI]**.+integra functiile **sin(x)** si **cos(x)** pe intervalul **[0, PI]**. ​Pentru sin rezultatul va fi 2, iar pentru cos va fi 0. 
 +Verificati si cu sin pe intervalul **[PI/2, PI]** ca rezultatul este 1. 
  
 ==== Problema 2 ==== ==== Problema 2 ====
Line 36: Line 39:
 void add(struct multime *m, int x)     // adaugă pe x la mulţimea m void add(struct multime *m, int x)     // adaugă pe x la mulţimea m
 void del(struct multime *m, int x)     // şterge pe x din mulţimea m void del(struct multime *m, int x)     // şterge pe x din mulţimea m
-void print(struct multime ​*m)          // afişează mulţimea m +void print(struct multime m)          // afişează mulţimea m 
-int contains(struct multime ​*m, int x) // returnează 1 dacă x se află în mulţimea m şi 0 altfel+int contains(struct multime m, int x) // returnează 1 dacă x se află în mulţimea m şi 0 altfel
 </​code>​ </​code>​
 Să se scrie un program ce testează funcţiile definite mai sus. Să se scrie un program ce testează funcţiile definite mai sus.
Line 92: Line 95:
  
 Definiţi tabloul **PROGRAMA** de **MAX** elemente de tip **MATERIA**,​ **MAX** fiind o constantă predefinită. Definiţi tabloul **PROGRAMA** de **MAX** elemente de tip **MATERIA**,​ **MAX** fiind o constantă predefinită.
 +
 Scrieţi funcţia **citire_PROGRAMA**,​ de tip **void**, care iniţializează tabloul **PROGRAMA**,​ prin apelul funcţiei Scrieţi funcţia **citire_PROGRAMA**,​ de tip **void**, care iniţializează tabloul **PROGRAMA**,​ prin apelul funcţiei
 **citire_MAT**. **citire_MAT**.
Line 122: Line 126:
 /* afiseaza pe ecran matricea transmisă ca parametru. /* afiseaza pe ecran matricea transmisă ca parametru.
  */  */
-void scrie_MATRICE(MATRICEma)+void scrie_MATRICE(MATRICE ma)
  
 /* dacă matricile ma şi mb au aceleaşi dimensiuni, atunci funcţia returnează adresa unei noi  /* dacă matricile ma şi mb au aceleaşi dimensiuni, atunci funcţia returnează adresa unei noi 
Line 128: Line 132:
  ​*(adunarea nu se poate face, deci rezultatul nu există).  ​*(adunarea nu se poate face, deci rezultatul nu există).
  */  */
-MATRICE* aduna_MATRICE(MATRICEma, MATRICEmb)+MATRICE* aduna_MATRICE(MATRICE ma, MATRICE mb)
  
 /* dacă matricile ma şi mb se pot înmulţi, atunci funcţia returnează adresa unei noi matrici ​ /* dacă matricile ma şi mb se pot înmulţi, atunci funcţia returnează adresa unei noi matrici ​
Line 134: Line 138:
  * (înmulţirea nu se poate face, deci rezultatul nu există).  * (înmulţirea nu se poate face, deci rezultatul nu există).
  */  */
-MATRICE* inmulteste_MATRICE(MATRICEma, MATRICEmb) +MATRICE* inmulteste_MATRICE(MATRICE ma, MATRICE mb) 
 </​code>​ </​code>​
 Scrieti un main in care testati functiile implementate anterior! Scrieti un main in care testati functiile implementate anterior!
  
programare-cc/laboratoare/10.1607764453.txt.gz · Last modified: 2020/12/12 11:14 by andrei.simescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0