Sunteți pe pagina 1din 10

Cuprins

Gndirea algoritmic .........................................................114


Problema cutrii ....................................................................12
Problema intrrii ntr-un cabinet medical ...............................23
Tipuri de date .............................................................................4
Identificatori ...........................................................................45
Constante ....................................................................................5
Variabil .....................................................................................5
Tipul Integer ...............................................................................5
Tipul Real ...................................................................................6
Tipul Char ..................................................................................6
Tipul Boolean .............................................................................6
Tipul String ............................................................................78
Vectorul ................................................................................910
Matricea (tablou bidimensional) .........................................1011
nregistrarea (record) ................................................................11
Fiierul text...............................................................................12
Structuri de date de tip liste ................................................1314
Cum putem implementa o list?.............................................13
Crearea unei liste .............................................................1314
Afiarea elementelor listei .....................................................14
Inserarea unui element n list ...............................................14
tergerea unui element din list .............................................14
Proceduri ........................................................................... 1521
Media aritmetic .................................................................1516
Ariile unor figuri geometrice ..............................................1618
ir de numere n fiier ........................................................ 1819
Laturi n triunghi ................................................................1920
Interschimbarea a dou linii ntr-o matrice .........................2021
Funcii................................................................................ 2235
Media aritmetic al perechii de numere ....................................23
Suma cifrelor unui numr .........................................................24
Numr prim ........................................................................2425
Elementele prime ale unui ir ............................................. 2526
Ordonarea a trei numere ..................................................... 2627
Unghiuri n grade i radiani ................................................2728
Perechi de numere .............................................................. 2930
Frecvenele caracterelor ntr-un ir .....................................3031

Platouri de lungime maxim ntr-un ir ..............................3133


Cel mai mare divizor comun ..............................................3335
Recursivitate .....................................................................3648
Conceptul de recursivitate ........................................................36
Inversarea unui cuvnt..............................................................36
irul Fibonacci .........................................................................37
Cel mai mare divizor comun ....................................................38
Funcia Ackermann ............................................................3839
Numrare ............................................................................ 3940
Anagrame ........................................................................... 4041
Generare ............................................................................. 4142
Conversie............................................................................4243
Codul Gray .........................................................................4344
irul mediilor aritmetico-geometrice al lui Gauss ..............4445
Evaluarea unei expresii aritmetice ......................................4648
Metoda Divide Et Impera ................................................4859
Cel mai mare divizor comun ..............................................4951
Problema turnurilor din Hanoi..................................................51
Problema tieturilor ............................................................5253
Algoritmi de cutare. Cutarea binar ................................ 5455
Merge Sort sortare prin inreclasare..................................5557
QuickSort - Sortare Rapid ................................................ 5859
Metoda BackTracking......................................................6083
Descrierea general a metodei ..................................................60
Probleme reginelor .............................................................6062
Generarea elementelor combinatorice ................................6266
Generarea permutrilor .................................................... 6263
Generarea aranjamentelor ................................................6465
Generarea combinrilor ................................................... 6566
Partiiile unei mulimi .........................................................6668
Partiiile unui numr natural ...............................................6869
Plata unei sume cu monede de valori date .......................... 6971
Paranteze ............................................................................ 7173
Comis-voiajor ..................................................................... 7376
Backtracking n plan .................................................................76
Labirint ............................................................................... 7679
Fotografie ........................................................................... 7981
Cel mai lung prefix .............................................................8183

Gndirea algoritmic
Problema cutrii
Exist i cazul care, pentru o aceeai problem putem
prezenta dou soluii, n care una este mai rapid ca alta. De
pild, fie un ir de numere natural oarecare, de exemplu
4,2,10,1,8,15,7. Vream s testm dac un numr dat (s zivem
numrul 8) se afl n aceast secven sau nu.
O astfel de cutare, prin parcurgerea de a stnga la dreapta
a ntregii secvene de numere, pn se gsete numrul dorit sau
se epuieaz toate elementele din secven, se numete cutarea
secvenial. Dac avem un ir S de n elemente (notat S[1..n]),
atunci cutarea secvenial a lui x n S se descrie prin:
Cutare_secvential(x,S[1..n]) nseamn
nceput
Fie elemental_curent = primul_element;
Att timp ct (elemental_curent <> x) si (pozitia elementului
current <= pozitia ultimului element (n)) execut
nceput
Dac elemental_curent = x atunci mesaj(gsit)
Altfel treci la urmtorul element
Sfrit
Sfrit.
n continuare s presupunem c numerele erau dj
ordonate cresctor 1, 2, 4, 7, 8, 10, 15. n acest caz particular,
cutarea secvenial a unui numr cum este 8 nu este prea
eficient, deoarece 8 se afl n a doua jumtate a secvenei, deci
ar fi de preferat s nu-l cutm n prima jumtate. Acest
procedeu este mai rapid:
Dac numrul din mijloc este mai mic dect numrul cutat,
atunci cutm a doua jumtate;

Dac numrul din mijloc este mai mare ca numrul cutat,


atunci cutm n prima jumtate;
Dac numrul din mijloc este egal cu numrul cutat, nseamn
c am gsit numrul n cauz i trebuie s oprim cutarea.
Cutarea n jumtatea aleas se face tot la fel, deci se va
njumti i aceast zon
Procedeul anterior se numete cutare binar, deoarece, de
fiecare dat, o secven de numere este divizat n dou
jumti. Putem descrie cutarea binar a unui numr x ntr-o
secven S[1..n] astfel.
Cutarea_binar(x, S[1..n]) nseamn
nceput
Stabileste elemental_curent ca fiind elemental din mijlocul
secventei;
Dac n=1 atunci
Dac x = elemental_curent atunci mesaj(gsit)
Altfel mesaj(negsit)
Altfel
nceput
mparte secventa n cele dou jumtti (S[1..mijloc] si
S[mijloc+1..n]);
Dac elemental_curent = x atunci mesaj(gsit)
Altfel
Dac elemental_curent < x atunci
Cutare_binar(x,S[mijloc+1..n])
Altfel cutarea_binar(x.S[1..mijloc])
Sfrit
Sfrit.

Problema intrrii ntr-un cabinet medical


Dac un om vrea s intre pentru consult la un medic,
atunci, mai nti va bate la u: dac medicul rspunde prin
poftim!, atunci va intra, atlfel va atepta pn cnd pacientul
dinuntru va iei; abia dup ce cabinetul va fi liber, va intra.
2

Intrare_la_medic nseamn
nceput
Bate la_u;
Dac rspunsul = poftim! atunci
ntr_n_cabinet;
Altfel
nceput
Att timp ct cabinetul_este_ocupat_de_alt_pacient
execut
Citeste_un_ziar;
Sfrit
Sfrit.
O intruciune compus este format dintr-o secven de
intruciuni, ncadrate de cuvinte nceput i sfrit, care pot
conine, la rndul lor, blocuri de alternativ i repetiie.
Programarea este tehnica realizrii de algoritmi descrii
prin proceduri i programe. Ea devine o art, atunci cnd se
folosesc cele trei elemente de structurate i se numete
programare structurat. Pentru a vedea ce ar nsemna
programare nestructurat, s reconsiderm procedura de intrare
n cabinetul medical:
Intare_la_medic nseamn
nceput
Bate_la_u;
Dac rspunsul = poftim! atunci intr_n_cabinet;
Altfel nceput
Att timp ct cabinetul_este_ocupat_de_alt_pacient execut
Citeste_un_ziar;
ntr_n_cabinet
Sfrit
Sfrit.

Proceduri
Media aritmetic
Realizai un program care calculeaz i afieaz media
aritmetic a dou numere reale x i y.
Program Media_aritmetica;
Var
media,x,y:Real;
Begin
Write(Dati numerele:);
ReadLn(x,y);
Media:=(x+y)/2;
WriteLn(Media=Media:8:2);
End.
Cu Procedure...
Program Media_aritmetica;
Var
media,x,y:Real;
Procedure media_calcul;
Begin
Media:=(x+y)/2;
WriteLn(Media=,Media:8:2);
End;
Begin
Write(Dati numerele:);
ReadLn(x,y);
media_calcul;
ReadLn;
End.

15

Sau
Procedura Media_calcul conine toate aciunile algoritmului: citirea numerelor, calcul i afiarea mediei aritmetice.
Program Media_aritmetica;
Var
media,x,y:Real;
Procedure media_calcul;
Begin
Write(Dati numerele:);
ReadLn(x,y);
Media:=(x+y)/2;
WriteLn(Media=,Media:8:2);
End;
Begin
media_calcul;
ReadLn;
End.

Ariile unor figuri geometrice


Scriei un program care, n funcie de dorina utilizatorului,
calculeaz i afieaz: aria unui ptrat de latur L, sau aria unui
cerc de raz r, sau aria unui triunghi cu baza b i nlimea h.
Pentru calcul i afiarea fiecreia din cele trei arii, se va folosi
cte o procedur.
Program aria;
Const
pi=3,14159;
Var
opt:Integer;

16

Funcii
La fel ca i procedurile, funciile efectueaz anumite
operaii, dar n plus a foncie ntoarce o anumit valoare.
Tipul valorii returnate se precizeaz la sfritul antetului finiei,
fiind precedat de caracterul dou puncte. Valoarea pe care o
returneaz o funcie poate fi folosit apoi n modul apelant i n
celelalte module componente.
Sintaxa:
Function <id_fct> (<L1>:<tip1>; <L2>:<tip2>; ...;
<Ln>:<tipn>): <tipr>;
...
{declaraii de variabile locale}
Begin
...
{corpul funciei}
End;
<id_fact> - identificatorul
<L1>,<L2>,...,<Ln> - sunt liste de paramateri
<tip1>,<tip2>,...,<tipn> - tipurile parametrilor
<tip_r> - tipul valorii returnate
Exemplu:
Program Media;
Var
x,y:Real;
Function calcul(a,b:Real):real;
Begin
Calcul:=(a+b)/2;
End;
Begin
Write(x,y=);
22

