Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme



Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Informatica


Index » educatie » Informatica
» Facilitati pe tipul STRING ( functii si proceduri predefinite )


Facilitati pe tipul STRING ( functii si proceduri predefinite )




Facilitati pe tipul STRING functii si proceduri predefinite )

Stim ca, un sir de caractere poate fi supus oricarei prelucrari specifice vectorilor (cu elemente CHAR ) : afisarea caracterelor, modificarea caracterelor, cautare secventiala, chiar si sortare, etc. Totusi, unele dintre aceste prelucrari se pot realiza mai usor daca se cunosc facilitatile puse la dispozitie de limbajul Pascal pentru prelucrarea sirurilor de caractere : functiile POS , COPY respectiv procedurile DELETE, INSERT, STR, VAL.




Func ia COPY

Pentru a copia dintr-un sir de caractere o anumita secventa de caractere vom putea folosi functia COPY

Sintaxa generala este : COPY ( din cine , incepand cu ce pozitie , cate caractere )

Exemple writeln( COPY ( ´andrei are mere si are si pere ´ , 1 , 4 ) ) ; è se afiseaza andr

s := COPY (´mariAnA´ , 5, 7 ) ; è variabila s va primi valoarea ´AnA´

X := ´1a234 1234´ ; y := ´12´ ; p:= pos ( y, x ) ;

s := COPY ( x , 1 , p-1 ) ; è variabila s va primi valoarea ´1a234 ´

s := COPY ( x , p , length(x) - length(y) -1 ) ; è variabila s va primi valoarea

Fie s i t doua variabile de tipul string. Scrie i o secven a de program pentru enun ul : "daca irul s con ine cel pu in n carcatre, atunci copiaza in t primele n caractere ale lui s"

a.       If length (s ) >= n then t := copy (s, n, 1);

b.       If length (s ) > n then t := copy (1, n, s);

c.       C. If n <= length (s ) then t := copy (s, 1, n);

d.      D. If (length (s ) = n) or ( length(s) > n ) then copy (s, t, 1, n);

(V22, SII, 3) Ce valoare are expresia de mai jos daca variabila s memoreaza sirul de caractere alfabet?

length(copy(s,3,7))

(V86, SII, 2) Ce valoare are variabila s de tip sir de caractere dupa executarea instructiunii de mai jos?

s:=copy('examen', pos('n','men'),4));

a.      amen b. exam c. menn d. men

(V72, SII, 2) In secventa alaturata, fiecare dintre variabilele x, b si s sunt de tipul string, iar i este de tip intreg. Daca variabilele x si s memoreaza initial sirul absolvent. ce se va memora in variabila x in urma executarii secventei alaturate?

for i:=1 to length(s) do

begin

b:=copy(s,i,length(s)-i+1);

if b>x then x:=b

end;

a. nt

b. absolvent

c. solvent

d. vent

(V87, SII, 2) Ce valoare are variabila s de tip sir de caractere dupa executarea instructiunii de mai jos?

s:=copy('Informatica',length('BAC'),5);

a.      form b. forma c. InfoBAC d. Infor

(V88, SII, 2) Ce valoare are variabila s de tip sir de caractere dupa executarea instructiunii de mai jos?

s:=copy('Bacalaureat',5,length('BAC2009'));

a.      BAC2009 b. laureat c. BacalBAC2009 d. aur2009

(V90, SII, 2)Ce memoreaza variabila s, de tip sir de caractere, dupa executarea instructiunilor de mai jos?

s:=copy('informatica',1,length('2009')); s:=concat(s,'BAC');

a.      info b. infoBAC c. BACinfo d. InformaticaBAC

O cautare cu determinarea primei aparitii se poate realiza mai usor daca folosim functia POS

Interesant este ca , pe langa faptul ca putem cauta un CHAR , cu ajutorul functiei POS putem cauta si o secventa de caractere ( un STRING ) . Cand functia POS isi incheie cautarea cu esec, rezultatul produs de aceasta va fi 0.

Sintaxa generala este : POS ( cine se cauta , in cine se cauta )

Exemple writeln( POS ( ´are´ , ´Ana are mere si are si pere´ ) ) ; è se afiseaza 5

p := POS (´m´ , ´Ana are mere si mure´ ) ; è variabila p va primi valoarea 9

X := ´1a234 1234´ ; y := ´12´ ;

p:= pos ( y, x ) ; è variabila p va primi valoarea 7

p:= pos ( x, y ) ; è variabila p va primi valoarea 0 - pentru ca x nu apare ca secventa in y

Care dintre urmatoarele apeluri ale func iei pos sunt corecte i atribuie valoarea 3 variabilei p de tip intreg?

a.       P := pos ('BA', "ABA');

b.       S:= 'AB '; T:= 'BA'; P := POS ('B', s + t);

c.       P:= pos (' ', 'AB' + 'BA');

d.       S:= 'B'; t:= ' AB'; pos ( s, t, p);

(V12, SII, 4) Scrieti ce se afiseaza pe ecran in urma executarii secventei de program alaturate, in care variabila s memoreaza un sir de cel mult 12 caractere, iar variabila i este de tip intreg.

s:='informatica';

writeln(length(s));

for i:=1 to length(s) do

if pos(s[i],'aeiou')>0 then

s[i]:='*';

writeln(' ',s);

(V17, SII, 4) Ce se va afisa in urma executarii secventei de program alaturate, stiind ca variabila a memoreaza un sir cu cel mult 100 de caractere, iar variabila i este de tip intreg ?

a:='bacalaureat';

writeln(length(a));

for i:=1 to length(a) do

if pos(a[i],'aeiou')<>0 then

write('*');

(V19, SII, 4) Ce se va afisa in urma executarii secventei de program alaturate, stiind ca variabila x memoreaza un sir cu cel mult 100 de caractere, iar variabila I este de tip intreg ?

x:='bac2009';

writeln(x);

for i:=1 to length(x) do

if pos(x[i],'0123456789')=0 then

write(x[i]);

(V23, SII, 1) Care din urmatoarele expresii are valoarea true daca si numai daca sirul de caractere s, format din exact 10 caractere, este obtinut prin concatenarea a doua siruri identice?

a. s=copy(s,6,5)

b. pos(copy(s,6,5),s)=1

c. s=s+5

d. s+copy(s,6,5)=s

(V34, SII, 4) Ce se va afisa in urma executarii secventei alaturate in care c este o variabila ce poate memora un sir cu cel mult 20 de caractere, iar celelalte variabile sunt de tip intreg?

c:='tamara';

for i:=1 to length(c) do

begin

p:=pos('a',c);write(p)

end;

(V41, SII, 4) Ce afiseaza pe ecran in urma executarii secventei de program scrisa alaturat, in care i este o variabila de tip char?

for i:='a' to 'z' do

if pos(i,'info')>0 then write(i);

(V47, SII, 2) Variabila s retine sirul de caractere bacalaureat. Ce valoare are expresia pos('a',s)?

a. 4     b. 2 c. acalaureat d. bcluret

(V53, SII, 4) In secventa de program urmatoare, variabila s memoreaza un sir de caractere, iar variabila i este de tip intreg. Ce valoare se va afisa in urma executarii secventei?

s:='bacalaureat';

i:=pos('a',s);

write(i);

V97, SII, 3) Se considera variabila s care memoreaza sirul de caractere CARACATITA. Ce valoare va avea s dupa executarea instructiunii de mai jos?

