Introducere
Lucrarea de fata isi propune sa acopere, nevoile programatorului de aplicatie inginereasca care, spre deosebire de informaticianul de specialitate pura, are de facut fata unor sarcini practice izvorate, cel mai adesea, din specificul interdisciplinar al programelor folosite in activitatea de proiectare.
Intr-o asemenea conjunctura profesionala, programatorul de aplicatie este mai putin solicitat de sarcini de profunzime informatica si mai mult de nevoia de a acoperi o arie aplicativa cu extindere mare. Intr-adevar, fiind obligat sa lucreze cu mai multe programe in cadrul aceleiasi teme de proiectare, una dintre sarcinile mari consumatoare de efort este aceea de a realiza o serie de actiuni cum ar fi:
- Suplinirea lipsurilor unui produs soft prin crearea de programe de aplicatie in mediul de dezvoltare integrat oferit de produsul soft respectiv;
- Atunci cand produsul soft nu contine un mediu integrat de dezvoltare a aplicatiilor, crearea unui instrument aditional folosind resurse externe produsului soft in cauza;
- Interfatarea diverselor produse soft folosite, prin instrumente de tip import/export de date intre aplicatii diferite folosind convertoare de date existente sau create prin actiuni de programare, transfer de comenzi intre aplicatii prin tehnici specifice aplicatiilor folosite.
Actiunile enumerate mai sus sunt numai cateva dintre posibilele optiuni de urmat si ele evidentiaza necesitatea cunoasterii mai multor limbaje si tehnici de programare in medii de lucru diferite.
Din acest motiv autorul si-a propus sa expuna cateva dintre limbajele mai des folosite de catre programatorii de aplicatie inginereasca, optand pentru limbajele C, C++, Visual Basic for Applications (VBA) in Excel, Fortran si AutoLISP.
Ratiunile acestei alegeri sunt urmatoarele:
- Larga raspandire a limbajului C la acest moment;
- Usurinta in manipulare a limbajului Visual Basic in Excel si gradul mare de compatibilitate a acestuia cu dialectele folosite in AutoCAD si MicroStation V8;
- Tezaurul acumulat de programatorii de Fortran in cei peste 50 de ani de la aparitia acestui limbaj, tezaur concretizat in imense biblioteci de programe, multe dintre ele usor accesibile;
- Flexibilitatea si puterea limbajului AutoLISP ca generator de functii de comanda in AutoCAD menite sa largeasca posibilitatile acestuia, si posibilitatea interfatarii lui usoare cu dialectul VBA din AutoCAD.
2 Dumitru Dragomir
Evident ca, prin aceasta alegere, lucrarea nu epuizeaza domeniul de optiuni ale programatorului de aplicatie inginereasca dar poate constitui un ghid pentru formarea unei orientari corecte.
Pentru a veni in ajutorul cititorului acestei lucrari au fost incluse si o serie de aplicatii in sprijinul materialului de baza.
Autorul isi exprima speranta de a fi putut impartasi ceva din experienta de peste 30 de ani in programarea aplicativa acelora care au nevoie de indrumare in acest domeniu.
Autorul
Programarea calculatoarelor si limbaje de programare 3
Capitolul 1. Elemente de baza in informatica
?.1.1. Definitii de baza
Informatia este un mesaj obiectiv (concret) care elimina nedeterminarile in cunoastere.
Informatia variaza in functie de contextul la care se refera.
Se poate vorbi despre:
- Natura informatiei, legata de domeniul la care se refera;
- Canalul (sau uneori suportul) informatiei, reprezentand modalitatea de transmitere a informatiei.
Orice proces de transmitere a unei informatii presupune existenta a doi parteneri:
- un emitator de informatie;
- un receptor de informatie.
Informatica reprezinta un complex de discipline prin care se asigura prelucrarea rationala a informatiilor prin intermediul masinilor automate.
Ca urmare a dezvoltarii sale ca stiinta, informatica este divizata in urmatoarele subdomenii:
- Arhitectura calculatoarelor, disciplina care se ocupa cu organizarea componentelor fizice (hardware) ale calculatoarelor;
- Sisteme de operare, disciplina care se ocupa cu organizarea programelor care controleaza resursele si actiunile calculatorului;
- Algoritmi si structuri de date, disciplina care se ocupa cu metodele de obtinere a aplicatiilor, reprezentarea informatiilor, optimizarea aplicatiilor;
- Limbaje de programare, disciplina care se ocupa cu regulile care guverneaza notatiile de reprezentare a algoritmilor si structurilor de date;
- Ingineria programarii, disciplina care se ocupa cu automatizarea si eficientizarea activitatilor de proiectare si realizare a aplicatiilor;
- Calcule numerice si simbolice, disciplina care se ocupa cu elaborarea de modele matematice destinate simularii obiectelor si fenomenelor reale;
- Sisteme de gestiune a bazelor de date, disciplina care se ocupa cu organizarea cantitatilor mari de date;
- Inteligenta artificiala, disciplina care se ocupa cu simularea comportamentelor inteligente;
- Animatie si robotica, disciplina care se ocupa cu generarea si prelucrarea imaginilor si, respectiv, actionarea robotilor.
?.1.2. Sisteme de numeratie
In general se vorbeste despre un "sistem de numeratie in baza q" ca despre un sistem care are urmatoarele caracteristici:
1. Foloseste un alfabet cu un numar de q simboluri diferite intre ele, numite cifre, care formeaza un sir de numere consecutive;
2. Prima cifra din sir este 0;
3. Cifra cu valoarea cea mai mare este cu o unitate mai mica decat baza sistemului, deci are valoarea q-1;
4. In functie de pozitia lor in numarul N, cifrele se inmultesc cu puteri crescatoare ale bazei q, obtinandu-se dezvoltarea numarului N dupa puterile bazei in forma:
N(q) = an an-1 an-2 ... a2 a1 a0 = an ? qn + an-1 ? qn-1 + an-2 ? qn-2 + ... + a2 ? q2 + a1 ? q1 + a0 ? q0
Notatia N(q) arata ca numarul N este scris in baza q.
[1]. Cris H. Pappas & William H. Murray, III, "Borland C++ Handbook, Second Edition, Osborne Mc Graw-Hill, Berkeley, California, USA, 1992.
[2]. Dan Manolea, Programare in AutoLISP sub AutoCAD, Grupul MicroINFORMATICA, Cluj-Napoca, 1996.
[3]. Dan Roman, Ingineria programarii obiectuale, Grupul MicroINFORMATICA, Cluj-Napoca, 1996.
[4]. Dumitru Dragomir, Indrumar de lucrari practice pentru proiectare asistata de calculator, Editura Evrika, Braila, 1999.
[5]. Dumitru Dragomir, Ovidiu Ionas, Leonard Domnisoru, Ionel Gavrilescu, Lucrari de tehnici de calcul numeric in ingineria asistata de calculator, Editura Evrika, Braila, 1999.
[6]. Dumitru Dragomir, Proiectare asistata de calculator pentru inginerie mecanica, Editura Teora, Bucuresti, 1996.
[7]. Gheorghe Curelet-Balan, "Visual BASIC, introducere in programarea uzuala a aplicatiilor Windows", Editura DONE, Bucuresti, 1994.
[8]. Ioan Salomie, Tehnici orientate pe obiecte, Grupul MicroINFORMATICA, Cluj-Napoca, 1995.
[9]. Michael Metcalf, John Reid, Fortran 90/95 Explained, Second Edition, Oxford University Press Inc., New York, 1999.
[10]. Mihai Anton Cerghizan, "EXCEL 7.0 pentru Windows 95", Editura TEHNICA, Bucuresti, 1996.
[11]. Namir C. Shammas, "Curs rapid de Borland C++", Teora, Bucuresti, 1996.
[12]. Octavian Catrina, Iuliana Cojocaru, Turbo C++, Editura Teora, Bucuresti, 1993.
[13]. Ovidiu Ionas, Leonard Domnisoru, Ionel Gavrilescu, Dumitru Dragomir, Tehnici de calcul in constructii navale, Editura Evrika, Braila, 1999.
[14]. Teodor Tiuca, Tudor Precup, Tiberiu Antal, Dezvoltarea Aplicatiilor cu AutoCAD si AutoLISP, Editura ProMedia Plus, Cluj Napoca, 1995.
[15]. Tom Swan, "Invatam C... pas cu pas", Editura Tehnica, Bucuresti, 1996.
[16]. Valentin C., Cristian G., Eugenia K., Alexandru P., "Limbajul C Standard", Teora, Bucuresti, 1992.
[17]. Vasile Petrovici, Florin Goicea, Programarea in Limbajul C, Editura Tehnica, Bucuresti,
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.