sábado, septiembre 01, 2018

Diagrama de flujo para Calcular si un numero es primo

1- Diagrama de Flujo para calcular si un Numero es primo o no.
A continuación iniciaremos un diagrama de flujo para resolver el reto de como calcular si un numero es primo o no. Un número es primo cuando es divisible por el y por la unidad, recuerden que esta división debe ser una división exacta. 
En la imagen tenemos como calcular y resolver para saber al capturar un numero N, validar si es un numero primo o no.
tenemos como ejemplo el numero 11, y se realiza la prueba de escritorio del diagrama de flujo, allí se van colocando los valores que toman cada variable y cada operación después de una pasada de los pasos del diagrama de flujo.


2- Que es una prueba de escritorio, como realizarla
Una prueba de escritorio es colocar valores e ir probando si los pasos y los resultados del diagrama de flujo corresponden y son correctos y arrojan los valores deseados.

En el ejemplo anterior del diagrama de flujo, del numero primo, están colocados los valores que van tomando las variables en sus diferentes tiempos y puntos, asi verificamos que esta correcto el diagrama, que los pasos que estamos realizando son los correctos.

Entonces por cada diagrama de flujo, se debe realizar una prueba de escritorio, reemplazando los valores de las variables por valores numéricos y verificar que el resultado es correcto, además, verificar todas las bifurcaciones que se den en el diagrama por las condiciones que nos exija el algoritmo que estemos realizando.

3- Diagrama de Flujo de una pantalla de Login. 
A continuación haremos el diagrama de como funciona una pantalla de Login a nuestras redes sociales o al correo electrónico.


1. Se ingresan los datos de usuario y clave en la pantalla.
2. Se verifica si el usuario existe, para esto, se consulta en la base de datos del sitio,
3. Si No existe, mostramos pantalla para registro de usuario.
4. Si desea registrarse, pide los datos del registro, usuario, clave y email.
5. Guarda los datos en la base de datos.
6. Va a la pantalla de Login para autenticarse.
7. Si no desea registrarse, se envía a la pantalla de Login.
8. Si el usuario Existe, vamos a la base de datos de la aplicacion y traemos la información del usuario.
9. Verificamos si el password esta correcto,
10. Si No es correcto, mostramos mensaje de "usuario no es valido"
11. regresamos a la pantalla de login a pedir usuario y clave.
12. Si es Correcto, mostramos un mensaje "usuario autenticado"
13. Fin.


4- Capturar 5 números enteros. (Array)
Antes de iniciar con este nuevo reto de programación,  vamos a conocer y entender que es un Array.
Un Array, es una variable que puede contener uno o varios valores del mismo tipo de datos, esto es, diferentes números enteros, diferentes palabras o frases, y que nos permite llamar a cada uno de estos valores a través de un índice o una posición del elemento dentro del Array.
Los arrays pueden ser unidimensionales, cuando tienen o una fila o una columna, o multidimensionales, estos generalmente tienen filas y columnas, pero pueden tener mas dimensiones como profundidad, etc.
En la imagen se pinta de manera grafica un array Bi-Dimensional (2 dimensiones, por eso tiene filas y columnas) y un array unidimensional de 5 elementos, el índice siempre va desde cero (0) en adelante.




EL reto ahora es realizar un diagrama de flujo que permita capturar y almacenar 5 números enteros.

Los pasos en palabras, esto tambien es conocido como pseudo código. (No se asusten!) simplemente es que con palabras hagamos lo mismo que con el diagrama de flujo.

