Limbaj de programare C1
Transcript of Limbaj de programare C1
Ce fac fizicienii?Experimente
2 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]
Ce fac fizicienii?Studii teoretice
3 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]
Ce (mai) fac fizicienii...Experimente
4 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]
Ce (mai) fac fizicienii...Modele, simulări
5 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]
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]
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]
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]
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]
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]
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]
Modelul amfiteatrului IV-13> 500.000 de elemente> 700.000 de grade de libertate
12 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]
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]
Rezultate
14 Limbaje de programare – Lect.Dr. L. STOLERIU – [email protected]
Rezultate
15 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]
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]
17 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]
Limbaje de programare= Limbajul C =
Cursul I
18 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]
Bibliografie
HTTP: / / STONER.PHYS .UAIC .RO/MOODLE
Kris Jamsa, Lars Klander
19 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]
Bibliografie generală
O posibilă continuare:
20 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]
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]
Bibliografie generală
Programare JAVA
22 Limbaje de programare – Conf.dr. L. STOLERIU – [email protected]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]