You are on page 1of 14

Edicions UPC

Inici
Fonaments dInformtica
Contingut
Sessions de Teoria
 

 

Pgina 1 de 29

Tornar

Pantalla Completa

Tancar

Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 1/29

Contingut
Edicions UPC
1 Introducci a la programaci 3
Inici
2 Conceptes bsics de Programaci Estructurada
Contingut en C++ 9

  3 Esquemes algorsmics bsics 36

  4 Subprogrames: Accions i funcions 54

Pgina 2 de 29 5 Tipus Estructurats: Taules i tuples 74

Tornar 6 Disseny Descendent 103


Pantalla Completa

Tancar

Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 2/29
1. Introducci a la programaci

1. Introducci a la programaci
Edicions UPC

Motivaci
Inici

La programaci s una disciplina fonamentada en:


Contingut

Teoria
  Metodologia
 
Conjunt de tcniques
que contribueixen a que sigui una tasca:
Pgina 3 de 29

Efica
Tornar Eficient
Pantalla Completa Paradigmes de programaci: imperativa, orientada a
objectes, genrica, ...
Llenguatges dalt nivell: C, Pascal, C++, Java, ...
Tancar

Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 3/29

1. Introducci a la programaci

Edicions UPC

Inici
Desenvolupament dun programa

Contingut
Les etapes per a desenvolupar un programa sn bsica-
  ment:

 
Entendre/especificar el problema
Plantejar/planificar la soluci
Pgina 4 de 29
Formular la soluci
Tornar
Avaluar la correcci de la soluci proposada
Pantalla Completa La formulaci de la soluci es basa en el concepte
dalgorisme.
Tancar

Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 4/29
1. Introducci a la programaci

Edicions UPC
Desenvolupament dun programa
Inici
Problema
Contingut
1. Anlisi de requeriments. Definici i especificaci del problema
 
2. Disseny del programa
 

3. Implementaci del programa


Pgina 5 de 29

4. Proves
Tornar

Pantalla Completa
Programa

Tancar 5. Operaci, millores i manteniment

Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 5/29

1. Introducci a la programaci

Edicions UPC
Definici de conceptes

Inici

Algorisme: descripci no ambigua i precisa daccions que


Contingut cal realitzar per a resoldre un problema ben definit en
un temps finit.
 
Problema ben definit: saber quin s lestat inicial, Pre-
  condici, i quin s lestat final, Postcondici.
Processador: entitat capa de comprendre i executar un al-
Pgina 6 de 29
gorisme.
Tornar
Entorn: conjunt dobjectes necessaris per dur a terme una
tasca determinada.
Pantalla Completa
Un algorisme parteix dun estat inicial del entorn i el
Tancar modifica fins arribar a un estat final que es correspond
amb la soluci del problema.
Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 6/29
1. Introducci a la programaci

Edicions UPC
Definici de conceptes
Inici

Acci: esdeveniment finit en el temps que pot modificar i/o


Contingut
observar lentorn.
  Acci elemental: acci que el processador de lalgorisme
s capa dentendre.
 
Programa: quan el processador es un ordenador,
Pgina 7 de 29 lalgorisme expressat amb un conjunt daccions que
entn lordenador sanomena programa.
Tornar
Llenguatge de programaci: sha de conixer la sintaxis i
Pantalla Completa la semntica dels seus elements.
Ens interessen les tcniques de programaci, no els
Tancar
detalls del llenguatge!
Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 7/29

1. Introducci a la programaci

Edicions UPC

Inici
Objectius
Contingut

 
Lobjectiu bsic del curs s dissenyar i implementar pro-
grames de forma:
 
Correcta: qualitat fonamental i imprescindible
Pgina 8 de 29 Intelligible: clar i ben estructurat.
Tornar
Eficient: rpid i fa un bon s dels recursos
(memria).
Pantalla Completa
General: de fcil s, manteniment, etc.
Tancar

Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 8/29
2. Conceptes bsics de Programaci Estructurada en C++

2. Conceptes bsics de Progra-


Edicions UPC
maci Estructurada en C++
Inici

Estructura dun programa


Contingut
// Declaraci de llibreries
< >
 
using namespace
  // Programa principal
int
Pgina 9 de 29 // Declaraci dobjectes

Tornar
// Accions/Sentencies
<< <<
return
Pantalla Completa

Tancar

Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 9/29

2. Conceptes bsics de Programaci Estructurada en C++

Edicions UPC
Objectes

Inici Lentorn dun programa est format per objectes lestat dels
quals es pot observar i/o modificar. Un objecte t tres
Contingut atributs:

 
Nom o identificador
Tipus
 
Valor
Pgina 10 de 29

Tornar

Pantalla Completa

Tancar

Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 10/29
2. Conceptes bsics de Programaci Estructurada en C++

Identificadors:
Edicions UPC

