Programarea Calculatoarelor

Imagine preview
(8/10 din 2 voturi)

Acest laborator prezinta Programarea Calculatoarelor.
Mai jos poate fi vizualizat un extras din document (aprox. 2 pagini).

Arhiva contine 183 fisiere pdf, cpp, h, exe, txt, pro, wp, prj, bak, dsk, obj de 201 de pagini (in total).

Iti recomandam sa te uiti bine pe extras si pe imaginile oferite iar daca este ceea ce-ti trebuie pentru documentarea ta, il poti descarca.

Fratele cel mare te iubeste, acest download este gratuit. Yupyy!

Domeniu: Calculatoare

Extras din document

1.1. LIMBAJE DE PROGRAMARE SI ALGORITMI

1.1.1. Definitia si proprietatile algoritmilor

Limbajele de programare sunt mijloace de comunicare între om si calculator. Ce

transmite un om, utilizatorul, calculatorului? În general, prelucrarile care trebuie sa fie

executate de catre calculator. Se stie ca un calculator este un obiect inert atâta timp

cât nu i se indica operatiile care trebuie executate. Aceste indicatii sunt exprimate sub

forma unor comenzi sau indicatii transmise spre executie calculatorului. Descrierea de

catre programator a succesiunii acestor operatii se numeste program.

Scrierea unui program implica doua aspecte:

a) exprimarea a ceea trebuie sa faca un calculator, respectiv modul în care

calculatorul va rezolva problema data; pentru aceasta utilizatorul transmite

calculatorului un algoritm. Limbajul de programare este modul în care descriem acest

algoritm.

b) precizarea datelor care vor fi prelucrate (prelucrarea datelor înseamna

modificarea datelor de intrare astfel încât sa se ajunga la rezultate). Precizarea

datelor înseamna precizarea tipului datelor, organizarea lor, relatiile dintre ele.

Limbajul de programare trebuie sa puna la dispozitia utilizatorului facilitati

corespunzatoare de descriere a datelor.

Un algoritm este o succesiune de operatii pe care le facem asupra unor date

(numite date - marimi de intrare) pentru a obtine anumite rezultate (numite si date –

marimi de iesire). Pentru a fi util un algoritm trebuie sa fie precis, neambiguu si sa

specifice, pentru toate cazurile posibile, o secventa unica si finita de actiuni care sa

conduca la un rezultat previzibil.

Operatiile unui algoritm pot fi executate fie de o persoana, fie de un calculator.

Un algoritm trebuie sa aiba urmatoarele proprietati:

1. Generalitate. Nu scriem un algoritm pentru rezolvarea unei probleme

particulare, ci pentru rezolvarea unei întregi clase de probleme. De exemplu: nu

scriem un algoritm pentru rezolvarea ecuatiei

0 2 3 = + x

ci pentru rezolvarea ecuatiei de gradul I, ecuatie care are forma:

0 = + b ax

2. Claritate. Aceasta proprietate se refera la construirea algoritmului. Operatiile

algoritmului si succesiunea executarii lor trebuie sa fie descrise clar, precis, fara

ambiguitati astfel încât sa permita executia mecanica, automata a actiunilor

2

algoritmului. Actiunile care alcatuiesc algoritmul pot fi grupate în blocuri de actiuni

pentru ca algoritmul sa poata fi usor explicat, înteles, testat si modificat.

Aceste grupuri de actiuni, din care este format algoritmul, trebuie sa fie astfel

interconectate încât sa poata fi înlocuite într-o versiune îmbunatatita a algoritmului,

fara a rescrie algoritmul în întregime.

3. Eficienta. Pentru rezolvarea unei anumite probleme pot exista mai multi

algoritmi (exista mai multe solutii). Vom alege acel algoritm care are o viteza de

executie mai mare (numarul operatiilor care trebuie executate este mai mic) si/sau

dimensiunea sa este mai mica.

4. Un algoritm trebuie sa fie complet. Pentru aceasta toate actiunile sale trebuie

sa fie exact definite.

5. Neambiguitatea. Un set de instructiuni vor fi neambigue daca exista o

