Sunteți pe pagina 1din 14

FUNCŢII ŞI PROCEDURI

1. Să se determine ce va afişa următorului program:

Program Prog;
Var a:integer;
Procedure proc(var b,c:integer);
Begin
b:=1; c:=b+1;
End;
Begin
a:=1;
proc(a,a); writeln(a);
End;

Ce se va afişa dacă atetul procedurii proc ar fi


a) Procedure proc(b,c:integer)
b) Procedure proc(b: integer; var c:integer)
c) Procedure proc(var b:integer; c:integer)

2. Ce erori sunt comise în următorul program?

Program Abc;
type vector = array [1..20] of byte;
var x:vector;
i,y:byte;
Function suma ( a:array [1..20] of byte ):integer;
var i:byte;
begin
s:=0;
for i:=1 to 10 do
s:=s+a[i];
end;
begin
writeln ('Introduceti tabloul ');
for i:=1 to 6 do
readln (x[i]);
y= suma (x);
writeln (y:7:4);
end.

3. Fie următurul subprogram de tip funcţie:


function f(var x:real):real;
begin
f:=x;
x:=x+1;
end.
4. Două egalităţi se numesc echivalente daca ambele sunt adevărate sau false (de
exemplu atunci când sunt utilizate într-o instrucţiune if). Sunt oare echivalente
expresiile relaţionale a=f(a) şi f(a)=a care ar apărea în programul apelant?
Să se argumenteze răspunsul.

5. Să se scrie o funcţie cu identificatorul CMMDC2, care determina cel mai mare


divizor comun dintre valorile de tip întreg a două variabile. Apoi, să se scrie o
astfel de procedură CMMDC4 astfel încât să utilizeze funcţia CMMDC2 pentru a
afla cel mai mare divizor comun dintre valorile de tip întreg a patru variabile.

6. Ce va afişa programul următor:


Var x,y:Integer;
Procedure Proc(x:integer; var y:integer);
Begin x:=1; y:=2 End;
Begin
x:=10; y:=20;
Proc(x,y); Writeln(x,' ',y);
Proc(x,x); Writeln(x,' ',y);
Proc(y,x); Writeln(x,' ',y);
End.

7. Ce va afişa următorul program pentru n=123?


Procedure p(n:integer);
Begin
Write(n mod 10);
If n div 10 <> 0 then P(n div 10); end;
Begin
readln(n); P(n);
end.
a) 123; b) 321; c) programul are erori de sintaxă; d) nici un răspuns anterior nu
este corect.

8. Care dintre următoarele antete de funcţii sunt valide?


a) Function prima (a,b:Integer)
b) Function a_doua
c) Function a treia;
d) Function cincea (s:char):’a’..’z’;
e) Function prima (a;b:char);
f) Function a doua
g) Function cincea (s:real):array [1..10] of integer;

9. Indicaţi ce erori au fost comise in următoarele programe:


a) procedure scrie(x:string[5]);
begin Writeln(x) end;
Begin scrie (‘ABCDEF’) End.

b) var x,y:Byte;
function P3(var x:Byte) :0..MaxInt;
begin P3:=x*x*x end;
Begin Redln (x,y);Writel (P3(x+y)) End.
c) type sir=array[1..10] of Byte;
var a:sir; I,n:Byte;
Function suma(a:sir; n:Byte) :Longint ;
Var s:Longint;
Begin for I:=1 to n do s:=s+a[i] ; suma:=s end;
Begin … Writeln(suma(a,n)) End.
10. Compuneţi o problema care se rezolvă cu ajutorul următorului program:
Program Abc;
var x,y:string;
procedure Proc (n:string; var m:string);
var i: byte;
begin
m:= '';
for i:=length (n) downto 1 do
m:=m+n[i];
end;
begin
readln (x);
Proc (x,y);
writeln (y);
end.
11. Ce se va afişa la ecran în rezultatul rulării următorului program?

Program Abc;
var x,y:integer;
Function UC (var a:integer ):integer;
begin
UC:=a mod 10;
a:=a+1;
end;
begin
x:=11; y:=12;
writeln ('Rezultatul este ', UC (x) + UC (x)+ UC (y) );
end.

12. Ce se va afişa la ecran în rezultatul rulării următorului program?


Program Abc;
Var a:shortint;
Procedure Proc2;
begin
writeln('In procedura Proc1, a=',a);
a:=2;
writeln('In procedura Proc1, a=',a)
END;
Procedure Proc1;
Var a:shortint;
begin
a:=1;
writeln('In procedura Proc2, a=',a);
Proc2;
writeln('In procedura Proc2, a=',a);
end;

begin
a:=0;
writeln('In programul principal, a=',a);
Proc1;
writeln('In programul principal, a=',a);
end.
13. Ce se va afişa la ecran în rezultatul rulării următorului program?
Program prog;
Const n=5; Type abc=1..N; Tablou=Array[abc] Of Integer;
Var i:integer; A:tablou;
Procedure Proc(T:Tablou; x,y:abc);
begin
If x<=y then
begin
Write(T[x]:4); Proc(T,x+1,y);
end
end;
begin
For i:=1 to N do
readln(A[i]);
Proc(A,1,n);
readln
end.

14. Scrieţi conform programului formula după care se află valoarea aproximativa a
funcţiei y = sin ( x), având dată valoarea lui x.

Var x,y:real;
Procedure sinus(x:real):real;
var
p, s, ter:real;
i,f,semn:integer;

begin
p:=x; s:=0; semn:=1;
f:=1;
for i:=0 to 5 do
begin
ter:= semn*p/f; s:= s+ter;
semn:=-semn; p:=p*x*x; f:=f*(2*i+2)*(2*i+3)
end;
end;
begin
write('x='); readln(x); writeln(sinus(x));
end.
15. Ce se va afişa în rezultatulrulării următorului program?
Program prog;
var s:string;
procedure proc(var s:string);
var i,j:Byte;
aux:Char;
begin
aux:=S[1]; j:=length(S);
for i:=2 to j do
S[i-1]:= S[i]; S[j] :=aux;
end;
begin
S:='aabr'; Proc(S); S:=S+'cad'+S; Writeln(S);
end.

16. Formulaţi problema care se rezolvă cu ajutorul următorului program:


Var s:string;
num: integer;
Function transform(s:string):integer;
var
c,i,p,sum,cod:integer;
Begin
sum:=0; p:=1;
For I:= Length(S) downto 1 Do
Begin
Val(S[i],c,Cod);
sum:=sum + p*c;
p:=p*5;
End;
transform:=sum;
End;
Begin
Write('Introdu numarul: ');
ReadLn(s);
Writeln('Raspunsul este ',transform(s));
End. Ceva de simplificat
Proceduri

17. Se citesc vîrstele în ani ale mai multor persoane. Încercaţi să le aşezaţi la
mese astfel încît persoanele de la aceeaşi masă să aibă aceeaşi vîrstă. Să
se afişeze numărul de mese.
18. Problema presupune numărarea elementelor distincte dintr-un şir dat.
Deoarece elementele sunt numere naturale din intervalul [0,150], reducem
problema la construirea mulţimii vîrstelor respective şi apoi la calculul
cardinalului ei. Procedura DATE tratează într-o ,,anexă,, a programului
segmentul de introducere a datelor. Funcţia CARD transmite programului
principal numărul de elemente din mulţimea vîrstelor (V). Atît procedura cît
şi funcţia sunt apelate o singură dată în program şi lucrează cu variabilele
globale ale programului, deci se putea renunţa la ele transferîndu-se
instricţiunile în programul principal care însă rămînea stufos şi greu de
urmărit de către cineva neinteresat de toate amănuntele de programare.
19. Se citesc de la tastatură n (n20) numerele întregi foarte mari (de cel mult 999 de
cifre). Să se afişeze suma lor.
20. Pentru a spori precizia de calcul, un programator trebuie să calculeze suma a n
fracţii de numere întregi, efectuînd o singură împărţire reală. Cum procedează. Să
se afişeze tabelul de semne al unei expresii raţionale de forma cu k, n 10
numere naturale şi ai, bi, ci, di numere reale date.
21. Se citesc de la tastatură trei perechi de numere (x, y) şi se cere să se scrie cea mai
mare şi cea mai mică dintre valorile corespunzătoare ale funcţiei.
Exemplu: pentru date (4, 2) (0.25, 0.64) şi (1, 0.25) obţinem f(4, 2) =0.75; f(0.25,
0.64)=1.3; f(1, 0.25)=1.25 şi se vor afişa valorile 1.25 şi 0.75.
22. Să se elaboreze un program care transformă un număr natural dat (din intervalul
[1, 1000]) în segvenţa literală corespunzătoare numărului respectiv scris în limba
română. Se va avea în vedere o modalitate de a permite execuţia repetată a
transformărilor.
23. Să se rezolve ecuaţia 2x=x2 prin metoda înjumătăţirii intervalului, cînd se citesc
valorile reale reprezentînd capetele intervalului pe care se caută soluţia şi
numărul n de zecimale cu care se doreşte afişarea soluţiei.
24. Într-o livadă sunt m şiruri de meri, pe fiecare şir aflîndu-se n pomi. Privită din
avion, livada se aseamănă cu o tablă de GO în nodurile căria sunt pomi. Se
cunoaşte numărul de mere din fiecare pom (numărarea acestora fiind o sarcină a
copiilor din sat). Primarul satului are dreptul să culeagă roadele a patru pomi cu
condiţia ca ei să formeze un pătrat. Scrieţi un program care determină - pe baza
datelor problemei - care sunt coordonatele celor patru pomi (şirul şi al cîtelea
pom din şir este) astfel încît numărul merelor culese să fie maxim.
25. Se citesc elementele mai multor mulţimi formate din numere întregi. Să se
afişeze reuniunea lor (sunt cel mult 20 de mulţimi, fiecare mulţime avînd cel mult
100 de elemente).
26. Se citeşte un şir de caractere. Să se stabilească dacă şirul dat reprezintă o atribuire
simplă de numerele reale în limbajul PASCAL.
27. Se citeşte de la tastatură o expresie aritmetică fără paranteze, pe care o
considerăm corectă. Operanzii sunt numere reale fără semn (cele cu semn vor fi
scrise între paranteze), iar +, -, *, /cu semnificaţiile cunoscute. Să se afişeze
rezultatul expresiei.
28. Să se realizeze tabelul de valori trigonometrice ale unui ungi dat (în grade).
Programul trebuie să permită o execuţie repetată pînă ce se apasă tasta ESC.
29. Fiind dat un an (după Hristos), să se listeze calendarul acelui an.
30. Băcanul din oraşul dumneavoastră încearcă o nouă metodă de încercat o nouă
metodă de afişare a preţurilor produselor pe care le are în stoc. În loc de marca
pentru fiecare articol preţul (în lei), etichetele lui au preţuri comparative faţă de
alte produse. De exemplu, untul poate fi etichetat margarină+100, margarina
poate fi etichetată cafea+111; cîteva articole sunt marcate chiar cu preţul
respectiv.
31. Aţi aflat că marfa lui este foarte ieftină şi vreţi să să faceţi o listă cu preţurile
produselor , în maniera obişnuită (vezi ieşirea pentru exemplu de mai jos). Scrieţi un
program care să realizeze acest lucru.
Întrare :
Fiecare set de date constă dintr-o succesiune de linii de forma :
Lapte = zahăr , 125
Făina = 225
Zahăr = făină + 10
Cafea = ceai
În legătură cu datele de intrare , se mai presupun următoarele :
- Toate articolele au nume formate din maxim 10 litere mici;
- Există cel mult 100 de articole ;
- Linii de intrare dau fie direct preţul unui articol , fie îl consideră egal cu preţul
altui produs eventual + sau - un număr întreg de lei ;
- Fiecare articol apare o singură dată în stînga semnului = ,
- Ultima linie conţine numai caracterul #
Ieşire :
Pentru fiecare set de date trebuie să tipăriţi o listă ordonată alfabetic , produselor
menţionate , împreună cu preţurile lor.Dacă preţul unui produs nu poate fi de dus din
fişierul de întrare , daţi-l ca fiind blank.
De exemplu , ieşire pentru exemplu de mai sus este :
Cafea = blank
Ceai = blank
Făină = 225
Lapte = 110
Zahăr =235

