Noțiuni despre Algoritmi și Programare Structurată

Curs
7/10 (1 vot)
Conține 1 fișier: doc
Pagini : 13 în total
Cuvinte : 3625
Mărime: 34.39KB (arhivat)
Publicat de: Dafina Toma
Puncte necesare: 0

Extras din curs

2.1. Noţiuni introductive

Rezolvarea problemelor cu ajutorul calculatorului presupune parcurgerea mai multor etape:

1. analiza problemei (cu stabilirea datelor de intrare/ieşire) şi modelarea ei matematicã;

2. descrierea algoritmului cu ajutorul schemei logice şi (sau) a pseudocodului;

3. scrierea programului într-un limbaj de programare evoluat;

4. compilarea programului;

5. asamblarea programului;

6. execuţia programului.

Etapele 1.-3. sunt etape realizate de programator, iar etapele 4.-6. sunt realizate de către sistemul de operare al calculatorului.

Un algoritm reprezintă o succesiune de calcule care, plecând de la condiţii iniţiale cunoscute şi cu ajutorul unor operaţii efectuate mecanic fără aportul creator al omului, permite obţinerea soluţiilor unor probleme dintr-o anumită clasă.

Altfel spus, un algoritm este un sistem de reguli care utilizând un set de date iniţiale ale unei probleme, după execuţia unui număr finit de paşi, facilitează obţinerea datelor finale, trecând printr-un şir de rezultate intermediare.

Un algoritm nu este aplicabil oricăror date iniţiale; o dată iniţială pentru care se poate aplica un algoritm se numeşte dată sau informaţie admisibilă.

Un algoritm trebuie să satisfacă în general următoarele cerinţe:

a) claritate - descrierea algoritmului trebuie să se facă precis, fără nimic arbitrar, fără ambiguităţi şi să fie prevăzute toate etapele de calcul şi toate situaţiile care se pot ivi până la obţinerea soluţiei;

b) generalitate - algoritmul trebuie să permită rezolvarea de probleme dintr-o întreagă clasă;

c) finititudine - algoritmul trebuie să furnizeze rezultatele într-un număr finit (cât mai mic) de paşi;

d) unicitate - etapele algoritmului trebuie să fie definite în mod unic.

Operaţiile de bază care apar într-un algoritm sunt următoarele:

- operaţii de intrare/ieşire - datele de intrare se citesc, iar datele de ieşire se afişează (se tipăresc);

- operaţii de atribuire - unei variabile i se atribuie valoarea unei expresii;

- operaţii de decizie - se determină valoarea de adevăr a unei expresii logice şi, funcţie de rezultatul obţinut, se ramifică rezultatul algoritmului.

Odată cu dezvoltarea informaticii a apărut şi noţiunea de programare structurată. La baza acestui concept stă ideea întocmirii algoritmilor folosind câteva structuri elementare, având o singură intrare şi o singură ieşire.

În cazul programării structurate, problema de rezolvat se descompune în subprobleme, a căror rezolvare duce la rezolvarea problemei iniţiale. Algoritmul, în acest caz, apare ca o secvenţă liniară de structuri elementare.

Structurile elementare sunt următoarele:

- structura liniară - constă în execuţia necondiţionată a unei secvenţe de instrucţiuni, un algoritm liniar fiind un algoritm în care etapele de calcul se succed una după cealaltă;

- structura alternativă - constă în ramificarea execuţiei algoritmului în funcţie de valoarea de adevăr a unei condiţii evaluate, algoritmii ramificaţi presupunând luarea unei anumite decizii în funcţie de care se continuă execuţia pe ramuri distincte;

- structura repetitivă - constă în execuţia repetată, de un număr finit de ori, a unei secvenţe de instrucţiuni. Un algoritm repetitiv presupune repetarea unor etape de calcul de un anumit număr de ori. Ansamblul etapelor ce se repetă alcătuiesc un ciclu. Dacă numărul de repetări este cunoscut, ciclul se numeşte cu număr cunoscut de paşi, iar dacă nu este cunoscut, ciclul se numeşte cu condiţie sau cu număr necunoscut de paşi.

Subproblemelor obţinute prin descompunerea unei probleme le corespunde conceptul de subprogram.

Subprogramele pot fi tip funcţie sau tip procedură. Diferenţa dintre funcţie şi procedură constă în faptul că funcţia transmite programului apelant o singură valoare, în timp ce procedura poate să nu transmită programului apelant nici o valoare, sau să transmită una sau mau multe valori.

Referirea unui subprogram poartă denumirea de apel.

O noţiune de bază în programare o constituie noţiunea de variabilă. O variabilă este caracterizată de patru elemente: nume, tip, valoare şi adresă în memorie.

Numele unei variabile este format din unul sau mai multe caractere (litere şi cifre, primul fiind literă), de exemplu: A, o ,min, X3.

Tipul indică mulţimea de valori posibile: întreg, real, şir de caractere, boolean etc.

Un tip variabilă poate fi elementar sau structurat.

Tipurile structurate se obţin prin gruparea tipurilor elementare. Dintre acestea amintim tabloul, în care variabilele au acelaşi nume şi tip, deosebindu-se prin indici. Un tablou cu o singură dimensiune se numeşte şir, iar un tablou cu două dimensiuni se numeşte matrice.

