Informatica, pas cu pas

03/11/2009

L10. Macrouri

Categorisit la C1_2_1 Microsoft Word — mchelariu @ 14:00

Un macro reprezinta un sir de operatii/proprietati ce pot fi asociate unei combinatii de taste sau unui buton din bara de butoane.

Optiunea este foarte utila in momentul

L9. Mail merge

Categorisit la C1_2_1 Microsoft Word — mchelariu @ 13:45

Mail merge

Optiunea MAIL MERGE este indispensabila celor care doresc sa trimita un acelasi document, personalizat, la mai multor persoane:

  • invitatii la un eveniment (titlu, nume, ora , data)
  • plicuri (destinatar, adresa, cod postal)
  • notificari (nume, email, …)

Merge inseamna imbinare. Practic se imbina un formular (pagina A4 sau plic/envelope … sau ce tip de foaie urmeaza sa tipariti) cu un tabel (cu antet) realizat in Word sau Excel.

Etapele necesare sunt:

  1. Creati tabelul si salvati. (antetul tabelului poate fi : titlu, nume parinte, nume copil, clasa copil, data, ora – incercam sa facem invitatii pentru discutii particulare diriginte-parinti)

L8. Page border. Watermark. Background

Categorisit la C1_2_1 Microsoft Word — mchelariu @ 13:12

Page border

Dupa atatea proprietati ale paragrafelor, tabele, ecuatii,imagini, buline poate ar trebui sa dati paginilor dumneavoastra o tusa noua, sa le infrumusetati. Wordul permite stabilirea unei margini/cadru pentru toate paginile din document.

Trebuie sa ajungeti in BORDERS AND SHADOWS (borduri si umbre) si sa alegeti fila PAGE BORDER (borduri de pagina  - traducerea Windows :) ) . Fila va permite alegerea

  • a mai multor tipuri de linii, cu a caror culoare si grosime le puteti specifica
  • optiunea ART va ofera o serie de borduri gata construite alb-negru sau color; foarte de efect;

Watermark

Optiunea WATERMARK(inscriptionare)  (2003 – meniul FORMAT; 2007 – layout “aspect “) permite afisarea pierduta a unui mesaj, sub textul propriuzis. Optiunea este foarte utila cand doriti sa tipariti pagini  cu mesaje de tipul CONFIDENTIAL, NU SE COPIAZA, DOCUMENT INTERN, … sau doriti sa il publicati pe net (transformat din DOC in PDF) si sa specificati proprietarul.

Background

Aceasta optiune permite umplerea paginii (FILL) (a suprafetei unde scrieti, in spatele textului) cu

  • 1-2 culori cu efecte (GRADIENT)
  • textura (modele de sac, marmura, nisip, …)
  • hasuri (pattern; puteti specifica cele doua culori)
  • o imagine a dumneavoastra

Ultima optiune va ajuta in cazul in care vreti sa creati in WORD  un afis sau o diploma.

27/10/2009

L7. Lucrul cu obiecte in MS WORD – imagini, ecuatii, shapes, …

Categorisit la C1_2_1 Microsoft Word — mchelariu @ 10:03

Adaugarea unui obiect nou

Varianta 2007: Din meniul INSERT(inserare)  trebuie sa alegeti sectiunea XXX (ilustratii). De aici puteti insera PICTURES (imagini), CLIPART (miniatura), SHAPES (forme), SmartArt si CHARTS (diagrama).

Varianta 2003:

Operatii curente asupra obiectelor

  • fiecare obiect poate fi redimensionat; trebuie sa trageti (drag and drop) de cele 8 patrate de pe margine; observatica deasupra patratelor, forma mouseului se schimba, invitandu-va sa executati drag and drop
  • daca efectuati drag and drop asupra unui obiect (nu deasupra patratelor) realizati mutarea obiectului din locul in care se afla in locul unde ridicati butonul mouseului
  • operatiile de editare (CUT – taiere, COPY – copiere, PASTE – lipire, DELETE – stergere) se realizeaza in mod identic cu ceea ce stim deja: selectam obiectul, click dreapta, si aleg operatia dorita
  • proprietati generale obtinem cu click dreapta – FORMAT; aici aveti niste subsectiuni (in principal comune tuturor tipurilor de obiecte)
    • Fill (umplerea obiectului) : cu 1-2 culori, cu amestec de culori predefinit (preset), cu textura(marmura, nisip, etc), cu hasuri (XXX) sau cu o imagine la alegere
    • Line (linie) : puteti alege diferite tipuri de linii pentru marginile obiectului, grosimi, culori
    • Layout (incadrare text) va permite sa stabiliti cum se comporta textul vis a vis de obiectul dvs: textul poate incadra imaginea (ca un patrat sau apropiat, daca obiectul permite), deasupra/sub text; in lipsa acestor optiuni textul ocupa spatiul cel mai de jos, langa obiect; optiunea este foarte folositoare la crearea unor reviste/ziare/brosuri, cand dorim ca textul sa curga pe langa obiect (imagine)
    • alte proprietati se pot obtine fie din click dreapta (2003) fie din meniul DRAW (click drp pe bara cu butoane si alegeti DRAW)
      • aspect 3D
      • rotatie
      • luminozitate
  • pentru a putea efectua aceeasi operatie asupra multor obiecte (selectie multipla) trebuie sa tineti apasata tasta CTRL si apoi sa click-ati pe fiecare obiect in parte
  • aceasta operatie este foarte utila pentru gruparea obiectelor (GROUP); obiectele selectate devin un unic obiect si este mai uros de manevrat la mutari/redimensionari.
  • operatia inversa este UNGROUP, care desface obiectul in partile componente

Proprietati specifice

  • shapes (forme):
    • formele disponibile sunt: linii, forme de baza (patrat, dreptunghi, cerc, …) , sageti bloc, elemente de scheme logice, baloane text, stele si forme ondulate
    • au in plus optiunea ADD TEXT (adauga text); textul poate fi formatat: font, culoare, marime, …
    • o forma poate fi schimbata cu alta  - CHANGE SHAPE
  • ecuatii:
    • le accesa din butonul pe care, eventual, l-ati pus in toolbar sau din INSERT- OBJECT – Microsoft Equation 3.0;
    • in ambele cazuri se activeaza o bara cu butoane specifice; fiecare buton ascunde o clasa de butoane

14/10/2009

Instructiunea EXECUTA CAT TIMP

Categorisit la C2_1. Algoritmica — mchelariu @ 08:10

Sintaxa: executa instructiune cat timp (expr_logica)

Efect:

  1. se executa instructiunea
  2. se stabileste valoarea de adevar a expresiei logice
  3. daca valoarea conditiei este ADEVARAT atunci se revine la pasul 1
  4. daca valoarea conditiei este FALSA atunci se continua cu instructiunea de dupa EXECUTA CAT TIMP

Observatii:

  • instructiunea EXECUTA CAT TIMP este o instructiune repetitiva conditionata posterior (sau cu test final)
  • intai executa instructiunea de repetat si apoi verifica necesitatea repetarii; instrutiunea se executa macar o data
  • secventa de operatii este: instructiune, conditie, instructiune, … , conditie, instructiune, conditie

Care instructiune repetitiva este mai buna?

Desi sunteti tentati sa alegeti trebuie sa stit ca ambele instructiuni au aceeasi capacitate. Toata problema este sa verificati in algoritmul dumneavoastra daca trebuie sau nu efectuat un test inainte de executarea instructiunii/instructiunilor de repetat.

Simularea instructiunii CAT TIMP EXECUTA cu EXECUTA CAT TIMP. Instructiunea CAT TIMP EXECUTA intai testeaza si apoi executa; daca comparam secventele de executie observam ca la CAT TIMP EXECUTA intai apare un test/conditie. si apoi este identica cu EXECUTA CAT TIMP; nu ramane decat sa folosim o instructiune de test pentru aceasta conditie;

cat timp (exp_logica) executa instructiune; daca (exp_logica) atunci

executa instructiune cat timp (exp_logica)

Observati ca pentru transformarea unei instructiuni cat timp in una executa cat timp, nu trebuie dacat sa identificati conditia si secventa care se repeta; apoi copiati corespunzator in sablon.

08/10/2009

L6. Tabele in Word

Categorisit la C1_2_1 Microsoft Word — mchelariu @ 16:47

Crearea unui tabel

meniu_table

In bara cu butoane, daca glisati usor mouse-ul, puteti gasi usor butonul insert table; selectarea acestui buton va sugereaza alegerea unui tabel cu maxim 4 linii si 5 coloane; daca doriti o structura mai mare puteti mari suprafata cu drag and drop (trageti); aspectul tabelului este cel implicit, stabilit ca default.