singura interpretare a lor.

6. Un algoritm trebuie sa fie determinist. Aceasta semnifica faptul ca, daca

sunt urmate instructiunile din algoritm, cu siguranta vom obtinute întotdeauna

rezultatul dorit.

7. Finitudinea. Acest lucru înseamna ca algoritmul trebuie sa se termine dupa

un numar finit de pasi (chiar daca acest numar este foarte mare). Aceasta cerinta nu

se refera numai la numarul finit de pasi pe care trebui sa-l execute algoritmul, dar si

la folosirea unui numar finit de variabile (date) folosite pentru atingerea rezultatului

dorit. Aceasta proprietate deosebeste notiunea de algoritm de cea de metoda

(procedeu, regula) de calcul. Se poate spune ca un algoritm este o metoda de calcul

cu un numar finit de operatii. De exemplu, procedeul învatat în gimnaziu de extragere

a radacinii patrate dintr-un numar care nu este un patrat perfect este o metoda de

calcul, dar nu este un algoritm pentru ca numarul de zecimale al radacinii patrate fiind

infinit, procedeul va cuprinde o infinitate de operatii. Metoda de extragere a radacinii

patrate poate deveni un algoritm daca limitam numarul zecimalelor rezultatului.

În afara acestor proprietati la scrierea unui algoritm trebuie bine stabilite de la

început datele de intrare (intrarea algoritmului – datele pe care le avem la dispozitie

prin tema de proiectare – enuntul problemei) si datele de iesire (iesirea algoritmului

– rezultatele pe care vrem sa le obtinem). Atât pentru datele de intrare, cat si pentru

datele de iesire trebuie sa stabilim:

¾ tipul lor (date de tip întreg, real, siruri de caractere)

¾ domeniul în care aceste date pot lua valori. (de exemplu daca se specifica în

problema: se citeste un numar natural mai mic decât 20, trebuie sa verificam daca

3

valoarea citita este într-adevar mai mica decât 20 si mai mare ca zero – validarea

datelor).

Executia unui algoritm înseamna executia pas cu pas a operatiilor

(instructiunilor) descrise de algoritm. Algoritmii se considera executati pe masini

abstracte / virtuale (ale caror caracteristici le abstractizeaza pe cele ale masinile /

sistemelor de calcul existente la un moment dat).