Adresa variabilei este adresa fizică din memoria calculatorului la care se află valoarea variabilei. De obicei adresa este invizibilă pentru programator.

Valoarea variabilei reprezintă valoarea efectivă pe care aceasta o are la un moment dat. Valoarea unei variabile se poate modifica numai printr-o instrucţiune de citire sau atribuire.

2.2. Reprezentarea algoritmilor

Pentru reprezentarea algoritmilor se pot utiliza mai multe metode:

- schema logică;

- pseudocodul (sau limbajul algoritmic);

- limbajul de programare.

Primele două sunt independente de tehnica de calcul, nu respectă o sintaxă rigidă şi sunt utile programatorului doar în faza de proiectare a algoritmilor.

Algoritmul scris într-un limbaj de programare este singura formă direct utilizabilă pe calculator, fiind un text codificat, pe baza unor legi sintactice bine determinate.

Preview document

Noțiuni despre Algoritmi și Programare Structurată - Pagina 1
Noțiuni despre Algoritmi și Programare Structurată - Pagina 2
Noțiuni despre Algoritmi și Programare Structurată - Pagina 3
Noțiuni despre Algoritmi și Programare Structurată - Pagina 4
Noțiuni despre Algoritmi și Programare Structurată - Pagina 5
Noțiuni despre Algoritmi și Programare Structurată - Pagina 6
Noțiuni despre Algoritmi și Programare Structurată - Pagina 7
Noțiuni despre Algoritmi și Programare Structurată - Pagina 8
Noțiuni despre Algoritmi și Programare Structurată - Pagina 9
Noțiuni despre Algoritmi și Programare Structurată - Pagina 10
Noțiuni despre Algoritmi și Programare Structurată - Pagina 11
Noțiuni despre Algoritmi și Programare Structurată - Pagina 12
Noțiuni despre Algoritmi și Programare Structurată - Pagina 13

Conținut arhivă zip

  • Notiuni despre Algoritmi si Programare Structurata.DOC

Alții au mai descărcat și

Universitatea Virtuală

Aplicaţia “Universitatea Virtuală” simulează o universitate reală în mediul de transmisie electronic, prin implementarea activităţilor adecvate...

Manual Grafuri

1. Preliminarii 1.1. Algoritmi Toti algoritmii descrisi în cadrul acestei lucrari folosesc structuri de date de tip graf. Unele descrieri sînt...

Manual Limbaj C

1. Generalitati asupra limbajului C 1.1. Introducere Limbajul C a fost creat la începutul anilor '70 de catre Brian W Kernigham si Dennis M...

Protocoale Peer to Peer

Protocolul P2P implică interacţiunea a două entităţi prin schimbul de mesaje, numite PDU (Protocol Data Unit). Fiecare PDU conţine un antet...

Variabile

6. Variabile Prin variabilă se înţelege o dată a cărei valoare se poate schimba pe parcursul execuţiai programului. Unei variabile i se atribuie...

Instrucțiunile limbajului C++

5. Operaţii de intrare/ieşire În C, spre deosebire de alte limbaje, sistemul intrare/ieşire nu este parte a limbajului, ci este introdus printr-un...

Instrucțiuni

O instrucţiune este o parte a programului care poate fi executată. Aceasta înseamnă că o instrucţiune specifică o acţiune. Standardul ANSI C şi cel...

Instrucțiuni de intrare

7. Instrucţiuni de iterare Instrucţiunile de iterare (ciclare) permit ca un grup de instrucţiuni să se execute repetat, până se îndeplineşte o...

Te-ar putea interesa și

Metode de Programare cu Matrice Rare

Introducere Lucrarea cuprinde metode tradiţionale de calcul matriceal care sunt utilizate frecvent în practică, metode reanalizate şi revăzute...

Validarea datelor de intrare și manipularea erorilor în programarea web

INTRODUCERE Într-o epocă modernă ca aceasta în care se poate rezolva totul cu ajutorul internetului printr-un simplu ”click” - o singură apăsare a...

Sistem Inteligent de Gestiune a Datelor

Preambul Înţelegerea mecanismelor vieţii şi în special ale inteligenţei umane a constituit o preocupare permanentă a multor categorii de...

Structuri de Date în Limbajul Java

Motivaţia lucrării Structurile de date reprezintă modalitatea în care datele sunt dispuse în memoria calculatorului(sau păstrate pe disc)....

Utilizarea rețelelor neurale în prognozarea cursului valutar

Introducere Preocuparea specialiştilor de a crea programe pentru calculatoarele "inteligente" - sisteme care prezintă caracteristici asociate cu...

Planuri de lecție - informatică cls 9

Clasa:a IX-a A Data: 21.03.2008 Obiectul: Informatică Tema: STRUCTURA DECIZONALA IF Tipul lectiei: Transmitere de noi cunoştinţe Obiective...

Analiza Algoritmilor Genetici

I. Analiza algoritmilor genetici 1.1. Algoritmi evoluţionişti Algoritmii evoluţionişti au la bază câteva principii ale evoluţiei: supravieţuirea...

Sisteme Bazate pe Modele Genetice

1.Notiuni generale despre algoritmi genetici(AG) ALGORITMII GENETICI sunt o familie de modele inspirate de teoria evoluţiei, sunt programe...

Ai nevoie de altceva?