s:=copy(s,pos(′TI′,s),4);

(V89, SII, 2) Ce valoare are variabila s de tip sir de caractere dupa executarea instructiunii de mai jos?

s:=copy('informatica', pos('b','Fibonacci'),6);

a.      format b. informat c. inform d. informBAC

(V100, SII, 4) Se considera declararea e:string[20]; Care este sirul memorat de variabila e dupa executarea secventei alaturate?

e:='51+73';

e:=copy(e,pos('+',e)+2,1);

(V92, SII, 2) Variabila s este de tip sir de caractere, iar variabilele c1 si c2 sunt de tip char. Care expresie are valoarea true daca si numai daca sirul de caractere s contine caracterele memorate de variabilele c1 si c2?

a. pos(c1+c2,s)<>0

b. (pos(c1,s)<>0) or (pos(c2,s)<>0)

c. pos(c2,copy(s,pos(c1,s),255))<>0

d. pos(c1,s)*pos(c2,s)<>0

Pentru a modifica valoarea unei variabile STRING, in sensul stergerii din vechea sa valoare a unei secvente de caractere, vom putea folosi procedura DELETE

Sintaxa generala este : DELETE ( variabila STRING , incepand cu ce pozitie , cate caractere )

Exemple x:= ´Ana are mere´ ;

DELETE ( x , 2 , 5 ) ; è variabila x va primi valoarea ´Ae mere´

DELETE ( x , 5 , 5 ); è variabila x va primi valoarea ´Ae m´

DELETE ( ´Ana´ , 1,2 ); è eroare pentru ca ´Ana´ nu este variabila

X := ´1234124312´ ; y := ´12´ ;

DELETE ( x , pos( y,x ) , length(y) ) ; è variabila x va primi valoarea

DELETE ( x , pos( y,x ) , length(y) ) ; è variabila x va primi valoarea

Se considera un ir s care poate con ine litere, cifre i caractere special. Scrie i o secven a de program care terge din s toate caracterele pana la intalnirea primului character - cifra.

a.       While ( s[1] >='0') or ( s[1] <= '9') do delete ( 1, 1, s);

b.       While ( s[1] >='0') and ( s[1] <= '9') do delete ( s, 1, 1);





c.       While ( s[1] <'0') or ( s[1] > '9') do delete (s, 1, 1);

d.       While ( s[1] <='0') and ( s[1] >= '9') do delete ( 1, 1, s);

(V8, SII, 3) Ce se afiseaza in urma executarii secventei alaturate de program, daca variabila s memoreaza sirul de caractere abcdefgh?

delete(s,3,2);

write(s,' ',length(s));

V10, SII, 4) Ce se va afisa in urma executarii secventei de instructiuni alaturate daca variabila s memoreaza sirul de caractere abbacdde, iar variabila i este de tip intreg?

i:=1;

while i<length(s) do

if s[i]=s[i+1] then

delete(s,i,1)

else

i:=i+1;

write(s);

(V9, SII, 4) Se considera declararea de mai jos: var s,x:string[50];

Ce se afiseaza in urma executarii secventei de program alaturate daca variabila s memoreaza sirul abcdefg?

x:=copy(s,5,3);

delete(s,5,3);

s:=s+'123'+x;

write(s);

(V11, SII, 4) Ce se afiseaza pe ecran in urma executarii secventei de program alaturate, in care variabila s memoreaza un sir cu cel mult 12 caractere, iar variabila i este de tip intreg?

s:='abracadabra';

writeln(length(s));

i:=1;

while i<=length(s) do

if s[i]='a' then

delete(s,i,1)

else

i:=i+1;

writeln(' ',s);

(V14, SII, 4) Ce se afiseaza pe ecran in urma executarii secventei de program alaturate, in care variabila s memoreaza un sir cu cel mult 10 caractere, iar variabilele i si j sunt de tip intreg?

s:='abcduecda';

i:=1; j:=length(s);

write(length(s));

while i<j do

if s[i]=s[j] then

begin

delete(s,j,1); delete(s,i,1);

j:=j-2

end

else

begin

i:=i+1; j:=j-1

end;

writeln(s);

(V43, SII, 4) Ce se afiseaza pe ecran in urma executarii secventei de program alaturate, unde a este o variabila de tip string?

a:='informatica';

delete(a,3,3);

write(a);

(V98, SII, 2) Ce se va afisa in urma executarii secventei de program alaturate, considerand ca s este o variabila de tip string, iar i o variabila de tip intreg?

s:='Examen';

for i:=1 to 3 do

delete(s,i,1);

writeln(s);

a.      Xmn b. Eae c. men d. Examen

Pentru a modifica valoarea unei variabile STRING, in sensul inserarii in vechea sa valoare a unei secvente de caractere, vom putea folosi procedura INSERT

Sintaxa generala este : INSERT ( secventa de inserat , variabila STRING , la ce pozitie )

Exemple x:= ´Ana´ ;

INSERT ( ´12´ , x , 2 ) ; è variabila x va primi valoarea ´A12na´

INSERT ( ´12´ , x , 7 ); è variabila x va ramane cu valoarea ´A12na´

X := ´ababcaabcd´ ; y := ´12´ ; n := length(y); z := ´abc´;

INSERT ( y , x , pos ( z,x ) ) ; è variabila x va primi valoarea ´ab12abcaabcd´

INSERT ( y , x , pos ( z,x ) ) ; è variabila x va primi valoarea ´ab1212abcaabcd´

Fie irurile de caractere s = 'BR 035' i t = '122'. Cum trebuie apelata procedura insert, astfel incat dupa execu ia ei variabila s sa con ina irul 'BR 122035'?

a.       Insert (s, t, 4);

b.       Insert (t, s, 3);

c.       Insert (s, t, 3);

d.       Insert (t, s, 4);

APLICA II

culegere ro ie

o        teste cu alegere multipla i duala pag 5

o        probleme rezolvate pag 14

o        probleme propuse pag 25

aplica ii de tip grila

ce este un ir de caractere?

Care este tipul de date predefinit al limbajului Pascal conceput pentru declararea irurilor de caractere?

Care este diferen a intre lungimea maxima i lungimea efectiva a unui ir de caractere?

Declara i o variabila s de tip ir de caracetre, apoi scrie i o instruc iune care memoreaza in aceasta variabila numele vostru complet.

Pentru fiecare dintre afirma iile de mai jos , raspunde i cu adevarat sau fals:

a.       Valorile variabilelor de tip string sunt iruri de caractere cuprinse intre ghilimele

b.       Orice variabila de tipul string poate mekora iruri cu lungime de cel mult 255 de caractere

c.       O variabila de tipul string poate fi citita de la tastatura i poate fi afi ata

d.       Un ir de caractere poate fi privit ca un vector de caracetre, in care fiecare character este identificat prin pozi ia sa in cadrul irului.

Care dintre urmatoarele variante reprezinta o declarare corecta a variabilei x de tipul ir de caractere?

a.       Var x:string;

b.       Var x : string [20];

c.       Var x= string;

d.       Var x : char [20];

Care dintre urmatoarele variante reprezinta o structura de 20 de caractere?

a.       X : array [ 1 .. 20 ] of char;

b.       X : array [ char ] of 1 .. 20 ;

c.       X : array [ 1 .. 5, 1 .. 4 ] of char;

d.       X: string [ 1 .. 20];

e.       X : array [20] of char;

Care dintre programele de mai jos afi eaza pe un rand de ecran numele complet al poetului Mihai Eminescu, cu un spa iu intre nume i prenume?

a.       Var s: string [10];

Begin

S : = ' Mihai Eminescu'; writeln (s);

End.

b.       Var s, t : string;

Begin

S := ' Mihai '; t := ' Eminescu'; write (s, t);

End.

c.       Begin

Write ('Mihai Eminescu');

End.

d.       Nici una dintre variantele anterioare.

Ce va afi a programul alaturat, daca de la tastatura se introduce irul '$$$$$$$' ?

Var s: string[10];

Begin

Readln ( s [ 5 ] ); writeln ( s [ 5] );

End.

a.       b. $$$$$$$$$$ c. $$$$$$$ d. $

e. instruc iunile de citire i afi are sunt eronate.

In ce sens are loc compararea a doua iruri de caractere?

Daca s i t sunt doua variabile de tip string, da i un exemplu de iruri ce pot fi memorate in aceste variabile astfel incat sa fie indeplinita condi ia t < s.

Daca in variabila s de tip string avem memorat un ir de lungime n caractere, scrie i instruc iunea care afi eaza codul ASCII al caracterului de la mijlocul irului.

Concatenarea a doua iruri este comutativa?

Instruc iunea afi eaza ........

Scrie i o secven a de program care afi eaza caracterele unui ir dat in ordine inversa, de la dreapta la stanga.

Aplica ii - subiecte bacalaureat 2009

(V26, SII, 3) Care va fi sirul de caractere afisat dupa executarea secventei de program alaturate, in care variabila s memoreaza un sir cu cel mult 5 caractere?

s:='RATON';

s[2]:=s[4];

write(s);

(V29, SII, 3) Care va fi sirul de caractere afisat pe ecran dupa executarea secventei de program alaturate, in care variabila s memoreaza un sir de cel mult 4 caractere iar variabila t un caracter?

s:='arac';

t:=s[2]; s[2]:=s[4];



s[4]:='t';

write(s);

(V30, SII, 2) Care este valoarea expresiei length(s) pentru variabila s de tip sir de caractere, declarata var s:string[15]; si initializata astfel: s:='Proba_E';

a.      a.7 b. 15 c. 6 d. 5

(V82, SII, 3) Stiind ca variabila i este de tip intreg si ca variabila s retine sirul de caractere barba, ce se va afisa la executarea secventei alaturate?

for i:=1 to length(s) do

if (s[i]='b') then s[i]:='t';

write(s);

(V35, SII 3) Ce se va afisa in urma executarii secventei alaturate, in care variabila c memoreaza un sir cu cel mult 20 de caractere, iar variabila i este de tip intreg?

c:='tamara'; i:=4;

while i>=1 do

begin

c[i]:=c[i+1];i:=i-1

end;

write(c);

(v38, SII, 2) Consideram ca variabila s memoreaza sirul de caractere examen. Care va fi valoarea lui s dupa executarea instructiunilor scrise alaturat?

s[1]:= 'E'; s[length(s)]:= 'A'; s[length(s)div 2]:= 'N';

s[length(s) div 2+1]:= 'M';

a.      A.ExameN b. exAMen c. ExNMeA d. ExAMeN

(V3, SII, 4) In secventa de instructiuni de mai jos, variabila s memoreaza un sir de caractere format doar din litere ale alfabetului englez, iar variabila i este de tip integer.Stiind ca in urma executarii secventei s-a afisat succesiunea de caractere eied*eael* scrieti care este sirul de caractere memorat de variabila s.

for i:=1 to length(s) do

if s[i]='e' then

write('*')

else

write('e',s[i]);

(V44, SII, 4) Ce valoare se va afisa pe ecran in urma executarii secventei de program alaturate, stiind ca variabila a este de tip sir de caractere, iar i este o variabila de tip intreg?

a:='info';

for i:=1 to length(a) do

a[i]:=chr(ord(a[i])+1);

write(a);

(V54, SII, 3) In secventa alaturata, variabila x memoreaza un sir de caractere, iar toate celelalte variabile sunt de tip intreg. Ce valori au variabilele k1 si k2 dupa executarea secventei de instructiuni alaturate?

x:='bac2009';

k1:=length(x);

k2:=0;

for i:=1 to length(x) do

if (x[i]>='0') and (x[i]<='9') then

k2:=k2+1;

V59, SII, 1) Variabila s memoreaza un sir de caractere. Care dintre urmatoarele expresii Pascal are valoarea true daca si numai daca lungimea efectiva a sirului este strict mai mica decat 10?

a. length(s)<10

b. length(s,10)<0

c. strl(s)<10

d. s-'0'<10

V60, SII, 1) Variabila s memoreaza un sir de caractere. Care dintre urmatoarele expresii Pascal are valoarea true daca si numai daca lungimea efectiva a sirului este un numar par?

a. s-2=0

b. length(s,2)=0

c. strl(s) mod 2<>0

d. length(s) mod 2=0

(V74, SII, 2) Ce se va afisa in urma executarii secventei de program alaturate daca variabila x memoreaza cuvantul bacalaureat, iar variabila y memoreaza cuvantul banal?

if x > y then write( x )

else

if x < y then write( y )

else write('imposibil');

a. imposibil

b. bacalaureat

c. banal

d. bacalaureatimposibil

(V75, SII, 1) Ce se va afisa in urma executarii secventei de program alaturate stiind ca I este o variabila de tip intreg, iar variabila x este de tip string?

x:= 'ExAMeNe NaTiOnALe';

for i := 1 to length(x) do

if (x[i]>= 'A') and (x[i]<= 'N') then

x[i]:=chr(ord(x[i])+ord('a')-ord('A'));

write(x);

a. examene nationale

b. examene naTiOnale

c. EXAMENE NATIONALE

d. exAmeNe nAtIoNalE

(V83, SII, 1) Stiind ca variabila i este de tip intreg si variabila s retine un sir de caractere, ce se va afisa la executarea secventei alaturate?

s:='bac2009';

for i:=1 to length(s) do

if ((s[i]<'0')or(s[i]>'9')) then

write(s[i]);

a.      bac2009 b. 2009 c. bac d. 2009bac

V99, SII, 2) Consideram variabila x care memoreaza sirul de caractere ABAC. Care dintre urmatoarele instructiuni conduc la afisarea caracterului B?

a. write(x[length(x)-2]);

b. write(x[length(x)-3]);

c. write(x[3]);

d. write(x[length(x)-1]);

(V4, SII, 4) Fie s o variabila ce memoreaza un sir de caractere, format doar din litere ale alfabetului englez, si i o variabila de tip integer. Scrieti instructiunile ce pot inlocui punctele de suspensie din secventa de program alaturata astfel incat executarea ei sa determine eliminarea tuturor literelor mici din sirul s si apoi afisarea sirului obtinut.

i:=1;

while i<=length(s) do

writeln(s);

(V5, SII, 4) Fie s o variabila ce memoreaza un sir de caractere, c o variabila de tip char, iar i si j doua variabile de tip integer. Scrieti instructiunile ce pot inlocui punctele de suspensie din secventa de program alaturata astfel incat executarea ei sa determine modificarea continutul sirului s prin interschimbarea caracterelor aflate pe pozitii simetrice fata de mijlocul sirului (primului character cu ultimul, al doilea cu penultimul, etc).

i:=1;

j:=length(s);

while i<j do

begin

end;

(V91, SII, 4) Ce se va afisa in urma executarii secventei alaturate de program, in care variabila c memoreaza un sir cu cel mult 20 de caractere, iar variabila i este de tip intreg?

c:='abracadabra';

i:=6;

writeln(c[i],c[i+1]);

while i>=0 do

begin

write(c[i]); i:=i-1

end;

(V48, SII, 2) In secventa alaturata, variabilele s1, s2 si s3 retin siruri de caractere. Dupa executarea acesteia, variabila intreaga val primeste valoarea 1 daca

if not((s1<>s2) or (s1<>s3))

then

val:=1

else

val:=2;

a. s1, s2, s3 retin siruri identice de caractere

b. s1, s2, s3 retin siruri de caractere ordonate lexicografic

c. s1, s2, s3 retin siruri de caractere de lungimi diferite

d. s1 este obtinut prin concatenarea sirurilor retinute in s2 si s3

(V13, SII, 4) Scrieti ce se afiseaza pe ecran in urma executarii secventei de program alaturate, in care variabila s memoreaza un sir de cel mult 12 caractere, iar variabila i este de tip intreg.

s:='abcdefghoid'; i:=1;

write(length(s));

while i<=length(s) do

if pos(s[i],'aeiou')>0 then

delete(s,i,1)

else i:=i+1;

writeln(' ',s);

(V15, SII, 4) Ce se afiseaza pe ecran in urma executarii secventei de program alaturate, in care variabila s memoreaza un sir cu cel mult 10 caractere, iar variabila i este de tip intreg?

i:=1; s:='abaemeiut';

write(length(s));

while i<=length(s) do

if (pos(s[i],'aeiou')>0) then

begin

delete(s,i,1); i:=i+1

end

else

i:=i+2;

writeln(' ',s);

(V16, SII, 4) Ce se va afisa in urma executarii secventei de program alaturate stiind ca variabila a memoreaza un sir cu cel mult 100 de caractere, iar variabilele i si k sunt de tip intreg?

k:=ord('a')-ord('A');

a:='clasa a-XII-a A';

writeln(a);

for i:=1 to length(a)do

if (a[i]>='a') and (a[i]<='z') then

a[i]:=chr(ord(a[i])-k);

write(a);

(V18, SII, 4) In secventa de program alaturata, variabila a memoreaza un sir cu cel mult 100 de caractere, iar variabila i este de tip intreg. Completati punctele de suspensie din secventa astfel incat, in urma executarii secventei, aceasta sa afiseze sirul de caractere *nf*rm*t*c*.

a:='informatica';

for i:=1 to length(a) do

if then

write()

else

write();

(V20, SII, 4) In secventa de program alaturata, variabila a memoreaza un sir cu cel mult 100 de caractere, iar variabila i este de tip intreg. Completati punctele de suspensie, astfel incat, in urma executarii secventei, sa se afiseze doar literele mici si literele mari din sirul de caractere memorat in variabila a.

