SlideShare una empresa de Scribd logo
1 de 30
Cadenas, Entrada y Salida
 Debug
 Manipulación de cadenas
 Salida, impresión de datos
 Optimización de la salida de datos
 Formato de datos
 Entrada de datos
 Manipulación y conversión de tipos
Debug
Se refiere al proceso de validación de un algoritmo
implementado en un lenguaje de programación.
Antes de escribir el código se recomienda hacer una prueba
de escritorio manual, de tal forma que se pueda revisar
como funciona la solución planteada.
Luego cuando se escribe el programa, VBA dispone de
algunas herramientas para poder hacer seguimiento al
programa en el momento de construcción.
Debug
Debug.print: Propiedad de VBA que permite imprimir
datos en la ventana de inmediato (CTRL + G)
Modo de uso:
For i = 1 To Len(str)
Debug.Print "i " & i & " caracter " & Mid(str, i, 1)
Next
En la imagen se muestra, el resultado de evaluar cada paso de un ciclo for
Debug
También se puede hacer debug, ejecutando instrucción por
instrucción el programa.
Usando la opción del menú Depuración / Paso a paso por
instrucciones cada vez que se quiera saltar a una nueva
instrucción o presionar f8 para cambiar de instrucción.
La instrucción que se esta ejecutando se subraya con un color
amarillo y se puede usar el mouse pasándolo por encima de las
variables para saber su valor.
Debug
Al presionar cuatro veces F8 la
ejecución llega hasta las
instrucciones del ciclo donde es
posible validar el valor de la i para
cada bucle.
De esta forma se pueden detectar y corregir errores en tiempo de ejecución,
detectar errores lógicos y al empezar a programar es una buena forma de
entender el funcionamiento de un programa.
Se recomienda al probar usar rangos de datos pequeños, para que los ciclos
terminen rápido
Manipulación de cadenas
Una cadena de caracteres se puede ver como una variable
que guarda un conjunto de datos alfanuméricos.
Es posible por medio de la programación, modificar, examinar
y controlar que pasa con la variable que representa la cadena.
Gráficamente una cadena se ve así:
Manipulación de cadenas
Cada carácter de una cadena ocupa una posición
identificada por medio de un índice, el primer dato tiene
índice 1, el total de datos en la cadena se llama longitud.
Es un error en tiempo de ejecución tratar de acceder a una
posición menor a 1 y mayor que la longitud. Para conocer la
longitud se puede usar la función, Len.
Manipulación de cadenas
Conocer la longitud de una cadena
Dim str As String
str = "Hola Mundo"
Debug.Print Len(str)
Imprime : 10
Manipulación de cadenas
Acceder a un dato de la cadena
Dim str As String
str = "Hola Mundo"
Debug.Print Mid(str, 1, 1)
Imprime : H
La función Mid, retorna el conjunto de caracteres solicitados entre
un rango de valores validos. Para el ejemplo se extrae a partir del
primer elemento y el total de elementos a extraer es uno.
Manipulación de cadenas
El resultado anterior también se puede calcular usando la función
Left, así:
Dim str As String
str = "Hola Mundo"
Debug.Print Left(str, 1)
Imprime: H
Retorna el total de datos a partir del inicio, en este caso un
caracter. La función Right(str, 1) retorna o, se comporta igual pero
de atrás hacia adelante
Manipulación de cadenas
Convertir a mayúscula/minúsculas una cadena
Dim str As String
str = "Hola Mundo"
Debug.Print UCase(str) & " " & LCase(str)
Imprime: HOLA MUNDO hola mundo
Manipulación de cadenas
Buscar una cadena en otra
Dim str As String
str = "Hola Mundo"
Debug.Print InStr(str, "Mundo")
Imprime: 6 (Índice de la primera coincidencia)
Busca en la cadena str, la cadena “Mundo”, esta función es
case sensitive
Manipulación de cadenas
Remplazar datos de una cadena por otro e invertir la cadena
Dim str As String
str = "Hola Mundo"
Debug.Print Replace(str, "o", "*") & " "
_ & StrReverse(str)
Imprime: H*la Mund* odnuM aloH
El carácter _ se usa para saltar de línea al escribir código en VBA
Manipulación de cadenas
Agregar espacios a una cadena
Dim str As String
str = "Hola Mundo"
Debug.Print Left(str, 4) & "" & Space(5) & Mid(str, 6, Len(str))
Imprime: Hola Mundo
‘se agregan 5 espacios en la mitad de la cadena.
Observe el uso de varias funciones en una misma instrucción
para llegar al resultado esperado.
Manipulación de cadenas
Remover espacios de una cadena
Dim str As String
str = " Hola Mundo “
Debug.Print "|" & LTrim(str) & "|“
Imprime :
|Hola Mundo |
Debug.Print "|" & RTrim(str) & "|“
Imprime:
| Hola Mundo|
Debug.Print "|" & Trim(str) & "|“
Imprime:
|Hola Mundo|
Manipulación de cadenas
Preguntar si una cadena guarda un dato que se puede
convertir a número
Dim str As String, str2 As String
str = "1234“
str2 = " Hola Mundo “
Debug.Print IsNumeric(str) & " " & _IsNumeric(str2)
Imprime: Verdadero Falso
Salida, impresión de datos
Se refiere a la interfaz de datos que se le presenta al
usuario para mostrarle las respuestas del programa.
Dim str As String
str = " Hola Mundo "
MsgBox str
Salida, impresión de datos
Dim str As String
Dim i As Integer
str = " Hola Mundo "
i = MsgBox(str, vbYesNo)
Debug.Print "i = vbYes " & (i = vbYes) & " i= vbNO " & (i = vbNo)
Imprime i = vbYes Falso i= vbNO Verdadero
Si el usuario presiona el botón No
Salida, impresión de datos
Las ventanas de mensaje se pueden personalizar usando
unas constantes de VBA, que indican cuales botones debe
mostrar la ventana, como lo indica la siguiente tabla:
Salida, impresión de datos
Y además se puede cambiar el icono que se muestra en la
ventana, los iconos disponibles son:
Salida, impresión de datos
Dim str As String
Dim i As Integer
str = " Hola Mundo "
i = MsgBox(str, vbRetryCancel Or vbExclamation)
Debug.Print "i = vbRetry " & (i = vbRetry) & " i= vbCancel " & (i = vbCancel)
Imprime:
i = vbRetry Verdadero i= vbCancel
Falso si el usuario presiona el botón retry
Optimización - Salida de datos
Cuando se van a
presentar datos al
usuario, se recomienda
mostrar un solo cuadro
con la información, así:
Optimización - Salida de datos
Ejemplo:
Dim str As String
Dim i As Integer
For i = 1 To 10
str = str & i & vbNewLine
Next
MsgBox str
Observe el uso de la constante vbNewLine para crear un salto de línea,
similar a vbCrlf. Además mire que solo se llama una vez la función MsgBox
Formato de datos
Para mostrar la salida al usuario se recomienda darle
formato a la salida, por ejemplo:
Dim devuelta As Double
devuelta = 2500
MsgBox "La devuelta es $: " & devuelta
MsgBox "Ingrese una opción así: " & vbCrLf _
& "1.Buscar" & vbCrLf & "2.Agrear" & vbCrLf _
& "3.Pagar" & vbCrLf & "4.Salir"
Entrada de datos
Para pedir al usuario que ingrese un dato, se usa la
función InputBox, así:
Dim ans As String
ans = InputBox("Ingrese un dato", “Captura de datos", "valor por defecto")
Nota: Esta función siempre retorna una cadena.
Manipulación y conversión de tipos
Al pedir un dato al usuario usando la función InputBox, siempre se devuelve un dato de
tipo String (cadena), se debe convertir el dato a su equivalente numérico antes de
poder realizar operaciones aritméticas.
Dim a As String
Dim dato As Double
a = InputBox("Ingrese un dato para elevar al cuadrado")
If IsNumeric(a) Then
dato = CDbl(a)
MsgBox "El cuadrado de " & dato & " es " & (dato * dato)
Else
MsgBox "Error el dato ingresado no es un número", _ vbOKOnly Or vbCritical
End If
Manipulación y conversión de tipos
Ingreso de datos correctos
Ingreso de datos incorrectos
Práctica en parejas
Escriba un programa en VBA, que permita calcular las siguientes
operaciones, suma, resta, multiplicación, división, raíz, potencia, factorial,
Fibonacci.
Presente un menú de selección en una ventana al usuario donde se debe
seleccionar la operación. Sobra decir que se deben tener en cuenta los
casos especiales.
 Escriba un programa que elimine las vocales de una cadena.
 Escriba un programa que permita calcular si una palabra es
palíndroma. Una palabra es palíndroma si se lee igual de izquierda a
derecha y de derecha a izquierda. (ejemplo: Ana, arenera, anilina,
anana,oruro, oso, radar, reconocer…)
 Escriba un programa que convierta un número binario a su equivalente
decimal y un decimal a su equivalente a binario. Solo números enteros
positivos.

Más contenido relacionado

La actualidad más candente

Manual de PSeInt
Manual de PSeIntManual de PSeInt
Manual de PSeIntCristian C
 
Arreglos en pseint Tutorial Basico
Arreglos en pseint Tutorial BasicoArreglos en pseint Tutorial Basico
Arreglos en pseint Tutorial BasicoChobe69
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujofcgm2
 
Guia de aprendizaje VS2005-2010
Guia de aprendizaje VS2005-2010Guia de aprendizaje VS2005-2010
Guia de aprendizaje VS2005-2010Duvan Aguilera
 
Desarrollo de aplicaciones en visual basic 6.0
Desarrollo de aplicaciones en visual basic 6.0Desarrollo de aplicaciones en visual basic 6.0
Desarrollo de aplicaciones en visual basic 6.0Gtmuriano
 
Joption pane en java
Joption pane en javaJoption pane en java
Joption pane en javaRobert Wolf
 
M altamirano ejercicios+practicos+con+el+uso+de+pse_int
M altamirano ejercicios+practicos+con+el+uso+de+pse_intM altamirano ejercicios+practicos+con+el+uso+de+pse_int
M altamirano ejercicios+practicos+con+el+uso+de+pse_intPablo Contramaestre
 
Programación Algoritmos - Tipos de Datos y Estructuras de Control Básicas
Programación Algoritmos - Tipos de Datos y Estructuras de Control BásicasProgramación Algoritmos - Tipos de Datos y Estructuras de Control Básicas
Programación Algoritmos - Tipos de Datos y Estructuras de Control Básicasaveas01
 
Estructura Secuencial
Estructura SecuencialEstructura Secuencial
Estructura SecuencialRegina Flores
 
Funciones y procedimientos_propios_lpp
Funciones y procedimientos_propios_lppFunciones y procedimientos_propios_lpp
Funciones y procedimientos_propios_lppunicaucacpe
 
Tutorial Math Cad
Tutorial Math CadTutorial Math Cad
Tutorial Math Cadlalorroh
 
Razonamiento algoritmico
Razonamiento algoritmicoRazonamiento algoritmico
Razonamiento algoritmicopaty_cursocompu
 

La actualidad más candente (20)

Manual de PSeInt
Manual de PSeIntManual de PSeInt
Manual de PSeInt
 
Practicas 120322224406-phpapp02
Practicas 120322224406-phpapp02Practicas 120322224406-phpapp02
Practicas 120322224406-phpapp02
 
Esimlp
EsimlpEsimlp
Esimlp
 
Arreglos en pseint Tutorial Basico
Arreglos en pseint Tutorial BasicoArreglos en pseint Tutorial Basico
Arreglos en pseint Tutorial Basico
 
Uso y manejo de DFD - Una aproximación
Uso y manejo de DFD - Una aproximaciónUso y manejo de DFD - Una aproximación
Uso y manejo de DFD - Una aproximación
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Guia de aprendizaje VS2005-2010
Guia de aprendizaje VS2005-2010Guia de aprendizaje VS2005-2010
Guia de aprendizaje VS2005-2010
 
Desarrollo de aplicaciones en visual basic 6.0
Desarrollo de aplicaciones en visual basic 6.0Desarrollo de aplicaciones en visual basic 6.0
Desarrollo de aplicaciones en visual basic 6.0
 
Dfd
DfdDfd
Dfd
 
Joption pane en java
Joption pane en javaJoption pane en java
Joption pane en java
 
M altamirano ejercicios+practicos+con+el+uso+de+pse_int
M altamirano ejercicios+practicos+con+el+uso+de+pse_intM altamirano ejercicios+practicos+con+el+uso+de+pse_int
M altamirano ejercicios+practicos+con+el+uso+de+pse_int
 
Matlab
MatlabMatlab
Matlab
 
Programación Algoritmos - Tipos de Datos y Estructuras de Control Básicas
Programación Algoritmos - Tipos de Datos y Estructuras de Control BásicasProgramación Algoritmos - Tipos de Datos y Estructuras de Control Básicas
Programación Algoritmos - Tipos de Datos y Estructuras de Control Básicas
 
Estructura Secuencial
Estructura SecuencialEstructura Secuencial
Estructura Secuencial
 
Algoritmos secuenciales
Algoritmos secuencialesAlgoritmos secuenciales
Algoritmos secuenciales
 
Hp practica1 - Estructuras secuenciales
Hp practica1 - Estructuras secuencialesHp practica1 - Estructuras secuenciales
Hp practica1 - Estructuras secuenciales
 
Funciones y procedimientos_propios_lpp
Funciones y procedimientos_propios_lppFunciones y procedimientos_propios_lpp
Funciones y procedimientos_propios_lpp
 
Tutorial Math Cad
Tutorial Math CadTutorial Math Cad
Tutorial Math Cad
 
Razonamiento algoritmico
Razonamiento algoritmicoRazonamiento algoritmico
Razonamiento algoritmico
 

Similar a Entrada y salida, manejo de cadenas de texto

Similar a Entrada y salida, manejo de cadenas de texto (20)

Luis Gamboa
Luis  GamboaLuis  Gamboa
Luis Gamboa
 
Presentación1
Presentación1Presentación1
Presentación1
 
Curso taller minitab-aplicado_al_control
Curso taller minitab-aplicado_al_controlCurso taller minitab-aplicado_al_control
Curso taller minitab-aplicado_al_control
 
Fundamentos de programación en scilab
Fundamentos de programación en scilabFundamentos de programación en scilab
Fundamentos de programación en scilab
 
Fundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octaveFundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octave
 
MATLAB 2010
MATLAB 2010MATLAB 2010
MATLAB 2010
 
Fundamentosdeprogramacion 2
Fundamentosdeprogramacion 2Fundamentosdeprogramacion 2
Fundamentosdeprogramacion 2
 
introducción a la programación utilizando C++.pptx
introducción a la programación utilizando C++.pptxintroducción a la programación utilizando C++.pptx
introducción a la programación utilizando C++.pptx
 
Arreglos, Procedimientos y Funciones
Arreglos, Procedimientos y FuncionesArreglos, Procedimientos y Funciones
Arreglos, Procedimientos y Funciones
 
Escuela
EscuelaEscuela
Escuela
 
Escuela
EscuelaEscuela
Escuela
 
Pres arreglosmat animacion
Pres arreglosmat animacionPres arreglosmat animacion
Pres arreglosmat animacion
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Comandos de Raptor,C# y Java
Comandos de Raptor,C# y JavaComandos de Raptor,C# y Java
Comandos de Raptor,C# y Java
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 
Algoritmos y programas ing civil
Algoritmos y programas ing civil Algoritmos y programas ing civil
Algoritmos y programas ing civil
 
Ambiente
 Ambiente Ambiente
Ambiente
 
Ambiente de programación en pascal
Ambiente de programación en pascalAmbiente de programación en pascal
Ambiente de programación en pascal
 
Ambiente de programacin en pascal
Ambiente de programacin en pascalAmbiente de programacin en pascal
Ambiente de programacin en pascal
 

Más de Andres Bedoya Tobon

Enums, constantes, listas e interfaces
Enums, constantes, listas e interfacesEnums, constantes, listas e interfaces
Enums, constantes, listas e interfacesAndres Bedoya Tobon
 
Progra-Amando Medellin Tech Fest
Progra-Amando Medellin Tech FestProgra-Amando Medellin Tech Fest
Progra-Amando Medellin Tech FestAndres Bedoya Tobon
 
03 curso poo Valores por defecto - constructores
03 curso poo Valores por defecto - constructores03 curso poo Valores por defecto - constructores
03 curso poo Valores por defecto - constructoresAndres Bedoya Tobon
 
Elementos de programacion - Excel
Elementos de programacion - ExcelElementos de programacion - Excel
Elementos de programacion - ExcelAndres Bedoya Tobon
 
Programación y diseño orientado a objetos
Programación y diseño orientado a objetosProgramación y diseño orientado a objetos
Programación y diseño orientado a objetosAndres Bedoya Tobon
 
Progra-amando <3 (Amor por la programación)
Progra-amando <3 (Amor por la programación)Progra-amando <3 (Amor por la programación)
Progra-amando <3 (Amor por la programación)Andres Bedoya Tobon
 
Presentación 13 Paso por referencia
Presentación 13 Paso por referenciaPresentación 13 Paso por referencia
Presentación 13 Paso por referenciaAndres Bedoya Tobon
 
Presentación 11 Entrada y salida de datos
Presentación 11 Entrada y salida de datosPresentación 11 Entrada y salida de datos
Presentación 11 Entrada y salida de datosAndres Bedoya Tobon
 

Más de Andres Bedoya Tobon (20)

Enums, constantes, listas e interfaces
Enums, constantes, listas e interfacesEnums, constantes, listas e interfaces
Enums, constantes, listas e interfaces
 
Progra-Amando Medellin Tech Fest
Progra-Amando Medellin Tech FestProgra-Amando Medellin Tech Fest
Progra-Amando Medellin Tech Fest
 
04 curso poo Herencia
04 curso poo Herencia04 curso poo Herencia
04 curso poo Herencia
 
03 curso poo Valores por defecto - constructores
03 curso poo Valores por defecto - constructores03 curso poo Valores por defecto - constructores
03 curso poo Valores por defecto - constructores
 
02 curso poo Clase - Objeto
02 curso poo Clase - Objeto02 curso poo Clase - Objeto
02 curso poo Clase - Objeto
 
01 curso poo Funciones
01 curso poo Funciones01 curso poo Funciones
01 curso poo Funciones
 
Excel - Macros
Excel - MacrosExcel - Macros
Excel - Macros
 
Taller de estudio - Excel
Taller de estudio - ExcelTaller de estudio - Excel
Taller de estudio - Excel
 
Elementos de programacion - Excel
Elementos de programacion - ExcelElementos de programacion - Excel
Elementos de programacion - Excel
 
Automatizar tareas usando GAP
Automatizar tareas usando GAPAutomatizar tareas usando GAP
Automatizar tareas usando GAP
 
Pull request - Hacktoberfest
Pull request - Hacktoberfest Pull request - Hacktoberfest
Pull request - Hacktoberfest
 
Abc tipografico Medellin CSS
Abc tipografico Medellin CSSAbc tipografico Medellin CSS
Abc tipografico Medellin CSS
 
Programación y diseño orientado a objetos
Programación y diseño orientado a objetosProgramación y diseño orientado a objetos
Programación y diseño orientado a objetos
 
Clean code
Clean codeClean code
Clean code
 
Progra-amando <3 (Amor por la programación)
Progra-amando <3 (Amor por la programación)Progra-amando <3 (Amor por la programación)
Progra-amando <3 (Amor por la programación)
 
Presentación 13 Paso por referencia
Presentación 13 Paso por referenciaPresentación 13 Paso por referencia
Presentación 13 Paso por referencia
 
Presentación 12 Paso por copia
Presentación 12 Paso por copiaPresentación 12 Paso por copia
Presentación 12 Paso por copia
 
Presentación 11 Entrada y salida de datos
Presentación 11 Entrada y salida de datosPresentación 11 Entrada y salida de datos
Presentación 11 Entrada y salida de datos
 
Presentación 09 Cajas blanca
Presentación 09 Cajas blancaPresentación 09 Cajas blanca
Presentación 09 Cajas blanca
 
Presentación 10 Cajas negras
Presentación 10 Cajas negrasPresentación 10 Cajas negras
Presentación 10 Cajas negras
 

Último

Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwealekzHuri
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Flores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaFlores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaJuan Carlos Fonseca Mata
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Marketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPMarketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPANEP - DETP
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirPaddySydney1
 

Último (20)

Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Flores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaFlores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - Botánica
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Marketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPMarketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETP
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartir
 

Entrada y salida, manejo de cadenas de texto

  • 1.
  • 2. Cadenas, Entrada y Salida  Debug  Manipulación de cadenas  Salida, impresión de datos  Optimización de la salida de datos  Formato de datos  Entrada de datos  Manipulación y conversión de tipos
  • 3. Debug Se refiere al proceso de validación de un algoritmo implementado en un lenguaje de programación. Antes de escribir el código se recomienda hacer una prueba de escritorio manual, de tal forma que se pueda revisar como funciona la solución planteada. Luego cuando se escribe el programa, VBA dispone de algunas herramientas para poder hacer seguimiento al programa en el momento de construcción.
  • 4. Debug Debug.print: Propiedad de VBA que permite imprimir datos en la ventana de inmediato (CTRL + G) Modo de uso: For i = 1 To Len(str) Debug.Print "i " & i & " caracter " & Mid(str, i, 1) Next En la imagen se muestra, el resultado de evaluar cada paso de un ciclo for
  • 5. Debug También se puede hacer debug, ejecutando instrucción por instrucción el programa. Usando la opción del menú Depuración / Paso a paso por instrucciones cada vez que se quiera saltar a una nueva instrucción o presionar f8 para cambiar de instrucción. La instrucción que se esta ejecutando se subraya con un color amarillo y se puede usar el mouse pasándolo por encima de las variables para saber su valor.
  • 6. Debug Al presionar cuatro veces F8 la ejecución llega hasta las instrucciones del ciclo donde es posible validar el valor de la i para cada bucle. De esta forma se pueden detectar y corregir errores en tiempo de ejecución, detectar errores lógicos y al empezar a programar es una buena forma de entender el funcionamiento de un programa. Se recomienda al probar usar rangos de datos pequeños, para que los ciclos terminen rápido
  • 7. Manipulación de cadenas Una cadena de caracteres se puede ver como una variable que guarda un conjunto de datos alfanuméricos. Es posible por medio de la programación, modificar, examinar y controlar que pasa con la variable que representa la cadena. Gráficamente una cadena se ve así:
  • 8. Manipulación de cadenas Cada carácter de una cadena ocupa una posición identificada por medio de un índice, el primer dato tiene índice 1, el total de datos en la cadena se llama longitud. Es un error en tiempo de ejecución tratar de acceder a una posición menor a 1 y mayor que la longitud. Para conocer la longitud se puede usar la función, Len.
  • 9. Manipulación de cadenas Conocer la longitud de una cadena Dim str As String str = "Hola Mundo" Debug.Print Len(str) Imprime : 10
  • 10. Manipulación de cadenas Acceder a un dato de la cadena Dim str As String str = "Hola Mundo" Debug.Print Mid(str, 1, 1) Imprime : H La función Mid, retorna el conjunto de caracteres solicitados entre un rango de valores validos. Para el ejemplo se extrae a partir del primer elemento y el total de elementos a extraer es uno.
  • 11. Manipulación de cadenas El resultado anterior también se puede calcular usando la función Left, así: Dim str As String str = "Hola Mundo" Debug.Print Left(str, 1) Imprime: H Retorna el total de datos a partir del inicio, en este caso un caracter. La función Right(str, 1) retorna o, se comporta igual pero de atrás hacia adelante
  • 12. Manipulación de cadenas Convertir a mayúscula/minúsculas una cadena Dim str As String str = "Hola Mundo" Debug.Print UCase(str) & " " & LCase(str) Imprime: HOLA MUNDO hola mundo
  • 13. Manipulación de cadenas Buscar una cadena en otra Dim str As String str = "Hola Mundo" Debug.Print InStr(str, "Mundo") Imprime: 6 (Índice de la primera coincidencia) Busca en la cadena str, la cadena “Mundo”, esta función es case sensitive
  • 14. Manipulación de cadenas Remplazar datos de una cadena por otro e invertir la cadena Dim str As String str = "Hola Mundo" Debug.Print Replace(str, "o", "*") & " " _ & StrReverse(str) Imprime: H*la Mund* odnuM aloH El carácter _ se usa para saltar de línea al escribir código en VBA
  • 15. Manipulación de cadenas Agregar espacios a una cadena Dim str As String str = "Hola Mundo" Debug.Print Left(str, 4) & "" & Space(5) & Mid(str, 6, Len(str)) Imprime: Hola Mundo ‘se agregan 5 espacios en la mitad de la cadena. Observe el uso de varias funciones en una misma instrucción para llegar al resultado esperado.
  • 16. Manipulación de cadenas Remover espacios de una cadena Dim str As String str = " Hola Mundo “ Debug.Print "|" & LTrim(str) & "|“ Imprime : |Hola Mundo | Debug.Print "|" & RTrim(str) & "|“ Imprime: | Hola Mundo| Debug.Print "|" & Trim(str) & "|“ Imprime: |Hola Mundo|
  • 17. Manipulación de cadenas Preguntar si una cadena guarda un dato que se puede convertir a número Dim str As String, str2 As String str = "1234“ str2 = " Hola Mundo “ Debug.Print IsNumeric(str) & " " & _IsNumeric(str2) Imprime: Verdadero Falso
  • 18. Salida, impresión de datos Se refiere a la interfaz de datos que se le presenta al usuario para mostrarle las respuestas del programa. Dim str As String str = " Hola Mundo " MsgBox str
  • 19. Salida, impresión de datos Dim str As String Dim i As Integer str = " Hola Mundo " i = MsgBox(str, vbYesNo) Debug.Print "i = vbYes " & (i = vbYes) & " i= vbNO " & (i = vbNo) Imprime i = vbYes Falso i= vbNO Verdadero Si el usuario presiona el botón No
  • 20. Salida, impresión de datos Las ventanas de mensaje se pueden personalizar usando unas constantes de VBA, que indican cuales botones debe mostrar la ventana, como lo indica la siguiente tabla:
  • 21. Salida, impresión de datos Y además se puede cambiar el icono que se muestra en la ventana, los iconos disponibles son:
  • 22. Salida, impresión de datos Dim str As String Dim i As Integer str = " Hola Mundo " i = MsgBox(str, vbRetryCancel Or vbExclamation) Debug.Print "i = vbRetry " & (i = vbRetry) & " i= vbCancel " & (i = vbCancel) Imprime: i = vbRetry Verdadero i= vbCancel Falso si el usuario presiona el botón retry
  • 23. Optimización - Salida de datos Cuando se van a presentar datos al usuario, se recomienda mostrar un solo cuadro con la información, así:
  • 24. Optimización - Salida de datos Ejemplo: Dim str As String Dim i As Integer For i = 1 To 10 str = str & i & vbNewLine Next MsgBox str Observe el uso de la constante vbNewLine para crear un salto de línea, similar a vbCrlf. Además mire que solo se llama una vez la función MsgBox
  • 25. Formato de datos Para mostrar la salida al usuario se recomienda darle formato a la salida, por ejemplo: Dim devuelta As Double devuelta = 2500 MsgBox "La devuelta es $: " & devuelta MsgBox "Ingrese una opción así: " & vbCrLf _ & "1.Buscar" & vbCrLf & "2.Agrear" & vbCrLf _ & "3.Pagar" & vbCrLf & "4.Salir"
  • 26. Entrada de datos Para pedir al usuario que ingrese un dato, se usa la función InputBox, así: Dim ans As String ans = InputBox("Ingrese un dato", “Captura de datos", "valor por defecto") Nota: Esta función siempre retorna una cadena.
  • 27. Manipulación y conversión de tipos Al pedir un dato al usuario usando la función InputBox, siempre se devuelve un dato de tipo String (cadena), se debe convertir el dato a su equivalente numérico antes de poder realizar operaciones aritméticas. Dim a As String Dim dato As Double a = InputBox("Ingrese un dato para elevar al cuadrado") If IsNumeric(a) Then dato = CDbl(a) MsgBox "El cuadrado de " & dato & " es " & (dato * dato) Else MsgBox "Error el dato ingresado no es un número", _ vbOKOnly Or vbCritical End If
  • 28. Manipulación y conversión de tipos Ingreso de datos correctos Ingreso de datos incorrectos
  • 29. Práctica en parejas Escriba un programa en VBA, que permita calcular las siguientes operaciones, suma, resta, multiplicación, división, raíz, potencia, factorial, Fibonacci. Presente un menú de selección en una ventana al usuario donde se debe seleccionar la operación. Sobra decir que se deben tener en cuenta los casos especiales.
  • 30.  Escriba un programa que elimine las vocales de una cadena.  Escriba un programa que permita calcular si una palabra es palíndroma. Una palabra es palíndroma si se lee igual de izquierda a derecha y de derecha a izquierda. (ejemplo: Ana, arenera, anilina, anana,oruro, oso, radar, reconocer…)  Escriba un programa que convierta un número binario a su equivalente decimal y un decimal a su equivalente a binario. Solo números enteros positivos.