CENTRO
DE BACHILLERATO TECNOLÓGICO AGROPECUARIO N°32
“LIC. AGUSTÍN YÁÑEZ”
MÓDULO
PROFESIONAL III.-DESARROLLO DE SISTEMAS BÁSICOS DE INFORMACIÓN.
PORTAFOLIO DE EVIDENCIAS ELECTRÓNICO
DOCENTE: ING. MIGUEL GUTIÉRREZ NUNGARAY
ALUMNO: ROMÁN ZÚÑIGA MACÍAS
GRADO: 4°SEMESTRE GRUPO: “C” INFORMÁTICA
NO. DE
LISTA: 33
YAHUALICA DE
GONZÁLEZ GALLO, JAL., JUNIO DE 2014
INTRODUCCIÓN
|
P
|
rogramar,
es más que sólo código organizado. Representa el empleo de un conjunto de
conocimientos que, a través de un lenguaje en específico, te abre las puertas
de comunicarte con tu ordenador indicándole qué tareas quieres que realice de
acuerdo a tus necesidades.
El
saber diseñar y crear programas de acuerdo a las necesidades propias es una
herramienta muy útil que puede hacer más eficaces y eficientes tareas que
demoran mucho tiempo.
Los
sistemas de información automatizados (a través de computadora) son
fundamentales en toda organización o empresa, ya que los datos que proporcionan
son imprescindibles en todo tipo de decisiones para su beneficio, siendo los
componentes principales las bases de datos que permiten organizar enormes
cantidades de datos de forma fácil y relacional.
A lo
largo del Módulo Profesional III se adquirieron un conjunto de habilidades y
conocimientos relacionados precisamente con la programación (lenguajes C y
Visual Basic) y el desarrollo de sistemas de información (mediante bases de
datos en Access).
En el
primer submódulo se realizó una introducción a una increíble dimensión de la
informática: la programación. Se inició con los principios y la metodología,
desde algoritmos y diagramas de flujo, hasta tipos de datos y operadores, lo
cual representaría la base y los sólidos fundamentos para codificar programas tanto
en C como en Visual Basic. Este submódulo giraría en torno en la programación
estructurada, utilizando el lenguaje C.
Después,
pasaríamos al submódulo II, en el cual se abordó el tema de los sistemas de
información y, por supuesto, de las bases de datos. De esta manera, se aprendió
cómo diseñar una base de datos usando el programa Microsoft Access, creando
tablas, consultas, formularios e informes.
Por
último se encuentra el submódulo III, en el cual el tópico central fue la
programación orientada a objetos y a eventos, utilizando Visual Basic 2012.
Dichos
aprendizajes, nos posibilitaron la realización de un proyecto en un contexto
externo a la escuela, más en concreto, en un negocio. Consistió en la detección
de problemas de información para tratar de resolverlos empleando y creando una
base de datos para, posteriormente, generar un programa útil para el negocio y
que estuviera vinculada con la base de datos previamente hecha.
En
el presente portafolio se muestran las evidencias referentes a los principales
contenidos abordados durante el Módulo, seleccionadas en base a la complejidad
o el aprendizaje que representó su realización. De esta forma, se presentan en
primera instancia los diagramas de flujo, los códigos y las aplicaciones generadas con lenguaje C que me
parecieron más útiles e interesantes. En segunda instancia se encuentra una
muestra del proyecto sobre el diseño de un sistema de información de un
negocio, que incluye tablas, consultas, formularios e informes. Como último
bloque, se encuentran los códigos e imágenes de los programas hechos en Visual
Basic que más me llamaron la atención.
OBJETIVO
Recopilar
y difundir todos los aprendizajes adquiridos durante este Módulo, el cual
abordó temáticas relacionadas con la metodología de la programación, la programación
estructurada (empleando el lenguaje de medio nivel C), el diseño de sistemas de
información (base de datos en Access) y la programación orientada a objetos
(utilizando Visual Basic), mostrando cómo las habilidades adquiridas para el
correcto manejo de cada una de ellas, en conjunto, permiten el desarrollo de sistemas,
programas y proyectos útiles en la vida cotidiana y laboral.
EVIDENCIAS
SUBMÓDULO I.-“APLICAR
LOS PRINCIPIOS DE LA PROGRAMACIÓN EN LA SOLUCIÓN DE PROBLEMAS”
PRIMERA EVIDENCIA
Fecha de realización: 17
de febrero de 2014
La
evidencia que se muestra a continuación se eligió porque en su momento se
convirtió en una tarea compleja de realizar, pues era el diagrama de flujo más
grande que se había realizado y que combinaba diferentes tipos de estructuras
algorítmicas (selectiva múltiple y repetitiva while). Cabe destacar que lo que
más se complicó fue el establecimiento de una condición efectiva y el orden de
los procesos.
Para
elaborarlo correctamente el grupo trabajó en equipo y se resolvió, llegando al
siguiente diagrama de flujo.
Hacer
un programa para llevar a cabo las elecciones presidenciales del municipio de
Yahualica, en donde van a intervenir 4 partidos políticos. Hacer el diagrama de
flujo que sirva para contar los votos de cada partido y al final imprima la
cantidad obtenida por cada partido.
Tabla
de datos
Entradas
|
Voto
y partido.
|
Procesos
|
Contabilizar
votos por partido y contabilizar total de votos registrados.
|
Salidas
|
Total
de votos, votos de partido 1, votos de partido 2 y votos de partido 3.
|
Fecha
de realización: 06 de marzo de 2014
Esta evidencia se seleccionó
porque en mi opinión, fue el algoritmo más difícil de codificar, pues para su
correcta ejecución, implicaba sentencias selectivas (switch, if), colocadas
dentro de una sentencia repetitiva (do-while). El hecho de ya tener el diagrama
de flujo que resolvía el correspondiente algoritmo, facilitó las cosas, pero
aún así fue una tarea laboriosa, pues faltaba ordenar correctamente las sentencias,
siguiendo una lógica efectiva determinada.
Realizar
un programa que sirva para contabilizar los votos de una elección presidencial
donde participan 3 partidos políticos.
Código fuente
Programa ejecutable
SEGUNDA EVIDENCIA
Fecha
de realización: 11 de marzo de 2014
Elegí esta evidencia porque
a pesar de que ya había observado muchas alternativas para aplicar el bucle
“for”, la mayoría iba enfocada a realizar cálculos de un conjunto de números
comprendidos en determinado rango. Ninguna se había relacionado con una
utilidad práctica en la vida cotidiana, cosa que sí se hizo en este programa.
Hacer
un programa que sirva para llevar el control de gastos de un estudiante por
semana.
Código fuente
TERCERA EVIDENCIA
Fecha
de realización: 06 de marzo de 2014
Opté por esta evidencia
porque me pareció muy interesante, pues relativamente con poco código se llevó
a cabo un programa muy útil y muy común en muchas tiendas, pues para ellas es
una necesidad.
Creo que es de llamar la
atención cómo se utiliza el ciclo do-while, con un cuerpo de bucle pequeño,
además de cómo se incluyó en el programa la sentencia selectiva doble (if-else)
para calcular o no un descuento a la compra.
Hacer
un programa para una tienda que cuente los productos comprados y realice la
suma de los precios, además, si la compra es mayor o igual a 500, se le deberá
aplicar un descuento del 3.5% al valor de la compra.
Código fuente
Programa ejecutable
SUBMÓDULO II.- DISEÑAR SISTEMAS DE INFORMACIÓN
CUARTA EVIDENCIA
PROYECTO: Base de datos de una tienda de abarrotes
Fecha de realización: 11 de abril- 06 de mayo de 2014
Seleccioné esta evidencia
porque consistió en un proyecto en el que se diseñó un sistema de información
para un negocio, y cuya elaboración requería de la aplicación de todos los
conocimientos abordados durante el resto del submódulo y que involucraba el ponerlos
en práctica en un contexto externo al escolar.
Se
creó una base de datos o un sistema de información que constaba de dos tablas
(una de productos y otra de proveedores), once consultas de diferente tipo,
cuatro formularios y dos informes.
Sin
embargo, no sólo fue la elaboración de la base de datos, sino que previamente
se tuvo que hacer un análisis para
el establecimiento de problemas de
información y de oportunidades del negocio, así como el objetivo que seguiría
nuestro proyecto. Asimismo, se identificaron las entidades, procesos y atributos
de dichas entidades, involucrados en el negocio para diseñar adecuadamente el
sistema de información, actividad que se llevó a cabo enlistando los elementos
anteriores y elaborando los diagramas de flujo de datos y de entidad relación
correspondientes.
PROBLEMA IDENTIFICADO:
Los productos no se
encuentran organizados ni cuantificados a través de un inventario, además, se
desconoce que productos están próximos a caducarse o ya están caducados.
OBJETIVO:
Llevar a cabo un inventario
de los productos con los que cuenta la tienda organizando su información
basándose en proveedor, marca, etc.
Evitar pérdidas económicas
por productos caducados.
OPORTUNIDADES:
Interés del dueño por
conocer la cantidad total de productos de su tienda, así como la suma en dinero
que éstos representan.
Disposición del dueño para
ayudar en la realización del inventario y proporcionar la información
necesaria.
El propietario posee una
computadora en su hogar y su hijo sabe utilizarla.
ENTIDADES
·
Productos
·
Proveedores
·
Tienda
·
Cliente
·
Encargado
·
Propietario
PROCESOS
o
Surtir mercancía
o
Comprar-vender
ATRIBUTOS
Ø
Caducidad de producto
Ø
Nombre del proveedor
Ø
Nombre del producto
Ø
Tamaño o presentación del producto
Ø
Precio del producto
Ø
Cantidad o existencias (producto)
Ø
Teléfono de proveedor
Ø
Domicilio de proveedor
Ø
Reemplazar productos
Ø
Invertir
Imagen 1 I
Imagen 2
Imagen 4
Tabla de productos, la cual contiene 715 registros
y posee los siguientes campos: Id, Artículo, Marca, Tamaño, Precio, Cantidad,
Fecha de caducidad, ¿Caducado?, Proveedor y Código de proveedor.
Imagen 5
Tabla de proveedores, que cuenta con 47 registros y
con los siguientes campos: Código del proveedor, Proveedor, Teléfono,
Domicilio, Ciudad y Nombre de contacto.
Imagen 6
Relación entre las tablas
anteriores (proveedores y productos), basándose en el campo común (código del
proveedor), guardando una relación de uno a varios.
Imagen 7
Consulta
de campo calculado que multiplica los valores de los campos precio y cantidad
para, de esa manera, calcular el dinero que se tenía invertido por cada
producto, obteniendo un nuevo campo con el nombre total.
Imagen 8
Consulta de resumen en la que se agruparon las
cantidades de dinero invertidas por producto de acuerdo a su proveedor, ordenando
dichas sumatorias por proveedor de mayor a menor (para apreciar mejor en qué
proveedores se estaba invirtiendo más).
Imagen 9
Consulta
de selección acerca de los productos que estaban por caducar en los siguientes
diez días de haberse realizado la consulta.
Imagen 10
Formulario que presenta los registros de la tabla
productos, apareciendo en cada pantalla los campos correspondientes, así como
dos cuadros de texto calculados (inversión en este producto y ganancia).
También presenta diferentes controles para facilitar la navegación y la
búsqueda de registros, además de los correspondientes encabezado y pie de
informe.
Imagen 11
Informe de base de datos que combina datos tanto de
la tabla proveedores (Proveedor, Teléfono,) como de la tabla productos (Marca,
Id, Artículo, Tamaño, Precio, Cantidad, Fecha de caducidad). Asimismo, los
registros se ordenaron de acuerdo a dos niveles: primero por proveedor y
después por marca.
SUBMÓDULO III.-
LENGUAJE DE PROGRAMACIÓN ORIENTADO A OBJETOS
Fecha de realización: 13 de mayo de 2014
QUINTA EVIDENCIA
Hacer una calculadora
La evidencia que se presenta
a continuación la elegí debido a la dificultad que representó su realización,
pues aún no se tenía la suficiente experiencia con el uso de Visual Basic,
además de que se nos presentó un reto, pues además de que se debería programar
en varios botones distintos (uno para cada tipo de operación), se deberían de
insertar los valores numéricos y recuperar los resultados en cuadros de texto,
cosa que no se sabía hacer, pues hasta ese momento dichos procesos sólo se
habían hecho empleando InputBox y MsgBox.
Hacer una calculadora que se
muestre en un segundo formulario, que sume, reste, multiplique, divida y
calcule porcentaje, mientras que en el primer formulario se dará la bienvenida
al programa.
Código fuente
Public
Class CALCULADORA
Private
Sub
Button1_Click (sender As Object, e As EventArgs) Handles Button1.Click
Dim númeroa As Double
númeroa
= TextBox1.Text
Dim númerob As Double
númerob
= TextBox2.Text
Dim suma As Double = númeroa +
númerob
TextBox3.Text = ("= "& suma)
End
Sub
Private
Sub
Button2_Click (sender As Object, e As EventArgs) Handles Button2.Click
Dim númeroa As Double
númeroa
= TextBox1.Text
Dim númerob As Double
númerob
= TextBox2.Text
Dim resta As Double = númeroa -
númerob
TextBox3.Text = ("= "& resta)
End
Sub
Private
Sub
Button3_Click (sender As Object, e As EventArgs) Handles Button3.Click
Dim númeroa As Double
númeroa
= TextBox1.Text
Dim númerob As Double
númerob
= TextBox2.Text
Dim producto As Double = númeroa *
númerob
TextBox3.Text = ("= "& producto)
End
Sub
Private
Sub
Button4_Click (sender As Object, e As EventArgs) Handles Button4.Click
Dim númeroa As Double
númeroa
= TextBox1.Text
Dim númerob As Double
númerob
= TextBox2.Text
Dim cociente As Double = númeroa /
númerob
TextBox3.Text = ("= "& cociente)
End
Sub
Private
Sub
Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Dim númeroa As Double
númeroa
= TextBox1.Text
Dim númerob As Double
númerob
= TextBox2.Text
Dim porcentaje As Double = númeroa *
númerob / 100
TextBox3.Text = ("= "& porcentaje)
End
Sub
Private
Sub
Button6_Click (sender As Object, e As EventArgs) Handles Button6.Click
End
End
Sub
Private
Sub
TextBox1_TextChanged (sender As Object, e As EventArgs) Handles
TextBox1.TextChanged
End
Sub
Private
Sub
TextBox2_TextChanged (sender As Object, e As EventArgs) Handles
TextBox2.TextChanged
End
Sub
Private
Sub
TextBox3_TextChanged (sender As Object, e As EventArgs) Handles
TextBox3.TextChanged
End
Sub
Private
Sub
Button7_Click (sender As Object, e As EventArgs) Handles Button7.Click
TextBox1.Text = ""
TextBox3.Text = ""
TextBox2.Text = ""
End
Sub
End Class
Programa
ejecutable
SEXTA EVIDENCIA
PROGRAMA PARA HACER CONVERSIONES
Fecha de realización: 21 de mayo de 2014
Esta evidencia la elegí
porque me pareció muy interesante la utilización de Select Case y cómo se
combinó con la herramienta ListBox para crear una aplicación más atractiva
visualmente e intuitiva para el usuario, ofreciendo ejecutar procesos
(conversiones) diferentes para cada opción mostrada en el ListBox y cuya
selección se llevaba a cabo mediante el clic y no a través del insertar
determinado número o carácter (como es el caso de Select Case cuando se
emplea sin ListBox).
Elaborar un programa que sirva para hacer conversiones,
mínimo 5, ya sean físicas, químicas o monetarias, utilizando ListBox para
mostrar el menú de opciones al usuario.
Código fuente
Public
Class Form2
Private
Sub
Button1_Click (sender As Object, e As EventArgs)
End Sub
Private
Sub
Button2_Click (sender As Object, e As EventArgs) Handles Button2.Click
End
End Sub
Private
Sub
Button3_Click (sender As Object, e As EventArgs) Handles Button3.Click
Me.Hide()
Form1.Show()
End
Sub
Private
Sub
Form2_Load(sender As Object, e As EventArgs) HandlesMyBase.Load
ListBox1.Items.Add("De cm a pulgadas")
ListBox1.Items.Add("De litros a galones")
ListBox1.Items.Add("De millas a metros")
ListBox1.Items.Add("De libras a gramos")
ListBox1.Items.Add("De pesos a euros")
End
Sub
Private
Sub
ListBox1_SelectedIndexChanged (sender As Object, e As EventArgs) Handles
ListBox1.SelectedIndexChanged
Dim x As Double
Dim resultado As Double
Select
Case
ListBox1.SelectedIndex
Case 0
Label2.Text = "Introduce el número de cm:"
Label3.Text = "Pulgadas equivalentes:"
x = TextBox2.Text
resultado = x / 2.54
TextBox3.Text = resultado
Case 1
Label2.Text = "Introduce el número de
litros:"
Label3.Text = "Galones equivalentes:"
x = TextBox2.Text
resultado = x / 3.785
TextBox3.Text = resultado
Case 2
Label2.Text = "Introduce el número de
millas:"
Label3.Text = "Metros equivalentes:"
x = TextBox2.Text
resultado = x * 1609
TextBox3.Text = resultado
Case 3
Label2.Text = "Introduce el número de
libras:"
Label3.Text = "Gramos equivalentes:"
x = TextBox2.Text
resultado = x * 453.59
TextBox3.Text = resultado
Case 4
Label2.Text = "Introduce el número de pesos:"
Label3.Text = "Euros equivalentes:"
x = TextBox2.Text
resultado = x /
17.64
TextBox3.Text = resultado
End
Select
End Sub
End Class
Programa ejecutable
SÉPTIMA EVIDENCIA
Fecha de realización: 30 de
mayo de 2014
Opté por la evidencia que se
presenta a continuación porque el uso de la herramienta MenuStrip me pareció
muy fácil de utilizar y, sobre todo, el entorno visual tan atractivo que
podemos generar con ella, presentando múltiples opciones a través de menús
desplegables. El código es este caso, no representó problema alguno, ya que se
requirió en muy poca cantidad. Lo que representó el reto fue la asignación de
propiedades a los Label para conseguir que estos fueran transparentes y
simularan un mapa de imagen.
Hacer un programa que
utilice menús que sirva para desglosar las diferentes partes del cuerpo humano
y, además, por medio de una imagen al señalar estas partes, muestre en español
y en inglés las partes del cuerpo.
Código fuente
Private
Sub imagen_Load(sender
As
Object, e As EventArgs) HandlesMyBase.Load
Dim x As Control
For Each x In Me.Controls
If x.GetType.ToString.Contains("Label") Then
x.BackColor = Color.Transparent
x.Text = "
"
x.Cursor = Cursors.Hand
End If
Next
End Sub
Private
Sub
Label1_MouseMove(sender As Object, e As MouseEventArgs) Handles Label1.MouseMove
Label2.Text = "Dedos-fingers"
End
Sub
Private
Sub
Label4_MouseMove(sender As Object, e As MouseEventArgs) Handles Label4.MouseMove
Label2.Text = "Pierna-Leg"
End
Sub
Private
Sub
Label3_MouseMove(sender As Object, e As MouseEventArgs) Handles Label3.MouseMove
Label2.Text = "Pierna-Leg"
End
Sub
Private
Sub
Label6_MouseMove(sender As Object, e As MouseEventArgs) Handles Label6.MouseMove
Label2.Text = "Mano-hand"
End
Sub
Private
Sub
Label5_MouseMove(sender As Object, e As MouseEventArgs) Handles Label5.MouseMove
Label2.Text = "Pecho-chest"
End
Sub
Private
Sub
Label16_MouseMove(sender As Object, e As MouseEventArgs) Handles
Label16.MouseMove
Label2.Text = "Cabello-hair"
End
Sub
Private
Sub
Label15_MouseMove(sender As Object, e As MouseEventArgs) Handles
Label15.MouseMove
Label2.Text = "Oreja-Ear"
End
Sub
Private
Sub
Label14_MouseMove(sender As Object, e As MouseEventArgs) Handles
Label14.MouseMove
Label2.Text = "Dedos-toes"
End
Sub
Private
Sub
Label13_MouseMove(sender As Object, e As MouseEventArgs) Handles
Label13.MouseMove
Label2.Text = "Rodilla-Knee"
End
Sub
Private
Sub
Label12_MouseMove(sender As Object, e As MouseEventArgs) Handles
Label12.MouseMove
Label2.Text = "Cuello-Neck"
End
Sub
Private
Sub
Label11_MouseMove(sender As Object, e As MouseEventArgs) Handles
Label11.MouseMove
Label2.Text = "Tobillo-ankle"
End
Sub
Private
Sub
Label9_MouseMove(sender As Object, e As MouseEventArgs) Handles Label9.MouseMove
Label2.Text = "Pie-foot"
End
Sub
Private
Sub
Label10_MouseMove(sender As Object, e As MouseEventArgs) Handles
Label10.MouseMove
Label2.Text = "Hombro-shoulder"
End
Sub
Private
Sub
Label8_MouseMove(sender As Object, e As MouseEventArgs) Handles Label8.MouseMove
Label2.Text = "Muñeca-Wrist"
End
Sub
Private
Sub
Label7_MouseMove(sender As Object, e As MouseEventArgs) Handles Label7.MouseMove
Label2.Text = "Estómago-Stomach"
End
Sub
Private
Sub
Label18_MouseMove(sender As Object, e As MouseEventArgs) Handles
Label18.MouseMove
Label2.Text = "Cejas-Eyebrows"
End
Sub
Private
Sub
Label17_MouseMove(sender As Object, e As MouseEventArgs) Handles
Label17.MouseMove
Label2.Text = "Ojos-Eyes"
End
Sub
Private
Sub
Label19_MouseMove(sender As Object, e As MouseEventArgs) Handles
Label19.MouseMove
Label2.Text = "Boca-mouth"
End
Sub
Private
Sub
Label21_MouseMove(sender As Object, e As MouseEventArgs) Handles
Label21.MouseMove
Label2.Text = "Codo-Elbow"
End
Sub
Private
Sub
Label22_MouseMove(sender As Object, e As MouseEventArgs) Handles
Label22.MouseMove
Label2.Text = "Brazo-arm"
End
Sub
Private
Sub
Label23_MouseMove(sender As Object, e As MouseEventArgs) Handles
Label23.MouseMove
Label2.Text = "Brazo-arm"
End
Sub
Private
Sub
Label20_MouseMove(sender As Object, e As MouseEventArgs) Handles
Label20.MouseMove
Label2.Text = "Nariz-Nose"
End
Sub
Private
Sub
Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
End
End
Sub
End Class
Programa ejecutable
REFLEXIONES
Durante
el transcurso de este Módulo profesional se abarcaron diversas temáticas, pero
todas enfocadas a forjar la capacidad para desarrollar sistemas básicos de
información. Las temáticas principales
estuvieron separadas por submódulos, siendo el primero referente a la
metodología de la programación y a la programación estructurada mediante el
lenguaje C; el segundo acerca de los sistemas de información y, más en
específico, de las bases de datos; mientras que el tercero nos adentraría en la
programación orientada a objetos utilizando Visual Basic. No obstante, cada uno
de los conocimientos que se iban adquiriendo era primordial para avanzar al
siguiente e ir consiguiendo los objetivos de manera óptima, de forma que todos
los contenidos estuvieron íntimamente relacionados y al final, formaron parte
esencial de un “todo”, permitiendo la aplicación de las habilidades adquiridas
para concluir un proyecto integrador.
Con
respecto al primer submódulo, de acuerdo a mi experiencia adquirida durante el mismo
y después de buscar la solución a muy diversos tipos de problemáticas, me di
cuenta de que es un aspecto clave el saber identificar las partes de un
algoritmo (entradas, procesos y salidas), ya que de eso depende una correcta
conformación del diagrama de flujo y del código a utilizar y, por lo tanto, la
solución efectiva a una problemática. Muestra de lo anterior fue el programa
para contabilizar los votos (evidencia 1), cuyo diagrama de flujo, previamente
hecho, facilitó en gran medida la elaboración de un código que podría parecer
complejo en primera instancia.
Además de lo anterior, el conocer previamente los
diferentes tipos de operadores (aritméticos, relacionales y lógicos), la
función de cada uno y en qué casos es necesaria su utilización, fue
imprescindible para saber establecer condiciones (en sentencias selectivas y
repetitivas) y los procesos de acuerdo a la forma requerida. Reflejo de lo
anterior está prácticamente plasmado en los códigos fuente tanto de C como de
Visual, presentados en este portafolio (evidencias 1, 2, 3, 5 y 6), en los
cuales la correcta definición de operaciones matemáticas y expresiones
booleanas, fue lo que posibilitó el buen funcionamiento y el cumplimiento del
propósito de las distintas aplicaciones.
Otro
aspecto de vital importancia dentro de la programación fue el saber los tipos
de datos existentes y en qué forma o cuándo se debería de aplicar cada uno de
acuerdo al programa solicitado. Ejemplo de esto está en la parte de declaración
de variables de todos los códigos presentados, utilizando datos enteros en la
mayoría de los casos (en los contadores de las evidencias 1, 2 y 3) y de tipo
flotante, pues se requerían decimales en las evidencias 2 y 3, ya que manejan
variables que tomarían el valor de una cantidad de dinero o se necesitaría el
cálculo de porcentajes.
Todos
los aprendizajes anteriores conformarían las bases para una efectiva
codificación tanto en el lenguaje C como en lenguaje Visual Basic, siendo la
llamada metodología de la programación.
En
el momento en que comenzamos a abordar los temas de sentencias selectivas y
repetitivas, fue cuando empezamos a elaborar programas más complejos y con
mayor número de aplicaciones útiles en la vida diaria. Fue entonces, muy
importante el saber cuál tipo de sentencia selectiva utilizar de acuerdo al
propósito del programa a elaborar: en la evidencia 1, se utilizó una simple
(if) para permitir que se desplegara el menú de opciones sólo cuando el valor
de voto fuera de “1”; en la evidencia 3, se empleó una doble (if-else) calculando
un descuento si la condición era verdadera y sino, mostrando el total
previamente calculado; en la primera evidencia se empleó una múltiple (switch)
para ofrecer un menú de los partidos políticos que se podían elegir.
Con
respecto a las sentencias repetitivas también es de suma relevancia el
identificar qué tipo de cíclica se usaría para la resolución de cada problema,
ya que “for” es para un número determinado de repeticiones (de forma que se
utilizó en la segunda evidencia), pero “while” y “do-while” son para un número
indefinido de iteraciones (empleándola entonces en las evidencias 1 y 2).
Pasando
al submódulo 2, el saber diseñar las tablas (cimientos de las bases de datos)
de manera apropiada, fue primordial para crear sistemas de información útiles y
que ofrecieran datos interesantes. En la evidencia número 4, la cual fue un
proyecto en el que se aplicaron todas las habilidades adquiridas durante el
submódulo, se muestran dos tablas, cada una con una cantidad considerable de
registros, cuya captura se facilitó gracias al tipo de datos y las
propiedades que se establecieron en los
campos. Además, entre dichas tablas (imágenes 4 y 5) se creó una relación de
uno a muchos (un proveedor-muchos productos, visualizada en la imagen 6), lo
cual permitía la utilización, edición y visualización simultánea de datos de
ambas tablas.
No
obstante, el diseño apropiado de dichas tablas requirió de un previo análisis
de los requerimientos de información, enlistando y agregando todas las
entidades, los atributos y los procesos
relacionados con el funcionamiento del negocio creando los diagramas (imágenes
2 y 3) de flujo de datos y el de entidad relación (con las entidades
principales). Además de que todo el proyecto estuvo basado en el problema
identificado a través de la entrevista, tomando en cuenta las oportunidades y
orientado a cumplir con el objetivo planteado.
Se
utilizaron diferentes tipos de consulta de acuerdo a la información que se requería
obtener o filtrar, haciendo consultas simples, de ordenado y filtrado y, las
dos que considero más interesantes y útiles, las de resumen y de campo
calculado. Estas dos últimas fueron las que arrojaron datos muy importantes
acerca de cantidades o sumatorias de dinero invertidas por proveedor, marca,
producto, o bien, el total de dinero y cantidad de toda la mercancía (imágenes
7 y 8). En cuanto a las consultas de selección y filtrado las consultas que
creo que fueron las más útiles para la toma de decisiones del negocio es la
referente a las productos caducados y los próximos a caducar (imagen 9).
Los
formularios son herramientas que permiten mostrar pantallas ordenadas de los
campos y registros que se poseen en las tablas o consultas correspondientes con
mejor diseño y presentación, además de facilitar la edición y adición de
registros, agregando controles para la navegación y búsqueda en dichos
registros. Considero que el haber presentado en formularios (imagen 10) los
registros de ambas tablas y de las consultas sobre la caducidad de los
productos, facilita en gran medida la lectura de la información que estas
proporcionaban y, sobre todo, mejora su presentación.
Con
respecto a los informes de bases de datos (imagen 11), me parecen que son una
buena opción para resumir lo contenido en una base de datos, pero también para
compartir la información de ésta, seleccionando sólo aquella que es necesaria e
imprimiéndola o exportándola a otros formatos de archivo.
Dando
paso al submódulo 3, me introduje en el mundo de la programación orientada a
objetos, empleando el lenguaje Visual Basic que es de alto nivel, característica
que facilita la programación, pues la sintaxis está compuesta prácticamente de
vocabulario en inglés. De igual manera, el entorno de desarrollo integrado de
Visual Basic me facilitó mucho la tarea de programar, además de que el ubicar
perfectamente sus distintos componentes (cuadro de herramientas, propiedades,
orígenes de datos, explorador de soluciones, etc.) y la función de cada uno, fue
esencial para el diseño eficiente, rápido y atractivo de la interfaz de usuario.
A
través de este lenguaje de programación se lograron crear aplicaciones mucho más atractivas
visualmente, pues se diseñaron y organizaron los distintos programas en
formularios, en los cuales se añadían los controles o herramientas necesarias,
dependiendo de la tarea que se necesitaba llevar a cabo: realizar cálculos
específicos como respuesta a un evento (ejemplificado en la evidencia 6) o para
permitir salir del programa, ir al siguiente o al anterior formulario (evidencias
5, 6 y 7), que son tareas propias de los botones; indicar al usuario qué datos
introducir en los cuadros de texto, o bien, simplemente para describir al
programa en sí, que es el caso del Label (empleado en todas las evidencias del
submódulo 3); ListBox (evidencia 6) para presentar una lista de opciones al
usuario y, dependiendo de la elegida, ejecutar determinados procesos; el
TextBox, que son cuadros de texto cuya principal función es la de permitir que
el usuario introduzca datos, así como recuperar datos de salida resultantes de
algún cálculo (como es el caso de las evidencias 5 y 6) ; el MenuStrip para
crear menús desplegables de una forma fácil y rápida (evidencia 7).
Haciendo
referencia al programa que simulaba una calculadora, su realización se
dificultó en su momento porque se necesitaban recuperar los datos de salida en
cuadros de texto, tarea que hasta el momento sólo se había concretado mediante
MsgBox. Sin embargo, la capacidad de proponer soluciones e intentar de
múltiples formas, produjo que se pudiera conseguir el resultado deseado.
Con
respecto al ejercicio de conversiones, me llamó mucho la atención el cómo se
combinó la herramienta ListBox con la instrucción Select Case para conformar
una aplicación muy útil y efectiva. Igualmente, la codificación fue muy fácil,
pues simplemente se colocó el código en cada caso de acuerdo a los procesos que
se deberían llevar a cabo en cada uno de ellos.
La
última evidencia representó un reto en el aspecto de lograr que los Label fueran
transparentes para que pudieran actuar como un mapa de imagen sobre la
ilustración del cuerpo humano, cosa que resolví a través de la asignación de la
propiedad color de fondo como transparente y reemplazando el texto que debería
aparecer por una serie de espacios en blanco. Cabe destacar que en este
programa hice uso del bucle For Each-Next (que en un principio me había
parecido prácticamente innecesario en cualquier programa), para facilitarme la
tarea de la asignación de lo previamente mencionado a los más de veinte Label
que necesité, siendo esto una clara muestra de que todo conocimiento es útil
cuando sabes aplicarlo.
El
uso de las sentencias de control selectivas, simple, doble, anidada y múltiple
(ésta última empleada en el ejercicio de conversiones) y el manejo de bucles en
Visual Basic se facilitó realmente gracias a los conocimientos previos acerca
de cómo es que éstos actúan en un programa, en que situaciones se emplean y la
forma en que se codifican, adquiridos durante el primer submódulo (evidencias
1, 2 y 3).
CONCLUSIONES
Ø Los algoritmos están más
presentes de lo que imaginamos en nuestras actividades diarias, pues desde las
más sencillas hasta las más complejas, necesitan del seguimiento ordenado de un
conjunto de pasos específicos. Dichos algoritmos, son representados y
desglosados en los diagramas de flujo, los cuales te proporcionan una gran
perspectiva gráfica acerca de la conformación y partes (entradas, salidas y
procesos) que estos poseen, lo que, al momento de crear el programa
correspondiente, se convierte en imprescindible para codificarlo correctamente.
Ø El lenguaje de programación
C es muy flexible, ya que permite la combinación de diferentes tipos de
sentencias (secuenciales, selectivas y repetitivas) dentro de un mismo código
para consolidar una aplicación de más utilidad que le da solución a
problemáticas complejas, además de que creo que la programación estructurada
que ofrece me facilitó mucho la introducción a la programación y el posterior
uso del lenguaje Visual Basic. No obstante, es de primera importancia el
apegarse a la sintaxis de este lenguaje para evitar errores en la compilación
de nuestro programa que son difíciles de detectar, debiendo conocer entonces
los formatos generales propios de cada sentencia y la manera de declarar y llamar funciones, cómo incluir las
bibliotecas en nuestro código, cómo declarar e identificar variables, etc.
Ø Es muy importante conocer e
identificar los diferentes tipos de datos que se puedan llegar a necesitar en
determinado programa para que, al momento de codificarlo, pueda funcionar de
acuerdo a cómo lo planeamos y nos apeguemos a la forma correcta de declararlos
e incorporarlos a nuestro código. De esta forma, es muy relevante el saber qué
tipos de datos existen (numéricos, alfanuméricos, variables, constante,
enteros, de coma flotante, de doble precisión, caracteres, cadena de
caracteres) y cómo hacer buen uso de sus maneras de declaración, de sus
identificadores y, en general, de la forma apropiada de utilizarlos.
Ø Los sistemas de información
computarizados bien organizados y completos son vitales en la correcta toma de
decisiones que empujen al mejoramiento del funcionamiento de cualquier empresa
u organización. Para su creación es imprescindible el seguir al pie de la letra
las etapas del ciclo de vida del desarrollo de sistemas, de forma que el
sistema de información sea verdaderamente útil para la organización.
Ø Las tablas son los cimientos
de una base de datos, de forma que su diseño, su relación y el llenado de los
registros deben ser los adecuados. Asimismo, las consultas son esenciales, ya
que permiten filtrar, seleccionar o calcular datos que son importantes.,
basándose en lo registrado en las tablas. Los formularios son de gran ayuda
para la presentación y la adición de registros, mientras que los informes son
útiles para compartir información de la base de datos. Todos estos objetos de
bases de datos en conjunto y llevados a cabo correctamente, conformarían un
gran sistema de información que no sólo almacenara datos de forma organizada,
sino que proporcionara información interesante y útil para la buena toma de
decisiones de la organización correspondiente.
Ø En Visual Basic, el
programar y la utilización de aplicaciones, son mucho más atractivos tanto para
el programador como para el usuario respectivamente, ya que al estar orientado
a objetos y a eventos, te permite generar aplicaciones más vistosas, con mejor
diseño, de fácil manipulación y conjuntando controles (cada uno con una función
específica en el programa). Además, el entorno de desarrollo integrado que
ofrece nos facilita en gran medida la tarea de programar, apoyándonos con
código y señalando errores de sintaxis.
Ø Las herramientas o controles
en Visual Basic son muy vistosos y útiles, teniendo cada uno una tarea
determinada junto con propiedades particulares sobre su aspecto y
funcionamiento, y que, en conjunto, crean una interfaz de usuario de los
programas creados muy llamativa. Cabe destacar, que la codificación en cada uno
de ellos es rápida y muy eficiente.
Ø Lo que considero que fue lo
más esencial para concretar los diversos retos que se nos iban presentando fue,
sin duda, el razonamiento lógico y ordenado, así como la capacidad para crear
innovaciones (desde el saber qué variables utilizar, qué condiciones serían
efectivas, ordenar sentencias e instrucciones de acuerdo a nuestra
conveniencia, introducir el código en el lugar adecuado, diseñar estructura
general del programa, etc.) que cada estudiante poseía y ponía en práctica,
pues esto es claramente requerido para superar y concretar los problemas y
ejercicios propuestos.


























Aquí está mi portafolio de evidencias terminado!!!
ResponderBorrarbuen portafolio de evidencias :)
ResponderBorrarMe parecen muy interesantes esos temas, me gustarìa haber profundizado más sobre éstos en mi época de estudiante.
ResponderBorrarhola Roman, buen trabajo!
ResponderBorrarQue buen trabajo te salio
ResponderBorrarMuy buenas tus descripciones y la organización de tu trabajo!!!
ResponderBorrar¡Muy bien! Super interesante y matemático :) Son excelentes tus reflexiones y además de que tienen gran relevancia en diferentes campos.
ResponderBorrarmuy bien roman esta muy bien redactado tu trabajo, la verda me parecio un exelente trabajo. :)
ResponderBorrarGracias muchachos por comentar mi trabajo!!!
ResponderBorrarExcelente Trabajo Roman Felicidades !
ResponderBorrar