Ahora iniciemos los pasos para resolver el reto:
1. Inicio
2. Creamos una caja de definición de variables, definimos una variable que llamamos Números de tipo Array con una longitud o tamaño del array de 5 elementos. Este array es unidimensional: Numeros[5], además, definimos una variable entera que llamamos i y le asignamos 0, esta variable nos servirá para posicionarnos en el array y seleccionar un elemento del array.
3. Luego realizamos la entrada del numero en la variable N
4. Luego almacenamos el Numero N capturado en el elemento i del array, esto lo hacemos en la caja e operaciones.
5. Creamos una nueva caja de operaciones y en esta, lo que hacemos es incrementar el valor de i en 1, para controlar los diferentes elementos del array.
6. Creamos un Rombo que nos sirve para una decisión, esta decisión es preguntar si el valor de i es mayor a 4, Esta decisión tiene dos caminos, el del NO y el del SI.
7. NO, Si el valor de i no es mayor a 4, entonces volvemos a pedir un nuevo numero, pues aun no hemo terminado de capturar los 5 números de nuestro reto. Aqui utilizamos un circulo con una letra A, esto indica que el flujo va al Conector A que se encuentra con una flecha a la derecha y apunta encima de la Caja de captura de datos N, Con esto volvemos a capturar otro numero y almacenarlo en N y volvemos a ejecutar todos los pasos anteriores hasta verificar el valor de i.
8. SI. Si el valor de i es Mayor a 4, quiere decir que ya capturamos los 5 números de nuestro reto, pues hemos venido incrementado el valor de i de 1 en 1.  Entonces ahora creamos una nueva caja de operaciones, y en ella creamos dos variables, una llamada ACUM y la otra llamada PROM ambas las hacemos igual a cero, en el caso de la variable PROM la igualamos a 0.0 para indicar que es una variable numérica con decimales, aqui calcularemos el  promedio de los 5 números capturados.
9. Luego creamos una nueva caja de operaciones y volvemos a colocar el valor de i en cero.
10. Creamos una nueva caja de texto e esta caja de operaciones vamos a asignarle valor a la variable ACUM = ACUM + Numeros[i], lo que estamos aqui haciendo es acumulando los diferentes valores que capturamos y guardamos en el array, con esto al final podremos calcular el promedio.
11. Creamos una nueva caja de texto e incrementamos el valor de i en 1, i = i + 1.
12. Creamos una caja de decisiones, un rombo, aqui volvemos a preguntar si i es mayor a 4.
13. NO. Si no se cumple esta condición, entonces regresamos con la flecha y volvemos a acumular ACUM = ACUM + Numeros[i] y seguimos los mismos pasos anteriores hasta que la condición sea verdadera y salga por el SI.
14. SI. Si la condición se cumple entonces vamos al conector B (Conector: Circulo con una letra o numero adentro).
15. Creamos una caja de operaciones en la cual ya podremos calcular el Promedio, aqui entonces escribimos PROM = ACUM / 5, podemos escribir el 5 o podemos escribir i que contiene el numero de elementos del array.
16. Luego creamos un símbolo de salida de datos, en este símbolo mostramos PROM que seria el promedio que calculamos.
17. Terminamos en el conector de FIN.
A continuación el Diagrama de Flujo de este reto.




Conceptos:

Contador: es una variable ( o sea un espacio de memoria en el computador que almacena un dato), que se incrementa su valor en un valor constante, generalmente de 1 en 1, en el ejemplo del diagrama anterior es la variable i.

Acumulador: es una variable que almacena diferentes valores, funciona de manera muy similar al contador, sin embargo, los valores que se suman no son constantes, son variables.

Promedio: es una operación de estadística en donde se suman o acumulan un numero determinado de valores, luego este resultado se divide entre el numero de valores acumulados.



Qué es un diagrama de flujo

Diagramas de Flujo

Un diagrama de flujo  es una serie de pasos que resuelven un problema de programación o de cualquier índole. Estos diagramas ayudan a los que están iniciando en el mundo de la programación para computadores, informática, o carreras afines, la intención de esta clase es despertar en ustedes la lógica con la cual será mas sencillo poder resolver los diferentes retos de programación a los que te vas a enfrentar.


Introducción
Esta clase es para despertar la lógica que tiene cada ser humano dentro de si. La lógica nos permitirá crear los programas de computadores que al final vamos a empezar a crear.
Un termino que utilizamos en nuestra clase es Algoritmo, pero que es un Algoritmo?
"Es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite llevar a cabo una actividad mediante pasos sucesivos que no generen dudas a quien deba hacer dicha actividad"  (Wikipedia)
Lo importante es que vamos a aprender a analizar una acción y detallar cada uno de los pasos necesarios para poder realizar esa acción.
Para ayudarnos en esto existe lo que se llaman los Diagramas de Flujo. Esto es, los pasos necesarios para realizar una tarea de manera grafica.


Los símbolos del diagrama de Flujo



Ejemplo de un diagrama de flujo
Un ejemplo de un diagrama de flujo es el siguiente:


Aqui podemos observar que iniciamos con la lampara no funciona, esto es el inicio del diagrama, luego el rombo es para realizar una pregunta, por eso tenemos ¿esta enchufada? y tiene dos posibles respuestas, una verdadera y una falsa que se denotan con un Si y un No en las flechas.
Las fechas indican la dirección del flujo del diagrama. Los óvalos indican el final o inicio del diagrama.


Como generar un diagrama de flujo
Empecemos 
1-  Analizar un numero e indicar cuando es par o impar.
Lo primero es capturar un numero, luego dividirlo por el numero dos (2) y calcular el modulo o resto de la división por 2, si es cero, quiere decir que el numero es par, si no, el numero es impar.

Iniciamos con el ovalo y dentro la palabra Inicio, luego la flecha y el objeto de captura o ingreso de datos, aqui definimos una variable que llamamos A, luego otra flecha hacia el rombo para realizar una pregunta, la pregunta es si A mod 2 = 0 (A mod 2 es igual a cero), el mod es una función matemática que calcula el resto de una división. 
El si por la derecha, muestra un mensaje en pantalla indicando que el numero es par.
El no por debajo del rombo, muestra un mensaje en la pantalla indicando que el número no es par, luego en ambos casos una flecha y un ovalo indicando el fin del diagrama de flujo.

Conceptos 
Variable: una variable es un espacio en memoria que sirve para almacenar un dato, este dato tiene un tipo de dato, los tipos de datos mas comunes son, numéricos, que hay varios tipos, por ejemplo, entero, doble (double) con decimales, texto, o tipo string, fecha o DateTime.

Condicion: nos permite tomar una decisión y tiene dos posibles respuesta, verdadero o falso, si o no. se representa en los diagramas como n rombo.


Consultas

A continuación les dejo unos links para que sigan consultando acerca del tema.



https://www.lucidchart.com/pages/es/qué-es-un-diagrama-de-flujo

https://es.wikipedia.org/wiki/Diagrama_de_flujo






martes, mayo 29, 2018

Creando Archivos MarkDown desde Vs2017

Creando Archivos MarkDown desde VS2017

Después de mucho tiempo sin escribir en el blog, nuevamente inicio a escribir sobre lo que hago.

Últimamente una de las tendencias es compartir código en repositorios de datos como Git, GitHub, etc. Estos repositorios permiten que coloquemos archivos descriptivos en los cuales se describe el taller o las aclaraciones necesarias del código.

Estos archivos tienen extensión .md conocidos como MarkDown Files.

Hoy quiero explicar como crear este tipo de archivos pero... desde el propio Visual Studio a través de un plugin que acabo de probar y es muy bueno.

La ventaja de esto es que no necesitamos cargar una nueva aplicación para crear el archivo, si no que desde el mismo Visual Studio lo hacemos.

Lo primero es ir al Marketplace de Visual Studio y ubicar el plugin.

La url del plugin es el siguiente.
https://marketplace.visualstudio.com/items?itemName=MadsKristensen.MarkdownEditor#overview

Esto nos llevara a la pantalla:



Desde aquí instalamos el plugin, sirve desde Visual Studio 2015 que es el mínimo instalado en mi PC, hasta 2017, no verifique si para versiones anteriores también funcione.

Agregamos un nuevo archivo a nuestra solución igual que lo hacemso con un archivo del desarrollo

En la ventana de nuevos archivos ubicamos la plantilla de archivo markdown


Colocamos el nombre de nuestro archivo, damos clic al botón Add en la pate inferior derecha y ya podemos iniciar a crear nuestro archivo.

En la practica se vera asi, a la izquierda el texto y las imágenes que estamos añadiendo para crear nuestro archivo .md y en la derecha como se verá nuestro archivo.




Bueno, developers, eso es todo por el día de hoy!!!

Disfrútenlo!!!

DIOS los bendiga!!!






miércoles, agosto 12, 2015

Instalar Cliente VPN Cisco en Windows 10

Hola a tod@s!

En estos días que instale la nueva versión de Windows 10 en mi trabajo necesito utilizar el cliente VPN de Cisco, a pesar de instalar la ultima versión no me lo permitía me decía que el programa no era compatible.

Sacaba un error en el modulo de Network connection, y de este punto desinstalaba todo el cliente.

La solución a esto fue:

1. Desinstalar el cliente o lo que hubiera de este componente
2. reiniciar el PC
3. Descargar e instalar SonicWall VPN de al siguiente pagina: http://help.mysonicwall.com/applications/vpnclient/
4. Reinicar el PC
5. Instalar el cliente VPN de Cisco, y ahora si instala.


Espero les sirva esto.

Saludos y muchas bendiciones!!!!

Hasta la próxima.


lunes, septiembre 08, 2014

[Conference] Desarrollo de Apps Android con C# y #Xamarin

