UD3 PROGRAMACIÓ
Transcript of UD3 PROGRAMACIÓ
Llenguatges de programació
Creació d’un programa
› Tipus de dades i declaració de variables
› Estructures bàsiques de control
Entorn de treball de Gambas (Gambas
Almost Means Basic)
Començant amb Gambas
Algorismes i programes:
› Algorisme quan s’especifica i determinen
els pasos que s’han de seguir, així com
l’ordre en que s’han de donar, per a poderrealitzar o resoldre qualsevol activitat o
problema.
› Programa algorisme codificat o traduït a
un llenguatge de programació i que, pertant, entén l’ordinador.
Algorisme per a la preparació d’una truita: 1. Cascar els ous al plat
2. Afegir-los sal
3. Batre els ous fins que les clares i gemmes s’han mesclat
4. Encendre el foc de la cuina
5. Tirar oli a la paella
6. Ficar la paella amb l’oli a calfar
7. Comprovar la temperatura de l’oli
8. Quan l’oli està calent, tirar el contingut del plat
9. Esperar uns segons fins que es cualle la base dels ous
10. Doblegar pel centre la base dels ous
11. Esperar uns segons i tornar a doblegar
12. Compactar lleugerament la truita
13. Esperar uns segons fins que acaba de cuallar
14. Traure la truita de la paella
Llenguatges de programació: laprogramació és al branca de lainformàtica que permet crear programespropis per a resoldre distints problemes; pera això, és necessari utilitzar SW específic, anomenat genèricament llenguatges deprogramació.› Llenguatges de baix nivell
› Llenguatges d’alt nivell
› Llenguatges de 4ª generació
› Llenguatges orientats a objectes
Llenguatges de baix nivell:› Llenguatge màquina únic llenguatge que
entén l’ordinador ja que utilitza el codibinari, és a dir, 0 i 1.
Exemple: 0001 1010 0001 0010 (suma R1 i R2)acumula el resultat en R1
› Llenguatge ensamblador primer intent desubstituir al llenguatge màquina per un altremés paregut al que utilitzen les persones.
Exemple: Add R1,R2 (suma R1 i R2) acumula elresultat en R1
Llenguatges d’alt nivell:
› Aconseguir programes portables
› Aproximar més les instruccions al llenguatge
humà
› Subministrar llibreries de rutines amb les
funcions més utilitzades normalment
Llenguatges de 4ª generació: es crearen
per a solucionar problemes més
concrets i per a aplicacions molt
específiques (SQL i 4GL).
Llenguatges orientats a objectes: basats
en la programació estructurada, però, a
més a més, utilitzen diferents objectes o
controls gràfics (Visual C++, Visual
Java, Visual Basic, Gambas...)
La creació d’un programa s’had’abordar en una sèrie de fases que hande fer-se de forma seqüencial iordenada:1. Anàlisi del problema: estudi detallat del
problema, amb la finalitat de definir elprocés que s’haurà de seguir per aaconseguir l’automatització del problemaplantejat.
2. Recerca de l’algorisme: utilitzaciód’organigrames i pseudocodis.
3. Codificació del programa: es tradueix alllenguatge de programació escollit, l’algorismecrear en la fase anterior.
4. Fase de proves: detecció de possibles errorsde disseny.
5. Creació de l’executable: es tradueix elprograma a llenguatge màquina en el queapareix un arxiu *.EXE
6. Fase d’explotació i manteniment:desenvolupada diàriament amb l’ús delprograma; es realitzen canvis al programa pera solucionar errades i adequar-lo a les novesexigències dels usuaris.
Tipus de dades: › Constants el seu valor no canvia mai durant
l’execució del programa (MILL_METR)› Variables el seu valor canvia tantes voltes
com siga necessari (Dmillas, Dmetros)
A l’hora de nombrar una dada cal tenir encompte:a) Es pot utilitzar qualsevol dada alfanumèrica,
però sempre començant per una lletra
b) No es poden incloure espais en blanc
c) La longitud del nom < 32 caràcters
d) No es poden utilitzar punts ni altres caràctersespecials
Les sentències per a definir constants són
semblants a les de les variables.
Const nom = Valor
Const nom AS tipus de dada = valor
Tipus de dades Declaració en Basic Descripció
Cadena de caràcters String Fins a 64 Kb de longitud
Sencer Integer -32768 < x < 32767
LlargLong
-2.147.483.648 < x
<2.147.483.647
Decimal Single -3.4x1038 < x < 3.4 x 1038
Decimal de doble
precisióDouble -1’79x10308<x<1’79x10308
Data i hora Date
Exemple: dissenya l’algorisme
corresponent a un programa que llig el
valor corresponent a una distància en
milles marines i l’escriu expressada en
metres (1 milla= 1852 metres)
Les dades poden comportar-se de 2
formes diferents en un programa:
› Constants: el seu valor no canvia durant
l’execució del programa.
Llenguatge de programació lliure
derivat de Visual Basic.
La llicència pública general GNU és una
llicència creada per la Free Software
Foundation a mitjans dels 80, i està
orientada principalment a protegir la
lliure distribució, modificació i ús de SW.
Permet crear formularis, botons de
comandament, quadres de text...
Objecte: tot programa orientat a
objectes es basa en la utilització
d’objectes (finestres, botons
d’acció, barres de desplaçament, llistes
desplegables...)
Event: és una acció que es pot realitzar
amb un objecte (fer clic amb el
ratolí, passar el ratolí sobre l’objecte...)
Missatge: quan s’executa un programa
orientat a objectes, tots els objectes
implicats en ell estan rebent missatges
de què és el que passa amb altres
objectes.
Procediment: la resposta que pot donar
un objecte a un missatge concret és la
designada per l’usuari mitjançant el
procediment.
Formulari del programa
Quan l’usuari emplena els
camps del formulari i li
dona a Command1, es
realitza el procediment
associat a l’event “fer clic”
Tots els objectes del
formulari estan esperant
missatges del que està
passant
Què és el que passa
davant l’event “fer
clic”
1. Afegir i preparar els formularis (finestres)
2. Afegir els objectes als formularis
3. Modificar les propietats dels objectes i
formularis
4. Crear els procediments associats als
events dels objectes
Hi ha moltes propietats d’un objecte quees poden modificar i permeten definirperfectament el seu aspecte.
Una de les propietats més importants ésel nom, ja que serà el que s’hauràd’utilitzar sempre que es desitja feral·lusió a ell.
Per defecte, el programa nombra alsobjectes de forma genèrica amb el nomde la classe de l’objecte i un nombre.
Cada propietat pot ser modificada:1. Abans d’executar el programa
a) Seleccionar l’objecte
b) Buscar la propietat en la finestra de Propietats
c) Esborrar el valor de la propietat per defecte iescriure el nou valor
2. Durant l’execució del programa Escriure la sentència adequada en alguns dels
procediments que constitueixen el programa
La forma general de fer referència a una propietatd’un objecte és:
Objecte.Propietat Label3.Text
Cada control té uns events
determinats, encara que la majoria
d’ells són comuns a tots els controls.
Els events d’un control poden introduir-se
en el codi del programa fent clic amb el
botó dret del ratolí i triant l’opció Event.
1. Crear un formulari com aquest:
2. Al polsar sobre el botó d’executar es
completen els camps: Nom complet: s’utilitza l’operador & per a
concatenar cadenes de text.
Majúscules: Ucase(labelx.text)
Minúscules: Lcase (labelx.text)
Longitud: Len (label.text)
La declaració de variables es realitza de
la forma:
Tipus de dades Valors
Boolean True (vertader) o False (fals)
Integer -32768 < x <32767
Long -2147483648< x < 21474783647
Single Equival al Float en C
Float Equival al Doble en C
Date Valor de tipus data i hora
String Cadenes de caràcters
Exemple:
Les variables declarades fins ara sols
estaran disponibles dins el procediment en
que es declaren.
Si volem emprar-la en tot el
programa, haurem de fer-ho de la següent
forma:
Les constants sols es poden declarar al
principi del programa, mai dins el
procediment:
1. Crea un nou formulari per a calcular la
longitud d’una circumferència i la seua
àrea a partir del valor del radi.
2. Utilitza 3 variables:
Radi
Circumferència
Cercle
3. Utilitza una constant per al valor de
PI=3’1416
Existeix un altra forma d’introduir
dades, diferent a escriure-la en un
quadre de text, que consisteix en utilitzar
la funció InputBox.
Camps no obligatoris
S’utilitzen per a prendre decisions
lògiques, pel que també s’anomenen
estructures de decisió o alternatives.
SENTÈNCIA IF:
› La sentència IF avalua una condició i, en
cas de complir-se, executa una sèrie
d’instruccions determinades; en cas
contrari, executa altres alternatives.
Operador Escriptura
Igual que =
Major que >
Menor que <
Major o igual que >=
Menor o igual que <=
Distint de <>
Operador Escriptura Descripció
Y ANDL’operador Y obliga a complir-se totes les condicions incloses en la expressió.
O ORL’operador O fa que l’expressió s’avalue a vertadera quan es compleix una o varies de les condicions.
Negació NOTL’expressió s’avalua a vertader quan NO es compleix la condició.
1. Crea un formulari que compare (major
o menor) dos nombres sencers.
2. Elabora un formulari que, a més a
més, de comparar 3 nombres
sencers, els ordene de major a menor.
ESTRUCTURA SELECT CASE:
› Estructura múltiple; és a dir, el programa
avaluarà cadascuna de les condicions
expressada en la estructura i anirà actuantadequadament.
SELECT CASE expressió
CASE condició 1 SENTÈNCIA 1
CASE condició 2 SENTÈNCIA 2
CASE condició 3 SENTÈNCIA 3
...
END SELECT
1. Crea un nou formulari que deixe
visualitzar el nom del mes, en funció del
valor introduït en una variable
mitjançant un InputBox.
Les instruccions repetitives o bucles
permeten executar un conjunt
d’instruccions mentre s’acompleix una
determinada condició; a aquestes
instruccions se les denomina cos del
bucle.
Son varies les sentències que permeten
crear bucles:
For...Next, While...Wend, Do...Loop, Goto,For each...Next
Sentència For...Next:› Variable = Valor inicial (inicialitza el comptador)
› Step increment (com augmenta o disminueix la variable)
› To valor final (quan es para el comptador)
› Next (envia el programa a la 1ª línia)
For variable = valor inicial To valor final [step increment]
Sentència 1
Sentència 2
...
Next [variable]
1. Anem a crear un formulari que ens
deixe imprimir en una llista els 50 primers
nombres naturals.
2. A continuació, intentarem crear un
programa que obtinga la suma dels
nombres sencers compresos entre els 2
que s’especifiquen en 2 quadres de
text.
Sentències Do..Loop:
Do While (cond)
…
Sentències
…
Loop
Do Until (cond)
…
Sentències
…
Loop
Do
…
Sentències
…
Loop While
(cond)
Do
...
Sentències
...
Loop Until (cond)
El bucle es realitzarà
mentre s’acompleix la
condició, que s’avalua
al principi.
El bucle es realitzarà
fins que s’acompleix la
condició, que s’avalua
al principi.
El bucle es
realitzarà
mentre
s’acompleix la
condició, que
s’avalua al
final.
El bucle es
realitzarà fins que
s’acompleix la
condició, que
s’avalua al final.