Conversii de la siruri la valori numerice si invers referat





Conversii de la siruri la valori numerice si invers:

sintaxa unei constante reale in forma stiintifica (exemplu ‘ 1.E-3 ‘);

Limbajul dispune de doua proceduri care realizeaza conversia de la valori numerice la siruri si invers.

*Procedura str are rolul de a transforma o valoare numerica in sir.





Procedure str (X[:Lg[:Zec]];var S:string);


Program conv 1;

Var a: string;n: integer;

begin

write(‘n=’);readln(n);

str (n,a);

writeln(a);

end


Programul  urmator are grija ca intodeauna numarul de octeti ai sirului sa fie mai mare sau egal cu numarul de octeti ai   valorii convertite.In acest fel,la afisare,vom sti care este spatiul ocupat de sir si putem sa afisam rezultatele aliniate.In continuare, ne ocupam de conversia valorilor reale catre siruri de caractere.


Program conv2;

Var a: string;

x:real;

begin

x

str(x: 10 : 2, a);

writeln(a);end.

Acum studiem conversia inversa de la tipul string catre valori numerice(intregi sau reale).


Observatie: daca incercam sa convertim sirul ‘1a2’ catre o valoare de tip integer  ,conversia nu reuseste, pentru ca sirul contine caracterul ‘a’.


Pentru realizarea conversiei utilizam procedura val .Ea are 3 parametri si anume :


Procedure val(s:string; var variabila_numerica ;var cod_er:integer);


variabila_numerica – variabila de tip intreg sau real care va retine rezultatul conversiei;

cod_er – variabila de tip intreg .Dupa conversie ,aceasta va retine 0,daca conversia a reusit sau o valoare diferita de 0,in caz contrar.



Program conv3;

Var a:string;

X,er:integer;

Begin

Write(‘Sirul este’);readln(a);

Val(a, x, er);

If er=0 then writeln(‘conversia a reusit’,x)



Else

Begin

Writeln(‘conversia nu a reusit’);

Writeln(x)

End

End.


Observatii:

Daca sirul de caractere cifre este precedat de un de blank-uri, conversia nu reuseste.Exemplu: sirul ’123 ’ nu poate fi convertit catre o valoare numerica.


Daca sirul contine un singur caracter litera, el nu poate fi convertit catre o valoare numerica.

De exemplu, sirul ‘ 12inu poate fi convertit . Exceptie fac sirurile de caractere care respecta


Daca variabila care retine rezultatul este de tip intreg ,iar sirul contine punctul zecimal,conversia nu reuseste.De exemplu , sirul ‘1.23 ’ nu poate fi convertit catre o variabila de tip intreg, dar poate fi convertit catre o variabila de tip real.


Daca in urma conversiei se obtine o valoare numerica care nu poate fi memorata de variabila respectiva,programul se termina anormal,prin eroare de executare.


Programul urmator testeaza daca  o valoare introdusa este numerica si daca este cuprinsa in intervalul [10,20].


Program conversie;

Var sir :string;

Eroare :int eger;valoare:real;

Begin

Writeln(‘introduceti sirul ’);readln(sir);

Val(sir,valoare,eroare);

If eroare <> 0then

Writeln(‘ valoarea introdusa este eronata ’);

Else

If (valoare<10) or (valoare>20) then

Writeln(‘ valoarea nu este in intervalul dorit ’)

Else

Writeln(‘ ok ’)

End.















Copyright © Contact | Trimite referat


Ultimele referate adaugate
Mihai Beniuc
   - Mihai beniuc - „poezii"
Mihai Eminescu Mihai Eminescu
   - Mihai eminescu - student la berlin
Mircea Eliade Mircea Eliade
   - Mircea Eliade - Mioara Nazdravana (mioriţa)
Vasile Alecsandri Vasile Alecsandri
   - Chirita in provintie de Vasile Alecsandri -expunerea subiectului
Emil Girlenu Emil Girlenu
   - Dragoste de viata de Jack London
Ion Luca Caragiale Ion Luca Caragiale
   - Triumful talentului… (reproducere) de Ion Luca Caragiale
Mircea Eliade Mircea Eliade
   - Fantasticul in proza lui Mircea Eliade - La tiganci
Mihai Eminescu Mihai Eminescu
   - „Personalitate creatoare” si „figura a spiritului creator” eminescian
George Calinescu George Calinescu
   - Enigma Otiliei de George Calinescu - geneza, subiectul si tema romanului
Liviu Rebreanu Liviu Rebreanu
   - Arta literara in romanul Ion, - Liviu Rebreanu











Scriitori romani