Hola a todos!

Como un abre bocas al ExpertDat del proximo 27 de Septiembre en Bogota:

Link del ExpertDay

EL proximo 11 de Septiembre estare hablando de como crear Apps para Android, usando C# y Xamarin para esto.

Aqui el link de registro:  http://www.meetup.com/BDotNet/events/205968072/

Los espero! Es Gratis!

 

jueves, agosto 28, 2014

[EVENTO] ExpertDay: Desarrollo Movil Multiplataforma

Hola a todos

logo ExpertDay1

Hoy quiero invitarlos al Expert day del proximo 27 de septiembre en la ciudad de Bogota!

Estaremos hablar de como desarrollar aplicaciones para moviles que sea multiplataforma, o sea que tengamos 1 desarrollo que nos sirva en un 70% / 80% para otra plataforma diferente.

Hablaremos de HTML5, de WinJS, de XAML., de C# con MONO y de C# con Xamarin.

Los espero a todos!

Aqui el link de registro y de las conferencias que ofreceremos: http://bit.ly/1nIt4W0

 

Technorati Tags: ,,,,

miércoles, julio 30, 2014

{EVENTO} Colombia 3.0 Barcamp:

Hola a tod@s!

Solo para comentarles que voy a estar dictando dos charlas en el Barcamp de Colombia 3.0 el dia de hoy 30 y mañana 31 de Julio de 2014.

Mis charlas:

Desarrollo de Apps nativas con C# y Xamarin (Julio 30)

Como desarrollar Aplicaciones Moviles?

Luego les coloco fotos por aqui.

Aqui el link de la agenda: http://bogodev.org/sil-story/col30-barcamp-bogota/

lunes, julio 21, 2014

[Ciclo de Conocimiento] Desarrollo de Apps nativas Android con Xamarin y C#

Hola a todos

Aqui les dejo el link de Slide Share en donde pueden descaragr y ver las diapositivas del desarrollo con Xamarin:

 

Aca los slides de nuestra presentacion anterior para que tambien puedan verla y descargarla.

Ahora algunas fotos de los asistentes el pasado 16 de julio en las instalaciones de ViveLab Bogota.

WP_20140716_002[1] 

WP_20140716_001[1]

sábado, julio 05, 2014

[Ciclo de Conocimiento] Como Desarrollar Aplicaciones Moviles II HTML5

Hola a todos!

Aqui algunas fotos de la conferencia del jueves 3 de julio de 2014 en la cual continuamos con nuestro ciclo de conocimiento sobre como desarrollar aplicaciones moviles.

   WP_20140703_001[1]  WP_20140703_003[1]

WP_20140703_004[1]   WP_20140703_005[1] 

WP_20140703_006[1]   WP_20140703_007[1]

Hablamos de como desarrollar aplicaciones web para moviles usando ASP.NET WebForms y ASP.NET MVC 5, y como usar las plantillas de framework javascript para que nuestras aplicaciones sean responsivas al tamaño de la pantalla del dispositivo y que se vea bien!

Hablamos de como desarrollar Apps con HTML5, CSS3 y JavaScript ayudandonos de algunas herramientas que habiamos mencionado en nuestra primera sesion de este ciclo.

Hablamos de AppBuilder de Telerik, de DevExtreme de DevExpress.

Aqui los comentarios de la conferencia: http://www.meetup.com/BDotNet/events/191020682/

Los espero el proximo 16 de julio de 2014 para hablarles de como desarrollar aplicaciones moviles multiplataforma (Cross Platform) utilizando principalmente Xamarin, aunque tambien hare mencion de otras herramientas que nos sirven para esto.

Aqui el link de inscripciones: http://www.meetup.com/BDotNet/events/191021862/

No se lo pierdan!

lunes, junio 23, 2014

[Curso Xamarin] Finalizado Curso Desarrollo para Android con Xamarin y C#

Hola a todos

Aqui algunas imagenes de las clases de los dos cursos de Desarrollo para Android con Xamarin y C# que estuve dictando en Bogota.

 

WP_20140605_001[1]  

WP_20140621_001[1]

WP_20140614_003[1]

A programar en Android con C# y Xamarin!

viernes, junio 20, 2014

[Ciclo de Conocimiento] Como desarrollar Aplicaciones Moviles?

Hola a todos!

Hoy quiero compartir con ustedes las memorias de mi charla sobre Como desarrollar Aplicaciones Moviles?