a:='Bac 2009 iulie';

for i:=1 to length(a) do

if then

write(a[i]);

(V61, SII, 2) Care vor fi valorile afisate dupa executarea secventei de program alaturate, daca variabilele s1, s2 si s3 sunt de tip string?

s1:='algoritm';

s2:='bioritm';

s3:='ritm';

if length(s1)< length(s2) then

s3:=s3+s1

else s3:=s3+s2;

write(s1,' ',s2,' 's3);

a. algoritmritm bioritm ritm

b. algoritm bioritm ritmalgoritm

c. algoritm bioritm ritmbioritm

d. algoritm bioritmritm ritm

(V24, SII, 5) Scrieti un program Pascal care citeste de la tastatura doua siruri de caractere formate din maximum 100 litere mici ale alfabetului englez si afiseaza pe ecran cel mai lung suffix comun al celor doua siruri de caractere. Daca cele doua siruri nu au niciun sufix comun, atunci programul va afisa pe ecran mesajul NU EXISTA.

Exemplu: pentru sirurile marina si elena se va afisa na

(V25, SII, 4) Scrieti o secventa de instructiuni Pascal care determina, in urma executarii ei, afisarea pe ecran a mesajului Corect daca un sir de maximum 100 caractere, memorat de variabila s, este palindrom sau mesajul Incorect in caz contrar. Un sir de caractere este palindrome daca citit de la inceput la sfarsit este identic cu sirul citit de la sfarsit la inceput.

Exemplu: sirul de caractere cojoc este palindrom

(V28, SII, 5) Sirul de caractere s2 este "clona" sirului de caractere s1 daca se poate obtine din s1 prin eliminarea tuturor aparitiilor unei singure vocale. Se considera vocala orice litera din multimea . Scrieti programul Pascal care citeste de la tastatura un cuvant format din cel mult 20 litere mici ale alfabetului englez si afiseaza pe ecran (daca exista), toate "clonele" acestui cuvant, fiecare pe cate o linie a ecranului.



Exemplu: pentru cuvantul informatica se afiseaza, nu neaparat in aceasta ordine, "clonele" scrise alaturat.

nformatca

infrmatica

informtic

(V32, SII, 5) Scrieti un program Pascal care citeste de la tastatura doua caractere c1 si c2 (litere distincte ale alfabetului englez), si un text avand cel mult 250 caractere (doar spatii si litere ale alfabetului englez), pe care il modifica inlocuind toate aparitiile caracterului memorat in c1 cu cel memorat in c2 si toate aparitiile caracterului memorat in c2 cu cel memorat in c1. Programul afiseaza pe linii separate ale ecranului atat textul initial cat si textul obtinut dupa efectuarea inlocuirilor.

Exemplu: daca pentru c1 se citeste a, pentru c2 se citeste o iar textul citit este: hocus pocus preparatus se va afisa :

hocus pocus preparatus

hacus pacus preporotus

(V37, SII, 4) Un sir cu maximum 255 de caractere contine cuvinte separate prin unul sau mai multe spatii. Cuvintele sunt formate numai din litere mici ale alfabetului englez. Scrieti un program Pascal care citeste un astfel de sir si il afiseaza modificat, prima si ultima litera a fiecarui cuvant fiind afisata ca litera mare.

Exemplu: pentru sirul: maine este proba la informatica se va afisa:

MainE EstE ProbA LA InformaticA

(V39, SII, 5) Un sir cu maximum 255 de caractere contine cuvinte separate prin cate un spatiu. Cuvintele sunt formate numai din litere mici ale alfabetului englez. Scrieti un program Pascal care citeste de la tastatura un astfel de sir si il afiseaza pe ecran modificat, inversand prin oglindire doar cuvintele care incep cu vocala, ca in exemplu. Se considera ca fiind vocale urmatoarele litere: a, e, i, o, u.

Exemplu: pentru sirul: maine este proba la informatica se va afisa:

maine etse proba la acitamrofni

(V40, SII, 5) Un sir cu maximum 255 de caractere contine cuvinte formate numai din litere mici ale alfabetului englez. Fiecare cuvant este urmat de un caracter *. Scrieti un program Pascal care citeste un astfel de sir si afiseaza pe ecran sirul obtinut prin eliminarea tuturor aparitiilor primului cuvant, ca in exemplu.

Exemplu: pentru sirul: bine*albine*foarte*bine* se va afisa: *albine*foarte**

(V42, SII, 5) Scrieti programul Pascal care citeste de la tastatura un sir de cel mult 40 de caractere, format doar din litere mici ale alfabetului englez, si care afiseaza pe ecran, pe o singura linie, toate vocalele ce apar in sirul citit. Vocalele vor fi afisate in ordinea aparitiei lor in sir, separate prin cate un spatiu, ca in exemplu. Se considera ca fiind vocale urmatoarele litere: a, e, i, o, u. Daca sirul citit nu contine nicio vocala, se va afisa pe ecran mesajul fara vocale.

Exemplu: daca se citeste sirul calculator atunci pe ecran se va afisa: a u a o

(V45, SII, 5) Scrieti programul Pascal care citeste de la tastatura un sir de cel mult 40 de caractere, format doar din litere ale alfabetului englez, si care afiseaza pe ecran toate sirurile obtinute prin eliminarea succesiva a cate unei singure litere din sirul citit, ca in exemplu. Sirurile se vor afisa cate unul pe cate o linie a ecranului.

Exemplu: daca se citeste sirul abbc atunci pe ecran se va afisa:

bbc

abc

abc

abb

(V46, SII, 5)Se considera un text format doar din spatii si litere mici ale alfabetului englez, care incepe cu o litera si care contine cel putin o vocala din multimea . Scrieti programul Pascal care citeste de la tastatura un sir cu cel mult 100 de caractere, ca cel descris mai sus si care determina transformarea acestuia prin inlocuirea fiecarei vocale din text cu litera imediat urmatoare din alfabet, (a se inlocuieste cu b, e se inlocuieste cu f s.a.m.d.). Programul va afisa pe ecran sirul obtinut.

Exemplu: daca sirul citit este examen de bacalaureat, dupa modificare se afiseaza:

