+ All Categories
Home > Documents > algoritm

algoritm

Date post: 01-Oct-2015
Category:
Upload: dragosvoinea96
View: 21 times
Download: 2 times
Share this document with a friend
Description:
89
32
Elemente de practica programarii Algoritmi. Scheme logice
Transcript
  • Elemente de practica programarii

    Algoritmi. Scheme logice

  • GeneralitiUn calculator este o maina ce permite rezolvarea unor probleme prin executarea unui lan de instruciuni.O succesiune de instruciuni se numete program.Instruciunile ce pot fi recunoscute i executate de microprocesor sunt simple i limitate ca numr, pentru a nu complica structura hardware dar consistente pentru a fi utilizat eficient puterea de calcul. Limbajele de programare sunt limbaje artificiale, folosite n tiina calculatoarelor, pentru a scrie secvene de instruciuni (programe), care pot fi executate de calculator. Similar limbajelor naturale, limbajele de programare au vocabular, gramatic i sintax. Limbajele de programare trebuie s aib structuri logice simple i reguli gramaticale foarte precise.

  • Se numete limbaj main (cod main, cod calculator) reuniunea instruciunilor primitive ce pot fi executate de microprocesor. Acest limbaj este incomod de utilizat de programator, intruciunile fiind iruri de numere binare.Numim limbaj de nivel superior setul de instruciuni apropiat de limbajul uman, propriu problemei de rezolvat.

    Limbajul de asamblare este un limbaj intermediar, foarte apropiat de codul main, posibil utilizrii de ctre programator i uor translatabil spre codul main.

    Pentru a putea fi executat, un program scris ntr-un limbaj superior trebuie translatat n instruciuni corespunztoare n cod main.

  • Fiier obiectProgram obiectLimbaj cod mainFiier sursProgram sursLimbaj superiorinterpretarecompilareRezultate obinute de execuia programuluilansare in execuie

  • Etapele realizrii unui programa) Definirea problemeib) Selecia algoritmilor i a structurilor de datec) Specificarea structurii i a logicii programului (descompunerea n uniti de program-module- i stabilirea funciuni, logicii i a interfeelor pentru fiecare modul)d) Codificarea (transcrierea ntr-un limbaj de programare)e) Depanarea i testarea (pornind de la verificarea modulelor independent)f) Redefinirea pailor anteriori (corectarea erorilor depistate)g) Documentareah) Intreinerea programului

  • Algoritmi. Scheme logiceAlgoritmul este o mulime de reguli de calcul, folosite ntr-o succesiune bine precizat, cu ajutorul crora putem obine soluia, cu o precizie mulumitoare, a unei probleme, prin execuia unui numr finit de operaii.ProprieticlaritateeficacitateuniversalitateCorespunztor etapelor de calcul algoritmul este format din mai muli pai, ce se execut n ordinea lor matural, atta timp ct nu intervine o condiie de salt, ce s impun executarea unui alt pas dect cel urmtor Reprezentarea grafic, intuitiv, a unui algoritm poate fi fcut cu ajutorul schemelor logice.

  • Simboluri folosite n ntocmirea de scheme logiceBlocul de calculCalculul ce trebuie executat se scrie in interiorul dreptunghiuluiSTARTSTOPBlocul de nceput i Blocul de sfrit al schemei logice

  • SCRIElista mrimiCITETElista mrimiBlocul ieireBlocul intrareCDANUBlocul de decizieSe folosete pentru indicarea unei decizii ntr-un algoritm. Indeplinirea sau nu a condiiei C duce la continuarea pe ramura DA, respectiv NU

  • Toate blocurile funcionale se leag prin arce orientate dup sensul de parcurgere a algoritmuluiSemnul de atribuire := VariabileConstanteIdentificatori Operatori matematici: + - * /Operatori logici: < > >=
  • Limbajul de programare BASICBeginners All-purpose Symbolic Instruction Code

    limbaj de nivel inaltuniversalsimplularg raspanditProgramul este constituit din linii de program precedate de un numar (numit eticheta), care indica ordinea in care se memoreaza si se vor executa liniileInstructiunile cunosc particularizari functie de implementare. QBASIC si GWBASIC implementari PC Programele de birotica sunt insotite de un limbaj de programare asemanator limbajului BASIC.

  • Instructiunile limbajuluiLET expresie de calculSTARTSTOPRUN

    STOP

  • SCRIElista mrimiCITETElista mrimiPRINT listaLPRINT listaINPUT listaREAD lista asociat cuDATA sir numereCDANUIF c THEN instructiune DAIndeplinirea condiiei c duce la executia instructiunii DA, apoi se executa instructiunea urmatoare lui IF

  • GOTO etichetaSemnul de atribuire LET VariabileConstanteIdentificatori Operatori matematici: + - * /Operatori logici: < > >=
  • Rezolvarea ecuaiei de gradul I ax+b=0 x=-b/a, cnd a nu e zero STARTSTOPCITETEa,ba=0danuSCRIEEc. imp.SCRIEx=,xx:=-b/a

  • 5 CLS10 INPUT "a=", a20 INPUT "b=", b30 IF a = 0 THEN PRINT "ecuatie imposibila": STOP40 LET x = -b / a50 PRINT "x="; x60 STOP

  • Gsirea valorii minime (maxime) a unui ir de numereSTARTciteteni:=1citetea(i)i:=i+1i
  • 5 CLS10 INPUT "n=", n: DIM a(n)20 LET i = 130 PRINT "a("; i; ")"; : INPUT "="; a(i)40 LET i = i + 150 IF i a(i) THEN min = a(i)90 LET i = i + 1100 IF i
  • 5 CLS10 INPUT "n=", n: DIM a(n)20 FOR i = 1 TO n30 PRINT "a("; i; ")"; : INPUT "="; a(i)50 NEXT i

    60 LET min = a(1)70 FOR i = 2 TO n80 IF min > a(i) THEN min = a(i)90 NEXT i

    110 PRINT "minimul este"; min120 STOP

  • Calculul sumei (produsului) valorilor unui ir de numereSTARTciteteni:=1citetea(i)i:=i+1i
  • 5 CLS10 INPUT "n=", n20 FOR i = 1 TO n30 PRINT "a("; i; ")"; : INPUT "="; a(i)50 NEXT i

    60 LET s = 0: LET p = 170 FOR i = 1 TO n80 LET s = s + a(i): LET p = p * a(i)90 NEXT i

    110 PRINT "suma este"; s, "produsul este"; p120 STOP

  • Ordonarea valorilor unui ir de numereSTARTciteteni:=1citetea(i)i:=i+1i
  • 5 CLS10 INPUT "n=", n: DIM a(n)20 FOR i = 1 TO n30 PRINT "a("; i; ")"; : INPUT "="; a(i)50 NEXT i

    60 LET s = 070 FOR i = 1 TO n - 180 IF a(i) > a(i + 1) THEN t = a(i): a(i) = a(i + 1): a(i + 1) = t: s = 190 NEXT i100 IF s 0 THEN GOTO 60110 PRINT "sirul a fost ordonat"115 FOR i = 1 TO n: PRINT "a("; i; ")="; a(i): NEXT i120 STOP

  • Cutarea secvenial a unei valori ntr-un ir de numereSTARTcitetev, ni:=1citetea(i)i:=i+1i
  • 5 CLS10 INPUT "n=", n: DIM a(n)20 FOR i = 1 TO n30 PRINT "a("; i; ")"; : INPUT "="; a(i)50 NEXT i

    60 INPUT "v="; v70 FOR i = 1 TO n80 IF v = a(i) THEN PRINT "valoare gasita la poz."; i: STOP90 NEXT i

    110 PRINT "valoarea nu e in sir"120 STOP

  • Cutarea binar a unei valori ntr-un ir de numereSTARTcitetev, ni:=1citetea(i)i:=i+1i
  • 5 CLS10 INPUT "n=", n: DIM a(n)20 FOR i = 1 TO n30 PRINT "a("; i; ")"; : INPUT "="; a(i)50 NEXT i

    60 INPUT "v="; v70 LET i = 1: LET j = n75 LET k = INT((i + j) / 2)80 IF v = a(k) THEN PRINT "valoare gasita la poz."; k: STOP90 IF v < a(k) THEN j = k ELSE i = k100 IF i = n OR j = 1 THEN PRINT "valoarea nu e in sir": STOP120 GOTO 75

  • 5 CLS10 INPUT "n=", n: DIM a(n)20 FOR i = 1 TO n30 PRINT "a("; i; ")"; : INPUT "="; a(i)50 NEXT i

    60 INPUT "v="; v65 IF v = a(n) THEN PRINT "valoare gasita la poz."; n: STOP70 LET i = 1: LET j = n75 LET k = INT((i + j) / 2)80 IF v = a(k) THEN PRINT "valoare gasita la poz."; k: STOP90 IF v < a(k) THEN j = k ELSE i = k100 IF i = n OR j = 1 THEN PRINT "valoarea nu e in sir": STOP

  • Elemente de programare structuratProgramarea structurat are ca idee fundamental proiectarea de la nceput a programului n aa fel nct acesta s prezinte o structur bine determinat, simpl i clar, adecvat unei analize eficiente a corectitudinii programului.Structurile cu ajutorul crora se poate ntocmi n acest fel un program sunt:secvenadeciziaselecia ciclul cu test iniialciclul cu test final

  • DANUs1s2sns1ss2.....cSELECIAcDECIZIA...snSECVENAs2s1

  • DANUcCICLU CU TEST FINALCICLU CU TEST INIIALsDANUcs


Recommended