M5 L3 Structura alternativă instrucțiunea If()

Program C simplu cu instrucțiune alternativă

#include <stdio.h> // 1

int main() { // 2
    int numar; // 3
    printf("Introdu un numar: "); // 4
    scanf("%d", &numar); // 5

    if (numar > 0) { // 6
        printf("Numarul este pozitiv.\n"); // 7
    } else { // 8
        printf("Numarul NU este pozitiv.\n"); // 9
    }

    return 0; // 10
} // 11

Explicație linie cu linie:

Linia 1:

#include <stdio.h>

Include biblioteca standard de intrare/ieșire în C. Ne oferă funcții ca printf (afișare) și scanf (citire).

Linia 2:

int main() {

Este punctul de pornire al programului.

Linia 3:

int numar;

Declară o variabilă întreagă care va reține numărul introdus de utilizator.

Linia 4:

printf("Introdu un numar: ");

Afișează un mesaj pentru utilizator.

Linia 5:

scanf("%d", &numar);

Citește un număr întreg de la tastatură și îl salvează în variabila numar.
%d este formatul pentru întregi, iar &numar înseamnă „adresa variabilei”.

Linia 6:

if (numar > 0) {

Verifică dacă numar este mai mare decât 0.

Linia 7:

printf("Numarul este pozitiv.\n");

Se execută dacă condiția de la linia 6 este adevărată. Afișează un mesaj.

Linia 8:

} else {

Dacă condiția NU este adevărată, se trece la linia 9.

Linia 9:

printf("Numarul NU este pozitiv.\n");

Se execută dacă numărul este 0 sau negativ.

Linia 10:

return 0;

Termină programul cu cod de succes (0).

Linia 11:

}

Sfârșitul funcției main.

Rezumat:

  • if-else alege între două căi posibile în funcție de o condiție.
  • Programul cere un număr, verifică dacă este pozitiv și afișează un mesaj corespunzător.

Iată un exemplu de program în C care folosește if - else if - else, adică o instrucțiune alternativă multiplă, pentru a verifica dacă un număr este:

#include <stdio.h> // 1

int main() { // 2
    int numar; // 3
    printf("Introdu un numar: "); // 4
    scanf("%d", &numar); // 5

    if (numar > 0) { // 6
        printf("Numarul este pozitiv.\n"); // 7
    } else if (numar < 0) { // 8
        printf("Numarul este negativ.\n"); // 9
    } else { // 10
        printf("Numarul este zero.\n"); // 11
    }

    return 0; // 12
} // 13

Temă:

Să se explice programul linie cu linie.

Dicționar:

  1. stdio = biblioteca standard input output
  2. .h = fișier header (antet) – se pune la începutul programului
  3. int = tipul întreg – este un nr întreg de la matematică
  4. %d = specificator de format pentru tipul int
  5. & = adresa unei variabile
  6. ; = instrucțiunea vidă – se pune la sfârșitul unei instrucțiuni pentru a marca acest sfârșit la fel cum în limba română se pune punct la sfârșitul propoziției.

Observații:

  1. Secvența escape ‘\n’ înseamnă new line = trece cursorul pe linia următoare
  2. Structura liniară din pseudocod devine instrucțiune secvențială în cod (program).
  3. Funcția printf() are ca scop afișarea pe ecran.
  4. Funcția scanf() are ca scop citirea de la tastatură.
  5. Declararea variabilei numar se alocă un spațiu de memorie pe 32 biți pentru stocarea unei valori de tip int (număr întreg).
  6. Funcția scanf(„%d”,&a) citește de la tastatură o valoare ce se stochează în spațiul (se atribuie spațiului) de memorie alocat la adresa „&” variabilei a.

Întrebări:

  1. Pe câte linii se scrie structura liniară în pseudocod?
  2. Care este corespondența structurii liniare în cod?
  3. Ce execută funcția printf()?
  4. Ce execută funcția scanf()?
  5. Ce se petrece în memorie la declararea variabilelor de tip int cu numele &numar?
  6. Ce rezultat are instrucțiunea printf(„Introdu un numar”);?
  7. Ce rezultat are instrucțiunea scanf(„%d”,&numar)?