s una seqncia de carcters (lletres, dgits i subratl-


Inici lats) i serveix per identificar de forma unvoca lobjecte.
Contingut
El primer carcter ha de ser una lletra o el subratllat
Las lletres minscules i majscules sn diferents
 
Poden tenir qualsevol longitud (en alguns compi-
 
ladors est restringida)
No poden haver-hi espais en blanc
Pgina 11 de 29
No es poden utilitzar les paraules reservades -
utilitzades per el propi llenguatge- com per exemple
Tornar
, , , , etc.
Pantalla Completa
Exemples
Tancar

Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 11/29

2. Conceptes bsics de Programaci Estructurada en C++

Concepte de tipus:
Edicions UPC

Conjunt finit de valors


Operacions aplicables als elements del conjunt. Les
Inici

Contingut
operacions poden ser:
Externes
 
Internes
 
i al mateix temps:
Pgina 12 de 29 Totals
Parcials
Tornar

Pantalla Completa

Tancar

Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 12/29
2. Conceptes bsics de Programaci Estructurada en C++

Valors:
Edicions UPC

Lobjecte noms pot tenir un dels valors especificats per


Inici el seu tipus. Depenent de si el seu valor es pot modi-
ficar o no un objecte pot ser:
Contingut

Constant
  Variable
 

Pgina 13 de 29

Tornar

Pantalla Completa

Tancar

Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 13/29

2. Conceptes bsics de Programaci Estructurada en C++

Edicions UPC
Classificaci dels tipus

Inici Tipus elementals o predefinits: els proporcionats pel


llenguatge de programaci.
Tipus definits per lusuari. C++ ofereix mecanismes
Contingut

 
per definir tipus nous a partir dels tipus existents (pre-
definits o definits prviament).
 

Pgina 14 de 29
Tipus elementals de C++

Tornar
C++ ofereix tipus predefinits per els valors lgics
(booleans), els carcters, els nmeros enters i els nmeros
Pantalla Completa reals.

Tancar

Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 14/29
2. Conceptes bsics de Programaci Estructurada en C++

Tipus lgic: bool


Edicions UPC
Rang de valors: false, true
Inici
Operadors interns: , , , , , <, < , >, >
Operadors externs:
Contingut Sintaxi de valors: false, true

  Taula de veritat dels operadors booleans:

 
!
true true false true true
Pgina 15 de 29 true false false false true
false true true false true
Tornar
false false true false false
Pantalla Completa
Lleis de Morgan
Tancar =
=
Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 15/29

2. Conceptes bsics de Programaci Estructurada en C++

Tipus carcter: char


Edicions UPC

Inici
Rang de valors: Conjunt finit de carcters alfanumrics
Operadors interns:
Contingut
Operadors externs: , , <, < , >, >
  Sintaxi de valors: Es representen posant el carcter al-
fanumric entre cometes simples. Ex-
  emples:

Pgina 16 de 29

Tornar

Pantalla Completa

Tancar

Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 16/29
2. Conceptes bsics de Programaci Estructurada en C++

Tipus enter: int


Edicions UPC

Inici
Rang de valors: Conjunt de valors enters compresos
entre un valor mnim i un
Contingut
valor mxim
  Operadors interns: (canvi de signe), , , , ,
Operadors externs: , , <, < , >, >
  Sintaxi de valors: Es representen tal i com ho fem nor-
malment. Exemples: , ,
Pgina 17 de 29
Notes:
Tornar
ha de ser o ms petit, ha de
Pantalla Completa
ser com a mnim
El tipus elemental int t les segents variacions (modi-
Tancar
ficadors): short, long. Els tres es poden combinar amb
unsigned.
Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 17/29

2. Conceptes bsics de Programaci Estructurada en C++

Edicions UPC
Utilitzant loperador i la llibreria
podem saber els bytes de memria que
Inici ocupa el tipus per a una implementaci / compilador
concret.
Contingut

 

 

Pgina 18 de 29

Tornar

Pantalla Completa

Tancar

Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 18/29
2. Conceptes bsics de Programaci Estructurada en C++

Tipus real: float, double, long double


Edicions UPC

Rang de valors: Conjunt finit de valors reals


Inici
Operadors interns: (canvi de signe), , , ,
Contingut
Operadors externs: , , <, < , >, >
Sintaxi de valors: Es representen sempre amb el punt
  decimal i opcionalment amb notaci
exponencial. Exemples: , ,
  , ,
Pgina 19 de 29 float, tamb anomenat de precisi simple, 3.4 1038
a 1.7 1038 (amb 7-dgits de precisi)
Tornar
double, tamb anomenat de precisi doble, 1.7
Pantalla Completa 10308 a 3.4 10308 (amb 15-dgits de precisi)
long double, tamb anomenat de precisi estesa,
3.4 104932 a 1.7 104932 (amb 18-dgits de pre-
Tancar

Sortir
cisi).

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 19/29

