CATEGORII DOCUMENTE |
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.
#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
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
#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.
#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 |
Vizualizari: 1629
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved