Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


INSTRUCTIUNI DE DECIZIE - if-else, switch

c



+ Font mai mare | - Font mai mic



INSTRUCTIUNI DE DECIZIE

1. SCOPUL LUCRARII

In aceasta lucrare se vor studia urmatoarele instructiuni:



-Instructiunea if cu o singura alternativa

-Instructiunea if - else cu doua alternative

-Instructiunea if - else cu mai multe alternative

-Instructiunea switch

2. BREVIAR TEORETIC

2.1. Instructiunea if cu o singura alternativa

Sintaxa: (o singura instructiune executabila)

if(conditie_testata)

instructiune;

Sintaxa: (o secventa de instructiuni executabile)

if (conditie_testata)

Exemple:

if(nrOre>24)nrOre=24;

if(nrSecunde>=60)

2.2. Instructiunea if-else cu doua alternative

Sintaxa: (o singura instructiune in fiecare clauza)

if(conditie_testata)

instructiune1;

else

instructiune2;

Exemplu:

if(nrMinute>=60)

else nrMinute++;

2.3. Instructiunea if-else cu mai multe alternative

Sintaxa:

if(conditie_testata_1)

else if(conditie_testata_2)

else if(conditie_testata_n)

else

Observatie: ultimul else este optional (poate sa nu fie prezent).

Exemplu:

if(codOperatie=='+')z=x+y;

else if(codOperatie=='-')z=x-y;

else if(codOperatie=='*')z=x*y;

else if( (codOperatie=='/')&&(y!=0) )z=x/y;

2.4. Instructiunea switch

Aceasta instructiune este o forma speciala de constructie decizionala cu mai multe alternative. Ea permite sa se examineze diverse valori ale unei expresii de tipul int si in functie de aceasta valoare sa se selecteze pentru executie un anumit grup de instructiuni.

Sintaxa:

switch(expresie)//end switch

Ramura default din instructiunea switch este optionala.

Exemplu:

switch(pozitiaBareiLuminoase)

3. DESFASURAREA LUCRARII

Se vor edita si apoi executa programele descrise in continuare.

Programul nr. 1

Se citesc a, b, c - numere reale, coeficientii ecuatiei de gradul doi. Sa se calculeze si afiseze numarul de radacini reale distincte ale ecutiei.

Sursa programului:

#include<stdio.h>

#include<conio.h>

void main(void)

Programul nr. 2

Sa se calculeze si afiseze maximul dintre 3 numere intregi, a,b,c, citite de la tastatura.

Algoritm:

- se initializeaza maximul cu primul numar, a

- se compara maximul cu b. Daca b este mai mare, se scrie in variabila maxim , valoarea lui b.

- se compara maximul cu c, la fel cum s-a procedat si pentru b.

Sursa programului:

#include <stdio.h>

#include <conio.h>

void main()

Programul nr. 3

Se citesc 4 numere intregi de la tastatura. Sa se afiseze daca cele 4 numere formeaza o progresie aritmetica.

Algoritm:

- se calculeaza ratia ca fiind diferenta primilor doi termeni

- se compara aceasta ratie cu distantele (diferentele) dintre urmatorii termeni.

Sursa programului:

#include <stdio.h>

#include <conio.h>

void main()

Programul nr. 4

Se citesc 3 numere intregi a, b, c, de la tastatura. Sa se afiseze daca

cele 3 numere sunt distincte sau nu.

Algoritm:

- se compara a cu b, a cu c si b cu c. Daca toti sunt diferiti, numerele sunt distincte.

Greseli frecvente:

- nu se fac toate cele 3 comparatii

Sursa programului:

#include <stdio.h>

#include <conio.h>

void main()

Programul nr. 5

Se citeste un numar real x de la tastatura. Sa se calculeze si afiseze valoarea expresiei E(x), definita astfel:

E(x)=|x-5|+2 daca x<0

E(x)=1 daca x=0

E(x)=x-1 daca x>0

Algoritm:

-aplicatie foarte simpla a instructiunii if cu mai multe alternative

Greseli frecvente:

-notarea cu E(x) a unei variabile

Sursa programului:

#include <stdio.h>

#include <conio.h>

#include <math.h> //pentru functia abs()

void main()

Programul nr. 6

