limbaj de programare c1

32
Limbaje de programare Cursul I 1 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Upload: mykel

Post on 31-Oct-2015

122 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Limbaj de programare C1

Limbaje de programare

Cursul I

1 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 2: Limbaj de programare C1

Ce fac fizicienii?Experimente

2 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 3: Limbaj de programare C1

Ce fac fizicienii?Studii teoretice

3 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 4: Limbaj de programare C1

Ce (mai) fac fizicienii...Experimente

4 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 5: Limbaj de programare C1

Ce (mai) fac fizicienii...Modele, simulări

5 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 6: Limbaj de programare C1

Ce (mai) fac fizicienii...Exemplu

Un vas de amestec

la intrări - apă220C și 320Cdebite egale

ieșirea?

6 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 7: Limbaj de programare C1

Ce (mai) fac fizicienii...Exemplu

Un vas de amestec

Ce se întâmplă în interior?

7 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 8: Limbaj de programare C1

Ce (mai) fac fizicienii...Exemplu

Un vas de amestec

Ce se întâmplă în interior?

8 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 9: Limbaj de programare C1

Ce (mai) fac fizicienii...Exemplu

Un vas de amestec

Ce se întâmplă în interior?

9 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 10: Limbaj de programare C1

Ce (mai) fac fizicienii...Exemplu

Un vas de amestec

Ce se întâmplă în interior?

10 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 11: Limbaj de programare C1

Modelul amfiteatrului IV-13

Pe PC sau peSun Blade 2500, 2xUltraSPARC, 10 GB RAM

11

16.65 m

5.2 m

11.3 m

Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 12: Limbaj de programare C1

Modelul amfiteatrului IV-13> 500.000 de elemente> 700.000 de grade de libertate

12 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 13: Limbaj de programare C1

Modelul amfiteatrului IV-13≈ 17.500 de elemente - descriere simplificată≈ 27.000 de grade de libertate

13 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 14: Limbaj de programare C1

Rezultate

14 Limbaje de programare – Lect.Dr. L. STOLERIU – [email protected]

Page 15: Limbaj de programare C1

Rezultate

15 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 16: Limbaj de programare C1

SupercomputerCea mai mare putere de calcul din România (în funcţiune șidedicată aplicaţiilor știinţifice).

65 unităţi blade2 x Intel Xeon QuadCore @ 2.0 GHz

(520 unităţi de calcul)1 TB RAMHDD SCSI

Server managementServer stocare

16 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 17: Limbaj de programare C1

17 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 18: Limbaj de programare C1

Limbaje de programare= Limbajul C =

Cursul I

18 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 19: Limbaj de programare C1

Bibliografie

HTTP: / / STONER.PHYS .UAIC .RO/MOODLE

Kris Jamsa, Lars Klander

19 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 20: Limbaj de programare C1

Bibliografie generală

O posibilă continuare:

20 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 21: Limbaj de programare C1

Bibliografie generală

Metode numerice,Modelarea proceselorfizice

21

HTTP://WWW.NETLIB.ORG

HTTP://WWW.VNI.COM (IMSL)

Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 22: Limbaj de programare C1

Bibliografie generală

Programare JAVA

22 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 23: Limbaj de programare C1

Limbaj formal / Limbaj naturalAu în comun caracteristici precum:

unităţi lexicale (“cuvinte”, tokens)sintaxă (mod de scriere a “cuvintelor”)semantică (înţelesul asociat “cuvintelor”)

Diferenţe relativ la:ambiguitateredundanţă“literalness”: limbajul natural poate folosi metafore pe când cel formal este exact

Diferenţa între un limbaj natural și unul formal poate fi comparată cu diferenţa între poezie și proză sau cu diferenţa dintre proză și jurnalistică.

24 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 24: Limbaj de programare C1

Etapele realizării unui programRezolvarea problemei

definirea problemeianalizaformularea cerinţelorproiectare / testare manuală

Implementarescrierea codului (programelor)testare și verificareexploatare și întreţinere

25 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 25: Limbaj de programare C1

Etape post-implementare

Fișier sursă Fișier obiect

26

COMPILARE

Fişier obiect 1Fişier obiect 2…Fişiere .LIB

LINKAREFişier executabil

LINKARE

Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 26: Limbaj de programare C1

ExempleDrumul furnicii

Formularea problemei. SIMPLĂ, CLARĂ, COMPLETĂ.Să se determine lungimea drumului minim pe care l-ar putea parcurge o furnică atunci când se deplasează între două puncte de pe o piatră.

Suficient?

Piatră paralelipipedică de laturi a, b, c.Furnica se deplasează între două colţuri diagonal opuse.

27 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 27: Limbaj de programare C1

Exemple

( ) ( ) ( )( )2 2 22 2 2min , ,a b c a b c a c b+ + + + + +

28

a

b

cM

N

a

b

c

b

M

N

N1

2

Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 28: Limbaj de programare C1

Formulare cerinţeIntrări – Ieșiri

Intrări: a, b, cIeșiri: lungimea minimă

Cerinţele nefuncţionale și arhitecturaleperformante, scalabilitate, portabilitatesoftwarehardware

Proiectare -> arhitecturăStructuri de date – mod de organizare a informaţiei pentru ca aceasta să poată fi reprezentată în memoria calculatoruluiAlgoritmi – proceduri de tip “pas cu pas” care rezolva o problemă în timp finit

29 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 29: Limbaj de programare C1

CodificareLimbaj de programare – limbaj algoritmic înţeles de calculator

de nivel josde nivel înalt

30

push es mov ax, 0xa000 mov es,ax mov bx, 0x0010mov di,bx mov ah, 0xffffmov es:[di],ah pop es

parinte(X,Y) :- mama(X,Y). parinte(X,Y) :- tata(X,Y). bunic(X,Y) :- parinte(X,Z), parinte(Z,Y)./*-------------------------------------------*/ mama(Anca,Maria). mama(Anca,Cristina). tata(Ion,Dan). tata(Ion,George). tata(George,Robert). tata(George,Cristi). /*--------------------------------------------*/bunic(Ion,X). /*Al cui bunic este Ion?*/

Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 30: Limbaj de programare C1

CodificareCalculatorPrograme ajutătoare (editoare, compilatoare, IDE…)Cunoștinţe!

Calităţile unui programsă funcţioneze.să poată fi citit și înţeles.să poată fi modificat, dacă e nevoie, fără eforturi deosebite.să fie terminat la timp și fără cheltuieli suplimentare.

31 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 31: Limbaj de programare C1

Alt exempluIntrare:

textul y = y[0..n-1]pattern-ul x = x[0..m-1]

Ieșire:numărul de apariţii ale lui x în y

Exemplu:y = bababaaaba (n = 10)x = aba (m = 3)Apariţiile lui x în y: 2, 4, 8 (sau 1, 3, 7)

32

aba

bababaaaba

0Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]

Page 32: Limbaj de programare C1

Alt exempluIntrare:

textul y = y[0..n-1]pattern-ul x = x[0..m-1]

Iesire:numărul de apariţii ale lui x în y

Exemplu:y = bababaaaba (n = 10)x = aba (m = 3)Apariţiile lui x în y: 2, 4, 8 (sau 1, 3, 7)

33

aba

bababaaaba

1Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]