Muzica buna pe fiecare saptamana!!

Structura repetitivă

~Structura repetitivă cu test inițial~


(while)


Mod de execuție

1)Se evaluează condiția
2)Dacă este adevărată se execută secvența după care se verifică din nou condiția și așa mai departe
până când valoarea de adevăr a condiției va fi falsă.

Observație

1)Dacă valoarea condiției este falsă de la început secvența nu se va executa niciodatăî
2)Pentru ca ciclul să nu intre într-o buclă infinită secvența trebuie să se modifice cel puțin odată
una dintre valorile variabilelor ce intră în expresia condiției.
La ce se folosește?

Această structură se folosește in special pentru prelucrarea cifrelor unui număr(atunci când nu știm câte
cifre are acel număr).
Exemple:
1)
n=0;
while(n>2)
cout<<n; nu se va executa deoarece n nu este mai mare decat 2
2)
n=5;
while(n>0)
cout<<n; ciclul este infinit si se va afisa valoarea 5 la infinit
3)
n=6;
while(n>0)
{
cout<<n;
n=n-1;
} ciclul va afisa numerele 6,5,4,3,2,1 si apoi si va mai afisa nimic pentru ca nu se mai respecta conditia
impusa in while
RETINE!!!
Algoritmul de prelucrare a cifrelor
int main()
{

int n,c; initializam numar si c reprezinta cifra(cifrele) numarului
cin>>n;
while(n!=0) algoritmul se executa pana cand n va deveni 0
{
c=n%10; cifra numarului
n=n/10; numarul pierde o cifra
cout<<c;
}
Exemplu:daca n=679 rezulta ca c=9,c=7,c=6 si se vor afisa

Observații:

1)Valoarea initiala a numarului se pierde
2)Nu uitati de n=n/10,altfel algoritmul va intra intr-o bucla infinita
3)Algoritmul nu functioneaza pentru n=0
4)Cifrele se scot de la dreapta la stanga(de la ultima la prima)


Probleme rezolvate

1)Sa se afle suma cifrelor unui numar n dat de la tastatura.
int main()
{
int n,c,S=0;
cin>>n;
while(n<0)
{
c=n%10; scoatem cifrele lui n
S=S+c; facem suma lor
n=n/10; numarul pierde o cifra
}
cout<<S;

Exemplu:n=5172 cifrele sale sunt 2,7,1,5(in ordinea scoaterii lor),iar suma S=15

2)S se afle cate cifre are numarul
int n,c,k=0;
cin>>n;
while(n<0)
{
c=n%10; scoatem cifrele lui n
k=k+1; determinati cate cifre are numarul

n=n/10; numarul pierde o cifra
}
cout<<k;

Exemplu:daca n=162 el are 3 cifre atunci k=3

3)Se da n intreg.Cate cifre pare are
int n,c,k=0;
cin>>n;
while(n<0)
{
c=n%10; scoatem cifrele lui n
if(c%2==0) k=k+1; folosind regula determinam cate cifre pare sunt
n=n/10; numarul pierde o cifra
}
cout<<k;

Exemplu:n=623 se va afisa k=2 pentru ca doar 6,2 sunt pare


atestat-informatica-generare-tabel-in-html
Incearca singur!!!
1)Dat n numar intreg.Sa se verifice daca suma cifrelor lui este numar impar
2)Se da n numar intreg.Cate cifre sunt mai mici sau egale cu 4.
3)Se citeste un numar integ n.Care este cea mai mica cifra din numar

Fisa cu probleme -structura decizionala,consolidare

1)Se dau 3 numere intregi.Sa se afiseze cel mai mic numar dintre cele 3.
2)Se dau doua numere naturale x si y.Sa se verifice daca x se imparte la y si daca da atunci se va afisa
mesajul "Se imparte".
3)Se citeste un numar intreg.Daca ultima cifra a sa este 2 atunci atunci afisati suma ultimei cifre si
penultimei cifre.
4)Se da un numar natural.Sa se verifice daca este patrat perfect.
5)Se da un numar de 3 cifre.Sa se determine suma primei si ultimei cifre a sale.
6)Verificati daca x(numar prim) poate fi divizor pentru y.Daca da atunci afisati mesajul"Da".
7)Se da un numar n intreg de 5 cifre.Sa se determine cate cifre ale sale sunt mai mici decat 4
8) Se dau doua numere naturale x si y,ambele de 3 cifre.Care este numarul cu suma cifrelor mai mare.

