Documentos de Académico
Documentos de Profesional
Documentos de Cultura
COMPUTACIÓN E
INFORMÁTICA
MANUAL DE APRENDIZAJE
FUNDAMENTOS DE
PROGRAMACIÓN
CÓDIGO: 89001561
Profesional Técnico
FUNDAMENTOS DE PROGRAMACIÓN
TABLA DE CONTENIDO
01
I. ANALIZAR LOS FUNDAMENTOS DE PROGRAMACIÓN.
Equipos y Materiales:
Orden de Ejecución:
OPERACIONES.
Las instrucciones deben de tener un cierto lenguaje, para que el ordenador sea
capaz de comprenderlas.
La dificultad está en que los lenguajes que utilizan los ordenadores son
complicados para un usuario común, debido a que son distintos a los que
utilizamos habitualmente. Elaborar y escribir programas que el ordenador usa
internamente es complicado, tanto a la hora de crearlos como particularmente a la
hora de corregir algún desperfecto o mejorar lo hecho. Estos lenguajes pueden ser
llamados: “lenguaje maquina” o “código maquina”.
NOTA:
A veces buscas alguna aplicación que lleve a cabo una función determinada y
no lo encuentras, entonces te sientes ofuscado pues puede darse el hecho de
que ese programa no exista aun.
Pero tienes que encontrarle una solución a este problema y ¿Cómo? Pues
puedes aprender el lenguaje de programación e ir creando de cero el programa
que deseas.
Una maquina es aquella que acepta y realiza ordenes, tal como tu ordenador,
estas órdenes pueden ser tan simples como escribir una letra en la pantalla o
calcular una suma, y pueden tener varias formas, dependiendo del lenguaje
empleado. A un ordenador no puedes decirle lo siguiente:
Este es el único idioma que sabe hablar una pc, ceros y unos “código maquina”,
sin duda no es común para nosotros hablar así por lo que recurrimos a lenguajes
artificiales que son versiones simplificadas de idiomas utilizados por nosotros que
no son más que versiones simplificadas de nuestros idiomas. La frase inicial se
parecería entonces a algo así
caja.Bajar(EstanteriaRoja3) = Verdad;
Así como los idiomas los lenguajes de programación tienen su léxico, sintaxis y
normas de puntuación, las cuales irán variando de acuerdo a la complejidad del
lenguaje. Unos lenguajes son más fáciles de leer que otros por lo que se les
denomina “lenguaje de alto nivel” porque se aproximan al habla humana y el
“lenguaje de bajo nivel” son nada más que los “robóticos”.
Si lo que desea es imprimir una palabra en un lenguaje de alto nivel como BASIC,
basta con escribir PRINT "Hola" (print, en inglés, quiere decir "imprimir"; la mayoría
de lenguajes usan palabras en inglés). Pero ya en un lenguaje de nivel bajo, como
el Ensamblador, las cosas son diferentes, veamos:
Existen cientos de lenguajes de programación y tal como ocurre con los idiomas,
algunos de ellos tienen muy pocos hablantes. Existen aquellos que jamás han
salido de las universidades y/o empresas donde se crearon y otros que por el
contrario son más populares ya que se enseñan por doquier y cuentan con una
gran cantidad de usuarios.
PODEMOS EMPEZAR.
Como primer lugar diremos que “aprender a programar” es una expresión bastante
indefinida. Existen cientos de lenguajes de programación y de variantes, versiones,
modificaciones, etc. así como distintos enfoques en cuanto a los objetivos
(programación web, aplicaciones de gestión, aplicaciones de bases de datos, etc.).
Por tanto “aprender a programar” es bastante ambiguo: es como decir “quiero
Nuestro consejo frente a ello para aquellos que quieran empezar a programar,
sabiendo o no hacia qué lenguaje se van a orientar, nuestra propuesta es que
usen aprenderaprogramar.com como sitio de referencia a través del cual poder dar
los primeros pasos en programación. Una vez adquiridos los fundamentos y
sentadas las bases, será más fácil buscar información y elegir entre las distintas
plataformas y lenguajes existentes. Veamos aquellas opciones que consideramos
adecuadas y aquellas que no para personas que no tienen un conocimiento previo
o que cuenten con ciertos conocimientos limitados.
f) Otras vías: aprender con un amigo, familiar, etc. no es una mala opción,
siempre que esa persona tenga un buen nivel de conocimientos, capacidad
didáctica y tiempo suficiente para dedicarnos.
El procesador está constituido por registros, una unidad de control y una unidad
aritmético lógica (ALU), sin embargo actualmente todo microprocesador también
incluye una unidad de cálculo en coma flotante, (también conocida como
"coprocesador matemático"), que permite operaciones por hardware con números
decimales, elevando por ende notablemente la eficiencia que proporciona sólo la
ALU con el cálculo indirecto a través de los clásicos números enteros.
• Memoria ROM: es la memoria solo para lectura: Read Only lecture (ROM) es
la parte del almacenamiento principal de la computadora que no pierde su
contenido cuando se interrumpe la energía. Contiene programas esenciales del
sistema que ni la computadora ni el usuario pueden borrar, como los que le
permiten iniciar el funcionamiento cada vez que se enciende la computadora.
Lógica de la computadora.
Los ordenadores tipo digitales utilizan el sistema de números binarios, que tiene
dos dígitos 0 y 1. Un dígito binario se denomina un bit. La información está
representada en las computadoras digitales en grupos de bits. Utilizando diversas
técnicas de codificación los grupos de bits pueden hacerse que representen no
La lógica binaria tiene que ver con variables binarias y con operaciones que toman
un sentido lógico. La manipulación de información binaria se hace por circuitos
lógicos que se denominan Compuertas. Estas compuertas son bloques del
hardware que producen señales en binario 1 ó 0 cuando se satisfacen los
requisitos de entrada lógica. Las diversas compuertas lógicas se encuentran
comúnmente en sistemas de computadoras digitales. Cada compuerta tiene un
símbolo gráfico diferente y su operación puede describirse por medio de una
función algebraica. Las relaciones entrada - salida de las variables binarias para
cada compuerta pueden representarse en forma tabular en una tabla de verdad. A
continuación se detallan los nombres, símbolos, gráficos, funciones algebraicas, y
tablas de verdad de las compuertas más usadas.
Al contar con tan sólo dos símbolos numéricos, las computadoras funcionan
internamente con el sistema binario que se compone de dos dígitos (0 y 1) para la
representación de datos e instrucciones. Estos dos dígitos se implementan de
ASCII
El código ASCII (acrónimo inglés de American Standard Code for Information
Interchange — Código Estadounidense Estándar para el Intercambio de
Información), pronunciado generalmente [áski], es un código de caracteres
basado en el alfabeto latino tal como se usa en inglés moderno y en otras lenguas
occidentales
EBCDIC
EBCDIC = Extended Binary Coded Decimal Interchange Code
EBCDIC es un código binario que representa caracteres alfanuméricos, controles
y signos de puntuación.
Cada carácter está compuesto por 8 bits = 1 byte, por eso EBCDIC define un total
de 256 caracteres.
UNICODE
Unicode es un estándar industrial cuyo objetivo es proporcionar el medio por el
cual un texto en cualquier forma e idioma pueda ser codificado para el uso
informático.
Bit de paridad.
tales problemas. El análisis y diseño de sistemas proporciona una guía útil que
busca disminuir las situaciones de fracaso o errores al acometer estos procesos.
A pesar de que cada lenguaje de programación puede tener su propio estilo, hay
algunas definiciones generales que se aplican a la mayoría, y esas son siempre
muy esenciales para desarrollar un buen trabajo. El estilo de programación
considera reglas de identación, formateado, estilo de variables, etc. El objetivo
principal es establecer un “estilo estandarizado” que permita una fácil distribución
o modificación posterior del código (source code).
programación tanto para el sistema operativo Windows como para Linux que
mantienen un sangrado automático desde el mismo momento que se comienza a
programar, e incluso utilizan diferentes tipos de colores para identificar y separar
las estructuras de control, tanto secuenciales, condicionales o cíclicas. Ej.
Notepad++ portable, Geany, sublimetext. Existen muchos, se recomienda usar los
del entorno de software libre.
Con estas buenas prácticas su código podrá quedar más limpio, ordenado y
entendible.
NOTA:
Programar un proyecto de gran envergadura no es una tarea fácil. Por esto, es de
fundamental importancia seguir estos pasos para evitar errores de los cuales luego nos
podamos arrepentir y que nos puede costar la reprogramación de todo el programa con su
consecuente pérdida de tiempo adicional, sea cual sea el lenguaje de programación que
vayamos a utilizar.
Lo primero que debemos hacer es entender de arriba a abajo que es lo que debe hacer el
programa. Nunca empieces a programar sin tener, como mínimo, una idea o visión global del
problema. No es mala idea coger un papel y hacer un listado de todas las tareas que debe
realizar y en caso de que surjan dudas, preguntarla antes de empezar a desarrollar.
Una vez hemos entendido el problema, debemos hacer un análisis integro de este. Debemos
coger un papel y representar en él la forma más óptima que se nos ocurra para resolver cada
una de las tareas detectadas en el paso anterior.
do { do
// primera instrucción { // no use un renglón extra para la instrucción
} while (condición); // faltó el ';' al final del "while"
} while (condición)
switch (value) { switch (value) {
case 'a': case 'b': case 'a':
// primera instrucción case 'b':
// segunda instrucción // ahorre renglones
break; // segunda instrucción bien indentada
case 'c': break;
// primera instrucción case 'c': {
break; // sobra usar el bloque { }
default: break;
// primera instrucción }
break; default:
} // primera instrucción
break;
}
list::iterator it = L.begin(); list::iterator it;
for ( ; it != L.end(); ++it ) { for(it=L.begin(), it!=L.end();++it) {
int a = it->first; // alineación int a=it->first; // ¡ Horrible !
long b = it->second; // y espaciado long b=it->second; // ¡ Todo pegado !
c=(long)(a)-b/2>>5; delta = b - c
c = ( ((long)(a) - b) / 2 ) >> 5; }
delta = b - c
}
denominan lenguajes de bajo nivel y los que se encuentran más cercanos a los
programadores y usuarios se denominan lenguajes de alto nivel.
Este lenguaje es mucho más rápido que los lenguajes de alto nivel.
Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje
máquina.
Generaciones.
Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal,
Cobol.
Cuarta generación: Son los lenguajes capaces de generar código por si solos,
son los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un
experto en el lenguaje. Aquí también se encuentran los lenguajes orientados a
objetos, haciendo posible la reutilización d partes del código para otros programas.
FUNDAMENTO TEÓRICO:
Este último paso se conoce como compilación y es necesario para que el código
pueda ser ejecutado por la plataforma para la cual haya sido creado, que puede
ser un ordenador, una tableta, una consola o un teléfono móvil, por ejemplo. Existe
también una forma de traducir el código denominada interpretación, que consiste
en analizar línea a línea, hasta que se traduzca lo suficiente como para poder
realizar una tarea. Cabe mencionar que los lenguajes de programación se dividen
en dos grandes grupos, donde los que pueden ser compilados no pueden ser
interpretados, y viceversa.
Definición de Compilador.
Cuando hablamos de programación, hemos mencionado que existen dos Códigos
fundamentales a la hora de crear aplicaciones, programas o corregir errores
presentes en dicha tarea, teniendo por un lado al Código Fuente, que es el que se
encuentra en un Lenguaje de Programación entendible por los usuarios, y por otro
lado el Código Objeto, que es la traducción del mismo para que todas las órdenes
que han sido redactadas puedan ser “entendidas” por el dispositivo que las vaya a
ejecutar.
estas puede que termine por no ser un impedimento si sirve de mucho tenerlas.
Con ello nos referimos a los siguientes:
En muchas ocasiones nos encontraremos con distintos problemas que van desde:
no saber cómo afrontar un problema, hasta bloqueos mentales o desconocimiento.
Saldremos adelante solo siendo perseverantes y solo continuando cuando
pensemos que ya debemos tirar la esponja. Estas últimas 2 cualidades es lo que
separa a los buenos programadores de los malos. No los conocimientos de
lenguajes, sino la paciencia y la perseverancia es
lo que los llevará a ser buenos.
Debemos siempre tener en cuenta que todas las personas piensan de distinta
forma y por lo tanto todos pensamos distintas soluciones y más aún, distintas
formas de implementar estas soluciones. Si bien es siempre bueno definir hacia
nosotros mismos una metodología para resolver los problemas, es muy útil tener
la habilidad de abstraerse y mirar la situación desde otro lado. En más de alguna
ocasión con esto obtendremos mejores soluciones que las que habíamos pensado
originalmente.
Todo lo demás que pueden hacer es, o bien una combinación de esas
operaciones, o el producto de otros programadores que han desarrollado
aplicaciones que les permiten a estas máquinas realizar otros trabajos. ¿A qué
vamos con esto?, a que siempre hay que tener presente lo básico de la forma de
pensar de los computadores cuando programamos y por eso muchas veces
debemos pensar igual de básico que ellos. Cuando necesitamos encontrar una
solución, debemos enfrentar la situación como un computador lo haría sin saber
otro tipo de informaciones que nosotros sabemos y debemos diseñar nuestras
soluciones de la forma más básica para poder implementarlas.
Una computadora es una máquina electrónica que recibe y procesa datos para
convertirlos en información útil para obtener resultados.
Hoy día existen otros dispositivos muy populares tales como escáneres,
micrófonos, altavoces, cámaras de vídeo, cámaras digitales, etc.; de igual manera,
mediante módems, es posible conectar su computadora con otras computadoras a
través de redes, siendo la más importante, la red Internet.
Lógica de la computadora.
Está basado en el álgebra booleana y sistema de numeración en base dos
(sistema binario). Toda la información se representa en forma binaria mediante el
uso de los dígitos 0 (cero) y 1 (uno). En un circuito digital, en un instante dado la
presencia de un pulso eléctrico (bits o dígitos) representa el primer dígito del
sistema binario. A la inversa, la ausencia de un impulso eléctrico representa el
número 0.
Los impulsos eléctricos se llaman bits. Una vez que la información traducida en
bits, éstos son procesados por circuitos lógicos (puertas lógicas), capaces de
asociar un impulso de salida dada a los pulsos eléctricos en la entrada. Las
puertas lógicas son circuitos eléctricos integrados de interruptores (switches) en
serie o en paralelo. Cada puerta lógica lleva a cabo una función simple álgebra en
particular Boolean (NOT, AND, OR, NAND, XOR, etc.)... Por ejemplo, el siguiente
circuito eléctrico permite realizar la función del operador O:
Las personas dedicadas a la informática necesitan tener la habilidad con este tipo
de numeración. A continuación explicaremos como se utiliza y en que consiste el
sistema binario.
En el sistema binario, tan sólo existen dos dígitos, el cero y el uno. Por lo que se
le denomina sistema en base dos, en el que 2 es el peso relativo de cada cifra
respecto de la que se encuentra a la derecha. Es decir:
0, 1 (cero y uno)
10, 11 (dos y tres)
100, 101, 110, 111 (cuatro, cinco, seis y siete)
1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111 (del ocho al quince)
10000, 10001, 10010, 10011, 10100….
NOTA:
TARJETAS PERFORADAS.
Las tarjetas perforadas fueron usadas por primera vez alrededor de 1725 por
Basile Bouchon y Jean-Baptiste Falcon como una forma más robusta de los rollos
de papel perforados usados en ese entonces para controlar telares textiles en
Francia. Esta técnica fue enormemente mejorada por Joseph Marie Jacquard en
su telar de Jacquard en 1801. Charles Babbage lanzó la idea del uso de las
tarjetas perforadas como un modo de controlar una calculadora mecánica que él
mismo diseñó. Herman Hollerith desarrolló la tecnología de procesamiento de
Para el año 1950, las tarjetas IBM y las unidades máquinas de registro IBM se
habían vuelto indispensables en la industria y el gobierno. "Do not fold, spindle or
mutilate" ("No doblar, enrollar o mutilar") es una versión generalizada de la
advertencia que aparecía en algunas tarjetas perforadas, que se convirtió en un
lema en la era de la post-Segunda Guerra Mundial (aunque mucha gente no tenía
idea de lo que significaba spindle).
Observación:
1. DIÁLOGO.
En el primer paso en el proceso de solución a un problema se debe determinar de
manera clara y concisa la siguiente información:
2. ESPECIFICACIÓN DE ALGORITMOS.
Una vez que tengamos en claro el problema a resolver (lo cual se consigue con la
etapa del diálogo), se debe realizar una especificación del algoritmo que permite
encontrar su solución. Un algoritmo que no esté claramente especificado puede
ser interpretado de diferentes maneras y al diseñarlo se puede terminar con un
algoritmo que no sirve para solucionar el problema.
Esta descripción puede ser presentada mediante un diagrama de caja negra como
el de la siguiente figura:
EJEMPLOS DE ESPECIFICACIÓN.
Entradas:
N1,N2,N3,N4 (notas parciales) de tipo Real.
SALIDAS:
Final (nota final) de tipo Real.
CONDICIONES:
DEFINICIÓN DE ABSTRACCIONES.
4. CODIFICACIÓN.
Una vez que hemos diseñado completamente el algoritmo y se tiene escrito en
algún esquema de representación (pseudo-código o diagrama de flujo), el
siguiente paso es codificarlo en el lenguaje de programación definido para tal fin.
5. PRUEBAS DE ESCRITORIO.
La prueba de escritorio es una herramienta útil para entender que hace un
determinado algoritmo, o para verificar que un algoritmo cumple con la
especificación sin necesidad de ejecutarlo.
1. Nivel de abstracción.
El nivel de abstracción se refiere al grado de cercanía a la máquina:
Hay quien sólo considera lenguajes de bajo nivel y de alto nivel, (en ese caso, C
es considerado de alto nivel).
2. Propósito.
Según el propósito, es decir, el tipo de problemas a tratar con ellos:
3. Evolución histórica.
Con el paso del tiempo, se va incrementando el nivel de abstracción, pero en la
práctica, los de una generación no terminan de sustituir a los de la anterior:
4. Manera de ejecutarse.
Según la manera de ejecutarse:
Lenguajes imperativos: Indican cómo hay que hacer la tarea, es decir, expresan
los pasos a realizar. Ejemplo: C.
Lenguajes declarativos: Indican qué hay que hacer. Ejemplos: Lisp, Prolog.
Otros ejemplos de lenguajes declarativos, pero que no son lenguajes de
programación, son HTML (para describir páginas web) o SQL (para consultar
bases de datos).
6. Paradigma de programación.
El paradigma de programación es el estilo de programación empleado. Algunos
lenguajes soportan varios paradigmas, y otros sólo uno. Se puede decir que
históricamente han ido apareciendo para facilitar la tarea de programar según el
tipo de problema a abordar, o para facilitar el mantenimiento del software, o por
otra cuestión similar, por lo que todos corresponden a lenguajes de alto nivel (o
nivel medio), estando los lenguajes ensambladores “atados” a la arquitectura de
su procesador correspondiente. Los principales son:
7. Lugar de ejecución.
En sistemas distribuidos, según dónde se ejecute:
8. Concurrencia.
Según admitan o no concurrencia de procesos, esto es, la ejecución simultánea de
varios procesos lanzados por el programa:
9. Interactividad.
Según la interactividad del programa con el usuario u otros programas:
11. Determinismo.
Según se pueda predecir o no el siguiente estado del programa a partir del estado
actual:
12. Productividad.
Según se caractericen por tener virtudes útiles o productivas, u oscuras y
enrevesadas:
02
II. UTILIZAR LA LOGICA DE LA PROGRAMACIÓN.
Equipos y Materiales:
Orden de Ejecución:
OPERACIONES.
CLASIFICACIÓN DE ALGORITMOS:
Pseudocódigo.
Lenguaje natural (español, inglés, etc.).
Fórmulas matemáticas.
hará el truco.)
y Control de ramificación de los símbolos de flujo
Flow Line Conectores de flujo línea de mostrar la dirección que
(Flecha, conector) el proceso de los flujos.
símbolo.
Proceso de asignación: por lo general indica que el
almacenamiento de productos terminados.
O La muestra o símbolo lógico cuando un proceso se
aparta - por lo general durante más de dos
ramas. Cuando se utiliza este símbolo, es importante
etiquetar las líneas de flujo saliente para indicar los
criterios a seguir cada rama.
En resumen la La lógica Resumiendo forma de diagrama de flujo de
salida conexiones se muestra cuando convergen varias
ramas en un solo proceso. El símbolo de combinación
es más común para este uso, sin embargo.Este
símbolo y el símbolo O son realmente más relevantes
en el procesamiento de datos de diagramas de flujo
que en los diagramas de flujo del proceso.
Entrada y símbolos de salida
Datos La forma de diagrama de flujo de datos indica que las
(E / S) entradas y salidas de un proceso. Como tal, la forma
es más a menudo se conoce como E / S que forma
una forma de datos.
Documento Muy explica por sí mismo - el símbolo de diagrama de
flujo de documentos es para una fase del proceso que
produce un documento.
Multi-Documento Igual que el documento, excepto, bueno, varios
documentos. Esta forma no es tan de uso general
como la forma de diagrama de flujo de documentos,
incluso cuando están implicados varios documentos.
Mostrar Indica una etapa del proceso donde la información se
muestra a una persona (por ejemplo, los usuarios de
PC, operador de la máquina).
Manual de Entrada Manual de las formas de diagrama de flujo de entrada
muestra los pasos del proceso donde se le pide al
operador / usuario para obtener información que
deben introducir manualmente en un sistema.
Tarjeta Esta es la compañía de las formas de diagrama de
flujo de cinta perforada. Esta forma se utiliza
raramente.
Perforadas de cinta Si eres muy bueno en todos los estiramientos de la
vida de una máquina, usted todavía puede tener el
uso del símbolo de cintas perforadas - se usa para la
entrada en ordenadores antiguos y máquinas CNC.
Archivo y Almacenamiento de símbolos de información
Los datos Un general de almacenamiento de datos forma de
almacenados diagrama de flujo utilizado para cualquier etapa del
proceso que almacena los datos (a diferencia de las
formas más específicas a seguir al lado de este
cuadro).
secuencial
(Cinta magnética)
Símbolos de datos de procesamiento
Cotejar La forma de diagrama de flujo Intercalar indica una
fase del proceso que requiere la organización de los
datos, información o materiales de acuerdo a un
formato estándar o el arreglo.
Ordenar Indica la clasificación de datos, información,
materiales en un orden pre-definido.
Proceso:
1.- Unir la mantequilla con el azúcar
2.- Batir hasta lograr consistencia cremosa
3.- Agregar harina de trigo, huevos, sal y azúcar
4.- Batir hasta que esponje
5.- Precalentar el horno, en 250 °, y enmantequillar tortera
6.- Una vez logre la consistencia de esponjado, colocar en la tortera
7.- Introducir en el horno por espacio de 45 minutos
Salida:
Torta
Según el ejercicio anterior, se puede determinar que el algoritmo para hacer torta,
cumple con las características fundamentales de los algoritmos. Es decir, ¿Es
preciso?, ¿Es definido?, ¿Es finito?, razona tus respuestas.
INICIO
Aplicarse jabón.
FIN
INICIO.
quitar la llanta.
bajar la gata.
FIN
INICIO
Dormir
haga 1 hasta que suene el despertador (o lo llame la mamá).
Mirar la hora.
¿Hay tiempo suficiente?
Si hay, entonces
Bañarse.
Vestirse.
Desayunar.
Sino,
Vestirse.
Cepillarse los dientes.
Despedirse de la mamá y el papá.
¿Hay tiempo suficiente?
Si, Caminar al paradero.
Sino, Correr al paradero.
Hasta que pase un bus para la universidad haga :
Esperar el bus
Ver a las demás personas que esperan un bus.
Tomar el bus.
Mientras no llegue a la universidad haga :
Seguir en el bus.
Pelear mentalmente con el conductor.
Timbrar.
Bajarse.
Entrar a la universidad.
FIN
Operación:
Elaborar Pseudocódigos:
1.- Inicio
2.- Calificacion1← 0, Calificacion2←0, Calificacion3←0, Promedio←0
3.- Leer “Dame Calificación 1: ”, Calificacion1
4.- Leer “Dame Calificación 2: “, Calificacion2
5.- Leer “Dame Calificación 3: “, Calificacion3
6.- Promedio←(Calificacion1+Calificacion2+Calificacion3)/3
7.- Imprimir “El Promedio es: ”Promedio
8.- Fin
Pseudocódigo
1.- Inicio
2.- Calificacion1← 0, Calificacion2←0, Calificacion3←0, Promedio←0
3.- Leer “Dame Calificación 1: ”, Calificacion1
4.- Leer “Dame Calificación 2: “, Calificacion2
5.- Leer “Dame Calificación 3: “, Calificacion3
6.- Promedio←(Calificacion1+Calificacion2+Calificacion3)/3
7.- Imprimir “El Promedio es: ”Promedio
8.- Fin
FUNDAMENTO TEÓRICO:
Características:
Finito: debe tener un fi.
Concreto: Realizar funciones y operaciones.
Legible: Estar bien estructurado.
Eficiente: realizar las operaciones con un mínimo de recursos.
No ambiguo: libre de errores.
Preciso: Indicar un orden para la realización década paso.
Definido: Igual resultado siempre (Si se sigue unos algoritmos dos o más veces
dará el mismo resultado).
Estructura.
Datos.
Procesos.
Estructuras de Control.
ELEMENTOS.
Entradas (variables y constantes) salidas.
Requisitos:
Definir el problema.
Debe estar dentro del contexto.
Debe resolver el problema.
Debe evitar la ambigüedad.
Pero, si tuviera que entrenar un robot doméstico para que efectúe esta tarea,
tendrá que ser más específico y claro en los pasos a seguir, dar mas detalles
(suponga que el foco se encuentra en el techo de una habitación):
o Situar escalera bajo el foco quemado.
o Elegir un foco de remplazo (de la misma potencia que el anterior).
o Subir por la escalera hasta alcanzar el foco.
o Girar el foco contra las manecillas del reloj hasta que esté suelto.
o Ubicar el foco nuevo en el mismo lugar que el anterior.
o Enroscar en el sentido de las manecillas del reloj hasta que quede apretado.
o Bajar de la escalera.
NOTA:
Los algoritmos pueden representarse a través de un conjunto de palabras por
medio de las cuales se puede representar la lógica de un programa. Este
conjunto de palabras constituyen lo que se conoce como pseudocódigo.
Además, los algoritmos se pueden representar gráficamente a través de un
diagrama de flujo. Ambas herramientas se describen a continuación.
Instrucción o sentencia.
Una instrucción está compuesta por uno o más comandos (acción), datos,
símbolos, variables o constantes y expresiones, que en conjunto representan una
instrucción o sentencia.
Ejemplo de instrucción:
En la construcción de los programas se estila utilizar una instrucción por línea. Así
mismo, se utiliza la identación, que no es más que la alineación de aquellas
instrucciones dentro de las estructuras que las contienen de manera ordenada que
permita visualizar el inicio y fin de cada bloque de instrucciones.
Leer Sueldo,
Fin Si
Dónde:
SI
ASISTIO:
Nombre de una Variable lógica que puede obtener sólo dos valores “SI” o “NO”.
En el ejemplo se programa la condición de la variables cuando es “SI”
ENTONCES:
LEER SUELDO
Datos.
Los datos son símbolos que se convierten en condiciones, hechos, situaciones o
valores. Un dato puede significar un número, una letra, un signo ortográfico o
cualquier símbolo que represente una cantidad, una medida, una palabra o una
descripción. La importancia de los datos está en su capacidad de asociarse dentro
de un contexto para convertirse en información.
TIPOS DE DATOS.
Reiteramos que un dato es un campo que puede convertirse en información.
Existen datos simples (sin estructura) y compuestos (estructurados).
Los datos simples son los siguientes:
Tipos de datos:
Numéricos Lógicos Carácter
Reales Enteros Char String
Ejemplos
Numéricos Enteros
Los números enteros son los números naturales positivos y negativos que
conocemos.
1
2
25
146
-456
Numéricos Reales
Los números reales, son los números que tienen parte decimal.
0.56
1.00
25.13
148.45
-456.23
Lógicos o boléanos
Son aquellos datos cuyos únicos valores sólo pueden ser: Verdadero (V) o Falso
(F), puede encontrarse,
Verdadero (True) o Falso (False).
Se utiliza para representar las opciones (si/no) a determinadas condiciones.
Nacionalidad = “Venezolano”
(S/N)?
Carácter o Char
“Abril”
“Reporte Anual de Fallas
ESCUELA DE TECNOLOGÍAS DE LA INFORMACIÓN 73
FUNDAMENTOS DE PROGRAMACIÓN
Técnicas”
“1º de mayo, Día del Trabajador”
Elaborar Pseudocódigos.
NOTA:
No es un lenguaje estructurado así que cada quien puede poner las normas de él,
por ejemplo una condición o una toma de decisiones en pseudolenguaje sería algo
como:
En el ejemplo anterior vemos que lo que está en verde serían las instrucciones
que podrían variar en los diferentes lenguajes de programación (si = if) (escriba =
print) (sino = else) lo que está en azul "Numero_visitas" representa una variable,
los operadores matemáticos se usan de la misma manera en casi todos los
lenguajes, en este caso ">=" significa (Mayor o igual) y lo que está entre comillas
es lo que se debe imprimir en la pantalla de la aplicación.
Ejemplo:
ALGORITMO:
PALABRA UTILIZACIÓN
Permiten definir los límites de un proceso. A veces estos límites no son tan
evidentes, no estando definidos los distintos proveedores y clientes (internos y
externos) involucrados.
No cruzar las líneas de flujo empleando los conectores adecuados sin hacer uso
excesivo de ellos.
Solo debe llegar una sola línea de flujo a un símbolo. Pero pueden llegar muchas
líneas de flujo a otras líneas.
Las líneas de flujo deben de entrar a un símbolo pro la parte superior y/o izquierda
y salir de él por la parte inferior y/o derecha.
03
III. DEFINIR LOS TIPOS DE DATOS QUE EXISTEN EN UN
PROGRAMA.
Equipos y Materiales:
Orden de Ejecución:
OPERACIONES.
Pasos para crear código VBA para que nos permita introducir la información
requerida por teclado utilizando variables.
Paso 1:
Sub ejemplo1()
End Sub
Paso 2:
Paso 3:
A continuación insertaremos el siguiente módulo ejemplo2 en el mismo modulo,
para analizar el uso correcto de variables:
Sub ejemplo2()
End Sub
Paso 4:
Si introduce cualquier número entero le dará un resultado correcto, pero pruebe a
introducir una letra, un número decimal o deje sin introducir un número. Observará
que arroja un error. Esto es así porque hemos declarado variables de tipo entero,
por tanto la variable resultado no espera que se introduzca letras o campos vacíos.
NOTA:
Visual Basic permite declarar variables en múltiples líneas una por línea pero
también varias variables en una línea. Veamos ejemplos:
b) Dim i% : Dim j% : Dim k% b´) Dim i As Integer : Dim j As Integer : Dim k As Integer
Sub ejemplo()
End Sub
Sub ejemplo2()
End Sub
Esto es así porque hemos declarado variables de tipo entero, por tanto la variable
resultado no espera que se introduzca letras o campos vacíos.
En VBA tenemos la opción por defecto de utilizar variables sin declararlas. Los
programas declarando todas las variables que se utilizarán, señalando el tipo de
datos adecuado es muy probable que obtenga el mismo resultado si codificamos
sin declarar las variables a emplear. Entre uno y otro estilo redundará en el tiempo
de procesamiento.
wdTInicio = Timer
wnX = 0: wnY = 0
For wnI = 1 To 10000
wnX = wnX + 1
wnY = wnX + 1
For wnJ = 1 To 10000
wnA = wnX + wnY + wnI
wnB = wnY - wnX - wnI
wnC = wnX / wnY * wnI
Next
Next
wdTFin = Timer
MsgBox Format(wdTFin - wdTInicio, "0,0")
End Sub
Una buena práctica es utilizar Option Explicit a nivel de módulo para no olvidar la
declaración de variables en ninguna parte de cada proyecto. Por defecto,
cualquier variable no declarada, será de tipo Variant, la cual ocupa más espacio
en memoria e internamente para VBA requiere mayor tratamiento.
NOTA:
Sub sinDeclararVariables ()
For x = 1 to 1000
Activecell= "Celda: " & x
Next x
End Sub
En este ejemplo se puede observar que la variable x es número, pero ¿qué tipo?,
por defecto VBA lo puede colocar como Double, lo cual ocupa más memoria que
el tipo correcto de dato a usar como Integer, ahora imaginen esto en un código
más extenso, es una locura. Lo correcto es lo siguiente:
Option Explicit
Sub conDeclaraconDeVariables ()
Dim x as Integer
For x = 1 to 1000
Activecell= "Celda: " & x
Next x
End Sub
FUNDAMENTO TEÓRICO:
Constantes.
Una constante es un dato numérico o alfanumérico que no cambia durante la
ejecución del programa.
Ejemplo:
pi = 3.1416
Variable
Es un espacio en la memoria de la computadora que permite almacenar
temporalmente un dato durante la ejecución de un proceso, su contenido puede
cambiar durante la ejecución del programa.
Ejemplo:
area = pi * radio ^ 2
Por su contenido.
Variables Numéricas: Son aquellas en las cuales se almacenan valores numéricos,
positivos o negativos, es decir almacenan números del 0 al 9, signos (+ y -) y el
punto decimal.
Ejemplo:
Variables Lógicas: Son aquellas que solo pueden tener dos valores (cierto o falso)
estos representan el resultado de una comparación entre otros datos.
Ejemplo:
Por su uso.
Variables de Trabajo:
Variables que reciben el resultado de una operación matemática completa y que
se usan normalmente dentro de un programa.
Ejemplo:
Suma = a + b /c
Contadores:
Se utilizan para llevar el control del número de ocasiones en que se realiza una
operación o se cumple una condición. 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.
Expresiones
Las expresiones son combinaciones de constantes, variables, símbolos de
operación, paréntesis y nombres de funciones especiales.
Por ejemplo:
a + (b + 3) / c
Cada expresión toma un valor que se determina tomando los valores de las
variables y constantes implicadas y la ejecución de las operaciones indicadas.
Una expresión consta de operadores y operandos. Según sea el tipo de datos que
manipulan, se clasifican las expresiones en:
Aritméticas
Relacionales
Lógicas
Sentencia DIM.
Para declarar una variable se usa la sentencia DIM. Esta declaración se coloca al
principio de las secciones o módulos.
Sintaxis:
Ejemplos
Clases de variables.
Variables Locales.
Las variables Locales son aquellas que se declaran dentro de un módulo o
procedimiento y sólo pueden ser utilizadas en éste.
tienen que hacer con la declaración dada en otro módulo o procedimiento. Para
declararlas se debe usar la sentencia DIM.
Por ejemplo:
Sub procedimiento()
End Sub
Variables Públicas.
Si se quiere que una variable esté disponible para todos los procedimientos de
todos los módulos VBA de un proyecto, se la debe definir a través de la sentencia
PUBLIC (y no DIM).
Por ejemplo:
Variables Estáticas.
Si se desea que una variable definida en un procedimiento conserve su valor una
vez terminado éste, e ingresado a otro procedimiento, ésta se debe definir a través
de la sentencia STATIC.
Por ejemplo:
Sub Procedimiento()
Static nDat As Integer
[ Sentencias ...]
End Sub
Option Explicit
La sentencia Option Explicit permite que el programa se detenga cada vez que
VBA encuentre una variable que no ha sido definida. Esto es de gran utilidad
Constantes.
A diferencia de la variables, cuyo valor cambia al ejecutarse un procedimiento, hay
valores que no cambian durante la ejecución de un procedimiento, éstos valores
se denominan Constantes. Las constantes se definen a través de la sentencia
Const.
Por ejemplo;
Las constantes también pueden declararse como Públicas para que estén
disponibles en todos los procedimientos de todos los módulos, esto se hace a
través de la sentencia PUBLIC
TIPOS DE DATOS.
Tipo entero:
Representa números enteros con o sin signo, que estarán compuestos por los
dígitos del 0 al 9, pudiendo ser precedidos por los signos + o -.
Algunos ejemplo de datos enteros son: 0, 23, -176, -1, etc.
Si tenemos varios datos que son del mismo tipo, se pueden definir todas en la
misma línea de código escribiendo un único int, separando el nombre de las
variables por “,”. Una vez que se haya acabado de definir variables, se cierra la
línea de código con “;”,
int edad;
int edad, num, contador;
Tipo real:
Se emplean para representar números reales (con decimales).
Tipo carácter:
Este tipo de datos se emplea para representar un carácter perteneciente a un
determinado código utilizado por el ordenador (normalmente el código ASCII).
Para representar este tipo de dato se antepone la palabra reservada char al
identificador de la variable.
Char identificador = ‘valor’;
Una constante tipo char se representa como un solo carácter encerrado entre
comillas simples.
FUNDAMENTO TEÓRICO:
04
IV. PROGRAMAR ESTRUCTURAS CONDICIONALES Y
REPETITIVAS.
Equipos y Materiales:
Orden de Ejecución:
OPERACIONES
La instrucción If Then Else es una estructura condicional que nos permite ejecutar
acciones en función de si se cumple una condición.
Generalizando tenemos:
Dentro de esta estructura puede haber otra estructura condicional y dentro de esta
otra, y así sucesivamente. A esto se le conoce como una Estructura If anidada.
Sub COBRANZA()
MONTO = Worksheets(“HOJA1″).Range(“B1″).Value
Else
Worksheets(“HOJA1″).Range(“B2″).Value = DESCUENTO
Worksheets(“HOJA1″).Range(“B3″).Value = MONTO_F
End Sub
Sub ComprobarCódigo()
End If
End Sub
Sub ComprobarCódigo()
Else
End Sub
Este ciclo es uno de los más usados para repetir una secuencia de instrucciones,
sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se
ejecute una instrucción simple o compuesta.
INSTRUCCION(ES)
NETX VARCICLO
Pasos para elaborar código en VBA para ingresar los números del 1 al 10
en las celdas de A1 a A10.
Sub repetitivo1()
For i = 1 To 10
Next
End Sub
RESULTADO:
Paso 1:
Insertar un formulario en VBA.
Paso 2:
Insertar los controles respectivos, seleccionándolo del cuadro de herramientas y
arrastrándolo al formulario.
Paso 3:
Modifique las propiedades de los objetos insertados en el formulario para que
tenga los valores que se pueden ver en la imagen inicial del enunciado de este
ejercicio.
Paso 4:
Dele doble clic al botón e ingrese el siguiente código:
Paso 5:
Ejecutamos el formulario y le damos clic en el botón “OK”, podemos ver que la
lista se llena con los números del 1 al 10.
Sub Ejercicio1()
End If
End Sub
Sub Ejercicio2()
Range("A1").Interior.Color = vbYellow
End Sub
Range("C1:C5").Font.Bold = True
End If
End Sub
Crear código vba para elaborar una tabla de multiplicar del número
ingresado en la celda A1.
Sub crear_tabla()
contador = 1
num = Range("A1").Value
For i = 1 To 12
contador = contador + 1
Next i
End Sub
RESULTADO:
FUNDAMENTO TEÓRICO.
Las estructuras condicionales comparan una variable contra otro(s) valor (es),
para que en base al resultado de esta comparación, se siga un curso de acción
dentro del programa. Cabe mencionar que la comparación se puede hacer contra
otra variable o contra una constante, según se necesite.
Existen tres tipos básicos, las simples, las dobles y las múltiples.
Representación gráfica:
Podemos observar:
El rombo representa la condición. Hay dos opciones que se pueden tomar. Si la
condición da verdadera se sigue el camino del verdadero, o sea el de la derecha,
si la condición da falsa se sigue el camino de la izquierda.
Por el camino del verdadero pueden existir varias operaciones, entradas y salidas,
inclusive ya veremos que puede haber otras estructuras condicionales.
Simples:
Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o
alternativas posibles en función del cumplimiento o no de una determinada
condición. Se representa de la siguiente forma:
Dónde:
Múltiples:
Las estructuras de comparación múltiples, son tomas de decisión especializadas
que permiten comparar una variable contra distintos posibles resultados,
ejecutando para cada caso una serie de instrucciones específicas.
CICLO MIENTRAS.
El ciclo mientras permite ejecutar un bloque de instrucciones mientras que una
expresión lógica dada se cumpla, es decir, mientras su evaluación dé como
resultado verdadero.
CICLO HAGA—MIENTRAS.
El ciclo haga-mientras es similar al ciclo mientras, la diferencia radica en el
momento de evaluación de la condición.
CICLO PARA.
El ciclo para ejecuta un bloque de instrucciones un número determinado de veces.
Este número de veces está determinado por una variable contadora (de tipo
entero) que toma valores desde un límite inferior hasta un límite superior. En cada
ciclo después de ejecutar el bloque de instrucciones, la variable contadora es
incrementada en 1 automáticamente y en el momento en que la variable
sobrepasa el límite superior el ciclo termina.
Donde <variable> es la variable contadora del ciclo, la cual debe ser de tipo entero.
<lim_inf> es el valor inicial que toma la variable contadora. <lim_sup> es el último
valor que toma la variable contadora; cuando el valor de la variable contadora
supere este valor, el ciclo termina. <bloque instrucciones> es el conjunto de
instrucciones que se ejecuta en cada iteración, mientras la variable contadora no
sobrepase el <lim_sup>.
Casos:
En este caso se calculan primero los valores de las expresiones (x+1) y (2*y)
empleando para esto los valores actuales de x y y para utilizarlos como <lim_inf> y
<lim_sup> respectivamente.
Este Editor, es una ventana independiente de Microsoft Excel, pero tiene el mismo
aspecto que cualquier otra ventana de una aplicación Microsoft Office, y funciona
igual para todas estas aplicaciones. Cuando se cierre la aplicación,
consecuentemente también se cerrará la ventana del Editor de Visual Basic
asociada.
Existen al menos dos alternativas para abrir este editor, la primera de ellas es a
través del botón Visual Basic de la ficha Programador.
El segundo método para abrir este programa es, en mi opinión, el más sencillo y
rápido y que es a través del atajo de teclado: ALT + F11. El Editor de Visual Basic
contiene varias ventanas y barras de herramientas.
Dentro del Editor de Visual Basic puedes observar una ventana llamada Inmediato
que está en la parte inferior. Esta ventana es de mucha ayuda al momento de
escribir código VBA porque permite introducir instrucciones y observar el resultado
inmediato. Además, desde el código VBA podemos imprimir mensajes hacia la
ventana Inmediato con el comando Debug.Print de manera que podamos depurar
nuestro código. Si no puedes observar esta ventana puedes mostrarla también
desde el menú Ver.
Programando en VBA.
Excel 2013 es una de las herramientas de software más poderosas para el manejo,
análisis y presentación de datos. Aun y con todas sus bondades, en ocasiones
Excel no llega a suplir algunas necesidades específicas de los usuarios.
Archivos de Excel (.xlsx ó .xlsm) con sus tres Hojas para macros a nivel de
Hoja y ThisWorkbook (este libro) para macros a nivel de libro. Se activa la
ventana de código haciendo doble clic(izq) en uno de estos objetos.
4) Barra de Menús
5) Barra de Herramientas
6) Barra de Títulos
9) Detiene la Ejecución
10) Objeto
Principios fundamentales.
La programación en VBA puede ser un tanto misteriosa para la mayoría de los
usuarios de Excel, sin embargo una vez que se comprenden los principios básicos
de programación en VBA se comenzarán a crear soluciones robustas y efectivas.
Propiedades y Métodos.
Supongamos que tenemos el objeto auto. Así es, un auto como el que manejamos
todos los días para ir al trabajo. Este auto tiene varias propiedades como son:
marca, modelo, color, tipo de transmisión las cuales ayudan a describir mejor al
auto.
También hay propiedades que indican su estado actual como por ejemplo gasolina
disponible, temperatura del aceite, velocidad, kilómetros recorridos entre otras
propiedades más.
Podemos decir que las propiedades de un objeto nos ayudan a describirlo mejor
en todo momento.
Por otro lado tenemos los métodos de un objeto que en resumen son las acciones
que podemos realizar con dicho objeto. Por ejemplo, con nuestro auto podemos
hacer lo siguiente: encenderlo, avanzar, vuelta a la izquierda, vuelta a la derecha,
reversa, detener, apagar, etc. Todas las acciones que se pueden llevar a cabo con
un objeto son conocidas como métodos.
Será dificil mencionar todos los objetos de Excel y sus propiedades en esta
publicación, pero lo importante a recordar en esta ocasión es que cada elemento
de Excel está siempre representado por un objeto en VBA y cada objeto tiene a su
vez propiedades y métodos que nos permitirán trabajar con nuestros datos.
Sub Macro1()
'
' Macro1 Macro
' Macro grabada el 01/10/2013 por ETI
'
' Acceso directo: CTRL+r
'
Range("A1").Select
ActiveCell.FormulaR1C1 = "Ramón"
Range("A2").Select
End Sub
Sub Macro1()
Range("A1").Select
ActiveCell.FormulaR1C1 = "SENATI"
Range("B1").Select
ActiveCell.FormulaR1C1 = "Av. Alfredo Mendiola N 3520"
Range("C1").Select
ActiveCell.FormulaR1C1 = "01-10-13"
Range("D1").Select
ActiveCell.FormulaR1C1 = "ETI"
Range("E1").Select
ActiveCell.FormulaR1C1 = "REDES"
End Sub
Al ejecutar la macro en Excel mostrará lo siguiente:
En A1 escribirá SENATI
En B1 escribirá Av. Alfredo Mendiola N 3520
En C1 escribirá 01-10-13
En D1 escribirá ETI
En E1 escribirá REDES
Propiedades.
Las propiedades son las características, atributos, formas o aspectos del objeto, a
las que se hace referencia mediante el uso de variables.
Una propiedad de objeto común de Excel es su Nombre, que nos permitirá usarlos
en los diferentes usos que hagamos del objeto. De manera que una celda, un
rango de celdas, una hoja, libro, gráfico o tabla en Excel, tendrá un nombre con el
cual lo identificaremos.
Para hacer referencia a las propiedades mediante los programas en VBA, se usa
la sintaxis:
NombreDelObjeto.Propiedad
Ejemplo:
Range("A5").Name Aquí se hace referencia al nombre del objeto Range de la
celda A5.
Métodos.
Un método es una acción, un procedimiento (un hilo), que tiene efectos sobre un
objeto.
Ejemplo:
Eventos.
Un evento es el resultado de una acción, es la forma cómo queda el objeto
después de alguna acción sobre él. Por lo general estas acciones son producidas
por los métodos que actúan sobre el objeto.
05
V. PROGRAMAR DIAGRAMAS DE FLUJO UTILIZANDO
HERRAMIENTA DE DESARROLLO.
Equipos y Materiales:
Orden de Ejecución:
OPERACIÓN:
Dentro de los lenguajes informáticos, una palabra reservada es una palabra que
tiene un significado gramatical especial para ese lenguaje y no puede ser utilizada
como un identificador de objetos en códigos del mismo, como ser variables.
Por ejemplo, en SQL, un usuario no puede ser llamado "group", porque la palabra
group es usada para indicar que un identificador se refiere a un grupo, no a un
usuario. Al tratarse de una palabra clave su uso queda restringido.
NOTA:
Definición de SQL
Pese a eso, todos los DBMS tienen, también, la posibilidad de usar estas palabras
reservadas, siempre que se respeten ciertas reglas sintácticas:
Todas las palabras reservadas usadas para nombres de objetos creados en una
base de datos deben estar encerradas entre caracteres específicamente usados
para ello.
En varios sistemas de bases de datos se utilizan para ello los acentos graves (`),
que no tienen otro uso en el SQL.
Paso 1:
Diseñe el siguiente formulario:
Paso 2:
Dele doble clic en el botón sumar e ingrese el siguiente código:
Dim n1 As Double
Dim n2 As Double
n1 = txtnum1.Text
n2 = txtnum2.Text
resultado = n1 + n2
txtresultado.Text = resultado
End If
End Sub
Paso 3:
Si cambiamos el nombre de la variable n1 por ejemplo por la palabra integer
aparecerá el siguiente error:
Integer es una palabra reservada de VBA que sirve para definir una variable del
tipo entero.
Pasos para crear código vba donde permita ingresar un texto y devuelve la
posición de una cadena en una frase.
Paso 1:
Paso 2:
Ejecute la función e inserte el texto tal como lo muestra la siguiente imagen:
Paso 3:
Ingrese el texto que desea buscar y que la función InStr encuentre su posición.
Resultado:
La función buscara el texto “R” en la frase del paso 2 y nos mostrara su posición.
Left es una función que extrae los caracteres de una frase, empezando por la
izquierda.
Left (frase, 4) significa que cuatro caracteres son extraídos del valor de variable
frase, a partir de la posición más a la izquierda.
Right es una función que extrae los caracteres de una frase, comenzando por la
derecha.
Right (frase, 5) significa que cinco caracteres son extraídos de la variable frase, a
partir de la posición más a la derecha.
Este código devuelve la cadena " Right " de la frase " Esta es la prueba de la
función Right”
La función Mid.
Mid es una función que extrae una cadena de una frase, a partir de la posición
especificada por el segundo parámetro en el soporte.
Mid (frase, 8,3) significa que una serie de tres caracteres son extraídos de la frase,
a partir de la 8 ª posición de la izquierda, incluido el espacio vacío.
La función Len.
Len es una función que devuelve la longitud de una frase (incluido el espacio vacío
entre los dos)
Para unir dos (o más) cadenas de texto podemos utilizar el operador &. Observa el
siguiente código:
Visual Basic clasifica los operadores con que trabaja de la siguiente manera:
Paso 1:
Diseñe el siguiente formulario:
Paso 2:
Ingrese el siguiente código.
Segundo = Val(Text2.Text)
'si se pulsa el primero botón, suma los números
End If
End Sub
IMPORTANTE:
Verifique los nombres de los controles en la propiedad name del editor de VBA.
RESULTADO:
FUNDAMENTO TEÓRICO.
Por ejemplo:
NOTA:
Los usuarios pueden elegir los nombres de sus variables y funciones con gran libertad siempre y
cuando se respeten las reglas del lenguaje, y no utilice palabras reservadas en los nombres de los
identificadores. Aunque no es obligatorio, se aconseja que los identificadores tengan cierta
relación con el uso que se le va a dar; así por ejemplo, si un identificador hace referencia a un
procedimiento, utilice nombres de verbos para relacionarlo con el proceso que realice.
Las palabras clave siguientes están reservadas, lo que significa que no se pueden
utilizar como nombres para los elementos de programación, como son las
variables o los procedimientos.
Hasta ahora, hemos visto como realizar código de una forma estructurada, con
sentencias de control que nos permiten dominar la ejecución del mismo fácilmente.
Pero si sólo tenemos esto, solamente podremos manejar el código de forma lineal.
Ejecutaremos las líneas una a una, una detrás de la otra, hasta el final del
programa. Es más, si quisiéramos usar un determinado código varias veces en el
mismo programa tendríamos que repetir ese código varias veces, teniéndolo que
adaptar a cada situación. ¿Y qué ocurre si queremos reutilizar un código en varios
programas? Es un problema que se resuelven gracias a las funciones.
Las funciones son trozos de código que tienen un nombre y que podemos utilizar
en cualquier parte de nuestro código con una llamada directa.
En este caso hemos definido una función que, usando los parámetros que le
hemos pasado, la combina para formar una cadena formateada, que devuelve
gracias a la palabra reservada return.
CLASES DE FUNCIONES.
La siguiente tabla provee una descripción breve de algunas de las funciones VBA
más utilizadas.
FUNCIÓN DESCRIPCIÓN
Abs Regresa el valor absoluto de un número
Asc Obtiene el valor ASCII del primer caracter de una cadena de texto
CBool Convierte una expresión a su valor booleano
CByte Convierte una expresión al tipo de dato Byte
CCur Convierte una expresión al tipo de dato moneda (Currency)
CDate Convierte una expresión al tipo de dato fecha (Date)
CDbl Convierte una expresión al tipo de dato doble (Double)
CDec Convierte una expresión al tipo de dato decimal (Decimal)
Choose Selecciona un valor de una lista de argumentos
Chr Convierte un valor ANSI en valor de tipo texto
CInt Convierte una expresión en un dato de tipo entero (Int)
CLng Convierte una expresión en un dato de tipo largo (Long)
CreateObject Crea un objeto de tipo OLE
CStr Convierte una expresión en un dato de tipo texto (String)
CurDir Regresa la ruta actual
CVar Convierte una expresión en un dato de tipo variante (Var)
Date Regresa la fecha actual del sistema
DateAdd Agrega un intervalo de tiempo a una fecha especificada
DateDiff Obtiene la diferencia entre una fecha y un intervalo de tiempo especificado
DatePart Regresa una parte específica de una fecha
DateSerial Convierte una fecha en un número serial
DateValue Convierte una cadena de texto en una fecha
Day Regresa el día del mes de una fecha
Dir Regresa el nombre de un archivo o directorio que concuerde con un patrón
EOF Regresa verdadero si se ha llegado al final de un archivo
FileDateTime Regresa la fecha y hora de la última modificación de un archivo
FileLen Regresa el número de bytes en un archivo
FormatCurrency Regresa un número como un texto con formato de moneda
FormatPercent Regresa un número como un texto con formato de porcentaje
Hour Regresa la hora de un valor de tiempo
FUNDAMENTO TEÓRICO.
1. EXPRESIONES.
2 * pi * r
v*t
“Sub” + “cadena”
Toda expresión tiene asociada un tipo que se corresponde con el tipo del valor
que devuelve la expresión cuando se evalúa, por lo que habrá tantos tipos de
expresiones como tipos de datos. Habrá expresiones numéricas y lógicas.
2. OPERADORES.
Son símbolos que se utilizan para definir las operaciones que se realicen entre los
datos
2.1 TIPOS.
1) Paréntesis
2) Potenciación
3) Multiplicación y División
4) Suma y Resta
Ejemplo: si a = 9; b = 2; c = 5; d = 3
Si los datos tienen diferentes longitudes, pero son exactamente iguales hasta el
último carácter del más corto, entonces se considera que el más largo es el mayor.
El único caso en que son caracteres, en el mismo orden. La misma longitud y los
mismos caracteres, en el mismo orden. Las letras minúsculas son mayores que
las mayúsculas.
Ejemplo:
1) NOT
2) AND
3) OR
Ejemplo: si a = 9; b = 2; c =5; d = 3
Ejemplo: si a = 9; b = 2; c =5; d = 3
NOTA:
Es el operador lógico de negación. Afecta a una sola expresión, a cambio su
estado lógico: si era falso se convierte en verdadero y viceversa.
EJEMPLOS: A =9, B: 2, C: 5, D: 3
2) Potencias
3) Productos y divisiones
4) Sumas y restas
5) Concatenación
6) Relacionales
7) NOT
8) AND
9) OR
NOTA
FREEDFD.
Es un editor e intérprete de diagramas de flujo. Permite editar, ejecutar y depurar
algoritmos representados como diagramas de flujo. Fue pensado para la
enseñanza de algoritmos básicos, pero se puede usar para construir algoritmos
complejos usando recursión y arreglos de varias dimensiones.
Este programa esta liberado bajo la licencia GPL, por lo tanto el software es libre y
no tiene restricción para su uso bajo ninguna circunstancia aunque se creó
específicamente para la educación.
Su uso es muy sencillo, al tratarse de una herramienta gráfica, y lo que lo hace ser
más sencillo es porque incluye un menú de ayuda muy completo.
Herramientas.
Puede acercar el cursor del ratón (sin hacer clic) al botón correspondiente.
Barra de Herramientas
Ventana de Edición
Zoom.
Este submenú posee los comandos que manejan el tamaño de los objetos
en pantalla y el tamaño con el que pueden ser impresos.
Ejecución.
Ejecutar.
Este comando da paso a la ejecución del algoritmo. En caso de que un error sea
encontrado, un mensaje será desplegado indicando el tipo de error y el objeto en
el que se presentó. Si el diagrama está libre de errores, se ejecutará el algoritmo a
partir del objeto Inicio.
Detener.
Este comando detiene la ejecución del algoritmo. Este comando estará disponible
cuando la acción actual sea diferente de Edición.
Pausar.
Objetos.
Nos permite seleccionar los distintos elementos (objetos) que vamos a introducir
en los diagramas de flujo.
Salida.
El objeto Salida muestra valores por pantalla. Puede ser visualizada cualquier
cantidad de valores utilizando un objeto Salida. Al darle doble clic despliega un
cuadro de diálogo que muestra el valor obtenido en cada una de las expresiones
en su respectivo orden.
El cuadro de diálogo para la edición del objeto contiene un espacio para ingresar
una lista de expresiones separadas por comas y entre comillas simples (‘). Debe
existir por lo menos una expresión.
Lectura.
Asignación.
Este objeto asigna valores a campos variables.
Al ser ejecutado, puede realizar hasta tres
asignaciones. Cada asignación consta de un
espacio para el campo variable situado siempre
a la izquierda, el símbolo de asignación y un
espacio para la expresión situada siempre a la
derecha. Esto indica que al campo variable se le
asigna el resultado de la evaluación de la
expresión. Debe realizarse por lo menos una
asignación.
Ejemplo:
Damos doble clic y escribimos la respuesta entre comillas simples. Pero la variable
(edad) debe ir fuera de las comillas y separada por comas. ('su edad es de ',
edad,' años').
06
VI. UTILIZAR LOS PROCEDIMIENTOS COMO PARTE DE
LA PROGRAMACION.
Equipos y Materiales:
Orden de Ejecución:
OPERACIONES
Pasos para crear una función que reciba como parámetros un rango de
celdas u el resultado sea la concatenación de las mismas.
Paso 1:
Cree un nuevo archivo de Excel y elabore el siguiente diseño:
Paso 2:
Abra el editor VBA e inserte un módulo.
Paso 3:
Ingrese el siguiente código.
Next celda
'Se remueve el ; y espacio inicial
resultado = Right(resultado, Len(resultado) - 2)
CONCATENARCELDAS = resultado
End Function
Paso 4:
Utilice la función para unir los nombres de las personas que trabajan por
sede.
RESULTADO FINAL
Pasos para crear una función que se utilice para contar las celdas que tienen
un determinado color de fondo en un rango.
Paso 1:
Cree un nuevo archivo de Excel e ingrese datos de
prueba como lo muestra el siguiente diseño:
Paso 2:
Abra el editor VBA e ingrese un módulo con la siguiente función.
End Function
Paso 3:
Ingrese la función tal como lo muestra la siguiente imagen:
Ya que en el primer ciclo del bucle la variable resultado está vacía, mi cadena
siempre empezará con un punto y coma. Es por eso que usando las funciones
Right y Len remuevo esa primera aparición del punto y coma y del primer espacio
en blanco.
RESULTADO:
La función se encargara de contar cuantas celdas del rango B2:B6 tienen el color
de referencia de la celda B2.
Pasos para crear una función que muestre las iniciales de un nombre
completa en una celda.
Paso 1:
Creamos un nuevo archivo de Excel con el siguiente diseño:
Paso 2:
Insertamos un módulo con la siguiente función:
longitud = Len(Texto)
For i = 1 To longitud
If Asc(Mid(Texto, i, 1)) >= 65 And Asc(Mid(Texto, i, 1)) <= 90 Then
cadena_inicial = cadena_inicial & Mid(Texto, i, 1)
End If
Next i
Iniciales_Nombres = cadena_inicial
End Function
Paso 3:
Nos posicionamos en la celda C2 e insertamos la función dando como único
parámetro la celda donde se encuentra el nombre completo.
Función Len .
Esta función nos devuelve el número de caracteres de una cadena, por lo tanto
retorna un número entero y recibe un parámetro que es un tipo de dato string.
Su sintaxis es: Len([cadena de caracteres])
Ejemplo: Si Texto="hola como estas" Len(Texto) devuelve el valor 15.
Función Asc.
Con la función Asc podemos obtener el código ASCII de un caracter
Función Mid.
Extrae partes de una cadena y recibe 3 parámetros.
Sintaxis: Mid(cadena, inicio, longitud)
Pasos para crear una función que reciba 2 notas como parámetros y deberá
calcular el promedio, la función deberá mostrar un mensaje distinto
dependiendo del promedio calculado.
Paso 1:
Paso 2:
Abra el editor de VBA e inserte un módulo con la siguiente función.
p = (n1 + n2) / 2
If p < 11 Then
promedio_notas = "Malo"
End If
If p > 17 Then
promedio_notas = "Excelente"
End If
End Function
Paso 3:
Ingrese la función en las celdas que desea mostrar el mensaje según el promedio.
=promedio_notas(B2;C2)
RESULTADO:
Variable Local.
Pasos para crear un módulo que contenga 2 procedimientos, en el primero se
definirá una variable local y en el segundo se utilizara la misma variable del
procedimiento 1, el sistema debe evaluar el ámbito de la variable e indicar si está
o no definida en el segundo procedimiento.
Paso 1:
Cree un nuevo archivo de Excel, y en el editor de VBA ingrese los siguientes
procedimientos.
Sub Procedimiento1()
Dim n As String
n = "Programacion"
MsgBox "El valor de n es " & n
End Sub
Sub Procedimiento2()
If n = "" Then
MsgBox "La variable n no está definida"
Else
MsgBox "La respuesta es " & n
End If
End Sub
Paso 2:
Inserte dos formas en la hoja de Excel y
vincule cada forma con un procedimiento
distinto.
Paso 3:
Ejecute ambos botones vinculados, en el primer caso mostrara el valor de la
variable local, en el segundo caso el procedimiento verifico que no existe y
mostrara un mensaje de advertencia.
Variable Global.
Ejercicio con la misma lógica que el ejemplo anterior con el cambio del ámbito de
la variable, ya que en este caso la variable estará definida como global.
Dim n As String
Sub Procedimiento1()
n = "Programacion"
MsgBox "El valor de n es " & n
End Sub
Sub Procedimiento2()
If n = "" Then
MsgBox "La variable n no está definida"
Else
MsgBox "La respuesta es " & n
End If
End Sub
NOTA:
La variable toma el valor “Senati” cuando se ejecuta el primer procedimiento, si al
abrir el libro se ejecuta primero el segundo procedimiento se mostrara el mensaje
de no definido.
Pasos para crear un módulo que al ejecutar muestre y liste todos los nombres de
las hojas de Excel.
Paso 1:
Cree un nuevo archivo de Excel y cree el siguiente procedimiento:
Sub CrearIndiceDelLibro()
With [B2]
.Value = "Contenido de este libro": .Font.Size = 12
End With
INCREMENTO = INCREMENTO + 1
ActiveSheet.Hyperlinks.Add _
Anchor:=ActiveSheet.Cells(3 + INCREMENTO, 3), _
TextToDisplay:=Hoja.Name, _
SubAddress:=Hoja.Name & "!A1", _
Address:=""
End If
Next
End Sub
Paso 2:
Inserte una forma y vincule el objeto con el procedimiento creado en el paso
anterior.
Paso 3:
Ejecute la macro desde la forma y dele clic en si para que el índice se cree en una
nueva hoja.
RESULTADO:
NOTA:
Esta macro es útil cuando se tiene un libro con bastantes hojas, facilitando asi el
despliegue entre ellas.
Paso 1:
Cree un nuevo archivo de Excel y elabore el
siguiente diseño:
Paso 2:
Abra el editor de VBA y cree dos módulos
asignándoles a ambos los nombres que se
indican en la siguiente imagen:
Paso 3:
En el módulo Mi_funcion_areas_figuras ingrese los siguientes procedimientos:
End Function
Paso 4:
En el módulo Descripcion_mi_funcion ingrese el siguiente código:
FunctionDescription()
'------------------------------------------------------------------------
'Por sistemas_mr@hotmail.com
'Date: 10/02/2014
'------------------------------------------------------------------------
Application.MacroOptions _
Macro:=NombredeFuncion, _
Description:=DescripcionFuncion, _
Category:=NombredeMiCategoria, _
ArgumentDescriptions:=DescripcionArgumentos
'Categorías existentes.
Select Case CategoriaFuncion
Case 1: CategoriaFuncion = "Financial"
Case 2: CategoriaFuncion = "Date & Time"
Case 3: CategoriaFuncion = "Math & Trig"
Case 4: CategoriaFuncion = "Statistical"
Case 5: CategoriaFuncion = "Lookup & Reference"
Case 6: CategoriaFuncion = "Database"
Case 7: CategoriaFuncion = "Text"
Case 8: CategoriaFuncion = "Logical"
Case 9: CategoriaFuncion = "Information"
Case 10: CategoriaFuncion = "Commands"
Case 11: CategoriaFuncion = "Customizing"
Case 12: CategoriaFuncion = "Macro Control"
Case 13: CategoriaFuncion = "DDE/External"
Case 14: CategoriaFuncion = "User Defined default"
Case 15: CategoriaFuncion = "Engineering"
Case Else: CategoriaFuncion = CategoriaFuncion
End Select
'Información para que el usuario sepa que se agregó los datos de la nueva función.
MsgBox "Mi funcion (" & NombredeFuncion & ") fue agregada satisfactoriamente a
la categoria " & NombredeMiCategoria, vbInformation, "Done"
End Sub
Paso 5:
Ingrese los valores necesarios para calcular por ejemplo el área de un cuadrado e
ingres la función en la celda C13:
Tome en cuenta que solo debe ingresar los valores que necesite, por ejemplo para
el cuadrado solo se necesitaran los valor.es de las celdas C7 y C8, en los demás
valores ingrese el cero(0)
FUNDAMENTO TEÓRICO.
Además, una función puede recibir parámetros externos de los cuales dependa el
resultado de dicha función. Es decir, según el parámetro o parámetros con los que
se invoque a la función, ésta devolverá un resultado u otro.
Las funciones deben estar definidas antes de realizar la llamada a la función
(como es lógico).
Para llamar (hacer que se ejecute) la función usaremos esta sintaxis: nombre
(parámetros);
Definición de parámetro.
Ejemplo:
Esto mostrará:
NOTA:
Ejemplo 1:
Crear un archivo de Excel y diseñar la
siguiente hoja.
Ejemplo 2:
Todas las funciones que creemos se deben colocar entre las secciones
“Function …. End Function“, para este caso CalculaImpuesto, es el nombre de
nuestra función y será el nombre que ocupemos para llamarla en nuestra hoja de
cálculo.
Dim calculo As Double, declara una variable llamada calculo y que será de tipo
double, la línea calculo = Valor * 0.18, realiza el cálculo de la formula multiplicando
por 0.13 el valor que se recibe como parámetro y lo almacena en la variable
Calculo. Finalmente en la línea CalculaImpuesto = calculo, indica que la función
regresa el valor almacenado en la variable calculo (esto es el resultado Valor *
0.13).
NOTA:
Variables Locales.
Por ejemplo:
Sub procedimiento()
End Sub
Algunas veces se deseará que una variable esté disponible para todos los
procedimientos de un módulo. Para ello, se declara la variable antes del primer
procedimiento del módulo (fuera de cualquier procedimiento o función).
Sub Dias()
´Aquí va el código
End Sub
Sub Meses()
´Aquí va el código
End Sub
Variables Public.
Para que una variable esté disponible para todos los procedimientos de un
proyecto de VBA, se declara la variable a nivel de módulo con el uso de la palabra
public.
Public InteresAnual as Long
Variables Static.
Sub Ejemplo()
Static Counter As Integer
´Aquí va el código
End Sub
Procedimientos:
• Procedimiento Privado.
• Procedimiento Público.
• Procedimiento Estático.
Sub Procedimiento(argumento1,argumento2,.....)
[Sentencias]
End Sub
Es equivalente a :
Public Sub Procedimiento(argumento1,argumento2,.....)
[Sentencias]
End Sub
Sub Procedimiento(argumento1,argumento2,.....)
[Sentencias]
Exit Sub
[Sentencias]
End Sub
[Sentencias]
Proced2
[Sentencias]
End Sub
Sub Variable_local()
x=5
y = 20
End Sub
Sub Macro1()
Dim x As Integer
x = 10
MsgBox "x, según se ve en Macro1 es " & x
'la siguiente línea ejecuta Macro2
Macro2
End Sub
Sub Macro2()
MsgBox "x, según se ve en Macro2 es " & x
End Sub
Se puede apreciar que la variable tiene un alcance de todo el modulo, por tal
motivo se puede saber su valor desde la Macro1 y la Macro2.
Procedimientos y funciones.
OBSERVACIONES.
Efectos de mantenimiento.
Los efectos sobre el mantenimiento del programa, que es la más costosa de las
etapas de desarrollo, pueden ser tanto buenos como malos.
Crear funciones y procedimientos por separado puede ser muy útil cuando
necesitamos organizar y reutilizar procesos así como también optimizar el tiempo
de mantenimiento del mismo.
Programación Modular.
Notas
alumnos
Por Notas
Por
apellidos