PROGRAMACIN
Con lo anterior mencionado se puede concretar que el objetivo de la creacin del presente
mdulo de fundamentos de programacin, es ensearle al estudiante cuales son todos los
pasos y cules son los mtodos que se deben de tomar en cuenta y aplicar antes de la
creacin de un software, como por ejemplo, el desarrollo de algoritmos, la utilizacin de
variables, cuales son y cmo se aplican las estructuras selectivas repetitivas, disear los
algoritmos en diagrama de flujo y pseudocdigo, dando como resultado la creacin exitosa
de un software para satisfacer las necesidades de los usuarios.
2
Ing. Marcelino Jos Manrique Luna - Docente
Antecedentes Institucionales
El Instituto Tecnolgico Superior Jos Ochoa Len es una entidad educativa localizada en
la ciudad de pasaje en las calles Avenida Quito y calle San Martin esquina.
Misin
Visin
3
Ing. Marcelino Jos Manrique Luna - Docente
El Instituto Tecnolgico Superior Jos Ochoa Len cuenta con tres carreras tecnolgicas
entre ellas mencionamos, Carrera de Anlisis de Sistemas, Carrera de Mecnica Industrial,
y carrera de Electromecnica, con el fin de formar y brindar profesionales de calidad a la
comunicad orense.
Misin
Visin
Perfil Profesional
Campo Ocupacional
4
Ing. Marcelino Jos Manrique Luna - Docente
Instructor de personal en el rea de informtica
Asesor en el rea de informtica
Malla Curricular
5
Ing. Marcelino Jos Manrique Luna - Docente
Contenido
Unidad 1: Conceptos bsicos ........................................................................................................... 9
1.1. Conceptos de programacin ............................................................................................ 9
Lenguaje de programacin......................................................................................................... 9
Programa .................................................................................................................................... 9
1.2. Pasos en la creacin de un programa (Metodologa) .................................................. 10
Definicin del problema ........................................................................................................... 10
Anlisis del problema ............................................................................................................... 10
Diseo y tcnicas para la formulacin de un algoritmo ........................................................... 10
Codificacin .............................................................................................................................. 11
Prueba y depuracin ................................................................................................................ 11
Documentacin ........................................................................................................................ 12
Mantenimiento ........................................................................................................................ 12
1.3. Algoritmos ....................................................................................................................... 24
Ejercicios................................................................................................................................... 24
1.4. Entidades primitivas para el desarrollo de un programa........................................... 19
Identificador ............................................................................................................................. 19
Tipos de datos .......................................................................................................................... 13
Operadores relacionales, lgicos y matemticos..................................................................... 15
Prioridad de los operadores aritmticos .................................................................................. 16
Reglas para formar un Identificador ........................................................................................ 20
Expresiones .............................................................................................................................. 23
Unidad 2: Diagramas de flujo y pseudocdigo ............................................................................ 24
2.1. Diagramas de flujo ......................................................................................................... 26
Tcnicas de diseo ................................................................................................................... 27
Caractersticas .......................................................................................................................... 27
Simbologa ................................................................................................................................ 28
Ejercicios................................................................................................................................... 28
Prueba de escritorio ................................................................................................................. 28
2.2. Uso de software DFD...................................................................................................... 32
2.3. PSEUDOCDIGO ......................................................................................................... 33
Instrucciones algortmicas bsicas ........................................................................................... 33
2.4. Uso de software PSeInt .................................................................................................. 35
Unidad 3: Estructuras algortmicas I ........................................................................................... 37
Diseo descendente (top-down) .............................................................................................. 37
Estructuras de datos................................................................................................................. 37
6
Ing. Marcelino Jos Manrique Luna - Docente
Programacin modular............................................................................................................. 37
3.1. Estructura de control ..................................................................................................... 37
Estructura de Control Secuencial ............................................................................................. 38
Estructura de Control Selectiva o Alternativa .......................................................................... 41
Toma de decisiones .................................................................................................................. 42
Estructura de control selectiva doble si/si-no (if/else) ............................................................ 44
Estructura de control selectiva mltiple segun_sea (switch) .................................................. 47
Unidad 4: Estructuras algortmicas II ......................................................................................... 51
Estructura de Control repetitiva o de iteracin condicionada ................................................. 51
Estructura de control repetitiva mientras (while).................................................................... 51
Estructura de control repetitiva hacer_mientras (do while) ................................................... 54
Estructura de control repetitiva desde (for) ............................................................................ 57
Omisin de expresiones ........................................................................................................... 58
Caractersticas: ......................................................................................................................... 58
Unidad 5: Codificacin .................................................................................................................. 61
5.1. Elementos del lenguaje Visual Basic............................................................................. 61
Qu es Visual Basic? ............................................................................................................... 61
5.2. Tipos de datos ................................................................................................................. 62
Declaracin de variables y constantes ..................................................................................... 62
Declaracin de constantes ....................................................................................................... 63
Declaracin de variables .......................................................................................................... 63
Ejemplos de declaraciones de variables: ................................................................................. 64
Option Explicit .......................................................................................................................... 65
Instruccin de asignacin ......................................................................................................... 65
5.3. Funciones ........................................................................................................................ 66
Funciones de Conversin ......................................................................................................... 67
Funciones Matemticas ........................................................................................................... 68
Funciones de Cadena ............................................................................................................... 69
5.4. Operaciones de entrada y salida ................................................................................... 71
Inputbox ................................................................................................................................... 71
MsgBox ..................................................................................................................................... 73
Valores de retorno de un MsgBox............................................................................................ 75
Botones que pueden mostrarse en un MsgBox ....................................................................... 76
Tipos de iconos para un MsgBox .............................................................................................. 76
5.5. Codificacin .................................................................................................................... 78
Escritura de programas ............................................................................................................ 78
7
Ing. Marcelino Jos Manrique Luna - Docente
Ejercicios................................................................................................................................... 78
Estructuras de decisin simple ................................................................................................. 80
Estructuras de decisin doble .................................................................................................. 81
Estructuras de decisin anidadas ............................................................................................. 83
Estructuras de decisin mltiple .............................................................................................. 87
EJERCICIOS PROPUESTOS ......................................................................................................... 90
Estructuras de Repeticin ........................................................................................................ 92
Repetir Para (Fornext) ........................................................................................................... 92
Repetir Mientras ...................................................................................................................... 94
Repetir Hasta ............................................................................................................................ 97
EJERCICIOS PROPUESTOS ....................................................................................................... 101
5.6. Arreglos ......................................................................................................................... 102
Definicin de arreglo .............................................................................................................. 102
Unidimensionales ................................................................................................................... 103
Declaracin de los arreglos en el cdigo ................................................................................ 104
Bidimensionales ..................................................................................................................... 108
Referencia Bibliogrfica .............................................................................................................. 111
Bibliografa Bsica: ................................................................................................................. 111
Bibliografa Complementara: ................................................................................................ 111
Web ........................................................................................................................................ 111
8
Ing. Marcelino Jos Manrique Luna - Docente
FUNDAMENTOS DE PROGRAMACIN
1.1.4. Programa
9
Ing. Marcelino Jos Manrique Luna - Docente
3. Expresin de un algoritmo en un lenguaje preciso, que puede llegar a entender una
computadora.
Las fases para la creacin de un programa son siete, aunque para algunos autores pueden
describirse en slo seis, pues omiten la primera porque es una etapa algo obvia. Las etapas
se describen a continuacin.
Esta fase la proporciona el enunciado del problema, el cual requiere una definicin clara y
precisa (no debe ser ambiguo). Es importante que se entienda perfectamente lo que
pretendemos que haga la computadora para poder continuar con la siguiente etapa.
Una vez que se ha comprendido lo que se desea que la computadora haga, la etapa de anlisis
es muy importante ya que en sta se identifican tres factores indispensables:
10
Ing. Marcelino Jos Manrique Luna - Docente
Diagrama de flujo
Pseudocdigo
El pseudocdigo se cre para superar las dos principales desventajas del diagrama de
flujo: es lento de crear y difcil de modificar sin un nuevo redibujo. Por otra parte, el
pseudocdigo es ms fcil de utilizar ya que es similar al lenguaje natural. Al contrario
de los lenguajes de programacin de alto nivel no tiene normas que definan con precisin
lo que es y lo que no es pseudocdigo, por lo tanto vara de un programador a otro.
1.2.6. Codificacin
11
Ing. Marcelino Jos Manrique Luna - Docente
La prueba consiste en capturar datos hasta que el programa funcione correctamente. A la
actividad de localizar errores se le llama depuracin. Existen dos tipos de pruebas: de
sintaxis y de lgica.
Las pruebas de sintaxis se ejecutan primero, son las ms sencillas y las realiza el compilador
del programa cada vez que se ejecuta el programa hasta que el cdigo no presente errores,
es decir que la sintaxis que requiere el lenguaje sea la correcta, de lo contrario el propio
compilador va mostrando los errores encontrados para que se modifiquen y se pueda ejecutar
el cdigo; estos errores pueden ser falta de parntesis, o puntos y comas o palabras reservadas
mal escritas.
Las pruebas de lgica son las ms complicadas ya que stas las realiza el programador;
consisten en la captura de diferentes valores y revisar que el resultado sea el deseado, es
decir el programador tendra que modificar el cdigo hasta que el programa funcione
correctamente.
1.2.8. Documentacin
1.2.9. Mantenimiento
12
Ing. Marcelino Jos Manrique Luna - Docente
Se dice que un programa no se termina al 100%, ya que es necesario hacer algn cambio,
ajuste o complementacin para que siga funcionando correctamente; para llevarlo a cabo se
requiere que el programa est bien documentado.
Todos los programas tienen actualizaciones, por lo que surgen versiones diferentes. Por
ejemplo: Windows 3.11, 95, 98, 2000, Millennium, Xp, Vista y 7.
Los diferentes objetos de informacin con los que un algoritmo o programa trabaja se
conocen colectivamente como datos. Un dato puede ser un simple carcter, tal como b, un
valor entero tal como 35.
Todos los datos tienen un tipo asociado con ellos; el tipo de un dato es el conjunto (rango)
de valores que puede tomar durante el programa. El tipo de un dato determina la naturaleza
del conjunto de valores que puede tomar una variable.
El tipo de dato asociado a una variable limita el conjunto de datos que puede almacenar, as
como las operaciones aplicables sobre esa variable. Por lo tanto, una variable que pertenece
a un tipo de dato entero no podr almacenar datos de tipo caracter; tampoco se podrn
calcular operaciones propias de otros tipos de datos.
Las computadoras pueden trabajar con varios tipos de datos; los algoritmos y programas
operan sobre stos.
13
Ing. Marcelino Jos Manrique Luna - Docente
Los datos que utilizan los algoritmos y programas se los puede clasificar en simples o
compuestos. Un dato simple es indivisible, no se puede descomponer. Un dato compuesto
est integrado por varios datos.
Los tipos de datos simples son: numricos (enteros y reales), lgicos (booleanos) y caracteres
(alfanumricos).
Numricos
Simples Lgicos
Alfanumricos
(string)
Tipos de Arreglos
datos (Vectores,
Matrices)
Registros
Estructurados
Archivos
Apuntadores
Simples:
14
Ing. Marcelino Jos Manrique Luna - Docente
hacer operaciones con ellos. Este tipo de datos se representan encerrados entre
comillas.
Ejemplo:
ITS JOL
2016
Los operadores son elementos que relacionan de forma diferente, los valores de una o ms
variables y/o constantes. Es decir, los operadores nos permiten manipular valores.
Aritmticos
Tipos de
Relacionales
operadores
Lgicos
Los operadores aritmticos pueden ser utilizados con tipos de datos enteros o reales.
Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado es
real.
Operadores Aritmticos
+ Suma
- Resta
15
Ing. Marcelino Jos Manrique Luna - Docente
* Multiplicacin
/ Divisin
Mod Mdulo (residuo de la divisin entera)
Ejemplo:
Expresin Resultado
7/2 3.5
12 mod 7 5
4+2*5 14
Potencia (^ o **)
*, /, mod
+, -
Los operadores en una misma expresin con igual nivel de prioridad se evalan de
izquierda a derecha.
Ejemplos:
23 * 2 / 5 = 9.2 46 / 5 = 9.2
3 + 5 * (10 - (2 + 4)) = 23 3 + 5 * (10 - 6) = 3 + 5 * 4 = 3 + 20 = 23
3.5 + 5.09 - 140 / 40 = 5.09 3.5 + 5.09 - 3.5 = 8.59 - 3.5 = 5.09
2.1 * (1.5 + 3.0 * 4.1) = 28.98 2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98
16
Ing. Marcelino Jos Manrique Luna - Docente
Los operadores de asignacin tienen menor prioridad que todos los otros operadores.
El orden de las operaciones en pseudocdigo es:
Operadores Relacionales: Se utilizan para establecer una relacin entre dos valores.
Compara estos valores entre si y esta comparacin produce un resultado de certeza o
falsedad (verdadero o falso). Los operadores relacinales comparan valores del
mismo tipo (numricos o cadenas). Tienen el mismo nivel de prioridad en su
evaluacin. Los operadores relacinales tiene menor prioridad que los aritmticos.
Operadores Relacionales
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
<> Diferente
== Igual
Ejemplos:
Si a = 10 b = 20 c = 30
a+b>c Falso
a-b<c Verdadero
a - b == c Falso
a*b<>c Verdadero
Ejemplos no lgicos:
17
Ing. Marcelino Jos Manrique Luna - Docente
a<b<c
10 < 20 < 30
T < 30 (no es lgico porque tiene diferentes operandos)
Operadores Lgicos
And Y
Or O
Not Negociacin
18
Ing. Marcelino Jos Manrique Luna - Docente
1.4. Entidades primitivas para el desarrollo de un programa
1.4.1. Identificador
Cada lenguaje de programacin tiene sus propias caractersticas del tamao del identificador;
el estndar de lenguaje C no especifica un lmite de tamao para un identificador, pero para
ciertas implementaciones de C11 slo los primeros 31 caracteres son significativos (ANSI
C). El programador tiene libertad para darle cualquier nombre a un identificador, siguiendo
estas reglas:
Sugerencias:
1. El identificador debe tener un nombre que sea significativo, es decir, que d una idea de
la informacin que almacena.
19
Ing. Marcelino Jos Manrique Luna - Docente
2. No utilizar nombres muy largos, es mejor utilizar abreviaturas estndar para que stos
tengan una longitud razonable.
3. En los casos de nombres compuestos se suele poner la inicial de la segunda palabra en
mayscula.
Ejemplo:
Nombre
Num_horas
Nota2
20
Ing. Marcelino Jos Manrique Luna - Docente
Constante: Una constante es un dato numrico o alfanumrico que no cambia
durante la ejecucin del programa.
Ejemplo:
pi = 3.1416
Ejemplo:
area = pi * radio ^ 2
Variables: radio, rea
Constante: pi
Numricas
Por su
Lgicas
contenido
Alfanumricas
(String)
Clasificacin
de variables
De trabajo
Acumuladores
21
Ing. Marcelino Jos Manrique Luna - Docente
Por su Contenido
Ejemplo:
iva = 0.15
pi = 3.1416
costo = 2500
Variables Lgicas: Son aquellas que solo pueden tener dos valores (cierto o
falso) estos representan el resultado de una comparacin entre otros datos.
letra =a
apellido = lopez
direccion = Av. Libertad #190
Por su Uso
Ejemplo:
suma = a+b/c
22
Ing. Marcelino Jos Manrique Luna - Docente
Contadores: Se utilizan para llevar el control del nmero de ocasiones en que se
realiza una operacin o se cumple una condicin. Con los incrementos
generalmente de uno en uno.
Acumuladores: Forma que toma una variable y que sirve para llevar la suma
acumulativa de una serie de valores que se van leyendo o calculando
progresivamente.
1.4.3. Expresiones
Una expresin es el resultado de unir operandos mediante operadores. Los operandos pueden
ser variables, constantes u otras expresiones; y los operadores, aritmticos, lgicos o
relacionales. El resultado de una expresin es un dato numrico o un valor lgico. Para
agrupar las expresiones se utiliza los parntesis.
Aritmticas.
Lgicas o booleanas.
Las frmulas matemticas se deben escribir en formato lineal. Esto obliga al uso frecuente
de parntesis que indiquen el orden de evaluacin correcto de los operadores.
23
Ing. Marcelino Jos Manrique Luna - Docente
Unidad 2: Diagramas de flujo y pseudocdigo
2.1.Algoritmos
2.1.1. Definicin
2.1.2. Caractersticas.
Toda actividad que se realiza se la pude expresar en forma de algoritmo. Existen dos tipos
de algoritmos, los que se desarrollan para ser ejecutados por una computadora, llamados
algoritmos computacionales; y los que realiza el ser humano, es decir, algoritmos no
computacionales, como ejemplos de stos estn:
2.1.3. Ejercicios
24
Ing. Marcelino Jos Manrique Luna - Docente
1. Inicio
2. Bajar la herramienta y el neumtico (llanta) de repuesto del automvil.
3. Aflojar los birlos del neumtico pinchado.
4. Acomodar el gato.
5. Levantar el automvil.
6. Quitar los birlos del neumtico desinflado.
7. Quitar el neumtico desinflado.
8. Colocar el neumtico de repuesto.
9. Fijar los birlos del neumtico de repuesto.
10. Bajar el automvil.
11. Apretar en forma definitiva los birlos del neumtico de repuesto.
12. Quitar el gato.
13. Guardar el neumtico desinflado y la herramienta.
14. Fin.
25
Ing. Marcelino Jos Manrique Luna - Docente
Este algoritmo tambin es finito (tiene 10 pasos) y algunos pasos pueden estar en
otro orden, por ejemplo los cuatro primeros puntos pudieron estar en un orden
diferente y se seguira teniendo el mismo resultado.
1. Inicio.
2. Solicitar (leer) los datos (la base y la altura).
3. Multiplicar la base por la altura y el resultado dividirlo entre dos, y guardarlo en
una variable.
4. Mostrar (imprimir) el resultado almacenado en la variable.
5. Fin.
Al igual que en los dos ejemplos anteriores, se cumplen todas las caractersticas,
solamente que este ltimo algoritmo no es una situacin cotidiana de la vida sino un
clculo especfico el cual tiene un resultado exacto, o sea un valor.
1. Inicio.
2. Leer datos de entrada, se encuentran a la derecha del operador de asignacin.
3. Procesar frmula.
4. Imprimir datos de salida, se encuentran a la izquierda del operador de asignacin;
por lo tanto por cada frmula slo habr un dato de salida.
5. Fin.
2.2.Diagramas de flujo
Los diagramas de flujo -tambin conocidos como fluxogramas- son una representacin
grfica mediante la cual se representan las distintas operaciones de que se compone un
procedimiento o parte de l, estableciendo su secuencia cronolgica. Clasificndolos
mediante smbolos segn la naturaleza de cada cual. Es decir, son una mezcla de smbolos
y explicaciones que expresan secuencialmente los pasos de un proceso, de forma tal que este
se comprenda ms fcilmente. Se les llama diagramas de flujo porque los smbolos utilizados
26
Ing. Marcelino Jos Manrique Luna - Docente
se conectan por medio de flechas para indicar la secuencia de la operacin, en pocas palabras
son la representacin simblica de los procedimientos administrativos.
2.2.2. Caractersticas
27
Ing. Marcelino Jos Manrique Luna - Docente
Si el diagrama abarca ms de una hoja es conveniente enumerarlo e identificar de
dnde viene y a dnde se dirige.
Slo los smbolos de decisin pueden y deben tener ms de una lnea de flujo de
salida.
2.2.3. Simbologa
Consiste en dar valores a las variables que hemos definido y que siguen el flujo del programa
para comprobar si al final el resultado es el acertado.
Por ejemplo:
No ingresar un dato de nacimiento que sea mayor que la fecha actual.
No ingresar un nmero negativo donde deber ir uno positivo o sin decimales;
No ingresar un valor numrico donde solo debe ir texto;
No ingresar un valor fuera del rango establecido; etc.,
En casos de generar algn error, el programa tendr que enviar al usuario un mensaje
indicndole esto y dndole la oportunidad de corregir. En los casos en que deba ingresar una
clave de acceso, no se debe permitir que la ingrese ms de 3 veces. En este caso se supone
28
Ing. Marcelino Jos Manrique Luna - Docente
que no es la persona autorizada y el programa no debe permitirle seguir "probando" y
normalmente lo cerramos sin ms (luego de ponerle un cartelito en donde le indicamos de
tal circunstancia). Una vez todo haya funcionado bien en el papel, entonces ya podemos
escribir el pseudocdigo siguiendo el diagrama de flujo. Esta prueba es para no perder
tiempo escribiendo el programa y luego tener que buscar EN DONDE est el error y como
debemos corregirlo. Tambin sirve para optimizar un algoritmo viendo cmo podemos llegar
a un determinado resultado con menos pasos.
2.3.1. Ejercicios
29
Ing. Marcelino Jos Manrique Luna - Docente
Para la parte lgica de la programacin se utilizar las tres primeras etapas del desarrollo de
un programa.
1. Entender el problema
Para este programa se declaran tres variables de tipo entero, dos variables que son
los datos de entrada, que no se conocen y se necesitan leer o pedir al usuario (n1 y
n2) y una variable (dato de salida) en la cual se va a guardar el resultado (suma).
30
Ing. Marcelino Jos Manrique Luna - Docente
Cabe hacer notar que en el diagrama de flujo no se acostumbra declarar ni las
variables ni las constantes.
El smbolo impresin muestra en pantalla todo lo que se encuentra entre las comillas,
y en la parte que no tiene comillas se muestra el valor de la variable respectiva. Por
lo tanto, los letreros se distinguen de las variables por las comillas y se separan con
comas, si se requiere imprimir o mostrar el valor de varias variables. Cabe hacer notar
que en un diagrama de flujo los letreros previos a la lectura de un dato o impresin
de una variable son opcionales, en el presente ejercicio no aparecen.
El smbolo entrada (leer) solicita los datos al usuario, guardando stos en las variables
n1 y n2. La expresin suma n1 + n2 primero realiza la suma de los valores
almacenados a las variables n1 y n2 y el resultado lo guarda en la variable suma, la
cual se muestra en pantalla con el smbolo impresin.
Si n1= 6 y n2 = 9, se mostrar: 15
Nota 2: Todo programa solicita los datos que desconoce o que necesita saber, los
almacena en variable(s) y luego utiliza el valor de la variable para realizar los clculos
necesarios segn sea el resultado que desea obtener, almacenando este resultado en
alguna variable y luego mostrando el valor de la variable o imprimiendo directamente
el resultado.
31
Ing. Marcelino Jos Manrique Luna - Docente
2.3.2. Uso de software DFD
DFD es un programa que permite crear diagramas de flujo, editarlos, interpretarlos y
ejecutarlos. DFD ayuda a hacer estos diagramas fcilmente partiendo de plantillas y modelos
predeterminados, permitiendo agregar smbolos y flechas para establecer secuencias; se
dispone de una barra de herramientas en el que se deben seleccionar los distintos elementos
que se quieran ir agregando al modelo.
En el caso que el usuario quiera probar un algoritmo representado por el diagrama, el mismo
se puede ejecutar y depurar para verificar el comportamiento esperado a partir de ciertos
valores de entrada. Este algoritmo va a servir como pseudo-cdigo, siendo la etapa previa a
su codificacin en un determinado lenguaje de programacin.
Como tarea extra-clase debe realizar los ejercicios resueltos en el aula de clases.
32
Ing. Marcelino Jos Manrique Luna - Docente
2.4.PSEUDOCDIGO
Entrada
Consiste en obtener un dato de un dispositivo de entrada, como el teclado, y almacenarlo en
una variable. En general, la accin de ingresar un dato a una variable se expresa en el
pseudocdigo mediante la palabra LEER, de la siguiente forma: LEER variable
Ejemplo:
LEER estatura
Solicita el ingreso de un valor, desde algn dispositivo de entrada (como el teclado), para la
variable estatura.
Salida
Ejemplo:
33
Ing. Marcelino Jos Manrique Luna - Docente
Asignacin
Consiste en asignar a una variable el valor de una expresin. La expresin puede ser una
simple variable, un simple literal o una combinacin de variables, literales y operadores. La
asignacin se expresa en el pseudocdigo de la siguiente forma: variable = expresin
Donde variable y el valor de expresin deben tener el mismo tipo de dato. Cuando se asigna
un valor ENTERO a una variable REAL, entonces el valor ENTERO se convertir en REAL
antes de almacenarse. As, al asignar el valor ENTERO 25 a una variable REAL, se
almacenar 25.0
Ejemplo
INICIO
// Declara las variables M, C y P
REAL M, C, P
// Solicita el ingreso de la cantidad en metros
LEER M
// Calcula la cantidad en centmetros y lo asigna a la variable C
C = M*100
// Calcula la cantidad en pulgadas y lo asigna a la variable P
P = C/2.54
// Muestra los valores de las variables C y P
IMPRIMIR C, P
FIN
34
Ing. Marcelino Jos Manrique Luna - Docente
Ejemplo:
Caractersticas.
Lenguaje Autocompletado
Ayudas Emergentes
Plantillas de Comandos
Soporta procedimientos y funciones
Indentado Inteligente
35
Ing. Marcelino Jos Manrique Luna - Docente
Exportacin a otros lenguajes (C, C++, C#, Java, PHP, JavaScript, Visual Basic
.NET, Python, Matlab)
Graficado, creacin y edicin de diagramas de flujo
Editor con coloreado de sintaxis
Foro oficial de PSeInt
Software multiplataforma2 sobre Microsoft Windows, GNU/Linux y Mac OS X, en
diciembre de 2016 empez un desarrollo independiente para Android3
Para comenzar
Como tarea extra-clase debe realizar un informe que incluya el enunciado del problema de
los ejercicios resueltos en el aula de clases, con diagrama de flujo y la Codificacin en
Seudocdigo. Para poder conocer ms de la herramienta puede ver el video enlazado en el
link.
36
Ing. Marcelino Jos Manrique Luna - Docente
Unidad 3: Estructuras algortmicas I
Estructuras de datos
Son un conjunto de datos donde podemos almacenar y acceder a elementos individuales de
datos, por lo que pueden separarse en los elementos que la forman.
Programacin modular
Otra caracterstica que tiene la programacin estructurada es que el problema se puede
dividir en secciones o partes (mdulos). Este tipo de programacin permite resolverlo de
manera ms sencilla y en forma paralela si es necesario, es decir por un equipo de personas.
3.1.Estructura de control
Estas estructuras controlan cmo se ejecutan los programas, es decir el orden de las
instrucciones, ya que tienen un solo punto de entrada y un punto de salida. En la
programacin estructurada se mezclan las estructuras de control y las podemos clasificar en:
Secuencial
37
Ing. Marcelino Jos Manrique Luna - Docente
Estructuras de control Selectiva
Repetitiva o de iteracin condicionada
Las instrucciones se ejecutan en orden, una por una desde la primera hasta la ltima,
es decir el programa ejecuta todas las instrucciones del programa en el orden
establecido sin saltarse ninguna de ellas.
38
Ing. Marcelino Jos Manrique Luna - Docente
Ejercicios resueltos de la estructura de control secuencial
Ejercicio 1. Sume dos nmeros enteros.
Para la parte lgica de la programacin nos centraremos en las tres primeras etapas
del desarrollo de un programa.
1. Entender el problema.
En este caso sumar dos nmeros; el trmino suma es claro y conocido.
2. Anlisis del problema.
Al realizar un anlisis nos arroja los siguientes datos:
Datos de entrada: n1, n2
Datos de salida: suma
Frmula: suma 5 n1 1 n2
3. Diseo del algoritmo.
Se desarrollaron el pseudocdigo y el diagrama de flujo arriba descritos.
Para este programa se declaran tres variables de tipo entero, dos variables que son
los datos de entrada que no se conocen y se necesitan leer o pedir al usuario (n1 y
n2) y una variable (dato de salida) en la cual se va a guardar el resultado (suma).
39
Ing. Marcelino Jos Manrique Luna - Docente
Cabe hacer notar que en el diagrama de flujo no se acostumbra declarar ni las
variables ni las constantes.
La instruccin leer solicita los datos al usuario, guardando stos en las variables n1
y n2. La expresin suma n1 1 n2 primero realiza la suma de los valores
almacenados a las variables n1 y n2 y el resultado lo guarda en la variable suma, la
cual se muestra en pantalla en la ltima instruccin.
Nota 2: Todo programa solicita los datos que desconoce o que necesita saber, los
almacena en variable(s) y luego utiliza el valor de la variable para realizar los
clculos necesarios segn sea el resultado que desea obtener, almacenando este
resultado en alguna variable y luego mostrando el valor de la variable o imprimiendo
directamente el resultado, como en el ejercicio siguiente.
40
Ing. Marcelino Jos Manrique Luna - Docente
5. Procesar frmula.
6. Imprimir datos de salida, los encontramos a la izquierda del operador de
asignacin; por lo tanto por cada frmula slo abra un dato de salida.
7. fin.
Este programa declara solamente una variable lado, la cual nos sirve para guardar el
valor del lado de un cuadrado, pero como vern no existe ninguna variable para
almacenar el resultado (rea), as que el clculo lo haremos directamente al momento
de imprimir el resultado; primero se hace el producto del lado * lado, y el resultado
se imprimir despus de la etiqueta o mensaje
De acuerdo con una condicin que puede ser verdadera o falsa se elige una opcin,
la cual realiza una accin (una o varias instrucciones). La condicin puede ser simple
o compuesta (una o varias).
41
Ing. Marcelino Jos Manrique Luna - Docente
Es una estructura con una sola entrada y una sola salida en la cual se realiza una
accin (una o varias instrucciones) de entre varias, segn una condicin; o se realiza
una accin segn el cumplimiento o no de una determinada condicin. La condicin
puede ser simple o compuesta.
Toma de decisiones
La instruccin si (if) nos permite tomar decisiones, podemos hacer una pregunta y la
contestacin slo puede ser verdadera o falsa, es decir, s o no.
Ejemplo:
Si llueve, llevar el paraguas.
La expresin condicional
La condicin es una expresin booleana. Si el resultado de la expresin:
Es cero, se considera una condicin falsa.
No es cero, se considera una condicin cierta
Ejemplo:
x = 9; if (x) //La condicin es verdadera.
if (5>7) //La condicin es falsa, comparamos dos valores.
El ltimo ejemplo es el ms utilizado.
Existen tres tipos de estructuras de control selectivas; stas se basan en una condicin
o en una opcin:
42
Ing. Marcelino Jos Manrique Luna - Docente
Se denomina bloque de sentencias a un conjunto de instrucciones delimitadas, por
ejemplo en lenguaje C, C11, Java se utilizan llaves que abren y cierran { }.
En lenguajes como Pascal, Modula, Delphi, Ada, se utiliza Begin y End. Estas
instrucciones se toman como una sola sentencia en las estructuras de control.
43
Ing. Marcelino Jos Manrique Luna - Docente
Nota: Si existe ms de una instruccin para realizar, es necesario utilizar inicio y fin
para agrupar las instrucciones, es su alcance sintctico, si no se usa el inicio y fin
slo se ejecuta la primera instruccin, mientras que las siguientes instrucciones se
realizarn siempre. En la tabla 3.2 vemos unos ejemplos de las distintas formas que
puede adoptar la expresin dentro de un if.
44
Ing. Marcelino Jos Manrique Luna - Docente
Si la condicin se cumple se realiza la instruccin 1, pero si la condicin no se cumple
se realiza la instruccin 2
45
Ing. Marcelino Jos Manrique Luna - Docente
Ejercicio 1. Segn una calificacin, imprimir si sta es aprobada.
46
Ing. Marcelino Jos Manrique Luna - Docente
A diferencia del ejercicio 1, el ejercicio 2 utiliza la selectiva doble, ya que revisa la
condicin; si sta se cumple (es verdadera) imprimir Aprobada, pero, si la
condicin no se cumple imprimir Reprobada, es decir el programa pasa por una u
otra instruccin pero no por ambas. Ejemplo: si cal = 85 el programa imprime
Aprobada, pero si cal = 59, el programa imprime Reprobada. La alternativa
doble es ms rpida; en este ejemplo slo evala una condicin, a diferencia de la
simple, que evaluara dos.
La estructura segun_sea (switch) evala una expresin que puede tomar n valores
distintos; segn con cul de estos valores coincida, se ejecutarn ciertas acciones, es
decir, el programa o algoritmo seguir un determinado camino entre los n posibles.
47
Ing. Marcelino Jos Manrique Luna - Docente
Dicha expresin slo acepta valores enteros o caracteres para entrar a la opcin y el
operador de relacin es el igual.
Se compara la expresin (puede ser una sola variable) con cada una de las opciones
const y en el momento de encontrar una constante idntica se ejecutan la(s)
instruccin(es) correspondiente(s) a ese caso. Al terminar de realizar las
instrucciones del caso, se debe usar la palabra reservada salir (break) para que vaya
al final de la estructura.
Si ninguno de los casos cumple con la expresin, se puede definir un caso por
omisin, que tambin puede tener instrucciones; la computadora ejecutar la
sentencia caso contrario (default). El default es opcional, si no est presente no se
hace nada.
Hay tres puntos que debemos considerar en la sentencia segun_sea (switch):
1. Se diferencia del si (if) en que el primero slo puede comprobar por igualdad,
mientras que la expresin condicionada del si (if) puede ser de cualquier tipo.
2. No puede tener dos constantes en los casos con idnticos valores en el mismo
segun_sea (switch).
3. La sentencia segun_sea (switch) es ms eficiente que el si anidado si-si no-si
(if-else-if).
Notas:
48
Ing. Marcelino Jos Manrique Luna - Docente
Si cada caso tiene varias instrucciones no es necesario agruparlas con llaves, ya que
el salir (break) termina el caso.
Se utilizar segun_sea (switch) para manejar un men. Un men nos muestra en
pantalla todas las opciones que podemos realizar con nuestro algoritmo o programa.
Este tipo de selectiva mltiple nos sirve para elegir una entre varias opciones. En el
ejercicio anterior el usuario introduce un nmero del 1 al 7 y se almacena en la
variable dia, posteriormente revisa si el da capturado pertenece a alguno de los siete
casos e imprimir a qu da de la semana pertenece; la instruccin salir (break) que
se escribe a un lado, le indica al programa que si ya entr en algn caso, no contine
con lo siguiente, es decir que se salga de la estructura segun_sea (switch), y el
programa pasar el control a la siguiente instruccin que se encuentre despus del fin
del segun_sea (switch). Si el usuario introduce un valor menor a 1 o mayor que 7 no
49
Ing. Marcelino Jos Manrique Luna - Docente
entra a ninguno de los casos, sino que entrar a la parte caso contrario (default) e
imprimir El da no existe.
Si la variable dia fue 2, pasar por los casos 3, 4, 5, 6 y 7. Observamos que cada caso
no necesita inicio ni fin debido a que el break es el fin de cada uno de ellos.
Es importante recordar que la variable que utiliza el segun_sea (switch) slo puede
ser algn tipo entero o caracter (char); en nuestro ejemplo la variable dia es tipo int.
Si hubiramos elegido un tipo real.
float dia en lugar de int dia, el compilador nos enviara el siguiente mensaje: Error
Lnea 10: Switch selection expression must be of integral type.
50
Ing. Marcelino Jos Manrique Luna - Docente
Unidad 4: Estructuras algortmicas II
Una accin se repite una cantidad definida o indefinida de veces mientras una
condicin sea verdadera.
51
Ing. Marcelino Jos Manrique Luna - Docente
Despus, la condicin es reevaluada y se procede de la misma manera. Cuando la
condicin se vuelve falsa (es decir, cero), en la siguiente evaluacin se dar por
terminado el ciclo mientras (while).
Si la condicin nunca se vuelve cero, el ciclo nunca terminar y, dependiendo de las
instrucciones incluidas en el bucle, se generara un error de ejecucin que detendra
el programa, o podra ser que el programa itere indefinidamente hasta ser detenido
en forma manual.
En esta estructura no se conoce necesariamente el nmero de veces que entrar al
ciclo, ya que esto depender de la condicin definida
52
Ing. Marcelino Jos Manrique Luna - Docente
4. Si existe ms de una instruccin se necesitan las palabras reservadas inicio -
fin ({-}) para delimitar el bloque de instrucciones.
Nota: Existen algunos algoritmos y programas que se pueden efectuar con los tres
ciclos: desde, mientras y hacer_ mientras; aunque cada una tiene sus caractersticas
especficas.
53
Ing. Marcelino Jos Manrique Luna - Docente
tres de la estructura repetitiva mientras, para que en un momento dado i tome un valor
mayor que 10 y se salga del ciclo.
El programa imprimir 1 2 3 4 5 6 7 8 9 10. El ltimo valor que toma i es 11, hace
que no se cumpla la condicin y por lo tanto se sale del ciclo mientras.
Esta estructura le permite al programador especificar que se repita una accin en tanto
cierta condicin sea verdadera; cuando sta es falsa se sale del ciclo. La condicin la
revisa despus del ciclo o bucle.
Existen algoritmos y programas que requieren que por lo menos se ejecute el ciclo
una vez y al final se revise la condicin; en este caso utilizamos la estructura
hacer_mientras. Es muy semejante al ciclo mientras, con la diferencia de que la
condicin se evala despus de ejecutar el cuerpo del bucle. Tanto el ciclo mientras
como el hacer_mientras pueden utilizarse cuando no se conoce de antemano el
nmero de veces que se repetir el ciclo.
54
Ing. Marcelino Jos Manrique Luna - Docente
Nota: No es usual que la estructura hacer_mientras (do_while) tenga una sola
instruccin, generalmente tiene por lo menos dos.
Caractersticas:
1. Siempre entra por lo menos una vez al ciclo, ya que la condicin est despus
del ciclo.
2. Si la condicin es verdadera entra de nuevo al ciclo y regresa a revisar la
condicin, hasta que sta sea falsa se sale del bucle.
3. Debe existir una instruccin dentro del ciclo que modifique la condicin, de
lo contrario se hace infinita.
4. Si tiene ms de una instruccin, necesita obligadamente del inicio-fin ({-}).
55
Ing. Marcelino Jos Manrique Luna - Docente
El ejercicio anterior realiza la misma operacin que el ejercicio 1 de la estructura
mientras, pero ahora utilizando la estructura repetitiva hacer_mientras. Se declara la
variable i de tipo entero, se inicializa con el valor de 1 ya que es el primer nmero
entero positivo, se entra al ciclo hacer_mientras y se imprime el valor de la variable
i = 1, se incrementa la variable i en 1, es decir i = 2 y se revisa la condicin del
hacer_mientras (2 < 11). Como la condicin se cumple entra al ciclo y se ejecutan
las dos instrucciones que estn delimitadas en el bloque entre inicio-fin ({-}), se
imprime el valor de la variable i = 2, se incrementa la variable i en 1, es decir i = 3,
se revisa la condicin del hacer_mientras (3 < 11). Como la condicin se cumple
entra al ciclo y se ejecutan las dos instrucciones que estn delimitadas en el bloque
entre inicio-fin ({-}), se imprime el valor de la variable i = 3, se incrementa la
variable i en 1, es decir i = 4 y se revisa la condicin del hacer_ mientras (4 < 11).
Como la condicin se cumple entra al ciclo y se ejecutan las dos instrucciones que
estn delimitadas en el bloque entre inicio-fin ({-}) y as sucesivamente hasta que
i=11. Cuando se revisa la condicin, como sta no se cumple se sale del ciclo
hacer_mientras y termina el programa; esto hace que se cumpla la caracterstica 3 de
la estructura repetitiva hacer_mientras, para que en un momento dado i tome un valor
mayor a 10 y se salga del ciclo. El programa imprimir 1 2 3 4 5 6 7 8 9 10. El ltimo
valor que toma i es 11 y por lo tanto no se cumple la condicin y se sale del ciclo.
56
Ing. Marcelino Jos Manrique Luna - Docente
Nota: En el programa primero entra al ciclo y despus revisa si la condicin es
verdadera, hasta que sta se hace falsa se sale del ciclo e imprime el valor de la suma
S.
Dnde:
expr_ini(s): expresin(es) de asignacin que se utilizan para iniciar la(s) variable(s)
de control del bucle.
cond: es una expresin relacional o lgica (booleana) que determina cundo
finalizar el ciclo o bucle. La condicin puede ser simple o compuesta (una o varias).
inc(s): define cmo cambiar(n) la(s) variable(s) de control cada vez que se repite el
bucle o ciclo.
Las tres componentes pueden tener una o varias instrucciones, las cuales deben ir
separadas por comas. La cond nos lleva al valor final.
57
Ing. Marcelino Jos Manrique Luna - Docente
Omisin de expresiones
Cualquiera de los componentes en los parntesis se puede omitir, incluso los tres,
pero los separadores coma (punto y coma) deben aparecer siempre.
Las tres expresiones del bucle desde (for) se pueden omitir, con el siguiente
resultado:
Caractersticas:
1. Se debe conocer por anticipado el valor de la variable inicial y final antes de
entrar al ciclo.
2. La condicin se evala antes del bloque de instrucciones. Si la condicin es
verdadera se ejecuta el bloque, y si es falsa se sale y pasa el control a la
instruccin siguiente al bloque.
3. No se debe cambiar el valor de la(s) variable(s) de control, del valor inicial ni
del valor final dentro del ciclo.
4. Se puede incrementar o decrementar la variable de control segn se requiera.
5. El incremento o decremento de la variable de control es automtico.
58
Ing. Marcelino Jos Manrique Luna - Docente
6. Slo si existe ms de una instruccin dentro del ciclo desde se necesita el
inicio-fin ({-}).
7. Puede tener una o varias expresiones de inicializacin, de condicin y de
incremento; estas expresiones se separan mediante comas en pseudocdigo y
con puntos y comas en lenguaje C.
8. Puede tener alguna o todas las expresiones vacas: desde (,,)-for (; ;).
9. Si la condicin est vaca, tenemos un bucle infinito.
En el ejercicio 1 antes de entrar al ciclo desde, se declara la variable i, sta inicia con
el valor de 1, se evala la condicin (i<=10), es decir (1<=10), como es verdadera,
entra al ciclo e imprime el 1, en seguida la i se incrementa en 1 (ii+1)
convirtindose en 2; en la segunda vuelta se evala la condicin (2<=10), como es
verdadera entra al ciclo e imprime el 2, en seguida la i se incrementa en 1 y se
convierte en 3; de la tercera a la dcima vuelta todas las condiciones son verdaderas
(3<=10, 4<=10, 5<=10, 6<=10, 7<=10, 8<=10, 9<=10, 10<=10) y se imprime 3 4 5
6 7 8 9 y 10; en la dcima vuelta despus de imprimir el 10, cuando la i se incrementa
en 1 y vale 11, la condicin (11<=10) ser falsa y por lo tanto se rompe el ciclo (deja
de dar vueltas).
59
Ing. Marcelino Jos Manrique Luna - Docente
El programa anterior realiza exactamente lo mismo, la diferencia es que las
condiciones que revisa son: (1<11), (2<11), (3<11), (4<11), (5<11), (6<11), (7<11),
(8<11), (9<11), (10<11), todas ellas son verdaderas y se imprime: 1 2 3 4 5 6 7 8 9 y
10; en la dcima vuelta despus de imprimir el 10, cuando la i se incrementa en 1 y
vale 11, la condicin (11<11) ser falsa y por lo tanto se rompe el ciclo (deja de dar
vueltas).
En este programa la variable contador del ciclo es i. Las tres partes del for son:
La expresin de inicializacin es i=1, la condicin es (i<=10), dicha condicin nos
lleva al valor final 10, y el incremento es i++, es decir que a la i en cada vuelta se le
suma 1.
Nota: La instruccin for no debe llevar punto y coma al final del parntesis: for
(i=1;i<=10;i++) ya que no respetar la impresin de i dentro del ciclo, imprimir el
valor de i que rompi el ciclo, en este caso 11.
60
Ing. Marcelino Jos Manrique Luna - Docente
Unidad 5: Codificacin
5.1.Elementos del lenguaje Visual Basic
Qu es Visual Basic?
Visual Basic es un lenguaje de programacin que permite crear aplicaciones
(programas) para Windows. Usando Visual Basic se pueden construir en forma fcil,
programas con una interfaz grfica que puede incorporar elementos como ventanas,
botones, cuadros de dilogo, cuadros de texto, botones de opcin y de seleccin,
barras de desplazamiento, mens, etc., propios de cualquier aplicacin bajo
Windows.
En una aplicacin Visual Basic, el programa est formado por una parte de cdigo
puro, y otras partes asociadas a los objetos que forman la interfaz grfica. Es por
tanto, un trmino medio entre la programacin tradicional, formada por una sucesin
lineal de cdigo estructurado, y la programacin orientada a objetos. Combina ambas
tendencias sin embargo, no puede decirse que Visual Basic pertenezca por completo
a uno de esos dos tipos de programacin.
En este captulo se especifican los fundamentos bsicos del lenguaje Visual Basic y
la sintaxis utilizada para crear el cdigo de los programas. Adems, se explican
programas muy sencillos que siguen el enfoque de programacin tradicional, es decir,
programas secuenciales donde el usuario introduce los datos, el programa hace los
clculos y muestra los resultados.
61
Ing. Marcelino Jos Manrique Luna - Docente
5.2.Tipos de datos
62
Ing. Marcelino Jos Manrique Luna - Docente
Declaracin de constantes
Const PI = 3.1416
Const Max = 350
Const Saludo = Hola
Declaracin de variables
En Visual Basic hay diferentes formas de declarar una variable. La Sentencia DIM
es la forma ms comn. Puede emplearse en un Procedimiento, Funcin, Formulario
o Mdulo. La sintaxis es la siguiente:
Se le puede colocar cualquier nombre a una variable, siempre y cuando cumpla con
las siguientes reglas:
63
Ing. Marcelino Jos Manrique Luna - Docente
1. El nombre de una variable tiene que comenzar siempre por una letra y puede
contener hasta 255 caracteres.
2. El nombre slo puede contener letras, nmeros y el carcter de subrayado (_).
No se aceptan espacios en blanco.
3. No pueden utilizarse como nombres de variables las palabras reservadas de
Visual Basic, como por ejemplo: if, next, for, val, caption, etc. Para saber
cules son las palabras reservadas se puede consultar el Help de Visual Basic,
en la referencia Reserved Words. Las palabras reservadas aparecen en color
azul cuando se escribe el cdigo del programa.
Visual Basic no distingue entre maysculas y minsculas. Por ejemplo, las variables
SalarioTotal y salariototal son consideradas como una misma variable y no como
dos.
En Visual Basic no es necesario que se declaren todas las variables que se van a
utilizar. Cuando en el cdigo se escribe una variable nueva que no ha sido declarada,
Visual Basic asume que es una variable y que su tipo es el adecuado para el valor
que le est asignando en ese momento. Por ejemplo, si Visual Basic encuentra estas
instrucciones
64
Ing. Marcelino Jos Manrique Luna - Docente
CI = "1234567"
Nota=18
Entiende que Nombre, CI y Nota son variables, que Nombre y CI son cadenas de
caracteres (string) porque su valor est entre comillas, y que Nota es un nmero (su
valor no est entre comillas).
Esta particularidad de no necesitar declarar las variables hace que sea sencillo
introducir una variable nueva. Sin embargo, puede ser una fuente de errores.
Supngase que en un paso posterior del programa, se desea hacer una operacin con
la variable Nota, y que por error el programador escribe Nata en vez de Nota. Visual
Basic interpreta que Nata es una variable e ir a leer en memoria el valor que tiene.
No tendr ningn valor. Por lo tanto la operacin no se har en forma correcta y
adems no dar ningn aviso de que se ha cometido un error.
Para evitar este tipo de errores se recomienda declarar todas las variables que se van
a utilizar en el programa. Para que Visual Basic d un mensaje de error cuando se
utiliza una variable no declarada previamente se puede utilizar la instruccin Option
Explicit, la cual se explica a continuacin.
Option Explicit
Instruccin de asignacin
Una vez que se elige un nombre y un tipo de dato para una variable, se le debe dar
un valor. Existen tres mtodos principales para dar valores a una variable:
65
Ing. Marcelino Jos Manrique Luna - Docente
En esta seccin se explicar la instruccin de asignacin. La introduccin de valores
con el teclado se tratar en el apartado 2.5 de este tema. La lectura de archivos no se
incluye en estos apuntes. La sintaxis de una instruccin de asignacin es:
1) A = X+Y +2
El resultado de sumar las variables X y Y, se le asigna a la variable
A.
2) Salario = 1250000
A la variable salario se le asigna el valor 1250000
Existen algunas reglas para instrucciones de asignacin que hay que tener presente:
5.3.Funciones
66
Ing. Marcelino Jos Manrique Luna - Docente
Funciones de Conversin
Asc
AscW
CBool (Funcin)
CByte (Funcin)
CChar (Funcin)
CDate (Funcin)
CDbl (Funcin)
CDec (Funcin)
Chr
ChrW
CInt (Funcin)
CLng (Funcin)
CObj (Funcin)
CSByte (Funcin)
CShort (Funcin)
CSng (Funcin)
CStr (Funcin)
CType (Funcin)
CUInt (Funcin)
CULng (Funcin)
CUShort (Funcin)
Format
Hex
Oct
Str
Val
67
Ing. Marcelino Jos Manrique Luna - Docente
Funciones Matemticas
Mtodo Descripcin
Floor Devuelve el entero ms grande que sea menor o igual que Decimal o
el nmero especificado de Double.
68
Ing. Marcelino Jos Manrique Luna - Docente
Log Devuelve el logaritmo natural (de e base) de un nmero especificado o
el logaritmo de un nmero especificado en una base especificada.
Funciones de Cadena
Mtodo Descripcin
Asc Devuelve un valor de tipo Integer que representa el cdigo de
carcter que corresponde a un carcter.
Chr Devuelve el carcter asociado al cdigo de carcter especificado.
69
Ing. Marcelino Jos Manrique Luna - Docente
Filter Devuelve una matriz basada en cero que contiene un subconjunto de
una matriz String basada en criterios de filtro especificados.
Format Devuelve una cadena con el formato que especifiquen las
instrucciones contenidas en una expresin String de formato.
FormatCurrency Devuelve una expresin con formato de moneda en la que se utilizar
el smbolo de moneda que se haya definido en el panel de control del
sistema.
FormatDateTime Devuelve una expresin de cadena que representa un valor de fecha u
hora.
FormatNumber Devuelve una expresin con formato de nmero.
FormatPercent Devuelve una expresin con formato de porcentaje (multiplicada por
100), acompaada del carcter final %.
InStr Devuelve un entero que especifica la posicin inicial de la primera
aparicin de una cadena dentro de otra.
InStrRev Devuelve la posicin de la primera aparicin de una cadena dentro de
otra, comenzando por el extremo derecho de la cadena.
LCase Devuelve una cadena o un carcter convertidos en minscula.
Left Devuelve una cadena que contiene un nmero especificado de
caracteres a partir del lado izquierdo de una cadena.
Len Devuelve un entero que contiene el nmero de caracteres de una
cadena.
LSet Devuelve una cadena alineada a la izquierda que contiene la cadena
especificada ajustada a la longitud indicada.
LTrim Devuelve una cadena que contiene una copia de una cadena
especificada sin espacios iniciales.
Mid Devuelve una cadena que a su vez contiene un nmero especificado
de caracteres de una cadena.
Replace Devuelve una cadena en la que la subcadena especificada se
reemplaza determinado nmero de veces por otra subcadena.
Right Devuelve una cadena que contiene un nmero especificado de
caracteres desde el lado derecho de una cadena.
RTrim Devuelve una cadena que contiene una copia de una cadena
especificada sin espacios finales.
70
Ing. Marcelino Jos Manrique Luna - Docente
Space Devuelve una cadena que consta del nmero especificado de
espacios.
StrComp Devuelve un valor, -1, 0 1, que indica el resultado de una
comparacin de cadena.
StrConv Devuelve una cadena convertida segn se ha especificado.
StrDup Devuelve una cadena o un objeto que se compone del carcter
especificado repetido el nmero de veces especificado.
StrReverse Devuelve una cadena en la que se invierte el orden de los caracteres
de la cadena especificada.
Trim Devuelve una cadena que contiene una copia de una cadena
especificada sin espacios iniciales o finales.
UCase Devuelve una cadena o un carcter que contiene la cadena
especificada convertida en maysculas.
En Visual Basic existen varias formas de gestionar las entradas y salidas. En este
captulo se explicarn las ms simples: cuadros de entrada (InputBox) y cuadros de
Mensaje (MsgBox).
Inputbox
Un InputBox es una ventana donde se le solicita informacin al usuario, tal como
puede verse en el siguiente ejemplo:
71
Ing. Marcelino Jos Manrique Luna - Docente
El InputBox escribe un
mensaje que da
informacin al usuario, en la figura 2.1 le est indicando que escriba la edad.
Adems presenta un cuadro donde el usuario puede escribir lo que se le est
solicitando.
Sintaxis:
Donde:
Los cuadros de entrada o InputBox siempre incluyen los botones Aceptar y Cancelar.
Si el usuario hace clic en Aceptar (o presiona la tecla Enter), lo que haya escrito se
almacenar en la variable indicada (para el ejemplo, sera la variable edad). Si se
presiona cancelar, a la variable se le asigna una cadena vaca ( ).
72
Ing. Marcelino Jos Manrique Luna - Docente
ttulo es Proyecto1. Sin embargo, es posible colocarle un ttulo diferente, as como
tambin un valor predeterminado para la respuesta. En ese caso la
sintaxis es:
Observe que el valor por defecto es Venezuela, esto significa que el mismo aparecer
como respuesta predeterminada. Si el usuario est de acuerdo hace clic en Aceptar.
Si no est de acuerdo puede escribir otro pas.
MsgBox
73
Ing. Marcelino Jos Manrique Luna - Docente
Sintaxis
MsgBox (mensaje)
El MsgBox muestra el mensaje y luego espera que el usuario haga clic en Aceptar.
Ejemplo 3:
La instruccin
MsgBox ("lnea 1" & Chr(10) & "lnea 2")
74
Ing. Marcelino Jos Manrique Luna - Docente
Existen opciones que permiten cambiar la apariencia de un cuadro de mensaje,
mostrando otros botones adems del botn Aceptar, un ttulo especfico, un icono,
etc. As por ejemplo, si se desea colocar otros botones y/o un ttulo especfico en un
MsgBox, debe utilizarse la siguiente sintaxis:
75
Ing. Marcelino Jos Manrique Luna - Docente
Botones que pueden mostrarse en un MsgBox
Ejemplo 4:
Resp = MsgBox(El inventario ha finalizado,0,Sistema de Inventarios )
Ejemplo 5:
En el siguiente cdigo se utiliza una constante
Visual Basic para mostrar los botones S y
No
76
Ing. Marcelino Jos Manrique Luna - Docente
Ejemplo 6:
El siguiente cdigo muestra un mensaje de error con un icono.
Ejemplo 7:
Para mostrar el cuadro de mensaje del ejemplo 5 con un icono de interrogacin, se
escribe la siguiente instruccin:
77
Ing. Marcelino Jos Manrique Luna - Docente
jemplo 8:
5.5.Codificacin
Ya se conocen los elementos bsicos que permitirn escribir los primeros programas en
Visual Basic. Lo que falta es colocar todo entrada, proceso y salida en un programa
completo que la computadora pueda entender.
Ya que por ahora no se utilizan las herramientas visuales del lenguaje Visual Basic
(formularios, controles, etc.), el cdigo se coloca en una subrutina (seccin de cdigo)
llamada Sub Main, la cual es el punto de partida del programa.
Escritura de programas
Ejercicios
Ejemplo 1: Programa que eleva un nmero entero al cuadrado (el nmero debe ser
suministrado por el usuario).
Option explicit
78
Ing. Marcelino Jos Manrique Luna - Docente
Sub main()
Dim num As Integer, cuadrado As Integer
Option explicit
Sub main()
Dim b As Single, h As Single, area As Single
b = InputBox("Introduzca la base")
h = InputBox("Introduzca la altura")
area = b * h / 2
MsgBox (" El rea del tringulo es" & area )
End Sub
Ejemplo 3: programa que calcular el precio total a pagar por un artculo si se tiene como
dato el precio de venta y se sabe que el IVA es del 16%.
Option explicit
Sub main()
Dim pv As Single, iva As Single, pt As Single
pv = InputBox("Precio de venta")
iva = 0.16 * pv
pt = pv + iva
MsgBox (" Precio total a pagar" & pt )
End Sub
79
Ing. Marcelino Jos Manrique Luna - Docente
Estructuras de decisin simple
Ejemplo 1: programa que calcula el salario neto de un trabajador, teniendo como entrada
su salario base y el nmero de hijos. Al trabajador se le descuenta el 5% de su salario base
por concepto de seguro social, pero si tiene ms de dos hijos se le pagan 50.000 Bs.
adicionales.
Option Explicit
Sub main()
Dim sb As Single, nh As Byte, sn As Single
End Sub
Ejemplo 2: programa que calcula el precio total a pagar por la compra de un artculo,
considerando que el IVA es del 16%. Si el precio es mayor de 100.000 Bs. se realiza un
descuento del 1%.
Option explicit
Sub main()
80
Ing. Marcelino Jos Manrique Luna - Docente
Dim Pv As Single, Pt As Single
End Sub
81
Ing. Marcelino Jos Manrique Luna - Docente
Option explicit
Sub main()
Ejemplo 4: Programa que calcula el valor de Y, el cual est dado por la siguiente ecuacin
3 +5
= . Si x = 0 debe dar un mensaje de error e indicar que no puede realizarse el clculo.
Option Explicit
Sub main()
Dim X As Single, Y As Single, resp As Byte
82
Ing. Marcelino Jos Manrique Luna - Docente
Else
Y = (X ^ 3 + 5) / X
MsgBox ("El valor de Y es " & y)
End If
End Sub
Option Explicit
Sub main()
End Sub
Se utilizan cuando hay ms de dos alternativas entre las cuales se puede elegir.
Cuando en una estructura de decisin, alguna de sus instrucciones es otra estructura
83
Ing. Marcelino Jos Manrique Luna - Docente
de decisin, se dice que las estructuras estn anidadas. Visual Basic permite escribir
las estructuras anidadas haciendo uso de estructuras If then else, tal como se
muestra a continuacin.
Option Explicit
Sub main()
Dim pp as Single
84
Ing. Marcelino Jos Manrique Luna - Docente
Pp = InputBox ("Introduzca el porcentaje de prdida de peso")
If pp <=1 then
MsgBox ("Especie forestal altamente resistente")
Else
If pp <= 5 then
MsgBox ("Especie forestal resistente")
Else
If pp <= 10 then
MsgBox ("Especie forestal moderadamente resistente")
Else
If pp<= 30 then
MsgBox ("Especie forestal muy poco resistente")
Else
MsgBox ("Especie forestal resistente")
End If
End If
End If
End If
End Sub
Ejemplo 7: Programa para calcular el precio a pagar por la compra de madera. Los datos
de entrada son la cantidad de metros cbicos a comprar, el precio por metro cbico y el tipo
de madera. La madera est clasificada en tres tipos (A, B y C). Si la cantidad a comprar es
superior a 30 metros cbicos, se aplica el siguiente esquema de descuento:
85
Ing. Marcelino Jos Manrique Luna - Docente
Option Explicit
Sub main()
Dim cant as Single, pre as Single, pre_tot as Single, desc as Single
Dim TipoM as String
Else
Desc= 0.02 * pre_tot
End If
86
Ing. Marcelino Jos Manrique Luna - Docente
Ejemplo 8: programa que determina cul es el mayor de tres nmeros.
Option Explicit
Sub main()
Dim a As Single, b As Single, c As Single, mayor As Single
a = InputBox("Escriba el primer nmero")
b = InputBox("Escriba el segundo nmero")
c = InputBox("Escriba el tercer nmero")
If a > b Then
If a > c Then
mayor = a
Else
mayor = c
End If
Else
If b > c Then
mayor = b
Else
mayor = c
End If
End If
MsgBox (" El nmero mayor es = " & mayor)
End Sub
Al igual que las estructuras de decisin anidadas, las estructuras mltiples se utilizan
cuando se quiere elegir entre varias alternativas. En una estructura de decisin
mltiple se especifica una variable o expresin, la cual puede tomar diferentes
valores, dependiendo del valor que tenga se ejecutarn las instrucciones pertinentes.
87
Ing. Marcelino Jos Manrique Luna - Docente
Case primer valor
Una o ms instrucciones (1)
Case segundo valor
Una o ms instrucciones (2)
Case tercer valor
Una o ms instrucciones (3)
.
.
.
Case Else
Una o ms instrucciones (4)
End Select
Ejemplo 8: Programa que recibe como dato de entrada un nmero entero entre 1 y 7, y
escribe el da de la semana correspondiente.
Option explicit
Sub main( )
Dim nmero as Integer
nmero = InputBox (Escriba un nmero entre 1 y 7 )
Select Case nmero
Case 1
88
Ing. Marcelino Jos Manrique Luna - Docente
MsgBox (Domingo)
Case 2
MsgBox (Lunes)
Case 3
MsgBox (Martes)
Case 4
MsgBox (Mircoles)
Case 5
MsgBox (Jueves)
Case 6
MsgBox (Viernes)
Case 7
MsgBox (Sbado)
Case Else
MsgBox (Nmero fuera de rango)
End Select
End Sub
Existen dos formatos adicionales del Select Case, que permiten utilizar esta
estructura cuando se desea hacer comparaciones o utilizar un rango de valores.
Ejemplo 9: Programa que clasifica a una persona de acuerdo a su edad, Las posibles
clasificaciones son: beb, nio, adolescente, adulto y anciano.
Option Explicit
Sub main()
89
Ing. Marcelino Jos Manrique Luna - Docente
Tipo = "Nio"
Case 13 To 18:
Tipo = "Adolescente"
Case 19 To 69:
Tipo = "Adulto"
Case Is >= 70:
Tipo = "Anciano"
End Select
MsgBox (Tipo)
End Sub
Como puede observarse en los ejemplos, un Select Case cumple la misma funcin
que una estructura de decisin anidada con If -Then -Else, pero de una forma ms
ordenada, la nica desventaja es que slo es posible evaluar una expresin, mientras
que con If pueden usarse tantas como sean necesarias. Por ejemplo, si en un
programa se quiere hacer un descuento a los clientes tipo A que compren un monto
superior a 200000 Bs, no puede usarse un Select Case ya que hay que considerar
dos criterios para tomar la decisin, uno referente al tipo de cliente y el otro al
monto de la compra. Es precisamente por eso que existen estas dos posibilidades,
estructuras de decisin anidadas y mltiple, cuando una no es vlida, se puede usar
la otra.
EJERCICIOS PROPUESTOS
1. Determinar la cantidad total a pagar por una llamada telefnica, teniendo en cuenta
lo siguiente:
- Toda llamada que dure tres minutos o menos tiene un costo de 300 Bs.
- Cada minuto adicional a partir de los tres primeros cuesta 150 Bs.
2. Se quiere un programa que permita calcular el precio a pagar por la compra de un
artculo. El IVA a pagar es del 15% y si el precio bruto (precio de venta + IVA) es
mayor de 150.000 Bs. se debe realizar un descuento del 1%.
3. Los empleados de una fbrica trabajan en uno de los siguientes turnos: diurno o
nocturno. Se desea calcular el salario de un trabajador de acuerdo con lo siguiente:
- La tarifa diurna es de 1.000 Bs./hora
- La tarifa nocturna es de 1.500 Bs./hora
90
Ing. Marcelino Jos Manrique Luna - Docente
4. Dado un nmero entero N, determinar si es par.
5. Escribir un programa que clasifique a un entero x en una de las siguientes
categoras y muestre un mensaje apropiado
- x<5
- 5 <= x <= 50
- x > 50
6. Hacer un programa que resuelva una ecuacin de segundo grado AX2P + BX + C =
0.
7. Calcular el salario total de un trabajador teniendo en cuenta su salario base y el
nmero de horas extra trabajadas. Para el pago de las horas extra se debe considerar
la categora del trabajador, de acuerdo a la siguiente tabla:
91
Ing. Marcelino Jos Manrique Luna - Docente
[10, 15) 8%
>= 15 10%
10. Escribir un programa que tenga como dato de entrada una calificacin alfabtica A,
B, C, D, E, o F, y muestre la correspondiente calificacin numrica: 20, 17, 14, 10,
5, 0, respectivamente.
11. Un negocio mayorista que vende tablas de madera de ciertas medidas y especie, tiene
clasificado a sus clientes en tres tipos: 1 (si paga a tiempo), 2 (si se retrasa con los
pagos) y 3 (si es un cliente nuevo). Este negocio necesita un programa que dado el
nmero de tablas que un cliente compra, el precio unitario (precio de una tabla) y el
tipo de cliente, calcule el precio total que dicho cliente debe pagar, considerando un
descuento. Si el cliente es tipo 1 el descuento es del 15%, si es tipo 2 tiene un
descuento del 5%, y si es tipo 3 tiene un descuento del 2%.
Estructuras de Repeticin
92
Ing. Marcelino Jos Manrique Luna - Docente
La instruccin For ejecutar las instrucciones (1) X veces, siendo X =Valor_final
Valor_inicial +1.
Option Explicit
Sub Main()
Dim i As Integer
For i = 1 To 5
MsgBox ("Hola Cmo estas?")
Next i
End Sub
Ejemplo 2: Programa que escribe los nmeros pares comprendidos entre 2 y 10 (ambos
inclusive).
Option explicit
Sub Main ( )
Dim num as integer
93
Ing. Marcelino Jos Manrique Luna - Docente
Ejemplo 3: Programa que calcula el promedio general de un curso de n estudiantes.
Option Explicit
Sub Main()
Dim nota As Single, suma As Single, i As Integer
Dim n As Integer, promedio As Single
Suma=0
n = InputBox ("Introduzca el nmero de estudiantes a procesar:")
For i = 1 To n
nota = InputBox("Nota del estudiante " & i)
suma = suma + nota
Next i
promedio = suma / n
MsgBox("Promedio = " & promedio)
End Sub
Repetir Mientras
Visual Basic proporciona tres formas distintas para definir una estructura Repetir
Mientras, la sintaxis de cada una de ellas se indica a continuacin.
94
Ing. Marcelino Jos Manrique Luna - Docente
Una o ms instrucciones (1)
Loop
Do
Una o ms instrucciones (1)
Loop While expresin lgica
c) Forma 3
Option Explicit
Sub Main()
Dim nota As Single, suma As Single, i As Integer
Dim n As Integer, promedio As Single
suma = 0
n = InputBox ("Introduzca el nmero de estudiantes a procesar:")
i=1
Do While i<= n
nota = InputBox("Nota del estudiante " & i)
suma = suma + nota
i=i+1
Loop
95
Ing. Marcelino Jos Manrique Luna - Docente
promedio = suma / n
MsgBox( "Promedio = " & promedio)
End Sub
Ejemplo 6: programa que recibe como datos de entrada las edades de los 50 empleados de
una empresa y calcula: a) el nmero de empleados que tienen menos de 30 aos, b) el nmero
de empleados que tienen entre 30 y 50 aos, c) el nmero de empleados que tienen ms de
50 aos, y d) la edad promedio de los empleados.
Option Explicit
Sub Main()
Dim i As Integer, edad As Byte, e1 As Byte, e2 As Byte, e3 As Byte
Dim prom As Single, sumaedad As Integer
i=1
sumaedad = 0
Do While i <= 5
edad = InputBox("Edad " & i)
sumaedad = sumaedad + edad
If edad < 30 Then
e1 = e1 + 1
Else
If edad <= 50 Then
e2 = e2 + 1
Else
e3 = e3 + 1
End If
End If
i=i+1
Loop
prom = sumaedad / 5
MsgBox ("Promedio = " & prom)
MsgBox ("Empleados con menos de 30 aos= " & e1)
MsgBox ("Empleados con que tienen entre 30 y 50 aos " & e2)
MsgBox ("Empleados con ms de 50 aos= " & e3)
96
Ing. Marcelino Jos Manrique Luna - Docente
End Sub
Las variables e1, e2 y e3 son contadores. Un contador es una variable que se utiliza
para determinar la cantidad de elementos que cumplen cierta condicin. En este
ejemplo, las variables e1, e2 y e3 almacenan la cantidad de empleados que tienen
menos de 30 aos, entre 30 y 50 aos, y ms de 50 aos, respectivamente.
Repetir Hasta
Esta estructura permite repetir un conjunto de instrucciones hasta que una expresin
lgica sea verdadera, o lo que es igual, repite mientras una expresin lgica es falsa.
Cuando la expresin lgica es verdadera, el bucle deja de ejecutarse y el programa
contina en la instruccin siguiente.
Do
Una o ms instrucciones (1)
Loop Until expresin lgica
Option Explicit
Sub Main()
97
Ing. Marcelino Jos Manrique Luna - Docente
Dim nota As Single, suma As Single, i As Integer
Dim n As Integer, promedio As Single
suma = 0
n = InputBox ("Introduzca el nmero de estudiantes a procesar:")
i=1
Do Until i> n
nota = InputBox("Nota del estudiante " & i)
suma = suma + nota
i=i+1
Loop
promedio = suma / n
MsgBox ("Promedio = " & promedio)
End Sub
Ejemplo 9: Programa que permite obtener la siguiente informacin acerca de los estudiantes
de una Facultad
- Nmero de estudiantes del sexo masculino
- Nmero de estudiantes del sexo femenino
- Edad promedio
- Promedio de notas general de la Facultad
Para resolver este problema utilizando una estructura de repeticin, se requiere como primer
dato de entrada el nmero de estudiantes de la Facultad. Luego, para cada estudiante se
solicitan los siguientes datos: sexo, edad y promedio de notas.
Option Explicit
Sub Main()
Dim n As Integer, sexo As String, edad As Byte, prom As Single
Dim i As Integer, nm As Integer, nf As Integer, sumae As Single
Dim sumap As Single, prome As Single, promg As Single
n = InputBox("Nmero de estudiantes")
i=1
nm = 0
Do Until i > n
98
Ing. Marcelino Jos Manrique Luna - Docente
sexo = InputBox("Sexo:", "Estudiante " & i)
edad = InputBox("Edad:", "Estudiante " & i)
prom = InputBox("Promedio:", "Estudiante " & i)
If sexo = "M" Or sexo = "m" Then
nm = nm + 1
Else
If sexo = "F" Or sexo = "f" Then
nf = nf + 1
End If
End If
sumae = sumae + edad
sumap = sumap + prom
i=i+1
Loop
prome = sumae / n
promg = sumap / n
MsgBox("Edad Promedio=" & prome & Chr(10) & "Promedio
General= " & promg)
MsgBox ("No. de hombres= " & nm & Chr(10) & "No. de mujeres=
" & nf)
End Sub
Ejemplo 10: Este programa tiene un conjunto de instrucciones que permiten validar la
entrada de datos haciendo uso de una estructura Repetir Hasta. En el ejemplo el usuario
debe introducir la edad, pero se requiere que la edad est entre 5 y 100, es decir que una edad
menor que 5 se considera invlida, al igual que una edad superior a 100. El objetivo es que
el programa detecte el error y no acepte las edades que son invlidas.
Option Explicit
Sub main()
Dim edad As Byte, Resp As Integer
Do
edad = InputBox("Escriba su edad")
If edad < 5 Or edad > 100 Then
99
Ing. Marcelino Jos Manrique Luna - Docente
Resp = MsgBox("La edad debe estar entre 5 y 100",
vbExclamation, "Error!")
End If
Loop Until edad >= 5 And edad <= 100
End Sub
Ejemplo 11: Programa que calcula la suma y la media aritmtica de un conjunto de nmeros.
Cada vez que se introduce un nmero se muestra un MsgBox donde se pregunta si se desea
introducir un nuevo nmero, si la respuesta es s, aparece un InputBox para escribir el
siguiente nmero, si es no, entonces se muestran la suma, la media aritmtica y la cantidad
de nmeros procesados.
Option Explicit
Sub main()
Dim num As Single, suma As Single, media As Single, can_num As
Integer
Dim resp As Byte
suma = 0
can_num = 0
Do
num = InputBox("Escriba un nmero:")
suma = suma + num
can_num = can_num + 1
resp =MsgBox("Desea introducir otro nmero?", vbYesNo +
vbInformation, _
"ejemplo 11")
Loop Until resp = 7
media = suma / can_num
MsgBox ("Nmeros procesados = " & can_num & Chr(10) & "Suma
="&_
suma & Chr(10) & "Media = " & media)
End Sub
Nota: cuando una instruccin no cabe en una sola lnea, se coloca al final de sta el
smbolo ( _, ) y se contina en la siguiente lnea.
100
Ing. Marcelino Jos Manrique Luna - Docente
resp =MsgBox("Desea introducir otro nmero?", vbYesNo + vbInformation, _
"ejemplo 11")
EJERCICIOS PROPUESTOS
101
Ing. Marcelino Jos Manrique Luna - Docente
regin y determine: a) precipitacin anual en cada regin y b) regin con mayor
precipitacin anual.
5.6.Arreglos
Los arrays, arreglos o mejor conocidos como vectores (o matrices) que son conocidas
por algunos como vectores multidimensionales forman parte tambin de las cosas
que podamos usar en VB6.
Definicin de arreglo
De una dimensin.
De dos dimensiones.
De tres o ms dimensiones
102
Ing. Marcelino Jos Manrique Luna - Docente
Unidimensionales
Es un tipo de datos estructurado que est formado de una coleccin finita y ordenada
de datos del mismo tipo. Es la estructura natural para modelar listas de elementos
iguales.
Por ejemplo imaginemos que tenemos 20 variables de tipo String que almacenan
nombres (nombre1, nombre2, etc..). Si yo ahora quisiera pasar todas estas cadenas a
minsculas tendra que utilizar la funcin Lcase con cada variable: nombre1 =
Lcase(nombre1), nombre2 = Lcase(nombre2), etc.
103
Ing. Marcelino Jos Manrique Luna - Docente
Dim nombres(30) As String
For x = 0 To 30
nombres(x) = LCase(nombres(x))
Next
Para crear un arreglo se debe en primer lugar declararlo como cualquier otra variable,
la nica diferencia es que debemos indicar la cantidad de elementos que contendr el
arreglo, colocando el nmero de ndice entre parntesis. Por ejemplo:
104
Ing. Marcelino Jos Manrique Luna - Docente
En el segundo ejemplo, declaramos un arreglo de 11 elementos de tipo string. Como
pods ver hemos indicado solo un nmero que representa el valor mximo del
mismo. Cabe aclarar que hemos puesto de ndice el nmero 10, pero en realidad el
arreglo contiene 11 elementos ya que cuando NO indicamos el lmite inferior, se
asume que el mismo comienza desde el 0.
Importante: los arreglos se dividen en 2 grupos, los vectores y las matrices. Los
vectores son arreglos que contienen una sola dimensin y las matrices 2 o mas
dimensiones.
Otro ejemplo
Dim paises(2) As String
105
Ing. Marcelino Jos Manrique Luna - Docente
paises(2) = "Brasil"
Next x
106
Ing. Marcelino Jos Manrique Luna - Docente
' Llenamos con datos para el elemento 1 del arreglo
personas(1).nombre = "carlos"
personas(1).apellido = "Martnez"
personas(1).cpostal = 1900
personas(2).nombre = "Hctor"
personas(2).apellido = "rosales"
personas(2).cpostal = 1898
personas(3).nombre = "Albert"
personas(3).apellido = "Einstein"
personas(3).cpostal = 1324
End Sub
Para utilizar una estructura definida por nosotros en vectores o matrices, se hace de
la forma habitual, con la diferencia que debemos declarar el arreglo utilizando el tipo
de dato Type que hayamos creado, en este caso Dim personas(1 to 3) as agenda
107
Ing. Marcelino Jos Manrique Luna - Docente
Bidimensionales
Si luego quisiera acceder a los datos de la misma basta con referirnos a los subndices
Por ejemplo:
personas (1, 1) = "Natalia"
personas (2, 1) = "pedro"
personas (1, 7) = "valeria"
personas (1, 8) = "jos"
personas (2, 2) = "carolina"
108
Ing. Marcelino Jos Manrique Luna - Docente
personas (4, 1) = "raquel"
personas (6, 2) = "eustaquio"
personas (6, 5) = "maria"
personas (6, 8) = "mariana"
Para acceder a los datos sera exactamente de la misma manera pero debemos utilizar
un ndice ms.
Ejemplo:
cubo (1, 1 , 1) = 50
cubo (1, 1 , 2) = 50
cubo (1, 1 , 3) = 50
cubo (1, 2 , 1) = 50
cubo (1, 2 , 2) = 50
cubo (1, 2 , 3) = 50
cubo (1, 3 , 1) = 50
cubo (1, 3 , 2) = 50
cubo (1, 3 , 3) = 50
cubo (2, 1 , 1) = 50
cubo (2, 1 , 2) = 50
cubo (2, 1 , 3) = 50
cubo (2, 2 , 1) = 50
cubo (2, 2 , 2) = 50
cubo (2, 2 , 3) = 50
cubo (2, 3 , 1) = 50
cubo (2, 3 , 2) = 50
cubo (2, 3 , 3) = 50
109
Ing. Marcelino Jos Manrique Luna - Docente
cubo (3, 1 , 1) = 50
cubo (3, 1 , 2) = 50
cubo (3, 1 , 3) = 50
cubo (3, 2 , 1) = 50
cubo (3, 2 , 2) = 50
cubo (3, 2 , 3) = 50
cubo (3, 3 , 1) = 50
cubo (3, 3 , 2) = 50
cubo (3, 3 , 3) = 50
En el ejemplo anterior, que es un poco extenso, es para que veas todos los posibles
valores que puedes almacenar en una matriz de 3 x 3 x 3, y que da como resultado
un arreglo de 27 valores posibles.
110
Ing. Marcelino Jos Manrique Luna - Docente
Referencia Bibliogrfica
Bibliografa Bsica:
Corona, M., Ancona, M. (2011). Diseo de algoritmos y su codificacin en
lenguaje C. McGrawHill. 2011
Bibliografa Complementara:
Mrquez, G., Osorio, S., Olvera, N. (2011). Introduccin a la Programacin
Estruturada en C. Pearson. 2011
Web
http://webdelprofesor.ula.ve/forestal/mariaq/archivos_guias_apuntes/IntroProgVB.
pdf
111
Ing. Marcelino Jos Manrique Luna - Docente