O varianta mai sigura este sa table_autoformatalegeti din meniul TABLE optiunea INSERT TABLE; aceasta varianta va permite stabilirea exacta a numarului de linii si coloane precum si aspectul tabelului, apasand pe AUTOFORMAT; aici puteti alege forma dorita din modele prestabilite si  o puteti stabili ca implicita apasand butonul DEFAULT.

Selectia

Pentru selectie puteti folosi mouse-ul sau SHIFT + tastele de deplasare (sageti, home, end, pgup, pgdn); mai sigura este folosirea meniului TABLE unde, dupa ce cursorul este fizat in pozitia dorita puteti accesa optiunea SELECT puteti alege selectarea:

  • intregului tabel (TABLE)
  • coloanei curente (COLUMN)
  • liniei curente (ROW)
  • celulei curente (CELL)

Deplasarea in tabel

Deplasarea in tabel se poate realiza cu :

  • click cu mouse-ul in celula dorita
  • tastele de deplasare  – dar veti parcurge intregul continut al fiecarei celule
  • de la o celula la alta cu tasta TAB; apasarea tastei TAB in ultima celula a tabelului determina aparitia unei linii noi

Operatii curente asupra unei selectii

Cu click dreapta asupra unei selectii din tabel pot obtine:

  • asupra tabelului (unele optiuni apar si la linii si coloane)
    • linii/coloane de dimensiuni egale (distribute row/columns evenly)
    • stabilirea unui model de formatare a tabelului (table autoformat)
    • formatarea liniilor din tabel (border and shadings)
    • aranjarea informatiei in cadrul celulei (cell alignment)
    • unirea celulelor selectate (merge cells)
  • asupra coloanei
    • editare text selectat (cut, copy, paste)
    • inserare coloana noua (insert column)
    • stergere coloana curenta (delete column)
    • stabilirea orientarii textului (text direction)
  • asupra liniei – asemanator cu optiunile pentru coloane

Alte operatii

  • marimea liniilor si coloanelor sa poate schimba tragand (drag and drop) de liniile despartitoare;
  • apasarea tastei TAB in ultima celula a tabelului determina aparitia unei linii noi
  • pentru inserarea unei linii/coloane noi puteti folosi optiunile din meniul TABLE (insert row after/below, insert column to the left/right)
  • o celula sau un grup de celule se pot imparti intr-un numar de linii si coloane pe care sa le stabiliti daca folositi optiunea SPLIT

02/10/2009

Bacalaureat 2010

Categorisit la Bacalaureat — mchelariu @ 09:23

Fisiere oficiale legate de bacalaureatul 2010 gasiti aici.

13/08/2009

L6. Instructiunea PENTRU – EXECUTA

Categorisit la Uncategorized — mchelariu @ 12:45

Instructiunea PENTRU – EXECUTA repeta o instructiune de un numar fix de ori.

Sintaxa: PENTRU contor<-exp_init,exp_fin EXECUTA instructiune

Efect: pentru fiecare valoare a contorului intre expresia initiala si expresia finala se executa instructiunea;

Exemplu: pentru i<-1,10 executa scrie ” Nu ma prinzi!”;

  • pentru fiecare valoarea a variabile i, de la 1 la 10, se afiseaza ” Nu ma prinzi!”
  • de 10 ori se afiseaza ” Nu ma prinzi!”
  • daca secventa ce trebuie repetata contine mai multe instructiuni, acestea se vor grupa cu acolade

Observatii:

  • practic, pentru fiecare valoare a lui i, intai se testeaza daca nu s-a depasit valoarea finala 10 si apoi se executa instructiunea;
  • algoritmic, propozitia de mai sus este :
    • i<-1; cat timp (i<=10) {scrie ” Nu ma prinzi!”; i<-i+1; };
  • practic , secventa de mai sus me explica faptul ca instructiunea pentru este o clona a instructiunii cat timp.

Exemplul 1.

  • Sa se afiseze numerele pare pana la o valaore N, naturala.

intreg n,i;

citeste n;

pentru i<-0,n executa

daca (i%2==0) atunci scrie i.

Observatii:

  • algoritmul ia fiecare valoare intre 0 si n si o testeaza daca este para (restul impartirii lui i la 2 sa fie nul :  i%2==0)
  • se efectueaza n pasi din care jumatate sunt gresiti; trebuie o varianta mai buna

