Referate Meniu
Astronomie
Biologie
Chimie
Desen
Diverse
Drept
Economie
Engleza
Filozofie
Fizica
Franceza
Geografie
Germana
Informatica
Istorie
Italiana
Marketing
Matematica
Medicina
Muzica
Psihologie
Romana
Romana1
Spaniola


 


referat, proiect, rezumat, caracterizare, lucrare de nota 10 despre:

Conversii de la siruri la valori numerice si invers

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.

15272ynb86jdq1m

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

Program conv 1;

Var a: string;n: integer;

begin nd272y5186jddq

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

15272ynb86jdq1m str (n,a);

15272ynb86jdq1m writeln(a);

end.

Programul 15272ynb86jdq1m urmator are grija ca intodeauna numarul de octeti ai sirului sa fie mai mare sau egal cu numarul de octeti ai 15272ynb86jdq1m valorii convertite.In acest fel,la afisare,vom sti care 15272ynb86jdq1m 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;

15272ynb86jdq1m Var a: string;

15272ynb86jdq1m 15272ynb86jdq1m 15272ynb86jdq1m 15272ynb86jdq1m 15272ynb86jdq1m x:real;

begin

x:=-67.789;

str(x: 10 : 2, a);

writeln(a);end.

Acum studiem 15272ynb86jdq1m conversia inversa de la tipul string 15272ynb86jdq1m 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 :

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

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

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

Program conv3;

Var a:string;

15272ynb86jdq1m 15272ynb86jdq1m 15272ynb86jdq1m 15272ynb86jdq1m 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 15272ynb86jdq1m sirul de caractere cifre 15272ynb86jdq1m este precedat de un de blank-uri, conversia nu 15272ynb86jdq1m reuseste.Exemplu: sirul 15272ynb86jdq1m ’123 15272ynb86jdq1m 15272ynb86jdq1m ’ nu poate fi convertit catre o valoare numerica.

 

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

15272ynb86jdq1m De exemplu, sirul ‘ 12i ’ nu 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 15272ynb86jdq1m 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 15272ynb86jdq1m de variabila respectiva,programul se termina anormal,prin eroare 15272ynb86jdq1m de executare.

Programul urmator testeaza daca 15272ynb86jdq1m 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 ’);

15272ynb86jdq1m Else 15272ynb86jdq1m

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

Writeln(‘ valoarea nu este in intervalul dorit ’)

Else

Writeln(‘ ok ’)

End.