2. Conceptes bsics de Programaci Estructurada en C++

Edicions UPC
Tipus definits per lusuari: Tipus enumerats

Inici enum <nom> <valor1 > <valor2 > . . . <valorn >

Contingut

Exemples
 
enum
 

enum
Pgina 20 de 29

Tornar
enum
Pantalla Completa

Tancar

Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 20/29
2. Conceptes bsics de Programaci Estructurada en C++

Edicions UPC
Declaraci dobjectes: Declaraci de constants

Inici

const <tipus> <nom> <expressi> {, <nom> <expressi>}


Contingut

  Exemples
 
const double
Pgina 21 de 29
const double
const double
Tornar
const double
Pantalla Completa
const int
const char
Tancar const

Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 21/29

2. Conceptes bsics de Programaci Estructurada en C++

Edicions UPC
Declaraci dobjectes: Declaraci de variables

Inici

<tipus> <nom> { <expressi>} {, <nom> { <expressi>}}


Contingut

  Exemples
 
int
Pgina 22 de 29
double
double
Tornar
char
Pantalla Completa
bool false int

Tancar

Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 22/29
2. Conceptes bsics de Programaci Estructurada en C++

Expressions
Edicions UPC
Una expressi s qualsevol combinaci correcta
Inici
doperands i operadors.

Contingut
Sintaxi
Un valor s una expressi
 
Una variable s una expressi
  Una constant s una expressi
Pgina 23 de 29
Si E s una expressi (E) tamb ho s
Si E s una expressi i s un operador unari E
Tornar
tamb ho s
Pantalla Completa
Si E1 i E2 sn expressions i s un operador binari
E1 E2 tamb ho s
Tancar
Si E1, E2,. . . ,En sn expressions i f s una funci
Sortir
daritat n f (E1 , E2 , . . . , En ) tamb ho s

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 23/29

2. Conceptes bsics de Programaci Estructurada en C++

Exemples
Edicions UPC

Inici


Contingut

 
 



Pgina 24 de 29

Tornar
Pantalla Completa



Tancar

Sortir
Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 24/29
2. Conceptes bsics de Programaci Estructurada en C++

Avaluaci dexpressions
Edicions UPC El resultat davaluar una expressi s un valor i per tant t
un nic tipus.
Inici El resultat davaluar una expressi E s:
Contingut
Si E s un valor el resultat s directament el valor
Si E s una variable el resultat s el valor que cont la
 
variable en el moment de lavaluaci
  Si E s una constant el resultat s el seu valor (fixat a
la seva definici)
Pgina 25 de 29
Si E s (E1) el resultat s el resultat davaluar E1
Tornar Si E s E1 el resultat s el resultat daplicar loperador
unari al resultat davaluar E1
Si E s E1 E2 el resultat s el resultat daplicar
Pantalla Completa

Tancar
loperador als resultats davaluar E1 i E2
Si E s f (E1, E2, . . . , En) el resultat s el resultat
Sortir
daplicar f als resultats davaluar E1 , E2 . . . En
Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 25/29

2. Conceptes bsics de Programaci Estructurada en C++

Lordre davaluaci duna expressi es fa segons les


Edicions UPC
segents prioritats:
Inici 1. Les expressions entre parntesis avaluant primer els
parntesis ms interns
Contingut

2. Les funcions
 
3. (canvi de signe),
  4. , ,
Pgina 26 de 29
5. ,
6. , , <, < , >, >
Tornar

7.
Pantalla Completa
8.
Tancar Els parntesis serveixen per a modificar les prioritats.
A igualtat de prioritats savalua desquerra a dreta.
Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 26/29
2. Conceptes bsics de Programaci Estructurada en C++

Exemples davaluaci:
2
Edicions UPC   
  
Inici 1
2
  
Contingut    el resultat ser 1
1
2
    
   el resultat ser 0
  1
6
  
3
Pgina 27 de 29   
( ) (( ) ) ( )
        
2
 1  4

Tornar

5
4
Pantalla Completa   
2
  
Tancar   
Sortir
 1 
3
Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 27/29

2. Conceptes bsics de Programaci Estructurada en C++

Exemple: Programa longitud de la circumferncia


Edicions UPC

Inici // Declaraci de constants


const double
Contingut const double

int void
 
// Declaraci duna variable per guardar el radi
double
  // Demanem el valor del radi a lusuari
<<
Pgina 28 de 29 // El llegim i el guardem a la variable radi
>>
// Declarem una variable per a la longitud de
Tornar
// la circumferncia amb el valor corresponent
double
Pantalla Completa // Escrivim la longitud de la circumferncia
<<
Tancar <<

Sortir

Jordi
c Marco i Fatos Xhafa, 2006. Edicions
c UPC, 2006. 28/29

You might also like