32. Se dă un text de cel mult 225 de caractere ( litere mici şi spaţii ).


A) Găsiţi cea mai lungă secvenţă în care literele sunt ordonate alfabetic;

33. Să se scrie şi să se testeze o procedură Pascal care are ca argumente trei şiruri de
caractere, cel de-al treilea fiind obţinut prin concatenarea primelor două argumente.

34. Să se scrie şi să se testeze o procedură Pascal, ale cărei argumente au următoarele


semnificaţii:
- un şir de caractere (şirul sursă);
- doi întregi;
- un şir de caractere (destinaţie), care constituie subşirul primului argument care
începe la poziţia indicată de primul întreg şi are lungimea indicată de cel de-al doilea
întreg.
35. Să se scrie şi să se testeze o procedură Pascal, care are trei argumente: un şir de
caractere şi doi întregi. Acţiunea ei va consta în a şterge din şirul dat de primul
argument porţiunea care începe la poziţia furnizată de al doilea argument şi are
lungimea dată de cel de-al treilea argument.

36. Următoarele antete de procedura conţin erori. Care sunt?

a) procedure proc1(a,b:real, var c:char);


b) procedure proc2(a; b:integer; c:char): integer;
c) procedure proc3(a,b:real; b:integer);
d) procedure proc4(a,b,c:boolean)
e) procedure proc5(a +2.14: real; c:arrază1..10î of integer)
37. Să se determine toate posibilităţile de descompunere a unui număr natural în suma
de numere prime.
Metoda: Se determină mulţimea numerelor prime mai mici ca numărul dat (se
utilizează metoda ciurului lui Eratostene): pentru fiecare element (în parcurgere
descrescătoare) a mulţimii construite se scade valoarea din numărul dat şi se caută
descompunerea noii valori în numere prime mai mici sau egale cu numărul prim
curent.
Structura de date: n este numărul care se studiază, prime, mulţimea numerelor
prime mai mici decît n, descomp vector ce conţine elementele descompunerii,
nivel este indicele de încărcare a vectorului de descompunere, ciur, mulţime
auxiliară necesară construirii mulţimii numerelor prime, p restricţia numerelor
prime specificată mai sus.
38. Sa se descompuna un numar natural dat n in factori primi.

INDICATIE:
Se va forma o matrice cu 2 coloane ce va contine in prima coloana
factorii primi iar in cea de a doua exponentii respectivi.Indicele
de linie se initializeaza cu zero si se mareste cu 1 pentru fiecare
factori prim gasit.Daca numarul dat este prim,indicele de linie
pastreaza valoare zero.
39. Sa se afre cu ce cifra se termina produsul numerelor prime mai mari
decit 6 si mai mici decit 100.
(G.M. nr. 10 /1985) Raspuns: 9.

40. Scrieţi un program care afişează posibilităţile de a obţine 100 de lei cu monede de
10, 20 şi 50 de lei.

41. Scrieţi un program care afişează numerele prime cuprinse între A şi B, precum şi
numărul lor.

