Postat de: Carmen Anton | 24/10/2014

Saptamana 1 – Recapitulare

SAPTAMANA  1

1. Fisiere text  – citire si tiparire

Ex1: Se considera fisierul text cifre.txt care contine pe o singura linie si separate prin spatiu, 2 numere naturale.

Sa se afiseze in fisierul suma.txt adunarea dintre cele doua  numere.

#include <fstream>
#include <iostream>
using namespace std;
int main()
{
int x, s=0;
ifstream f(„cifre.txt”);

ofstream g(„suma.txt”);

f>>x>>y;

s=x+y;

g<<„suma este:”<<s;

f.close(); g.close(); return 0;

}

2. Variabile si constante

Informaţiile din lumea reală se pot codifica sub forma unor date.

Clasificarea datelor:

  • variabile: îşi pot modifica valoarea pe parcursul execuţiei algoritmului
  • constante: nu îşi modifică valoarea pe parcursul execuţiei algoritmului.
    • Asupra datelor se aplică operatori rezultând expresii.
Operatori C/C++ Exemple
Atribuire = x=20;

y=x+7;

z=y;

Aritmetici +, -, *, /, %, ++, – c=y/x;  r=y%x;    v=r++;  d=c–
Relationali ==, >, <, >=, <=, != c==r;

v!=d;

Logici  &&, ||, !  

 

3.  Structura unui program C++

program = o succesiune de comenzi (instrucţiuni) de prelucrare a datelor, scrise intr-un limbaj de programare.

Orice program C++ trebuie să conţină o funcţie numită „main” (un fel de “program principal”).

Cel mai simplu program C++:

#include<iostream>

using namespace std;

int main()

{

cout<<„astazi este o zi frumoasa”;  //afisarea unui mesaj pe ecran

return 0;

}

 

4. Instructiunea IF
Are doua forme:
Forma 1
if  (expresie)
             {  instructiuni1;  }
  else
            {  instructiuni2;  }
Funcţionare: se evalueaza expresia, dacă valoarea rezultată este diferită de 0 se execută instructiuni1 iar dacă valoarea rezultată este 0 se execută instructiuni2.

 Forma 2
 if (expresie) 
        {  instructiuni;  }

Funcţionare: dacă valoarea expresiei este diferită de 0 atunci se execută instructiuni.

Exemplu: Să se tipărească maximul dintre 2 numere citite din fisierul date.txt.

#include <fstream>
#include <iostream>
using namespace std;
int main()
{
int x, z;
ifstream f(„date.txt”); ofstream g(„maxim.txt”);

f>>x>>y;

if (x>y)  g<<„maximul este:”<<x;

else g<<„maximul este:”<<y;
f.close();  g.close(); return 0;

}
5. Instructiunea WHILE

Forma generala este:
while  (expresie)
{
Instructiuni ;
}
Principiul funcţionării este: se evaluează expresia iar dacă valorea produsă este diferită de 0 se execută instructiuni subordonata şi se revine la evaluarea expresiei; dacă valoarea expresiei este 0 atunci se trece la instrucţiunea următoare lui while.

Exemplu: Se citeşte din fisierul date.txt un numar natural n. Se cere sa se calculeze suma cifrelor sale.

#include <fstream>
#include <iostream>
using namespace std;
int main()
{
int x, s=0;
ifstream f(„date.txt”); ofstream g(„scifre.txt”);

f>>x;

while (x>0)

{ s=s+x%10;

x=x/10;

}

g<<„suma cifrelor  este:”<<s;
f.close();   g.close();
return 0;
}
Exercitii cu secvente:

  1. Ce va afisa urmatoarea secventa de program ?

int x=32567, s=0;

while (x>0)

{ s=s*10+x%10;

x=x/10;

}

cout<<s;

  1. Ce va afisa urmatoarea secventa de program ?

int x=13531, s=0, y;

y=x;

while (x>0)

{ s=s*10+x%10;

x=x/10;

}