~Rezolvare~

Nota:Nu mai are rost sa scriu:

#include <iostream>
using namespace std pentru ca asa este la orice problema inceputul
1)
int main()
{
int a,b,c,min;
cin>>a;
cin>>b;
cin>>c;
min=a;
if(b<min) min=b;
if(c<min) min=c; algoritmul clasic de aflare a minimului
cout<<min;
}
2)
int main()
{
int x,y;
cin>>x;

cin>>y;
if(x%y==0) cout<<"Se imparte"; daca restul impartirii lui x la y este 0 atunci se poate spune ca se
imparte
else cout<<"Nu se imparte"; daca nu se va afisa mesajul nu se imparte
}
3)
int main()
{
int n,uc,pc,S=0; uc este ultima cifra ,iar pc penultima cifra,iar S este suma dintre uc si pc
cin>>n;
uc=n%10;
pc=n/10%10;
if(uc==2) S=uc+pc;
cout<<S;
}
Exemplu:daca n=752 atunci uc=2 si respecta conditia impusa si astfel S=5+2=7 si se va afisa

4)
int main()
{
#include <cmath> aceasta librarie este pentru ca programul nostru sa cunoasca calculele matematica
cum ar fi patratul perfect,modulul etc
int n,x;
cin>>n;
x=sqrt(n); in c++ sqrt reprezinta radicalul de ordin 2
if(n==x*x) cout<<"Patrat perfect"; aplicam regula din matematica
else cout<<"Nu";
}
Exemplu:daca n=25 atunci x=5 si 25=5

2 si in concluzie este patrat perfect

5)
int main()
{
int n,pc,uc,S=0; uc=ultima cifra,pc=prima cifra
cin>>n;
uc=n%10; scoatem ultima cifra a numarului
pc=n/100%10; scoatem prima cifra a numarului
S=pc+uc; facem suma celor doua

cout<<S;
}
Exemplu:n=682 atunci uc=2 si pc=6 iar S=6+2=8 deci se va afisa 8
6)
int main()
{
int x,y;
cin>>x;
cin>>y;
if(y%x==0) cout<<"Da";
else cout<<"Nu";
}
Exemplu:daca x=3 si y=9 9%3==0 atunci se va afisa mesajul Da
7)
int main()
{
int n,a,b,c,d,e,K=0; k reprezinta contorul cu care vom numara cate cifre sunt mai mici decat 4
cin>>n;
a=n%10; a cincea cifra
b=n/10%10; a patra cifra
c=n/100%10; a treia cifra
d= n/1000%10; a doua cifra
e=n/10000%10; prima cifra
if(a<4) K=K+1;
else if(b<4) K=K+1;
else if (c<4) K=K+1;
else if (d<4) K=K+1;
else if(e<4) K=K+1; verificam pentru fiecare cifra in parte daca este mai mica decat 4 si atunci contorul
nostru k va creste cu o unitate
cout<<K;
}
Exemplu:daca n=65232 se va afisa K=3 pentru ca doar 2,3 si respectiv 2 sunt <4
8)
int main()
{

int x,y,a,b,c,d,e,f,Sx=0,Sy=0; notam a,b,c cifrele lui x si d,e,f cifrele lui y,iar Sx suma cifrelor lui x si Sy
suma cifrelor lui y
cin>>x>>y;
a=x%10;
b=x/10%10;
c=x/100%10;
e=y%10;
f=y/10%10;
g=y/100%10;
Sx=a+b+c;
Sy=d+e+f;
if(Sx>Sy) cout<<Sx;
else cout<<Sy;
}
subiecte-bac-2016-informatica-c-pascal-93575300
Incearca singur!

1)Calculati valoarea espresiei:
E=x
2+y
2
,daca x,y>0
|x-y|,daca x,y<0
Nota:valoarea absoluta se noteaza cu abs(...)

2)Verificati daca un numar x este poate scrie ca produsul numerelor a si b.
3)Se da un numar de 4 cifre.Cate cifre sunt egale cu 2.

Structura alternativă