fxbmfn df bbcblbvrfbt

(V49, SII, 5) Un cuvant s, de cel mult 20 caractere, format doar din litere mici ale alfabetului englez, contine cel putin o consoana si cel putin o vocala. Scrieti programul Pascal care citeste de la tastatura cuvantul s, construieste in memorie si afiseaza pe ecran cuvantul obtinut prin eliminarea tuturor consoanelor din cuvantul s. Se considera consoana oricare litera care nu se afla in multimea .

Exemplu: daca se citeste cuvantul bacalaureat, pe ecran se afiseaza: aaauea

(V50, SII, 5) Scrieti programul Pascal care citeste de la tastatura un cuvant s de cel mult 20 litere mici ale alfabetului englez, construieste in memorie si afiseaza pe ecran cuvantul s dupa eliminarea primei si a ultimei vocale. Cuvantul s contine cel putin doua vocale si cel putin o consoana. Se considera vocale literele: a, e, i, o, u.

Exemplu: daca se citeste cuvantul bacalaureat, pe ecran se afiseaza: bcalauret

(V51, SII, 5) Se considera un sir s avand maximum 52 de caractere, sir ce contine numai litere mici ale alfabetului englez si cifre. Primul caracter al sirului este o litera mica, ultimul caracter al sirului este o cifra si fiecare litera mica din sir este urmata de o cifra nenula. Scrieti un program Pascal care citeste de la tastatura sirul s, apoi construieste si afiseaza pe ecran un nou sir de caractere, format numai din litere mici ale alfabetului englez, sir construit dupa urmatoarea regula: fiecare litera mica se va repeta de atatea ori de cate ori o indica cifra situata pe pozitia imediat urmatoare in sirul initial, ca in exemplu.

Exemplu: daca se citeste de la tastatura sirul a2b1f2 atunci sirul cerut este aabff

(V52, SII, 5) Scrieti un program Pascal care citeste de la tastatura un numar natural nenul n (n≤100), apoi n siruri de caractere, fiecare sir avand maximum 30 de caractere, doar litere mici ale alfabetului englez, si afiseaza pe ecran cate dintre cele n siruri de caractere sunt formate numai din vocale. Se considera vocale literele a, e, i, o, u.

Exemplu: daca n=3, iar sirurile citite sunt date alaturat, atunci programul va afisa pe ecran 1 deoarece sirul ae este format numai din vocale.

arc

ae

creion

(V55, SII 5) Scrieti un program Pascal care citeste de la tastatura un sir de caractere format din maximum 10 caractere, reprezentand un numar real in care partea intreaga este separata de partea zecimala prin caracterul punct. Programul afiseaza pe ecran valoarea obtinuta prin adunarea numarului corespunzator partii intregi si a numarului corespunzator partii zecimale ale datei citite.

Exemplu: daca se citeste de la tastatura sirul de caractere 120.456 atunci se va afisa 576, iar daca se citeste de la tastatura sirul de caractere 121.090 atunci se va afisa 130

(V56, SII, 4) Scrieti o expresie Pascal care sa aiba valoarea true daca si numai daca variabila c de tip char este o litera mica a alfabetului englez.

(V57, SII, 4) Se considera multimea vocalelor . Scrieti o expresie Pascal care sa aiba valoarea true daca si numai daca variabila c de tip char este o vocala.

(V58, SII, 5) Scrieti un program Pascal care citeste de la tastatura un sir de cel mult 50 de caractere (cifre, litere ale alfabetului englez si spatii; sirul contine cel putin o litera), apoi construieste in memorie si afiseaza pe ecran sirul de caractere obtinut din sirul citit prin eliminarea tuturor caracterelor care nu sunt litere.

Exemplu: daca se citeste sirul: Voi lua 10 la informatica atunci se va afisa: Voilualainformatica

(V59, SII, 5) Scrieti un program Pascal care citeste de la tastatura un sir de cel mult 50 de caractere (litere mici si mari ale alfabetului englez, cifre, puncte, virgule si spatii) si afiseaza pe ecran cifra care apare de cele mai multe ori in sirul citit. Daca sirul contine mai multe cifre cu numar maxim de aparitii, atunci se va afisa cea mai mica dintre acestea. Daca sirul nu contine cifre, se va afisa pe ecran mesajul NU.

Exemplu: daca se citeste sirul: Voi lua 9,5 la matematica 10 la informatica si 10 la romana atunci se va afisa cifra 0 (pentru ca cifrele 0 si 1 apar de cele mai multe ori in sir, iar 0 este cea mai mica dintre ele)

(V60, SII, 5) Scrieti un program Pascal care citeste de la tastatura un sir de cel mult 50 de caractere (litere mici si mari ale alfabetului englez, cifre si spatii) si afiseaza pe ecran litera mica cel mai des intalnita in sirul citit. Daca exista mai multe litere mici cu numar maxim de aparitii, programul o va afisa pe prima dintre ele in ordine alfabetica. Daca sirul nu contine litere mici, atunci pe ecran se va afisa mesajul nu.

Exemplu: daca se citeste sirul: mergem la munte atunci se va afisa: e (pentru ca literele e si m apar de cele mai multe ori in sir, iar e este prima dintre ele in ordine alfabetica).

(V62, SII, 5) Scrieti un program Pascal care citeste de la tastatura un text de cel mult 255 de caractere, dintre care cel putin unul este o litera mica a alfabetului englez, si afiseaza pe ecran, pe o singura linie, despartite prin cate un spatiu, toate literele mici ale alfabetului englez care apar in text. Fiecare litera va fi afisata o singura data, in ordinea primei ei aparitii in text.

Exemplu: pentru textul: Calculati valoarea expresiei Pe ecran se va afisa:

a l c u t i v o r e x p s

(V63, SII, 4) Se considera variabilele s1 si s2 de tip sir de caractere. Scrieti o secventa de instructiuni care, in urma executarii, afiseaza pe ecran cele 2 siruri in ordine lexicografica crescatoare, separate printr-un spatiu.

Exemplu: daca s1 retine sirul mama si s2 retine sirul macara, pe ecran se va afisa macara mama