42. Scrieţi un program care afişează costul total a unei excursii efectuate cu
autoturismul în mai multe etape, cunoscând numărul de kilometrii parcurşi în fiecare
etapă.

43. Scrieţi un program care afişează primele `m` numere Fibonacci.

44. Scrieţi un program care să transforme un şir de caractere latine într-unul morse.

45. Scrieţi un program care, prin căutarea binară, verifică existenţa unui număr, citit
de la tastatură, într-un şir de numere.

46. Scrieţi un program care afişează versiunea sistemului de operare, capacitatea


discului şi octeţii disponibili, starea Ctrl-Breac, data şi ora.
Observaţie: Programul permite schimbarea orei sistemului.

47. Scrieţi un program care permite crearea, schimbarea şi ştergerea directorilor.


Observaţie: În program, selectarea comenzilor se face tastând litera
evidenţiată.

48.Scrieţi un program care afişează parametrii de mediu şi informaţii despre partiţiile


hard discului.
49. Scrieţi un program care demonstrează folosirea procedurii ClrEol.

50. Scrieţi un program care calculează recursiv valoarea polinoamelor lui Hermite
(H[X]), ştiind că: H0(X)=1,
Н1 (X)=2Х,
HN (X)=2H[N-1] (X)-2(N-1)H[N-2](X).

51. Scrieţi un program care demonstrează folosirea procedurii PieSlice.

52. Scrieţi un program care demonstrează folosirea procedurii Sector.

53. Scrieţi un program care demonstrează folosirea procedurii SetVievPort.

54. Scrieţi un program care demonstrează folosirea procedurii PutImage cu opţiunea


NormalPut.

55. Scrieţi un program care demonstrează folosirea procedurilor SetActivePage şi


SetVizualPage.

56. Scrieţi un program care demonstrează folosirea procedurilor PutPihel, SetPalette,


SetBkColor şi RestoreCrtMode.

57. Scrieţi un program care demonstrează folosirea proceduri SetAllPalette.


Observaţie: Programul verifică dacă este definită o opţiune de compilare.

58. Scrieţi un program care realizează, pe baza datelor citite de la tastatură, diagrama
profitului realizat de o S.R.L. pe parcursul unui an (se introduce profitul lunar).

59. Scrieţi un program care demonstrează folosirea procedurii LineRel .


Observaţie : Prezentăm două programe care demonstrează folosirea procedurii
LineRel .

60. Scrieţi un program care demonstrează folosirea procedurii Arc.

61. Scrieţi un program care demonstrează folosirea procedurii Bar3D.

62. Cu ajutorul procedurii PieSlice, afişaţi diagrama realizărilor unei întreprinderi.

63. Scrieţi un program care desenează fractali.


Observaţie: În program, selectarea se face cu ajutorul tastelor funcţii.

64. Scrieţi un program care să folosească instrucţiunile grafice Fill,Ellipse, Line


SetFillStyle SetColor, SetBkColor, SetPalette.

65. Scrieţi un program care să demonstreze folosirea recursivităţii în desenare.

66. Scrieţi un program care demonstrează folosirea procedurii SetFillStyle.

67. Scrieţi un program care demonstrează folosirea procedurii Flush.


68. Scrieţi un program care demonstrează folosirea procedurilor GetViewSettings şi
FillEllipse.

69. Scrieţi un program care crează un meniu vertical şi permite selectarea unei opţiuni
utilizând
bara de selecţie.

70 Scrieţi un program care simulează mişcarea planetelor.


Observaţie: În program apar planetele Mercur, Venus, Terra, Marte, Jupiter,
Saturn, precum şi Soarele şi Luna.

71 Scrieţi un program care demonstrează folosirea procedurii Rectangle.


72 Scrieţi un program care demonstrează folosirea instrucţiunii PutImage cu modul
XORPut.

73 Scrieţi un program care demonstrează folosirea procedurii Line.