Această structură este o structură decizională și este caracterizată prin faptul că trebuie să verifice dacă se respectă
condiția propusă.
EXEMPLU:
if(a>b) cout<<a; dacă a este mai mare decât b atunci se va afișa a
else if(a<b) cout<<b; structura va intra pe ramura de else dacă si numai dacă nu se respectă prima conditie impusă

REȚINE!!!
Maximul dintre doua numere (care este mai mare)
#include <iostream>
using namespace std
int main()
{
int a,b,max=0; se initializeaza cele doua numere si cel mai mare numar pe care il notam cu max
cin>>a;
cin>>b; citim cele doua numere
if(a>b) max=a; aici intervine structura if care verifica care numar este mai mare
else if(a<b) max=b; daca a nu este mai mare decat b atunci se trece pe ramura de else si atunci cel mai mare numar
devine cel de-al doilea
cout<<max; se va afisa cel mai mare dintre ele
}
Minimi dintre doua numere (care este mai mic)

#include <iostream>
using namespace std
int main()
{
int a,b,min=0; se initializeaza cele doua numere si cel mai mare numar pe care il notam cu min
cin>>a;
cin>>b; citim cele doua numere
if(a<b) min=a; aici intervine structura if care verifica care numar este mai mic
else if(a>b) min=b; daca a nu este mai mare decat b atunci se trece pe ramura de else si atunci cel mai mic numar devine
cel de-al doilea
cout<<min ; se va afisa cel mai mic dintre
ele
}
Maximul dintre 3 numere

Exista mai multe variante,insa o sa o scriu pe cea mai usor de retinut
#include <iostream>
using namespace std
int main()
{
int a,b,c,max;
cin>>a;

cin>>b;
cin>>c; citim cele 3 numere
max=a; initializam pe max cu primul numar
if(b>max) max=b; si acum verificam daca cele doua numere sunt mai mari atunci max devine unul dintre cele doua
else if(c>max) max=c;
cout<<max;
}
NOTĂ:Pentru determinarea minimului dintre 3 numere se procedeaza la fel,numai ca se schimba semnul din mai mare in mai mic.

Valoarea absoluta(modulul) a unui numar

#include <iostream>
using namespace std
int main()
{
int a,vabs=0;
cin>>a; citim numarul
if(a>0) vabs=a; daca este mai mare decat 0 atunci modulul numarului va fi chiar acel numar
else if(a<0) vabs=-1*a; altfel modulul va primi numarul doar ca fata minus
cout<<vabs;
}
EXEMPLU:daca a=-6 atunci modulul este 6 si se va afisa 6
hack

Probleme rezolvate

1)Se dau doua numere intregi a si b.Sa se verifice daca fratia a/b se poate simplifica printr-un numar k dat de la tastatura.
#include <iostream>
using namespace std
int main()
{
int a,b,k;
cin>>a>>b>>k; citim cele 3 numere date
if(a%k==0 && b%k==0) cout<<"Da"; cu ajutorul regulii din matematica verificam daca numaratorul si numitorul se impart la
acel k(restul impartirii trebuie sa fie 0) si daca da atunci afisam mesajul Da
else cout<<"Nu"; daca cele doua numere nu se pot imparti la k atunci se va afisa mesajul Nu
}
2)Sa se calculeze valoarea expresiei:
E= 2x,daca x>0
4x,daca x<0
#include <iostream>
using namespace std
int main()
{
int x,E=0; declaram,respectiv initializam numarul si valoarea expresiei
cin>>x; citim numarul x

if(x>0) E=2*x; atribuim expresiei 2x doar in cazul in care x este mai mare decat 0
else if(x<0) E=4*x; altfel daca x este mai mic decat 0 atunci expresia este 4*x
cout<<E;
}
3)Se da un numar de 3 cifre.Verificati daca cifrele sale sunt mai mici decat 5
Nota:Doar in cazul in care se specifica in problema numarul de cifre a numarului(depinde cate cifre are numarul respectiv):

ultima cifra este: n%10

penultima cifra este: n/10%10

antepenultima este: n/100%10
...
#include <iostream>
using namespace std
int main()
{
int n,a,b,c;
cin>>n;
a=n%10; ultima cifra a numarului
b=n/10%10;
c=n/100%10;
if(a<5 && b<5 && c<5) cout<<"Respecta conditia";
else cout<<"Nu";
}
Exemplu:daca n=645 atunci a=5(a treia cifra),b=4(a doua cifra),c=6(prima cifra) si se va afisa mesajul nu pentru ca cele 3 cifre nu sunt mai mici decat 5 (toate)

