Sunteți pe pagina 1din 193
oH NPP) . 777568 | TUDOR’ SORIN Turbo Pascal pentru cei Mici 7 Anul 1 de studiu Notiuni introductive, instructiuni Nu a facut obiectul unei avizari la Ministerul Educatiei Nationale intrucat nu au fost create conditiile legale © TOATE DREPTURILE REZERVATE EDITURII L&S INFOMAT. poty/ 52 Loh [662943 HOTKCS ( ADEMTED © OMANI Prefata Prezenta lucrare se adreseaza elevilor din gimnaziu. Ea este structuraté in 3 volume, dupa cum urmeaza: Volumul 1 Notiuni introductive, instructiunile limbajului Turbo Pascal; Volumul 2 Tipuri de date; Volumul 3 Subprograme, recursivitate, OOP. Elevii au o mare usurinta in asimilarea notiunilor. Oric&t ar parea de curios, inveti mai usor s& programezi la o varsta frageda. Fara sA exagerez, afirm ca aceleasi notiuni sunt asimilate mai greu de un adult decat de un copil. Motivul? In programare exista un anumit rationament care nu este dificil, dar este altfel dec&t cel cu care adultii au fost obisnuiti. In elaborarea lucrarii am tinut cont de urmatoarele: => Pentru inceput, copiii doresc sa scrie programe cu efect vizual sau auditiv. Nimic rau, ei pot invata s& programeze chiar elaborand astfel de programe. => Programarea nu se invaté "dupa ureche". La ce ma refer? Nu este suficient sé prezent&m instructiunea, dupa care aplicatiile sa fie facute intamplator. Ele trebuie s& fie de asa natura incat, prin parcurgerea lor, elevii sa invete algoritmii fundamentali ai programarii. => O problema rezolvatéa trebuie insotitaé de explicati. Nu sunt adeptul stilului de predare conform c&ruia. se prezinté enuntul unei probleme, dupa care. rezolvarea consta in program, fara nici © alté explicatie, sau cu una minima. = Nu este suficient ca instructiunile s& fie prezentate riguros, dupa care s& trecem la aplicatii. Este necesar ca elevii sd inteleagd care sunt greselile frecvente, altfel efortul lor va fi cu mult mai mare. De ce programare? Oare nu este suficient s fim doar utilizatori? Orice tan&r trebuie sa fie utilizator. Dar numai cu aceasta putem spera doar la un post la firma unui arab. In tarile dezvoltate exist © cerere din ce in ce mai mare de programatori. SA nu uitém cd o mare parte din soft-ul existent este realizat cu programatori proveniti din tari cum este si Romania. In acest sens, mi se pare stupid rationamentul conform caruia in tara x (dezvoltata) se invaté mult mai putin ca la noi. Asa este, dar tara x cumpara specialistii. Noi putem proceda asa? Autorul A Capitolul 1 Primele notiuni 1.1 Calculator, program Priviti figura de mai jos. Ea prezinté un calculator personal. Acesta este alcatuit din: calculatorul propriu-zis -. introdus intr-o cutie metalica; monitorul - asemanator unui televizor; tastatura - la fel ca o. masina de scris; mouse-ul - un dispozitiv special prin, care se dau cu usurinta comenzi_ calculatorului; ¢ imprimanta -dispozitiv cu ajutorul caruia calculatorul tipareste texte si imagini. > Monitor: Calculatorul propriu-zis Imprimanta Tastatura ' Cy siguranta, fiecare dintre voi a folosit calculatorul pentru a se juca. In mare, principiul de joc este urmatorul: => se dau comenzi calculatorului cu ajutorul tastaturii si mouse-ului; = acesta raspunde prin imaginile care apar pe monitor si prin sunetele emise. Poate ca v-ati intrebat de unde stie calculatorul jocul respectiv? Raspunsul este simplu: ca/culatorul executé un program. Pentru fiecare joc exist€é un program. Programele sunt facute de oameni. Calculatorul nu face altceva decat sa le execute. Un program este alcatuit din instructiuni (comenzi date de om calculatorului). Executia programului de catre calculator inseamna executia instructiunilor din care acesta este alcatuit. S@ nu confundam instructiunile programului cu comenzile date de noi in timpul jocului. Programul este cunoscut de calculator in momentul inceperii jocului. Instructiunile din care este alcdtuit sunt de asa natura inc&t calculatorul va sti ce are de facut la fiecare comanda a noastra, data in timpul jocului. Pentru program, comenzile date de noi in timpul jocului sunt date de intrare, iar imaginile, sunetele obtinute ca efect sunt dafe de jesire. Programul este astfel conceput incat pentru anumite intrari (date de intrare) sé furnizeze anumite iesiri (date de iesire). In concluzie, calculatorul nu gandeste si nu participa afectiv la joc. El nu este altceva decat o masind care executé “orbeste” instructiunile unui program. Acesta transforma, intr-un mod_ specific, date de intrare in date de iesire. 1.2 Mai mult despre calculator S& vedem din ce este alcatuit calculatorul propriu-zis (ce se gaseste In carcasa metalicd - vezi figura). De aceastA data, el este asezat vertical, Acesta este compus, in mare, din doua parti: microprocesorul si memoria. Microprocesorul este componenta care efectueazaé toate operatiile aritmetice si logice. El executé programele (instructiunile din care acestea sunt alcatuite). Datorité rolului jucat, microprocesorul este supranumit “creieru! calculatorului” Din punct de vedere fizic, este o pies& micd (cAtiva centimetri patrati) dar pentru a fi construit s-a folosit o tehnologie de ultima ora. : Memoria calculatorului este de doua feluri: memorie interna si memorie externa si are capacitatea de a retine date si programe. Memoria interna este componenta care retine programul in curs de executie, De asemenea, ea retine si anumite date. Din punct de vedere fizic, este formaté din una sau mai multe piese dreptunghiulare, fiecare avand o suprafaté de cAtiva’ centrimetri patrati. Tehnologia, de ultima ora permite ca fiecare astfel de piesa sd aibé o mare capacitate de memorare. Microprocesorul comunicé cu memoria interna. Pe de o parte de acolo extrage instructiunea pe care o va executa, iar pe de alta parte acolo depune rezultatul executiei. Timpu/ necesar procesorului pentru extragerea (depunerea) unei date in memorie se numeste timp de acces. Timpul de acces la memoria interna este foarte mic. Acesta este motivul pentru care, jinainte de a fi executate, programele sunt incarcate in memoria interna. Memoria internd nu este suficient de: mare ca sa _ permita calculatorului s& retind toate programele care vor'fi executate. De asemenea, cea mai mare parte a memoriei interne retine date numai temporar (daca inchidem calculatorul, continutul ei se pierde). Din acest motiv, calculatorul este inzestrat cu memorie externa Aceasta este de mare capacitate si are caracter permanent (dacd inchidem calculatorul continutul sau se pastreaza). Exist mai multe tipuri de memorie externa. O astfel de memorie este formata (in general) din doua parti: 1. unitatea care permite citirea/scrierea pe suport ( in engleza se mai numeste drive); 2. suportul magnetic propriu-zis. Calculatorul contine incorporate doua unitati de memorie externa: harddisk-ul si unitatea (sau unitatile) floppy. Harddisk-ul are o capacitate mare de memorare. El contine incorporate unitatea de citire/scriere si suportul magnetic. Harddisk‘ul are o capacitate mare de memorare. Pe el incap multe programe si date. Timpul de acces la informatie este mai mare decat-in cazul memoriei interne, dar mai. mic decat la celelalte unitati ale. memoriei externe. Fizic, araté ca o cutie paralelipipedica. Vezi figura de mai jos. ; Unitatea floppy permite si se scrie sau sa se citeasca de pe disckete. Dischetele sunt exterioare calculatorului. Atunci cand se utilizeaz& una, aceasta este introdusa in unitate laté cum araté o disketa: in figura de mai jos se observa 0 unitate floppy. Un calculator este inzestrat cu una sau doua unitati floppy. Unitatea hard si unitatea flopy executé comenzi date de microprocesor (acesta coordoneaza activitatea intregului calculator). Optional, calculatorul poate fi dotat si cu o unitate CD ROM. Aceasta nu este incorporata calculatorului. Cu ajutorul ei se pot citi (nu si scrie) CD-urile’.care sunt discuri cu mare capacitate de inregistrare). Uneori, calculatorul este dotat si cu scanner, dispozitiv care permite introducerea. imaginilor in memoria calculatorului. De exemplu, putem introduce o pagina din revista. Aceasta va putea fi 9 Prelucraté (mérita, micsorataé, schimbate culorile ete.) apoi vizualizata pe monitor sau tiparita, Calculatorului i se pot atasa multe alte dispozitive, pe care nu le prezentam acum. Uneori, in locul termenului de calculator se preferé acela de sistem de calcul, tocmai pentru a sublinia faptul cd acesta este alcatuit din mai multe componente care comunica intre ele. Componentele fizice (in totalitarea lor) din care este alcatuit calculatoru! constituie hardware-ul acestuia (partea tare). 1.3 Mai mult despre programe In lini mari, am vazut care sunt componentele fizice care alcatuiesc calculatorul (hardware-ul acestuia). Dar un calculator este de neutilizat dacd nu este inzestrat cu programe. Cele mai multe dintre acestea nu au fost realizate de proprietarul calculatorului respectiv, ci cumparate, Programele afiate la dispozitie, la calculator (in totalitatea lor) alcdtuiesc software-u! (partea moale) calculatorului respectiv. Ca si hardware-ul, software-ul este indispensabil. Costul sdu este mai mare decat cel al hardware-ului. ( Exista firme specializate in scrierea programelor, numite firme de soft. Programele sunt realizate de persoane cu pregatire profesionalé de exceptie numite programatori. Programele care alcdtuiesc software-ul se impart in doua mari categorii: programe ale s/stemu/ de operare si programe utilitare. Nu ne propunem sa dam definitii riguroase, insé putem spune c& sistemul de operare este alcétuit din totalitatea programelor in absenta céarora calculatorul ar fi de nefolosit. De exemplu, pentru a scrie pe harddisk, dam o comanda simpla. In realitate, se apeleaza anumite componente ale sistemului de operare care realizeaz operatia specificata. Sirul exemplelor ar putea continua. In general, orice program foloseste din plin sistemul de operare. Calculatoarele cu care lucraém (asa numitele calculatoare compatibile IBM PC) folosesc sistemul de operare MS DOS sau, mai nou, sistemul de operare WINDOWS 95. Sunt multi cei care critica aceste sisteme de operare (nu fara temei), dar le folosesc din plin. Putem afirma faptul ca sistemul de operare MS DOS va fi inlocuit de WINDOWS 95. Exista si alte sisteme de operare dar ne oprim deocamdaté numai la acestea. Programele utilitare sunt de o mare diversitate. Dupa cum le spune si numele au fost scrise special pentru a putea folosi calculatorul in cele mai diverse activitati. Exemple. 1) Programe de joc. Cine nu le-a folosit? 2) Programe pentru realizarea tehnoredactarii computerizate. In ultimii ani este de neconceput s& apara o carte, un ziar care sa nu le foloseascdé. Ele permit introducerea si aranjarea textelor si imaginilor continute de publicatia respectiva. 3) Programe care se ulilizeaza tn economie. Orice firma detine programe care permit gestiunea automata (evidenta stocurilor, evidenta personalului), contabilitate ete. 4) Programe pentru realizarea imaginilor (de grafica). 5) Programe cu ajutorul carora se scriu alte programe. Acestea se numesc compilatoare. Vom reveni aspra lor. Aproape ca nu existé domeniu de activitate in care calculatorul sa nu fie necesar. Pentru toate aceste domenii au fost scrise programe utilitare. Retinem faptul ca, unele dintre ele sunt atat de complexe, incat trebuie sa le specializezi serios ca sa le folosesti eficient. La cumparare, programele sunt livrate pe diskete sau CD-uri. 1.4 Limbaje de programare Am vazut faptul cd un program reprezinté o succesiune de comenzi (mai corect instructiuni) date calculatorului in scopul rezolvarii automate a unei probleme. Odata scris, de catre unul sau mai multi programatori, un program este memorat si poate fi rulat de cate ori dorim. Problema este urmatoarea: care este limba in care ne adresém calculatorului? Acesta intelege orice limba? Bine- ar fi! De fapt, calculatorul nu intelege dec&t comenzi date: ca succesiuni de 0 si 1 (in sistemul binar). Acesta este singurul limbaj pe care il cunoaste si se numeste /imbaj masind. Regulile de scriere ale instructiunilor sunt extrem de grele. Dacaé ar fi sa scriem astfel programe, am pierde mult timp. Un program scris in acest mod se numeste program in cod maging. La aparitia calculatoarelor aceasta era singura forma de scriere a programelor. Evident, pentru a scrie programele mai usor trebuia s& se faca ceva, Cum s-a procedat? Au fost stabilite instructiunile care se dau calculatorului si pentru ele. au fost date nume in englezd -care sugereazd ce realizeaz fiecare. In felul acesta spunem ca s-a definit un Iimbaj. Dar cum este posibil ca acest limbaj s4 fie inteles de catre calculator, stiut fiind ca acesta nu intelege decat limbajul masina? Ideea este urmatoarea: o echipé de programatori a scris un program in cod masinaé (deci inteles de calculator) care citeste programul scris in limbajul definit si-l traduce in cod masina (limbajul inteles de calculator). Cu ajutorul acestui program, calculatorul isi traduce singur programul in limba pe care o cunoaste si odata tradus fl executé. Un. astfel de program de traducere se numeste compilator. Sa nu intelegem de aici ca existé un singur limbaj (numit si /imbaj de programare). Dimpotriva, exista foarte multe (de ordinul sutelor). lat&é numai cateva: FORTRAN, COBOL, BASIC, C, PASCAL s.a. Fiecare dintre ele are mai multe variante, de exemplu limbajul PASCAL are varianta TURBO PASCAL. Pentru a putea folosi un limbaj trebuie s& dispunem de compilatorul scris pentru el. In aceasta carte si in cele ce vor urma vom invata limbajul TURBO PASCAL. De ce? Pentru ca acest limbaj a fost astfel conceput incat, cu ajutorul jui, sé invatém usor si mai ales corect s@ programam. Intrebari recapitulative 1. Cum se numesc persoanele care scriu. programe? 2. Ce intelegeti prin hardware si ce intelegeti prin software? 3. Ce intelegeti prin sistem de operare? 4. Ce intelegeti prin /imbaj de programare? 5. Ce intelegeti prin compilator? 6. De ce invatam limbajul Turbo Pascal? Capitolul 2 Putin despre sistemul de operare MS DOS 2.1 Organizarea logica a memoriei externe Orice calculator este dotat cu una sau doua unitati floppy si un harddisk. Pentru identifcarea lor se folosesc urmatoarele nume: => a: pentru prima unitate floppy; = b: pentru a doua unitate floppy (daca exista); => e:, d:,... pentru harddisk. Atat pe harddisk ct si pe dischete se pot gasi date si programe. Acestea sunt memorate subforma de fisiere. Continutul acestora este extrem de variat. laté cateva exemple: un program este memorat intr-un fisier; un text oarecare este memorat intr-un fisier; © imagine care apare pe monitor este memorata intr-un fisier; datele referitoare la persoanele angajate la o firma sunt memorate intr-un fisier. Fisierele sunt identificabile prin nume si extensie (facultativ). Exemple: * activ.exe (activ este numele .exe reprezinté extensia); *° text1.doc; (.doc este extensia); © dateg (nume de fisier fara extensie). Observatie. Programele au obligatoriu extensia .exe sau .com. Pe un harddisk se pot gasi .sute (chiar mii ‘de fisiere). Cum le regadsim? Ne facem un caiet (pe care s&-I tinem langa calculator) si in care s& notaém numele fisierelor si ce retin ele? Este absurd. Atunci? La nivelul unei unitati (floppy sau hard) fisierele -pot fi grupate in directoare. Un director cuprinde mai multe fisiere si/sau directoare (se mai numesc in acest caz subdirectoare). Directorul cel mai cuprinzdétor (la nivelul unitati) se numeste director radaciné si se noteazé 7”. Modului de dispunere a fisierelor pe o unitate logicd i se poate atasa o structura (cu forma de arbore, cei drept inversat) ca cea de mai jos, numita sfructurd arborescenta. Director radacina Prezentém un continut ipotetic al hardului ( Director radacina \ Subdirector Dos format.com dvrspace.bin ega.cpi Subdirector TP Subdirector TVISION ali.dat sorin.exe turbo.exe tpc.exe command,.com drvspace.bin Directorul rad&cinaé cuprinde doud subdirectoare (Dos si TP) precum si doua fisiere (command.com si drvspace.bin). Subdirectorul Dos contine trei fisiere. (format.com, dvrspace.bin, ega.cpi) iar subdirectorul (directorul) TP contine un subdirector (TVISION) precum si doua fisere (turbo.exe si tpc.exe). Subdirectorul TVISION doua fisiere( ali.dat si sorin.exe) Pentru adresarea unui fisier se folosesc 3 elemente. 1. unitatea, 2. calea (situl de subdirectoare de la cel mai cuprinzator catre ce] care include fisierul); 3. numele fisierului. De exemplu, pentru adresarea fisierului sorin.exe se procedeaza ca mai jos: C; \p\ vision \sorin.exe S ——_ ureitea ‘mame Observatie: nu are importanté daca in adresare folosim litere mari sau mici. ! 2.2 Unitate curenta, director curent. Programele care alcatuiesc sistemul de operare ne asista si ne ajuta tot timpul cat lucram la calculator. Imediat ce am pomit calculatorul sistemul de operare intra in actiune. Acesta asteapta comenzi de la noi. | In mod normal (dacd nu au fost facute anumite modificdri si dacd sistemul de operare se gaseste pe harddisk) apare urmatorul mesaj (se numeste prompter): E e:\> Prin el, sistemul de operare asteaptaé de la noi o comanda (urmeaz s& o tastém dup& semnul >). De fapt, -mesajul respectiv ne spune mai mult si anume: 16 * unitatea curenté este harddiskul c; © directoru! curent este directorul radacina; e se asteapta o comanda. Ce inseamna unitate curenté? Ce inseamna director curent S& ne gandim la adresarea fisierelor. Am aratat ca, pentru adresare, se foloseste unitatea, calea si numele fisierelor. Dacé adresém un fisier care se géseste in unitatea si directorul curent (cea afisaté de prompter) putem folosi numai numele tui. Aceasta simplificé mult adresarea. Cum se schimb& unitatea curenté si cum se schimba directoru/ curent? Pentru schimbarea unitatii curente se foloseste numele unitatii care dorim sé devin curenta. SA presupunem ca dorim ca unitatea curenta sa fie a:. Comanda va fi: c:\>a: (dupa ce se da o comanda se tasteaza ENTER) . Imediat se va afisa: a:\> si se asteaptaé o comanda. Tot asa, dac& unitatea curenté este a: si dorim ca ea-sa fie c:, se va tasta c:. Pentru schimbarea directorului curent se foloseste comanda: cd (sau chdir, echivaleng. Exemplu. Unitatea curenté este. c:. Directorul. curent este directorul radacina. Acesta are. un subdirector fp, care la randul ‘lui are un subdirector prog. Se dau comenzile: ¢:\>ed tp prompterul va fi: c:\tp> si se da comanda: ¢:\tp>cd prog prompterul va fi: ¢:\tp\prog> Mai simplu, se dd comanada direct: ¢:\>ed tp\prog 7 Prompterul va fi; o:\tp\prog> Se poate si asa, dar scriem mai mult: e:\>ed c:\tp\prog O forma particularé a comenzii cd este cd.. si are rolul de a face ca directorul parinte (cel care contine directorul curent) sa devina curent. Exemplu. Fie prompterul: ¢:\tp\prog> {etrectonu curent este prog) si dim comanda: c:\tp\prog>cd. . Se va afisa: c:\tp> (directorul curent este f). 2.3 Comenzi interne, comenzi externe Comenzile sistemului de operare MS DOS sunt de doua feluri interne si extere. S& vedem ce le deosebeste. O comandé este intern’ dacd poate fi executaté direct a MS DOS, fara a apela alt program. O comanda este extend daca pentru executia ei se apeleazé un program al sistemului de operare. Sistemul de operare este livrat impreund cu cAteva programe care fi apartin. De regula acestea se gdsesc in subdirectorul DOS al directorului radacinaé. Apelul unui astfel’ de program se face prin numele lui, dat de asa natura incat sugereazd -comanda. Prin extensie, putem considera ca apelul oricdrui program este o comanda externa, 2.3.1 Comenzi interne 2.3.1.1 Comanda ver Are rolul de a afisa versiunea sistemului de operare MS DOS. Exemplu: c:\>ver Ce fnseamna versiune? Notiunea nu este legaté de un anume produs program. S& ne imaginam ca a fost realizaté o aplicatie informatica importantaé (format& din multe programe) si ca acesta a avut succes pe piaté. Ca orice produs, ea poate fi imbunatatita. In timp, apar variante mai bune (se elimina eventualele erori ascunse, programele devin complexe, pentru ca realizeazd mai multe functii etc.). Nojle variante (mai bune), se numesc versiuni. Pentru a le recunoaste, vor purta numele produsului initial, la care se adauga un numér reprezentand versiunea. Este probabil, ca voi sa aveti pe harddisk versiunea 6.2 a sistemului de operare MS DOS. © idee de baza pentru elaborarea unei noi versiuni este de a pastra compatibilitatea cu vechea versiune. Ce intelegem prin compatibilitate cu vechea versiune si care este rolul ei? Ca utilizatorul sA invete sa lucreze cu un program complex pierde ceva timp. Imaginiati-va ca apare o noua versiune a acestuia. Este bine ca ce a invdtat sa ramana valabil (sa lucreze cu noua versiune asa cum lucra si pana atunci), altfel este posibil sa nu o cumpere (din comoditate). De asemenea trebuie ca tot ce a realizat cu vechea versiune sa poata fi utilizat si cu cea noua. Daca aceste conditii sunt respectate spunem ca noua versiune este compatibild cu cea veche. Este de remarcat faptul ca versiunile care apar pentru MS DOS sunt compatibile. De exemplu, cine stie sa lucreze cu MS DOS 3.0 stie o parte din MS DOS 6.2, Este foarte important ca un produs informatic sé fie de la inceput bine gandit, astfel incat sé poaté fi imbunatatit cu usurinté. Altfel, noile versiuni nu vor fi decat niste “carpeli”. 2.3.1.2 Comanda dir Are rolul de a lista numele tuturor fisierelor si directoarelor care se gasesc in directorul specificat.. In cazul in care numele directoruluj nu este dat, se listeazé fisierele si directoarele din directoru/ curent. Exemple. 1) Prompterul este: c:\> Se da comanda c:\>dir Se vor afisa numele tuturor fisierelor si directoarelor incluse in directorul rédacina. 2) Prompterul este: c:\> Se d& comanda ¢:\>dir a: Se vor afisa numele tuturor fisierelor si directoarelor incluse in directorul radacina al-unitatii a. 3) Prompterul este: c:\> Se da comanda ¢:\>dir c:\tp Se vor afisa numele tuturor fisierelor si directoarelor incluse in subdirectorul tp al directorului radacina. Observatie. Dacé in directorul curent se gasesc multe fisiere si directoare apare un aspect neplacut. Despre ce este vorba? Tinand cont de faptul ca fiecare nume este scris pe un rand al ecranului si ca ecranul nu are dec&t 24 de randuri,, nu incap toate numele. Prin urmare, o parte dintre ele, dupa ce au fost tiparite, dispar in partea de sus a ecranului. Fenomenul se numeste defilarea randurilor. Consecinta? Nu apucém s& vedem tot. Ce este de facut? Comanda dir poate fi insotité de un parametru si anume /p. ‘Rolul sau este de a lista numele fisierelor pand cand a fost umplut ecranul. Din acest moment listarea se intrerupe si se asteapté apasarea unei taste, pentru a se lista in-continuare. Exemplu. Prompterul este: c:\tp> 20 Se dA comanda a:\tp>dir /p Cu ajutorul comenzii dix pot lista fisiere selectiv (numai unele dintre ele). Exemple. 1) Se doreste listarea numelor tutoror fiserelor cu extensia exe. Pentru aceasta se dé comanda: dir *.exe Prin '*’ intelegem fisiere cu orice nume. Prin faptul cd se trece extensia (.exe) se cere listarea numai a fisierelor cu aceasta extensie. 2) S& presupunem ca intr-un director sunt mai multe fisiere care se numesc capl.doc, cap2.doc_ s.a.m.d. Se cere listarea exclusiva a numelor lor. Comanda va fi: dix cap*.doc. Ce spune comanda? SA se listeze numele fisierelor care incep cu ‘cap’ si se pot termina oricum, dar care sa fie cu extensia .doc. : 2.3.1.3 Comanda copy Are roful de a copia unul sau maj multe fisiere dintr-un director in in altul. in urma copierii fisierul’se va gasi in ambelele directoare. Forma generala este: copy destinatie sursé Exemple. 1) ¢:\>copy t.pas a: Copiaza fisierul t.pas in directorul raddcina al unitatii a: 2) c:\util>copy arj.exe a:\facult “Copiaza fisierul arj.exe aflat In subdirectorul util al radacinii (de pe harddisk) in subdirectorul facult al radacinii unitatii a: 3) c:\>copy a:*.* c:\scoala Copiaza toate fisierele aflate in rddacina unitatii a: in subdirectoru| scoala al radacinii unitatii c:. Atentie: daca radacina contine sj subdirectoare acestea nu se copiaza. 4) o:\>copy arj.exe t:exe Copiazd arj.exe aflat in radacina unitatii c:, tot in radacina unitatii dar noul fisier va avea numele t.exe (acelasi fisier se gaseste cu doud nume). O astfel de copiere este cu schimbarea numelui. Observatie. Atunci cand am creat un fisier este prudent sd-l sa/vam. Prin salvare intelegem copierea unui fisier pe floppydisk. Este bine ca fisierele s& fie salvate pentru ca... nu se stie ce se poate intampla (se poate sterge sau defecta hardul si atunci...). De cele mai multe ori stergerea apare din cauza unor programe speciale numite virusi, facute cu scopul sd distruga informatia. Ele actioneaza fara stirea noastra. 2.3.1.4 Comanda del Aceast{ comanda are rolul de a sterge un fisier sau un grup de fisiere. Exemple. 1) c:\>del t.exe Sterge fisierul t.exe aflat in radacina unitatii c;. 2) e:\>del a:\arj.exe . Sterge fisierul.arj.exe din radacina unitatii a:. 3) 1) ¢:\>del a:\facult\c.doc Stege fisierul c.doc din subdirectorul, facult al unitatii a:. 22 4) c:\>del art. * Sterge toate fisierele aflate in directorul raddciné al unitatii a:. Inainte de a se face stergerea, se cere confirmarea. Observatie. Multé atentie in utilizarea acestei comenzi. Din neatentie, se pot sterge fisiere importante. 2.3.1.5 Comanda md Are rolul de a crea un subdirector al directorului curent. Evident. continutul acestuia va fi vid. Exemplu. c:\>md texte Se creeaza subdirectorul texte al directorului radacina. ¢:\>cd texte Directorul curent devine cel creat. c:\texte>copy a:*.* Se copiazd toate fisierele care apartin radacinii. unitatii a: in directorul texte. Observati faptul ca, in acest caz nu a mai fost necesar sd se treacd destinatia. 2.3.1.6 Comanda rd Are rolul de a sterge un subdirector al directorului cautat. Atentie! Subdirectorul care va fi sters trebuie s& fie vid (sé nu continé nici un fisier, sau subdirectoare). Exemplu. e:\>ed tata Directorul curent devine *ata. c:\tata>del +,* Se sterg toate fisierele din directorul curent. e:\tata>ed. . Directorul tata devine cel curent. c:\>rd tata Se sterge subdirectorul tata, 2.3.1.7 Comenzile date si time Calculatoarele au capacitatea de a retine data si ora exacta. Aceasta se pastreaza chiar si in situatia in care calculatorul este inchis. Anumite programe, extrag din sistem si afiseazd data si/sau ora. Dac& vrem s& cunoastem data, se foloseste comanda date. Data se afiseazd sub forma luna: in. Dacd vrem ca aceasta sa ramana nemodificaté, se tasteazd Enter, altfel se introduce data dorité sub forma de mai sus. Daca dorim s& cunoastem ora , se foloseste comanda time. Ora se afiseazi sub forma ora:minut:secunda.sutimi de secunda. Daca vrem ca aceasta si ramand nemodificaté, se tasteaza Enter, altfel se introduce ora dorité sub forma de mai sus. 2.3.1.8 Comanda cls In general, ecranul retine comenzile anterioare (in regim de defilare). Dac& dorim ca ecranul s& redevind curat se utilizeazd comanda cls. i 24 2.3.2 Comenzi externe 2.3.2.1 Comanda deltree SA ne imagindm un director care are mai multe subdirectoare, acestea au alte subdirectoare etc. Va imaginati cat de greu am sterge acest subdirector cu ajutorul comenzilor del si rd? Exercitiu. Pentru a ne usura munca sistemul de operare a fost prevazut cu un program numit deltree.exe. Acesta sterge un director si toate subdirectoarele incluse. . Exemplu: c:\>deltree tata 2.3.2.2. Comanda edit Are rolul de a apela editorul de texte al sistemului de operare MS DOS. Acesta este un program cu ajutorul caruia putem introduce texte pe calculator. Principul este foarte simplu: textul se intoduce si apoi se salveazd pe harddisk sau. pe disketaé sub forma de fisier (se mai numeste si fisier text). Fiecare caracter tastat apare in pozitia in care era cursorul inaintea apasarii. Cursorul este o -liniut& orizontald (_) care apare si dispare ‘permanent. Dupa tastare, cursorul ocupa pozitia urmatoare literei tastate. Acesta se poate deplasa in cele 4 directii cu ajutorul tastelor sageti («, T, >, 1). Existé cateva taste cu rol special in introducerea textelor. ¢ Enter determind cursorul s@ sara la rand nou. * e Delete sferge caracterul care se aflé pe pozitia curenté a cursorului. 4 Exemplu. Textul contine cuvantul carte, iar cursorul este pozitionat pe litera r. Apasarea tastéi delete are ca efect obtinerea cuvantulyj cate e Backspace (<-) are rolul de a sterge caracterul aflat inaintea pozitiei curente a cursorului. Exemplu. Fie cuvantul carte. Dupa apasarea tastei mai sus mentionate va ramane crte. ¢ Caps Lock. Daca aceasta tasta nu a fost apdsata, se scrie cy litere mici. In momentul apasarii tastei Caps Lock, se aprinde un beculet al tastaturii (indica faptul cd aceasta a fost apasata) sj pana la o noua apasare, se scrie cu litere mari. e Shift. Se foloseste impreuna cu celelalte taste. Principiul este urmatorul: se apasd Shift, dupa care, neridicdnd degetul de pe ea, se apasa alté tasté. Daca aceasta este litera va apare pe ecran ca literé mare, iar dacd este tast& bifunctionald (vezi randul 2 al tastaturii) se tipareste ce este sus (caracterele speciale *. (, &...). Toate acestea se intampla in ipoteza in care Caps Lock nu a fost apasaté (beculetul corespunzdtor este stins). In cazul in care am apasat-o (beculetul corespunzator este aprins) la apasarea cu Shift, se scrie cu litere mici. Tasta Caps Lock, nu influenteaza selectia in cazul tastelor bifunctionale. Programul edit are mult mai multe posibili dar nu le prezentam acum, intruc&t vor fi reluate pe larg in capitolul urmator unde vom Studia si editorul de texte Turbo Pascal. In acest moment cunoastem modul in care se introduce un. text. Acesta este obiectivul prezentului paragraf. Observatii. Nu putem folosi caractere romanesti (a 7, s, t 1.) si nu putem scrie formule asa cum suntem obisnuiti din matematicad. Pentru aceasta se folosesc programe de editare superioare. 2b | 2.3.2.3 Comanda pentru executia unui program Un program este apelat spre executie cu ajutorul numelui sau. Daca acesta se aflé in directorul curent se trece numai numele, altfel avem doua posibilitati: 1) vom face sé devina director curent, directorul care il contine, dupa care il apelam prin numele sau (comanda cd); 2) fl apelam prin forma completa (unitate, cale si nume). Exemple. 1) Programul s.exe se gaseste in directorul radacina pe c: ¢:\>s sau c:\>s.exe 2) Programul s.exe se gaseste in subdirectorul tp al radacinii: rad&cina pe c: c:\>ed tp si c:\tp>s sau ¢:\>c:\tp\s Exercitii propuse. > 1) Ce extensii pot avea fisierele program? _ 2) Ce cuprinde forma completa de adresare a unui fisier? 3) Cum se schimba unitatea curenta? 4) Dar directorul curent? : 5) Care este diferenta intre comenzile interne si comenzile externe MS DOS? ‘ 6) Afisati versiunea sistemului de operare MS DOS care se afld pe calculatorul vostru. 7) Afigati data curenta si ora. 27 8) Creati un subdirector al directorului radacind pe a:, numit test. 9) Copiati de pe hard un fisier oarecare in directorul creat la problema anterioara. 10) Creati un subdirector al directorului raddcina pe c:, numit test1 fad 41) Copiati continutul directorului test (de la problema 8) in directorul test1 de la problema 10. 12) Stergeti continutul directorului test1 (de la problema 11). 13) Stergeti directorul test1 de pe c:. 14) Stergeti directorul test de pe a: (doua variante). 15) Cum selectati spre copiere toate fisierele care contin extensia pas? Dar toate care incep cu a? 16) Rulati un program la alegerea voastra. 17) Introduceti un text oarecare cu ajutorul editorului de texte MS - J Dos. t 28 CAPITOLUL 3 Mediul integrat de programare Turbo Pascal Tn acest capitol vom invata sa introducem si s& rulam programe scrise in limbajul Turbo Pascal, nu sa le si concepem. Textul programului poate fi luat de oriunde (din carte, dintr-o revista). 3.1 Prezentarea mediului Pentru a usura munca. programatorilor PASCAL firma BORLAND a pus la dispozitia acestora mediu! integrat de programare Turbo Pascal. Acesta cuprinde: e editor de texte. e compilator, © meniuri. Toate concura la realizarea unui program si se gasesc la un loc ‘In cadrul programului turbo.exe. Vom prezenta, pe scurt, c&eva dintre aceste componente. Editorul de texte este acea componenta software care permite introducerea textelor diverselor programe. Compilatorul este acea componentaé software care traduce textul programului introdus de noi in limbaj masiné (succesiune de 0 si 1). Prin meniu se intelege o succesiune de cuvinte, fiecare cuvant avand semnificatia de comandé daté calculatorului, pentru ca acesta sa efectueze o anumité operatie. Numele provine de la faptul c&é pe ecran, apar toate cuvintele utilizatorul putaénd sd selecteze acel cuvant care corespunde comenzii pe care urmeazé s& o dea calculatorului. 29 Un cuvant din meniu (cuvantul este in limba engleza) simbolizeazg operatia pe care o va efectua calculatorul dacd acesta a fost selectat. Selectia se efectueazd prin plimbarea unei bare luminoase asupra cuvintelor din meniu, urmaté de apdsarea tastei Enter. Dupa apel (al programului turbo.exe), ecranul devine albastru, iar deasupra apar: ’ e un nume (NONAMExx- faré nume, iar xx este un numar cu doua cifre); ¢ meniu/ -mai multe cuvinte. scrise orizontal in partea de sus (FILE, EDIT,...etc). e cursoru/ plasat sub meniu - © liniuta orizontala care clipeste si indicd in permanenta pozitia de pe ecran in care va apare primul caracter tastat. Ecran Meniu Nume Dupa apelul de mai sus se poate introduce textul programului pe care vrem sa-l rulam (sa fie executat de catre calculator). Modalitatea de introducere a textului este identicd cu cea prezentata pentru editorul de texte MS DOS. 30 3.2 Rularea unui program SA considerdém programul de mai jos: program cl; var a,b:integer; begin write ('a=!') ;readin(a) ; write ('b=') ;readln(b) ; writeln (atb) end. Acesta citeste doud numere a, b si tipareste suma lor. Nu prezentém acum modul in care a fost realizat:-programul. Pentru moment, ne interseaza sa-l su/ém. Pentru aceasta, parcurgem etapele de mai jos. Etapa 1. /ntroducem textul programului. Copiem textul prezentat mai sus. Acesta se mai numeste si fext sursa (text in limbajul Turbo Pascal). Vom obtine: FILE EDIT program ol; var a,b:integer; begin write ('as');readln(a); write (‘b=') ;readln(b) ; writeln (a+b) end. 31 Etapa 2. Rularea propriu-zisa, Se face prin apasarea tastelor CTRL si F9 (intai CTRL si fara sa tidicam degetul de pe aceastd tasté apasim F9). O astfel de modalitate de apasare a tastelor se noteazd prescurtat CTRL+F9. Daca nu am tastat corect textul, apare un mesaj de eroare, iar cursorul se pozitioneaza in locul unde se presupune ca existé eroarea (nu intotdeauna locul presupus este cel in care s-a produs intr-adevar). In acest caz, se efectueazd corectia necesara si se incearca, din nou, rularea programului (CTRL + F9). In cazul in care nu avem erori, se executa programul. Procedand astfel, calculatorul executé mai multe actiuni (corect, acestea se numesc faze), pe care le prezentam in continuare. e Compilarea programului - traducerea lui -din Pascal in cod masina. Dacd programul este tastat corect, compilarea reuseste si se trece la faza urmatoare, altfel apare mesaj de eroare, asa cum am aratat (se numeste eroare de sintaxa). e Editarea legaturilor -fazi pe care o prezentam mai tarziu. e Executia programului, fazd specifica fiecdrui program in parte si pe care o prezentém, in continuare, pentru programul de mai sus. La inceput, calculatorul. va tipari mesajul si asteapta introducerea numarului a. S& presupunem ca dorim sa introducem numarul 12. Se apasd 1, apoi 2, dupa care se apasa Enter. Dupa aceea, se tipareste mesajul si se asteapta introducerea numarului b. Presupunem ca introducem numéarul 5. Calculatorul va tipéri 17 (suma celor doud numere). In acest moment executia programului este terminata. Sa observam ca, in momentul executiei, de pe ecran dispare textul programului, citirea si sctierea datelor se efectueaza pe alt. fond de ecran, iar dupa terminarea executiei, pe ecran apare, din nou, textul surs. In acest fel vom lucra cu doua imagi 32 e imaginea in care gasim textul sursaé (cea de mai sus); e imaginea in care programul citeste datele si scrie rezultatele. Asa cum am vazut, dupa terminarea executiei, se revine la imaginea in care se gaseste textul surs& al programului. De cele mai multe ori, nici nu avem timpul necesar s& vedem rezultatul tiparit. Pentru al vizualiza, se tasteazd ALT+F5. in acest caz, revenirea in mediul in care se gaseste textul sursd (programul) se face prin apasarea tastei Enter sau, din nou, ALT+F5. 3.3 Fereastra program in paragraful anterior am invatat sA introducem ‘textul sursa al unui program. . Zona din ecran.in care se introduce (sau se gaseste) textul sursé al unui program se numeste fereastra program. : O fereastraé are un anumit nume care apare in partea de sus a ecranului. In absenta altei optiuni acesta este NONAMExx, unde xx este un numar (de exemplu, NONAMEO0, NONAME01 etc.). Numele ferestrelor de forma NONAME sunt -nume implicite (adica sunt acordate in mod automat .de catre mediul’ integrat TURBO PASCAL). In paragraful urmator vom vedea ca exista posibilitatea s& acordam ferestrelor nume alese de noi - nume expiicite. in informatica, notiunea de fereastrd este fundamentala. Exist si alte tipuri de ferestre. In general, prin fereastra intelegem o portiune din ecran (in mod particular tot ecranul) in care se vizualizeaza intrarile si iesirile de date (schimbul de informatii cu calculatorul). 3.4. Salvarea si incdrcarea programelor In paragraful anterior am invatat s ruldm un program. Atat textul sursé al programului, ct si programul in cod masina (dupa compilare) se gasesc in memoria interna. Imediat ce parasim mediul integrat Turbo Pascal (ALT+x), acested se pierd SA presupunem ca dupa o zi, doua, dorim sa rulam din nou programul anterior. Ce avem de facut? Introducem iar textul sursa si efectudm operatiile care au fost aratate? Se poate si asa, dar pierdem timp. Pentru ca aceasta sé nu se intample, odata introdus, textul sursa al unui program trebuie sa fie sa/vat. Prin salvarea unui program se intelege operatia prin care acesta este scris pe suport magnetic (de cele mai multe ori pe harddisk, dar si pe disketé) sub forma de fisier. Pentru a putea refolosi programul salvat, acesta trebuie incarcat. Prin incarcarea unui program se intelege operatia prin care acesta este citit de pe suportul magnetic si introdus in memoria intema (acesta devine vizibil pe ecran). Salvarea unui program se face utilizand un anumit nume a/ programuluj (eventual si calea). De asemenea, incarcarea sa se face dupa numele cu care a fost salvat. Numele sub care se face salvarea sau incdrcarea programelor este, numele ferestrei care i! contine, urmat de extensia .pas. Pana in acest moment nu am folosit decat nume implicit (dat de sistem) pentru fereastra program. Este bine. ca salvarea programului s& se facd sub numé alese de noi (explicite). M4 SA presupunem ca am introdus textul sursa al unui program intr-o fereastraé cu nume implicit. Dorim s& salvam programul cu numele primul.pas. Pentru aceasta vom proceda astfel: e apelam optiunea FILE a meniului (ALT+f); e se selecteaza optiunea Save As (se pozitioneazé bara pe optiunea aratata, dupa care se tasteaza ENTER); e apare o fereastré cu un rol special (pentru salvare) - in care tastém numele sub care vrem sa salvam programul (pentru exemplu, primul. In urma acestor actiuni, programul se va gasi pe harddisk sau disketé sub numele primul.pas (extensia a fost adaugata automat). De asemenea fereastra program va avea’ acelasi nume (primul .pas). Este posibil ca sa dorim sa salvam un program aflat intr-o fereastré cu nume explicit si sa nu-dorim schimbarea numelui. Acest lucru este posibil. Vom proceda astfel: ' e apeldm optiunea FILE a meniului (ALT+f); e selectém optiunea Save. Mai simplu, salvarea se face apas&nd tasta F2 (0 astfel de tasta, care actionaté reduce considerabil efortul de a da o comanda se mai numeste si fasta fierbinte). Diferenta intre Save si Save As este data de faptul cd Save salveazé un program cu numele pe care il are fereastra, iar Save As salveazaé programul cu un nou nume (care va fi introdus de programator). Totusi, daca fereastra are un nume__ implicit, programatorul este intrebat cu ce nume sa se faca salvarea. De asemenea, in cazul in care se doreste sa se salveze un program cu un nume cu care mai este salvat un altul, programatorul este avertizat de acesta si intrebat dacd sa salveze peste cel memorat (Overwrite -caz in care cel initial memorat se pierde), sau nu. Observatie. Este bine ca atunci cand scriem un program sa-| salvam din cand in cand (poate fi o intrerupere de curent sau alt incident, cazuri in care am muncit degeaba). 35 Atentie! S& nu confundam numele programului dat de noi (dupa cuvantul program in exemplul dat acesta este cf) cu numele sub care va fi salvat programul. Este recomandabil ca cele doua nume sa coincida. Observatie. Fara alta optiune, salvarea unui program se face in directorul curent. In cazul in care se doreste salvarea in alt director, trebuie precizaté si calea (pentru Save As). Exemplu: dorim sa salvam_ programul cu numele primul in subdirectorul PRG al directorului MARIUS. Numele va fi trecut astfel: C: \MARIUS\PRG\PRIMUL. S& presupunem ca dorim sa incdrcém programul salvat anterior. Se poate proceda astfel: e se selecteaza optiunea FILE a meniului (ALT+f); * se selecteazd optiunea OPEN; ° se tasteazd C:\MARIUS\PRG\PRIMUL. Mai simplu, se tasteaz@ F3, apoi c: \MARIUS\PRG\PRIMUL. De fapt, indiferent de calea pe care o alegem, apare o asa numitaé cutie de dialog in care introducem numele specificat: Dupa aparitia cutiei de dialog, putem proceda si altfel. Vom observa ca, in- partea inferioara a ei, se gaseste o lista care cuprinde: => lista programelor din: directorul curent (se recunos¢ dupa extensia -Pas); 2 = lista subdirectoarelor directorului curent (se recunosc prin faptul ca se termina cu caracterul ‘\’ (exemplu: BGI\); = caracterele ..\ (au semnificatia de director parinte). Saltul la aceasta lista se poate face tastand TAB. Odata efectuat saltul, putem explora intreg hard-ul, pentru a incdrca programul care il dorim. Cum procedém? ¢ Dac programul pe care dorim s&-| incdrcdm se gdseste in directorul curent, plimbaém cu ajutorul tastelor sageti o ‘bard luminoas&é pan& aceasta se pozitioneazd pe numele programului, apoi tastam Enter. 36 « Dac& programul se gaseste intr-un subdirector al directorului radacina, pozitiondm bara luminoas& asupra numelui sau, apoi tastam Enter si procedim ca la cazul anterior. e Daca programul se gaseste in directorul parinte sau intr-un subdirector al acestuia, exploram directorul parinte plasand bara luminoas& deasupra caracterelor ..\ si tastand Enter, apoi procedam ca in cazurile anterioare. Tn acest fel se evita tastarea numelui complet (unitatea, calea si numele). 3.5 Lucrul cu mai multe ferestre program Existaé momente cand esfe necesar sé avem, simultan, mai multe programe in memorie (unele le incarcém de pe harddisk, altele le scriem in acel moment etc.). Mediul integrat de programare Turbo Pascal permite acest lucru. De exemplu, putem incarca (asa cum a fost aratat in paragraful anterior) doua programe de pe harddisk. Evident, fiecare program are asociaté fereastra sa (numele ferestrei coincide cu numele programului care a fost incarcat). In cazul existentei mai multor ferestre program, /a un anumit moment, numai: una este activa (in sensul ca putem opera numai asupra programului aflat in fereastra activa). Crearea unei noi ferestre se face utilizand optiunea NEW a meniului FILE (ALT+F si selectém NEW). In acest fel obtinem o fereastré cu un nume predefinit (NONAMExx) in care urmeaza s& introducem un text sursé. Modul in care dam numele dorit unei ferestre a fost prezentat. : SA presupunem c& avem 3 ferestre program la un moment dat in memorie (am aratat faptul c& numai una din ele este activa). Pentru ca allé fereastré sé devind activa, se selecteazé optiunea NEXT a meniului Window. Mai simplu, se tasteazé F6. Repetaénd procedeul urmatoarea fereastré devine activa, pana c&nd prima fereastra devine din nou activa, 37 Exist cazuri cand dorim sa introducem intr-un program o secventa, dintr-un alt program, deja introdus. Pentru a putea efectua aceasta operatie, ‘rebuie sd marcam ca bloc secventa respectiva (odata marcata, va figura in program intr. un context grafic diferit). Pentru marcare, procedam astfel: => se pozitioneaza cursorul la inceputul primului rand al secventei; => apasam tasta Shift in mod continuu si cu sageata jos (J) marcém randurile care o alcatuiesc. Odat& marcat, un bloc poate fi transferat intr-o fereastré special numité CLIPBOARD. Transferul se poate realiza in doua moduri: e blocul este numai copiat in CLIPBOARD (ramane si in fereastra care il contine); « blocul este mutat efectiv in CLIPBOARD (dispare din fereastra care jl contine). In primul caz, se apeleaza optiunea COPY a meniului Edit (Altte si se selecteaza COPY) sau, mai scurt Ctritins. In al doilea caz se apeleaza optiunea CUT a meniului EDIT (ALT+E si se selecteaza CUT) sau SHIFT+DEL. ~ Daca dorim, putem vizualiza continutul ferestrei CLIPBOARD apeland optiunea SHOW CLIPBOARD a meniului EDIT (cum?). Din CLIPBOARD, un bloc poate fi inserat in fereastra activa. Inserarea se face, iIncepaénd cu pozitia curenté a cursorului, apeland optiunea PASTE a meniului EDIT (pe scurt, Shift+Ins). Putem modifica dimensiunile ferestrei active. Aceasta se face astfel: = se apeleazd optiunea SIZE MOVE a meniului WINDOW (marginile ferestrei active capata alta culoare); = cu ajutorul tastei Shiftt s&getile’ dreapta (-»), stanga (<) sé deplaseaza latura din dreapta a dreptunghiului care marcheaza fereastra (cea din staénga ramane fixa); => cu ajutorul tastei Shiftrsdgetile sus (*), jos (v). se deplaseaza baza dreptunghiului (latura de sus ramane fixa); 38 = dup& ce am adus fereastra la dimensiunile dorite, ea poate fi mutata cu ajutorul sagetilor in pozitia dorita; = in final, se tasteazd Enter. In cazul in care dorim, putem modifica aranjarea ferestrelor program pe ecran. Le putem aranja una sub alta cu ajutorul optiunii TILE a meniului WINDOW. Le putem aranja in cascada cu ajutorul optiunii CASCADE a meniului WINDOW. [res Daca dorim ca fereastra activa s& ocupe intreg ecranul se apeleaza optiunea ZOOM a meniului WINDOW. Probleme propuse 1) Introduceti si rulati urmatorul program (adund, scade, inmulteste si imparte doua numere cu parte fractionara. Exemplu a=1.25, b=7.76. Observati cA in loc de virgula se foloseste punctul. program ex; var a,b,s,d,p,c:real; begin write ('a=') ;readln(a); write ('b=') ;readln(b) ; 39 . si=atb; disa-b; Pisatb; e:sa/b; writeln('suma este ',8:6:3); writeln('diferenta este ',d: writeln('produsul este ',p writeln('catul este ',c:6:3) end. 2) Salvati programul de mai sus sub numele de ex.pas. Salvarea se va face in doua directoare diferite, stabilite de dumneavoastra 3) La intrarea in mediul de programare Turbo Pascal, incarcati ce ati salvat la problema 2. Ce observati ? 4) Lucrati simultan cu doua ferestre program: prima va contine programul prezentat in acest capitol, a doua programul de Ja- problema 1. Aranjati in toate modurile posibile cele. doua ferestre. 5) Selectati un bloc dintr-unul din programe si introduceti-| in celalalt, dupa linia 3. Rezolvati problema in doua ipoteze: « blocul rém&ne si in programul de unde a fost selectat; « blocul este sters din acesta. Vizualizati continutul ferestrei. CLIPBOARD. 6) Gasiti in subdirectoarele directorului in. care aveti mediul de programare TURBO PASCAL programe livrate de firma BORLAND, incarcatite si rulati-le (trebuie s& contina extensia .pas iar primul cuvant din ele sa fie program). 40 Capitolul 4 Primele programe 4.1 Cel mai simplu program $a vedem cum arata cel mai simplu program Pascal program usor; begin ‘ end. Programul de mai sus este corect. Cu toate acestea el nu face nici o operatie. Daca il analizam, putem trage primele concluzii: . * orice’ program. Pascal incepe cu. cuvantul program, urmat de numele programului (nume. pe care |-am ales pentru a-| “boteza’); * orice program Pascal contine cuvintéle begin si end; e dupa numele programului punem ‘;’ (caracterul punct si virgula); « orice program Pascal se termina cu “.” (caracterul punct). In exemplul nostru, programul se numeste usor. Observatie 1. La scrierea unui program nu are importanta daca folosim litere mari sau mici, De exemplu, programul de mai sus ar putea arata si astfel' (desi nu este o forma eleganté de prezentare): PRograM uSoR; 7 BeGin End. Observatie 2. Nu are importanté nici plasarea cuvintelor pe linie, nici spatiile dintre ele. Programul de mai sus poate fi scris si asa: pRogrAm usor; BeGin End. Aceasta nu inseamna ca este bine sa proceddém astfel. SA ne imaginam ca avem in faté un program mare scris asa. El poate fi rulat, dar care programator va mai intelege ceva, daca il priveste? Observatie 3. Versiunea Borland a limbajului permite ca secventa program nume sa lipseascé. De exemplu, putem scrie si asa: begin end, Daca suntem ordonati nu proceddm astfel. 4.2 Cate ceva despre variabile Sa analizim programul de mai jos, care citeste un numéar intreg (pe care noi il introducem de la tastatura) si il tipareste: program cl; var a:integer; begin read (a) ; write(a) end. In cazul in care introducem numarul 10, calculatorul va tipari 10, daca introducem 16, calculatorul va tipari 16 s.a.m.d. Care este mecanismul prin care se realizeaza aceasta? Ca/culatorul preia data citia (in exemplu numarul intreg) si o depune in memoria intend. De acolo, aceasta este luata si scrisé (tiparita) pe monitor. Prin citire se intelege operatia prin care calculatorul preia o- data din exterior si o depune in memoria interna. Pentru citire, mediul exterior va fi tastatura (vom vedea ca exista si alte dispozitive de pe care se poate citi). a Prin scriere se intelege operatia prin care calculatorul preia o daté din memoria interné si 0 depune in exterior. Pentru scriere, mediul exterior va fi monitorul (ca si la citire, vom vedea ca exist si alte dispozitive pe care se poate scrie). Shema de mai jos, sintetizeazé mecanismul prezentat: MEMORIE Citire Scriere A spune ca o data este depusa in memoria interna este mult prea putin. Memoria interna contine o multime de alte informatii. Trebuie sa stim /ocu/ in care data este depusa. Pentru a putea realiza aceasta, se foloseste un procedeu specific. In ce consté el? Pe scurt, se declara 0° variabild (in programul exemplu se numeste a). Pentru declarare, se foloseste cuvantul var, urmat de numele variabilei, caracterul ‘:’ si fipu/ ei. Desi notiunea de tip este mai complexa, pentru moment, retinem faptul cA ‘tipu/ variabilei precizeazé natura datelor care pot fi retinute de variabila respectiva. in exemplu, variabila este a de tip integer. inseamnd c& ea va putea retine numai numere intregi. Pentru inceput, ne imaginam variabila a ca pe o “cutiuté” aflata in memoria interna care retine un numér intreg. SA presupunem ca* s-a_ citit numarul. 10. Reprezentarea intuitiva va fi: a Dac& numérul citit este 16, reprezentarea intuitiva pentru variabila 2 este: 43 Daca tinem cont de faptul c& variabila a se gdseste in memoria interna, schema devine Data(16) | MEMORIE Data(16) Citire 16 Seriere a Se observa c& in cazul citirii numarului 10, variabila a retine 10, in cazul citirii numarului 16 variabila a retine 16. Ne-am imaginat variabila ca pe o cutiuté. Aceasta retine la un anumit moment un numér intreg. Tocmai de aici provine numele de variabilé - desi are un unic nume (a) retine diverse date de acelasi tip, deci are un continut variabil. program c2; var b:string; begin read (b) ; write (b) end. Sa rulam programul de mai sus. Acesta citeste un cuvant si il tipareste. De exemplu, daca la citire introducem cuvantul “soare” el va fi tiparit. Variabila b este de fipu/ string (poate retine un sir de caractere). Si pe aceasta ne-o imaginaém ca pe o “cutiuté” ce are capacitatea de a retine cuvinte: Am dat acest exemplu, pentru a atrage atentia asupra importantei pe care o prezinté tipul variabilei - determiné natura datelor ce pot fi retinute de o variabilé, 4

S-ar putea să vă placă și