Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Visual Basic per principiants, Apuntes de Tecnología Industrial

Asignatura: Fonaments d’Informàtica, Profesor: Jordi Cuadros, Carrera: Enginyeria en Tecnologies Industrials, Universidad: URL

Tipo: Apuntes

Antes del 2010

Subido el 19/01/2008

marri55
marri55 🇪🇸

4.7

(3)

1 documento

1 / 9

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Resum de Visual
Introducció
Tipus de Rutines
Hi ha dos tipus de rutines que podem fer a visual: subrutines (“programes”) i
funcions. La diferencia entre unes i altres es que les funcions les podem fer servir a
Excel com les funcions tipus SENO, MMULT, etc. Les subrutines les podem executar
sense necessitat d’obrir Excel.
Conceptes a saber
S’ha de saber per programar bé què són els següents conceptes:
Variable: es un “lloc” on emmagatzemarem informacio.
Dimensionar: consisteix en dir quin tipus de informació contindrà una
variable. Pot ser string (cadena de text), double (decimal), long(enter
llarg), boolean (boleana [vertader o fals]), etc.
Depuració
Depurar vol dir trobar els error. Normalment no et surtira tot a la primera. En
aquests casos lo millor es agregar inspeccions a cada una de les variables i apretar f8 per
executar pas a pas la subrutina. Podem agregar inspeccions fent clik amb el boto de la
dreta sobre les variables que volem inspeccionar. Apareixeran a sota, en el cuadre
inspeccio. D’aquesta manera arribarem a un lloc on veurem que el programa no fa lo
que voliem. Es la manera més util de depurar.
Si hem fet una estructura de repeticio infinita (per què ens hem equivocat o no
ens n’hem adonat) podem parar el procediment fent ctrl+pausa.
Programem Part1
InputBox i MsgBox
InputBox permet a l’usuari entrar una dada que s’emmagatzemara en una
variable. MsgBox serveix per retornar un missatge amb el contingut d’alguna variable.
Per començar, crearem un programa que ens permeti introduir el nom i ens
saludi, es a dir, k posem el noestre nom i ens digui: “Hola, NOM”. Serà útil inputbox,
msgBox i la funcio concatenar, que a visual es fa simbolitzada amb &.
Una funcio molt útil: el condicional.
La funcio condicional a visual es representa de la següent manera:
If...CONDICIO...then....QUE_FER_SI_CONDICIO=VERTADER...else...
QUE_FER_SI_CONDICIO=FALS. També podem posarli un elseif. Elseif indria a ser
pf3
pf4
pf5
pf8
pf9

Vista previa parcial del texto

¡Descarga Visual Basic per principiants y más Apuntes en PDF de Tecnología Industrial solo en Docsity!

Resum de Visual

Introducció

Tipus de Rutines

Hi ha dos tipus de rutines que podem fer a visual: subrutines (“programes”) i funcions. La diferencia entre unes i altres es que les funcions les podem fer servir a Excel com les funcions tipus SENO, MMULT, etc. Les subrutines les podem executar sense necessitat d’obrir Excel.

Conceptes a saber

S’ha de saber per programar bé què són els següents conceptes:

  • Variable: es un “lloc” on emmagatzemarem informacio.
  • Dimensionar: consisteix en dir quin tipus de informació contindrà una variable. Pot ser string (cadena de text), double (decimal), long(enter llarg), boolean (boleana [vertader o fals]), etc.

Depuració

Depurar vol dir trobar els error. Normalment no et surtira tot a la primera. En aquests casos lo millor es agregar inspeccions a cada una de les variables i apretar f8 per executar pas a pas la subrutina. Podem agregar inspeccions fent clik amb el boto de la dreta sobre les variables que volem inspeccionar. Apareixeran a sota, en el cuadre inspeccio. D’aquesta manera arribarem a un lloc on veurem que el programa no fa lo que voliem. Es la manera més util de depurar.

Si hem fet una estructura de repeticio infinita (per què ens hem equivocat o no ens n’hem adonat) podem parar el procediment fent ctrl+pausa.

Programem Part

InputBox i MsgBox

InputBox permet a l’usuari entrar una dada que s’emmagatzemara en una variable. MsgBox serveix per retornar un missatge amb el contingut d’alguna variable.

Per començar, crearem un programa que ens permeti introduir el nom i ens saludi, es a dir, k posem el noestre nom i ens digui: “Hola, NOM”. Serà útil inputbox, msgBox i la funcio concatenar, que a visual es fa simbolitzada amb &.