En esta charla explico que debemos tener presente para iniciarnos y para estar seguros en el desarrollo de aplicaciones moviles, comparo las tres plataformas mas relevantes del mercado en este momento como son Android, iOS y Windows Phone, analizo que tipo de desarrollo debemos utilizar: web, hibrido o nativo.

Ademas hago un recorrido por las herramientas mas relevantes de cada tipo y algunos pros y contras de las herramientas mencionadas.

Aqui les dejo el link en donde podran ver y descargar las laminas:

 Como desarrollar aplicaciones moviles, que debemos tener en cuenta?

Algunas fotografias del evento:

O1 WP_20140619_004 WP_20140619_005 WP_20140619_006

No se pierdan la proxima charla de esta serie en donde iniciaremos a exponer por medio de herramientas como crear o iniciar nuestro desarrollo de un App.

jueves, junio 12, 2014

TechDay Bogota 2014

Hola aqui les dejo algunas fotos de recuerdo de este dia en donde hable de lo nuevo de Windows phone 8.1

 

viernes, mayo 30, 2014

Novedades de Xamarin 3.0

Hola a tod@s

Hoy quiero compartir con ustedes la actualizacion de Xamarin a su version 3.0

Las mejoras:

  1. Xamarin 3.0 no es compatible con Visual Studio 2013 Update 2 RC. Debe actualizar a la version definitiva del Update 2.
  2. La plantilla de Xamarin.Forms Shared requiere Visual Studio 2013 Update 2.
  3. La plantilla Xamarin.Forms PCL en Visual Studio 2010 requiere la instalacion de Portable Library Tools de Microsoft 
  4. Cualquiera de las plantillas de Xamarin.Form, requiere el SDk apropiado para Windows Phone.

 

Principales Cambios

  • Plantillas de Xamarin.Forms para proyectos PCL (Portable Cass Library)
  • Adicion de plantillas WebView para Android e iOS.
  • Preprocesador de Razor
  • Se unieron los addins para Android e iOS. Con esto se solucionan muchas incompatibilidades anteriores que sufrieron los consumidores. Co esto se soluciona de tener que instalar versiones especificas en VS para Android o para iOS.
  • Permite configurar el path del SDK de Apple con la pagina de configuracion de iOS.
  • Adiciona soporte para los nuevos perfiles de PCL lanzados con el Update 2 de Visdual Studio 2013.

 

Diseñador de Interface Grafica para iOS desde Visual Studio

Una imagen vale mas que mil palabras:

designer_vs

Esto es que se ha integrado un  diseñador grafico para iOS en Visual Studio y lo mejor mantiene total compatibilidad con la  caracteristica de Storyboard de iOS.

Disfrurenlo!!!

Technorati Tags: ,

{EVENTO} Windows Phone 8.1 ExpertDay

Hola a tod@s!

Hoy quiero invitarlos al ExpertDay sobre Windows Phone 8.1 que estoy organizando junto a todo el equipo de la Comunidad BDotNet en Bogota.

 

InvitacionExpertDayF

El link de inscripciones es :  http://1drv.ms/1nMfJx1

Si quieren llevar su portatil o tablet, no olviden rellenar la ultima casilla del Formulario de registro con el serial de su dispositivo.

Para mayors detalles, y la agenda, la pueden consultar aqui: http://bit.ly/1kc0lpu

LOS ESPERO!!!! No se lo pierdan!

viernes, mayo 23, 2014

[CPCO7] Campus Party Colombia 2014

Como comunidad asociada a Campus Party 2014, la Comunidad de desarrolladores Profesionales BDotNet, les ofrece la oprtunidad de ganar entradas a campus Party en Cali.

Solo deben rellenar el siguiente formulario y contestar las dos preguntas del formulario para participar en la rifa.

Aqui les dejo el link:

http://bit.ly/1oZR77u

jueves, mayo 22, 2014

[Xamarin Course] universidad de los Andes

El pasado 21 de Abril hasta el 26 de Abril estuve dictando un curso de Xamarin a los estudiantes de la Univerdidad de los Andes en Bogota.

Patrocinado por Microsoft y por la Universidad, aqui algunos momentos de esa semana!

WP_20140422_001[1] WP_20140421_001[1]

WP_20140422_002[1] WP_20140422_003[1]

WP_20140422_004[1] WP_20140423_001[1]

WP_20140423_005[1] WP_20140423_007[1]

WP_20140423_006[1]

Un Atardecer de uno de esos dias:

WP_20140423_002[1]

Gracias a todos los asistentes!