ReadLn(x,y)
ReadLn(Media=,calcul(x,y));
ReadLn;
End.

Media aritmetic al perechii de numere


Realizai un program care citete de la tastatur dou
perechi de numere (x1,x2) i (y1,y2), calculeaz media
aritmetic a numerelor fiecrei perechi, apoi determin cea mai
mare dintre mediile obinute.
Progam media_2;
Var
m1,m2,x1,x2,y1,y2:Real;
Function calcul(x,y:Real):Real;
Begin
Calcul:=(x+y)/2;
End;
Begin
Write(x1,x2=);
ReadLn(x1,x2);
M1:=calcul(x1,x2);
Write(y1,y2=);
ReadLn(y1,y2);
M1:=calcul(y1,y2);
If M1>M2 Then
WriteLn(M1)
Else
WriteLn(M2);
ReadLn;
End.

23

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

  • Clopotniţa - Copia Druta
    Clopotniţa - Copia Druta
    Document188 pagini
    Clopotniţa - Copia Druta
    Ganqt Cristicchi-rosa
    100% (1)
  • Factorii Ce Determina Dezvoltarea Psihica A Copilului
    Factorii Ce Determina Dezvoltarea Psihica A Copilului
    Document2 pagini
    Factorii Ce Determina Dezvoltarea Psihica A Copilului
    Ganqt Cristicchi-rosa
    Încă nu există evaluări
  • 2
    2
    Document6 pagini
    2
    Ganqt Cristicchi-rosa
    Încă nu există evaluări
  • Referat L. Lab 9
    Referat L. Lab 9
    Document3 pagini
    Referat L. Lab 9
    Ganqt Cristicchi-rosa
    Încă nu există evaluări
  • Refer Atul
    Refer Atul
    Document6 pagini
    Refer Atul
    Liliana Condrea
    Încă nu există evaluări
  • Masa Pdfs
    Masa Pdfs
    Document12 pagini
    Masa Pdfs
    Ganqt Cristicchi-rosa
    Încă nu există evaluări
  • Anul II 2018 Semestrul III
    Anul II 2018 Semestrul III
    Document30 pagini
    Anul II 2018 Semestrul III
    Ganqt Cristicchi-rosa
    Încă nu există evaluări
  • Arta
    Arta
    Document1 pagină
    Arta
    Ganqt Cristicchi-rosa
    Încă nu există evaluări
  • Tpa 1
    Tpa 1
    Document4 pagini
    Tpa 1
    Ganqt Cristicchi-rosa
    Încă nu există evaluări
  • Temaa
    Temaa
    Document1 pagină
    Temaa
    Ganqt Cristicchi-rosa
    Încă nu există evaluări
  • Conflict Din Transnistria
    Conflict Din Transnistria
    Document13 pagini
    Conflict Din Transnistria
    Ganqt Cristicchi-rosa
    Încă nu există evaluări
  • CELULOZA
    CELULOZA
    Document9 pagini
    CELULOZA
    Ganqt Cristicchi-rosa
    Încă nu există evaluări
  • Presentazione Standard1
    Presentazione Standard1
    Document2 pagini
    Presentazione Standard1
    Ganqt Cristicchi-rosa
    Încă nu există evaluări
  • Grupa Mijlocie
    Grupa Mijlocie
    Document2 pagini
    Grupa Mijlocie
    Ganqt Cristicchi-rosa
    Încă nu există evaluări
  • VFVFVFV
    VFVFVFV
    Document10 pagini
    VFVFVFV
    Ganqt Cristicchi-rosa
    Încă nu există evaluări
  • Exerciţii
    Exerciţii
    Document90 pagini
    Exerciţii
    Ganqt Cristicchi-rosa
    Încă nu există evaluări
  • Duten Macu Ma
    Duten Macu Ma
    Document1 pagină
    Duten Macu Ma
    Ganqt Cristicchi-rosa
    Încă nu există evaluări
  • Suport Curs
    Suport Curs
    Document238 pagini
    Suport Curs
    Flavius Gabi Maxim
    Încă nu există evaluări
  • Effe
    Effe
    Document1 pagină
    Effe
    Ganqt Cristicchi-rosa
    Încă nu există evaluări
  • Ministerul Educatiei Din Republica Moldova Colegiul Pedagogic
    Ministerul Educatiei Din Republica Moldova Colegiul Pedagogic
    Document1 pagină
    Ministerul Educatiei Din Republica Moldova Colegiul Pedagogic
    Ganqt Cristicchi-rosa
    Încă nu există evaluări
  • Regulile de Grup
    Regulile de Grup
    Document4 pagini
    Regulile de Grup
    Ganqt Cristicchi-rosa
    Încă nu există evaluări
  • Pascal
    Pascal
    Document10 pagini
    Pascal
    Ganqt Cristicchi-rosa
    Încă nu există evaluări