Algoritmi Elementari C++.doc

  • Uploaded by: Aurora Chiriac
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Algoritmi Elementari C++.doc as PDF for free.

More details

  • Words: 492
  • Pages: 8
Algoritmi elementari Să se scrie un program care determină cel mai mic multiplu comun a două numere. #include #include void main(void) { // declaram variabilele pe care le vom utiliza in program int a, b, i, c, r, min; cout<<”Dati primul numar “;cin>>a; cout<<”Dati al doilea numar “;cin>>b; getch(); if( a != 0 && b != 0 ) if( a < b ) min = a; else min = b; c = 1; for(i = 1; i <= min; i++ ) if ( a % i == 0 && b % i == 0 ) c = i; cout<<”C.m.m.m.c este = “<<(a * b) / c< cout<<<<<”Apasati tasta ENTER pentru terminarea programului”; getch(); }

1

Algoritmii elementari sunt algoritmi simpli care ne ajuta în rezolvarea problemelor Exemple de algoritmi elementari: -interschimbare -determinarea minimului/maximului -prelucrarea cifrelor unui numar -calcularea celui mai mare divizor comun -testarea unui numar prim -conversii între sisteme de numeratii -generarea sirurilor recurente Prin interschimbare întelegem ca 2 variabile ai si b îsi schimba reciproc valorile initiale prin intermediul unei variabile auxiliare. Ex a=12 b=-3 aux=a a=b b=aux Pseudocod Început Citeste a,b aux=a a=b b=aux Scrie a,b Sfârsit

2

Algoritm de interschimbare Formula

aux<- a a<- b b<-aux Rezolvare: start citeste a, b aux<-a a<-b b<-aux scrie a,b stop

3

Algoritm de determinarea min/max

O variabila preia continutul primei componente a vectorului (max=v[0] sau mi n=v[0]), apoi o compara pe rind cu celelalte componente ale vectorului, iar in functie de conditia care se pune in program variabila va retine componenta cu valoare maxima sau componente cu valoare minima. Pentru m axim : max=v[0] ; if(v[i]>max) max=v[i] Pentrumi ni m ; min=v[0] ; if(v[i]<min) min=v[i] Exemplu. Se introduc valorile componentelor unui vector si se afiseaza valoarea maxima si valoarea minima. #include #include void main() {int max,min,n,i,v[100]; cout<<"Introduceti numarul de elemente n="; cin>>n; for(i=1;i<=n;i++) {cout<<"v["<<<"]=";cin>>v[i];}; max=v[0]; for(i=1;i<=n;i++) if(v[i]>max) max=v[i] ; cout<<"Valoarea maxima citita este"<<" "<<max<<endl; min=v[0]; for(i=1;i<=n;i++) if(v[i]<min) min=v[i]; cout<<"Valoarea minima citita este"<<" "<<min Algoritm pentru prelucrarea cifrelor unui numar

Suma cifrelor unui numar #include void main() 4

{ int s; long d,x; cout<<"x=";cin>>x; d=x; s=0; while(d) { s=s+d%10; d=d/10; } cout<<"s="<<s; }

5

Algoritm pentru determinarea cmmdc

Algoritmul: -citim a si b; -daca a*b=0 scrie a+b; -altfel cat timp a!=b executa Daca a>b atunci scade din a pe b Altfel scade din b pe a -afiseaza a. Pseudocodul start citeste a,b daca a*b=0 atunci scrie a+b altfel cat timp a!=b executa daca a>b atuncia=a-b altfel b=b-a scrie a stop

Observatii 1.Numarul se modifica.Daca dorim sa folosim numarul dupa calculul Cmmdc atunci trebuie sa le facem o copie:x=a si y=b. 2.Algoritmul este lent din punct de vedere al timpului.

Algoritm pentru determinarea unui numar prim

6

cin>>n; ok=1; if(n==0||n==1) ok=0; for(i=2; i<=n/2; i++) if(u%i==0) ok=0; if(ok==1) cout<<”nr este prim”; else cout<<”nr nu este prim”;

Algoritm pentru determinarea divizorilor

7

#include int main () {int n, nr=0,m; cout<<"numarul este:"; cin>>n; for(int d=2;d<=n/2;d++) if(n%d==0)nr++; cout<<"Numarul de divizori ai numarului "<>m;

8

Related Documents


More Documents from ""