Algoritmi cu ramificaţii

Algoritmii care pot fi descrişi folosind pe lângă comenzi/instrucţiuni de citire (în pseudocod: citeste), scriere (în pseudocod: scrie), atribuire (în pseudocod: ) şi comenzi de decizie (în pseudocod: daca-atunci-altfel) sau selecţie (în pseudocod: alege).

Exemplu:

Enunţul problemei: Să se determine un algoritm pentru a verifica dacă un număr natural dat este divizibil sau nu, folosind criteriul de divizibilitate cu 25 (n se divide cu 25 ultimele două cifre ale lui n formează un număr divizibil cu 25).

Rezolvare:

Algoritmul va avea ca date de intrare un număr natural, sa-l notăm cu n. Numărul format din ultimele 2 cifre = restul împărţirii lui n la 100. Vom verifica dacă acest număr este sau nu divizibil cu 25 (adică dacă se împarte fix la 25 – altă variantă să verificăm dacă este egal cu 00 sau 25 sau 50 sau 75) şi în funcţie de aceasta vom scrie un mesaj de genul “numărul dat este / nu este divizibil cu 25).

Descrierea algoritmului în pseudocod:

citeste n      *n natural

daca (n%100)%25=0 atunci             *ultimele 2 cifre se divid cu 25?

scrie “n se divide cu 25”

altfel

scrie “n nu se divide cu 25”

 

Descrierea algoritmului în C++:

#include <iostream.h>

void main() {

unsigned long n;      //pt a putea citi un nr intreg cat mai mare

cout<<endl<<“n”;

cin>>n;

if (n%100%25 == 0) //ultimele 2 cifre se divid cu 25

cout<<“n se divide cu 25”;

else

cout<<“n nu se divide cu 25”;

}

După rularea programului C++ , pe ecran va apare:

n = 416275 <Enter>

n se divide cu 25

sau

n = 2300627 <Enter>

n nu se divide cu 25

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s