Se citesc de la tastatura trei numere intregi a, b, c. Sa se calculeze si afiseze cate numere pare au fost introduse, si suma acestor numere pare.

Algoritm:

-se initializeaza contor de numere pare cu 0, si suma cu 0

-daca a este par, se incrementeaza contor si se adauga a la suma

-daca b este par, se incrementeaza contor si se adauga b la suma

-daca c este par, se incrementeaza contor si se adauga c la suma

Greseli frecvente:

-nu se face initializarea contorului

-nu se face initializarea sumei

Sursa programului:

#include <stdio.h>

#include <conio.h>

void main()

if(b%2==0)

if(c%2==0)

if(contor==0)printf('Nu este nici un numar par.');

else

printf('Sunt %d nr. pare. Suma lor este: %d',contor,suma);

getch();

Programul nr. 7

Sa se afiseze codul ASCII al unei taste apasate. Se poate apasa o tasta normala ( exemplu: tasta A ) sau o tasta speciala ( Exemplu: tasta F1 ).

-se citeste codul tastei cu functia de biblioteca getch()

-daca acest cod este 0, este o tasta speciala, si al doilea cod al acestei taste se obtine apeland din nou functia getch()

Sursa programului:

#include <stdio.h>

#include <conio.h>

void main()

getch();

Programul nr. 8

Se citeste de la tastatura un numar natural intre 1 si 12, care reprezinta numarul unei luni din an. Sa se scrie numele lunii corespunzatoare numarului citit.

Exemplu:

Daca numarul citit este 2, se va afisa:

FEBRUARIE

Sursa programului:

#include<stdio.h>

#include<conio.h>

void main(void)

//end switch

Programul nr. 9

Se citeste de la tastatura un numar natural de 3 cifre (cuprins intre 100 si 999 ). Sa se calculeze si afiseze, care este cel mai mare numar ce se obtine rearanjand corespunzator cifrele numarului citit.

Exemplu: daca se citeste N=172, numarul maxim ce se obtine prin rearanjarea cifrelor, este 721.

Sursa programului:

#include<stdio.h>

#include<conio.h>

void main(void)

if(s<u)

if(z<u)

//Noul numar (cel maxim) este:

nr=100*s+10*z+u;

printf('max=%d',nr);

getch();

4. PROBLEME PROPUSE

1. Se citesc de la tastatura trei numere intregi a, b, c. Sa se calculeze si afiseze produsul numerelor pare introduse.

2. Se citesc patru numere intregi de la tastatura. Sa se afiseze daca cele 4 numere pot fi lungimile laturilor unui patrat sau nu.

3. Se citesc trei numere intregi a, b, c, de la tastatura. Pot fi lungimile laturilor unui triunghi oarecare?

4. Se citesc trei numere intregi a, b, c, de la tastatura. Pot fi lungimile laturilor unui triunghi dreptunghic?

5. Se citesc trei numere intregi a, b, c, de la tastatura. Pot fi lungimile laturilor unui triunghi isoscel?

6. Se citesc de la tastatura doua numere intregi x si y. Sa se afiseze daca acestea sunt solutii pentru ecuatia 5x+7y=19.

7. Se citeste un numar natural de la tastatura (valoarea maxima ce se poate tasta este valoarea maxima pentru tipul de date int: 32767). Sa se calculeze si afiseze cate cifre contine. Se va folosi    instructiunea if multiplu.

8. Se citeste un caracter de la tastatura. Sa se afiseze daca este vocala sau nu.

9. Se citeste de la tastatura un numar natural cuprins intre 1 si 365, ce reprezinta numarul unei zile din an. Sa se calculeze si afiseze luna din an, din care face parte ziua respectiva. Se presupune ca luna februarie are 28 de zile.

Exemplu: daca numarul tastat este 77, se va afisa: Martie.

10. Sa se rezolve ecuatia ax+b=0, unde a si b sunt doua numere reale care se citesc de la tastatura.

11. Ce numar natural cuprins intre 1 si 3 trebuie adaugat la un numar natural x, citit de la tastatura, astfel incat rezultatul sa fie divizibil cu 3 ?

12. Se citesc 4 numere intregi a, b, c si d, de la tastatura. Sa se afiseze daca cele 4 numere sunt in ordine strict crescatoare.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1549
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved