Sunteți pe pagina 1din 5

Tema: Programe liniare

Scopul lucrarii: Elaborarea unui program în limbajul de programare C/C++ și afișarea


rezultatelor unor expresii.

Descrierea temei: În lucrare sunt prezentate funcţiile din biblioteca compilatorului


C/C++, care realizează citirea, respectiv înscrierea datelor în memorie. Funcţia scanf are rolul de
a introduce date tastate de la terminalul standard sub controlul unor formate. Datele introduse
sunt convertite din formatele lor externe în formate interne şi sunt păstrate la adresele specificate
la apel. Datele introduse se termină cu apăsarea tastei ENTER. Prototipul funcţiei scanf se
găseşte în fişierul stdio.h şi este:
int scanf(const char *format [,adresa,..]);
Ea returnează numărul de câmpuri de la intrare introduse corect sau valoarea EOF(-1) în
cazul întâlnirii sfârşitului de fişier (CTRL/Z). Formatul este specificat ca un şir de caractere. El
conţine specificatorii de format, care definesc conversiile din formate externe în formate interne.
Un specificator de format este alcătuit din:
a) caracterul %;
b) opţional caracterul *, care indică faptul că data prezentă la intrare nu se atribuie nici
unei variabile;
c) opţional un număr zecimal, care defineşte lungimea maximă a câmpului controlat de
format;
d) 1 sau 2 litere, care definesc tipul conversiei.

Câmpul controlat de format începe cu primul caracter curent care nu este alb şi se termină,
după caz:
a) la caracterul după care urmează un caracter alb;
b) la caracterul care nu corespunde tipului de conversie;
c) la caracterul la care se ajunge la lungimea maximă a câmpului.

Datele se citesc efectiv după apăsarea tastei ENTER. Adresa unei variabile se specifică prin
&nume_variabilă.

SDE 525.1 081 01 ME


Mod Coala Nr. document. Semnat. Data
Elaborat Dascal Daniel Litera Coala Coli
V. Derevlenco 2 Coli 6
Verificat
Programe liniare
UTM.FET. RST-181
Literele care definesc tipul conversiei sunt:

Litera Tipul datei citite


c char
s şir de caractere
d întreg zecimal
o întreg octal
x, X întreg hexazecimal
u unsigned
f float
ld, lo, lx, lX long
lu unsigned long
lf/ Lf double/long double

Funcţia printf este folosită pentru afişarea unor date pe ecranul terminalului standard sub
controlul unor formate. Datele sunt convertite din format intern în formatul extern specificat.

Prototipul funcţiei printf se găseşte în fişierul stdio.h şi este:


int printf(const char *format [,expresie, …]);

Formatul este dat ca un şir de caractere. El are în structura sa succesiuni de caractere (care
se afişează) şi specificatori de format.

Un specificator de format conţine:


a) caracterul %;
b) opţional caracterul minus -, care specifică cadrarea datei în stânga câmpului (implicit
cadrarea se face în dreapta);
c) opţional un număr zecimal, care defineşte dimensiunea minimă a câmpului în care se
afişează data;
d) opţional un punct urmat de un număr zecimal, care specifică precizia de afişare a
datei;
e) una sau două litere, care definesc tipul conversiei. Faţă de literele prezentate la scanf
apar literele e şi E pentru afişarea datelor float sau double sub formă de exponent, g şi
G pentru afişarea datelor sub forma de exponent sau nu, astfel ca data afişată să ocupe
un număr minim de caractere.

Coala
SDE 525.1 081 01 ME
Mod Coala Nr. document Semnat. Data 3
Funcţia returnează numărul de caractere (octeţi) afişate la terminal sau –1 în caz de
eroare.

Varianta 4- Să se scrie un program ce va calcula valoarea expresie:

x + y−tg x 2 |cos ( x ) +10− y 2|



A= 9 4
( y + x )−cos ⁡( x∗ y)
; M=
( a− y +1 )∗3

Listingul programului:

#include<conio.h>
#include<stdio.h>
#include<math.h>

Void main ()
{
int a,x,y;
float A,M,z,s,n,o;
printf ("introdu valoarea lui a=");
scanf ("%d", &a);
printf ("introdu valoarea lui x=");
scanf ("%d", &x);
printf ("introdu valoarea lui y=");
scanf ("%d", &y);
z=(x+y-tan(pow(x,2)));
s=((pow(y,9))+(pow(x,4)))-cos(x*y);
A=(sqrt(z/s));
n=(abs(cos(x)+10-pow(y,2)));
o=((a-y+1)*3);
M=(n/o);
printf ("rezultatul A=%f,M=%f",A,M);
getch ();
}

Rezultatul executiei:

Coala
SDE 525.1 081 01 ME
Mod Coala Nr. document Semnat. Data 3
Concluzie:

In aceasta lucrare scris un program in limbajul de programare C/C++ care sa ne calculeze

rezultatul expresiilor de mai sus. .Conditia data era ca aceste 2 expresii sa fie introduse intr-un

singur program si prin afisarea la ecran ,,Domnule <nume_elev> introdu variabila <variabila>”.

Programul este prezentat mai sus , la fel si rezultatul sau obtinut in urma scrierii acestui

program.Programul incepe prin decalarea bibliotecilor principale <conio.h> , <stdio.h> si

<math.h> precum si prin functia principala main() si deschiderea/inchiderea programului prin

{ }.

Coala
SDE 525.1 081 01 ME
Mod Coala Nr. document Semnat. Data 3
Aici am folosit metoda substitutiei declarate prin variabilele z,s,n,o. Am utilizat si functia

printf care are scopul de a permite afisarea datelor de orice tip si scanf de a alege si a memora in

memoria programului, getch este functia care pastreaza rezultatul la ecran.Declararea

bibliotecilor se incepe cu semnul #.

Coala
SDE 525.1 081 01 ME
Mod Coala Nr. document Semnat. Data 3