Programe de informatică

 

 

1.     Se citesc de la tastatură, mai întâi un număr natural n (n<=100), apoi un șir de  n numere reale. Scrieți un program care calculează și afișează suma numerelor care au partea fracționară între 0,5 și 0,98.

 

2.     Se citesc de la tastatură, mai întâi un număr natural n (n<=100), apoi un șir de n numere naturale.  Să se stabilească printr-un program care din aceste numere naturale sunt pătrate perfecte și să se stabilească numărul acestor pătrate perfecte din șir.

                

3.      Scrieți un program care calculează valorile expresiilor de mai jos, pentru o valoare dată a lui n:

 

a)      E=1x3+2x6+3x9+..............+nx(3n);

b)     E=1+1x2+1x2x3+..............+1x2x....xn.

 

4.     Fiind dat de la tastatură un număr real x, să se afle valoarea următoarei expresii:

 

                        


 

5.      Calculați valoarea expresiei:

                               

                                           F(a,b,c)=2a+3b+4c-5a2+4b3+7c2, unde numerele a,b,c sunt numere reale date de la tastatură.

 

Programe în CodeBlocks, limbajul de programare C++, publicate și pe www.didactic.ro

 

Lanț într-un  graf

 

                      se  verifice dacă  o  secvenţă  de  vârfuri  dată  reprezintă  un  lanţ  elementar  sau  ne-elementar  într-un  graf  neorientat. 

Exemplu:

Pentru  graful  din figura  A:

-pentru secvența de noduri sau vârfuri din  figura  B,  programul  va  afişa  mesajul  “Nu  este  lant”;

-pentru secvența de noduri sau vârfuri  din  figura  C,  se  va  tipări  mesajul  “Lant  ne-elementar” ;

-dacă secvența de noduri sau vârfuri este  cea  din  figura  D,  se  va  tipări  mesajul  “Lant  elementar”.

 


                                                           Figura  A     

 

 
                                                                                                    

                                                                                                     2    1    4    5   3

                                                                                                          Figura  B  

                                                                                                           

                                                                                                    1   2   3  5  3  4      

                                                                                                          Figura  C

 

                                                                                           1 4  3  5

           Figura  D                     

 

                               

 

 

 

 

              Se citește de la tastatură numărul de vârfuri, se citește matricea de adiacență a grafului. Dacă există muchie între 2 vârfuri sau noduri introducem de la tastatură 1, dacă nu există muchie între 2 vârfuri sau noduri introducem de la tastatură 0.

              Apoi trebuie să citim numărul de vârfuri sau noduri din secvență și apoi să citim secvența de vârfuri sau noduri.

              Programul în CodeBlocks în limbajul de programare C++ va trebui să verifice dacă secvența de vârfuri sau noduri este sau nu un lanț. Dacă este lanț, trebuie să stabilim dacă este elementar sau ne-elementar.

 

#include <iostream>

#include<conio.h>

#include<stdio.h>

using namespace std;

int  a[20][20],i,j,k,n,z[20];

void citire_matrice()

{

   int i,j;

   cout<<"Numarul  de  varfuri"; cin>>n;

   for (i=1;i<=n;i++)

   a[i][i]=0;

   for (i=1;i<=n-1;i++)

   for (j=i+1;j<=n;j++)

   {

      cout<<"Exista muchie intre "<<i<<" si"<<j<<"?";

      do

      {

      cin>>a[i][j];

      }

      while ((a[i][j]!=0)&&(a[i][j]!=1));

      a[j][i]=a[i][j];

   }

}

void  secventa()

{

  int ok;

  cout<<"Dati numarul de elemente din secventa";

  cin>>k;

  cout<<"Dati elementele secventei";

   for (j=1;j<=k;j++)

   cin>>z[j];

   for (j=1;j<=k;j++)

   cout<<z[j]<<" ";

   cout<<"\n";

   ok=1;

   for (i=1;i<=k-1;i++)

   if (a[z[i]][z[i+1]]==0)

   ok=0;

   if (ok==1) cout<<"Lant ";

   else  cout<<"Secventa nu  este  lant";

   if (ok==1)

   {

     for (i=1;i<=k-1;i++)

      for (j=i+1;j<=k;j++)

            if (z[i]==z[j])  ok=0;

     if  (ok==1)  cout<<"elementar";

     else  cout<<"ne-elementar";

    }

}

int main()

{

  citire_matrice();

  secventa();

  return 0;

}

 

 

 

     Suma și produsul a 4 numere reale:

Se citesc de tastatură 4 numere reale și din fișier alte 4 numere reale.

Calculați suma și produsul celor 4 numere reale citite de la tastatură și suma și produsul celor 4 numere reale citite din fișier. Suma și produsul celor 4 numere citite din fișier să fie scrise într-un alt fișier.

 

#include<iostream>

#include<stdio.h>

using namespace std;

FILE *f1, *f2;

double suma, produs, suma1, produs1;

double a,b,c,d,a1,b1,c1,d1;

int main()

{

    f1=fopen("fisier1.txt","rt");

    f2=fopen("fisier2.txt","wt");

    fscanf(f1,"%lf",&a1);

    fscanf(f1,"%lf",&b1);

    fscanf(f1,"%lf",&c1);

    fscanf(f1,"%lf",&d1);

    cout<<"a="; cin>>a;

    cout<<"b="; cin>>b;

    cout<<"c="; cin>>c;

    cout<<"d="; cin>>d;

    suma1=a1+b1+c1+d1;

    produs1=a1*b1*c1*d1;

    suma=a+b+c+d;

    produs=a*b*c*d;

    cout<<"suma numerelor este "<<suma;

    cout<<endl;

    cout<<"produsul numerelor este "<<produs;

    fprintf(f2,"%lf",suma1);

    fprintf(f2,"\n");

    fprintf(f2,"%lf",produs1);

    fclose(f1);

    fclose(f2);

    return 0;

}

Comentarii

Postări populare de pe acest blog