(V64, SII, 5)Scrieti un program Pascal care citeste de la tastatura un text format din cel mult 200 de litere ale alfabetului englez, in care cuvintele sunt separate printr-un singur spatiu si afiseaza pe ecran numarul de cuvinte din textul citit, care au prima respectiv ultima litera vocala. In cazul in care in text nu exista un astfel de cuvant, se va afisa pe ecran mesajul NU EXISTA. Se considera vocala orice litera din multimea .

Exemplu: daca textul introdus este: Eratostene a sugerat ca anii bisecti se repeta la fiecare patru ani pe ecran se va afisa : 4

(V65, SII, 5) Scrieti programul Pascal care citeste de la tastatura un cuvant format din cel mult 50 de caractere, doar litere mari ale alfabetului englez, si afiseaza pe ecran, fiecare pe cate o linie, toate prefixele acestuia, in ordine crescatoare a lungimilor. Un prefix de lungime k al unui cuvant este un subsir format din primele k caractere ale acestuia.

Exemplu: daca se citeste cuvantul BAC se vor afisa prefixele:

B

BA

BAC

(V66, SII 5) Scrieti programul Pascal care citeste de la tastatura un cuvant format din cel mult 50 caractere, doar litere mari ale alfabetului englez, si afiseaza pe ecran, fiecare pe cate o linie, toate sufixele acestuia, in ordine crescatoare a lungimilor. Un sufix de lungime k al unui cuvant este un subsir format din ultimele k caractere ale acestuia.

Exemplu: daca se citeste cuvantul EXAMEN se vor afisa sufixele :

N

EN

MEN

AMEN

XAMEN

EXAMEN

(V71, SII, 5) Scrieti programul Pascal care citeste de la tastatura, separate prin Enter, doua siruri de caractere: un sir s de maximum 255 de caractere, care pot fi litere ale alfabetului englez si spatii, apoi un sir c de maximum 20 de caractere. Programul va inlocui in sirul s toate aparitiile sirului c cu un sir de exact aceeasi lungime efectiva cu c, format doar din caractere *, ca in exemplu. Sirul s obtinut in urma acestei prelucrari va fi afisat pe ecran. In cazul in care c nu apare in s, programul va afisa mesajul NU APARE.

Exemplu: daca sirul S citit este Din departare se vede tare iar c este tare atunci pe ecran se va afisa: Din depar**** se vede ****

(V73, SII, 5) Scrieti un program Pascal care citeste de la tastatura un numar natural n (0<n<101) si apoi n propozitii. Fiecare propozitie este formata din maximum 255 de caractere care sunt numai litere mici ale alfabetului englez si spatii. Stiind ca fiecare propozitie se termina cu caracterul Enter, sa se afiseze pe ecran propozitia care are cele mai putine vocale (sunt considerate vocale caracterele a, e, i, o, u). Daca doua sau mai multe propozitii au acelasi numar de vocale, se va afisa ultima propozitie, in ordinea citirii, care indeplineste conditia.

Exemplu: pentru n = 4 si urmatoarele propozitii:

azi a plouat tare

a fost innorat peste tot

maine va fi soare

acum nu mai vreau sa ploua

se va afisa: maine va fi soare

(V76, SII , 5) Scrieti programul Pascal care citeste de la tastatura un cuvant de maximum 20 de litere si minimum o litera si afiseaza pe ecran cuvantul citit precum si toate cuvintele obtinute din cuvantul citit prin eliminarea primei si a ultimei litere. Prima prelucrare se refera la cuvantul citit, iar urmatoarele la cuvantul rezultat din prelucrarea anterioara. Procedeul de eliminare si afisare se va repeta pana cand se obtine cuvantul vid, ca in exemplu. Cuvantul initial si fiecare cuvant obtinut se va afisa pe cate o linie a ecranului.

Exemplu: daca se citeste cuvantul bacalaureat, se va afisa:

bacalaureat

acalaurea

calaure

alaur

lau

a

(V77, SII, 5) Scrieti programul Pascal care citeste de la tastatura un text de cel mult 50 de caractere, (litere mici ale alfabetului englez si spatii), text format din mai multe cuvinte, separate prin cate un spatiu, si afiseaza pe ecran textul obtinut din cel initial prin transformarea primei litere si a ultimei litere ale fiecarui cuvant in majuscula, restul caracterelor ramanand nemodificate.

Exemplu: daca se citeste textul azi este examen de bacalaureat, se va afisa AzI EstE ExameN DE BacalaureaT.

(V78, SII, 5) Scrieti programul Pascal care citeste de la tastatura un text cu cel mult 100 de caractere (doar litere mici ale alfabetului englez si spatii) si un cuvant cu cel mult 15 caractere, doar litere mici ale alfabetului englez, si care afiseaza pe ecran sirul obtinut prin inserarea in textul initial a caracterului ? dupa fiecare aparitie a cuvantului citit. Daca in text nu apare cuvantul citit, se va afisa mesajul NU APARE.

Exemplu: daca se citeste de la tastatura textul examenului examenul de bacalaureat si examenul de atestat si cuvantul examenul se va afisa: examenului examenul? de bacalaureat si examenul? de atestat

(V79, SII, 5) Scrieti programul Pascal care citeste de la tastatura un text cu cel mult 100 de caractere (doar litere ale alfabetului englez si spatii), construieste in memorie si apoi afiseaza pe ecran sirul de caractere obtinut din sirul initial, in care se insereaza dupa fiecare vocala caracterul *. Se considera vocale literele a, e, i, o, u, A, E, I, O, U. Daca textul citit nu contine vocale, se va afisa mesajul FARA VOCALE.

Exemplu: daca se citeste de la tastatura textul Examenul de bacalaureat se va obtine si afisa: E*xa*me*nu*l de* ba*ca*la*u*re*a*t.

(V80, SII, 5) Scrieti programul Pascal care citeste de la tastatura un cuvant cu cel putin una si cel mult 20 de litere ale alfabetului englez, construieste si afiseaza pe ecran cuvantul obtinut prin interschimbarea primei consoane cu ultima vocala din cuvant. In cazul in care cuvantul este format numai din vocale sau numai din consoane, programul afiseaza pe ecran mesajul IMPOSIBIL. Se considera vocale literele a, e, i, o, u, A, E, I, O, U.

Exemplu: daca se citeste cuvantul Marmorat se va obtine si afisa cuvantul aarmorMt