Exemplul 2.

  • Aceeasi problema dar incercam sa mergem din doi in doi
    • intreg n,i; citeste n; pentru i<-0,n,2 executa  scrie i.
    • intreg n,i; citeste n; pentru i<-0,n/2 executa  scrie i*2.

Observatie:

  • in primul caz, 2-ul de dupa n (i<-0,n,2 ) stabileste cresterea lui i cu 2 si nu cu 1 asa cum este implicit
  • in al doilea caz, ne folosim de faltul ca valorile cautate sunt pare, divizibile cu 2;

Exemplul 3

  • Sa se calculeze suma primelor N numere naturale.
    • evident, stim formula n*(n+1)/2 dar sa incercam un algoritm;
    • va trebui sa adunam, la o suma , toate valoarile de la 1 la n

intreg n,i,suma;

citeste n;

suma<-0;

pentru i<- 0 ,n executa suma<- suma +i;

scrie suma.

    Exemplul 3.

    • Se citeste un sir de N valori intregi. Sa se determine cea mai mare valoare citita (valoarea maxima dintr-un sir).

    intreg n,i,max,val;

    citeste n;

    citeste max;

    pentru i<-2,n executa

    {citeste val; daca val>max atunci max<-val;};

    scrie val.

    12/08/2009

    L5. Instructiunea repetitiva CAT TIMP

    Categorisit la C2_1. Algoritmica — mchelariu @ 17:51

    Chiar si cu atribuirea si intructiunea de decizie, si tot nu este de ajuns.  Exista probleme ce necesita repetarea unor operatii si cu ceea ce stim, nu putem face fata.

    Exista trei instructiuni (structuri) repetitive folosite in toate limbajele:

    • instructiunea repetitiva cu test initial CAT TIMP (WHILE)
    • instructiunea repetitiva cu test final REPETA-PANA CAND (DO WHILE sau REPEAT)
    • instructiunea repetitiva cu un numar cunoscut de pasi PENTRU (FOR)

    Instructiunea CAT TIMP

    Sintaxa: cat timp (expresie_logica) executa instructiunea;

    Efect:

    1. se stabileste valoarea de adevar a expresiei logice
    2. daca valoarea expresiei logice este ADEVARAT atunci se executa instructiunea si se reia de la pasul 1
    3. daca valoarea expresiei logice este FALS atunci se continua cu instructiunea de dupa CAT TIMP

    Observatii:

    • CAT TIMP este repetitiva conditionata anterior deoarece intai se evaluaeza conditia si apoi se executa instructiunea
    • Practic, succesiunea de etape este  exp logica, instructiune,exp logica, instructiune,exp logica, instructiune,…exp logica;succesiunea se incheie cu exp logica in momentul in care valoarea expresiei este FALS.
    • daca pe cazul ADEVARAT trebuie sa scriem mai multe instructiuni, acestea vor fi grupate cu acolade

    Exemplul 1

    • Fie a si b doua valori naturale. Se se simuleze inmultirea a*b prin adunari repetate.
      • P=a*b=a+a+….+a de b ori
      • Expresia de mai sus spune ca a trebuie adunat la P de b ori; adica, la fiecare adunare la P a lui a putem sa scadem un 1 din b (decrementam), pentru a pastra numarul de adunari ce mai trebuie efectuat; cand b va fi zero ,  se va adunat a de b ori

    intreg a,b,p;

    citeste a,b;

    p<-0;

    cat timp (b>0) executa

    {p<- p+a; b<- b-1;};

    scrie p.

    Observatii:

    • pentru fiecare adunare a lui a la p, scadem un 1 din b
    • aceste operatii trebuie executate pentru fiecare caz in care b este pozitiv; de aceea au fost grupate cu acolade
    • este algoritmul corect? Sa verificam cazurile cu zero:
      • daca a este zero, atunci la P se aduna zero de b ori; practic P ramane la valoarea zero. CORECT!
      • daca b este zero, conditia din CAT TIMP este falsa si atunci nu se executa instructiunile; in consecinta se afiseaza direct valoarea lui P,adica zero;  CORECT!

    Exemplul 2

    • Fie a si b doua valori naturale. Sa se simuleze impartirea lui a la b prin scaderi repetate si sa se afiseze catul si restul.
      • vom scadea din a valoarea lui b de mai multe ori, numarand intr-o variabila contor de cate ori am facut scaderea (practic variabila contor va fi catul impartirii)
      • operatia se va repeta cat timp din a se mai poate scadea un b, adica cat timp a mai mare decat b
      • Ce reprezinta valoarea ramasa in a? O valoare mai mica decat b? Evident, restul impartirii.

    intreg a, b, contor;

    contor<- 0;

    daca (b=0) atunci scrie “nu se realizeaza impartiri la zero!”;

    altfel {cat timp (a>b) executa {a<- a-b; contor<-contor+1;};

    scrie “catul este “, contor;

    scrie “restul este “, a};.

    Observatii:

    • am pus intre acolade secventa in care numaram de cate ori am scazut pe b din a; erau doua instructiuni;
    • este corect algoritmul? Daca incercati cazurile normale, va merge. Sa verificam cazurile speciale:
      • daca a este mai mic decat b atunci cat timp nu va functiona si se va afisa direct contor (zero) si a (restul); CORECT!
      • daca a este zero, atunci nu se executa cat timp si se afiseaza contor si a (0 si 0 ) CORECT!
      • daca b este zero, se afiseaza mesajul de eroare si algoritmul se incheie CORECT!

    Exemplul 3.

    • Sa se calculeze cel mai mare divizor comun a doua valori a si b naturale.
      • asa cum spune definitia, cel mai mare divizor comun trebuie sa fie o valoare, care sa divida atat pe a cat si pe b; aceasta valoare poate fi in cel mai bun caz a sau b

    intreg a,b;

    citeste a,b;

    cmmdc<- a;

    cat timp (a%cmmdc +b%cmmdc !=0) executa cmmdc<- cmmdc-1;

    scrie cmmdc.

    Observatii:

    • expresia a%cmmdc +b%cmmdc !=0 este nula doar daca atat a%cmmdc  cat si b%cmmdc sunt nule, adica cmmdc divide simultan a si b; atat timp cat aceasta conditie nu se realizeaza scadem cmmdc-ul
    • ultima valoare panaa la care se poate scadea este 1, divizorul tuturor numerelor; in acest caz a si b se numesc numere prime intre ele.

    Exemplul 4

    • Ghiceste-mi numarul! Eu imi aleg un numar intre 1 si 100. In cati pasi il poti ghici? La fiecare incercare raspund cu SUCCES, MIC sau MARE.
      • prima varianta este sa intrebam aleator; cam multi pasi!
      • sa parcugem valorile de la 1 la 100; cam multi pasi!
      • sa gandim! vom testa intodeauna mijlocul intervalului; in acest fel, la fiecare intrebare, elimin jumatate din cazuri.

    intreg x,m1,m2, mij, pasi;

    citesc x; m1 <- 1; m2<- 100;

    mij<- 50; pasi<- 0;

    cat timp (mij!=x) executa

    {daca (x<mij) atunci m2<- mij;

    altfel m1<- mij;

    mij<-(m1+m2)/2;

    pasi<- pasi +1;};

    scrie pasi.

    Observatie:

    • dupa fiecare test fara succes intervalul in care cautam se ajusteaza la stanga (daca mij este mai mic decat x) sau la dreapta (daca mij este mai mare decat x)

    Exemplul 5.

    • Fie N un numar natural. Sa se calculeze suma cifrelor lui N.
      • vom initializa o variabila suma cu zero
      • trebuie ca delimitam pe rand cifrele care formeaza numarul N; putem determina rapid ultima cifra: n%10; daca o stergem (n<- n/10) putem deternima penultima cifra; s.a.m.d.
      • cand ne oprim? … cand N nu mai are cifre; deci , cand N este zero.

    intreg n, suma;

    citeste n;

    suma <-0;

    cat timp (n!=0) executa {suma<-suma+n%10; n<-n/10;};

    scrie suma.

    Observatie:

    • instructiunea suma<-suma+n%10 creste suma cifrelor deja obtinute cu valoarea ultimei cifre a lui n.
    • pentru cazul in care n este nul, cat timp nu se mai executa si se afiseza suma cu valoarea 0; Suma cifrelor lui 0 este 0. CORECT!

    10/08/2009

    L4. Instructiunea de decizie

    Categorisit la C2_1. Algoritmica — mchelariu @ 18:02

    Fara instructiunea de decizie sau de test (in nici un caz detest) algorimul ar fi linear.  Aceasta instructiune ne ajuta in cazul in care avem o intrebare privind natura datelor folosite, a valorii lor la un moment dat.

    Practic, trebuie sa punem intrebari la care algoritmul sa raspunda cu adevarat/fals; ce operatori folosim pentru a obtine raspunsuri adevarat/fals?

    Expresii cu valoare logica (adevarat/fals)

    Operatori de relatie:

    • “>” inseamna  mai mare
      • a>b are valoarea adevarat numai daca valoarea variabilei a este mai mare decat valoarea variabilei b
    • “<” inseamna mai mic
      • a<b are valoarea adevarat numai daca valoarea variabilei a este mai mica decat valoarea variabilei b
    • “>=” inseamna  mai mare egal
      • a>b are valoarea adevarat numai daca valoarea variabilei a este mai mare sau egala cu valoarea variabilei b
    • “<=” inseamna  mai mic sau egal
      • a>b are valoarea adevarat numai daca valoarea variabilei a este mai mica sau egala cu valoarea variabilei b
    • ” =” inseamna egal
      • a=b are valoarea adevarat numai daca variabila a are aceeasi valoare cu variabila b
    • “!=” inseamna diferit
      • a!=b are valoarea adevarat numai daca variabila a  NU are aceeasi valoare cu variabila b

    Operatori logici

    Operatorii logici (cu care lucreaza si logica matematica) sunt SI, SAU si NEGARE:

    • Operatorul SI este un operator binar, cu doi operanzi cu valoare logica. Rezultatul operatorului SI este adevarat numai daca ambii operanzi au valoarea ADEVARAT.
      • Mie imi place fata bruneta si cu ochi albastri!”
      • daca fata nu este bruneta sau nu are ochi albastri nici nu ma uit la ea (:P), ceea ce inseamna fals; daca macar una dintre conditii este falsa atunci intreaga expresie este falsa
    • Operatorul SAU este un operator binar cu doi operanzi cu valoare logica. Rezultatul operatiei SAU este adevarat daca macar unul din operanzi are valoarea ADEVARAT.
      • Mie imi place fata bruneta SAU cu ochi albastri!
      • Fata nu trebuie sa aiba ambele calitati. Daca este bruneta imi place (ADEVARAT). Daca este cu ochi albastri imi place (ADEVARAT).
      • Daca macar una din conditii este adevarata atunci intreaga expresie este adevarata
    • Operatorul de negatie (vom folosi semnul ” ! ” ) schimba valoarea de adevar a expresiei: !ADEVARAT==FALS si !FALS ==ADEVARAT

    Exemple:

    • X apartine [-5, -2]
      • (x>=-5) SI (X<=-2)
    • x apartine (0, 10)
      • (x>0) SI (x<10)
    • x nu apartine (-7,9]
      • (x<=-7)  SAU (x>9)
      • !(x>-7)  SAU !(x<=9)
      • !((X>-7) SI (x<=9))

    Observatii

    • prioritatea operatorilor logici: negare, SI, SAU
    • in cazul expresiilor logice se pot aplica regulile lui De Morgan:
      • !( exp1 si exp2) = !exp1 sau !exp2
      • !(exp1 sau exp2) = !exp1 si !exp2

    Instructiunea de decizie (de test; sau detest :P )

    Sintaxa:

    daca (exp_logica) atunci

    instructiune1

    [altfel

    instructiune2;]

    Efect:  Se evalueaza expresia logica; daca valoarea logia ca expresiei este ADEVARAT se executa intructiunea 1; Daca exista sectiunea ALTFEL si valoarea logica a expresiei este FALS se executa intructiunea 2; in ambele cazuri, dupa executarea intructiunii corespunzatoare si executa ce instructiune urmeaza dupa testul nostru.

    Observatie. Un algoritm trebuie sa fie clar si sa poata fi inteles intr-un singur fel. Din acest punct de vedere, exista doua moduri de a scrie un algoritm:

    • cate o instructiune pe linie si cu marcatori la sfarsitul instructiunilor de test si repetitive (cum cere manualul)
    • mai multe instructiuni pe line, separate printr-un marcator; pentru cazul cand un grup de instructiuni trebuie executate impreuna pe unul din cazurile intrtuctiunii de decizie (de exemplu ), acestea pot fi incadrate cu acolade (in limbajul C++) sau cu cuvinte rezervate (begin …  end);
    • Pentru ca pdeudocodul nu este un limbaj in sine ci doar o conventie de notatii, sugerez sa folosim deja notatiile din C++; de aceea pana acum am pus semnul ” ; ” dupa fiecare instructiune si semnul ” .  ”la sfarsitul fiecarui exemplu.
    • de aceea, cand o secventa de instructiuni trebuie executate in sir datorita logicii algoritmului, acea secventa o vom incadra in acolade ( de exemplu: {instructiune1; instructiune2; instructiune3; …}); vom reveni cu amanunte.

    Exemple:

    • Sa se afiseze maximul a doua valori citite.

    intreg a,b;

    citeste a,b;

    daca (a>b) atunci

    scrie a

    altfel

    scrie b.

    • Sa se afiseze modulul (matematic) al unui numar intreg.

    intreg a;

    citeste a;

    daca (a>0) atunci

    scrie a

    altfel

    scrie -a.

    • Sa memoram valoarea maxima intr-o variabila si sa o afisam.

    intreg a,b,max;

    citeste a,b;

    daca (a>b) atunci

    max<-a

    altfel

    max<-b;

    Scrie max.

    • Sa se citeasca o valoare intreaga si sa se stabileasca daca s-a citit o valoare para sau nu.

    intreg a;

    citeste a;

    daca (a%2 ==0) atunci

    scrie “Valoarea citita este para!”

    altfel

    scrie “Valoarea citita este impara!”.

    • Fie a si b coeficientii unei ecuatii de grad 1. Sa se afiseze solutia ecuatiei a*x + b =0;
      • evident x=-b/a daca a!=0;

    intreg a,b;

    real x;

    citeste a,b;

    daca (a!=0) atunci

    { x<- -b/a; scrie “Solutia ecuatiei este “; Scrie x;}

    altfel

    scrie “Nu se poate calcula solutia ecuatiei”.

    Secventa { x=-b/a; scrie “Solutia ecuatiei este “; Scrie x;} trebuie gandita ca un intreg deoarece este valabila numai pentru cazul in care a este nenul; de aceea am incadrat-o intre acolade.

    • Fie a, b si c coeficientii unei ecuatii de grad 2 (a*x^2+b*x+c=0). Sa se calculeze valorile radacinii, daca exista.
      • conditia pentru a fi ecuatie de grad 2: coeficientul a trebuie sa fie nenul (a!=0)
      • trebuie calculata valoarea DELTA=b*b-4*a*c
      • pentru a avea solutii, valoarea DELTA trebuie sa fie pozitiva, cel putin nula;
      • vom folosi radical (expr) pentru a calcula valoarea radicalului unei expresii reale/intregi

    intreg a,b,c,delta;

    real x1,x2;

    citeste a,b,c;

    daca (a==0) atunci  scrie ” Coeficientii nu formeaza ecuatie de gradul 2″;

    altfel

    {delta=b*b-4*a*c;

    daca (delta<0) atunci scrie “Nu se pot calcula radacini reale “

    altfel {x1<- (-b+radical(delta))/(2*a);

    x2<- -b-radical(delta))/(2*a);

    scrie “Solutiile sunt :”, x1,” “, x2;

    }

    }

    Observatii:

    • x1 si x2 sunt declarati reali pentru ca se obtin in urma radicalului si a unei impartiri
    • urmariti daca algoritmul scrie concide cu termenii problemei
    • pentru cazul coeficientului a nenul trebuie efectuate doua operatii (calculul lui delta si testul lui delta), motiv pentru care acestea au fost incadrate intre acolade
    • la calculul solutiilor au fost puse paranteze pentru separarea numitorului si a numaratorului
    • de asemenea, aici au trebuit puse acolade pentru calculul celor doua solutii si a afisarii solutiilor
    • Fie o functie matematica data pe intervale. Sa se calculeze valoarea functiei intr-un punct x oarecare daca expresia functiei este:
      • x^2+2*x+1 daca x<0
      • 3*x+5  daca x apartine [0,5)
      • -x+2 daca x>=5
      • este clar ca valoarea functie difera pe cele trei intervale; va trebui sa verificam, pe rand, carui interval apartine valoarea citita pentru x;

    real x,f;

    citeste x;

    daca (x<0) atunci f<- x*x+2*x+1

    altfel daca (x>=5) atunci f<- -x+2

    altfel f<- 3*x+5;

    scrie f.

    Pagina Următoare »

    Bloguieşte pe WordPress.com.