Introducere
Lucrarea de faţă îşi propune să acopere, nevoile programatorului de aplicaţie inginerească care, spre deosebire de informaticianul de specialitate pură, are de făcut faţă unor sarcini practice izvorâte, cel mai adesea, din specificul interdisciplinar al programelor folosite în activitatea de proiectare.
Într-o asemenea conjunctură profesională, programatorul de aplicaţie este mai puţin solicitat de sarcini de profunzime informatică şi mai mult de nevoia de a acoperi o arie aplicativă cu extindere mare. Într-adevăr, fiind obligat să lucreze cu mai multe programe în cadrul aceleiaşi teme de proiectare, una dintre sarcinile mari consumatoare de efort este aceea de a realiza o serie de acţiuni cum ar fi:
- Suplinirea lipsurilor unui produs soft prin crearea de programe de aplicaţie în mediul de dezvoltare integrat oferit de produsul soft respectiv;
- Atunci când produsul soft nu conţine un mediu integrat de dezvoltare a aplicaţiilor, crearea unui instrument adiţional folosind resurse externe produsului soft în cauză;
- Interfaţarea diverselor produse soft folosite, prin instrumente de tip import/export de date între aplicaţii diferite folosind convertoare de date existente sau create prin acţiuni de programare, transfer de comenzi între aplicaţii prin tehnici specifice aplicaţiilor folosite.
Acţiunile enumerate mai sus sunt numai câteva dintre posibilele opţiuni de urmat şi ele evidenţiază necesitatea cunoaşterii mai multor limbaje şi tehnici de programare în medii de lucru diferite.
Din acest motiv autorul şi-a propus să expună câteva dintre limbajele mai des folosite de către programatorii de aplicaţie inginerească, optând pentru limbajele C, C++, Visual Basic for Applications (VBA) în Excel, Fortran şi AutoLISP.
Raţiunile acestei alegeri sunt următoarele:
- Larga răspândire a limbajului C la acest moment;
- Uşurinţa în manipulare a limbajului Visual Basic în Excel şi gradul mare de compatibilitate a acestuia cu dialectele folosite în AutoCAD şi MicroStation V8;
- Tezaurul acumulat de programatorii de Fortran în cei peste 50 de ani de la apariţia acestui limbaj, tezaur concretizat în imense biblioteci de programe, multe dintre ele uşor accesibile;
- Flexibilitatea şi puterea limbajului AutoLISP ca generator de funcţii de comandă în AutoCAD menite să lărgească posibilităţile acestuia, şi posibilitatea interfaţării lui uşoare cu dialectul VBA din AutoCAD.
2 Dumitru Dragomir
Evident că, prin această alegere, lucrarea nu epuizează domeniul de opţiuni ale programatorului de aplicaţie inginerească dar poate constitui un ghid pentru formarea unei orientări corecte.
Pentru a veni în ajutorul cititorului acestei lucrări au fost incluse şi o serie de aplicaţii în sprijinul materialului de bază.
Autorul îşi exprimă speranţa de a fi putut împărtăşi ceva din experienţa de peste 30 de ani în programarea aplicativă acelora care au nevoie de îndrumare în acest domeniu.
Autorul
Programarea calculatoarelor şi limbaje de programare 3
Capitolul 1. Elemente de bază în informatică
§.1.1. Definiţii de bază
Informaţia este un mesaj obiectiv (concret) care elimină nedeterminările în cunoaştere.
Informaţia variază în funcţie de contextul la care se referă.
Se poate vorbi despre:
- Natura informaţiei, legată de domeniul la care se referă;
- Canalul (sau uneori suportul) informaţiei, reprezentând modalitatea de transmitere a informaţiei.
Orice proces de transmitere a unei informaţii presupune existenţa a doi parteneri:
- un emiţător de informaţie;
- un receptor de informaţie.
Informatica reprezintă un complex de discipline prin care se asigură prelucrarea raţională a informaţiilor prin intermediul maşinilor automate.
Ca urmare a dezvoltării sale ca ştiinţă, informatica este divizată în următoarele subdomenii:
- Arhitectura calculatoarelor, disciplină care se ocupă cu organizarea componentelor fizice (hardware) ale calculatoarelor;
- Sisteme de operare, disciplină care se ocupă cu organizarea programelor care controlează resursele şi acţiunile calculatorului;
- Algoritmi şi structuri de date, disciplină care se ocupă cu metodele de obţinere a aplicaţiilor, reprezentarea informaţiilor, optimizarea aplicaţiilor;
- Limbaje de programare, disciplină care se ocupă cu regulile care guvernează notaţiile de reprezentare a algoritmilor şi structurilor de date;
- Ingineria programării, disciplină care se ocupă cu automatizarea şi eficientizarea activităţilor de proiectare şi realizare a aplicaţiilor;
- Calcule numerice şi simbolice, disciplină care se ocupă cu elaborarea de modele matematice destinate simulării obiectelor şi fenomenelor reale;
- Sisteme de gestiune a bazelor de date, disciplină care se ocupă cu organizarea cantităţilor mari de date;
- Inteligenţă artificială, disciplină care se ocupă cu simularea comportamentelor inteligente;
- Animaţie şi robotică, disciplină care se ocupă cu generarea şi prelucrarea imaginilor şi, respectiv, acţionarea roboţilor.
§.1.2. Sisteme de numeraţie
În general se vorbeşte despre un "sistem de numeraţie în baza q" ca despre un sistem care are următoarele caracteristici:
1. Foloseşte un alfabet cu un număr de q simboluri diferite între ele, numite cifre, care formează un şir de numere consecutive;
2. Prima cifră din şir este 0;
3. Cifra cu valoarea cea mai mare este cu o unitate mai mică decât baza sistemului, deci are valoarea q-1;
4. În funcţie de poziţia lor în numărul N, cifrele se înmulţesc cu puteri crescătoare ale bazei q, obţinându-se dezvoltarea numărului N după puterile bazei în 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
Notaţia N(q) arată că numărul N este scris în 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 în AutoLISP sub AutoCAD, Grupul MicroINFORMATICA, Cluj-Napoca, 1996.
[3]. Dan Roman, Ingineria programării obiectuale, Grupul MicroINFORMATICA, Cluj-Napoca, 1996.
[4]. Dumitru Dragomir, Îndrumar de lucrări practice pentru proiectare asistată de calculator, Editura Evrika, Brăila, 1999.
[5]. Dumitru Dragomir, Ovidiu Ionaş, Leonard Domnişoru, Ionel Gavrilescu, Lucrări de tehnici de calcul numeric în ingineria asistată de calculator, Editura Evrika, Brăila, 1999.
[6]. Dumitru Dragomir, Proiectare asistată de calculator pentru inginerie mecanică, Editura Teora, Bucureşti, 1996.
[7]. Gheorghe Curelet-Bălan, "Visual BASIC, introducere în programarea uzuaĺă a aplicaţiilor Windows", Editura DONE, Bucureşti, 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 TEHNICĂ, Bucureşti, 1996.
[11]. Namir C. Shammas, "Curs rapid de Borland C++", Teora, Bucureşti, 1996.
[12]. Octavian Catrina, Iuliana Cojocaru, Turbo C++, Editura Teora, Bucureşti, 1993.
[13]. Ovidiu Ionaş, Leonard Domnişoru, Ionel Gavrilescu, Dumitru Dragomir, Tehnici de calcul în construcţii navale, Editura Evrika, Brăila, 1999.
[14]. Teodor Tiuca, Tudor Precup, Tiberiu Antal, Dezvoltarea Aplicaţiilor cu AutoCAD şi AutoLISP, Editura ProMedia Plus, Cluj Napoca, 1995.
[15]. Tom Swan, "Învăţăm C... pas cu pas", Editura Tehnică, Bucureşti, 1996.
[16]. Valentin C., Cristian G., Eugenia K., Alexandru P., "Limbajul C Standard", Teora, Bucureşti, 1992.
[17]. Vasile Petrovici, Florin Goicea, Programarea în Limbajul C, Editura Tehnică, Bucureşti,
Cursul de faţă are ca scop acoperirea nevoilor programatorului de aplicaţie practică inginereasca de proiectare.
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.