Sunteți pe pagina 1din 25

Sunt date următoarele n numerele naturale.

Găsiţi suma tuturor


numerelor naturale negative.

Program P3.1;

uses crt;

var n,x,sum,i : integer;

begin

clrscr;

repeat

write(‘Introduceţi lungimea următoarelor numere n=’);

readln(n);

until n>0;

sum:=0;

for i:=1 to n do

begin

writeln(‘introdu x=’);

readln(x);

if x<0 then sum:=sum+x;

end;

if sum=0 then writeln(‘Numărul negativ nu exisţă’)

else

writeln(‘Suma numerelor negative este sum=’,sum);

end.

Sunt date următoarele n numere naturale. Găsiţi numărul maximal.


Program P3.2;

uses crt;

var n,x,max,i : integer;

begin

clrscr;

repeat

write(‘Introduceţi lungimea următoarelor numere n=’);

readln(n);

until n>0;

writeln(‘introdu x=’);

readln(x);

max:=x;

for i:=2 to n do

begin

writeln(‘introdu x=’);

readln(x);

if (x>max) then max:=x;

end;

writeln(‘Numărul maximal este max=’,max);

end.

Sunt date următoarele n numere naturale. Găsiţi numărul maximal din


numerele negative.

Program p3_3;
uses crt;

var n,x,max,i:integer;

begin

clrscr;

repeat

write(‘Introduceţi lungimea numărul natural n=’);

readln(n);

until n>0;

max:=0;

repeat

write(‘Introduceţi x=’);

readln(x);

n:=n-1;

until (x<0) o

r (n<=1);

if x<0 then max:=x;

for i:=1 to n do

begin

write(‘Introduceţi x=’);

readln(x);

if (x<0) and (x>max) then max:=x;

end;
if max=0 then write(‘Numărul negativ nu există’)

else

writeln(‘Numărul maximal din numerele negative max:=’,max);

readkey;

end.

Întroduceţi următoarele n numere naturale. Determinaţi de cîte ori


alternează şirul din numărul dat.

Program P3_4;

uses crt;

var old,new,f:real;

k,i,n:integer;

begin

clrscr;

repeat

write(‘Introduceţi lungimea numărul natural n=’);

readln(n);

until n>0;

write(‘Introduceţi x=’);

readln(old);

f:=old;

k:=0;

for i:=2 to n do

begin
write(‘Introduceţi x=’);

readln(new);

if (new<>0) and (f=0) then f:=new;

if new*f<0 then

begin

f:=new;

k:=k+1;

end;

old:=new;

end;

if k>0 then

writeln(‘Următorul îsi schimba semnul’, k, ‘odată’)

else

writeln(‘Urmatorul nu-si schimba semnul’);

readkey;

end.

Întroduceţi următoarele numere nenule, 0-sfirsitul enumerării.


Determinaţi este oare enumerarea schimbătoare de semn sau nu.

Program P3_5;

uses crt;

var old,new,x:real;

f :boolean;

begin
clrscr;

write(‘Introduceţi x=’);

readln(old);

write(‘Introduceti x=’);

read(new);

f:=true;

repeat

if new*old>0 then f:=false;

old:=new;

write(‘Introduceti x=’);

readln(new);

until new=0;

if f then

writeln(‘Este enumerare schimbătoare de semn’)

else

writeln(‘Nu este enumerare de semn’);

readkey;

end.

Tema 4

Extrageţi intr-un rînd abbccc … zz … z.

Program P4_1;

uses crt;
var i : char;

k,j : integer;

begin

clrscr;

k:=1;

for i:= ‘a’ to ‘z’ do

begin

for j:=1 to k do

write(i);

k:=k+1;

end;

writeln;

readkey;

end.

Extrageţi triunghiul abc… z

bc… z

…… z

Program P4_2;

uses crt;

var i,l : char;

j : integer;

begin
clrscr;

l:=’a';

for j:=1 to 26 do

begin

for i:=’a’ to l do

write(”);

for i:=l to ‘z’ do

write(i);

write;

l:=succ(l);

end;

writeln;

readkey;

end.

Este dat un şir de simboluri. De înlocuit din ’a’ prin ‘aaa’.

Program P4_3;

uses crt;

var str : string;

l,i : integer;

begin

clrscr;

writeln(‘Introduceţi text’);
readln(str);

l:=length(str);

writeln(‘Textul transformat este’);

for i:=1 to l do

if (str[i]=’a') then write(‘aaa’)

else write(str[i]);

writeln;

readkey;

end.

Este dat un şir de simboluri. Ştergeţi din ia toate semnele de punctuaţie.

Program P4_4;

uses crt;

var str : string;

l,i : integer;

m : set of char;

begin

clrscr;

m:=['.',',','!',':',';','?','-'];

writeln(‘Introduceţi text’);

readln(str);

l:=length(str);

writeln(‘Textul transformat este’);


for i:=1 to l do

if not(str[i] in m) then write(str[i]);

writeln;

readkey;

end.

Este dat un şir de simboluri. De schimbat pe toate semnele exclamării pe


puncte.

Program P4_5;

uses crt;

var str : string;

l,i : integer;

begin

clrscr;

writeln(‘Introduceţi text’);

readln(str);

l:=length(str);

writeln(‘Textul transformat este’);

for i:=1 to l do

if (str[i]=’!') then write(‘.’);

writeln;

readkey;

end.

Tema 5
Este dat un şir de simboluri. De ividenţiat sub sirul dintre primul si al
doilea punct.

Program P5_1;

uses crt;

var s1,str : string;

l,i : integer;

begin

clrscr;

writeln(‘Introduceţi textul’);

readln(str);

s1:=str;

l:=pos(‘.’,s1);

if i<>0 then

begin

delete(s1,1,l);

i:=pos(‘.’,s1);

if i<>0 then

begin

s1:=copy(s1,1,i-1);

writeln(‘Evidenţiaţi şirul dintre primul si al doilea

numar’);

writeln(s1);

end
else

writeln(‘In text este doar un singur punct);

end

else

wrireln(‘In text nu exista punct’);

writeln;

readkey;

end.

Este dat un şir de simboluri. De evidenţiat sub şirul dintre primul si


ultimul punct.

Program P5_1;

uses crt;

var s1,str : string;

l,i,j : integer;

begin

clrscr;

writeln(‘Introduceţi textul’);

readln(str);

s1:=str;

l:=pos(‘.’,s1);

j:=i; l:=0;

if i<>0 then

begin
while i<>0 do

begin

delete(s1,1,l);

i:=pos(‘.’,s1);

end;

if i<>0 then

begin

s1:=copy(str,j+1,l-j-1);

writeln(‘Evidentiati sirul primului numar’);

writeln(s1);

end

else

writeln(‘In text este doar un singur punct);

end

else

wrireln(‘In text nu exista punct’);

readkey;

end.

Este dat un şir de simboluri. De evidenţiat sub şirul dintre primul si


ultimul punct.

Program P5_2;

uses crt;

var s1,str : string;


l,i,j : integer;

begin

clrscr;

writeln(‘Introduceti text’);

readln(str);

s1:=str;

l:=pos(‘.’,s1);

j:=i; l:=0;

if i<>0 then

begin

while i<>0 do

begin

delete(s1,1,l);

l:=l+i;

i:=pos(‘.’,s1);

end;

if l<>j then

begin

s1:=copy(str,j+1,l-j-1);

writeln(‘Evidentiati sirul primului numar’);

writeln(s1);

end
else

writeln(‘In text este doar un singur punct);

end

else

wrireln(‘In text nu exista punct’);

readkey;

end.

Este dat un şir de caractere până la un punct. Grupul de simboluri intre


spatii se scot. De găsit câte cuvinte se încep cu una si aceeaşi litera.

Program P5_3;

uses crt;

var s1 : string;

k,i,j : integer;

x : char;

begin

clrscr;

writeln(‘Introduceti text’);

readln(s1);

i:=pos(‘.’,s1);

s1:=copy(s1,1,j-1)+”;

k:=0;

repeat

if s1[1]<>”then x:=s1[1];
i:=pos(‘.’,s1);

if i>1 then if x=s1[-1] then k:=k+1;

delete(s1,1,l);

until l=0;

writeln(‘Evidentiati numarul de cuvinte k=’,k’);

readkey;

end.

Este dat un şir de caractere până la un punct. Grupul de simboluri intre


spatii se scot. De găsi câte cuvinte conţine trei litere din l.

Program P5_4;

uses crt;

var m,k,l,j : integer;

s1 : string;

begin

clrscr;

writeln(‘Introduceti text’);

readln(s1);

j:=pos(‘.’,s1);

s1:=copy(s1,1,j-1)+”;

m:=0;

repeat

j:=pos(”,s1);

if l>1 then begin


k:=0;

for j:=1 to l-1 do

if s1[j]=’e'then k:=k+1;

if k=3 then m:=m+1;

end;

delete(s1,1,l);

until l=0;

writeln(‘Numarul de cuvinte este k=’,k);

readkey;

end.

Este dat un şir de caractere până la un punct. Grupul de simboluri intre


spatii se scot. De verificat daca ea este de la un număr real.

Program P5_5;

uses crt;

var l,k : integer;

s1 : string;

begin

clrscr;

writeln(‘Introduceti text’);

readln(s1);

k:=0; l:=1;

repeat

case s1[l] of
’0′..’9′ :k:=k+(ord(s1[l])-ord(’0′));

”:;

else k:=-1;

end;

i:=i+1

until (s1[l]==’.')or(k<0);

if k mod 5 = 0 then

writeln(‘Esre o cifra zecimala,reala 5′);

readkey;

end.

Tema 6

Se dată o mulţime de numere. De găsit elementul maximal dacă sînt


careva elemente maximale. De evidenţiat câte elemente sunt.

Program P6_1;

uses crt;

var mas:array[1..10] of integer;

i,max,k,n : integer;

begin

clrscr;

writeln(‘Introduceţi mărimea şirului n=’);

readln(N);

writeln(‘Introduceţi elementele şirului’);

readln(mas[1]);
max:=mas[1];

k:=1;

for i:=2 to n do

begin

write(‘Introduceţi elementele şirului’);

readln(mas[1]);

if max<mas[i] then

begin

max:=mas[i];

k:=1

end

else

if max = mas[i] then k:=k+1;

end;

writeln(‘Max=’,max, ‘Aceste elemente’, k);

readkey;

end.

Este dată o mulţime de numere. De găsit câte perechi de elemente vecine


identice sunt în ea.

Program P6_2;

const m=100;

var mas : array[1..m] of integer;

i,k,n : integer;
begin

readln(n);

k:=0;

for i:=1 to n do

begin

write(‘Introduceţi elementele şirului’);

readln(mas[1]);

end;

for i:=1 to n-1 do

if mas[i]=mas[i+1] then k:=k+1;

writeln(‘Perechile asemenea in şirul elementului este ‘,k);

end.

Este dată o mulţime de numere. De găsit cel mai mare element şi să-l
plasăm pe primul loc.

Program P6_3;

const m=100;

var mas : array[1..m] of integer;

i,k,new,n : integer;

begin

write(‘Introduceţi mărimea şirului n=’);

readln(n);

writeln(‘Introduceţi’, n, ‘Şirul elementului’);

for i:=1 to n do
read(mas[i]);

writeln;

new:=mas[n];

k:=n;

for i:=n downto 1 do

if mas[i]>new then

begin

k:=i;

new:=mas[i]

end;

mas[k]:=mas[1];

mas[1]:=new;

for i:=1 to n do

write(mas[i]:4);

writeln

end.

Se cunosc datele despre reuşita a nu mai mult de 27 grupe de studiu(în


procente). De evidenţiat cu cît trebuie de ridicat reuşita în cea mai
rămasă grupă pentru a atinge nivelul mediu.

Program P6_4;

const m=100;

var mas : array[1..m] of integer;

i,n : integer;
min,sum : real;

begin

write(‘Introduceţi mărimea şirului n=’);

readln(n);

repeat

writeln(‘Introduceţi elementului şirului(%)’);

readln(mas[1]);

until (mas[1]<101)and(mas[1]>0);

min:=mas[1];sum:=min;

for i:=2 to n do

begin

sum:=sum+mas[i];

if min>mas[i] then min:=mas[i];

end;

writeln(‘Dea ridica cea mai înalta grupa’);

writeln(‘Din cel mai jos nivel pe’,(sum/n)-min);

end.

Sunt cunoscute datele despre temperatura medie lunară pe an. De


evidenţiat care temperatură a fost cea mai înaltă vara şi cea mai joasă
iarna.

Program P6_5;

const m=12;

var mas : array[1..m] of real;


i,n : integer;

min,max : real;

begin

for i:=1 to 12 do

begin

write(‘Introduceţi mărimea şirului’);

readln(mas[i]);

end;

max:=mas[6];min:=mas[12];

for i:=7 to 8 do

if max<mas[i] then max:=mas[i];

for i:=1 to 2 do

if min>mas[i] then min:=mas[i];

writeln(‘Cea mai înalta temperatura vara’, max);

writeln(‘Cea mai joasa temperatura iarna’, min);

end.

Tema 7

Este dată matricea N x M, formată din numere naturale. De găsit cel mai
mic element şi poziţia lui dacă sunt mai multe de aceste elemente, de
afişat pe ecran poziţiile fiecăruia.

Program P7_1;

Const t;100; s;100;

Var A:array [1..t,1..s] of integer;


n,m,im,jm,i,j,min,k : integer;

begin

write(‘Introduceţi mărimea şirului’);

readln(n);

writeln(‘Introduceţi mărimea şirului’);

readln(m);

for i:=1 to n do

begin

writeln(‘Introduceţi’, m, ‘şiru’l);

for j:’1 to m do

read(a[i,j]);

end;

min:=a[1,1];

im:=1;jm:=1;k:=0;

for i:=1 to n do

for j:=1 to m do

if min>a[i,j] then

begin

k:=1;im:=i;jm:=j;

min:= a[i,j]

end

else
if min= a[i,j] then k:=k+1;

if k=1 then

begin

writeln(’Cel mai mic element este min=’,min);

writeln(’În’, im, ’În rînd’, jm, ’Coloniţă’);

end

else

begin

writeln(’Î n matricea’,k, ’Elementul minimal min =’,min);

for i:=im to n do

for j:=1 to m do

if min=a[i,j] then writeln(’În rând’, i, ’În coloniţaâ,j)

end

end.

S-ar putea să vă placă și