dacă - altfel

Schema logica instructiunea dacă

  Instrucțiunea dacă este echivalenta în pseudocod a structurii if, astfel că operează identic. Se evaluează condiția, în caz afirmativ se execută instrucțiunile din dacă, iar în caz negativ se execută instrucțiunile din altfel (dacă aceasta există).

Structură

┌─dacă <conditie> atunci
│   <instructiuni>
│ altfel <instructiuni>
└■

Implementarea dacă

Enunț: Se citește un număr natural. Stabiliți dacă acesta este par.

citește x (număr natural)
┌dacă x%2=0 atunci
│  scrie "Număr par";
└■
420
Număr par
1337
 

  Dacă după citirea lui x se memorează un număr par, condiția din dacă este adevărată, iar astfel se afișează mesajul. În cazul citirii unui număr impar, nu se va întâmpla nimic, întrucât nu avem alte ramuri atașate de structura noastră.

Implementarea dacă - altfel

Enunț: Se citește un număr real. Stabiliți dacă este și un număr întreg.

citește x (număr real)
┌─dacă [x]=x atunci
│   scrie "Număr întreg";
│ altfel scrie "Număr real";
└■
33
Număr întreg
420.69
Număr real

  Condiția lui dacă verifică dacă partea întreagă a lui x este egală cu variabila însăși. În caz afirmativ, știm că numărul memorat nu are zecimale; îl putem numi număr întreg. În cazul în care ea variabila are zecimale, condiția devine falsă și se va afișa mesajul scris în ramura altfel.

Implementarea dacă - altfel dacă - altfel

Enunț: Se citește un caracter. Dacă acesta este o literă, afișați tipul acesteia (mare sau mică).

citește c (caracter)
┌─dacă c>='a' și c<='z' atunci
│   scrie "Literă mică";
│┌altfel dacă c>='A' și c<='Z' atunci
││  scrie "Literă mare";
│└■
│ altfel scrie "Alt caracter"
└─■
D
Literă mare
?
Alt caracter

  Asemănător lui if - else if - else, în structura de mai sus se vor evalua condițiile până la întâlnirea cazului favorabil, sau executarea ramurii altfel. La prima condiție adevărată, se execută instrucțiunile blocului respectiv și se iese din structură.
  Programul verifică intervalul codului ASCII al caracterului și afișează: „Literă mică”, atunci când codul este între 'a'(97) și 'z'(122); „Literă mare”, atunci când codul este între 'A'(65) și 'Z'(90); „Alt caracter”, pentru orice altă valoare a lui c.