Nota10

Уроки · BAC · Информатика

Subprograme: antet, parametri, apel și variabile locale

Тема из тестов ANCE: Subprograme

Subiectul III începe cu un program de analizat: antetul unui subprogram, tipul returnat, parametrii formali, numărul de apeluri și ce afișează la final. Aici ai regulile și felul în care baremul plătește fiecare răspuns scurt.

Урок на румынском.

Читать урок на русском

Что нужно знать

Funcție și procedură
O funcție întoarce o valoare și se folosește într-o expresie; o procedură face o acțiune și se apelează ca instrucțiune. În C++ ambele sunt funcții, iar procedura este o funcție cu tipul void.

PascalC++
antet de funcțiefunction vrf(q: integer): boolean;bool vrf(int q)
antet de procedurăprocedure cifre(q : string);void cifre(string q)
întoarcerea valoriivrf := b;return b;
apel de procedurăafisare;afisare();
apel de funcțiex := sir;x = sir();

Antetul
Antetul este primul rând al subprogramului: cuvântul cheie, numele, lista parametrilor formali și, la funcție, tipul rezultatului. Când itemul cere „subliniați antetul”, subliniezi exact acest rând, nu tot subprogramul și nu apelul.

Parametri formali și parametri efectivi
Parametrii formali sunt numele din antet, de exemplu p și q din function medie (p, q: integer): real;. Parametrii efectivi sunt valorile trimise la apel, de exemplu medie(x[i], y[i]). Numărul și tipul lor trebuie să corespundă.

Variabile locale și globale
O variabilă declarată în interiorul subprogramului este locală: există doar cât timp el se execută și nu se vede din afară. O variabilă declarată înaintea subprogramelor este globală și poate fi folosită în toate.
Când un subprogram citește sau modifică o variabilă globală în loc să primească totul prin parametri, spunem că programul conține comunicare prin variabile globale. Itemii din teste cer tocmai recunoașterea acestei situații: dacă funcția schimbă un contor global, afirmația este adevărată.

Întoarcerea valorii în Pascal
Rezultatul se dă atribuindu-l numelui funcției: m := rez;. Dacă uiți această atribuire, funcția întoarce o valoare nedefinită, chiar dacă restul calculului este corect. În C++ rolul acesta îl are return.

Numărul de apeluri
Apelurile se numără acolo unde apar în execuție, nu în textul programului: un apel scris o singură dată, dar aflat într-un ciclu cu patru repetări, înseamnă patru apeluri.

Subprograme în problemele de calcul
La itemii cu metode numerice, funcția matematică se scrie ca subprogram separat și se apelează în ciclu:

function f(x : real) : real;
begin
  f := sqr(x) / sqrt(x + 0.8) + 2;
end;

Baremul dă un punct separat pentru scrierea corectă a acestei funcții și alt punct pentru apelul ei, deci merită scrisă chiar dacă restul programului nu este gata.

Funcții predefinite
length(s) dă numărul de caractere ale unui șir, ord și chr trec între caracter și cod, abs, sqr, sqrt, trunc fac calculul obișnuit. Ele se apelează la fel ca subprogramele proprii, dar nu se declară.

Остальная часть урока доступна по подписке

Настоящие задания ANCE по этой теме, разбор примера шаг за шагом, типичные ошибки и 7 вопросов для самопроверки открываются по подписке. «Что нужно знать» остаётся бесплатным.

Открывается по подписке

  • Как это бывает на экзамене
  • Разбор примера
  • Типичные ошибки
  • Проверь себя

Проверь свой уровень бесплатно