74. Acest unit conţine câteva rutine care permit lucrul cu şiruri de caractere şi cu
cursorul.

75. Acest unit conţine câteva rutine care permit tratarea erorilor intervenite.

76. Să se scrie un unit care să permită dimensionarea cursorului.

77. Să se scrie un unit care să permită un mai bun dialog între program şi utilizator,
dar vine şi în ajutorul programatorului.

78. Să se scrie un unit care să permită “curăţarea” buffer-ului pentru tastatură de


caracterele pe care le conţine.

79. Să se scrie un unit care să realizeze iniţializarea unui mod text şi să dea informaţii
despre adaptor şi modul text curent.

80. Acest unit conţine câteva rutine prin care se obţin informaţii legate de adaptor şi
modul grafic.

81. Să se scrie un unit care să permită modificarea atributului de culoare şi caracterul


oricărei poziţii de pe ecran.

82. Acest unit conţine câteva rutine care permite verificarea existenţei unui fişier cu
un atribut dat.

83. Acest unit conţine câteva rutine pentru generarea de diverse melodii.

84. Acest unit conţine câteva rutine pentru folosirea fonturilor.


Observaţie: Înainte de compilarea acestui unit, trebuiesc executate următoarele
comenzi DOS:
binobj goth.chr goth gothicfontproc
binobj trip. chr trip tripfontproc
binobj litt. chr litt littfontproc
85. Acest unit conţine câteva rutine care permit lucrul cu mouse-ul.

86. Scrieţi un program care să reprezinte pe ecran histograma unor numere introduse
de la tastatură sau alese aleator.

87. Scrieţi un program care simulează o reclamă luminoasă.

88. Scrieţi un program care solicită introducerea parolei pentru intrarea în sistem.
Observaţie: În program, selectarea parolei se face în funcţie de paritatea datei.

89. Scrieţi un program care demonstrează folosirea procedurii SetTextStyle.

90. Scrieţi un program care să permită selectarea dintr-un meniu a unor melodii care
apoi să fie cântate.

91. Folosind uniturile Turbo Vision, scrieţi un program care permite următoarele
operaţii:
 Crearea liniei meniu;
 Crearea liniei de comenzi;
 Deschiderea unei ferestre noi;
 închiderea unei ferestre;
 trecerea la fereastra următoare sau anterioară;
 aşezarea ferestrelor în cascadă sau “title”;
 terminarea programului.

92. Realizaţi un meniu din care se pot apela programe externe.

93. Firma X solicită un program integrat care să realizeze următoarele funcţii:


a. Căutarea şi înlocuirea unui şir de caractere (Search);
b. Reprezentarea grafică a unor seturi de date (Graph);
c. Operaţiuni financiare (Money).
Funcţiile se selectează dintr-un meniu folosind tastatura, meniu care va conţine
şi funcţia de terminare a aplicaţiilor.
Pentru fiecare funcţie sunt prezentate următoarele cerinţe:
a. Search
Se operează asupra unui fişier text dat (SURSA .DAT), utilizatorul trebuind să
precizeze următoarele opţiuni:
- şiruri de căutat;
- noul şir;
- dacă se face sau nu diferenţa între litere mari şi litere mici;
- dacă se vor înlocui numai cuvintele întregi;
- dacă se înlocuieşte numai prima apariţie a şirului căutat sau toate apariţiile;
- dacă se solicită confirmarea înlocuirii.
Rezultatul înlocuirii va fi fişierul REZULTAT.DAT.

b. Graph
Un set de date poate avea maxim şase valori întregi, pozitive sau negative,
valori preluate din fişierul VALORI.DAT. Se cere să se afişeze, în regim grafic,
folosind câteva variante de reprezentare, setul de date citit.
Fiecare grafic va fi precedat de tastarea unei taste, ştergerea ecranului şi va
conţine în colţul stânga sus numărul variantei de reprezentare.