Una funcio molt útil: el condicional.

La funcio condicional a visual es representa de la següent manera: If...CONDICIO...then....QUE_FER_SI_CONDICIO=VERTADER...else... QUE_FER_SI_CONDICIO=FALS. També podem posarli un elseif. Elseif indria a ser

un “si no, si...condicio...then...” Quan el condicional s’acaba s’ha de tancar amb “end if”

Exemple. Fes una subrutina que et digui si un numero es par o es impar. Sera par si la conversio a enter (funcio cint(numero)) del numero entre 2 es igual a el numero entre 2. Si no, si es 0, dira que es el 0, si no es par i no es 0 aleshores sera impar. Pot ser util crear una variable per guardar el numero que introdueixi l’usuari i una altra (que sigui boleana) que ens dira si es par o no es par (amb verdadero o falso)

Funcions de text

La funció MID

La funcio mid és molt util, ja que permet extreure d’una cadena de text un caracter o varis, i emmagatzemarlos en una funcio.

La funcio mid te tres arguments: Mid(text on extreure, posició inicial on extreure, numero de caracters a extreure)

La funció LEN

La funcio len retorna un numero, que és el numero de caràcters que té una cadena de text. Si volem saber cuantes xifres te un numero o un decimal haurem de fer la conversio a cadena mitjançant cstr(cosa que vull passar a cadena)

Exercici. Amb les funcions fins ara explicades, crea una subrutina que, un cop l’usuari hagi introduït una cadena de text, el rograma retorni concatenades la primera i la ultima lletra del text. Podem dimensionar la variable primeraLletra as string, ultimaLletra as string i concatenacio as string, sent concatenacio la primera lletra i la ultima lletra concatenades.

Exercici. Crea una subrutina que digui si la primera lletra d’una paraula es igual a la ultima. Pensa que A=a, per tant, et fara falta la funcio lcase(convertir a minuscules) o ucase(convertir a majuscules).

Estructura de repetició FOR

No te res a veure amb les funcions de text, pero ho poso ara perquè m’és més útil ara. L’estructura del FOR es molt simple.

For VARIABLE=NUMERO to NUMERO COSES A FER EN AQUEST INTERVAL PER A CADA VALOR DE LA VARIABLE DESDE NUMERO FINS A NUMERO Next (per tancar el for i que passi al següent valor)

En un alt porcentatge de casos la variable serà un enter (integer) i li direm posicion (no sepmre, nomes quan ens moguem per dintre de text o matrius)

Exemple. Crea una subrutina que conti el nombre de vegades que apareix una lletra introduïda per l’usuari en un text introduït per l’usuari. Diferenciarem majuscules i minuscules (a<>A). Haurem de crear una variable lletra as string, una variable text as

Problemes més dificils

a) Crea una subrutina que elimini les “a” d’un text introduït er l’usuari. b) Crea una subrutina que elimini una lletra introduïda per l’usuari d’un text introduït per l’usuari. c) Crea un programa que retorni un text invertit. d) Passa el programa de c) a una funció executable a excel (de sub a function, vamos XD) e) Crea un programa que donades tres paraules separades per un punt (exemple: dog.gos.gatets) retorni la paraula del mig sense cap dels punts.

Programem Part

Les matrius

Una matriu a visual es la manera que tenim d’ordenar una serie d’elements. Per exemple, son molt utils quan es tracta d’extreure una serie de coses que volem per separat d’un text. Ho podem emmagatzemar en una matriu. Excel no pot enviar matrius, pero sí que pot rebren. (preguntamu kuan arribis i em tinguis al davant, k tu mostrare)

Per declarar una matriu es fa igual que per declarar una variable, però posant uns parentesis al final del nom. Fem dim matriu() as string. Això vol dir que matriu sera una matriu de cadenes de text. Si nomes li diem això, matriu() as string i prou, no passa res. L’hem de redimensionar. Els elements de la matriu podran ser cridats a l’estil matriu(0), matriu(1), etc. Per exemple, en la matriu redimensionada (0 to 2): (1,2,3), matriu(0)=1, matriu(1)=2 i matriu(2)=3.

Si volem una matriu de dos, tres, quatre dimensions o mes, hem de redimensionar. Per redimensionar fem redim matriu(0 to 2, 0 to 2). Això sera una matriu 3x3 (de dos dimensions). Una matriu redim(0 to 3, 0 to 2, 0 to 1) sera una matriu cubica 4x3x2, tot i k aquesta ultima no s’acostuma a fer servir. Podem tenir matrius de 4, 5, 9... dimensions.

