Referatai

Lygiagretus programavimas "Erlang"

10   (3 atsiliepimai)
Lygiagretus programavimas "Erlang" 1 puslapis
Lygiagretus programavimas "Erlang" 2 puslapis
Lygiagretus programavimas "Erlang" 3 puslapis
Lygiagretus programavimas "Erlang" 4 puslapis
Lygiagretus programavimas "Erlang" 5 puslapis
Lygiagretus programavimas "Erlang" 6 puslapis
Lygiagretus programavimas "Erlang" 7 puslapis
Lygiagretus programavimas "Erlang" 8 puslapis
Lygiagretus programavimas "Erlang" 9 puslapis
Lygiagretus programavimas "Erlang" 10 puslapis
Lygiagretus programavimas "Erlang" 11 puslapis
Lygiagretus programavimas "Erlang" 12 puslapis
Lygiagretus programavimas "Erlang" 13 puslapis
Lygiagretus programavimas "Erlang" 14 puslapis
Lygiagretus programavimas "Erlang" 15 puslapis
Lygiagretus programavimas "Erlang" 16 puslapis
Lygiagretus programavimas "Erlang" 17 puslapis
Lygiagretus programavimas "Erlang" 18 puslapis
Lygiagretus programavimas "Erlang" 19 puslapis
Lygiagretus programavimas "Erlang" 20 puslapis
www.nemoku.lt
www.nemoku.lt
Aukščiau pateiktos peržiūros nuotraukos yra sumažintos kokybės. Norėdami matyti visą darbą, spustelkite peržiūrėti darbą.
Ištrauka

 INFORMATIKOS FAKULTETAS Lygiagretus programavimas „ERLANG“ Atliko: IFF-3 gr. stud. Tomas Dainius 2005 12 11 Priėmė: dėst. doc. Romas Marcinkevičius 2005 12 11 KAUNAS, 2005 T U R I N Y S Įvadas 3 1. “Erlang” 4 1.1. Pirmosios programėlės „Erlang“ kalba 4 2. DUOMENŲ TIPAI 6 3. Proceso sukūrimas 7 3.1. Inter-procesai 9 4. MonitoRiai 12 5. Kliento ir serverio modelis 13 6. Lygiagrečių programų pavyzdžiai 15 Išvados 18 Literatūra 19 Įvadas Dažniausiai nuoseklaus programavimo kalbomis, tokiomis kaip C++ ar Java, yra labai sunku parašyti lygiagrečią programą. To priežastis yra tai, kad nuoseklaus programavimo kalba sukurtoje programoje procesai vyksta nuosekliai vienas po kito, tuo tarpu, lygiagrečiame programavime keli procesai gali vykti vienu metu. Todėl lygiagrečiam programavimui yra sukurtos specialios – Erlang, Occam, CSP, Concurrent Pascal – kalbos. “Erlang” programavimo kalba ir nauja, kuri buvo sukurta lygiagrečiam programavimui, realaus laiko sistemomis ir yra atspari sistemų gedimams. “Erlang” kalbos programuotojas gali tiksliai apibrėžti, kurie veiksniai turi būti pristatyti kaip veikimo kartu procesai. “Erlang” kalba yra viena iš alternatyvų lygiagretaus programavimo programoms kurti. Tačiau ji vis dar nėra tokia populiari, kaip Concurrent Pascal, todėl yra svarbu giliau pažvelgti ir paanalizuoti „Erlang“ lygiagretaus programavimo kalbos galimybes, vien dėl to, kad ja yra pradedamos kurti tokių garsių kompanijų kaip Ericsson mobiliųjų telefonų GPRS sistemos. Darbo tikslas – supažindinti su lygiagretaus programavimo “Erlang” kalbos sintakse. Darbo uždaviniai: 1. Apibūdinti lygiagretaus programavimo kalbą “Erlang”. 2. Aptarti duomenų tipus; 3. Išanalizuoti procesų veiklą; 4. Supažindinti su monitoriais; 5. Apibrėžti kliento – serverio modelį; 6. Pateikti “Erlang” lygiagrečių programų pavyzdžių. Darbo metodai: • Mokslinės literatūros analizė; • Elektroninių dokumentų analizė. 1. “Erlang” “Erlang” programavimo technikos lygiagrečiam programavimui realaus laiko sistemos turėjo, daugeliui metui, šios technikos vėlavo tokios kaip C arba Pascal buvo tiesiog praktiškai standartinės nuosekliam programavimui, daugelis realaus laiko sistemų programuotojų kovodavo su žemo lygio programavimo kalbomis. Šiandien realaus laiko sistemos gali būti programuojamos tokiomis kalbomis kaip Ada, Modula2, Occam, ir t.t. , kurios turi aiškias konstrukcijas lygiagrečiam programavimui arba tokios kalbos kaip C kurioms trūksta vienalaikiškų konstrukcijų. Šis vienalaikiškas požiūris yra Occam, CSP , Concurrent Pascal , ir t.t., tačiau skirtingai nuo lygiagrečių programavimo kalbų kurios yra labiausiai tinkančios pristatyti lygiagretiškumą toli gražu nėra modelis realaus laiko lygiagretiškumas , tačiau siekiant aukštesnio funkcionavimo efektyvumo kompiliuojant programas sukuria lygiagretų procesorių. 1.1. Pirmosios programėlės „Erlang“ kalba Dabar panagrinėsime paprastas programavimo kalbos “Erlang” programėles : 1 pavyzdys : Skaičiuoja sveikojo kintamojo faktorialą: -module(math1). -export([factorial/1]). factorial(0) -> 1; factorial(N) -> N * factorial(N-1). Funkcija gali buti įvertinta naudojamos programos viduje iškviestos shell’o. Shell komandų eilutė išveda rezultatus pagal kuriuos vartotojas įvedė. > math1:factorial(6). 720 > math1:factorial(25). 15511210043330985984000000 Ankščiau minėtieji “>” tai yra shell komandų eilutė. Likutis linijos yra skaičiai įvesti vartotojo. Toliau sekanti eilutė yra rezultatas . Visos “Erlang” funkcijos priklauso individualiam paketui. Lengviausias modulis reikalauja modulio aprašymo, export aprašymas ir kodo funkcijos pristatymas kuris iškelia ją is modulio. Iškeltoji funkcija galit buti naudojama modulio išorėje. Visos kitos funkcijos gali buti naudojamos tik modulyje Pavyzdys: -module(math2). -export([double/1]). double(X) -> times(X, 2). times(X, N) -> X * N. Funkcija double/1 gali būti apskaičiuota modulio išorėje. Kur times/2 yra paprastai lokalus , pavyzdžiui : > math2:double(10). 20 > math2:times(5, 2). ** undefined function: math2:times(5,2) ** Šioje programoje modulis aprašomas –module(math2) uždraudžia modulio vardą, ir eksporto atributas –export([double/1]) sako kad funkcija double yra vieno argumento ir turi būti iškelta iš modulio. Funkcijos kreipinys yra : > math2:double(math2:double(2)). 8 Išeitis „Erlang“ programavimo kalboje yra palyginimas su pavyzdžiu. Sekantis pavyzdys tai parodo . -module(math3). -export([area/1]). area({square, Side}) -> Side * Side; area({rectangle, X, Y}) -> X * Y; area({circle, Radius}) -> 3.14159 * Radius * Radius; area({triangle, A, B, C}) -> S = (A + B + C)/2, math:sqrt(S*(S-A)*(S-B)*(S-C)). Skaičiuojant math3:area({triangle, 3, 4, 5}) yields 6.0000 ir math:area({square,5}) išves 25 kaip tikėtasi. 2. DUOMENŲ TIPAI Konstantos duomenų tipai , tai tokie duomenų tipai kurie negali buti išskleisti į pusduomenis . Pvz : 123, -789, 3.14159, 7.8e12, -1.2e-45. Numeris toliau yra skirstomi į sveikuosius skaičius ir realiuosius „Atom“ duomenų tipas tai raidinis , konstanta su vardu. „Atom“ gali būti neapskliaustas kabutėmis, jeigu kintamasis neprasideda mažųjų raidžių arba jeigu tai priklauso nuo kitų simboliu kaip skaitmeninių simbolių, akcentuotų ( ), arba @. Pavyzdžiui : hello phone number 'Monday' 'phone number' “Reference” duomenų tipas yra nustatytas laikas kuris yra unikalus „Erlang“ programavimo terpės dinaminės sistema, sukurta iškvietimo make_ref/0. „Fun“ tai yra naudingas objektas. „Funs“ padaro galimybę sukurti nežinomą funkciją ir veikti jai pačiai , ne vardu - kaip argumentai tos funkcijos. Pavyzdžiui : Junginių duomenų tipai - jie yra naudojami sugrupuoti kitus kelis duomenų tipus. Čia yra dvigubai sujungti duomenų tipai : 1> Fun1 = fun (X) -> X+1 end. #Fun