c. Money
În casa de bani a firmei X există bancnote de 200, 500, 1000, 5000, 10000 lei
în cantităţile citite de la tastatură. Firma N angajaţi, N citit de la tastatură, salariile
acestora fiind citite de la tastatură.
Să se afişeze, în mod text, cel puţin o modalitate de plată a tuturor salariilor
angajaţilor folosind bancnote existente. În cazul în care nu se poate realiza plata, se va
afişa un mesaj adecvat.
94. Se dă numărul natural K>1. Alcătuiţi algoritmul de aflare a numărului de pe locul
K al şirului Fibonacci, fără a folosi mărime tabelară.
NOTA
CO IN
Nr CONŢINUTUL PROBLEMEI RE CO
CT RE
CT
Studiaţi funcţia şi găsiţi, ce valoare va avea Mystery(5)?
function Mystery(a: Integer): Integer;
begin
if a<0 then writeln('Error')
1. else if a=0 then Mystery:=0 10 -2
else Mystery:=a+Mystery(a-1)
end;

A) 0, B) 1, C) 10, D) 55 E) variantele enumărate nu conţin răspusul corect


Fie că numerele de la 0 până la 2001 trec de la unul la altul conform schemei. Cum va
arăta porţiunea dintre 1997 şi 2001?

2. 10 -2
O 1 3 6 7 9 12 13 15
A) B) C) D) ... E)
2 4 5 8 10 11 14

Într-o companie sunt 5 persoane. Unii din ei întotdeauna spun adevărul alţii întotdeauna
spun minciuni.
3. Fiecare din ei a fost întrebat: “Câţi minciunoşi sunt în companie?”. Cele cinci răspunsuri 7 -2
sunt 1, 2, 3, 4, 5. Căţi minciunoşi sunt cu adevărat?
A) 1. B) 2. C) 3. D) 4. E) 5.
Studiaţi instrucţiunea şi aflaţi, ce valoare va avea d, dacă a=3,b=7,c=0?
if a>0 then
if c>2 then d:=a
4. 10 -2
else d:=a+b else d:=a+b+c;

A) 0, B) 3, C) 10, D) 11, E) variantele enumărate nu conţin răspusul corect


La un concurs la informatică pentru trecerea cu succes a primei etape, participantul
primeşte 1 punct. Pentru etapa a doua - 2 puncte, a treia - 4 puncte, a patra - 8 puncte etc.
13 Un participant a acumulat 127 puncte. Câte etape el le-a trecut cu succes dacă ele au fost
10 -2
strict consecutive?
A) 5. B) 7. C) 9.
D) 11. E) 13.
Fiecare din şase perioade a unui proces automatizat sunt numerotate arbitrar de la 1 până
la 6 şi cer o oră pentru executare. Nu se admit pauze între sfârşitul oricărei perioade şi
începutul următoarei.
Tot procesul(şase perioade) trebuie terminat cât mai rapid, ţinând cont de condiţiile:
Ambele perioade 1 şi 2 trebuie finisate înainte de începerea oricărei alte perioade.
Perioada 3 trebuie să fie finisată la momentul începerii perioadei 4. În orice moment se
execută doar o perioadă. Excepţie o au doar perioadele 4 şi 5 care pot fi executate
simultan.

14.1 Care din perioadele enumărate pot fi secunde la executare? A) 2, B) 3, C) 4,


D) 5, E) 6
3 -2
14.2 Timpul cel mai rapid pentru tot procesul este:
14
A) două ore, B) trei ore, C) patru ore, D) cinci ore, E) şase ore
3 -2
14.3 Care din următoarele nu este adevărată pentru orice succesiune posibilă?
A) Perioada 1 se execută înainte de perioada 2 B) Perioada 3 se execută înainte
5 -2
de perioada 6
C) Perioada 4 se execută înainte de perioada 6 D) Perioada 5 se execută înainte
de perioada 3

S-ar putea să vă placă și