Informatică, întrebare adresată de Gig123, 8 ani în urmă

Ce vor afișa următoarele declarații:
a. t:= ‘Munteanu’
s:=copy(t,1,5)
B. T:= ‘NumePrenume’
x:=delete(t,8,4)

Răspunsuri la întrebare

Răspuns de boiustef
0

Răspuns:

a. Munte;  b. aici avem eroare, vezi explicaţiile...

Explicație:

Nu e corect enunţul, deoarece afişarea se face numai prin procedurile write sau writeln, dar ele lipsesc în setul dat de instrucţiuni.

La punctul a, t este un şir de caractere, s primeşte ca valoare un subşir din t, ce începe cu poziţia 1 şi lungimea subşirului 5. Astfel s va primi valoarea Munte. Funcţia copy are ca rezultat un şir de caractere care aici devine valoare pentru s.

La punctul b. T este un şir de caractere. delete(T,poz,n) este o procedură care şterge din şirul de caractere T, n caractere, începând de la indicele poz. Un apel corect al procedurii delete ar fi următorul:  delete(T,8,4);

Este incorectă apelarea procedurii delete în cadrul unei instrucţiuni de atribuire, cum este dat în enunţ, adică  x:=delete(t,8,4). Acest apel va da eroare. Eu mai jos plasez cod pentru a confirma cele spuse:

var t, s, x:string;

begin

 t:='Munteanu';

 s:=copy(t,1,5);

 writeln(s);

 t:='NumePrenume';

 delete(t,8,4);

 writeln(t);

end.

Cu acest program se va afişa

Munte

NumePre

Alte întrebări interesante