En una matriu redimensionada, el primer numero es la fila, el segon la columna, etc. Per cridar un element d’una matriu bi o tridimensional fem matriu(0,0) o, en el cas de les 3 dimensions, matriu(0,0,0), i aixi amb n dimensions.

Rangs

A diferencia de les matrius, Excel si que pot entrar rangs a visual. Un rang es com una matriu, però està organitzat en celes. El rang el podem entrar a visual o bé com a argument d’una funcio creada o bé com a inputbox en una subrutina.

Per referirnos a les caselles d’un rang fem servir NOMDELRANG.cells (indicador fila, indicador columna). Els rangs, com que provenen de excel, nomes poden ser de dos dimensions.

Funcions utils per a rangs i matrius

  • Uboun: retorna el numero maxim que pot agafar la matriu en la dimensio especificada. La dimensio, per defecte (si no es posa res) és 1. Forma: ubound(matriu, dimensio)
  • Rango.rows.count retorna el numero de fila que te un rang
  • Rango.columns.count retorna el nuemro de columnes que te un rang

Exemple. Crea una funcio que passi un rang nxn introduït per l’usuari desde excel a una matriu nxn, i comprova que funciona.

Exemple. Donats dos vectors en forma de rang de n dimensions, feu una funcio que faci el producte escalar d’aquests vectors (recorda que en aquest cas no cal redimensionar res)

Problemes dificils

a) Donada una cadena de text del tipus A+B, o A-B, on A i B poden ser qualsevol nombre real (pensa el tipus que hauràs de dimensionar), crea una funció que, a partir de la cadena de text, retorni un vector on la component 1 del vector sigui A i la 2 sigui B. Es a dir, si li poso 23+4 em tornarà el vector (23, 4), i si li poso 12-5 em tornarà el vector (12, -5) b) (^) Utilitzant la funcio anterior (preguntam com cridar funcions), crea una funcio que realitzi la suma o la resta de una cadena de text del tipus A+B o A-B. c) Crea una funcio que retorni vertader o fals segons si dos matrius es poden multiplicar o no (es podran multiplicar si les “n” de mx n i n xp son iguals) d) Crea una funcio que donades 4 matrius les multipliqui, i si no son compatibles, ens ho faci saber. Primer multiplica les dos primeres si es pot, despres el resultat per la tercera si es pot, i el resultat nou per la quarta si es pot.

Problema extra dificil:

Crea una funcio que, donada una paraula com a argument, retorni el numero de lletres minuscules de cada tipus que hi ha. Per exemple, si li introduïm carretó, retornara com a text “Hi ha 1a, 1c, 1e, 1o, 2r, 1t”. Pensa que no cal posar accents i que l’usuari pot introduir majuscules i minuscules.

Programem Part

Funcions d’operació amb nombres

La funció MOD

Equival a la funció residu de Excel. Aquesta funció ens retorna el quocient d’una divisió. La forma que agafa a visual es: DIVIDENDUmodDIVISOR. Si la divisió es exacte, mod retorna el valor 0, ja que el quocient és 0.

Exemple. Crea una subrutina que retorni el quocient d’una divisió, on el numerador i el denominador seran introduïts per l’usuari.

Exemple. Crea una funció que permeti saber si un numero introduït com a argument es múltiple de un altre numero introduït com a 2n argument.

Altres funcions útils

  • Sen, cos, tan son les funcions trigonomètriques.
  • Sqr es l’arrel quadrada
  • (^) Exp es la funció e. Exp(3) es e^3
  • Log es la funció logaritme neperià
  • Cint, clng son funcions que passen de text o decimal a enter i enter llarg respectivament si es pot.
  • = (igual), > (mes gran), < (mes petit), < > (diferent), <= (mes petit o igual), >= (mes gran o igual)

Funcions lògiques

Bàsicament son les funcions and (y) i or (o). Visual es tonto, i no entén res si li dius a=(b and c), i li has de dir a=b and a=c.

Exemple. Crea una funció tal que doni verdader si un numero es múltiple de 2 o de 3, i que doni fals si no ho és.

Exemple. Crea una funció que tingui per arguments dos números i que miri si el primer numero es potencia del segon (si el primer numero es el segon elevat a quelcom, vamos...)