limbaj de programare c1

Post on 31-Oct-2015

122 Views

Category:

Documents

7 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Limbaje de programare

Cursul I

1 Limbaje de programare – Conf.dr. L. STOLERIU – LSTOLER@UAIC.RO

Ce fac fizicienii?Experimente

2 Limbaje de programare – Conf.dr. L. STOLERIU – LSTOLER@UAIC.RO

Ce fac fizicienii?Studii teoretice

3 Limbaje de programare – Conf.dr. L. STOLERIU – LSTOLER@UAIC.RO

Ce (mai) fac fizicienii...Experimente

4 Limbaje de programare – Conf.dr. L. STOLERIU – LSTOLER@UAIC.RO

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

5 Limbaje de programare – Conf.dr. L. STOLERIU – LSTOLER@UAIC.RO

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 – LSTOLER@UAIC.RO

Ce (mai) fac fizicienii...Exemplu

Un vas de amestec

Ce se întâmplă în interior?

7 Limbaje de programare – Conf.dr. L. STOLERIU – LSTOLER@UAIC.RO

Ce (mai) fac fizicienii...Exemplu

Un vas de amestec

Ce se întâmplă în interior?

8 Limbaje de programare – Conf.dr. L. STOLERIU – LSTOLER@UAIC.RO

Ce (mai) fac fizicienii...Exemplu

Un vas de amestec

Ce se întâmplă în interior?

9 Limbaje de programare – Conf.dr. L. STOLERIU – LSTOLER@UAIC.RO

Ce (mai) fac fizicienii...Exemplu

Un vas de amestec

Ce se întâmplă în interior?

10 Limbaje de programare – Conf.dr. L. STOLERIU – LSTOLER@UAIC.RO

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 – LSTOLER@UAIC.RO

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

12 Limbaje de programare – Conf.dr. L. STOLERIU – LSTOLER@UAIC.RO

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

13 Limbaje de programare – Conf.dr. L. STOLERIU – LSTOLER@UAIC.RO

Rezultate

14 Limbaje de programare – Lect.Dr. L. STOLERIU – LSTOLER@UAIC.RO

Rezultate

15 Limbaje de programare – Conf.dr. L. STOLERIU – LSTOLER@UAIC.RO

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 – LSTOLER@UAIC.RO

17 Limbaje de programare – Conf.dr. L. STOLERIU – LSTOLER@UAIC.RO

Limbaje de programare= Limbajul C =

Cursul I

18 Limbaje de programare – Conf.dr. L. STOLERIU – LSTOLER@UAIC.RO

Bibliografie

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

Kris Jamsa, Lars Klander

19 Limbaje de programare – Conf.dr. L. STOLERIU – LSTOLER@UAIC.RO

Bibliografie generală

O posibilă continuare:

20 Limbaje de programare – Conf.dr. L. STOLERIU – LSTOLER@UAIC.RO

Bibliografie generală

Metode numerice,Modelarea proceselorfizice

21

HTTP://WWW.NETLIB.ORG

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

Limbaje de programare – Conf.dr. L. STOLERIU – LSTOLER@UAIC.RO

Bibliografie generală

Programare JAVA

22 Limbaje de programare – Conf.dr. L. STOLERIU – LSTOLER@UAIC.RO

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 – LSTOLER@UAIC.RO

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 – LSTOLER@UAIC.RO

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 – LSTOLER@UAIC.RO

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 – LSTOLER@UAIC.RO

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 – LSTOLER@UAIC.RO

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 – LSTOLER@UAIC.RO

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 – LSTOLER@UAIC.RO

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 – LSTOLER@UAIC.RO

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 – LSTOLER@UAIC.RO

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 – LSTOLER@UAIC.RO

top related