Daugiau informacijos...

Šį darbą sudaro 2917 žodžiai, tikrai rasi tai, ko ieškai!

★ Klientai rekomenduoja


Šį rašto darbą rekomenduoja mūsų klientai. Ką tai reiškia?

Mūsų svetainėje pateikiama dešimtys tūkstančių skirtingų rašto darbų, kuriuos įkėlė daugybė moksleivių ir studentų su skirtingais gabumais. Būtent šis rašto darbas yra patikrintas specialistų ir rekomenduojamas kitų klientų, kurie po atsisiuntimo įvertino šį mokslo darbą teigiamai. Todėl galite būti tikri, kad šis pasirinkimas geriausias!

Detali informacija
Darbo tipas
Lygis
Universitetinis
Failo tipas
Word failas (.doc)
Apimtis
20 psl., (2917 ž.)
Darbo duomenys
  • Programų referatas
  • 20 psl., (2917 ž.)
  • Word failas 231 KB
  • Lygis: Universitetinis
www.nemoku.lt Atsisiųsti šį referatą
Privalumai
Pakeitimo garantija Darbo pakeitimo garantija

Atsisiuntei rašto darbą ir neradai jame reikalingos informacijos? Pakeisime jį kitu nemokamai.

Sutaupyk 25% pirkdamas daugiau Gauk 25% nuolaidą

