Informatica
Aritmetica numerelor intregi si vectoriAritmetica numerelor intregi si vectori Aplicatii: program numarprim; var n,i:integer; prim:boolean; begin write('n='); readln(n); prim:=true; i:=2; while (i<=n/2) and prim do begin if n mod i=0 then prim:=false; i:=i+1; end; if prim=true then writeln('numarul este prim') else writeln('numarul nu este prim'); readln; end. Variabilele n si i intregi ,prim variabila boolean ,citesc n de la tastatura ,initializez prim cu true ,in while i merge de la 2 pana la n/2 , vedem daca restul impartirii lui n la i este 0 ,prim devine fals si se iese din while .Daca prim este adev. Numarul este prim. var n,m,inv:integer; begin write('n='); readln(n); inv:=0; m:=n; while (n>0) do begin inv:=inv*10+(n mod 10); n:=n div 10; end; if inv=m then write('numarul este palindrom') else write ('numarul nu este palindrom'); end. Se dau variabilele n,m,inv.Citesc n ,initializez inv cu 0 (nr invers), m pastreaza valoare initiala a lui n, Pornesc while constuiesc inv : inv *10 +( n mod
10), n devine n mod 10 ,compar daca
inversul este egal cu m ,daca da atunci numarul este palindrom. Type vector =array [1..100] of integer ; var v:vector; var aux,i,j,n:integer; begin repeat write('n='); readln(n); until (n>1) and (n<101); for i :=1 to n do begin write('v[',i,']='); readln(v[i]); end; for i:=1 to (n-1) do for j:=(i+1) to n do if (v[i]<>0)and (v[j]<>0) then if v[i]<v [j] then begin aux :=v[i]; v[i]:=v[j] ; v[j]:=aux; end ; for i := 1 to n do write (v[i]); readln; end. -un tablou unidimensional care contine max 100 elemnte Definim v de tip vector ,variabilele :aux,i,j,n Repeat :until-citim nr intre 2 si 100 Intram in instructiunea repetitiva for si citim valorile n ,gasim in for dupa j urmatoarea componenta diferita de 0 . Comapr v [i] cu v[j] ,daca convine comaratia interschimb valorile intre ele ,daca nu , j trece la urmatoarea componenta .afisez vectorul. type vector =array[1..9] of integer; var v:vector; var i,n,s,ns,nd :integer; begin repeat writeln('n='); readln(n); until (n>1) and (n<10); for i :=1 to n do begin write ('v[',i,']='): readln(v[i]); end; ns:=0; nd:=0; for i:1 to n do begin ns:=ns*10+v[i]; nd:=nd*10+v[n-i+1]; end; s:=ns+nd; writeln('s=',s); readln; end. Am calculate suma numerelor formate cu cifrele din vector citite de la dreapta la stanga si de la stanga la dreapta -tip vector care este un tablou unidimensinal max 10 elemente intregi .Definim var v de tip vector ,variabilele i,n=nr de cifre,s=suma (ns+nd),ns=nr de la stanga la dreapta ,nd =nr de la dreapta la stanga.Citesc nr intre 2 si 9,in vectorul v citesc cifrele numarului,initializez ns si nd cu 0 ,in for construiesc ns si nd ,afisez rezultatul.
|