Sări la conţinut

Salut!

                                   Salut!

Bine ai venit pe blogul C si plus si plus.Acest blog are scopul de a invata pe interesatii de programare limbajul C++ intr-un mos simplu.O sa incerc sa postez de 2 ori pe saptamana (2 lectii).

4.2 Structura de decizie

                   4.2 Structura de decizie

   Forma generala:

daca <conditie>   aunci

                                                    <actiune 1>

                                                    <actiune2>

                                                      .

                                                      .

                                                      .

                                                     <actiune3>

                                         altfel

                                                  <actiune n+1>

            sfarsit daca

exemplu:

            daca a>0 atunci 

                                    a=0+1

                       altfel

                                   a=0+2

            sfarsit daca

   Pentru evaluarea structurii de decizie calculatorul lucreaza astfel:

   Daca rezultatul evaluarii conditiei este adevarat atunci se executa instructiunea de pe ramura atunci altfel daca rezultatul evaluarii conditiei este fals se executa instructiunile de pe ramura altfel.

 Exemplu:

f:R->R

f(x)={x+3, x>=0

{-8,x<0

real x,f

citeste x

daca x>=0  atunci

f=x+3

altfel

f=-8

sfarsit daca

scrie „rezultatul este=”, f

4.Structuri de baza,4.1.Structura liniara

                                       4.Structuri de baza

 
      Orice algoritm si orice orice program oricat de complicat ar fi are la baza trei structuri fundamentale:
         -structura liniara
         -structura de decizie
         -structura repetitiva
 
              

                                     4.1.Structura liniara

 
               sqrt() – se foloseste pentru radical   
      
            exemplu:
                   Se citesc de la tastatura laturile unui triunghi a,b,c numere intregi.Se cere sa se afiseze si sa se calculeze perimetrul si aria.
        
              intreg a,b,c,p,A
              citeste a,b,c  
              p=a+b+c                                                                     toate sunt structuri liniare
             A=sqrt(p\2*(p\2-a)*(p\2-b)*(p\2-c))
             scrie p,A

3.Datele

3.Datele

 
       Obiectul cu care opereaza algoritmii se numesc date.
       Orice data are:
                   1-indificatorul datei
                   2-valoarea datei
                   3-atributul datei
 
       1.Indificatorul datei 
             -numele datei
             -poate fi compus:litera+cifra+”_”          
             -trebuie sa inceapa cu litera             
             -bun:a_1            
             -rau:1_a , 1! , a!    
 
        2.Ex: a=5      
   
        3.-precizeaza tipul datei    
          -un atribut al datei este reprezentat prin tipul datei care rep multimea de valori careia ii apartine data.
           ex:     natural:7,11,2500
                     real: -3; 3,2              
                            
          Clasificarea datelor
          
          Datele pot fi date de intrare, iesire si auxiliare (intermediare)
 
          Dupa valoare pot fi clasificate in date constante si variabile,simplu sau elementare.
          Dupa tipul lor:
                    -Date de tip real
                    -Date de tip logic   
                    -Date de tip sir de caractere
      
          Operatorii datelor:
 
          Operatori–matematici: +, -, *,  /, mod, div                           
                          –relationale: <, >, >=, =<, !=                
                          –logici:AND, OR, XOR, NOT
 
             >= – mai mare sau egal
             =< – mai mic sau egal
             !=  – diferit
             
             mod 
                       se citeste modulo si se noteaza „%”  ex: 5%2
                       reprezinta restul impartirii a 2 numere intregi 
                                   ex: 5%2=1  (5:2=2 rest 1)
 
             div  
                      reprezinta catul impartirii a 2 numere intregi
                                   ex:5 div 2 = 2

2.Algoritmul.Caracteristicile unui algoritm

 2.Algoritmul.Caracteristicile unui algoritm

  
 
        Algoritmul reprezinta o multime ordonata si finita de pasi care prelucreaza un set de date de intrare in vederea obtinerii unor rezultate cerute.
 
        Caracteristici:
 
     1.Claritatea
        Orice algoritm trebuie sa fie clar prelucrat.Toate etapele trebuie sa fie clar transferate.
 
     2.Finitatea
        Algoritmul trebuie sa se incheie dupa un numar finit de pasi.
 
     3.Succesiunea pasilor
        Pasii care compun algoritmul trebuie sa se succeada unu cu altu intr-o ordine bine stabilita.
 
     4.Universalitatea
        Algoritmul trebuie sa rezolve o clasa de probleme de acelasi tip.
 
     5.Realizibilitatea
        Algoritmul trebuie sa poata sa fie implementat intr-un limbaj de programare si sa poata fi rezolvat cu sistemul diponibile ale sistemului de calcul.
 
     6.Eficienta
        Algoritmul trebuie sa obtina rezultatul dupa un numar minim de pasi, sa fie eficient din punct de vedere al memoriei ocupate si al timpului de calcul.

1.Etapele rezolvarii unei probleme

                                   1.Etapele rezolvarii unei probleme

Sistemul de calcul (S.C.) reprezinta o masinarie care  prelucreaza automat informatiile. Orice problema pentru a putea fi rezolvata presupune parcurgerea urmatorilor etape:

 

               1.Analiza problemei

      In aceasta etapa se analizeaza ceea ce urmeaza sa realizeze programu.Se indentifica datele de intrare si datele de iesire(rezultatele).

 

               2.Elaborarea modului de rezolvare al problemei

      In cadrul acestei etape se va cauta o metoda de rezolvare a problemei si va concepe un algoritm de rez al problemei.

 

               3.Codificarea modului de rezolvare al problemei intr-un limbaj de programare

      Se face implementarea algoritmului in limbaj C++

 

               4.Testarea programului si corectarea eventualelor greseli

       

 

    EXEMPLU:

  

    Rezolvarea ecuatiei de gradul I

    Fiind date 2 numere reale a si b sa se rezolve ecuatia cu acesti coeficienti ax+b=0

 

    1.Functia programului:

 

     Cerinta programului este sa se calculeze solutia ecuatie x in caz contrar sa se afiseze mesaj de eroare.

         

       Dote de intrare: 

       Ni se dau coeficentii a si b , introducerea datelor pe calculator se va face de la tastatura.

     

       Date de iesire:  

       x-solutia ecuatiei

       Daca nu exista solutii reale rezultatul va fi reprezentat printr-un mesaj de eroare.

 

   2.Modelul de rezolvare a problemei va fi un algoritm in pseudocod:

 

      Algoritmul de rezolvare a ecuatiei de gradul I

 

     real a,b,x

     citeste a,b

     ax+b=0

     x=-b/a

           daca a=!0 atunci 

                                       x=-b/a

                             altfel                                 

                                       screi”ecuatia nu are solutie”

              sfarsit daca

     scrie x             

 

Punctele 3 si 4 nu mai sunt necesare deoarece deocamdata invatam doar algoritmul.