Sunteți pe pagina 1din 18

Ministerul Educatiei si Tineretului Republicii Moldova

Universitatea Tehnica a Moldovei


Facultatea Calculatoare, Informatica si Microelectronica
Raport
Catedra Calculatoare
Lucrare de laborator
1!"
A efectuat: st# $r# C1"1 Cotofana %alentin
A verificat: dr#,conf#univ Marin &tefan

Chsnau 2013
Tema:1. Cartea de vzt a studentuu
nformatcan .
2. Programarea probemeor smpe n baza
agortmor cu structur ramfcate ccce.
Scopul lucrarii: aprecierea 'i eviden(ierea nivelului de cuno'tin(e a fiec)rui student *n
domeniul informaticii, acumulate *n liceu, *n mod deosebit al$oritmi+area, pentru elaborarea sau
rectificarea unui plan individual de studiu la lucr)rile practice 'i lucr)rile de laborator pe parcursul
semestrului#
,e studiat modul de reali+are a dialo$ului utili+atorului *n &- 'i mediului inte$rat fie Turbo C.C//, fie
0orland C.C// #
Familiari+area cu tehnicile de lucru *n mediul inte$rat fie Turbo C.C//, fie 0orland C.C// ##
1profundarea cuno'tin(elor *n implementarea limba2ului C la procesarea elementelor introductive,
ramificate 'i ciclice *n pro$ramare, eviden(iind specificul implement)rii constantelor, e3presiilor 'i
instruc(iunilor de citire 'i afi'are, ramificative 'i ciclice cu if 'i case#
4erfec(ionarea tehnicilor de derulare, verificare 'i testare a pro$ramelor *n C#
II. Notiuni teoretice
1. Consdera[ teoretce nsute
1.1. Rspunsur a punctee prncpae dn ndrumar .De
exempu:
1.1 Cunotn[e n domenu cacuatoruu:
Componentee fzce ae unu cacuator(hardware):
Paca de baz :
Aceasta repreznt cea ma mportant component afat n carcas ; ma
este denumt paca prncpa.
Pe PLACA DE BAZA se af apcate urmtoaree
componente : 1. MICROPROCESORUL
Prncpaee caracterstc ae unu procesor sunt:
canttatea de memore ce poate f ctt a un moment dat
vteza de execu[e a opera[or
ungmea cuvntuu care repreznt nstruc[unea
2 . HARD DISK UL
Repreznt untatea de stocare a dateor n cacuator.
3 . PLACA VIDEO
Face posb afarea magnor pe montor. PLACA VIDEO este nzestrat
cu mcroprocesor propru numt acceerator grafc cu memore propre
numt memore vdeo. 4 .MEMORIA INTERNA
Memora ntern este ocu n care sunt aduse programee datee pentru a f
preucrate de procesor. Cu ct memora ntern este ma mare cu att
programee se execut ma rapd.
5. UNITATEA DE DISKETA
Servete a ctrea / screrea dateor pe dscur de capact[ ma mc
numte dskete.
6 .UNITATEA DE CD ROM
Este ntnt pe cacuatoaree moderne, perm[nd ctrea dscuror optce.
Dspoztve externe :
1. Montoru este un suport de ere pe care cacuatoru scre rezutatee
preucrror, mesa|ee pentru utzator nforma[e despre starea
sstemuu.
2. Tastatura este un dspoztv de ntrare care permte ntroducerea
nforma[e n form textua.
3. Mouse-u este un dspoztv de ntrare care permte ntroducerea nforma[e
n form grafc.
4. Imprmanta este un dspoztv de ere care permte tprrea nforma[e
pe hrte. Cunotn[e dn domenu software :
Ssteme de operare : GNU/Lnux(RedHat Lnux, Fedora(Core), Ubuntu, Kubuntu,
ASPLnux, Knoppx, Suse Lnux,Lnux From Scratch), FreeBSD, OpenBSD, NetBSD,
PCBSD.
Apca[ cunoscute : OpenOffce.org, AbWord, Gnumerc Spreadsheet, GIMP Image
Edtor, Bender, Ocad,Inkscape Vector Iustrator.
Lmba|e de programare : BASH, Assember(sntaxa AT&T), C, Pasca(Pasca
standard,Turbo Pasca, Ob|ect Pasca), PHP, HTML, |avaScrpt, |ava(+SWT), UML.
Medu de programare : An|uta, Ecpse SDK, Ouanta+,V/Vm, Emacs.
Instrumente a|uttoare : CVS, Subverson, Make, Gmake, Autoconf, AutoMake,
|avadoc, |unt, Ant, SSH, Rsync, GRUB, Lo.
III. Noiuni generale
1.1 Etapa de implimentare a codului in C/C++
S detaem n contnuare etapa de mpementare. Dup anaza probeme
stabrea agortmuu, acesta trebue tradus (mpementat) ntr-un mba| de
programare.
Screrea (edtarea) programuu surs.
Programee surs sunt fere text care con[n nstruc[un (cu sntactca
semantca propr mba|uu utzat). Programu (feru) surs este creat cu a|utoru
unu edtor de texte va f savat pe dsc (programee surs C prmesc, de obce,
extensa .c, ar cee C++, extensa .cpp).
Pentru a putea f executat, programu surs trebue compat nkedtat.
Comparea
Execu[a
Lansarea n execu[e const n ncrcarea programuu executab n memore
startarea execu[e sae.
1.2. Mediul integrat de dezvoltare Turbo C++ ( BorandC++ ) permte
edtarea, comparea, executa s depanarea programeor scrse n mba|ee C s C+
+. Medu contne un edtor, un compator, un edtor de egatur, un depanator.
Descrerea genera ae compatoruu-transatoruu(CT)
CT este compus dn tre pr[ prncpae :
1. Bara de menur
2. Edtoru text
3. Bara de statut
Lansarea in executie. Turbo C++ este un uttar DOS, nu Wndows.Poate f
ansat dntr-o fereastra DOS ( MS-DOS Prompt ):
>|cae| tc <Enter> , cae = cataogu ( subdrectoru ) n care se afa fseru
executab tc.exe.
ex: >C:\TCPP\BIN\tc
Lansarea trebue facuta astfe ncat utzatoru sa aba drept de screre n
drectoru curent - deoarece se creaza fsere temporare ( de swap ). Pentru
smpfcarea ansar, se creaza un Shortcut pe Desktop catre compator. Pentru ca
medu sa apara ntr-o fereastra Wndows - At/Enter.
Informatii autatoare se obtn prn urmatoaree combnat de taste ( hot keys )
- vez menu !elp:
- F1 nformat a|utatoare
- At+F1 fereastra de nformat anteroara
- Ctr+F1 nformat despre obectu ( cuvantu ) pe care este poztonat
cursoru
- Esc nchde fereastra a|utatoare.
"erea#tra principala a meduu de dezvotare cuprnde:
- Menu prncpa ( bara de menur de sus ) - se seecteaza prn F10 sau
combnata At+Ltera de seecte a unu submenu
- Lna de refernte rapde - apare n partea de |os a ecranuu s preznta
tastee functonae cee ma utzate s semnfcata or
- Spatu pentru ferestre ( zona de ucru ) - n care utzatoru s poate
deschde, ampasa s dmensona festree n care ucreaza:
- Fereastra de edtare, n care se va ntroduce codu sursa a
programuu. Un program poate f format dn ma mute fsere, caz n
care se poate deschde cate o fereasta de edtare pentru fecare fser.
In afara de ferestree de edtare, pot f deschse s
- Fereastra de mesa|e, n care se afseaza mesa|e de eroare sau
atentonare
- Fereastra de output, n care se poate vedea esrea programuu
( rezutatee tparte de program )
- Fereastra de watch n care utzatoru poate urmar vaoarea unor
varabe n tmpu execute programuu, ucru foarte ut a depanare
- Fereastra cu vaore regstror
Pentru ucru cu ferestree se utzeaza tastee:
- F6 - trecerea ( actvarea ) n urmatoarea fereastra
- F5 - pentru operata de zoom asupra ferestre curente
- At+nr- actvarea ferestre cu numaru preczat
- At+F3 - nchderea ferestre curente.
Meniul
principal:"ile$Edit$%earc&$Run$Compile$'ebug$(roect$)ption#$*indo+$!el
p
&electarea unui meniu se poate face prin5
- F10, tastee <-,-> s tasta ENTER
- At+prma tera a menuu dort (ex: At+O = Optons)
- prn tasta unversaa corespunzatoare (unee optun dn menur au taste
unversae atasate (Shortcuts), prn apasarea carora se actveaza
respectva optune ndferent de fereastra actva s menu actv;
- ex: At+X=esrea dn medu.
Pentru a n[eege cum func[oneaz softu dat , vom examna ma nt fecare
parte ae CT aparte:
,. -ara de meniuri ncude n sne aa menur ca :
"ile ( At+F ) n acest menu sunt ncuse func[e de operare cu feru
preucrat . Adc feru n care se con[ne sursa programuu . Datort acestu
menu avem posbtate s savm , deschdem sau nsu s creem un document
nou , n care pe parcurs vom nscrre programu prncpa.
- Opereaza cu fsere s drectoare, permte esrea n MS-DOS s esrea dn
medu:
- Open ( F3 ) - permte seectarea unu fser de pe dsc s ncarcarea sa n
edtor
- New - deschde o noua fereastra de edtare ( goaa ), avnd mpct
numee NONAMExx.CPP
- Run ( Ctr+F9 ) - executa programu. Daca sursa a fost modfcata de a
utma compare, se reazeaza automat nta comparea s nk-edtarea
sa.
- Program Reset ( Ctr+F2 ) - nchee sesunea de depanare curenta. Se
dezaoca memora aocata programuu s se nchd toate fseree utzate.
- Go to cursor ( F4 ) - executa programu pana a na pe care este
poztonat cursoru, fara a stab punct de ntrerupere permanent
( breakpont ).
- Trace Into ( F7 ) - executa nstructunea urmatoare dn program. Daca
aceasta contne un ape de functe, se va executa apeu, respectv bara
de execute se muta a nceputu functe respectve. Aceasta trasare se
poate reaza doar daca functa a fost compata cu optunea
Optons/Comper/Code Generaton/Ob| debug nformaton pe ON s codu
e sursa e dsponb.
- Step Over ( F8 ) - executa nstructunea urmatoare dn program, fara
trasare n nteroru functor.
- Arguments - permte trmterea catre functa prncpaa a
programuu, man, a unor argumente de ntrare.
Compile menu dat preznt un set de comande ce permt detectarea greeor
sntactce semantce ae programuu curent. Ac sunt ataate aa comenz ca
,nk, bud compe". Compeaza s creaza fseru executab:
- Compe ( At+F9 ) - compeaza sursa C crend un fser obect, a caru
nume este obtnut dn numee surse C, a care se adauga extensa .ob|
- Make ( F9 ) - creaza fseru executab efectuand comparea s nkedtarea
fsereor actuazate. Numee se obtne, n ordne descrescatoare a prortat,
dn numee fseruu proect, dn numee surse C sau dn numee utmuu
fser ncarcat.
- Lnk - reazeaza edtarea de egatur, crend fseru executab.
- Bud a - creaza fseru executab, compand s egand necondtonat toate
fseree proectuu.
- Remove Messages - sterge fereastra de mesa|e.
Debug 6 datorit) acestui meniu apar a'a posibilit)(i ca ata'area breac7 pointerilor 8breac7point9,
e3aminarea valorilor variabilelor pe parcursul e3ecut)rii pro$ramului 8inspect###9 'i a altor opera(ii de tipul
dat # Controlea+a sesiunea de depanare a pro$ramului e3ecutabil5
- Inspect ( At+F4 ) - permte urmarrea vaor unor varabe
- Evauate/modfy ( Ctr+F4 ) - permte evauarea s, optona, modfcarea
vaor une expres. Exsta dfert specfcator de format pentru afsare
- Ca stack ( Ctr+F3 ) - afseaza ntr-o fereastra sub forma de menu cu bara de
seecte, sta functor apeate pana n punctu curent de execute a
programuu. Permte vzuazarea ne executate curent dntr-o anumta
functe.
- Watches - permte defnrea unor varabe ae caror vaor se doresc a f
urmarte n tmpu execute ( depanar ). Acest menu are un submenu, care
ofer optune de adaugare, stergere, edtare a unor watch-ur
- Togge breakpont
- Breakpont - permt defnrea unor puncte de ntrerupere n program, a care
executa se va opr automat. Daca utzatoru permte reuarea execute
programuu, aceasta va contnua pana a urmatoru punct de ntrerupere.
(roect prn menu dat putem efectua opera[e de nchdere , deschdere ,
adugare sau tergere unor obecte ae nsu proectuu preucrat.
)ption# menu dat ncude n sne op[unee sstematce ae softuu dat.
*indo+ menu dat preznt comenze de preucrare ae ferestre de
redactare.
!elp acest menu ncude n sne , nforma[a despre productoru acestu soft
func[e (cu exempe de nterpretarea acestora n cadru eaborr ae programuu )
ae mba|uu C/C++ .
-. (latforma de editare ncude n sne panou (fereastra) de redactare ae
surse programuu .
(anoul de ediatare are posbtate de a schmba dmensnee sae. Datort
aceste opera[ avem posbtate s examnm nforma[a a panouror ce se af n
spatee panouu preucrat fr a se adresa a acea nsu.
Patforma dat ma are o prortate de afare ae panoului de compilare.
Aceast fereastr ne d posbtate dup efectuarea opera[e de compare nk-
ure ae coduu programe , s afeze greee sntactce sau semantce ae
surse programuu preucrat.
C. -ara de %tatut n bara dat se afeaz nforma[a despre butoanee
ferbn[ ae comenzor casce ae compatoru dat.
Pentru a smpfca ucru utzatoruu asupra softuu dat , ac apare posbtatea
de a se foos de combna[e de taste pentru efectuarea unor comenz , fr a se
adresa a menur corespondente. De exempu : Pentru a efectua opera[a de
compare tastm At+F9 sau pentru a se adresa a bara de menur tastm butonu
F10.
Fg1. Fereastra prncpa ae copatoruu- transatoruu
Borand C .
.arianta/10
Ra#pun#uri la 1ntreb2rile de la autocontrol:
2.1. Verificai dac sunt corecte constatele ntregi? Pentru restul
constantelor determinai tipul i valorile
123 , 1E6 , 123456789LU " -5 , 0XFUL "
0 , 058 " \x7 , 0X-1AD " \122 ,
00123 " 0xffffffL " 01A " -x " x ,
aU " 0731UL " \n , +0xaf " 0X0 ,
2.2. Verificai dac sunt corecte constatele reale? Pentru restul
constantelor determinai tipul i valorile
1.71 , 1E-6 , 0.314159E1F " .005 ,
0051E-04 "
5.E+2 " 0e0 " 0x1A1.5 " 05.5 "
0 ,
0X1E6 0F " 1234.56789L " 1.0E-10D " 3.1415U "
1e-2f " -12.3E-6 +10e6 , 123456L " E-6 ,
2.!. Verificai dac sunt corecte expresiile? "eterminai tipul i
valorile.
nt a, b, c, d, e; a = 2; b = 13; c = 7; d = 19; e = -4;
b / a / c , foat d / a % c , ntreg c % d-e,
ntreg -e % a + b / a -5+5 "
b % e ,ntreg 7-d%+(3-a) " b % - e c " 9 / c - -
20 / d "
2.#. Verificai dac sunt corecte exerciiile? "eterminai tipul i
valorile
nt a, c; c = 5;
a). c ++ ; A ntreg b). a = 2 c++ ; A (a=10) c). c += 1; A ntreg
(c=12) d). a = c++ + c; A (a=10)
a = 2 c; (a=12) ntreg a = c + c;
e). ++c; A (6) f). a = ++ c + c; A (c=12) g). a = c += 1 + c; F h). a =
(c+=1)+c; a = c + c; F
2.#. Verificai dac sunt corecte exerciiile? "eterminai tipul i
valorile.
nt a, c; c = 5;
a). -- c ; A (4) b). a = -- c / 2; A(2) c). c -= 1; (4) d). a = c -- /
2; a = c / 2; a = c % 2; A(0)
e). a = c -= 1/2;F f). a = (c = c - 1)/2 ;F g). a = (c -= 1)/2; F h).
a=(c-= 1)/2.0; F
2.$. Verificai dac sunt corecte exerciiile? "eterminai tipul i
valorile
nt a, b, c; a = 2; b = 6; c = 3;
- - - a (2) -- - a F b-- - a (2) a += a ++ (5) ++ b /
a ++ --c (3)
a --- b (1) - a-- -b(1) a ++ = b F a = a ++(3) b+
+ / ++a c (3)
- --a (1) a- --c(2) a ++ = a ++ F a = b (6) a =
( b + 1 ) ++ (8)
2.%. Verificai dac sunt corecte exerciiile? "eterminai tipul i
valorile
nt , |, k, m; char c, d; = 1; | = 2; k = -7; m = 0; c = w;
d = a+1 < c " m = - - 5 | >= k+1 , + |++ + k = = -2| ,
m = 3 < | < 5 " m = 3 = = | < 5 " m = = c = w "
m = c != 87 " m = c = ! 87 " m = ! c = 87 "
m = !c+87 , ! m = =c + 87 " m ! = c + 87 ,
2.&. "e scris expresiile ec'ivalente n () ns s nu conin
operatorul *
! ( a>b ) (a<b) ! ( 2a == b+4 ) (2*a<>b+4) ! ( a<b &&
c<d ) (a>b && c>d)
! ( a<2 || a>5) (a>2||a<5) ! ( a<1 || b<2 && c<3 ) (a>1||b>2 && c>3)
2.1+. (e se va afia n re,ultatul efecturii urmtorului fragment de
program?
. . .
#ncude<stdo.h>
#ncude<cono.h>
#ncude<math.h>
man() {
short s; nt ; ong ng; foat f; doube d;
s = = ng = f = d = 100/3;
prntf("s = %hd = %d ng = %d f = %f d = %f\n", s, , ng, f, d);
d = f = ng = = s =100/3;
prntf("s = %hd = %d ng = %d f = %f d = %f\n", s, , ng, f, d);
s = = ng = f = d = 1000000/3;
prntf("s = %hd = %d ng = %d f = %f d = %f\n", s, , ng, f, d);
d = f = ng = = s =1000000/3;
prntf("s = %hd = %d ng = %d f = %f d = %f\n", s, , ng, f, d);
ng = s = f = = d =100/3;
prntf("s = %hd = %d ng = %d f = %f d = %f\n", s, , ng, f, d);
f = s = d = ng = = (doube)100/3;
prntf("s = %hd = %d ng = %d f = %f d = %f\n", s, , ng, f, d);
s = = ng = f = d = 100/(doube)3;
prntf("s = %hd = %d ng = %d f = %f d = %f\n", s, , ng, f, d);
f = s = d = ng = = (doube)100/3;
prntf("s = %hd = %d ng = %d f = %f d = %f\n", s, , ng, f, d);
= s = ng = d = f = (doube)(100/3);
prntf("s = %hd = %d ng = %d f = %f d = %f\n", s, , ng, f, d);
getch();
}
2.11. (e se va afia n re,ultatul efecturii urmtorului fragment de
program?
#ncude<stdo.h>
#ncude<cono.h>
vod man() {
doube d = 3.2, x; nt = 2, y;
crscr();
x = ( y = d / ) * 2; prntf ("x = %f ;y = %d\n", x, y);
x = ( y = d / ) * 2; prntf ("x = %d ;y = %f\n", x, y);
y = ( x = d / ) * 2; prntf ("x = %f ;y = %d\n", x, y);
y = d * ( x = 2.5 / d); prntf ("x = %f; y = %d\n", x, y);
x = d * ( y = ( (nt)2.9 + 1.1)) / d; prntf ("x = %d y = %f\n", x, y);
getch();
}
1#1,e elaborat al$oritmul pentru pro$ramul T48pr1:"!;9 de mai 2os#
< ,e ob(inut toate combina(iile din 1: elemente 81,###,1:9, c=te > elemente in fiecare ?
pro$ram 1:"!;
const n@1:; num@>;
var i5inte$er;
a5arraAB1##nC of 1##n;
procedure tipareste;
var i5inte$er;
be$in
for i5@1 to num do Drite8aBiC,E E9;
Driteln;
end;
procedure permuta875inte$er9;
var i,35inte$er;
be$in
if 7@1 then tipareste else be$in
for i5@1 to 7 do be$in
35@aBiC;aBiC5@aB7C;aB7C5@3;
permuta8719;
35@aBiC;aBiC5@aB7C;aB7C5@3;
end;
end;
end;
be$in
for i5@1 to n do aBiC5@i;
Driteln;
permuta8n9;
end#

Agortmu programuu:
Prncpa Procedura tpareste Procedra
permatar
2.1 Listing-ul programului
//"i#ierul 34ab2.&5
6include 7conio.&8
6include7#tdio.&8
main 9: ;
int i$$<$d=
for 9i>1=i711=i++:
;
for 9>1=711=++:
;
for 9<>1=<711=<++:
;
for 9d>1=d711=d++:
;
if 9 9i?>: @ 9?><:@ 9<?>d: @ 9i?><: @ 9i?
>d: @ 9?>d::;
printf9ABd Bd Bd Bd CtA$i$$<$d:=
printf 9A A:=
Dd+1=
D<+1=
D+1=
Di+1=
Dgetc&9:= D
Rezultatele obtinute9#creen#c&ot#::
2.2. Sunt date 4 varabe dferte a,b,c,d; de gast care sunt negatve s de
afsat.
Listing-ul programului
# ncude <stdo.h>
#ncude <cono.h>
#ncude <ostream>
usng namespace std;
nt man()
{nt a,b,c,d;
prntf ("a = ");
scanf ("%d", &a);
prntf ("b = ");
scanf ("%d", &b);
prntf ("c = ");
scanf ("%d", &c);
prntf ("d = ");
scanf ("%d", &d);
f (a<0) prntf ("a=%d\n",a);
f (b<0) prntf ("b=%d\n",b);
f (c<0) prntf ("c=%d\n",c);
f (d<0) prntf ("d=%d\n",d);
return 0;
}
Agortmu programuu:
Concluzia:
Am obtinut cunostinte si noi experiente in formarea algoritmilor
cu structura ramificata si ciclica. Efectiund programul de mai
sus ne-am convins ca toate functioneaza corect. Programul dat
efectueaza combinarea a cite patru(4) cifre in dependenta ce
diapazon ii oferim. El cauta toate combinatiile posibile dar si
exclude situatia ca intr-o combinatie sa existe doua cifre egale
(aceiasi cifra de doua ori intr-o combinatie).Elaborind
programul in C am capatat primele cunostinte in domeniul dat
,totodata m-am familiarizat cu programul codeblos.

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