Blog

Aici începe textul. Apăsați aici și începeți să scrieți. Illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo nemo enim ipsam voluptatem quia voluptas sit aspernatur aut.

Introducere

12.06.2020

Subiectele pe care le voi aborda eu ,și consider că te va ajuta pe tine pe viitor. Fiecare subiect va fi abordat ,cel putin o data pe săpămână.Voi posta noțiuni de bază .

Când am început să pictez, încercam să surprind fiecare obiect în detaliu și să-l includ într-un peisaj care era deja suprasaturat. Când, ani mai târziu, mi-am analizat lucrările, am constatat că un privitor novice nu ar ști pe ce să se concentreze mai întâi. Minimalismul m-a ajutat să-mi creez un nou stil aerisit, iar aici veți găsi 5 sfaturi care sper să vă ajute și pe voi.


5.  Instructiuni in limbajul C - 20.1.2020


În acest capitol vom discuta despre instrucțiunile in limbajul C. Pentru început vreau sa definim termenul de instructiune.

O instructiune o putem define ca fiind o portiune de program ce poate fi executată,adica specifica o actiune : iteratie,selectie,etc.

5.1 Instructiunea de selectie

Cele doua tipuri de instructiuni de selectie din C sunt if si switch.

5.1.1 Instructiunea IF

Forma generala a instructiunii if este :

if (conditie) {

// instructiuni

//...

}

if...else este cea mai simpla instructiune conditionala,forma generala este urmatoarea :

if (conditie) {

// instructiuni

// ...

} else {

// alte instructiuni

// ...

}

Instructiunea evalueaza expresia conditiesi execută instrucţiunile dintre acolade doar daca rezultatul este nenul. În varianta cu else, pentru rezultat nul este executat blocul de instrucţiuni aflat după else.

Exemplu : if (m == s) {

printf("Numerele sunt egale");

} else if (m > s) {

printf("M este mai mare");

}

Explicatie :

Prima data se evaluează expresia conditie si anume m==s, daca este adevarata se executa instructiunea dintre acoloade si anume printf("Numerele sunt egale"), iar in caz contrar se executa ce urmeaza dupa else si anume printf("M este mai mare").


5.1.1 Instructiunea SWITCH

Instructiunea switch testeaza succesiv valoarea unei expresii fata de o lista de constant de tip caracter sau intreg. Cand apare egalitate, se executa instructiunea sau instructiunile associate acelei constante.

Forma generala a instructiunii switch este :

switch (expresie) {

case constanta1:

// instructiuni1

case constanta2:

// instructiuni2

...

default:

// instructiuni

}

Valoarea expresie este evaluata la un tip intreg, apoi aceasta valoare este comparata cu fiecare constanta, este rulat blocul de instrucţiuni al valorii găsite. În caz ca numărul nu este egal cu nici una dintre constante, este executat blocul aflat după default.

Important !!!!

După executarea ultimei instrucţiuni dintr-un bloc case, execuţia nu continua după blocul switch si la inceputul următorului bloc case constanta sau default. Pentru a ieşi din blocul switch, se foloseşte instrucţiunea break.

5.2 Instructiuni de ciclare

Aceste instructiuni de ciclare permit ca o secventa de instructiuni sa se execute repetat,pana cand se indeplineste o anumite conditie.


5.2 .1  Instructiunea FOR ( cu numar cunoscuti de pasi)

Forma generala acestei instructiuni este urmatoarea :

for ( initializare; conditie; increment) instructiune ;

expresia initializare - este folosita in mod special pentru a da o valoare initiala variabilei care controleaza ciclul ;

expresia conditie - testeaza variabila de control a ciclului cu o valoare finala ori de cat ciclul se repeat sau o expresie care controleaza ciclul ;

expresia increment - se executa la sfarsitul fiecarui ciclu,adica dupa executarea instructiunii sau secventei de instructiuni.

Exemplu

În exemplul de mai jos, bucla for este utilizata pentru a afisa numerele de la 1 la 100.

#include<stdio.h>

void main ()

{

int m;

for(m=1; m<=100; m++)

printf("%d", m);

}

Explicatie :

Variabila m este utilizata pe post de "contor" al instructiunii for, numarand la a cata iteratie s-a ajuns. Executia instructiunii for se incheie atunci cand numarul de iteratii devine egal cu 100.

Initializarea lui m cu 1 se realizeaza o singura data si anume la inceput;

m<=100 este conditia de continuare a executiei;

m++ se efectueaza dupa fiecare executie a ciclului (postincrementare).

În cazul instructiunii for, oricare dintre cele trei expresii poate lipsi. Lipsa expresiei conditionale este echivalenta cu o bucla infinita, cum ar fi:

