CUPRINS - et.utcluj.ro

14
1 UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II 12.1. Aplicatii cu circuite electrice 12.2. Aplicatii cu automate programabile 12.3. Aplicatii Visual C++ Cap.12. Aplicatii in C/C++ in inginerie electrica CUPRINS UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II 12.1 Aplicatii cu circuite electrice

Transcript of CUPRINS - et.utcluj.ro

Page 1: CUPRINS - et.utcluj.ro

1

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

12.1. Aplicatii cu circuite electrice 12.2. Aplicatii cu automate programabile 12.3. Aplicatii Visual C++

Cap.12. Aplicatii in C/C++ in inginerie electrica

CUPRINS

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

12.1 Aplicatii cu circuite electrice

Page 2: CUPRINS - et.utcluj.ro

2

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

Cap. 11. Aplicatii in C/ C++

#include <stdio.h>

void main(void)

{ //introducerea datelor

int i,n; char c;

double R[10], Res=0, Rep=0;

printf("Programul calculeaza rezistenta echivalenta \n");

printf("Introduceti nr de rezistente\n"); scanf("%d", &n);

printf("Introduceti valorile rezistentelor în Ohmi\n");

for (i=0;i<n;i++) {printf("R[%d]=", i); scanf("%lf", &R[i]);}

printf("cum sunt conectate rezistentele?\n s=serie p=paralel: ");

scanf("\n%c", &c); // sau c=getch();

//calculul rezistentei echivalente pentru conexiunea în serie

if (c=='s')

{for (i=0; i<n; i++)

Res+=R[i];

printf("Rezistenta echivalenta serie: R=%lf\n", Res); }

//calculul rezistentei echivalente pentru conexiunea în paralel

if (c=='p') {for (i=0; i<n; i++) Rep+=1/R[i];

printf("Rezistenta echivalenta paralel: R=%lf\n", 1/Rep);}

}

EXEMPLE

12.1 Aplicatii cu circuite electrice

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

12.1 Aplicatii cu circuite electrice

Page 3: CUPRINS - et.utcluj.ro

3

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

Cap. 11. Aplicatii in C/ C++

12.1 Aplicatii cu circuite electrice

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

#include <stdio.h>

#include <math.h>

#define PI 3.14159265358979

main()

{double R, L, C,U,I,f,w, Z, phi;

printf("R[ohmi]="); scanf("%lf", &R);

printf("L[H]="); scanf("%lf", &L);

printf("C[F]="); scanf("%lf", &C);

printf("U[V]="); scanf("%lf", &U);

printf("f[Hz]="); scanf("%lf", &f);

w=2*PI*f;

Z=sqrt(pow(R,2)+pow((w*L-1/(w*C)), 2));

phi=atan((w*L-1/(w*C))/R);

I=U/Z;

printf("Z[ohmi]=%lf\n", Z);

printf("I[A]=%lf\t phi[grade]=%lf\n", I, phi*180/PI);

}

12.1 Aplicatii cu circuite electrice

Page 4: CUPRINS - et.utcluj.ro

4

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

12.1 Aplicatii cu circuite electrice

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

Cap. 11. Aplicatii in C/ C++

Aplicatii inginerie electrica

Page 5: CUPRINS - et.utcluj.ro

5

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

Cap. 11. Aplicatii in C/ C++

#include <stdio.h>

#include <conio.h>

void main()

{char ch, c; double L1,L2,R1,R2,C1,C2, U;c='d';

while ((c=='D')||(c=='d'))

{printf("\nAlegeti tipul de divizor de tensiune:");

printf("\nInductiv=I, Capacitiv=C,Rezistiv=R :");

ch=getch(); putch(ch);

if (ch=='I' || ch=='i')

{printf("\nL1[H]=");scanf("%lf", &L1);

printf("L2[H]=");scanf("%lf", &L2);

printf("U[V]=");scanf("%lf", &U);

printf("U2[V]=%lf", U*L2/(L1+L2));}

else if (ch=='C' || ch=='c')

{printf("\nC1[F]=");scanf("%lf", &C1);

printf("C2[F]=");scanf("%lf", &C2);

printf("U[V]=");scanf("%lf", &U);

printf("U2[V]=%lf", U*C1/(C1+C2));}

else if (ch=='R' || ch=='r')

{printf("\nR1[ohmi]=");scanf("%lf", &R1);

printf("R2[ohmi]=");scanf("%lf", &R2);

printf("U[V]=");scanf("%lf", &U);printf("U2[V]=%lf", U*R2/(R1+R2));}

printf("\nContinuati? Da=D, Nu=N: "); c=getch(); putch(c);}}