Incearca singur!!!
1)Se da un numar n de 3 cifre.Determinati cifra minima.

Indicatie:Notam cele 3 cifre cu 3 litere si apoi le determinam dupa regula de mai sus apoi valorii minime ii atribuim prima cifra (sau oricare) si comparam cu celelalte doua ramase si o afisam

2)Se da un numar de 2 cifre.Daca suma cifrelor este numar impar afisati mesajul "Da",altfel afisati mesajul "Nu"
Indicatie:Notam cele doua numere si apoi le determinam dupa regula de mai sus si calculam suma cele doua si verificam daca este numar par dupa regula:

if(S%2==0) cout<<"Da"; daca catul impartirii sumei la 2 este 0 atunci este numar par ,iar daca catul impartirii la 2 este 1
atunci este numar impar.
3)Se da un numar de 4 cifre.Afisati diferenta dintre cea mai mare si cea mai mica cifra.

O noua zi! #15 Iepuri Californieni si Neozeelandezi







Iepuri Californieni si Neozeelandezi. La inceput de drum,incerc sa fac o crescatorie foarte frumoasa de iepuri.



Am plecat la drum cu o iepuroaica neozeelandeza,urmata de un iepuroi primit cadou din partea nasului meu.



Pe parcurs le-am facut cotetul unde sa poata creste,iar dupa am mai achizitionat o pereche de iepurasi californieni.



Prin imperecherea iepurilor din rasa Californian si Neozeelandez ies niste hibrizi foarte buni pentru carne!



Am sa pun aici si cateva poze cu cotetul:







20191031-165406


20191031-165420

Sper ca v-a placut munca mea pana acum,vor urma si alte postari,ca sa vedeti evolutia acestei pasiuni!

Franta

Asezarea:

-in Europa de Vest,avand iesire la Oceanul Atlantic,Marea Mediterana,Marea Manecii;

-de Franta apartine si Insula Corsica

-Locul 1 in UE dupa suprafata

Relieful:

-Variat,predominant cu altitudini sub 500 m;

-relief de campie in Nord,Nord-Vest si Vest,format in cuaternar: Bazinul Parisului,Bazinul Acvitaniei,Culoarul Rhonului,Campia Alsaciei si campii litorale;

-podisuri hercinice: Podisul Ardeni (Nord-Est),Masivul Central Francez etc.

-treapta montana alpina: Muntii Alpi,cu varful Mont Blanc (4807 m), Muntii Pirinei,cu varful Pic d'Aneto (3404 m).

Clima:

-temperat oceanica in Vest;

-mediteraneeana in Sud si Insula Corsica ;

Hidrografia:

-cele mai mari fluvii:

a) Loire, Garonne - se varsa in Oceanul Atlantic

b)Rhone- se varsa in Marea Mediterana

c) Sena - se varsa in Marea Manecii

d) Rhin - se varsa in Marea Nordului.

Vegetatia:

-paduri de foioase si de conifere ;

-vegetatie mediteraneeana de tip maquis .

Populatia:

-peste 60 milioane de locuitori ;

-densitatea populatiei: 111,5 locuitori/km2

-regiuni cu densitate mare a populatiei: regiunea pariziana, regiunea nordica- Pas de Calais, regiunea Marseille-Nisa, regiunea Lyon-St. Etienne

-spor natural si migratoriu pozitive

-grad ridicat de urbanizare.

Orase:

-Paris,Marsilia,Toulouse,Nisa,Nantes,Strasbourg

Resurse:

-variate,dar in cantitati mici (min. de fier,carbune,bauxite)

Industria:

-are dezvoltate toate ramurile industriale

-se observa orientarea industriei spre anumite ramuri: automobile,aeronautica,electronica,energie nucleara

-cea mai dezvoltata regiune industriala este cea pariziana

-Agricultura:

-foarte performanta,fiind una din marile tari exportatoare de produse agricole

-ocupa locul 1 pe glob la vinuri

-locuri fruntase la struguri,carne

Transporturi:

-retea foarte dezvoltata,polarizata de capital

-porturi: Marsilia, Le Havre, Dunkerque

Turism:

-foarte dezvoltat
 

Vizite

Afisari pagina

 
Bloguri, Bloggeri si Cititori