Fisiere in arhiva (183):

  • Programarea Calculatoarelor
    • L1 - Introducere in programare.pdf
    • L10.pdf
    • L11.pdf
    • L12.pdf
    • L13.pdf
    • L2.pdf
    • L3.pdf
    • L4.pdf
    • L5.pdf
    • L6.pdf
    • L7.pdf
    • L7A.pdf
    • L8.pdf
    • L9.pdf
    • Laboratoare PC
      • L10
        • F1.TXT
        • L10_1.CPP
        • L10_2.CPP
        • L10_3.CPP
        • L10_4.CPP
        • L10_5.CPP
        • L10_6.CPP
        • L10_P3.CPP
        • L9_P1.CPP
        • L9_P2.CPP
      • L11
        • LAB11_1.CPP
        • LAB11_2.CPP
        • LAB11_3.CPP
        • LAB11_4.CPP
        • LAB11_5.CPP
      • L2
        • EUCLID.CPP
        • P3_1_L2.CPP
        • P3_2_L2.CPP
        • P3_L2.CPP
        • P4_L2.BAK
        • P4_L2.OBJ
        • P5_L2.BAK
        • P5_L2.EXE
        • P5_L2.OBJ
        • PRB1_L2.CPP
        • PRB3_L2.CPP
        • PROBL2.CPP
        • PROBL3.CPP
        • PROBL4.CPP
        • PROG1.CPP
        • PROG5.CPP
        • PROGMAX.CPP
        • TRIUNGHI.CPP
      • L3
        • P1_3.CPP
        • P1_L3.CPP
        • P2_3.CPP
        • P2_L3.CPP
        • P3_3.CPP
        • P3_L3.CPP
        • P4_3.CPP
        • P4_L3.CPP
        • P5_3.CPP
        • P6_3.CPP
      • L4
        • CHAR.CPP
        • CHAR.EXE
        • CHAR.OBJ
        • CITIRE.CPP
        • L4_1.DSK
        • L4_1.EXE
        • L4_1.PRJ
        • L4_1AFIS.BAK
        • L4_1AFIS.CPP
        • L4_1AFIS.OBJ
        • L4_1B.DSK
        • L4_1B.EXE
        • L4_1B.PRJ
        • L4_1CITI.BAK
        • L4_1CITI.CPP
        • L4_1CITI.OBJ
        • L4_1MAIN.BAK
        • L4_1MAIN.CPP
        • L4_1MAIN.OBJ
        • L4_1MAX.BAK
        • L4_1MAX.CPP
        • L4_1MAX.OBJ
        • L4_1MIN.BAK
        • L4_1MIN.CPP
        • L4_1MIN.OBJ
        • L4_2.DSK
        • L4_2.PRJ
        • L4_2MAIN.BAK
        • L4_2MAIN.CPP
        • L4_2SORT.BAK
        • L4_2SORT.CPP
        • L4_2SORT.OBJ
        • L4_3.DSK
        • L4_3.PRJ
        • P4_3interclas.CPP
        • P4_3INTR.BAK
        • P4_3INTR.CPP
        • P4_3INTR.OBJ
        • P4_3IN~1.BAK
        • P4_3MAIN.BAK
        • P4_3MAIN.CPP
        • P4_3MAIN.OBJ
        • P4_4.DSK
        • P4_4.EXE
        • P4_4.PRJ
        • P4_4BACK.BAK
        • P4_4BACK.OBJ
        • P4_4MAIN.BAK
        • P4_4MAIN.CPP
        • P4_4MAIN.OBJ
      • L5
        • GRAFTEXT.OBJ
        • LAB5_1.CPP
        • LAB5_1.EXE
        • LAB5_1.OBJ
        • LAB5_2.CPP
        • LAB5_2.EXE
        • LAB5_2.OBJ
        • LAB5_3.CPP
        • LAB5_3.EXE
        • LAB5_3.OBJ
        • LAB5_4.CPP
        • LAB5_4.OBJ
      • L6
        • L6_P1.BAK
        • L6_P1.CPP
        • L6_P1.EXE
        • LAB6_1.BAK
        • LAB6_1.CPP
        • LAB6_1.OBJ
        • Lab6_2.cpp
        • LAB6_2.EXE
        • LAB6_2.OBJ
        • TEMP.CPP
        • TEMP.EXE
        • TEMP.OBJ
        • TEXT.H
        • TEXT1.BAK
        • TEXT1.CPP
      • L7
        • FUNCTII.CPP
        • MAIN.CPP
        • P1
          • FUNCTII.BAK
          • FUNCTII.CPP
          • FUNCTII.OBJ
          • MAIN.BAK
          • MAIN.OBJ
          • P1.DSK
          • P1.EXE
          • P1.PRJ
          • SIR.BAK
          • SIR.H
        • SUMA.H
      • L9_P1.CPP
      • L9_P2.CPP
      • NEW
        • FACT.TXT
        • OPBIN.TXT
      • Prolog
        • l4
          • EX4.PRO
          • EXP3.PRO
          • PR2.PRO
          • PROBII2.PRO
          • TEM1.PRO
          • TEM3.PRO
          • WORK_EX2.PRO
        • Laboratoare
          • CROSSWRD.PRO
          • EVAL.PRO
          • LOG1.TXT
          • LOG10.TXT
          • LOG10.WP
          • LOG2.TXT
          • LOG2.WP
          • LOG3.TXT
          • LOG3.WP
          • LOG4.TXT
          • LOG4.WP
          • LOG5.TXT
          • LOG5.WP
          • LOG7.TXT
          • LOG7.WP
          • LOG8.TXT
          • LOG8.WP
          • LOG9.TXT
          • LOG9.WP
          • MAKETREE.PRO
          • PARSE.PRO
          • RUSFARM.PRO
          • SUMMUL.PRO
          • WORK.PRO
      • Scoala
        • PRB1_L2.CPP