Subprograme

Previzualizare referat:

Extras din referat:

-descompunerea problemei de rezolvat in subprobleme si rezolvarea fiecarei subprobleme printr-un subprogram separat; -daca un program are anumite secvente care se repeta, atunci se poate asocia secventei un subprogram si in loc sa scriem secventa de mai multe ori vom folosi subprogramul; begin {instructiuni (corpul procedurii) } end; Apelul unei proceduri se realizeaza intr-o instructiune procedurala astfel: nume procedura (lista parametrii efectivi sau actuali); Obs! Listele de parametrii formali si efectivi trebuie sa corespunda ca numar, pozitie, tip. Functii O functie calculeaza si returneaza o valoare.

Sintaxa: function nume functie (lista, parametrii, formali): tip rezultat valoare returnata; declaratii locale (variabile, tipuri locale) begin {instructiuni} end; Obs! O functie returneaza o valoare.

Tipul rezultatului poate fi unul dintre tipurile simple (toate tipurile numerice: real, char, boolean), iar dintre tipurile structurate doar tipul string.

Obs! Functia returneaza o valoare prin intermediul numelui ei. Din acest motiv una dintre instructiunile functiei trebuie sa fie o instructiune de atribuire cu numele functiei in partea stanga.

Numele functiei nu poate apare deocamdata in partea dreapta a instructiunii (apel recursiv). Obs! O functie se apeleaza intr-o expresie prin: nume functie (lista, parametrii, actuali, sau, efectivi); Recursivitate O definitie este recursiva daca in cadrul definitiei apare chiar notiunea care se defineste.

Ex~! Un descendent al unei persoane este un copil al acesteia sau un descendent al unui copil al acesteia.

Ex~1! S (n) =1, daca x=0 S (n-1) +S (n-2), daca x0 O definitie recursiva trebuie sa indeplineasca urmatoarele doua conditii: -trebuie sa existe cazuri elementare in care valoarea sa se calculeze direct -si ca fiecare dintre cazuruile ne-elementare sa se reduca in cele din urma la un caz elementar In informatica recursivitatea se realizeaza cu ajutorul subprogramelor; vom avea functii si proceduri recursive.

Un subprogram este recursiv daca se realizeaza un autoapel al lui direct sau indirect prin intermediul altor subprograme.

Ex! n! =1*2*3*... *n; function factorial (n: byte): longint; begin if n=0 then factorial: =1 else factorial: =n*factorial (n-1); end; -este mai neeficienta datorita apelului functiei; OBS! Aceasta functie recursiva este putin mai eficienta decat o functie iterativa care ar calcula factorialul, aceasta datorita apelului din functie, transferului de parametrii si a revenirilor din apel.

OBS! Daca o functie se apeleaza la infinit, are loc recursivitatea infinita, si practic se ocupa stiva (zona de memorie alocata programului). Proceduri recursive Secventa din subprogramele recursive aflate dupa instructiunea de autoapel se va executa in ordinea inversa a apelurilor.

Conversia unui numar intr-o baza b procedure conb (n: word); begin if n div b0 then conv (n div b); write (n mod b); end; ...

Descarcă referat

Pentru a descărca acest document,
trebuie să te autentifici in contul tău.

Structură de fișiere:
  • Subprograme - Varianta 2
    • Referat.doc
Alte informații:
Tipuri fișiere:
doc
Diacritice:
Nu
Nr fișiere:
1 fisier
Pagini (total):
11 pagini
Imagini extrase:
11 imagini
Nr cuvinte:
1 664 cuvinte
Nr caractere:
9 699 caractere
Marime:
13.79KB (arhivat)
Publicat de:
Anonymous A.
Nivel studiu:
Liceu
Tip document:
Referat
Materie:
Informatică
Tag-uri:
subprograme, informatica, programare
Predat:
la liceu
Sus!