for ( ; ; ) {
// instrucţiunile de aici sunt intr-o bucla infinita //}

Important !!!!

Instructiunea for nu prezinta limite in ceea ce priveste expresiile (initializare,conditie,increment) care apar in interiorul sau. De exemplu ,nu trebuie neaparat sa se foloseasca expresia initializare pentru a initialize variabila de control a ciclului. In locul expresiei conditie se pot folosi si alte mijloace pentru a opri un ciclu. Nu este neaparat nevoie sa se incrementeze sau sa se decrementeze o variabila.

RETINETI !!!!!

O bucla este o structura de control care provoaca executarea unei instructiuni sau a unei secvente in mod repetat,pana cand sunt indeplinite una sau mai multe conditii.

Iterarea - de fiecare data cand se executa corpul buclei spunem ca facem cate o trecere prin bucla,aceasta trecere se numeste iteratie.

5.2.2 Instrucțiunea WHILE ( cu numar necunoscut de pași)

Forma generală a instrucțiunii while este următoarea :

while ( expresie) instrucțiune ;

unde : expresie - poate fi orice expresie valida in C. Valoarea acestei expresii se considera adevarata daca este diferita de zero si falsa daca este zero ;

instructiune - reprezinta corpul buclei si poate fi o instructiune oarecare sau un bloc de instructiuni.

Important !

Ciclul buclei se reia atata timp cat expresia este adevarata. Cande expresia devine falsa controlul programului se da urmatoarei instructiuni din program. Valoarea expresiei este evaluata de la inceputul ciclului astfel daca valoarea expresiei este falsa de la inceput,ciclul nu se va executa niciodata

Exemplu

Sa luam ca exemplu o aplicatie pentru un aparat care saluta oamenii. Aparatul este montat in fata unui stadion de fotbal si are rolul sa salute oamenii care intra pe stadion sa urmareasca meciul,iar in functie de cate bilete a vandut.

int bilete ;

int persone=0;

printf("Introduceti nr de bilete vandute:");

scanf("%d",&bilete);

while( personae ! = bilete) {

printf("Salut esti a %d a persoana care a venit la meci:")

}

Acum sa explicam fiecare linie in parte :

  • while( persone ! = bilete) - conditia este cat timp numarul de personae nu este egal cu bilete sa se execute ce se afla intre accolade si anume printf("Salut esti a %d a persoana care a venit la meci ;
  • specificatorul de format %d va fi incrementat la fiecare pas cu cate o unitate ;
  • while( persone ! = bilete) sa presupunem ca am introdus de la tastatura 5 bilete vandute ,iar personae 0 ;
  • se verifica apoi daca 0 este diferit de 5 ,este adevarat si se executa instructiunea
    printf("Salut esti a %d a persoana care a venit la meci:"),persoana este 0, apoi se incrementeaza si persoana ajunge la 1;
  • se verifica apoi daca 1este diferit de 5 ,este adevarat si se executa instructiunea
    printf("Salut esti a %d a persoana care a venit la meci:"),persoana este 1, apoi se incrementeaza si persoana ajunge la 2 ;
  • si continuam asa pana ajungem la 5 ,si expresia devine falsa ,si se va iesi in afara buclei.

5.2.3 Instructiunea DO-WHILE

Am vorbit despre instructiunile for si while si am invatat ca cele doua instructiuni fac parte din categoria instructiunilor cu test initial,insa instructiunea do while este singura care face parte din categoria instructiunilor cu test final.

Forma generala acesti instructiuni este :

do { // instructiune} while (expresie);

Ciclul do-while repeta instructiunea sau secventa de instructiuni din corpul ciclului atata timp cat expresia este adevarata. Deci iesirea din bucla se face cand expresia devine falsa.

5.2.4Instructiui de salt

Este important sa stiti ca instructiunile de salt din C sunt : break , got, continue si return .

Dintre acestea instructiunile break si continue pot fi folosite in instructiunile de ciclare, instructiunea break se foloseste si in instructiunea switch ,pe cand instructiunile goto si return pot sa apara oriunde in program

5.2.5 Instructiunea break

Break pe langa utilizarea descrisa la instrucţiunea switch, poate fi folosita pentru a ieşi forţat dintr-o instrucţiune de repetiţie.

Exemplu

i = 0;

for( ; ; ) {

i++;

if (i > 10) {

break; // ieşire forţată din bucla //

}

printf( "i=%d\n", i );

}


5.2.6 Instructiunea continue

Continueforţeaza terminarea iteratiei curente a buclei si trecerea la iteraţia următoare. În cazul instrucţiunii for, acest lucru presupune executarea instrucţiunii de incrementare,apoi se evalueaza condiţia de continuare a buclei.

În exemplul de mai jos putem observa implementarea unei bucle infinite cu ajutorul instrucţiunii continue:

for (i = 0; i < 10; )

{

if (i == 0)

{

continue;

}

i++;

}

5.5.3 Instructiunea return

Returneste instrucţiunea de terminare a funcţiei curente. Aceasta poate fi apelată in forma return.

5.5.4 Instructiunea goto

Goto este o instrucţiune de salt a execuţiei. Instrucţiunea primeşte ca parametru o etichetă, următoarea instrucţiune executată după goto este cea de la eticheta dată.

© 2020 programarewithsorin. Toate drepturile rezervate.
Creat cu Webnode
Creați un site gratuit! Acest site a fost realizat cu Webnode. Creați-vă propriul site gratuit chiar azi! Începeți