Pirkdamas daugiau nei vieną darbą, nuo sekančių darbų gausi 25% nuolaidą.

Greitas aptarnavimas Greitas aptarnavimas

Išsirink norimus rašto darbus ir gauk juos akimirksniu po sėkmingo apmokėjimo!

Atsiliepimai
www.nemoku.lt
Dainius Studentas
Naudojuosi nuo pirmo kurso ir visad randu tai, ko reikia. O ypač smagu, kad įdėjęs darbą gaunu bet kurį nemokamai. Geras puslapis.
www.nemoku.lt
Aurimas Studentas
Puiki svetainė, refleksija pilnai pateisino visus lūkesčius.
www.nemoku.lt
Greta Moksleivė
Pirkau rašto darbą, viskas gerai.
www.nemoku.lt
Skaistė Studentė
Užmačiau šią svetainę kursiokės kompiuteryje. :D Ką galiu pasakyti, iš kitur ir nebesisiunčiu, kai čia yra viskas ko reikia.
Palaukite! Šį darbą galite atsisiųsti visiškai NEMOKAMAI! Įkelkite bet kokį savo turimą mokslo darbą ir už kiekvieną įkeltą darbą būsite apdovanoti - gausite dovanų kodus, skirtus nemokamai parsisiųsti jums reikalingus rašto darbus.
Vilkti dokumentus čia:

.doc, .docx, .pdf, .ppt, .pptx, .odt