Documente Academic
Documente Profesional
Documente Cultură
1.
2.
3.
4.
5.
2.Tabloul
3.Fiiere. Operaii de intrare/ieire legate de fiiere
4. Structuri de control
5.Algoritmi fundamentali
Bibliografie : http://wiki.freepascal.org/Pascal_Tutorial
http://www.cplusplus.com/doc/tutorial/
manual; caiet
1.1.Structura unui program
Pascal
begin
write(Buna!);
end.
C++
#include <iostream>
Pseudocod
Programul v-a afia mesajul
Buna!
int main()
{
std::cout << "Buna!";
}
Pascal
Integer -3276832767
C++
Short int/int -32768..32767
Pseudocod
ntreg
Word 065535
Cuvnt
Shortint -128127
Char -128..127
Date mici
Byte 0255
Bit
Longint -214748364821474836647
Long -214748364821474836647
Date mari
Int64 -9223372036854775808..
9223372036854775807
__int64 -9223372036854775808..
9223372036854775807
1.2.Tipuri de date
C++
Int
Real
Float
Char
Char
String
Long
Pseudocod
cuprinde valorile ntregi intre 32767 si 32767
include numere reale, cu si fr
virgula
valorile de acest tip conin
caractere cuprinde intre
apostrofe
permite memorarea unor
numere ntregi foarte mari( mai
mari dect cele menionate la
int)
1.4.Operatori
Pascal
:=
()
+,*, /
C++
=
()
+, *, /
Mod
Div
<
>
=
<>
<=
>=
NOT
AND
OR
XOR
<
>
==
!=
<=
>=
!
&&
||
Pseudocod
Atribuire()
Grupeaz expresiile
Adunare i scdere
nmulire i mprire
(mprirea cu virgul se face n
numere reale)
Returneaz restul (doar n
ntregi)
Returneaz ctul (doar n
ntregi)
Mai mic
Mai mare
Egal
Diferit
Mai mic sau egal
Mai mare sau egal
Negare
Conjuncia i
Conjuncia sau
Este specific doar la pascal
C++
cin >> i;
Pseudocod
citete de la tastatura variabilele
specificate(intrare)
cin >> i;
readln
cin >> i
writeln
2. Tabloul
Pascal
Variabil:array[Vi..Vf] of
variabila
C++
TipDat
NumeTablou[ExpresieConstInt]
Pseudocod
Declararea unui tabel.
se declara numele tabelului , se
da valoarea iniial , valoarea
finala si variabila.
C++
Pseudocod
#include<iostream.h>
using namespace std;
#include<fstream.h>
#include<values.h>
void main()
{
ifstream f("C:\\test.txt");
//sau: fstream f("C:\\test.txt",ios::in);
if(!f) //sau f=NULL
{
cout<<"Eroare la
deschiderea fisierului!"<<endl;
return;
}
int x[100], n_neg=0, s=0, i;
end;{calcul suma}s:=a+b;{4.
deschid pentru scriere fisierul
'out.txt'}
rewrite(g);
{ 5. scriu in fiierul 'out.txt'
suma celor doua numere }
write(g,s);
{ 6. nchid cele 2 fiiere }
close(f);
close(g);
end.
f.seekg(0,ios::beg); //ne
poziionam la nceputul fiierului
i=0;
while(!f.eof())
{
f>>x[i];
if(x[i]<0)
n_neg++;
s+=x[i++];
}
f.close();
cout<<"Numrul elementelor
negative: "<<n_neg<<endl;
cout<<"Suma tuturor
elementelor: "<<s<<endl;
int k;
cin>>k;
Pascal
Read(variabila);
Write(variabila);
If conditie then
Actiune/ bloc de actiuni;
Else
Actiune2/bloc de actiuni2;
For contor:=Vi to Vf do
Begin
Actiune/bloc de actiuni;
End;
While conditie do
Begin
Actiune/bloc de actiuni;
End;
Repeat
Actiune/bloc de actiuni;
Until conditie
C++
instr1;
instr2;
.....
if (expresie)
instructiune1;
[ else
instructiune2; ]
for (expresie1; expresie2;
expresie3)
instructiune;
Pseudocod
Structura Liniara
Structura Alternativa
while (expresie)
instructiune;
do instructiune;
while(expresie);
4.Structuri de control
5.Algoritmi fundamentali
Pascal
var numar: longint;
Rest : shortint;
Suma:word;
begin
write (Introduceti numarul:);
readln(numar);
suma:=0;
while (numar <>0 )do begin
rest:=numar mod 10;
suma := suma + rest;
numar := numar div 10;
end;
writeln(Suma cifrelor este :
,suma);
end.
C++
#include <iostream>
using namespace std;
int n,s,c;
int main()
{ cout<<n=;
cin>>n;
while(n>0)
{ c=n%10;
S=s+c;
N=n/10;
}
cout<<suma cifrelor este<<s;
return 0;
}
Pseudocod
Suma cifrelor unui numar introdus
de la tastatura
var x,y,n,rest:integer;
begin
Write ('x ia valoarea ');
Read (x);
Write ('y ia valoarea ');
Read (y);
if x<y then
begin
rest:=x;
x:=y;
y:=rest;
end;
n:=0;
while x>=y do
begin
x:=x-y;
n:=n+1;
end;
Writeln ('n= ',n);
Writeln ('x= ',x);readln;
end.
#include <iostream.h>
void main ()
{
int a,b
cout<<"a= ";
cin>>a;
cout<<"b= ";
cin>>b;
if (a<b)
{
a=a+b;
b=a-b;
a=a-b;
cout<<a<<", "<<b;
}
else
cout<<"a mai mare ca
b";
}
Algoritm de interschimbare
Var a,max:integer;
Begin
Read(a);
Max:=a;
While a<>0 do
Begin
If a>max then
Max:=a;
End;
Write(max);
End.
#include <iostream>
Using namespace std;
Int n,c,cif_max;
Int main()
{ cout<<n=;cin>>n;
While (n>0);
{ c=n%10;
If( c>cif_max)
Cif_max = c;
N=n/10;
}
Cout<<cifra maxima este;
Cout<<cif_max;
Return 0;
}
Program calcul;
var i,f1,f2,f3:integer;
begin
write(n=); readln(n);
f1:=1;
f2:=1;
write (f1, ,f2, );
for i:=3 to n do
begin
f3:=f1+f2;
write (f3, );
f1:=f2;
f2:=f3;
end;
end.
#include<iostream.h>
void main()
{
int i,n;
long f,p,a;
cout<<"n=";cin>>n;
p=a=1;
cout<<a<<" "<<p<<endl;
for(i=3;i<=n;i++)
{
f=p+a;
cout<<f<<endl;
a=p;
p=f;
}
}
Program nrprim;
Var n,i:integer;
h:Boolean;
Begin
write(n=); readln(n);
h:=true;
for i := 2 to trunc (sqrt (n))
do
if n mod i =0 then
h:=false;
if h then write (n, este numar
prim)
else write (nu este);
end.
#include<iostream.h>
void main()
{int numar,i,s;
s=0;
cout<<"Dati numarul";
cin>>numar;
for(i=1;i<=numar;i++)
{if(numar%i==0)
s=s+1;}
if(s==2)
cout<<"Numarul este prim"
else
cout<<"Numarul nu este prim"}
Numr prim
program cmmdcii;
var a,b,r,aux :integer;
begin
read(a);
read (b);
if a <b then begin
aux:=a;
a:=b;
b:=aux;
end;
while r<>0 do
begin
r:=a mod b
a:=b;
b:=r;
end;
write (cmmdc=,a);
end.
#include <stdio.h>
int main()
{
int a,b,r;
scanf("%d %d",&a,&b);
r = a % b;
while(r != 0)
{
a = b;
b = r;
r = a % b;
}
program calcul;
var a,b,cmmc,x,y,r:integer;
#include <stdio.h>
int main()
{
int a,b,r,c,x,y;
scanf("%d %d",&a,&b);
x=a;
y=b;
while(b!=0)
{
r=a % b;
a=b;
b=r;
}
printf("cmmdc= %d\n",a);
c=x*y/a;
printf("cmmmc= %d",c);
return 0;
}
begin
read(a);
read(b);
x:=a;
y:=b;
repeat
r:=a mod b;
a:=b;
b:=r
until r=0;
cmmc:=(x*y)/ a;
write (c.m.m.m.c=,cmmc);
end.
program cmmdcii;
var a,b:integer;
begin
read(a);
read (b);
while a<>b do
if a>b then a:=a-b
else b:=b-a;
write (cmmdc=,a);
printf("cmmdc= %d",b);
return 0;
}
#include <stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
while(a!=b)
{
if(a>b)
a=a-b;
else
Cmmmc a 2 numere
end.
b=b-a;
}
printf("cmmdc= %d",a);
return 0;
}
#include<iostream.h>
int v[25];
int i,n,li,ls,mij,gasit,x;
void main()
{
cout<<n=;
cin>>n;
cout<<Cauta elementul =;
cin>>x;
for(i=1;i<=n;i++)
{cout<<v["<<i<<"]=;
cin>>v[i];}
for(i=1;i<=n;i++)
cout<<v[i]<< ;
cout<<endl;
li=1; //limita inferioara
ls=n; //limita superioara
gasit=0;
Cutare binar
void
metoda_bulelor_imbunatatit(int
(&v)[20],int n)
{int i,ok,aux,p,x;
p=n;
do{
ok=1;
for(i=1;i<=p-1;i++)
if(v[i]>v[i+1])
{ok=0;
aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
x=i;}
writeln;
{sortarea vectorului folosind
metoda bulelor}
repeat
ord:=true;
for i:=1 to n-1 do
if v[i]>v[i+1] then begin
aux:=v[i];
v[i]:=v[i+1];
v[i+1]:=aux;
ord:=false;
end;
until ord;
writeln('Vectorul sortat este: ');
for i:=1 to n do write(v[i],' ');
end.
p=x;}
while(ok==0);
}