12.1 Aplicatii cu circuite electrice

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

12.1 Aplicatii cu circuite electrice

Page 6: CUPRINS - et.utcluj.ro

6

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

12.1 Aplicatii cu circuite electrice

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

12.1 Aplicatii cu circuite electrice

Page 7: CUPRINS - et.utcluj.ro

7

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

12.1 Aplicatii cu circuite electrice

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

12.1 Aplicatii cu circuite electrice

Page 8: CUPRINS - et.utcluj.ro

8

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

12.1 Aplicatii cu circuite electrice

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

12.2. Aplicatii cu automate programabile

Page 9: CUPRINS - et.utcluj.ro

9

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

12.3. Aplicatii in Visual C++ : Universal Apps

In Microsoft Visual Studio 2015/2017 se pot scrie programe in C++

de tip apps care ruleaza in Windows 10, inclusiv pe telefoane mobile.

Aceste apps au interfata utilizator definita in XAML (Extensible

Application Markup Language .

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

12.3. Aplicatii in Visual C++ : Universal Apps

Page 10: CUPRINS - et.utcluj.ro

10

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

12.3. Aplicatii in Visual C++ : Universal Apps

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

Limbaje de programare

Page 11: CUPRINS - et.utcluj.ro

11

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

Limbajele C/ C++/ C#

C++ != C#, nu prin sintaxa, cat prin conceptie si mod de operare :

Definitia C : este un limbaj de programare mid-level cu scop general. Stă la

baza altor limbaje de programare foarte populare: C++, JAVA, C# , JavaScript.

Definitia C++ : este un limbaj de programare mid-level cu scop general cu

caracteristici high-level si (clase, POO) low-level (lucrul cu pointerii, adrese

de memorie etc) .

Definitia C# : este un limbaj de programare high-level simplu, modern, obiect

orientat, type-safe (nu permite ca in C++ pointeri void, iar erori de genul

“Access violation” –la accesul unei zona de memorie nealocate in C++

sunt inexistente in C#) si este derivat din C si C++

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

Diferente limbaje C++/C#

Codul C++ este compilat in cod assembly, pe cand C# este compilat in

“Intermediate language” ( IL), apoi este compilat in executabil printr-o

metoda Just-In-Time Compilation. Ex. Sa presupunem ca avem o

aplicatie cu 1000 de functii, clase si metode, dar in functie de datele de

intrare poate folosi doar 1-2 functii. C++ incarca TOT la compilare, pe

cand compilatorul de C# incarca functiile /clasele pe masura ce acestea

sunt utilizate.

Instructiunile if /else , while , for sunt la fel ca in C++ dar switch e

diferit (in C++ nu e obligatoriu break dupa fiecare case, in C# este

obligatoriu).

Instructiunea foreach in C# (contestat de unii pt ca se creaza obiecte

virtuale si ingreuneaza gestionarea memoriei)

In C# mai multe tipuri de date decat in C/C++ : short, unshort, decimal,

string, etc

C# nu permite mostenirea multipla si nu se pot deriva clasele decat

cu public

C++ e mai rapid decat C#

Page 12: CUPRINS - et.utcluj.ro

12

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

Aplicatii in Visual in C++/C#

Tutoriale video aplicatii Windows

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

Alte aplicatii in Visual C++/C#

Interfata Windows pentru calcul rezistenta echivalenta serie

Page 13: CUPRINS - et.utcluj.ro

13

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

Aplicatie in Visual C#

Interfata Windows pentru functii trigonometrice

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

Aplicatii grafice in Visual C++

Desenarea graficului functiei sinus

Page 14: CUPRINS - et.utcluj.ro

14

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

Aplicatii grafice in Visual C++

Desenarea graficului functiei sinus

UTCN, Curs: PROGRAMAREA CALCULATOARELOR SI LIMBAJE DE PROGRAMARE II

Aplicatii grafice in Visual C++

Alte tutoriale: youtube