(V81, SII, 1) Un sir de caractere se numeste palindrom daca sirul citit de la stanga la dreapta este identic cu sirul citit de la dreapta spre stanga. Care dintre urmatoarele expresii PASCAL are valoarea TRUE daca si numai daca sirul de caractere memorat in variabila s, avand exact 3 caractere, este palindrom?

a.      s[1]=s[2] b. s[2]=s[3] c. s[1]=s[3] d. s[2]=s[4]

(V84, SII, 3) Se considera variabila c, de tip char, care memoreaza o litera a alfabetului englez, diferita de z sau Z. Scrieti secventa de program PASCAL care afiseaza pe ecran litera care ii urmeaza in alfabet.

Exemplu: daca litera memorata este g se va afisa h.

(V85, SII, 3) Variabila s retine un sir de caractere format din cel putin 2 si cel mult 30 de litere mici ale alfabetului englez. Scrieti secventa de program PASCAL care afiseaza pe ecran primul si ultimul caracter al sirului s.

(V93, SII, 5) Un sir de caractere s se numeste "sablon" pentru un alt sir de caractere x, daca este format din caractere din multimea , are aceeasi lungime cu x si pe fiecare pozitie din s in care apare * in x se gaseste o vocala, pe fiecare pozitie din s in care apare # in x se gaseste o consoana si pe fiecare pozitie din s in care apare ? putem avea orice caracter in x. Se considera vocala orice litera din multimea . Scrieti programul Pascal care citeste de la tastatura doua siruri de caractere, de aceeasi lungime, formate din cel mult 200 de litere mici ale alfabetului englez, si afiseaza pe ecran, un sablon comun celor doua siruri citite, care contine un numar minim de caractere ?.

Exemplu: pentru sirurile diamant si pierdut se afiseaza #**#??#

(V94, SII, 4) Scrieti un program in limbajul Pascal care citeste de la tastatura un singur sir format din cel mult 20 de caractere care reprezinta numele si prenumele unei persoane. Intre nume si prenume se afla un numar oarecare de caractere spatiu (cel putin unul). Atat numele cat si prenumele sunt formate numai din litere ale alfabetului englez. Programul construieste in memorie si afiseaza pe ecran un al doilea sir de caractere, care sa contina prenumele, urmat de exact un spatiu si apoi numele din sirul citit initial.

Exemplu: daca se citeste sirul: Popescu Vasile se va construi si apoi se va afisa pe ecran sirul Vasile Popescu

(V95, SII, 5) Scrieti un program in limbajul Pascal care citeste de la tastatura un singur sir, format din cel mult 20 de caractere, care reprezinta numele si prenumele unei persoane. Intre nume si prenume se afla un numar oarecare de caractere spatiu (cel putin unul). Atat numele, cat si prenumele, sunt formate numai din litere mici ale alfabetului englez. Programul construieste in memorie si afiseaza pe ecran un alt sir de caractere, care sa contina initiala prenumelui (prima litera a prenumelui), urmata de un caracter punct, de exact un spatiu si de numele din sirul citit initial. Toate literele din sirul afisat vor fi de asemenea litere mici.

Exemplu: daca se citeste sirul: popescu vasile se va construi si apoi se va afisa pe ecran sirul

v. Popescu

(V96, SII, 5) Scrieti un program in limbajul Pascal care citeste de la tastatura doua siruri, formate fiecare din cel mult 20 de caractere. Primul sir reprezinta numele unei persoane, iar al doilea sir reprezinta prenumele aceleiasi persoane. Atat numele cat si prenumele sunt formate numai din litere ale alfabetului englez si fiecare contine cel putin o consoana. Programul construieste in memorie si afiseaza pe ecran un al treilea sir de caractere, care contine consoanele din prenumele citit dispuse in ordinea in care apar in prenume urmate de exact un spatiu si de numele citit.

Exemplu: daca primul sir citit este Popescu, iar al doilea este Vasile se va construi si apoi se va afisa pe ecran sirul Vsl Popescu

(V2, SII, 5)Sa se scrie un program Pascal care citeste de la tastatura un cuvant format din cel mult 20 de caractere, doar litere mici ale alfabetului englez. Programul determina transformarea cuvantului citit prin inlocuirea fiecarei vocale a cuvantului, cu un sir format din doua caractere si anume vocala respectiva urmata de litera mare corespunzatoare, restul literelor nemodificandu-se, ca in exemplu. Programul afiseaza pe ecran cuvantul obtinut, pe o singura linie. Se considera vocale literele din multimea .

Exemplu: pentru cuvantul bacalaureat se va afisa pe ecran: baAcaAlaAuUreEaAt

(V6, SII, 5) Se considera un text cu maximum 255 de caractere in care cuvintele sunt separate prin unul sau mai multe spatii. Primul caracter din textul citit este o litera, iar cuvintele sunt formate numai din litere mici ale alfabetului englez. Scrieti un program Pascal care citeste de la tastatura textul si il transforma, inlocuind prima litera a fiecarui cuvant cu litera mare corespunzatoare, restul caracterelor ramanand nemodificate. Textul astfel transformat va fi afisat pe ecran.

Exemplu: daca de la tastatura se introduce textul: mare frig rosu

se va afisa pe ecran: Mare Frig Rosu

(V7, SII, 5) Se considera un text cu maximum 255 de caractere, format din litere mici ale alfabetului englez si spatii. Textul contine cel putin o consoana. Scrieti un program Pascal care citeste de la tastatura textul si apoi determina transformarea acestuia, eliminand numai ultima consoana care apare in text, ca in exemplu. Programul va afisa pe ecran textul obtinut.

Exemplu: daca de la tastatura se introduce textul: mare frig saci

pe ecran se va afisa: mare frig sai

(V21, SII, 5) Se considera un text alcatuit din cel mult 250 de caractere, in care cuvintele sunt formate doar din litere mici ale alfabetului englez si sunt separate prin unul sau mai multe caractere *. Scrieti un program Pascal care citeste de la tastatura textul si afiseaza pe ecran, pe cate o linie, toate secventele formate din cate doua litere identice, ca in exemplu.

Exemplu: daca textul citit este: copiii*sunt*la***zoo se afiseaza perechile alaturate.

ii

ii

oo






Politica de confidentialitate


Copyright © 2020 - Toate drepturile rezervate