if (s==y)  cout<<”DA”;  else cout<<”NU”;

 

  1. Ce va afisa urmatoarea secventa de program ?

int x=24, s=1;

while (s<=x)

{ if (x%s==0)  cout<<s;

s=s+1;

}

 

  1. Ce va afisa urmatoarea secventa de program ?

int x=17, s=1,y=0;

while (s<=x)

{ if (x%s==0)  y++;

s=s+1;

}

If (y==2)  cout<<”DA”; else cout<<”NU”;

 

  1. Ce va afisa urmatoarea secventa de program ?

int x=24, y=18;

while (y!=x)

{ if (x>y)  x=x-y;

else  y=y-x

}

cout<<x;

 

TEMA –  Prelucrarea cifrelor unui număr

  1. Scrieţi un program C++ care citeşte un număr natural n şi determină şi afişează cea mai mica şi cea mai mare dintre cifrele sale. De exemplu, pentru n=25471, se va tipări cmin=1 şi cmax=7.
  2. Se citește un număr natural n de cel mult 8 cifre. Să se scrie programul C++ care determină și afișează câte cifre pare şi câte cifre impare are numărul citit. De exemplu, pentru n=2754, se va tipări 2 cifre pare şi 2 cifre impare.
  3. Se citește un număr natural n de cel mult 8 cifre şi o cifră c. Să se scrie programul C++ care determină și afișează câte apariţii are cifra c în numărul citit. De exemplu, pentru n=25754 şi c=5, se va tipări 2 apariţii.
  4. Scrieţi un program C++ care citeşte un număr natural n şi determină şi afişează cea mai mare dintre cifrele sale şi numărul de apariţii ale acestei cifre. De exemplu, pentru n=75371, se va tipări cmax=7 şi nrap=2.
  5. Se citește un număr natural n de cel mult 8 cifre. Să se scrie programul C++ care determină și afișează numărul format doar din cifrele pare şi numărul format doar cu cifrele impare ale lui n . De exemplu, pentru n=2754, se va tipări np = 24 şi ni = 75.
  6. Se citește un număr natural n de cel mult 8 cifre şi o cifră c. Să se scrie programul C++ care determină și afișează cifra de rang c în numărul citit. Prima cifră a numărului este cifra cea mai semnificativă. De exemplu, pentru n=25754 şi c=5, se va tipări 4.
  7. Se citește un număr natural n de cel mult 8 cifre şi o cifră c. Să se scrie programul C++ care determină și câte dintre cifrele numărului n sunt mai mari sau egale cu cifra c în numărul citit. De exemplu, pentru n=25754 şi c=5, se va tipări 3.
  8. Scrieţi un program C++ care citeşte un număr natural n de cel mult 8 cifre şi determină oglinditul său. De exemplu, pentru n=12356, oglinditul său este 65321.
  9. Se citeşte un număr natural n de cel mult 8 cifre. Scrieţi un program care verifică dacă numărul n are toate cifrele în ordine crescătoare şi afişează “DA” sau “NU”.Exemplu: pentru n=1347 se va afişa DA, iar pentru n=23157 se va afişa NU.
  10. Se citeşte un număr natural de cel mult 8 cifre. Comparaţi suma cifrelor situate pe poziţii impare cu cea de pe poziţii pare şi afişaţi valoarea mai mare, sau mesajul “sume egale”. Cifra cea mai semnificativă este considerată prima cifră din număr. Exemplu: pentru n=123456 suma cifrelor de pe poziţii impare este Si=1+3+5=9, iar suma cifrelor de pe poziţii pare este Sp=2+4+6=12 se va afişa: Sp=12 este mai mare.

 

 

 

 


Lasă un răspuns

Completează mai jos detaliile despre tine sau dă clic pe un icon pentru autentificare:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare / Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare / Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare / Schimbă )

Fotografie Google+

Comentezi folosind contul tău Google+. Dezautentificare / Schimbă )

Conectare la %s

Categorii

%d blogeri au apreciat asta: