SlideShare una empresa de Scribd logo
1 de 298
PORTAFOLIO ESTUDIANTIL
TECNOLOGIA SUPERIOR EN
ANALISIS DE SISTEMAS
LIGIA LOURDES SANTIANA MOROCHO
Tercero Nivel “A”
ADMINISTRADOR: Ing. Juan Chimarro
PERIODO ACADÉMICO
Mayo 2018 - Octubre 2018
CARRERA DE ANALISIS DE SISTEMAS
1. FICHA PERSONAL DEL ESTUDIANTE (HOJA DE VIDA)
2. MISIÓN Y VISIÓN DE LA CARRERA
3. MALLAS
4. CRONOGRAMA DE ACTIVIDADES
5. HORARIOS DE CLASE
6. DISTRIBUTIVO DE CLASE
7. SYLLABUS
8. DOSIFICACIÓN ACADÉMICA
9. ESTRUCTURA DEL PORTAFOLIO
 DOCENCIA
 Actuaciones en clase
 Lecciones orales
 Pruebas escrita
 Exámenes
 TRABAJO AUTÓNOMO
 Revisión bibliográfica (consultas)
 Preparación de exposiciones (documentos consultados)
 Revisión de talleres
 Resolución de ejercicios
 Informe de giras de observación
 PRACTICAS
 Proyectos integradores
 Exposiciones de proyectos integradores
 Informes de visitas a empresas
 REGISTRO DE NOTAS
SEMESTRE
MAYO 2018 – OCTUBRE 2018
FICHA PERSONAL DEL ESTUDIANTE
Nombre: Ligia Lourdes Santiana Morocho
1. DATOS PERSONALES
 Lugar / Fecha de nacimiento: Cayambe 26 -02- 1984
 Edad : 34 años
 Cédula de Ciudadanía : 1718240870
 Teléfonos móvil/fijo : 0997355518
 e-mail personal : ligissantiana@gmail.com
 Relación laboral : Administradora “Multiservicios Cayambe”
2. FORMACIÓN ACADÉMICA
TÍTULO INSTITUCIÓN CIUDAD AÑO
No. REGISTRO DE
TÍTULO/DIPLOMAEN EL
CONESUP
Bachiller en Ciencias de Comercio y Administración
Especialidad Contabilidad Colegio “Nelson I. Torres” Cayambe 2005 176790
IDIOMA EXTRANJERO
IDIOMA
DOMINIO DEL IDIOMA HABLADO DOMINIO DEL IDIOMA ESCRITO
CERTIFICADO
REGULAR BUENO
MUY
BUENO
REGULAR BIEN
MUY
BUENO
3. CURSOS/SEMINARIOS/CONGRESOS UNIVERSITARIOS
DESCRIPCIÓN EMPRESA/ENTIDAD/LUGAR CIUDAD-AÑO-MES
DURACIÓ
N (horas)
FACILITADOR/
CERTIFICADO
Computación Básico y Avanzado Centro de Capacitación Siglo XXI Cayambe 2010-10
120
4. EXPERIENCIA LABORAL
INSTITUCIÓN CARGO DESDE HASTA
CELLNET DIGITADORA 2011 2014
MULTISERVICIOS
CAYAMBE
ADMINISTRADORA 2014 2018
FIRMA: Ligia Santiana
C.C.: 1718240870
2.DATOS INFORMATIVOS
CARRERA DE ANALISIS DE
SISTEMAS
a. MISIÓN
“Formar Tecnólogos en Análisis de Sistemas capacitados
profesionalmente para contribuir de manera eficiente y oportuna a la
solución de problemas técnicos y tecnológicos generados en la empresa y
fuera de ella, mediante el manejo de normativa técnica y desarrollo de
iniciativas de investigación ajustada a los objetivos nacionales dispuestos
en el Plan Nacional del Buen Vivir con el respaldo permanente de sólidos
principios éticos y morales.”
b. VISIÓN
“Ser una carrera tecnológica reconocida por la formación de profesionales
de la computación con fundamentos científicos, humanísticos y de gestión;
demostrando sólidos valores en nuestros profesionales, de modo que
aporten con análisis, diseño, programación e implementación de nuevos
sistemas para automatizar los procedimientos de las empresas y con una
alta proyección innovadora.”
CARRERA DE ANALISIS DE
SISTEMAS
3.MALLAS
CARRERA DE ANALISIS DE
SISTEMAS
CRONOGRAMA DE ACTIVIDADES
CARRERA DE ANALISIS DE
SISTEMAS
4.HORARIO DE CLASES
CARRERA DE ANALISIS DE
SISTEMAS
5.DISTRIBUTIVO DE CLASE
CARRERA DE ANALISIS DE
SISTEMAS
6.SYLLABUS
CARRERA DE ANALISIS DE
SISTEMAS
7.DOSIFICACIÓN ACADEMICA
CARRERA DE ANALISIS DE
SISTEMAS
8.Matemática Aplicada
DOCENCIA
 Actuaciones en clase
 Lecciones orales
 Pruebas escrita
 Exámenes
TRABAJO AUTÓNOMO
 Revisión bibliográfica (consultas)
 Preparación de exposiciones (documentos
consultados)
 Revisión de talleres
 Resolución de ejercicios
 Informe de giras de observación
PRACTICAS
 Proyectos integradores
 Exposiciones de proyectos integradores
 Informes de visitas a empresas
REGISTRO DE NOTAS
CARRERA DE ANALISIS DE SISTEMAS
Arquitectura del Computador
DOCENCIA
 Actuaciones en clase
 Lecciones orales
 Pruebas escrita
 Exámenes
TRABAJO AUTÓNOMO
 Revisión bibliográfica (consultas)
 Preparación de exposiciones (documentos
consultados)
 Revisión de talleres
 Resolución de ejercicios
 Informe de giras de observación
PRACTICAS
 Proyectos integradores
 Exposiciones de proyectos integradores
 Informes de visitas a empresas
REGISTRO DE NOTAS
CARRERA DE ANALISIS DE SISTEMAS
Programación Estructurada
DOCENCIA
 Actuaciones en clase
 Lecciones orales
 Pruebas escrita
 Exámenes
TRABAJO AUTÓNOMO
 Revisión bibliográfica (consultas)
 Preparación de exposiciones (documentos
consultados)
 Revisión de talleres
 Resolución de ejercicios
 Informe de giras de observación
PRACTICAS
 Proyectos integradores
 Exposiciones de proyectos integradores
 Informes de visitas a empresas
REGISTRO DE NOTAS
INSTITUTO TECNOLÓGICO
1. “NELSON TORRES”
PROGRAMACIÓN
ESTRUCTURADA
DOCENTE:
ING. JUAN CHIMARRO
TERCERO “A”
LIGIA SANTIANA
EJERCICIO N° 1
BINARIO A DECIMAL
'
EJERCICIO N° 2
NÚMERO FIBONACCI
numeros de la serie a generar...'
de la serie son:
EJERCICIO N° 3
FACTORIAL DE UN NUMERO
EJERCICIO N° 4
SERIE DE NUMEROS PRIMOS
Programación en java
Código de programación en JAVA
Programación estructurada
Ing. Juan Chimarro
Santiana Morocho Ligia Lourdes
ligissantiana@gmail.com 0997355518
11/08/2018
EJERCICIO N° 1
FACTORIAL DE UN NÚMERO
CODIFICACIÓN:
EJERCICIO N° 2
SERIE FIBONACCI
CODIFICACIÓN
EJERCICIO N° 2
SERIE DE NÚMEROS PRIMOS
CODIFICACIÓN
EJERCICIO N° 2
CONVERSIÓN DE DECIMAL A BINARIO
CODIFICACIÓN:
Programación en java
Código de programación en JAVA
Programación estructurada
Ing.: Juan Chimarro
Santiana Morocho Ligia Lourdes
ligissantiana@gmail.com
0997355518
15-08-2018
Ejercicio #1
DECIMAL BINARIO
Codificación:
package oeparcionesmatematicas;
import java.util.Scanner;
public class DECIMALABINARIO {
public void DECIMALBINARIO() {
}
double binario;
public void ingreseDECIMALABINARIO(int numero) {
int exp, digito;
Scanner sc = new Scanner(System.in);
do {
System.out.print("Introduce un numero entero >= 0: ");
numero = sc.nextInt();
} while (numero < 0);
exp = 0;
binario = 0;
while (numero != 0) {
digito = numero % 2;
binario = binario + digito * Math.pow(10, exp);
exp++;
numero = numero / 2;
}
}
public double resuladoDECIMALABINARIO() {
return binario;
}
}
Ejercicio #1
FACTORIAL
Codificación:
package oeparcionesmatematicas;
public class FACTORIAL {
public void FACTORIAL() {
//construimos la estructura
}
int factorial;
public void ingresefactorial(int numero) {
factorial = 1;
while (numero != 0) {
factorial *= numero;
numero--;
}
}
public int resulatadofactorial() {
return factorial;
}
}
package oeparcionesmatematicas;
Ejercicio #1
FINOCACCI
Codificación:
public class FINOCACCI {
public void FINOCACCI(){
//contruir estructura fiboncacci
}
int var;
public void IngresarFinocacci(int numero){
int a,b;
a=0;
b=1;
var=1;
System.out.println(b);
for (int i=0;i<numero;i++)
{
System.out.println(var);
a=b;
b=var;
var=a+b;
}
}
public int RESULTADOFINOCACCI(){
return var;
}
}
Ejercicio #1
PRIMOS
Codificación:
package oeparcionesmatematicas;
import java.util.Scanner;
public class PRIMOS {
public void PRIMOS(){
}
int n;
Scanner sc = new Scanner(System.in);
int num, i, cont = 2;
public void IngresePRIMOS(int numero){
String cad = "";
num = sc.nextInt();
if (num > 2) {
cad = "2 - 3";
while (cont < num) {
i = 2;
while (i <= n) {
if (i == n) {
cad = cad + " - " + n;
cont = cont + 1;
} else {
if (n % i == 0) {
i = n;
}
}
i = i + 1;
}
n = n + 1;
}
System.out.println(cad);
} else {
if (num > 0) {
if (num == 1) {
System.out.println("es primo 2");
} else {
System.out.println("es primo 2, 3");
}
} else
System.out.println("ingresa numeros positivos");
}
}
public int resulatadoPRIMOS(){
return n;
}
}
Programación en java
Código de programación en JAVA
Programación estructurada
Ing.: Juan Chimarro
Santiana Morocho Ligia Lourdes
ligissantiana@gmail.com
0997355518
15-08-2018
Ejercicio #1
DECIMAL BINARIO
Codificación:
package oeparcionesmatematicas;
import java.util.Scanner;
public class DECIMALABINARIO {
public void DECIMALBINARIO() {
}
double binario;
public void ingreseDECIMALABINARIO(int numero) {
int exp, digito;
Scanner sc = new Scanner(System.in);
do {
System.out.print("Introduce un numero entero >= 0: ");
numero = sc.nextInt();
} while (numero < 0);
exp = 0;
binario = 0;
while (numero != 0) {
digito = numero % 2;
binario = binario + digito * Math.pow(10, exp);
exp++;
numero = numero / 2;
}
}
public double resuladoDECIMALABINARIO() {
return binario;
}
}
Ejercicio #1
FACTORIAL
Codificación:
package oeparcionesmatematicas;
public class FACTORIAL {
public void FACTORIAL() {
//construimos la estructura
}
int factorial;
public void ingresefactorial(int numero) {
factorial = 1;
while (numero != 0) {
factorial *= numero;
numero--;
}
}
public int resulatadofactorial() {
return factorial;
}
}
Ejercicio #1
FINOCACCI
Codificación:
public class FINOCACCI {
public void FINOCACCI(){
//contruir estructura fiboncacci
}
int var;
public void IngresarFinocacci(int numero){
int a,b;
a=0;
b=1;
var=1;
System.out.println(b);
for (int i=0;i<numero;i++)
{
System.out.println(var);
a=b;
b=var;
var=a+b;
}
}
public int RESULTADOFINOCACCI(){
return var;
}
}
Ejercicio #1
PRIMOS
Codificación:
package oeparcionesmatematicas;
import java.util.Scanner;
public class PRIMOS {
public void PRIMOS(){
}
int n;
Scanner sc = new Scanner(System.in);
int num, i, cont = 2;
public void IngresePRIMOS(int numero){
String cad = "";
num = sc.nextInt();
if (num > 2) {
cad = "2 - 3";
while (cont < num) {
i = 2;
while (i <= n) {
if (i == n) {
cad = cad + " - " + n;
cont = cont + 1;
} else {
if (n % i == 0) {
i = n;
}
}
i = i + 1;
}
n = n + 1;
}
System.out.println(cad);
} else {
if (num > 0) {
if (num == 1) {
System.out.println("es primo 2");
} else {
System.out.println("es primo 2, 3");
}
} else
System.out.println("ingresa numeros positivos");
}
}
public int resulatadoPRIMOS(){
return n;
}
}
VALIDACIÓN INGRESAR SOLO NÚMEROS
Programación Estructurada
Ing. Juan Chimarro
Santiana Morocho Ligia Lourdes
ligissantiana@gmail.com 0997355518
22/08/2018
TEMA: VALIDACIÓN INGRESAR SOLO NÚMEROS
Codificación:
package validacion;
import java.util.Scanner;
public class Validacion {
public static void main(String[]
args) { Scanner fab=new
Scanner(System.in); int ver = 0;
do{
try{
ver=0;
int x;
int r;
System.out.println(" Ingrece Cedula Identidad ");
x=fab.nextInt();
r=x;
System.out.println("C.I: "+r);
}catch(Exception e){System.out.println("Caracter No Valido"); ver=1;fab.nextLine();}
}while(0!=ver);
}
}
VALIDACIÓN DE PRECIO
Programación estructurada
Ing: Juan Chimarro
Santiana Morocho Ligia Lourdes
ligissantiana@gmail.com 0997355518
24/08/2018
TEMA:
CÓDIGO DE VALIDACIÓN DEL ATRIBUTO PRECIO DE LA CLASE LIBRO
System.out.println("ingrese nombre libro" + i +
":"); datoslibro.ingresartitulo(leer.next(), i);
System.out.println("ingrese autor libro" + i + ":");
datoslibro.ingresarautor(leer.next(), i);
boolean validarprecio = false;
do {
try {
System.out.println("ingrese precio" + i + ":");
validarpre= Float.parseFloat(leer.next());
validarprecio= true;
}
catch (NumberFormatException e) {
System.out.println("solo se permite numeros");
validarprecio= false;
}
} while (!validarprecio);
datoslibro.ingresarprecio(validarpre,i);
}
for (int i = 0; i < 3; i++) {
System.out.println("datos estudiante" + (i) + "son:");
System.out.println("nombre: " + datosalumno.leernombre(i));
System.out.println("ci " + datosalumno.leerId(i));
System.out.println("genero estudiante" + datosalumno.leergenero((i)));
System.out.println("nombre libro" + datoslibro.leertitulo(i));
System.out.println("autor libro" + datoslibro.leeautor(i));
System.out.println("precio libro" + datoslibro.precio(i));
}
}
}
PRUEBA DE PROGRAMACIÓN ESTRUCTURADA
Programación Estructurada
Ing. Juan Chimarro
Santiana Morocho Ligia Santiana
ligissantiana@gmail.com 0997355518
25-08-2018
TEMA # 1
CODIGO ESTUDIANTE:
package Prueba;
public class Estudiantes {
public Estudiantes(){
// creamos la estructura alumno
}
String [] Nombre=new String[100];
long [] Telefono=new long [100];
long [] cedula=new long [100];
public void IngresarNombre(String nom,int i){
Nombre[i]=nom;
}
public String LeerNombre(int i){
return Nombre[i];
}
public void IngresarCedula(long ci,int i){
cedula[i]=ci;
}
public long Leerid(int i){
return cedula[i];
}
public void IngresarTelefono(long Tel,int i){
Telefono[i]=Tel;
}
public long LeerTelefono(int i){
return Telefono[i];
}
}
TEMA # 2
CODIGO CALIFICACIONES:
package Prueba;
public class Calificaciones {
public Calificaciones(){
// creamos la estructura libro
}
float[] NotaDeberes=new float[100];
float[] NotaProyecto=new float[100];
float[] NotaExamenFinal=new float[100];
public void IngresarNotaDeberes(float Notd,int i){
NotaDeberes[i]=Notd;
}
public float LeerNotasDeberes(int i){
return NotaDeberes [i];
}
public void IngresarNotaProyecto(float Notp,int i){
NotaProyecto[i]=Notp;
}
public float LeerNotaProyecto(int i){
return NotaProyecto [i];
}
public void IngresarNotaExamenFinal(float Notef,int i){
NotaExamenFinal[i]=Notef;
}
public float LeerNotaExamenFinal(int i){
return NotaExamenFinal[i];
}
}
TEMA # 3
CODIGO DE ESTRUCTURA:
package Prueba;
import java.util.Scanner;
public class ProgramacionEstructurada {
String Nombre[]=new String[3];
int a[];
public static void main(String[] args) {
Estudiantes DatosEstudiantes=new Estudiantes();
Calificaciones DatosCalificaciones=new Calificaciones ();
Scanner leer=new Scanner(System.in);
long ValidarCed = 0;
float ValidarTel =0;
float ValidarNotd = 0;
float ValidarNotp = 0;
float ValidarNotef = 0;
for(int i=1; i<3; i++){
System.out.println("Ingrese Nombre estudiante "+i+";");
DatosEstudiantes.IngresarNombre(leer.next(),i);
boolean ValidarCedula=false;
do{
try{
System.out.println("Ingrese Cedula estudiante "+i+";");
ValidarCed=Long.parseLong(leer.next());
ValidarCedula=true;
}
catch(NumberFormatException e){
System.out.println("Solo se permite numeros ");
ValidarCedula=false;
}
}while(!ValidarCedula);
DatosEstudiantes.IngresarCedula(ValidarCed, i);
boolean ValidarTelefono=false;
do{
try{
System.out.println("Ingrese Telefono estudiante "+i+";");
ValidarTel=Long.parseLong(leer.next());
ValidarTelefono=true;
}
catch(NumberFormatException e){
System.out.println("Solo se permite numeros ");
ValidarTelefono=false;
}
}while(!ValidarTelefono);
DatosEstudiantes.IngresarTelefono((long) ValidarTel, i);
boolean ValidarNotaDeberes=false;
do{
try{
System.out.println("Ingrese Nota Deberes "+i+";");
ValidarNotd=Float.parseFloat(leer.next());
ValidarNotaDeberes=true;
}
catch(NumberFormatException e){
System.out.println("Solo se permite numeros ");
ValidarNotaDeberes=false;
}
}while(!ValidarNotaDeberes);
DatosCalificaciones.IngresarNotaDeberes(ValidarNotd, i);
boolean ValidarNotaProyecto=false;
do{
try{
System.out.println("Ingrese Nota Proyecto "+i+";");
ValidarNotp=Float.parseFloat(leer.next());
ValidarNotaProyecto=true;
}
catch(NumberFormatException e){
System.out.println("Solo se permite numeros ");
ValidarNotaProyecto=false;
}
}while(!ValidarNotaProyecto);
DatosCalificaciones.IngresarNotaProyecto(Valid
arNotp, i); boolean
ValidarNotaExamenFinal=false; do{
try{
System.out.println("Ingrese Nota Examen Final "+i+";");
ValidarNotef=Float.parseFloat(leer.next());
ValidarNotaExamenFinal=true;
}
catch(NumberFormatException e){
System.out.println("Solo se permite numeros ");
ValidarNotaExamenFinal=false;
}
}while(!ValidarNotaProyecto);
DatosCalificaciones.IngresarNotaExamenFinal(ValidarNotef, i);
}
for(int i=1; i<3; i++){
System.out.println("Datos Estudiantes "+i+" son: ");
System.out.println("Nombre: "+DatosEstudiantes.LeerNombre(i));
System.out.println("C.I: " +DatosEstudiantes.Leerid(i));
System.out.println("Telefono: " +DatosEstudiantes.LeerTelefono(i));
System.out.println("Promedio: "
+(DatosCalificaciones.LeerNotasDeberes(i)+DatosCalificaciones.LeerNotaProyecto(i)+Dato
sCalificaciones.Lee
rNotaExamenFinal(i))/3);
}
}
private static class NumberFormatExection {
public NumberFormatExection() {
}
}
}
TALLER DE LISTAS TAREA
Programación Estructurada
Ing. Juan Chimarro
Santiana Morocho Ligia Lourdes
ligissantiana@gmail.com 0997355518
Subtítulo 10-09-2018
EJEMPLO DE LISTA
System.out.println("Ejemplo de Lista");
//agregar al final
lista.agregarAlFinal(18);
lista.agregarAlFinal(20);
lista.agregarAlFinal(21);
//agregar al inicio
lista.agregarAlInicio(17);
lista.agregarAlInicio(1);
System.out.println("Lista");
lista.listar();
System.out.println("nInsrta despues del valor
23 un 4 "); lista.insertarPorReferencia(23, 4);
lista.listar();
System.out.println("nPocicion donde se encuentra el numero 20 ");
System.out.println(lista.buscar_posision_por_referencia(20));
System.out.println("nnInsrta antes del 20 un 33 ");
lista.insrtarPorPosicion(lista.buscar_posision_por_referencia(20),33);
lista.listar();
System.out.println("nElimina la lista");
lista.eliminar();
System.out.println("nConsulta si la lista está vacia");
System.out.println(lista.esVacia());
//agregar al final
lista.agregarAlFinal(3);
lista.agregarAlFinal(4);
lista.agregarAlFinal(22);
//agregar al inicio
lista.agregarAlInicio(4);
lista.agregarAlInicio(1);
System.out.println("Lista");
lista.listar();
System.out.println("nConsulta cuantos 4 hay");
System.out.println(lista.buscar_cuantos_numero_hay(4));
System.out.println("n<<-- Suma de los valores en la
posicion 1 y 3");
System.out.println(lista.getValor(1)+lista.getValor(3));
}
}
package listasimples;
public class lista {
private static int leigth;
2. Puntero que indica el inicio de la lista o conocida tambien
3. como cabeza de la lista.
private nodo inicio;
2. Variable para registrar el tamaño
de la lista. private int tamanio;
//variable para contar segun la
referencia private int contador;
//variable para buscar
numeros private int cont;
/**
Constructor por defecto.
*/
public void Lista(){
inicio = null;
tamanio = 0;
contador=0;
cont=0;
}
/**
3.Consulta si la lista esta vacia.
4.@return true si el primer nodo (inicio), no apunta
a otro nodo. */
public boolean esVacia(){
return inicio == null;
}
/**
4.Consulta cuantos elementos (nodos) tiene la lista.
5.@return numero entero entre [0,n] donde n es el numero de elementos
6.que contenga la lista.
*/
public int getTamanio(){
return tamanio;
}
/**
*Agrega un nuevo nodo al final de la lista.
*@param valor a agregar.
*/
public void agregarAlFinal(int valor){
* Define un nuevo nodo.
nodo nuevo = new nodo();
*Agrega al valor al
nodo.
nuevo.setValor(valor
);
*Consulta si la lista esta
vacia. if (esVacia()) {
Inicializa la lista agregando como inicio al
nuevo nodo. inicio = nuevo;
*Caso contrario recorre la lista hasta llegar al
ultimo nodo //y agrega el nuevo.
} else{
Crea ua copia de la lista.
nodo aux = inicio;
*Recorre la lista hasta llegar al
ultimo nodo.
while(aux.getSiguiente() != null){
aux = aux.getSiguiente();
}
*Agrega el nuevo nodo al final de
la lista. aux.setSiguiente(nuevo);
}
*Incrementa el contador de tamaño
de la lista tamanio++;
}
/**
1.Agrega un nuevo nodo al inicio de la lista.
2.@param valor a agregar.
*/
public void agregarAlInicio(int valor){
1.Define un nuevo nodo.
nodo nuevo = new nodo();
2. Agrega al
valor al nodo.
nuevo.setValor(valor
);
3. Consulta si la
lista esta vacia. if
(esVacia()) {
Inicializa la lista agregando como inicio al
nuevo nodo. inicio = nuevo;
4. Caso contrario va agregando los nodos al
inicio de la lista. } else{
Une el nuevo nodo con la lista
existente.
nuevo.setSiguiente(inicio);
Renombra al nuevo nodo como el inicio de la lista.
inicio = nuevo;
}
1. Incrementa el contador de
tamaño de la lista. tamanio++;
}
/**
1.Inserta un nuevo nodo despues de otro, ubicado por el valor que contiene.
2.@param referencia valor del nodo anterios al nuevo nodo a insertar.
3.@param valor del nodo a insertar.
*/
public void insertarPorReferencia(int referencia, int valor){
34. Define un nuevo
nodo. nodo nuevo = new
nodo();
35. Agrega al
valor al nodo.
nuevo.setValor(valor
);
36. Verifica si la lista
contiene elementos if
(!esVacia()) {
Consulta si el valor existe en
la lista. if (buscar(referencia)) {
Crea ua copia de la lista.
nodo aux = inicio;
35. Recorre la lista hasta llegar al nodo de
referencia. while (aux.getValor() !=
referencia) {
aux = aux.getSiguiente();
}
36. Crea un respaldo de la continuación
de la lista. nodo siguiente =
aux.getSiguiente();
37. Enlaza el nuevo nodo despues del nodo de
referencia. aux.setSiguiente(nuevo);
38. Une la continuacion de la lista al
nuevo nodo.
nuevo.setSiguiente(siguiente);
39. Incrementa el contador de tamaño
de la lista. tamanio++;
}
}
}
/**
1.Inserta un nuevo nodo despues en una posición determinada.
2.@param posicion en la cual se va a insertar el nuevo nodo.
3.@param valor valor del nuevo nodo de la lista.
*/
public void insrtarPorPosicion(int posicion, int valor){
1. Verifica si la posición ingresada se encuentre en el rango
2. >= 0 y <= que el numero de
elementos del la lista. if(posicion>=0 &&
posicion<=tamanio){
nodo nuevo = new nodo();
nuevo.setValor(valor);
Consulta si el nuevo nodo a ingresar va al inicio
de la lista. if(posicion == 0){
Inserta el nuevo nodo al inicio de
la lista. nuevo.setSiguiente(inicio);
inicio = nuevo;
}
else{
a) Si el nodo a inserta va al final
de la lista. if(posicion ==
tamanio){
nodo aux = inicio;
Recorre la lista hasta llegar al
ultimo nodo.
while(aux.getSiguiente() != null){
aux = aux.getSiguiente();
}
Inserta el nuevo nodo despues de del ultimo.
aux.setSiguiente(nuevo);
}
else{
á Si el nodo a insertar va en el medio de
la lista. nodo aux = inicio;
á Recorre la lista hasta llegar al nodo anterior
á a la posicion en la cual se insertara el
nuevo nodo. for (int i = 0; i < (posicion-1);
i++) {
aux = aux.getSiguiente();
}
á Guarda el nodo siguiente al nodo en la posición
á en la cual va a insertar el nevo nodo.
nodo siguiente = aux.getSiguiente();
//Inserta el nuevo nodo en la posición
indicada. aux.setSiguiente(nuevo);
//Une el nuevo nodo con el resto de
la lista.
nuevo.setSiguiente(siguiente);
}
}
//Incrementa el contador de tamaño de
la lista. tamanio++;
}
}
/**
* Obtiene el valor de un nodo en una determinada posición.
*@param posicion del nodo que se desea obtener su valor.
*@return un numero entero entre [0,n-1] n = numero de nodos de la lista.
*@throws Exception
*/
public int getValor(int posicion) throws Exception{
//Verifica si la posición ingresada se encuentre en el rango
//>= 0 y < que el numero de elementos
del la lista. if(posicion>=0 &&
posicion<tamanio){
//Consulta si la posicion es el inicio de la lista.
if (posicion == 0) {
//Retorna el valor del inicio de
la lista. return inicio.getValor();
}else{
//Crea una copia de la
lista. nodo aux =
inicio;
//Recorre la lista hasta la posición
ingresada. for (int i = 0; i < posicion;
i++) {
aux = aux.getSiguiente();
}
//Retorna el valor del nodo.
return aux.getValor();
}
//Crea una excepción de Posicion inexistente
en la lista. } else {
throw new Exception("Posicion inexistente en la lista.");
}
}
/**
*Busca si existe un valor en la lista.
*@param referencia valor a buscar.
*@return true si existe el valor en
la lista. */
public boolean buscar(int referencia){
// Crea una copia de la lista.
nodo aux = inicio;
//Bandera para indicar si el valor
existe. boolean encontrado =
false;
//Recorre la lista hasta encontrar el elemento o hasta
//llegar al final de la lista.
while(aux != null && encontrado != true){
//Consulta si el valor del nodo es igual al de
referencia. if (referencia == aux.getValor()){
//Canbia el valor de la bandera.
encontrado = true;
}
else{
//Avansa al siguiente.
nodo. aux =
aux.getSiguiente();
}
}
//Retorna el resultado de la
bandera. return encontrado;
//variable para contar segun la referencia
}
public int buscar_posision_por_referencia(int referencia){
//Crea una copia de la
lista. nodo aux =
inicio;
//Bandera para indicar si el valor
existe. boolean encontrado =
false; contador=0;
//Recorre la lista hasta encontrar el elemento o hasta
//llegar al final de la lista.
while(aux != null && encontrado != true){
//Consulta si el valor del nodo es igual al de
referencia. if (referencia == aux.getValor()){
//Canbia el valor de la bandera.
encontrado = true;
}
else{
//Avansa al siguiente.
nodo. aux =
aux.getSiguiente();
contador++;
}
}
//Retorna el resultado de la
bandera. return contador;
}
public int buscar_cuantos_numero_hay(int referencia){
//Crea una copia de la
lista. nodo aux =
inicio;
//Bandera para indicar si el valor
existe. boolean encontrado =
false;
cont=1;
//Recorre la lista hasta encontrar el elemento o hasta
//llegar al final de la lista.
while(aux != null && encontrado != true){
//Consulta si el valor del nodo es igual al de
referencia. if (referencia == aux.getValor()){
//Canbia el valor de la bandera.
encontrado = true;
}
else{
//Avansa al siguiente.
nodo. aux =
aux.getSiguiente();
cont++;
}
}
//Retorna el resultado de la
bandera. return cont;
}
/**
*Consulta la posición de un elemento en la lista
* @param referencia valor del nodo el cual se desea saber la posición.
*@return un valor entero entre [0,n] que indica la posición del nodo.
*@throws Exception
*/
public int getPosicion(int referencia) throws Exception{
//Consulta si el valor existe en
la lista. if (buscar(referencia)) {
//Crea una copia de la lista.
nodo aux = inicio;
//COntado para almacenar la posición
del nodo. int cont = 0;
//Recoore la lista hasta llegar al nodo de
referencia. while(referencia !=
aux.getValor()){
//Incrementa el
contador. cont ++;
//Avansa al siguiente.
nodo. aux =
aux.getSiguiente();
}
//Retorna el valor del
contador. return cont;
//Crea una excepción de Valor inexistente
en la lista. } else {
throw new Exception("Valor inexistente en la lista.");
}
}
/**
*Actualiza el valor de un nodo que se encuentre en la lista ubicado
*por un valor de referencia.
*@param referencia valor del nodo el cual se desea actualizar.
*@param valor nuevo valor para el nodo.
*/
public void editarPorReferencia(int referencia,
int valor){ // Consulta si el valor existe en la
lista.
if (buscar(referencia)) {
//Crea ua copia de la
lista. nodo aux =
inicio;
//Recorre la lista hasta llegar al nodo de
referencia. while(aux.getValor() !=
referencia){
aux = aux.getSiguiente();
}
//Actualizamos el valor del
nodo aux.setValor(valor);
}
}
/**
* Actualiza el valor de un nodo que se encuentre en la lista ubicado
*por su posición.
*@param posicion en la cual se encuentra el nodo a actualizar.
*@param valor nuevo valor para el nodo.
*/
public void editarPorPosicion(int posicion , int valor){
//Verifica si la posición ingresada se encuentre en el rango
//>= 0 y < que el numero de elementos
del la lista. if(posicion>=0 &&
posicion<tamanio){
//Consulta si el nodo a eliminar es el
primero. if(posicion == 0){
//Alctualiza el valor delprimer
nodo. inicio.setValor(valor);
}
else{
//En caso que el nodo a eliminar este por el medio
//o sea el ultimo
nodo aux = inicio;
//Recorre la lista hasta lleger al nodo anterior al
eliminar. for (int i = 0; i < posicion; i++) {
aux = aux.getSiguiente();
}
//Alctualiza el valor del
nodo.
aux.setValor(valor);
}
}
}
/**
*Elimina un nodo que se encuentre en la lista ubicado
*por un valor de referencia.
*@param referencia valor del nodo que se
desea eliminar. */
public void removerPorReferencia(int referencia){
//Consulta si el valor de referencia existe
en la lista. if (buscar(referencia)) {
//Consulta si el nodo a eliminar es el pirmero
if (inicio.getValor() == referencia) {
// El primer nodo apunta al siguiente.
inicio = inicio.getSiguiente();
} else{
//Crea ua copia de la lista.
nodo aux = inicio;
//Recorre la lista hasta llegar al nodo anterior
//al de referencia.
while(aux.getSiguiente().getValor() != referencia){
aux = aux.getSiguiente();
}
//Guarda el nodo siguiente del nodo a
eliminar. nodo siguiente =
aux.getSiguiente().getSiguiente();
//Enlaza el nodo anterior al de eliminar con el
// sguiente despues de el.
aux.setSiguiente(siguiente);
}
//Disminuye el contador de tamaño de
la lista. tamanio--;
}
}
/**
*Elimina un nodo que se encuentre en la lista ubicado
*por su posición.
*@param posicion en la cual se encuentra el nodo
a eliminar. */
public void removerPorPosicion(int posicion){
//Verifica si la posición ingresada se encuentre en el rango
//>= 0 y < que el numero de elementos
del la lista. if(posicion>=0 &&
posicion<tamanio){
//Consulta si el nodo a eliminar es el
primero if(posicion == 0){
//Elimina el primer nodo apuntando al
siguinte. inicio = inicio.getSiguiente();
}
//En caso que el nodo a eliminar este por el medio
//o sea el ultimo
else{
//Crea una copia de la
lista. nodo aux =
inicio;
//Recorre la lista hasta lleger al nodo anterior al
eliminar. for (int i = 0; i < posicion-1; i++) {
aux = aux.getSiguiente();
}
//Guarda el nodo siguiente al nodo a eliminar.
nodo siguiente = aux.getSiguiente();
//Elimina la referencia del nodo apuntando al nodo
siguiente.
aux.setSiguiente(siguiente.getSiguiente());
}
//Disminuye el contador de tamaño de
la lista. tamanio--;
}
}
/**
*Elimina la
lista */
public void eliminar(){
//Elimina el valor y la referencia a los
demas nodos. inicio = null;
//Reinicia el contador de tamaño de la
lista a 0. tamanio = 0;
}
/**
*Mustra en pantalla los elementos de
la lista. */
public void listar(){
//Verifica si la lista contiene
elementoa. if (!esVacia()) {
//Crea una copia de la
lista. nodo aux =
inicio;
//Posicion de los elementos de
la lista. int i = 0;
//Recorre la lista hasta el
final. while(aux != null){
//Imprime en pantalla el valor del nodo.
System.out.print(i + ".[ " + aux.getValor() + " ]"
+ " -> ");
//Avanza al siguiente nodo.
aux = aux.getSiguiente();
//Incrementa el contador de la
posión. i++;
}
}
}
}
Instituto Tecnológico Superior
“Nelson Torres”
1
ÍNDICE DE CONTENIDO
Contenido
2
1 PROYECTO INTEGRADOR
1.1.-Nombre del proyecto
“Diseño de un sistema antirrobo e implementación de un dispositivo para controlar los grados
de alcohol del conductor de un vehículo mediante la programación de una placa arduino para
beneficio de la comunidad educativa del INT en el año 2018”.
1.2.- Tema del proyecto Micro
“Diseño de un sistema antirrobo e implementación de un dispositivo para controlar los grados
de alcohol del conductor de un vehículo mediante la programación de una placa arduino para
beneficio de la comunidad educativa del INT en el año 2018”
1.3 Asignaturas integradoras
1.4.-Asignatura Rectora
Programación estructurada
Es la materia rectora ya que la programación de la placa arduino se comunicara con java a
través de una interfaz grafica.
1.4.-Nombre de los docentes tutores
Ing. Juan Chimarro
Tlgo. Martín Luzon
1.5.-Nombres de los estudiantes
CHANCOSI GARCIA CARLOS HUMBERTO CC: 1725224644
CRIOLLO ACERO CLAUDIO SANTIAGO CC: 1724295280
Asignatura Código
- Programación Estructurada _____
- Arquitectura del Computador ______
- Matemática Aplicada ______
- Análisis de sistemas ______
- Contabilidad Computarizada ______
- Inglés III ______
-
-
-
-
-
-
-
-
3
GUZMAN QUISHPE VERONICA GABRIELAZ CC: 1714502166
MONTEROS MARMOL DIEGO ISRAEL CC: 1722593140
SANTIANA MOROCHO LIGIA LOURDES CC: 17 18240870
ULCUANGO ULCUANGO JHONATAN PAUL CC: 1727926014
FARINANGO PILCA JOSÉ PEDRO CC: 1728060995
1.6.-Localización geográfica del proyecto
2 DIANÓSTICO SITUACIONAL
Brevemente viendo la situación actual del número de delincuencia y los altos índices de
accidentes a causa del consumo excesivo de alcohol que atraviesa nuestra ciudad de
Cayambe, y principalmente en los últimos años el robo de vehículos. Razón por la cual con el
fin de erradicar este problema se ha propuesto el diseño de un sistema de alarma antirrobo e
implementación de un dispositivo de control de alcohol que ayuda a prevenir accidentes para
vehículos de la comunidad Educativa del INT.
2.1 FORMULACION DEL PROBLEMA
En la ciudad de Cayambe, actualmente viene atravesando por un alto índice de delincuencia y
además el exceso de accidentes de tránsito debido al consumo masivo de alcohol, nosotros
como estudiantes del Instituto Tecnológico Superior “Nelson I. Torres” hemos planteado la
necesidad de diseñar un sistema de alarma antirrobo e implementación de un dispositivo para
controlar los grados de alcohol del conductor de un vehículo mediante la programación de
una placa arduino para beneficio de la comunidad educativa del INT en el año 2018,
garantizando la seguridad a los vehículos y ayudando a disminuir los accidentes de tránsito ya
que por medio de este sistema el propietario del vehículo ya que en caso de ser atacado será
alertado mediante un mensaje directo hacia su teléfono celular y en caso de que el conductor
se encuentre en estado etílico este sistema no le permitirá encender el vehículo. Para que el
mismo inmediatamente pueda alertar a las autoridades correspondientes.
Falta de vigilancia de los vehículos.
Perdida de accesorios a vehículos.
Sistemas de seguridad para prevenir los robos de vehículos.
Accidentes por consumo de alcohol
Provincia : Pichincha
Cantón : Cayambe
Parroquia : (Ayora)
Comunidad / sector : (Cayambe)
Institución / Organización : (Instituto Nelson Torres)
4
3.-JUSTIFICACIÓN
El presente proyecto es de suma importancia ya que proporciona seguridad a la comunidad.
La necesidad de crear el presente dispositivo de alarma antirrobo para vehículos se encuentra
fundamentada en tratar de evitar el robo de vehículos, a la vez dificultar a los delincuentes
cometer este delito se busca que la persona se sienta segura al momento de dejar su vehículo
en cualquier sitio de parqueo ya sea en nuestra propia casa, o en la calle conlleva a no saber si
al regresar lo encontraremos donde lo estacionamos en las condiciones en las que lo dejamos
con esto dispositivo podremos disminuir el riesgo de robos a los vehículos u otro tipo de
inconvenientes. Ya que este sistema nos pondrá alerta sobre este tipo de situaciones y de esa
manera pondremos al tanto a las autoridades correspondientes o simplemente
determinaremos si la situación es de gravedad o no.
En vista de los accidente que se han ido suscitando en nuestra ciudad a causa del efecto del
alcohol y pensando en el bienestar de los conductores hemos decidido implementar un
detector que permite medir los grados de alcohol que se ha ingerido, este dispositivo nos
ayudará a disminuir y evitar lamentables accidentes de tránsito a causa del excesivo consumo
de alcohol.
Este dispositivo funciona en caso de que el conductor se encuentre en estado etílico y
sobrepase el rango establecido de 0.65° de alcohol el detector hará que el vehículo se apague
o quede bloqueado. Haciendo llegar un mensaje de texto de “exceso de alcohol” como señal
de alerta, y para desbloquear se enviara un mensaje de texto con la palabra “desbloquear”
para poder encender el vehículo.
4.-OBJETIVOS
4.1.- Objetivo General
 Diseñar un sistema antirrobo de vehículos e implementación de un detector de alcohol para el
personal docente, administrativo y estudiantes del INT en el periodo 2018.
4.2.- Objetivos Específicos
 Realizar un estudio o análisis mediante la recopilación de datos que involucre a un buen
desarrollo del proyecto.
 Determinar la creación técnica de un sistema para disminuir el robo de vehículos y accidentes
de transito
5
 Realizar un análisis de sostenibilidad y retorno de inversión el cual se espera evidencia la
rentabilidad del proyecto con una cotización de gastos en la implementación de un sistema
antirrobo.
5.- MARCO TEÓRICO
6.1 ENCUESTA
Es un procedimiento dentro de los diseños de una investigación descriptiva en el que el
investigador recopila datos por medio de un cuestionario previamente diseñado, sin modificar
el entorno ni el fenómeno donde se recoge la información ya sea para entregarlo en forma de
tríptico, gráfica o tabla. Los datos se obtienen realizando un conjunto de preguntas
normalizadas dirigidas a una muestra representativa o al conjunto total de la población
estadística en estudio, integrada a menudo por personas, empresas o entes institucionales,
con el fin de conocer estados de opinión, ideas, características o hechos específicos.
6.2 ARDUINO NANO
El Arduino Nano es un tablero pequeño, completo y amigable con el tablero basado en el
ATmega328 (Arduino Nano 3.x). Tiene más o menos la misma funcionalidad del Arduino
Duemilanove, pero en un paquete diferente. Carece solo de una toma de alimentación de CC,
y funciona con un cable USB Mini-B en lugar de uno estándar.
6.2.1 MODULO SIM
Este módulo es un desglose y sistema mínimo del módulo SIM900 GSM/GPRS de Cuatro
bandas. Se comunica con controladores mediante comandos AT (GSM 07.07 ,07.05 and
SIMCOM enhanced AT Commands) y soporta encendido y reinicio por software. Incluye la
antena GSM.
Características
Quad-Band 850/ 900/ 1800/ 1900 MHz
GPRS multi-slot class 10/8GPRS mobile station class B
Compliant to GSM phase 2/2+Class 4 (2 W @850/ 900 MHz)
Class 1 (1 W @ 1800/1900MHz)
6
Control mediante comandos AT (GSM 07.07 ,07.05 and SIMCOM enhanced AT Commands)
Bajo consumo de potencia: 1.5mA(modo dormido)
Temperatura de operación: -40°C to +85 °C
Tamaño de placa: 6.4 x 5.1 x 1.2cm
Nivel de voltaje de operación: Digital 5V
Voltaje de alimentación externa: 5VDC, 2ª
6.2.2 SENSOR MAGNETICO
El Sensor magnético para ventanas y puertas consta de un imán y un reedswitch (interruptor
magnético). Este sensor funciona como un switch normalmente abierto (mientras hay campo
magnético). Cuando la puerta o ventana se abre, el circuito eléctrico también se cierra y es
posible detectar la apertura de la misma. El sensor viene completamente sellado en plástico lo
que lo hace extremadamente resistente.
La conexión con otros sistemas se realiza mediante cables que vienen previamente instalados
en el sensor y que habrá que unir con un cable más largo. El montaje en la puerta o ventana
puede realizarse mediante cinta autoadherible que viene incluida o bien mediante tornillos si
desea una mejor fijación.
Características del Sensor magnético para ventanas y puertas
Sensor magnético para ventanas y puertas
Contacto normalmente abierto, se cierra al detectar
Auto adherible, no hay necesidad de taladrar
Ideal para maquetas de alarmas y sistemas de seguridad
Ideal en algunas aplicaciones de domótica
Su funcionamiento es confiable incluso en ambientes poco hostiles
7
6.2. 3PLACA PROTOBOARD
Una placa de pruebas (en inglés: protoboard o breadboard) es un tablero con orificios que se
encuentran conectados eléctricamente entre sí de manera interna, habitualmente siguiendo
patrones de líneas, en el cual se pueden insertar componentes electrónicos y cables para el
armado y prototipado de circuitos electrónicos y sistemas similares. Está hecho de dos
materiales, un aislante, generalmente un plástico, y un conductor que conecta los diversos
orificios entre sí. Uno de sus usos principales es la creación y comprobación de prototipos de
circuitos electrónicos antes de llegar a la impresión mecánica del circuito en sistemas de
producción comercial.
6.2.4 CABLE PUENTE
Un cable puente para prototipos (o simplemente puente para prototipos), es un cable con un
conector en cada punta (o a veces sin ellos), que se usa normalmente para interconectar entre
sí los componentes en una placa de pruebas. P.E.: se utilizan de forma general para transferir
señales eléctricas de cualquier parte de la placa de prototipos a los pines de entrada/salida de
un microcontrolador.
Los cables puente se fijan mediante la inserción de sus extremos en los agujeros previstos a
tal efecto en las ranuras de la placa de pruebas, la cual debajo de su superficie tiene unas
planchas interiores paralelas que conectan las ranuras en grupos de filas o columnas según la
zona. Los conectores se insertan en la placa de prototipos, sin necesidad de soldar, en los
agujeros que convengan para el conexionado del diseño.
8
6.2.5 RESISTENCIA
Se dice que un cuerpo es conductor cuando este puesto en contacto con un cuerpo cargado
de electricidad transmite ésta a todos los puntos de su superficie. Elemento generalmente
metálico, capaz de conducir la electricidad cuando es sometido a una diferencia de potencial
eléctrico. Para que ello sea efectuado eficientemente, se requiere que posea una baja
resistencia para evitar pérdidas desmedidas por Efecto Joule y caída de tensión.
6.2.6. Sensor De Alcohol MAQ3
Es un sensor de Alcohol. Este nos puede entregar un valor analógico o digital regulable con un
potenciómetro que se encuentra en la placa. Con este podemos armar fácilmente un
alcoholímetro casero.
6.2.7. Relé 12 V. BOSH
Sirve como un protector de corriente que se activa por medio de una bobina magnética que a
su vez es energizada por cierto voltaje de corriente por ejemplo por la batería de un auto.
Este relevador protege algunos circuitos o interruptores de cargas de alto consumo de
corriente como los faros, moto ventilador.
6.2.8. Socket
Un socket se define como el punto final en una conexión. Los sockets se crean y se utilizan con
un sistema de peticiones o de llamadas de función a veces llamados interfaz de programación
de aplicación de sockets (API, application programming interface).
9
6.2.8. Cable parlante
Sirve para realizar conexiones eléctricas entre altavoces y amplificadores de audio. El cable
para bocinas moderno consta de dos o más conductores eléctricos aislados individualmente
por plástico (tal como PVC, PE o teflón) o, menos comúnmente, caucho.
6.2.9. Diodos 5399
Un diodo es un componente electrónico de dos terminales que
permite la circulación de la corriente eléctrica a través de él en un solo sentido,1 bloqueándo
el paso si la corriente circula en sentido contrario. Esto hace que el diodo tenga dos posibles
posiciones: una a favor de la corriente (polarización directa) y otra en contra de la corriente
(polarización inversa).
6.2.9. Reguladores de Voltaje
Es un equipo eléctrico que acepta una tensión variable a la entrada, dentro de un parámetro
pre terminado el cual mantiene una salida de tensión constante (regulada).
Su función principalmente es para suministrar una tensión fija, estos reguladores pueden ser
utilizados con componentes externos para obtener voltajes y corrientes ajustables. Una
característica de estos dispositivo es que dispone de protección térmica y limitación de
corriente por si se producen cortocircuitos, esto hace que si en algún momento nos
sobrepasamos en sus características el regulador de tensión queda protegido.
7805 PARA REGULAR A 5 VO
Es un regulador de voltaje lineal que aguanta una corriente máxima de 35v y puede trabajar
hasta 15°.
7812 Para Regular a 12 V.
Es un regulador de voltaje de tres terminales, salida de 12V y hasta 1A
10
6.2.10. Borneras
Un borne es cada una de las partes metálicas de una máquina o dispositivo eléctrico donde se
produce la conexión con el circuito eléctrico exterior al mismo.
Led 3 mm
Un LED es un componente en el que el voltaje que cae depende de la intensidad, de la
corriente que circula por él, siempre que esta corriente circule en el sentido correcto (si
circula en el sentido contrario se funde el LED).
Antena GSM (900/1800), conector SMA, incluye un cable de interfaz (SMA a U.FL)
a un tipo de conector roscado para cable coaxial utilizado en microondas, útil hasta una
frecuencia de 33 GHz, si bien suele dejar de utilizarse a partir de los 18 GHz, existen tipos
diseñados para 26,5 GHz.
Conector DC Macho Atornillado
Es un conector eléctrico para suministrar corriente continua (CC).
Las dimensiones y la disposición de los conectores de CC se pueden elegir para evitar la
interconexión accidental de fuentes y cargas incompatibles.
Adaptador AC/DC
11
Es un tipo de alimentación externa, a menudo encerrada en lo que aparenta ser una clavija de
corriente de gran tamaño. Otras denominaciones que se emplean son la de paquete de
enchufe, adaptador de enchufe, bloque adaptador, adaptador de red eléctrica doméstica,
adaptador de línea en línea o adaptador de corriente.
12
6.-MARCO LEGAL
Según Art. 1 HURTO DE VEHÍCULOS AUTOMOTORES.
El que se apodere de un vehículo automotor perteneciente a otra persona natural o jurídica
con el propósito de obtener provecho para así o para otro, sin el consentimiento de su dueño
será penado con prisión de ocho a cuatro años.
Según Art. 2 CIRCUNSTANCIAS AGRAVANTES
La pena al poner para el hurto de vehículo promotor será de seis a diez años de prisión si el
hecho punible se confiere.
1.- sobre vehículos destinados al transporte público colectivo o de carga.
2.- valiéndose de la actividad realizada por menores de edad
3.- sobre vehículos expuestos a la confianza pública por necesidad
4.- de noche o habiendo penetrado en cualquier lugar habitado o dependencia propiedad de
otro.
5.- por dos o más personas que se hubieran unido para realizar.
Art. 3. DESVALIJAMIENTO DE VEHÍCULOS AUTOMOTORES
Quienes substraigan partes o piezas de un vehículo automotor perteneciente a otra persona
sin apoderarse del mismo, con el propósito de obtener provecho para sí o para otro, serán
sancionados con pena de cuatro a ocho años.
Igual pena se impondrá a quien detente, esconda o comercialice las partes o piezas sustraídas
aun cuando no haya tomado parte en el delito.
ART.376 MUERTE POR CONDUCIR EBRIO
10 a 12 años de cárcel es la pena para el conductor que se encuentre en estado de
embriaguez o bajo los efectos de sustancias estupefacientes y mate a una o más personas.
Parte de la sensación será la revocatoria definitiva de la licencia.
Si se trata de un chofer de transporte público, además del castigo penal, el propietario del
vehículo y la operadora serán solidariamente responsables por los daños civiles.
En la vigente Ley de transporte terrestre, Transito y Seguridad Vial la sanción por este delito
es la misma.
ART.385 MANEJAR EN ESTADO ETÍLICO
En el código penal se incluyeron tres escalas para juzgar a los conductores ebrios:
Si al nivel de alcohol en la sangre es de 0.3 a 0.8 grados hay una multa económica de un
salario básico, perdida de 5 puntos a la licencia y 5 días de prisión.
Si el nivel es mayor de 0.8 hasta 1.2 grados la sanción es de dos salarios básicos, 10 puntos a la
licencia y 15 días de cárcel. Si en el test de alcoholemia el conductor supera ls 1.2 grados a
equivalente a tomar más de 24 cervezas son tres salarios básicos de multa, suspensión de 60
días a la licencia y 30 día en prisión.
7.- METODOLOGÍA
7.1.- Tipos de Investigación
Investigación exploratoria
El presente proyecto se centra en ayudar a un mejor funcionamiento vehicular
13
7.2.- Métodos de Investigación
Método Deductivo- Inductivo
Prevenir el robo de los accesorios con la implementación de una placa de comunicación
Arduino Nano.
7.3.- Técnicas de Investigación
La encuesta
Según la encuesta realizada en el Instituto Tecnológico Superior ”Nelson Torres” tenemos la
aceptación del 75% ante una negación del 25%
8.- POBLACIÓN Y MUESTRA
POBLACION FINITA
El Cantón Cayambe tiene una población de 92.242 habitantes, urbana de 45.137 habitantes y
la rural 53.105
8.1 Cálculo del tamaño de la muestra
Desarrollo:
n =
(z)2
∗ 𝑝 ∗ 𝑞
Σ2
n =
N ∗ (z)2
∗ 𝑝 ∗ 𝑞
Σ2(N − 1) + (z)2 ∗ 𝑝 ∗ 𝑞
Población Infinita Población Finita
Simbología:
N = Tamaño de la población
n = Tamaño de la muestra
p = Probabilidad de aceptación - 0,50
q = Probabilidad de No Aceptación - 0,50
z= Nivel de Confianza - 1,96
Σ = Error muestral - 0,05
Comentario [H1]: Seleccione la
fórmula que se adapte al proyecto
calcule el tamaño de su muestra
14
Simbología:
N = Tamaño de la población
n = Tamaño de la muestra
p = Probabilidad de aceptación - 0,50
q = Probabilidad de No Aceptación - 0,50
z= Nivel de Confianza - 1,96
Σ = Error muestral - 0,05
Población Finita
𝐧 =
𝐍 ∗ (𝐳) 𝟐
∗ 𝒑 ∗ 𝒒
𝚺 𝟐(𝐍 − 𝟏) + (𝐳) 𝟐 ∗ 𝒑 ∗ 𝒒
𝐧 =
𝟑𝟎 ∗ (𝟏. 𝟗𝟔) 𝟐
∗ (𝟎. 𝟓𝟎) ∗ (𝟎. 𝟓𝟎)
(𝟎. 𝟎𝟓) 𝟐(𝟑𝟎 − 𝟏) + (𝟏. 𝟗𝟔) 𝟐 ∗ (𝟎. 𝟓𝟎) ∗ (𝟎. 𝟓𝟎)
𝐧 =
𝟐𝟖. 𝟖𝟏𝟐
𝟏. 𝟎𝟑𝟐𝟗
𝐧 = 𝟐𝟕. 𝟖𝟗𝟒
9.-Desarrollo o propuesta
Este proyecto está diseñado para las personas que tienen vehículos de manera que se les
ayude a cuidar su vehículo y también está dirigido a evitar accidentes de tránsito ya que
posee un alcoholímetro q de manera que se detecte un exceso de alcohol el conductor no
podrá encender el vehículo y asi se evitaran futuros accidentes.
15
10.- CRONOGRAMA DE ACTIVIDADES (en Project)
Fuente:
INT
ACTIVIDADES semana 1 semana 2 semana 3 semana 4 semana 1 semana 2 semana 3 semana 4
N°
Actividades
Administrativas L M M J V L M M J V L M M J V L M M J V L M M J V L M M J V L M M J V L M M J V
1 Idea del Tema X X
2
Planteamiento del
problema X X
3 Tema X X X
4 Objetivos X X
N° ACTIVIDADES OPERATIVAS L M M J V L M M J V L M M J V L M M J V L M M J V L M M J V L M M J V L M M J V
1
Asesoramiento
profesional X X
2 Asesoramiento Técnico X X X X X
3 Primer Borrador X X
4 Presentación de proyecto X X
16
11.- BENEFICIARIOS
12.- RECURSOS
13.- COSTOS DE LA ELABORACIÓN DEL PRODUCTO O SERVICIO
Tabla No. Costos
Detalle CANTIDAD
UNIDAD DE
MEDIDA
VALOR
UNIT
VALOR
TOTAL
Placa arduino 1 $ 48,00 48,00
Directos: Personal docente, administrativo y estudiantil del INT.
Indirectos: La población en general.
- Recursos Humanos.-
Ing.Juan Chimarro (Tutor)
- Recursos Materiales.-
- Vehículo
Placa arduino NANO
Protoboart
Módulo GSM
Fines de carrera
Módulo DS-DS
Cables de arduino
Programación y ensamblaje
Detector de alcohol
3 Sensores magnéticos
8 Mts de cable audio
4 Reguladores de voltaje
1 Chip claro móvil
Tarjeta GSM
3 Resistencias de 220 OHM
1 Resistencias de 1k OHM
4 Led
1 Bornera
1 Ac Dc (hembra)
1 Ac Dc (macho)
- Recursos tecnológicos.-
- Sistema de programación Arduino
- Un Computador
- Medidor de voltaje
- Auto
17
Módulo GSM 1 $ 48,00 48,00
Sensores magnéticos 3 $ 5,50 16,50
Módulo DS-DS 1 $ 8,50 8,50
Sensor de alcohol MQ-3 1 $ 15,00 15,00
Rele automotriz 12V 1 $ 10,00 10,00
Disparador Mosfet IRFZ44 1 $ 5,00 5,00
Resistencia 1 k 1 $ 0,05 0,05
Borneras de 2 3 $ 0,75 2,25
Resistencia de 47 1 $ 0,05 O,05
Cables de arduino 1 $ 5,00 5,00
Asesoramiento de programación 1 $ 30,00 30,00
Cable de audio 8 $ 0,60 4,80
Impresiones y copias $ 20,00 20,00
Varios 1 $ 20,00 20,00
TOTAL 243,15
17 CONCLUSIONES
En base a este proyecto se logró implementar un sistema antirrobo de vehículo mediante la
programación de una placa Arduino que beneficiara al personal docente, administrativo y
estudiantes del INT.
En base de este proyecto el sistema antirrobo de vehículo mediante la programación de una
placa Arduino es de alta confiabilidad y reduce el riesgo de robo de vehículos o accesorios.
Se determina que tiempo de análisis de los costos en relación al beneficio es directamente
positivo.
Se ha implementado el detector de Alcoholemia en el sistema antirrobo con el fin de
proporcionar un equipo viable para la seguridad tanto del usuario como del vehículo.
Se concluye que el alcoholímetro es un sistema eficaz debido a la función que realiza junto con
el sistema antirrobo implementado en el vehículo.
18
En definitiva el alcoholímetro indica el nivel de alcohol cuando una persona se encuentra en
estado etílico.
18 RECOMENDACIONES
En función del estudio o análisis del proyecto, es necesario implementar este sistema, a todos
los vehículos sean estos privados y públicos, con el fin de minimizar el índice robo a vehículos.
Implementar una campana de instalación de sistemas antirrobo en toda la ciudad de Cayambe.
Se recomienda socializar el presente proyecto y dar a conocer que es un producto tanto
rentable como viable ante la sociedad.
19 REFERENCIAS BIBLIOGRÁFICAS
INT, E. (junio de 2017). Sistema antirrobo y detector de alcoholemia para vehículo. Sistema
antirrobo y detector de alcoholemia para vehículo. Cayambe, Pichincha, Ecuador.
Morales, L. D. (2014). proyectos.uca. Recuperado el 2017, de proyectos.uca:
proyectos.uca.es/c3ir/pdf/gps_gsm
Wikipedia. (2003). wikipedia. Recuperado el 2017, de wikipedia:
file:///C:/Users/pc06/Downloads/Arduino.pdf
wikipedia. (2004). wikipedia. Recuperado el 2017, de wikipedia:
https://es.wikipedia.org/wiki/Rel%C3%A9
20 ANEXOS
ANEXO I: ESTRUCTURA DE PROGRAMACIÓN
#include <SoftwareSerial.h>
SoftwareSerial sim800(2, 3); // RX, TX
char numero_cell[]="+593979616109";
char numero_cell2[]="+593982862456";
String estado = "";
String msg1="Su automovil detecto apertura de puerta principal";
String msg2="Su automovil detecto apertura de puerta secunadario";
String msg3="Su automovil detecto apertura de puerta capo";
int condicion=0;
int principal=4;
19
int secundario=5;
int capo=6;
int led_seguridad=7;
int motor=8;
int ledmotor=9;
float valor_limite= 0.65; // Fija el valor límite en el que se activa la alarma
float valor_alcohol; // Fije el valor después de visualizar el nivel con el Monitor
int cond_alc=0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
sim800.begin(9600);
pinMode(principal,INPUT);
pinMode(secundario,INPUT);
pinMode(capo,INPUT);
pinMode(led_seguridad,OUTPUT);
digitalWrite(led_seguridad,LOW);
pinMode(motor,OUTPUT);
pinMode(ledmotor,OUTPUT);
digitalWrite(motor, LOW);
digitalWrite(ledmotor, LOW);
configuracion_inicial();
delay(1000);
//llamar();
}
void loop() {
// put your main code here, to run repeatedly:
if (sim800.available()){ //Si hay datos disponibles
estado = sim800.readString(); //Los almacenamos en la variable Comando
Serial.println("NUEVO SMS ENTRANTE: " + estado); //Los sacamos por comunicacion serie
}
delay(200);
valor_alcohol=analogRead(A0);
//Serial.println(valor_alcohol); // Envía al Serial el valor leído del Sensor MQ3
float porcentaje=(valor_alcohol/1000); //calcula el porcentaje
Serial.println(porcentaje); // Envía al Serial el porcentaje
if(porcentaje > valor_limite){ // Si la medida de gas metano o etílico es mayor de valor limite
if (cond_alc==0){
mensaje_alarma(numero_cell2,"Exceso alcohol");
delay(2000);
}
20
digitalWrite(motor, HIGH); //Bloquear motor del carro
digitalWrite(ledmotor, HIGH); // Enciende el Zumbador conectado al Pin 13
Serial.print("EXCESO DE ALCOHOL"); // describe el estado del sensor
cond_alc=1;
//delay(200);
}
if(porcentaje<= valor_limite){ // Si es menor del valor límite apaga el Zumbador
digitalWrite(ledmotor, LOW);
}
if(estado.indexOf("Desbloquear")>=0)
{
if(porcentaje<= valor_limite){ // Si es menor del valor límite apaga el Zumbador
digitalWrite(motor, LOW);
cond_alc=0;
}
}
if(estado.indexOf("On")>=0)
{
digitalWrite(led_seguridad,HIGH);
condicion=1;
Serial.println("activando");
delay(2000);
estado = "";
}
if(condicion==1){
if(digitalRead(principal)==LOW )
{
mensaje_alarma(numero_cell,msg1);
delay(2000);
configuracion_inicial();
delay(1000);
mensaje_alarma(numero_cell2,msg1);
delay(2000);
for(int i=0;i<10;i++){
digitalWrite(led_seguridad,HIGH);
delay(500);
digitalWrite(led_seguridad,LOW);
delay(500);
}
condicion=0;
}
21
if(digitalRead(secundario)==LOW )
{
mensaje_alarma(numero_cell,msg2);
delay(2000);
configuracion_inicial();
delay(1000);
mensaje_alarma(numero_cell2,msg2);
delay(2000);
for(int i=0;i<10;i++){
digitalWrite(led_seguridad,HIGH);
delay(500);
digitalWrite(led_seguridad,LOW);
delay(500);
}
condicion=0;
}
if(digitalRead(capo)==LOW )
{
mensaje_alarma(numero_cell,msg3);
delay(2000);
configuracion_inicial();
delay(1000);
mensaje_alarma(numero_cell2,msg3);
delay(2000);
for(int i=0;i<10;i++){
digitalWrite(led_seguridad,HIGH);
delay(500);
digitalWrite(led_seguridad,LOW);
delay(500);
}
condicion=0;
}
delay(200);
}
if(estado.indexOf("Off")>=0){ //Si la variable Comando contiene la palabra Reactivar
digitalWrite(led_seguridad,LOW);
delay(200);
estado = ""; //Vaciamos la variable
}
}
void configuracion_inicial()//configura los codigos de lectura de mensajes
{
22
sim800.println("AT+IPR=9600");//modo texto
Serial.println("AT+IPR=9600");//modo texto
delay(300);
sim800.println("AT+CMGF=1");//modo texto
Serial.println("AT+CMGF=1");//modo texto
delay(300);
sim800.println("AT+CNMI=1,2,0,0,0");//ACTIVAMOS PARA VER MENSAJES
Serial.println("AT+CNMI=1,2,0,0,0");//ACTIVAMOS PARA VER MENSAJES
delay(300);
Serial.println("configuracion terminada");
delay(300);
}
void llamar(){
Serial.println("AT");
sim800.println("AT");
delay(1000);
Serial.print("ATD");
sim800.print("ATD");
Serial.println(numero_cell);
sim800.println(numero_cell);
delay(15000);
Serial.println("ATH");
sim800.println("ATH");
}
void mensaje_alarma(char n[], String m )
{
sim800.println("AT+CMGF=1");//modo texto
//Imprime los datos al puerto serie como texto ASCII seguido de un retorno de carro
delay(2000);
sim800.print("AT+CMGS=");// comando de envio de mensaje
//Imprime los datos al puerto serie como texto ASCII
sim800.print((char)34);//ponemos las comillas ", para que lo tome debe ser char de lo
contrario el serial envia caracter por caracter
sim800.print(n);//colocamos numero de telefono
sim800.println((char)34);//volvemos a poner el caracter "
delay(200);//tiempo para que de respuesta el modulo >
sim800.print(m);//mensaje que enviare
sim800.print((char)26);//ponemos el simbolo ascii 26,que corresponde a CTRL+Z,con lo que
el modulo sabe que el sms termino
//Serial.print("Hay un intruso JCTECNOLOGIAS");//mensaje que enviare
}
23
ANEXO II: ESQUEMA DE CIRCUITO ELECTRICO DE LA PLACA ARDUINO
Definición.- Un circuito eléctrico, es la interconexión de dos o más componentes que contiene
una trayectoria cerrada. Dichos componentes pueden ser resistencias, fuentes, interruptores,
condensadores, semiconductores o cables, por ejemplo. Cuando el circuito incluye componentes
electrónicos, se habla de circuito electrónico.
Comunicación Serial: Enviando datos de Arduino a Java
Para poder utilizar este método necesitamos modificar nuestra
función ArduinoConnection() y declarar algunas variables.
Los datos que enviamos de Arduino a Java se envían a través de una
variable OutputStream llamada Output. Ahora declararemos una variable del
tipoInputStream llamada Input.
24
Interfaz gráfica arduino java
Código java:
package com.panamahitek.arduinoswitch;
import com.panamahitek.ArduinoException;
import com.panamahitek.PanamaHitek_Arduino;
import java.awt.Color;
import java.util.logging.Level;
import java.util.logging.Logger;
import jssc.SerialPortEvent;
import jssc.SerialPortEventListener;
import jssc.SerialPortException;
* @author Antony García Gonzáles, from Panama Hitek Creative Team
* Este ejemplo le da dfuncionalidad a un sencillo ejemplo para encender o
* apagar un LED conectado a Arduino al presionar uno de los dos botones de la
* interfaz gráfica.
*/
25
public class Window extends javax.swing.JFrame {
//Se instancia la Librería Arduino
SerialPortEventListener Listener= new SerialPortEventListener(){
@Override
public void serialEvent(SerialPortEvent spe) {
try {
if(Arduino.isMessageAvailable())
{
String lectura = Arduino.printMessage();
System.out.print(lectura);
//
if ("EXCESO DE ALCOHOL".equals(lectura)){
c.disableButton(jButtonBloquear);
c.enableButton(jButtonDesbloquear);
lector.setText (lectura);
}
else if ("CERO ALCOHOL".equals(lectura)){
lector.setText (lectura);
}
else if (!"CERO ALCOHOL".equals(lectura)||!"EXCESO DE
ALCOHOL".equals(lectura))
{
Alcohol.setText (lectura);
}
}
} catch (SerialPortException ex) {
Logger.getLogger(Window.class.getName()).log(Level.SEVERE, null, ex);
} catch (ArduinoException ex) {
Logger.getLogger(Window.class.getName()).log(Level.SEVERE, null, ex);
}
26
}
};
PanamaHitek_Arduino Arduino = new PanamaHitek_Arduino();
Controls c = new Controls();
public Window() {
initComponents();
getPorts();
//Se inicia la conexión con Arduino para transmisión de datos
}
public void getPorts() {
jComboBoxPorts.removeAllItems();
if (Arduino.getPortsAvailable() > 0) {
Arduino.getSerialPorts().forEach(i -> jComboBoxPorts.addItem(i));
jButtonConectar.setEnabled(true);
jButtonConectar.setBackground(new Color(255, 255, 255));
} else {
jButtonConectar.setEnabled(false);
jButtonConectar.setBackground(new Color(204, 204, 204));
}
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jPanel3 = new javax.swing.JPanel();
jComboBoxPorts = new javax.swing.JComboBox();
jButtonRefresh = new javax.swing.JButton();
jButtonConectar = new javax.swing.JButton();
jButtonBloquear = new javax.swing.JButton();
27
jButtonDesbloquear = new javax.swing.JButton();
lector = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jButtonActivar = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
jButtonDesactivar = new javax.swing.JButton();
jLabel8 = new javax.swing.JLabel();
Alcohol = new javax.swing.JTextField();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("ASwt v1.1.0");
setBackground(new java.awt.Color(238, 216, 127));
setResizable(false);
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel1.setBackground(new java.awt.Color(51, 51, 51));
jPanel1.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
public void mouseMoved(java.awt.event.MouseEvent evt) {
jPanel1MouseMoved(evt);
}
});
jPanel3.setBackground(new java.awt.Color(0, 51, 255));
jPanel3.setBorder(javax.swing.BorderFactory.createEtchedBorder());
jPanel3.setForeground(new java.awt.Color(0, 51, 153));
jPanel3.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jComboBoxPorts.setFont(new java.awt.Font("Century Gothic", 0, 14)); // NOI18N
jPanel3.add(jComboBoxPorts, new
org.netbeans.lib.awtextra.AbsoluteConstraints(12, 13, 110, 20));
jButtonRefresh.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
28
jButtonRefresh.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/images/refreshicon.png"))); // NOI18N
jButtonRefresh.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonRefreshActionPerformed(evt);
}
});
jPanel3.add(jButtonRefresh, new
org.netbeans.lib.awtextra.AbsoluteConstraints(130, 10, 20, 20));
jButtonConectar.setBackground(new java.awt.Color(255, 255, 255));
jButtonConectar.setFont(new java.awt.Font("Century Gothic", 1, 17)); // NOI18N
jButtonConectar.setForeground(new java.awt.Color(0, 153, 204));
jButtonConectar.setText("Conectar...");
jButtonConectar.setEnabled(false);
jButtonConectar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonConectarActionPerformed(evt);
}
});
jPanel3.add(jButtonConectar, new
org.netbeans.lib.awtextra.AbsoluteConstraints(180, 80, 134, -1));
jButtonBloquear.setBackground(new java.awt.Color(204, 204, 204));
jButtonBloquear.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jButtonBloquear.setForeground(new java.awt.Color(153, 0, 0));
jButtonBloquear.setText("Bloquear");
jButtonBloquear.setEnabled(false);
jButtonBloquear.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonBloquearActionPerformed(evt);
}
});
jPanel3.add(jButtonBloquear, new
org.netbeans.lib.awtextra.AbsoluteConstraints(130, 120, -1, -1));
29
jButtonDesbloquear.setBackground(new java.awt.Color(204, 204, 204));
jButtonDesbloquear.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jButtonDesbloquear.setForeground(new java.awt.Color(153, 0, 0));
jButtonDesbloquear.setText("Desbloquear");
jButtonDesbloquear.setEnabled(false);
jButtonDesbloquear.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonDesbloquearActionPerformed(evt);
}
});
jPanel3.add(jButtonDesbloquear, new
org.netbeans.lib.awtextra.AbsoluteConstraints(260, 120, 150, 30));
lector.setForeground(new java.awt.Color(255, 0, 0));
lector.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
lectorActionPerformed(evt);
}
});
jPanel3.add(lector, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 30, 190,
38));
jLabel3.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel3.setForeground(new java.awt.Color(204, 204, 0));
jLabel3.setText("Mensaje");
jLabel3.setBorder(javax.swing.BorderFactory.createMatteBorder(1, 1, 1, 1, new
java.awt.Color(153, 153, 153)));
jPanel3.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 10, -1,
-1));
jLabel2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel2.setForeground(new java.awt.Color(204, 204, 0));
jLabel2.setText("Principal");
jPanel3.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 20, 75,
27));
30
jLabel4.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel4.setForeground(new java.awt.Color(204, 204, 0));
jLabel4.setText("Secundario");
jPanel3.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(400, 50, -1,
22));
jLabel5.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel5.setForeground(new java.awt.Color(204, 204, 0));
jLabel5.setText("Capo");
jPanel3.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 90, 75,
-1));
jButtonActivar.setText("Activar ");
jButtonActivar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonActivarActionPerformed(evt);
}
});
jPanel3.add(jButtonActivar, new org.netbeans.lib.awtextra.AbsoluteConstraints(9,
220, 80, 30));
jLabel1.setFont(new java.awt.Font("Arial Black", 1, 18)); // NOI18N
jLabel1.setForeground(new java.awt.Color(255, 255, 255));
jLabel1.setText("ALARMA");
jPanel3.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 190,
100, 20));
jButtonDesactivar.setText("Desactivar");
jButtonDesactivar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonDesactivarActionPerformed(evt);
}
});
jPanel3.add(jButtonDesactivar, new
org.netbeans.lib.awtextra.AbsoluteConstraints(100, 220, -1, 30));
31
jLabel8.setFont(new java.awt.Font("Arial Black", 1, 14)); // NOI18N
jLabel8.setForeground(new java.awt.Color(255, 255, 255));
jLabel8.setText("Porcentaje de Alcohol");
jPanel3.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(240, 190,
200, 30));
jPanel3.add(Alcohol, new org.netbeans.lib.awtextra.AbsoluteConstraints(230, 220,
220, 40));
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 537,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 305,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(-
1, -2, 500, 320));
pack();
}// </editor-fold>
private void jPanel1MouseMoved(java.awt.event.MouseEvent evt) {
jLabelPH.setForeground(Color.white);
}
32
private void jButtonDesactivarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//Se envía un -0- para apagar el LED
lector.setText("");
try {
Arduino.sendData("3");
} catch (Exception ex) {
Logger.getLogger(Window.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void jButtonActivarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//Se envía un -0- para apagar el LED
lector.setText("");
try {
Arduino.sendData("2");
} catch (Exception ex) {
Logger.getLogger(Window.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void lectorActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jButtonDesbloquearActionPerformed(java.awt.event.ActionEvent evt) {
//Se modifica la interface gráfica del botón precionado
c.enableButton(jButtonBloquear);
c.disableButton(jButtonDesbloquear);
//Se envía un -0- para apagar el LED
lector.setText("");
33
try {
Arduino.sendData("0");
} catch (Exception ex) {
Logger.getLogger(Window.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void jButtonBloquearActionPerformed(java.awt.event.ActionEvent evt) {
//Se modifica la interface gráfica del botón precionado
c.enableButton(jButtonDesbloquear);
c.disableButton(jButtonBloquear);
//Se envían un -1- para encender el LED
try {
Arduino.sendData("1");
} catch (Exception ex) {
Logger.getLogger(Window.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void jButtonConectarActionPerformed(java.awt.event.ActionEvent evt) {
if (jButtonConectar.getText().equals("Desconectar")) {
try {
Arduino.killArduinoConnection();
jButtonConectar.setText("Conectar");
c.disableButton(jButtonDesbloquear);
c.disableButton(jButtonBloquear);
c.enableConnectionPanel(jButtonRefresh, jComboBoxPorts);
} catch (Exception ex) {
Logger.getLogger(Window.class.getName()).log(Level.SEVERE, null, ex);
}
} else {
34
try {
Arduino.arduinoRXTX(jComboBoxPorts.getSelectedItem().toString(),
9600,Listener);
jButtonConectar.setText("Desconectar");
c.enableButton(jButtonBloquear);
c.disableButton(jButtonDesbloquear);
c.disableConnectionPanel(jButtonRefresh, jComboBoxPorts);
} catch (Exception ex) {
Logger.getLogger(Window.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
private void jButtonRefreshActionPerformed(java.awt.event.ActionEvent evt) {
getPorts();
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional)
">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and
feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info
: javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
35
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Window.class.getName()).log(java.util.logging.Level.SE
VERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Window.class.getName()).log(java.util.logging.Level.SE
VERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Window.class.getName()).log(java.util.logging.Level.SE
VERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Window.class.getName()).log(java.util.logging.Level.SE
VERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Window().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JTextField Alcohol;
private javax.swing.JButton jButtonActivar;
private javax.swing.JButton jButtonBloquear;
private javax.swing.JButton jButtonConectar;
private javax.swing.JButton jButtonDesactivar;
private javax.swing.JButton jButtonDesbloquear;
private javax.swing.JButton jButtonRefresh;
36
private javax.swing.JComboBox jComboBoxPorts;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel8;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel3;
private javax.swing.JTextField lector;
// End of variables declaration
}
37
Foto III: Recibiendo curso básico de programación arduino nano
Foto IV: Armando el circuito en la placa arduino
38
Foto V: Aprendiendo a programar en arduino nano
FotoVI: Regulando el voltaje del circuito
39
Foto VII: Ubicación de cableado para el funcionamiento de los sensores magnéticos de puerta
principal, puerta secundaria y capo.
Foto VIII: Circuito armado para instalar en el vehículo
40
CARRERA DE ANALISIS DE
SISTEMAS
41
Análisis de Sistemas
DOCENCIA
 Actuaciones en clase
 Lecciones orales
 Pruebas escrita
 Exámenes
TRABAJO AUTÓNOMO
 Revisión bibliográfica (consultas)
 Preparación de exposiciones (documentos
consultados)
 Revisión de talleres
 Resolución de ejercicios
 Informe de giras de observación
PRACTICAS
 Proyectos integradores
 Exposiciones de proyectos integradores
 Informes de visitas a empresas
REGISTRO DE NOTAS
42
43
44
45
ANALISIS DE SISTEMAS
TEMAS:
Internet de las cosas (IoT)
Big Data
Inteligencia artificial
DOCENTE: ING. JUAN CHIMARRO
ALUMN@: LIGIA SANTIANA
NIVEL: TERCERO “A”
46
47
Internet de las cosas – IoT
Es un sistema de dispositivos de computación interrelacionados, máquinas mecánicas y
digitales, objetos, animales o personas que tienen identificadores únicos y la capacidad de
transferir datos a través de una red, sin requerir de interacciones humano a humano o humano a
computadora. (Cornejo, 2018 )
¿Qué es y cómo funciona?
No es nada relativamente nuevo. Lleva más de 30 años que se está trabajando con la idea de
hacer mucho más interactivos todos los objetos que son de uso cotidiano . Las ideas del hogar
inteligente, también conocido como la casa del futuro o del mañana, han evolucionado antes de
que nos demos cuenta en el hogar que va conectado al internet de las cosas, algunos hemos visto
en alguna ocasión videos de como seria realizar todo solo presionando un botón.
El IoT potencia objetos que anteriormente se conectaban por medio de circuitos cerrados,
como comunicadores, cámaras, sensores entre otros y les permite comunic arse globalmente
mediante el uso de la red de redes.
¿Cómo cambiará nuestra vida en el futuro?
Logrará hacer grandes cambios en la vida diaria cuando se estandarice dentro de la sociedad,
será el siguiente paso de la industria tecnológica, ya que se basa en la interconexión de cualquier
producto con cualquier otro de su alrededor.
Su trascendencia puede ser brutal tanto en ámbitos económicos como sociales, Mayor incluso
que la era digital, Ya que permite que los ordenadores interactúen con elementos de la vida real y
ganan independencia de los seres humanos dejándonos a nosotros al mando de lo realmente
importante.
48
Un ejemplo muy claro lo vemos en cosas tan cotidianas de uso, los relojes que ahora
proporcionan datos de calorías que quemas al correr, ya no dan solo la hora. En los edificios el
aire acondicionado mide la temperatura exterior para nivelar la temperatura interior del edificio,
gracias a sus sensores y que están conectando todo el sistema a internet.
Ejemplos de Iot que podremos usar
4. Zapatillas inteligentes
Under Armour, creo zapatillas tienen un hardware que es capaz de llevar el registro de datos:
tiempo y distancia que has recorrido y estos parámetros después los combina con una app móvil.
3. Sensores para el jardín
La compañía PARROT, ofrece un producto de sensores para el jardín que se llama FLOWER
POWER, el cual registra datos sobre la luz del sol, la temperatura actual, el nivel de humedad y
nivel de fertilizante que posee el suelo.
5. Garajes inteligentes
Existe una empresa que tiene un controlador para la puerta de tu garaje, el nombre del
dispositivo es GARAGEIO, y se puede usar para controlar el acceso por medio de una app que
puedes controlar, abrir o cerrar desde tu móvil, recibir tipos de alertas cuando la puerta tenga
movimiento o bien poder permitir acceso a terceras personas desde cualquier lugar que estés.
7. Botones inteligentes
Amazon en conjunto con algunas de sus marcas de productos domésticos llegaron a un acuerdo
para crear botones inteligentes, para cuando estas en casa lavando la ropa y te das cuenta que queda
poco detergente, puedas por medio de un botón realizar una orden de compra con un determinado
bote de detergente y marca, la cual procesará el pedido y lo enviará hasta tu domicilio.
49
Conclusión
El internet de las cosas está formada por una red de objetos como máquinas,
electrodomésticos, autos, etc. los cuales usan sensores y una interfaz de programación de
aplicaciones, para poder conectarse y esto produce un intercambio de datos por internet para
poder generar datos, acciones, registros etc. El IoT formaran parte de Industria tecnológica que
hará que los humanos vivamos una vida más cómoda, eficiente y simplificando lo que se tiene
que hacer. Por otro lado implica que podamos ser reemplazados y que en el caso de las industrias
puedan reducir costos significativos.
50
Big Data
Big data es una colección de datos grande, complejos, muy difícil de procesar a través de
herramientas de gestión y procesamiento de datos tradicionales
“Big Data” son datos cuyo volumen, diversidad y complejidad requieren nueva arquitectura,
técnicas, algoritmos y análisis para gestionar y extraer valor y conocimiento oculto en ellos .
Algunas definiciones. (Sánchez)
•  “Big Data is the next generation of data warehousing and business analytics and is poised to
deliver top line revenues cost efficiently for enterprises”
•  “Big Data exceeds the reach of commonly used hardware environments and software tools
to capture, manage, and process it within a tolerable elapse time for its user population”.
•  “Disciplina que se ocupa de todas las actividades relacionadas con los sistemas que manejan
grandes conjuntos de datos, principalmente, almacenamiento, búsqueda, compartición, análisis y
visualización”
51
¿Qué es Big Data?
Big data es cualquier característica sobre los datos que represente un reto para las capacidades
de un sistema.
Las 8 V’s de Big Data
Predicción de propagación de la gripe
“Google puede predecir la propagación de la gripe (…) analizando lo que la gente busca en
internet”
Más de 3.000M de búsquedas a diario
50 M de términos de búsqueda más utilizados
Google comparó esta lista con los datos de los CDC sobre propagación de gripe entre 2003 y
2008
•  Encontraron una combinación de 45 términos de búsqueda que al usarse con un modelo
matemático presentaba una correlación fuerte entre su predicción y las cifras oficiales de la
enfermedad
52
•  Podían decir, como los CDC, a dónde se había propagado la gripe pero casi en tiempo real,
no
una o dos semanas después, con un método basado en Big Data
•  Se ha extendido a 29 países
En 2013 sobreestimó los niveles de gripe (x2 la estimación CDC)
La sobreestimación puede deberse a la amplia cobertura mediática de la gripe que puede
modificar comportamientos de búsqueda
Los modelos se van actualizando anualmente
Generadores de Datos Masivos
Redes sociales y multimedia Transacciones
Dispositivos ubicuos de generación de contenido
Redes de sensores
¿Cómo de “Big”?
53
Ejemplo
Tecnologías
54
Definición de inteligencia artificial
La I.A. es la parte de la informática concerniente al diseño de sistemas de computación
inteligente, es decir, de sistemas que exhiban o simulen las características que son comúnmente
asociadas con la inteligencia en la conducta humana, puede definirse como el medio por el cual
las computadoras, los robots y otros dispositivos realizan tareas que normalmente requieren de la
inteligencia humana. Se basa en la investigación de las redes neuronales humanas y, a partir de
ahí, busca copiar electrónicamente el funcionamiento del cerebro. (Leticia)
Origen
Se cree que los comienzos de la inteligencia artificial ocurrieron al definirse la neurona, en
1943, como un dispositivo binario con varias entradas y salidas. En el año de 1956 se volvió a
tocar este tema y se establecieron las bases de la IA como un campo independiente dentro de la
informática..
Alan Turing
La vida de este matemático, informático (cuando la informática como la conocemos ahora no
existía aún), criptógrafo y filósofo británico es ciertamente movida, tanto en lo profesional como
en lo personal.
Test de Turing
Fue un procedimiento desarrollado por Alan Turing para identificar la existencia de inteligencia
en una máquina y comprobar que una máquina puede llegar a pensar al igual que una persona.
IA en la sociedad
¿Está al alcance de todos?
55
Las aplicaciones de la inteligencia artificial en el mundo real están apareciendo en lugares
inesperados y mucho antes de lo que creemos. La inteligencia artificial fue en su momento un
campo exclusivo de Google Inc., Facebook Inc. y otros líderes de la tecnología. Ahora, cualquier
empresa emergente dedicada al aprendizaje profundo puede acceder a plataformas en la nube, en
tanto Microsoft Corp., Nvidia Corp. y Amazon.com Inc. venden IA como un servicio público.
¿Argumentos en contra de la inteligencia artificial?
La diferencia entre la inteligencia y las capacidades de robots y computadoras con respecto a
la mente humana es cada vez menor, incluso llegando a superarnos en algunos aspectos, lo que
puede resultar preocupante. Las máquinas y sistemas de inteligencia artificial carecen de dos
cosas muy importantes: sentimientos y ética, por lo que no son capaces discernir correctamente
entre el bien y el mal, ya que su comportamiento depende de programación y no de la
racionalidad, por lo que, en caso de cualquier falla, podrían dañar al resto.
Impacto social
No sabemos a ciencia cierta cuál será el futuro de la humanidad, pero sí sabemos que
indudablemente cambiarán las relaciones de producción y quizá de comunicación. Es altamente
probable que se agrave aún más el problema del desempleo; que se transformen radicalmente los
conceptos de ocio y tiempo libre; que cambien las relaciones laborales entre patrones y trabajadores;
que haya una revolución aún mayor en cuanto al acceso a la información y que se agudicen las
diferencias entre países hacedores de tecnología y de aquellos históricamente dependientes. Es casi
seguro que la inteligencia artificial y el desarrollo tecnológico subsecuente estarán al servicio de una
minoría. Si por el contrario, el desarrollo tecnológico y específicamente la inteligencia artificial se
utiliza para lograr que todos en este planeta logremos un mejor nivel de vida en estricta relación con
el medio ambiente, tal artificio será realmente inteligente.
56
Futuro de la inteligencia artificial
Se han hecho cuantiosas predicciones de lo que la aplicación de las técnicas de IA traería en el
futuro; algunas podrían ser realidad en poco tiempo y otras parecen francamente especulativas. En el
terreno de las computadoras personales, la velocidad de un procesador será enorme y no podremos
agotar su memoria ni cargando ciclos enteros de cine ruso, que podremos ver doblados al español con
una voz idéntica a la de los actores. Quizá ya no sean necesarios los monitores; unos anteojos
inalámbricos de realidad virtual nos mostrarán cómo va quedando nuestro texto. Los teclados
también serán tan obsoletos como ahora lo son las tarjetas con hoyitos; en vez de teclear, quizá
podremos plasmar palabras en la memoria de la computadora con sólo imaginarlas, gracias a una
discreta placa (chip) adherida a nuestra frente. Una voz agradable nos dirá al oído que hemos
cometido un error de sintaxis y nos proporcionará, si lo deseamos, una lista de posibles soluciones.
Beneficios
En la actualidad la inteligencia artificial es una disciplina fundamental en la ciencia y la
tecnología, misma que tras el paso del tiempo ha creado una serie de conocimientos básicos que
le permiten emular diversas capacidades del ser humano para exhibir comportamientos
inteligentes. Ventajas de la inteligencia artificial
La inteligencia artificial ha permitido el diseño de aplicaciones que se pueden explorar las
partes del mundo que los seres humanos no pueden visitar. Estas máquinas también puede medir
la profundidad de los océanos. Algunas de estas sofisticadas máquinas han sustituido a los seres
humanos en muchas áreas que requieren mano de obra, tiempo y dinero.
Una de sus características es que incluye varios campos de desarrollo, como la robótica, la
comprensión y traducción de lenguajes, el reconocimiento y aprendizaje de palabras de máquinas
57
o los variados sistemas computacionales expertos, que son los encargados de reproducir el
comportamiento humano en una sección del conocimiento.
Desafíos técnicos del futuro
Los tres desafíos más importantes en el desarrollo dentro de la IA son su facilidad de uso, la
flexibilidad de la infraestructura computacional y la disponibilidad de herramientas de desarrollo
cada vez más poderosas. El empleo de una interfaz inteligente ayudará a las personas a encontrar
lo que ellas deseen, hará lo que éstas deseen cuando lo deseen, en forma natural y sin requerir el
conocimiento de detalles irrelevantes. Todo parece indicar que las computadoras programadas
con la IA son el campo de la solución de problemas del futuro; sin embargo, el intelecto humano
parece ser irremplazable en relación con la solución de problemas de sentido común.
La AI en la robótica
Los robots son dispositivos compuestos de sensores que reciben datos de entrada que manda
una computadora, la cual ordena al robot que efectúe una determinada acción. Hoy en día, una de
las finalidades de la construcción de robots es su intervención con rapidez, calidad y precisión en
los procesos de fabricación encargados de realizar trabajos repetitivos en la fabricación.
IA en la actualidad
La Inteligencia Artificial (IA) ha tenido en los últimos años una implicación cada vez mayor en el
área de desarrollo de software, tratando de alcanzar un sólo objetivo: “incorporar inteligencia” en
agentes no vivos y que ésta sea muy similar a la de un ser humano. Ese anhelo por crear software que
incorpore procesos que solamente la inteligencia humana puede realizar es un reto y se ha convertido
en una actividad atractiva en la que muchos ya están dando sus primeros resultados. La inteligencia
artificial abre un mundo de posibilidades a quien conoce su potencial, ya que
58
proporciona un amplio conjunto de métodos, técnicas y algoritmos que, mediante su estudio
exhaustivo y cuidadoso, pueden ser incluidas en distintas aplicaciones financieras, educativas, de
seguridad informática, videojuegos, entre otras y que son muestra clara de la intervención de la
IA en nuestras actividades diarias.
Repercusiones
¿Qué ocurriría si las máquinas llegan a ser autónomas? ¿Podrían estas máquinas llegar a
prescindir totalmente de la interferencia humana para realizar tareas? Estas preguntas son
válidas, ya que la tecnología continúa evolucionando a pasos agigantados, y según los expertos,
muy pronto las máquinas serán más inteligentes que el hombre.
Desventajas
Entre las desventajas de la inteligencia artificial tenemos:
Por ser software, requieren de constantes actualizaciones (mantenimiento).
Realizar estos sistemas expertos requiere de mucho tiempo y dinero.
Aplicaciones de la IA
Las aplicaciones de la Inteligencia Artificial son extensas y diversas, e incluyen el diagnóstico
médico, organización y programación de procesos de fábrica, creación de robots para introducirlos a
lugares peligrosos, videojuegos, vehículos espaciales autónomos, sistemas de traducción de lenguaje
natural, y tutores expertos (entre otros. En realidad, nuestra imaginación es el límite
IA en la medicina
59
Incluye la interpretación de imágenes médicas, diagnóstico, sistemas expertos para ayudar a
los médicos, la monitorización y control en las unidades de cuidados intensivos, diseño de
prótesis, diseño de fármacos, sistemas tutores inteligentes para diversos aspectos de la medicina.
IA en la robótica
Incluye la visión, el control de motores, el aprendizaje, la planificación, la comunicación
lingüística, el comportamiento cooperativo.
IA en la ingeniería
Diagnóstico de fallos, sistemas inteligentes de control, sistemas inteligentes de fabricación,
ayuda inteligente al diseño, sistemas integrados de ventas, diseño, producción, mantenimiento,
herramientas de configuración expertas.AI en la ingeniería de software incluye síntesis de
programas, verificación, depuración, prueba y monitorización de software.
IA en las matemáticas
Diseño de herramientas para ayudar con distintas clases de funciones matemáticas, ahora tan
utilizadas que ya no se reconocen como productos de la IA.
IA en la biología
Hay muchos problemas complicados en biología donde se están desarrollando sistemas
informáticos más o menos inteligentes, por ejemplo, análisis de ADN, predicción de la estructura
de plegado de moléculas complejas, la predicción, la elaboración de modelos de procesos
biológicos, evolución, desarrollo de embriones, comportamientos de los distintos organismos.
IA en las actividades militares
60
Este puede ser el ámbito en el que se ha gastado la mayor parte de los fondos y dónde no es
fácil aprender de los detalles
Ejemplo:
Referencias
Cornejo, D. M. (23 de 02 de 2018 ). Internet de las cosas IoT. Obtenido de Internet de las cosas
IoT: https://es.slideshare.net/MaraAlejandraRuedaAc/iot-internet-de-las-cosas-
104227102?qid=98a74e91-559a-4d0d-8563-1fcde7cf1b75&v=&b=&from_search=1
Leticia, V. C. (s.f.). Inteligencia artificial. Obtenido de
inteligencia artificial:
https://es.slideshare.net/esau1409/representacin-del-conocimiento-en-
inteligencia-artificial-102571769?qid=5c462908-8088-454a-9662-
bffb5d145122&v=&b=&from_search=10
Sánchez, J. M. (s.f.). Big Data: Algoritmos, tecnología y aplicaciones. Obtenido de Big Data:
Algoritmos, tecnología y aplicaciones: file:///C:/Users/user/Desktop/BIG%20DATA.pdf
61
ANALISIS DE SISTEMAS
Temas:
Lenguajes no procedimentales
Generadores de pantalla
Código automático
Lenguaje de Cuarta Generación
Docente: Ing. Juan Carlos Chimarro
Tercero”A”
Ligia Santiana
62
Tema: Nº 1
Lenguaje de Manipulación de Datos
Lenguaje de Manipulación de Datos (Data Manipulation Language, DML) es un idioma
proporcionado por los sistemas gestores de bases de datos que permite a los usuarios de la
misma llevar a cabo las tareas de consulta o modificación de los datos contenidos en las
Bases de Datos del Sistema Gestor de Bases de Datos. El lenguaje de manipulación de
datos más popular hoy día es SQL, usado para recuperar y manipular datos en una base de
datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL1,
CODASYL u otras.
Elementos del lenguaje de manipulación de datos
Select, Insert, Delete y Update
Clasificación de los DML
Se clasifican en dos grandes grupos:
Lenguajes De Consulta Procedimentales
Lenguajes procedimentales. En este tipo de lenguaje el usuario da instrucciones al sistema
para que realice una serie de procedimientos u operaciones en la base de datos para calcular
un resultado final.
Lenguajes De Consulta No Procedimentales
En los lenguajes no procedimentales el usuario describe la información deseada sin un
procedimiento específico para obtener esa información. Lenguaje de manipulación de datos
(DML)
Un lenguaje de manipulación de datos (Data Manipulation Language, o DML en inglés) es
un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los
usuarios llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el
modelo de datos adecuado.
El lenguaje de manipulación de datos más popular hoy día es SQL, usado para recuperar y
manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados
por bases de datos IMS/DL1, CODASYL u otras.
1- INSERT
Una sentencia INSERT de SQL agrega uno o más registros a una (y sólo una) tabla en una
base de datos relacional.
63
Ejemplo 1 : (inserto valores alumno pepe en la materia spd2 a la tabla cursada):
INSERT INTO ''cursada'' (''alumno'', ''materia'') VALUES (''pepe'', ''spd2'')
2- UPDATE
Una sentencia UPDATE de SQL es utilizada para modificar los valores de un conjunto de
registros existentes en una tabla.
Ejemplo 1 (modifico la materia donde el alumno sea pepe):
UPDATE ''cursada'' SET ''materia''= ''spd3'' WHERE ''alumno''=
''pepe'' 3- DELETE
Una sentencia DELETE de SQL borra uno o más registros existentes en una tabla. Ejemplo
1 (borro todos los valores de las columnas alumno y materia donde la materia sea spd2):
DELETE FROM ''cursada'' WHERE ''materia''= ''spd2'' (s/n)
Tema: Nº 2
Generador de pantallas
Desplegar campos y registros seleccionados en pantalla, mediante el uso de las
instrucciones o controles de creación de pantallas, para construir vistas sobre la base de
datos que satisfaga necesidades específicas.
Una pantalla o formulario es una herramienta visible en todos los SGBD para introducir o
editar información de una o varias tablas de una base de datos relacional, en un secuencia
personalizada por el usuario.
Los formularios los diseña el usuario para interactuar con la base de datos contenida en el
SGBD de una forma más amigable, además de que al usuario común le presenta
Únicamente la información que requiere, generando vistas de la información.
En una pantalla el usuario puede incluir imágenes (al igual que en los reportes),
encabezados de la pantalla, etiquetas de los campos a utilizar y los campos.
Existen ciertos objetos o herramientas para navegar entre los registros, que pueden facilitar
las ediciones o consultas de los usuarios, estas varían según el tipo de SGBD. No olvides
que para crear una pantalla se debe seleccionar la base de datos a visualizar.
Cuando ya se tiene diseñada la pantalla, se puede poner en uso para editar, capturar
consultar información.
64
La forma de crear, modificar y poner en use una pantalla queda a disposición del SGBD. A
nivel de SOL, las instrucciones que usan serán las siguientes:
Para crear una pantalla: CREATE SCREEN <Nombre de la pantalla>
Para modificar una pantalla: MODIFY SCREEN <Nombre de la pantalla>
Para generar una pantalla: SELECT SCREEN <Nombre de la pantalla>
Tema: Nº 3
Generador de código para Netbeans
El IDE Netbeans al igual que Eclipse :), nos permite personalizar el espacio de trabajo y
añadir funcionalidades que nos son de gran ayuda a la hora de programar, una de estas
funcionalidades en el caso de Netbeans es la creación de plugins. Entre los muchos tipos de
plugins que se pueden crear, tenemos uno que es el Generador de Código, el que programe
en este IDE sabrá que el editor de código nos brinda ayuda a la hora de escribir código,
cuando hacemos un clic derecho sobre el editor, tenemos una opción que se llama “Insert
code…“, esta opción cuenta con una lista de código predefinido que podemos insertar a
nuestros proyectos en cualquier momento.
Lo que haremos en este tutorial, sera añadir nuestro propio código predefinido, la serie
fibonacci.
Necesitamos
Netbeans 7.x o superior
Nivel: Avanzado
Tiempo: 30 minutos
PROYECTO GENERADOR DE CÓDIGO
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas
Portafolio estudiantil de Análisis de Sistemas

Más contenido relacionado

Similar a Portafolio estudiantil de Análisis de Sistemas

Syllabus procesos y_calidad_periodo_2013_i (1)
Syllabus procesos y_calidad_periodo_2013_i (1)Syllabus procesos y_calidad_periodo_2013_i (1)
Syllabus procesos y_calidad_periodo_2013_i (1)MARCO POLO SILVA SEGOVIA
 
Silabo SISTEMAS MICROPROCESADOS
Silabo SISTEMAS MICROPROCESADOSSilabo SISTEMAS MICROPROCESADOS
Silabo SISTEMAS MICROPROCESADOSDavid Narváez
 
Inteligencia artificia 2010 ii
Inteligencia artificia 2010 iiInteligencia artificia 2010 ii
Inteligencia artificia 2010 iiSilencerz
 
Manual de-asignatura-logica-de-programacion
Manual de-asignatura-logica-de-programacionManual de-asignatura-logica-de-programacion
Manual de-asignatura-logica-de-programacionDorys Briceño
 
Silabo desarrollo de sistemas 2013
Silabo desarrollo de sistemas 2013Silabo desarrollo de sistemas 2013
Silabo desarrollo de sistemas 2013gonzalopomboza
 
Presentación investigación PAT IIP 2016 CURN
Presentación investigación PAT IIP 2016 CURNPresentación investigación PAT IIP 2016 CURN
Presentación investigación PAT IIP 2016 CURNJairo Acosta Solano
 
Analysis of time windows to detect botnets behaviours
Analysis of time windows to detect botnets behavioursAnalysis of time windows to detect botnets behaviours
Analysis of time windows to detect botnets behavioursJaime Restrepo
 
Informática tics diseño grafico mj2014_apte
Informática tics diseño grafico mj2014_apteInformática tics diseño grafico mj2014_apte
Informática tics diseño grafico mj2014_aptepatricio
 
Silabo informatica
Silabo informaticaSilabo informatica
Silabo informaticaFaty Morán
 
Informticaticsdiseograficomj2014apte 140413202959-phpapp02
Informticaticsdiseograficomj2014apte 140413202959-phpapp02Informticaticsdiseograficomj2014apte 140413202959-phpapp02
Informticaticsdiseograficomj2014apte 140413202959-phpapp02Cathy Sua
 
Silabo informatica
Silabo informaticaSilabo informatica
Silabo informaticaCarmen Godoy
 
Estructura silvia
Estructura silviaEstructura silvia
Estructura silviaSilvia Mera
 
Silabo costos tercer semestre
Silabo  costos tercer semestreSilabo  costos tercer semestre
Silabo costos tercer semestreDiana Orozco
 
Silabo costos tercer semestre
Silabo  costos tercer semestreSilabo  costos tercer semestre
Silabo costos tercer semestreDiana Orozco
 

Similar a Portafolio estudiantil de Análisis de Sistemas (20)

Syllabus procesos y_calidad_periodo_2013_i (1)
Syllabus procesos y_calidad_periodo_2013_i (1)Syllabus procesos y_calidad_periodo_2013_i (1)
Syllabus procesos y_calidad_periodo_2013_i (1)
 
Silabo SISTEMAS MICROPROCESADOS
Silabo SISTEMAS MICROPROCESADOSSilabo SISTEMAS MICROPROCESADOS
Silabo SISTEMAS MICROPROCESADOS
 
Inteligencia artificia 2010 ii
Inteligencia artificia 2010 iiInteligencia artificia 2010 ii
Inteligencia artificia 2010 ii
 
Manual de-asignatura-logica-de-programacion
Manual de-asignatura-logica-de-programacionManual de-asignatura-logica-de-programacion
Manual de-asignatura-logica-de-programacion
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Silabo desarrollo de sistemas 2013
Silabo desarrollo de sistemas 2013Silabo desarrollo de sistemas 2013
Silabo desarrollo de sistemas 2013
 
Presentación investigación PAT IIP 2016 CURN
Presentación investigación PAT IIP 2016 CURNPresentación investigación PAT IIP 2016 CURN
Presentación investigación PAT IIP 2016 CURN
 
Analysis of time windows to detect botnets behaviours
Analysis of time windows to detect botnets behavioursAnalysis of time windows to detect botnets behaviours
Analysis of time windows to detect botnets behaviours
 
Informática tics diseño grafico mj2014_apte
Informática tics diseño grafico mj2014_apteInformática tics diseño grafico mj2014_apte
Informática tics diseño grafico mj2014_apte
 
Silabo informatica
Silabo informaticaSilabo informatica
Silabo informatica
 
Informticaticsdiseograficomj2014apte 140413202959-phpapp02
Informticaticsdiseograficomj2014apte 140413202959-phpapp02Informticaticsdiseograficomj2014apte 140413202959-phpapp02
Informticaticsdiseograficomj2014apte 140413202959-phpapp02
 
Silabo informatica
Silabo informaticaSilabo informatica
Silabo informatica
 
Silabo auditoria informatica ( analisis v ciclo)
Silabo auditoria informatica ( analisis  v ciclo)Silabo auditoria informatica ( analisis  v ciclo)
Silabo auditoria informatica ( analisis v ciclo)
 
Estructura silvia
Estructura silviaEstructura silvia
Estructura silvia
 
INF-102
INF-102INF-102
INF-102
 
Silabo costos tercer semestre
Silabo  costos tercer semestreSilabo  costos tercer semestre
Silabo costos tercer semestre
 
Silabo costos tercer semestre
Silabo  costos tercer semestreSilabo  costos tercer semestre
Silabo costos tercer semestre
 
LDPLANI
LDPLANILDPLANI
LDPLANI
 
Sistema de Evaluación UTC
Sistema de Evaluación UTCSistema de Evaluación UTC
Sistema de Evaluación UTC
 
Rc henry martinez
Rc henry martinezRc henry martinez
Rc henry martinez
 

Último

SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 

Último (20)

SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 

Portafolio estudiantil de Análisis de Sistemas

  • 1. PORTAFOLIO ESTUDIANTIL TECNOLOGIA SUPERIOR EN ANALISIS DE SISTEMAS LIGIA LOURDES SANTIANA MOROCHO Tercero Nivel “A” ADMINISTRADOR: Ing. Juan Chimarro PERIODO ACADÉMICO Mayo 2018 - Octubre 2018
  • 2. CARRERA DE ANALISIS DE SISTEMAS 1. FICHA PERSONAL DEL ESTUDIANTE (HOJA DE VIDA) 2. MISIÓN Y VISIÓN DE LA CARRERA 3. MALLAS 4. CRONOGRAMA DE ACTIVIDADES 5. HORARIOS DE CLASE 6. DISTRIBUTIVO DE CLASE 7. SYLLABUS 8. DOSIFICACIÓN ACADÉMICA 9. ESTRUCTURA DEL PORTAFOLIO  DOCENCIA  Actuaciones en clase  Lecciones orales  Pruebas escrita  Exámenes  TRABAJO AUTÓNOMO  Revisión bibliográfica (consultas)  Preparación de exposiciones (documentos consultados)  Revisión de talleres  Resolución de ejercicios  Informe de giras de observación  PRACTICAS  Proyectos integradores  Exposiciones de proyectos integradores  Informes de visitas a empresas  REGISTRO DE NOTAS
  • 3. SEMESTRE MAYO 2018 – OCTUBRE 2018 FICHA PERSONAL DEL ESTUDIANTE Nombre: Ligia Lourdes Santiana Morocho 1. DATOS PERSONALES  Lugar / Fecha de nacimiento: Cayambe 26 -02- 1984  Edad : 34 años  Cédula de Ciudadanía : 1718240870  Teléfonos móvil/fijo : 0997355518  e-mail personal : ligissantiana@gmail.com  Relación laboral : Administradora “Multiservicios Cayambe” 2. FORMACIÓN ACADÉMICA TÍTULO INSTITUCIÓN CIUDAD AÑO No. REGISTRO DE TÍTULO/DIPLOMAEN EL CONESUP Bachiller en Ciencias de Comercio y Administración Especialidad Contabilidad Colegio “Nelson I. Torres” Cayambe 2005 176790 IDIOMA EXTRANJERO IDIOMA DOMINIO DEL IDIOMA HABLADO DOMINIO DEL IDIOMA ESCRITO CERTIFICADO REGULAR BUENO MUY BUENO REGULAR BIEN MUY BUENO 3. CURSOS/SEMINARIOS/CONGRESOS UNIVERSITARIOS DESCRIPCIÓN EMPRESA/ENTIDAD/LUGAR CIUDAD-AÑO-MES DURACIÓ N (horas) FACILITADOR/ CERTIFICADO Computación Básico y Avanzado Centro de Capacitación Siglo XXI Cayambe 2010-10 120
  • 4. 4. EXPERIENCIA LABORAL INSTITUCIÓN CARGO DESDE HASTA CELLNET DIGITADORA 2011 2014 MULTISERVICIOS CAYAMBE ADMINISTRADORA 2014 2018 FIRMA: Ligia Santiana C.C.: 1718240870
  • 5. 2.DATOS INFORMATIVOS CARRERA DE ANALISIS DE SISTEMAS a. MISIÓN “Formar Tecnólogos en Análisis de Sistemas capacitados profesionalmente para contribuir de manera eficiente y oportuna a la solución de problemas técnicos y tecnológicos generados en la empresa y fuera de ella, mediante el manejo de normativa técnica y desarrollo de iniciativas de investigación ajustada a los objetivos nacionales dispuestos en el Plan Nacional del Buen Vivir con el respaldo permanente de sólidos principios éticos y morales.” b. VISIÓN “Ser una carrera tecnológica reconocida por la formación de profesionales de la computación con fundamentos científicos, humanísticos y de gestión; demostrando sólidos valores en nuestros profesionales, de modo que aporten con análisis, diseño, programación e implementación de nuevos sistemas para automatizar los procedimientos de las empresas y con una alta proyección innovadora.”
  • 6. CARRERA DE ANALISIS DE SISTEMAS 3.MALLAS
  • 7. CARRERA DE ANALISIS DE SISTEMAS CRONOGRAMA DE ACTIVIDADES
  • 8. CARRERA DE ANALISIS DE SISTEMAS 4.HORARIO DE CLASES
  • 9. CARRERA DE ANALISIS DE SISTEMAS 5.DISTRIBUTIVO DE CLASE
  • 10. CARRERA DE ANALISIS DE SISTEMAS 6.SYLLABUS
  • 11.
  • 12. CARRERA DE ANALISIS DE SISTEMAS 7.DOSIFICACIÓN ACADEMICA
  • 13.
  • 14.
  • 15.
  • 16. CARRERA DE ANALISIS DE SISTEMAS 8.Matemática Aplicada DOCENCIA  Actuaciones en clase  Lecciones orales  Pruebas escrita  Exámenes TRABAJO AUTÓNOMO  Revisión bibliográfica (consultas)  Preparación de exposiciones (documentos consultados)  Revisión de talleres  Resolución de ejercicios  Informe de giras de observación PRACTICAS  Proyectos integradores  Exposiciones de proyectos integradores  Informes de visitas a empresas REGISTRO DE NOTAS
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36. CARRERA DE ANALISIS DE SISTEMAS Arquitectura del Computador DOCENCIA  Actuaciones en clase  Lecciones orales  Pruebas escrita  Exámenes TRABAJO AUTÓNOMO  Revisión bibliográfica (consultas)  Preparación de exposiciones (documentos consultados)  Revisión de talleres  Resolución de ejercicios  Informe de giras de observación PRACTICAS  Proyectos integradores  Exposiciones de proyectos integradores  Informes de visitas a empresas REGISTRO DE NOTAS
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64. CARRERA DE ANALISIS DE SISTEMAS Programación Estructurada DOCENCIA  Actuaciones en clase  Lecciones orales  Pruebas escrita  Exámenes TRABAJO AUTÓNOMO  Revisión bibliográfica (consultas)  Preparación de exposiciones (documentos consultados)  Revisión de talleres  Resolución de ejercicios  Informe de giras de observación PRACTICAS  Proyectos integradores  Exposiciones de proyectos integradores  Informes de visitas a empresas REGISTRO DE NOTAS INSTITUTO TECNOLÓGICO
  • 65. 1. “NELSON TORRES” PROGRAMACIÓN ESTRUCTURADA DOCENTE: ING. JUAN CHIMARRO TERCERO “A” LIGIA SANTIANA
  • 66. EJERCICIO N° 1 BINARIO A DECIMAL '
  • 67. EJERCICIO N° 2 NÚMERO FIBONACCI numeros de la serie a generar...' de la serie son:
  • 69. EJERCICIO N° 4 SERIE DE NUMEROS PRIMOS
  • 70. Programación en java Código de programación en JAVA Programación estructurada Ing. Juan Chimarro Santiana Morocho Ligia Lourdes ligissantiana@gmail.com 0997355518 11/08/2018
  • 71. EJERCICIO N° 1 FACTORIAL DE UN NÚMERO CODIFICACIÓN:
  • 72. EJERCICIO N° 2 SERIE FIBONACCI CODIFICACIÓN
  • 73. EJERCICIO N° 2 SERIE DE NÚMEROS PRIMOS CODIFICACIÓN
  • 74. EJERCICIO N° 2 CONVERSIÓN DE DECIMAL A BINARIO CODIFICACIÓN:
  • 75. Programación en java Código de programación en JAVA Programación estructurada Ing.: Juan Chimarro Santiana Morocho Ligia Lourdes ligissantiana@gmail.com 0997355518 15-08-2018
  • 76. Ejercicio #1 DECIMAL BINARIO Codificación: package oeparcionesmatematicas; import java.util.Scanner; public class DECIMALABINARIO { public void DECIMALBINARIO() { } double binario; public void ingreseDECIMALABINARIO(int numero) { int exp, digito; Scanner sc = new Scanner(System.in); do { System.out.print("Introduce un numero entero >= 0: "); numero = sc.nextInt(); } while (numero < 0); exp = 0; binario = 0; while (numero != 0) { digito = numero % 2; binario = binario + digito * Math.pow(10, exp); exp++; numero = numero / 2; } } public double resuladoDECIMALABINARIO() { return binario; } }
  • 77. Ejercicio #1 FACTORIAL Codificación: package oeparcionesmatematicas; public class FACTORIAL { public void FACTORIAL() { //construimos la estructura } int factorial; public void ingresefactorial(int numero) { factorial = 1; while (numero != 0) { factorial *= numero; numero--; } } public int resulatadofactorial() { return factorial; } }
  • 79. Ejercicio #1 FINOCACCI Codificación: public class FINOCACCI { public void FINOCACCI(){ //contruir estructura fiboncacci } int var; public void IngresarFinocacci(int numero){ int a,b; a=0; b=1; var=1; System.out.println(b); for (int i=0;i<numero;i++) { System.out.println(var); a=b; b=var; var=a+b; } } public int RESULTADOFINOCACCI(){ return var; } }
  • 80. Ejercicio #1 PRIMOS Codificación: package oeparcionesmatematicas; import java.util.Scanner; public class PRIMOS { public void PRIMOS(){ } int n; Scanner sc = new Scanner(System.in); int num, i, cont = 2; public void IngresePRIMOS(int numero){ String cad = ""; num = sc.nextInt(); if (num > 2) { cad = "2 - 3"; while (cont < num) { i = 2; while (i <= n) { if (i == n) { cad = cad + " - " + n; cont = cont + 1; } else { if (n % i == 0) { i = n; } } i = i + 1; } n = n + 1; } System.out.println(cad); } else { if (num > 0) { if (num == 1) { System.out.println("es primo 2"); } else { System.out.println("es primo 2, 3"); }
  • 81. } else System.out.println("ingresa numeros positivos"); } } public int resulatadoPRIMOS(){ return n; } } Programación en java Código de programación en JAVA Programación estructurada Ing.: Juan Chimarro Santiana Morocho Ligia Lourdes
  • 83. Ejercicio #1 DECIMAL BINARIO Codificación: package oeparcionesmatematicas; import java.util.Scanner; public class DECIMALABINARIO { public void DECIMALBINARIO() { } double binario; public void ingreseDECIMALABINARIO(int numero) { int exp, digito; Scanner sc = new Scanner(System.in); do { System.out.print("Introduce un numero entero >= 0: "); numero = sc.nextInt(); } while (numero < 0); exp = 0; binario = 0; while (numero != 0) { digito = numero % 2; binario = binario + digito * Math.pow(10, exp); exp++; numero = numero / 2; } } public double resuladoDECIMALABINARIO() { return binario; } }
  • 84. Ejercicio #1 FACTORIAL Codificación: package oeparcionesmatematicas; public class FACTORIAL { public void FACTORIAL() { //construimos la estructura } int factorial; public void ingresefactorial(int numero) { factorial = 1; while (numero != 0) { factorial *= numero; numero--; } } public int resulatadofactorial() { return factorial; } }
  • 85. Ejercicio #1 FINOCACCI Codificación: public class FINOCACCI { public void FINOCACCI(){ //contruir estructura fiboncacci } int var; public void IngresarFinocacci(int numero){ int a,b; a=0; b=1; var=1; System.out.println(b); for (int i=0;i<numero;i++) { System.out.println(var); a=b; b=var; var=a+b; } } public int RESULTADOFINOCACCI(){ return var; } }
  • 86. Ejercicio #1 PRIMOS Codificación: package oeparcionesmatematicas; import java.util.Scanner; public class PRIMOS { public void PRIMOS(){ } int n; Scanner sc = new Scanner(System.in); int num, i, cont = 2; public void IngresePRIMOS(int numero){ String cad = ""; num = sc.nextInt(); if (num > 2) { cad = "2 - 3"; while (cont < num) { i = 2; while (i <= n) { if (i == n) { cad = cad + " - " + n; cont = cont + 1; } else { if (n % i == 0) { i = n; } } i = i + 1; }
  • 87. n = n + 1; } System.out.println(cad); } else { if (num > 0) { if (num == 1) { System.out.println("es primo 2"); } else { System.out.println("es primo 2, 3"); } } else System.out.println("ingresa numeros positivos"); } } public int resulatadoPRIMOS(){ return n; } }
  • 88. VALIDACIÓN INGRESAR SOLO NÚMEROS Programación Estructurada Ing. Juan Chimarro Santiana Morocho Ligia Lourdes ligissantiana@gmail.com 0997355518 22/08/2018
  • 89. TEMA: VALIDACIÓN INGRESAR SOLO NÚMEROS Codificación: package validacion; import java.util.Scanner; public class Validacion { public static void main(String[] args) { Scanner fab=new Scanner(System.in); int ver = 0; do{ try{ ver=0; int x; int r; System.out.println(" Ingrece Cedula Identidad "); x=fab.nextInt(); r=x; System.out.println("C.I: "+r); }catch(Exception e){System.out.println("Caracter No Valido"); ver=1;fab.nextLine();} }while(0!=ver); } }
  • 90. VALIDACIÓN DE PRECIO Programación estructurada Ing: Juan Chimarro Santiana Morocho Ligia Lourdes ligissantiana@gmail.com 0997355518 24/08/2018
  • 91. TEMA: CÓDIGO DE VALIDACIÓN DEL ATRIBUTO PRECIO DE LA CLASE LIBRO System.out.println("ingrese nombre libro" + i + ":"); datoslibro.ingresartitulo(leer.next(), i); System.out.println("ingrese autor libro" + i + ":"); datoslibro.ingresarautor(leer.next(), i); boolean validarprecio = false; do { try { System.out.println("ingrese precio" + i + ":"); validarpre= Float.parseFloat(leer.next()); validarprecio= true; } catch (NumberFormatException e) { System.out.println("solo se permite numeros"); validarprecio= false; } } while (!validarprecio); datoslibro.ingresarprecio(validarpre,i); } for (int i = 0; i < 3; i++) { System.out.println("datos estudiante" + (i) + "son:"); System.out.println("nombre: " + datosalumno.leernombre(i)); System.out.println("ci " + datosalumno.leerId(i)); System.out.println("genero estudiante" + datosalumno.leergenero((i))); System.out.println("nombre libro" + datoslibro.leertitulo(i)); System.out.println("autor libro" + datoslibro.leeautor(i)); System.out.println("precio libro" + datoslibro.precio(i)); } } }
  • 92.
  • 93. PRUEBA DE PROGRAMACIÓN ESTRUCTURADA Programación Estructurada Ing. Juan Chimarro Santiana Morocho Ligia Santiana ligissantiana@gmail.com 0997355518 25-08-2018
  • 94. TEMA # 1 CODIGO ESTUDIANTE: package Prueba; public class Estudiantes { public Estudiantes(){ // creamos la estructura alumno } String [] Nombre=new String[100]; long [] Telefono=new long [100]; long [] cedula=new long [100]; public void IngresarNombre(String nom,int i){ Nombre[i]=nom; } public String LeerNombre(int i){ return Nombre[i]; } public void IngresarCedula(long ci,int i){ cedula[i]=ci; } public long Leerid(int i){ return cedula[i]; } public void IngresarTelefono(long Tel,int i){ Telefono[i]=Tel; } public long LeerTelefono(int i){ return Telefono[i]; } }
  • 95. TEMA # 2 CODIGO CALIFICACIONES: package Prueba; public class Calificaciones { public Calificaciones(){ // creamos la estructura libro } float[] NotaDeberes=new float[100]; float[] NotaProyecto=new float[100]; float[] NotaExamenFinal=new float[100]; public void IngresarNotaDeberes(float Notd,int i){ NotaDeberes[i]=Notd; } public float LeerNotasDeberes(int i){ return NotaDeberes [i]; } public void IngresarNotaProyecto(float Notp,int i){ NotaProyecto[i]=Notp; } public float LeerNotaProyecto(int i){ return NotaProyecto [i]; } public void IngresarNotaExamenFinal(float Notef,int i){ NotaExamenFinal[i]=Notef; } public float LeerNotaExamenFinal(int i){ return NotaExamenFinal[i]; } }
  • 96. TEMA # 3 CODIGO DE ESTRUCTURA: package Prueba; import java.util.Scanner; public class ProgramacionEstructurada { String Nombre[]=new String[3]; int a[]; public static void main(String[] args) { Estudiantes DatosEstudiantes=new Estudiantes(); Calificaciones DatosCalificaciones=new Calificaciones (); Scanner leer=new Scanner(System.in); long ValidarCed = 0; float ValidarTel =0; float ValidarNotd = 0; float ValidarNotp = 0; float ValidarNotef = 0; for(int i=1; i<3; i++){ System.out.println("Ingrese Nombre estudiante "+i+";"); DatosEstudiantes.IngresarNombre(leer.next(),i); boolean ValidarCedula=false; do{ try{ System.out.println("Ingrese Cedula estudiante "+i+";"); ValidarCed=Long.parseLong(leer.next()); ValidarCedula=true; } catch(NumberFormatException e){ System.out.println("Solo se permite numeros "); ValidarCedula=false; } }while(!ValidarCedula); DatosEstudiantes.IngresarCedula(ValidarCed, i); boolean ValidarTelefono=false; do{ try{ System.out.println("Ingrese Telefono estudiante "+i+";");
  • 97. ValidarTel=Long.parseLong(leer.next()); ValidarTelefono=true; } catch(NumberFormatException e){ System.out.println("Solo se permite numeros "); ValidarTelefono=false; } }while(!ValidarTelefono); DatosEstudiantes.IngresarTelefono((long) ValidarTel, i); boolean ValidarNotaDeberes=false; do{ try{ System.out.println("Ingrese Nota Deberes "+i+";"); ValidarNotd=Float.parseFloat(leer.next()); ValidarNotaDeberes=true; } catch(NumberFormatException e){ System.out.println("Solo se permite numeros "); ValidarNotaDeberes=false; } }while(!ValidarNotaDeberes); DatosCalificaciones.IngresarNotaDeberes(ValidarNotd, i); boolean ValidarNotaProyecto=false; do{ try{ System.out.println("Ingrese Nota Proyecto "+i+";"); ValidarNotp=Float.parseFloat(leer.next()); ValidarNotaProyecto=true; } catch(NumberFormatException e){ System.out.println("Solo se permite numeros "); ValidarNotaProyecto=false; } }while(!ValidarNotaProyecto); DatosCalificaciones.IngresarNotaProyecto(Valid arNotp, i); boolean ValidarNotaExamenFinal=false; do{ try{
  • 98. System.out.println("Ingrese Nota Examen Final "+i+";"); ValidarNotef=Float.parseFloat(leer.next()); ValidarNotaExamenFinal=true; } catch(NumberFormatException e){ System.out.println("Solo se permite numeros "); ValidarNotaExamenFinal=false; } }while(!ValidarNotaProyecto); DatosCalificaciones.IngresarNotaExamenFinal(ValidarNotef, i); } for(int i=1; i<3; i++){
  • 99. System.out.println("Datos Estudiantes "+i+" son: "); System.out.println("Nombre: "+DatosEstudiantes.LeerNombre(i)); System.out.println("C.I: " +DatosEstudiantes.Leerid(i)); System.out.println("Telefono: " +DatosEstudiantes.LeerTelefono(i)); System.out.println("Promedio: " +(DatosCalificaciones.LeerNotasDeberes(i)+DatosCalificaciones.LeerNotaProyecto(i)+Dato sCalificaciones.Lee rNotaExamenFinal(i))/3); } } private static class NumberFormatExection { public NumberFormatExection() { } } }
  • 100. TALLER DE LISTAS TAREA Programación Estructurada Ing. Juan Chimarro Santiana Morocho Ligia Lourdes ligissantiana@gmail.com 0997355518 Subtítulo 10-09-2018
  • 101. EJEMPLO DE LISTA System.out.println("Ejemplo de Lista"); //agregar al final lista.agregarAlFinal(18); lista.agregarAlFinal(20); lista.agregarAlFinal(21); //agregar al inicio lista.agregarAlInicio(17); lista.agregarAlInicio(1); System.out.println("Lista"); lista.listar(); System.out.println("nInsrta despues del valor 23 un 4 "); lista.insertarPorReferencia(23, 4); lista.listar(); System.out.println("nPocicion donde se encuentra el numero 20 "); System.out.println(lista.buscar_posision_por_referencia(20)); System.out.println("nnInsrta antes del 20 un 33 "); lista.insrtarPorPosicion(lista.buscar_posision_por_referencia(20),33); lista.listar(); System.out.println("nElimina la lista"); lista.eliminar(); System.out.println("nConsulta si la lista está vacia"); System.out.println(lista.esVacia()); //agregar al final lista.agregarAlFinal(3); lista.agregarAlFinal(4); lista.agregarAlFinal(22); //agregar al inicio lista.agregarAlInicio(4);
  • 103. System.out.println("n<<-- Suma de los valores en la posicion 1 y 3"); System.out.println(lista.getValor(1)+lista.getValor(3)); } }
  • 104. package listasimples; public class lista { private static int leigth; 2. Puntero que indica el inicio de la lista o conocida tambien 3. como cabeza de la lista. private nodo inicio; 2. Variable para registrar el tamaño de la lista. private int tamanio; //variable para contar segun la referencia private int contador; //variable para buscar numeros private int cont; /** Constructor por defecto. */ public void Lista(){ inicio = null; tamanio = 0; contador=0; cont=0; } /** 3.Consulta si la lista esta vacia. 4.@return true si el primer nodo (inicio), no apunta a otro nodo. */ public boolean esVacia(){ return inicio == null; } /** 4.Consulta cuantos elementos (nodos) tiene la lista.
  • 105. 5.@return numero entero entre [0,n] donde n es el numero de elementos 6.que contenga la lista. */ public int getTamanio(){
  • 106. return tamanio; } /** *Agrega un nuevo nodo al final de la lista. *@param valor a agregar. */ public void agregarAlFinal(int valor){ * Define un nuevo nodo. nodo nuevo = new nodo(); *Agrega al valor al nodo. nuevo.setValor(valor ); *Consulta si la lista esta vacia. if (esVacia()) { Inicializa la lista agregando como inicio al nuevo nodo. inicio = nuevo; *Caso contrario recorre la lista hasta llegar al ultimo nodo //y agrega el nuevo. } else{ Crea ua copia de la lista. nodo aux = inicio; *Recorre la lista hasta llegar al ultimo nodo. while(aux.getSiguiente() != null){ aux = aux.getSiguiente(); } *Agrega el nuevo nodo al final de la lista. aux.setSiguiente(nuevo); }
  • 107. *Incrementa el contador de tamaño de la lista tamanio++; } /** 1.Agrega un nuevo nodo al inicio de la lista. 2.@param valor a agregar. */
  • 108. public void agregarAlInicio(int valor){ 1.Define un nuevo nodo. nodo nuevo = new nodo(); 2. Agrega al valor al nodo. nuevo.setValor(valor ); 3. Consulta si la lista esta vacia. if (esVacia()) { Inicializa la lista agregando como inicio al nuevo nodo. inicio = nuevo; 4. Caso contrario va agregando los nodos al inicio de la lista. } else{ Une el nuevo nodo con la lista existente. nuevo.setSiguiente(inicio); Renombra al nuevo nodo como el inicio de la lista. inicio = nuevo; } 1. Incrementa el contador de tamaño de la lista. tamanio++; } /** 1.Inserta un nuevo nodo despues de otro, ubicado por el valor que contiene. 2.@param referencia valor del nodo anterios al nuevo nodo a insertar. 3.@param valor del nodo a insertar. */ public void insertarPorReferencia(int referencia, int valor){
  • 109. 34. Define un nuevo nodo. nodo nuevo = new nodo(); 35. Agrega al valor al nodo. nuevo.setValor(valor ); 36. Verifica si la lista contiene elementos if (!esVacia()) { Consulta si el valor existe en la lista. if (buscar(referencia)) { Crea ua copia de la lista.
  • 110. nodo aux = inicio; 35. Recorre la lista hasta llegar al nodo de referencia. while (aux.getValor() != referencia) { aux = aux.getSiguiente(); } 36. Crea un respaldo de la continuación de la lista. nodo siguiente = aux.getSiguiente(); 37. Enlaza el nuevo nodo despues del nodo de referencia. aux.setSiguiente(nuevo); 38. Une la continuacion de la lista al nuevo nodo. nuevo.setSiguiente(siguiente); 39. Incrementa el contador de tamaño de la lista. tamanio++; } } } /** 1.Inserta un nuevo nodo despues en una posición determinada. 2.@param posicion en la cual se va a insertar el nuevo nodo. 3.@param valor valor del nuevo nodo de la lista. */ public void insrtarPorPosicion(int posicion, int valor){ 1. Verifica si la posición ingresada se encuentre en el rango 2. >= 0 y <= que el numero de elementos del la lista. if(posicion>=0 && posicion<=tamanio){
  • 111. nodo nuevo = new nodo(); nuevo.setValor(valor); Consulta si el nuevo nodo a ingresar va al inicio de la lista. if(posicion == 0){ Inserta el nuevo nodo al inicio de la lista. nuevo.setSiguiente(inicio); inicio = nuevo; }
  • 112. else{ a) Si el nodo a inserta va al final de la lista. if(posicion == tamanio){ nodo aux = inicio; Recorre la lista hasta llegar al ultimo nodo. while(aux.getSiguiente() != null){ aux = aux.getSiguiente(); } Inserta el nuevo nodo despues de del ultimo. aux.setSiguiente(nuevo); } else{ á Si el nodo a insertar va en el medio de la lista. nodo aux = inicio; á Recorre la lista hasta llegar al nodo anterior á a la posicion en la cual se insertara el nuevo nodo. for (int i = 0; i < (posicion-1); i++) { aux = aux.getSiguiente(); } á Guarda el nodo siguiente al nodo en la posición á en la cual va a insertar el nevo nodo. nodo siguiente = aux.getSiguiente(); //Inserta el nuevo nodo en la posición indicada. aux.setSiguiente(nuevo); //Une el nuevo nodo con el resto de la lista. nuevo.setSiguiente(siguiente);
  • 113. } } //Incrementa el contador de tamaño de la lista. tamanio++; } } /** * Obtiene el valor de un nodo en una determinada posición.
  • 114. *@param posicion del nodo que se desea obtener su valor. *@return un numero entero entre [0,n-1] n = numero de nodos de la lista. *@throws Exception */ public int getValor(int posicion) throws Exception{ //Verifica si la posición ingresada se encuentre en el rango //>= 0 y < que el numero de elementos del la lista. if(posicion>=0 && posicion<tamanio){ //Consulta si la posicion es el inicio de la lista. if (posicion == 0) { //Retorna el valor del inicio de la lista. return inicio.getValor(); }else{ //Crea una copia de la lista. nodo aux = inicio; //Recorre la lista hasta la posición ingresada. for (int i = 0; i < posicion; i++) { aux = aux.getSiguiente(); } //Retorna el valor del nodo. return aux.getValor(); } //Crea una excepción de Posicion inexistente en la lista. } else { throw new Exception("Posicion inexistente en la lista."); } }
  • 115. /** *Busca si existe un valor en la lista. *@param referencia valor a buscar. *@return true si existe el valor en la lista. */ public boolean buscar(int referencia){ // Crea una copia de la lista.
  • 116. nodo aux = inicio; //Bandera para indicar si el valor existe. boolean encontrado = false; //Recorre la lista hasta encontrar el elemento o hasta //llegar al final de la lista. while(aux != null && encontrado != true){ //Consulta si el valor del nodo es igual al de referencia. if (referencia == aux.getValor()){ //Canbia el valor de la bandera. encontrado = true; } else{ //Avansa al siguiente. nodo. aux = aux.getSiguiente(); } } //Retorna el resultado de la bandera. return encontrado; //variable para contar segun la referencia } public int buscar_posision_por_referencia(int referencia){ //Crea una copia de la lista. nodo aux = inicio; //Bandera para indicar si el valor existe. boolean encontrado = false; contador=0;
  • 117. //Recorre la lista hasta encontrar el elemento o hasta //llegar al final de la lista. while(aux != null && encontrado != true){ //Consulta si el valor del nodo es igual al de referencia. if (referencia == aux.getValor()){ //Canbia el valor de la bandera. encontrado = true; }
  • 118. else{ //Avansa al siguiente. nodo. aux = aux.getSiguiente(); contador++; } } //Retorna el resultado de la bandera. return contador; } public int buscar_cuantos_numero_hay(int referencia){ //Crea una copia de la lista. nodo aux = inicio; //Bandera para indicar si el valor existe. boolean encontrado = false; cont=1; //Recorre la lista hasta encontrar el elemento o hasta //llegar al final de la lista. while(aux != null && encontrado != true){ //Consulta si el valor del nodo es igual al de referencia. if (referencia == aux.getValor()){ //Canbia el valor de la bandera. encontrado = true; } else{ //Avansa al siguiente. nodo. aux =
  • 119. aux.getSiguiente(); cont++; } } //Retorna el resultado de la bandera. return cont; } /**
  • 120. *Consulta la posición de un elemento en la lista * @param referencia valor del nodo el cual se desea saber la posición. *@return un valor entero entre [0,n] que indica la posición del nodo. *@throws Exception */ public int getPosicion(int referencia) throws Exception{ //Consulta si el valor existe en la lista. if (buscar(referencia)) { //Crea una copia de la lista. nodo aux = inicio; //COntado para almacenar la posición del nodo. int cont = 0; //Recoore la lista hasta llegar al nodo de referencia. while(referencia != aux.getValor()){ //Incrementa el contador. cont ++; //Avansa al siguiente. nodo. aux = aux.getSiguiente(); } //Retorna el valor del contador. return cont; //Crea una excepción de Valor inexistente en la lista. } else { throw new Exception("Valor inexistente en la lista."); } } /** *Actualiza el valor de un nodo que se encuentre en la lista ubicado
  • 121. *por un valor de referencia. *@param referencia valor del nodo el cual se desea actualizar. *@param valor nuevo valor para el nodo. */ public void editarPorReferencia(int referencia, int valor){ // Consulta si el valor existe en la lista.
  • 122. if (buscar(referencia)) { //Crea ua copia de la lista. nodo aux = inicio; //Recorre la lista hasta llegar al nodo de referencia. while(aux.getValor() != referencia){ aux = aux.getSiguiente(); } //Actualizamos el valor del nodo aux.setValor(valor); } } /** * Actualiza el valor de un nodo que se encuentre en la lista ubicado *por su posición. *@param posicion en la cual se encuentra el nodo a actualizar. *@param valor nuevo valor para el nodo. */ public void editarPorPosicion(int posicion , int valor){ //Verifica si la posición ingresada se encuentre en el rango //>= 0 y < que el numero de elementos del la lista. if(posicion>=0 && posicion<tamanio){ //Consulta si el nodo a eliminar es el primero. if(posicion == 0){ //Alctualiza el valor delprimer nodo. inicio.setValor(valor); } else{
  • 123. //En caso que el nodo a eliminar este por el medio //o sea el ultimo nodo aux = inicio; //Recorre la lista hasta lleger al nodo anterior al eliminar. for (int i = 0; i < posicion; i++) { aux = aux.getSiguiente(); }
  • 124. //Alctualiza el valor del nodo. aux.setValor(valor); } } } /** *Elimina un nodo que se encuentre en la lista ubicado *por un valor de referencia. *@param referencia valor del nodo que se desea eliminar. */ public void removerPorReferencia(int referencia){ //Consulta si el valor de referencia existe en la lista. if (buscar(referencia)) { //Consulta si el nodo a eliminar es el pirmero if (inicio.getValor() == referencia) { // El primer nodo apunta al siguiente. inicio = inicio.getSiguiente(); } else{ //Crea ua copia de la lista. nodo aux = inicio; //Recorre la lista hasta llegar al nodo anterior //al de referencia. while(aux.getSiguiente().getValor() != referencia){ aux = aux.getSiguiente(); } //Guarda el nodo siguiente del nodo a eliminar. nodo siguiente = aux.getSiguiente().getSiguiente(); //Enlaza el nodo anterior al de eliminar con el
  • 125. // sguiente despues de el. aux.setSiguiente(siguiente); } //Disminuye el contador de tamaño de la lista. tamanio--; }
  • 126. } /** *Elimina un nodo que se encuentre en la lista ubicado *por su posición. *@param posicion en la cual se encuentra el nodo a eliminar. */ public void removerPorPosicion(int posicion){ //Verifica si la posición ingresada se encuentre en el rango //>= 0 y < que el numero de elementos del la lista. if(posicion>=0 && posicion<tamanio){ //Consulta si el nodo a eliminar es el primero if(posicion == 0){ //Elimina el primer nodo apuntando al siguinte. inicio = inicio.getSiguiente(); } //En caso que el nodo a eliminar este por el medio //o sea el ultimo else{ //Crea una copia de la lista. nodo aux = inicio; //Recorre la lista hasta lleger al nodo anterior al eliminar. for (int i = 0; i < posicion-1; i++) { aux = aux.getSiguiente(); } //Guarda el nodo siguiente al nodo a eliminar. nodo siguiente = aux.getSiguiente();
  • 127. //Elimina la referencia del nodo apuntando al nodo siguiente. aux.setSiguiente(siguiente.getSiguiente()); } //Disminuye el contador de tamaño de la lista. tamanio--; } } /**
  • 128. *Elimina la lista */ public void eliminar(){ //Elimina el valor y la referencia a los demas nodos. inicio = null; //Reinicia el contador de tamaño de la lista a 0. tamanio = 0; } /** *Mustra en pantalla los elementos de la lista. */ public void listar(){ //Verifica si la lista contiene elementoa. if (!esVacia()) { //Crea una copia de la lista. nodo aux = inicio; //Posicion de los elementos de la lista. int i = 0; //Recorre la lista hasta el final. while(aux != null){ //Imprime en pantalla el valor del nodo. System.out.print(i + ".[ " + aux.getValor() + " ]" + " -> "); //Avanza al siguiente nodo. aux = aux.getSiguiente(); //Incrementa el contador de la posión. i++;
  • 132. 2 1 PROYECTO INTEGRADOR 1.1.-Nombre del proyecto “Diseño de un sistema antirrobo e implementación de un dispositivo para controlar los grados de alcohol del conductor de un vehículo mediante la programación de una placa arduino para beneficio de la comunidad educativa del INT en el año 2018”. 1.2.- Tema del proyecto Micro “Diseño de un sistema antirrobo e implementación de un dispositivo para controlar los grados de alcohol del conductor de un vehículo mediante la programación de una placa arduino para beneficio de la comunidad educativa del INT en el año 2018” 1.3 Asignaturas integradoras 1.4.-Asignatura Rectora Programación estructurada Es la materia rectora ya que la programación de la placa arduino se comunicara con java a través de una interfaz grafica. 1.4.-Nombre de los docentes tutores Ing. Juan Chimarro Tlgo. Martín Luzon 1.5.-Nombres de los estudiantes CHANCOSI GARCIA CARLOS HUMBERTO CC: 1725224644 CRIOLLO ACERO CLAUDIO SANTIAGO CC: 1724295280 Asignatura Código - Programación Estructurada _____ - Arquitectura del Computador ______ - Matemática Aplicada ______ - Análisis de sistemas ______ - Contabilidad Computarizada ______ - Inglés III ______ - - - - - - - -
  • 133. 3 GUZMAN QUISHPE VERONICA GABRIELAZ CC: 1714502166 MONTEROS MARMOL DIEGO ISRAEL CC: 1722593140 SANTIANA MOROCHO LIGIA LOURDES CC: 17 18240870 ULCUANGO ULCUANGO JHONATAN PAUL CC: 1727926014 FARINANGO PILCA JOSÉ PEDRO CC: 1728060995 1.6.-Localización geográfica del proyecto 2 DIANÓSTICO SITUACIONAL Brevemente viendo la situación actual del número de delincuencia y los altos índices de accidentes a causa del consumo excesivo de alcohol que atraviesa nuestra ciudad de Cayambe, y principalmente en los últimos años el robo de vehículos. Razón por la cual con el fin de erradicar este problema se ha propuesto el diseño de un sistema de alarma antirrobo e implementación de un dispositivo de control de alcohol que ayuda a prevenir accidentes para vehículos de la comunidad Educativa del INT. 2.1 FORMULACION DEL PROBLEMA En la ciudad de Cayambe, actualmente viene atravesando por un alto índice de delincuencia y además el exceso de accidentes de tránsito debido al consumo masivo de alcohol, nosotros como estudiantes del Instituto Tecnológico Superior “Nelson I. Torres” hemos planteado la necesidad de diseñar un sistema de alarma antirrobo e implementación de un dispositivo para controlar los grados de alcohol del conductor de un vehículo mediante la programación de una placa arduino para beneficio de la comunidad educativa del INT en el año 2018, garantizando la seguridad a los vehículos y ayudando a disminuir los accidentes de tránsito ya que por medio de este sistema el propietario del vehículo ya que en caso de ser atacado será alertado mediante un mensaje directo hacia su teléfono celular y en caso de que el conductor se encuentre en estado etílico este sistema no le permitirá encender el vehículo. Para que el mismo inmediatamente pueda alertar a las autoridades correspondientes. Falta de vigilancia de los vehículos. Perdida de accesorios a vehículos. Sistemas de seguridad para prevenir los robos de vehículos. Accidentes por consumo de alcohol Provincia : Pichincha Cantón : Cayambe Parroquia : (Ayora) Comunidad / sector : (Cayambe) Institución / Organización : (Instituto Nelson Torres)
  • 134. 4 3.-JUSTIFICACIÓN El presente proyecto es de suma importancia ya que proporciona seguridad a la comunidad. La necesidad de crear el presente dispositivo de alarma antirrobo para vehículos se encuentra fundamentada en tratar de evitar el robo de vehículos, a la vez dificultar a los delincuentes cometer este delito se busca que la persona se sienta segura al momento de dejar su vehículo en cualquier sitio de parqueo ya sea en nuestra propia casa, o en la calle conlleva a no saber si al regresar lo encontraremos donde lo estacionamos en las condiciones en las que lo dejamos con esto dispositivo podremos disminuir el riesgo de robos a los vehículos u otro tipo de inconvenientes. Ya que este sistema nos pondrá alerta sobre este tipo de situaciones y de esa manera pondremos al tanto a las autoridades correspondientes o simplemente determinaremos si la situación es de gravedad o no. En vista de los accidente que se han ido suscitando en nuestra ciudad a causa del efecto del alcohol y pensando en el bienestar de los conductores hemos decidido implementar un detector que permite medir los grados de alcohol que se ha ingerido, este dispositivo nos ayudará a disminuir y evitar lamentables accidentes de tránsito a causa del excesivo consumo de alcohol. Este dispositivo funciona en caso de que el conductor se encuentre en estado etílico y sobrepase el rango establecido de 0.65° de alcohol el detector hará que el vehículo se apague o quede bloqueado. Haciendo llegar un mensaje de texto de “exceso de alcohol” como señal de alerta, y para desbloquear se enviara un mensaje de texto con la palabra “desbloquear” para poder encender el vehículo. 4.-OBJETIVOS 4.1.- Objetivo General  Diseñar un sistema antirrobo de vehículos e implementación de un detector de alcohol para el personal docente, administrativo y estudiantes del INT en el periodo 2018. 4.2.- Objetivos Específicos  Realizar un estudio o análisis mediante la recopilación de datos que involucre a un buen desarrollo del proyecto.  Determinar la creación técnica de un sistema para disminuir el robo de vehículos y accidentes de transito
  • 135. 5  Realizar un análisis de sostenibilidad y retorno de inversión el cual se espera evidencia la rentabilidad del proyecto con una cotización de gastos en la implementación de un sistema antirrobo. 5.- MARCO TEÓRICO 6.1 ENCUESTA Es un procedimiento dentro de los diseños de una investigación descriptiva en el que el investigador recopila datos por medio de un cuestionario previamente diseñado, sin modificar el entorno ni el fenómeno donde se recoge la información ya sea para entregarlo en forma de tríptico, gráfica o tabla. Los datos se obtienen realizando un conjunto de preguntas normalizadas dirigidas a una muestra representativa o al conjunto total de la población estadística en estudio, integrada a menudo por personas, empresas o entes institucionales, con el fin de conocer estados de opinión, ideas, características o hechos específicos. 6.2 ARDUINO NANO El Arduino Nano es un tablero pequeño, completo y amigable con el tablero basado en el ATmega328 (Arduino Nano 3.x). Tiene más o menos la misma funcionalidad del Arduino Duemilanove, pero en un paquete diferente. Carece solo de una toma de alimentación de CC, y funciona con un cable USB Mini-B en lugar de uno estándar. 6.2.1 MODULO SIM Este módulo es un desglose y sistema mínimo del módulo SIM900 GSM/GPRS de Cuatro bandas. Se comunica con controladores mediante comandos AT (GSM 07.07 ,07.05 and SIMCOM enhanced AT Commands) y soporta encendido y reinicio por software. Incluye la antena GSM. Características Quad-Band 850/ 900/ 1800/ 1900 MHz GPRS multi-slot class 10/8GPRS mobile station class B Compliant to GSM phase 2/2+Class 4 (2 W @850/ 900 MHz) Class 1 (1 W @ 1800/1900MHz)
  • 136. 6 Control mediante comandos AT (GSM 07.07 ,07.05 and SIMCOM enhanced AT Commands) Bajo consumo de potencia: 1.5mA(modo dormido) Temperatura de operación: -40°C to +85 °C Tamaño de placa: 6.4 x 5.1 x 1.2cm Nivel de voltaje de operación: Digital 5V Voltaje de alimentación externa: 5VDC, 2ª 6.2.2 SENSOR MAGNETICO El Sensor magnético para ventanas y puertas consta de un imán y un reedswitch (interruptor magnético). Este sensor funciona como un switch normalmente abierto (mientras hay campo magnético). Cuando la puerta o ventana se abre, el circuito eléctrico también se cierra y es posible detectar la apertura de la misma. El sensor viene completamente sellado en plástico lo que lo hace extremadamente resistente. La conexión con otros sistemas se realiza mediante cables que vienen previamente instalados en el sensor y que habrá que unir con un cable más largo. El montaje en la puerta o ventana puede realizarse mediante cinta autoadherible que viene incluida o bien mediante tornillos si desea una mejor fijación. Características del Sensor magnético para ventanas y puertas Sensor magnético para ventanas y puertas Contacto normalmente abierto, se cierra al detectar Auto adherible, no hay necesidad de taladrar Ideal para maquetas de alarmas y sistemas de seguridad Ideal en algunas aplicaciones de domótica Su funcionamiento es confiable incluso en ambientes poco hostiles
  • 137. 7 6.2. 3PLACA PROTOBOARD Una placa de pruebas (en inglés: protoboard o breadboard) es un tablero con orificios que se encuentran conectados eléctricamente entre sí de manera interna, habitualmente siguiendo patrones de líneas, en el cual se pueden insertar componentes electrónicos y cables para el armado y prototipado de circuitos electrónicos y sistemas similares. Está hecho de dos materiales, un aislante, generalmente un plástico, y un conductor que conecta los diversos orificios entre sí. Uno de sus usos principales es la creación y comprobación de prototipos de circuitos electrónicos antes de llegar a la impresión mecánica del circuito en sistemas de producción comercial. 6.2.4 CABLE PUENTE Un cable puente para prototipos (o simplemente puente para prototipos), es un cable con un conector en cada punta (o a veces sin ellos), que se usa normalmente para interconectar entre sí los componentes en una placa de pruebas. P.E.: se utilizan de forma general para transferir señales eléctricas de cualquier parte de la placa de prototipos a los pines de entrada/salida de un microcontrolador. Los cables puente se fijan mediante la inserción de sus extremos en los agujeros previstos a tal efecto en las ranuras de la placa de pruebas, la cual debajo de su superficie tiene unas planchas interiores paralelas que conectan las ranuras en grupos de filas o columnas según la zona. Los conectores se insertan en la placa de prototipos, sin necesidad de soldar, en los agujeros que convengan para el conexionado del diseño.
  • 138. 8 6.2.5 RESISTENCIA Se dice que un cuerpo es conductor cuando este puesto en contacto con un cuerpo cargado de electricidad transmite ésta a todos los puntos de su superficie. Elemento generalmente metálico, capaz de conducir la electricidad cuando es sometido a una diferencia de potencial eléctrico. Para que ello sea efectuado eficientemente, se requiere que posea una baja resistencia para evitar pérdidas desmedidas por Efecto Joule y caída de tensión. 6.2.6. Sensor De Alcohol MAQ3 Es un sensor de Alcohol. Este nos puede entregar un valor analógico o digital regulable con un potenciómetro que se encuentra en la placa. Con este podemos armar fácilmente un alcoholímetro casero. 6.2.7. Relé 12 V. BOSH Sirve como un protector de corriente que se activa por medio de una bobina magnética que a su vez es energizada por cierto voltaje de corriente por ejemplo por la batería de un auto. Este relevador protege algunos circuitos o interruptores de cargas de alto consumo de corriente como los faros, moto ventilador. 6.2.8. Socket Un socket se define como el punto final en una conexión. Los sockets se crean y se utilizan con un sistema de peticiones o de llamadas de función a veces llamados interfaz de programación de aplicación de sockets (API, application programming interface).
  • 139. 9 6.2.8. Cable parlante Sirve para realizar conexiones eléctricas entre altavoces y amplificadores de audio. El cable para bocinas moderno consta de dos o más conductores eléctricos aislados individualmente por plástico (tal como PVC, PE o teflón) o, menos comúnmente, caucho. 6.2.9. Diodos 5399 Un diodo es un componente electrónico de dos terminales que permite la circulación de la corriente eléctrica a través de él en un solo sentido,1 bloqueándo el paso si la corriente circula en sentido contrario. Esto hace que el diodo tenga dos posibles posiciones: una a favor de la corriente (polarización directa) y otra en contra de la corriente (polarización inversa). 6.2.9. Reguladores de Voltaje Es un equipo eléctrico que acepta una tensión variable a la entrada, dentro de un parámetro pre terminado el cual mantiene una salida de tensión constante (regulada). Su función principalmente es para suministrar una tensión fija, estos reguladores pueden ser utilizados con componentes externos para obtener voltajes y corrientes ajustables. Una característica de estos dispositivo es que dispone de protección térmica y limitación de corriente por si se producen cortocircuitos, esto hace que si en algún momento nos sobrepasamos en sus características el regulador de tensión queda protegido. 7805 PARA REGULAR A 5 VO Es un regulador de voltaje lineal que aguanta una corriente máxima de 35v y puede trabajar hasta 15°. 7812 Para Regular a 12 V. Es un regulador de voltaje de tres terminales, salida de 12V y hasta 1A
  • 140. 10 6.2.10. Borneras Un borne es cada una de las partes metálicas de una máquina o dispositivo eléctrico donde se produce la conexión con el circuito eléctrico exterior al mismo. Led 3 mm Un LED es un componente en el que el voltaje que cae depende de la intensidad, de la corriente que circula por él, siempre que esta corriente circule en el sentido correcto (si circula en el sentido contrario se funde el LED). Antena GSM (900/1800), conector SMA, incluye un cable de interfaz (SMA a U.FL) a un tipo de conector roscado para cable coaxial utilizado en microondas, útil hasta una frecuencia de 33 GHz, si bien suele dejar de utilizarse a partir de los 18 GHz, existen tipos diseñados para 26,5 GHz. Conector DC Macho Atornillado Es un conector eléctrico para suministrar corriente continua (CC). Las dimensiones y la disposición de los conectores de CC se pueden elegir para evitar la interconexión accidental de fuentes y cargas incompatibles. Adaptador AC/DC
  • 141. 11 Es un tipo de alimentación externa, a menudo encerrada en lo que aparenta ser una clavija de corriente de gran tamaño. Otras denominaciones que se emplean son la de paquete de enchufe, adaptador de enchufe, bloque adaptador, adaptador de red eléctrica doméstica, adaptador de línea en línea o adaptador de corriente.
  • 142. 12 6.-MARCO LEGAL Según Art. 1 HURTO DE VEHÍCULOS AUTOMOTORES. El que se apodere de un vehículo automotor perteneciente a otra persona natural o jurídica con el propósito de obtener provecho para así o para otro, sin el consentimiento de su dueño será penado con prisión de ocho a cuatro años. Según Art. 2 CIRCUNSTANCIAS AGRAVANTES La pena al poner para el hurto de vehículo promotor será de seis a diez años de prisión si el hecho punible se confiere. 1.- sobre vehículos destinados al transporte público colectivo o de carga. 2.- valiéndose de la actividad realizada por menores de edad 3.- sobre vehículos expuestos a la confianza pública por necesidad 4.- de noche o habiendo penetrado en cualquier lugar habitado o dependencia propiedad de otro. 5.- por dos o más personas que se hubieran unido para realizar. Art. 3. DESVALIJAMIENTO DE VEHÍCULOS AUTOMOTORES Quienes substraigan partes o piezas de un vehículo automotor perteneciente a otra persona sin apoderarse del mismo, con el propósito de obtener provecho para sí o para otro, serán sancionados con pena de cuatro a ocho años. Igual pena se impondrá a quien detente, esconda o comercialice las partes o piezas sustraídas aun cuando no haya tomado parte en el delito. ART.376 MUERTE POR CONDUCIR EBRIO 10 a 12 años de cárcel es la pena para el conductor que se encuentre en estado de embriaguez o bajo los efectos de sustancias estupefacientes y mate a una o más personas. Parte de la sensación será la revocatoria definitiva de la licencia. Si se trata de un chofer de transporte público, además del castigo penal, el propietario del vehículo y la operadora serán solidariamente responsables por los daños civiles. En la vigente Ley de transporte terrestre, Transito y Seguridad Vial la sanción por este delito es la misma. ART.385 MANEJAR EN ESTADO ETÍLICO En el código penal se incluyeron tres escalas para juzgar a los conductores ebrios: Si al nivel de alcohol en la sangre es de 0.3 a 0.8 grados hay una multa económica de un salario básico, perdida de 5 puntos a la licencia y 5 días de prisión. Si el nivel es mayor de 0.8 hasta 1.2 grados la sanción es de dos salarios básicos, 10 puntos a la licencia y 15 días de cárcel. Si en el test de alcoholemia el conductor supera ls 1.2 grados a equivalente a tomar más de 24 cervezas son tres salarios básicos de multa, suspensión de 60 días a la licencia y 30 día en prisión. 7.- METODOLOGÍA 7.1.- Tipos de Investigación Investigación exploratoria El presente proyecto se centra en ayudar a un mejor funcionamiento vehicular
  • 143. 13 7.2.- Métodos de Investigación Método Deductivo- Inductivo Prevenir el robo de los accesorios con la implementación de una placa de comunicación Arduino Nano. 7.3.- Técnicas de Investigación La encuesta Según la encuesta realizada en el Instituto Tecnológico Superior ”Nelson Torres” tenemos la aceptación del 75% ante una negación del 25% 8.- POBLACIÓN Y MUESTRA POBLACION FINITA El Cantón Cayambe tiene una población de 92.242 habitantes, urbana de 45.137 habitantes y la rural 53.105 8.1 Cálculo del tamaño de la muestra Desarrollo: n = (z)2 ∗ 𝑝 ∗ 𝑞 Σ2 n = N ∗ (z)2 ∗ 𝑝 ∗ 𝑞 Σ2(N − 1) + (z)2 ∗ 𝑝 ∗ 𝑞 Población Infinita Población Finita Simbología: N = Tamaño de la población n = Tamaño de la muestra p = Probabilidad de aceptación - 0,50 q = Probabilidad de No Aceptación - 0,50 z= Nivel de Confianza - 1,96 Σ = Error muestral - 0,05 Comentario [H1]: Seleccione la fórmula que se adapte al proyecto calcule el tamaño de su muestra
  • 144. 14 Simbología: N = Tamaño de la población n = Tamaño de la muestra p = Probabilidad de aceptación - 0,50 q = Probabilidad de No Aceptación - 0,50 z= Nivel de Confianza - 1,96 Σ = Error muestral - 0,05 Población Finita 𝐧 = 𝐍 ∗ (𝐳) 𝟐 ∗ 𝒑 ∗ 𝒒 𝚺 𝟐(𝐍 − 𝟏) + (𝐳) 𝟐 ∗ 𝒑 ∗ 𝒒 𝐧 = 𝟑𝟎 ∗ (𝟏. 𝟗𝟔) 𝟐 ∗ (𝟎. 𝟓𝟎) ∗ (𝟎. 𝟓𝟎) (𝟎. 𝟎𝟓) 𝟐(𝟑𝟎 − 𝟏) + (𝟏. 𝟗𝟔) 𝟐 ∗ (𝟎. 𝟓𝟎) ∗ (𝟎. 𝟓𝟎) 𝐧 = 𝟐𝟖. 𝟖𝟏𝟐 𝟏. 𝟎𝟑𝟐𝟗 𝐧 = 𝟐𝟕. 𝟖𝟗𝟒 9.-Desarrollo o propuesta Este proyecto está diseñado para las personas que tienen vehículos de manera que se les ayude a cuidar su vehículo y también está dirigido a evitar accidentes de tránsito ya que posee un alcoholímetro q de manera que se detecte un exceso de alcohol el conductor no podrá encender el vehículo y asi se evitaran futuros accidentes.
  • 145. 15 10.- CRONOGRAMA DE ACTIVIDADES (en Project) Fuente: INT ACTIVIDADES semana 1 semana 2 semana 3 semana 4 semana 1 semana 2 semana 3 semana 4 N° Actividades Administrativas L M M J V L M M J V L M M J V L M M J V L M M J V L M M J V L M M J V L M M J V 1 Idea del Tema X X 2 Planteamiento del problema X X 3 Tema X X X 4 Objetivos X X N° ACTIVIDADES OPERATIVAS L M M J V L M M J V L M M J V L M M J V L M M J V L M M J V L M M J V L M M J V 1 Asesoramiento profesional X X 2 Asesoramiento Técnico X X X X X 3 Primer Borrador X X 4 Presentación de proyecto X X
  • 146. 16 11.- BENEFICIARIOS 12.- RECURSOS 13.- COSTOS DE LA ELABORACIÓN DEL PRODUCTO O SERVICIO Tabla No. Costos Detalle CANTIDAD UNIDAD DE MEDIDA VALOR UNIT VALOR TOTAL Placa arduino 1 $ 48,00 48,00 Directos: Personal docente, administrativo y estudiantil del INT. Indirectos: La población en general. - Recursos Humanos.- Ing.Juan Chimarro (Tutor) - Recursos Materiales.- - Vehículo Placa arduino NANO Protoboart Módulo GSM Fines de carrera Módulo DS-DS Cables de arduino Programación y ensamblaje Detector de alcohol 3 Sensores magnéticos 8 Mts de cable audio 4 Reguladores de voltaje 1 Chip claro móvil Tarjeta GSM 3 Resistencias de 220 OHM 1 Resistencias de 1k OHM 4 Led 1 Bornera 1 Ac Dc (hembra) 1 Ac Dc (macho) - Recursos tecnológicos.- - Sistema de programación Arduino - Un Computador - Medidor de voltaje - Auto
  • 147. 17 Módulo GSM 1 $ 48,00 48,00 Sensores magnéticos 3 $ 5,50 16,50 Módulo DS-DS 1 $ 8,50 8,50 Sensor de alcohol MQ-3 1 $ 15,00 15,00 Rele automotriz 12V 1 $ 10,00 10,00 Disparador Mosfet IRFZ44 1 $ 5,00 5,00 Resistencia 1 k 1 $ 0,05 0,05 Borneras de 2 3 $ 0,75 2,25 Resistencia de 47 1 $ 0,05 O,05 Cables de arduino 1 $ 5,00 5,00 Asesoramiento de programación 1 $ 30,00 30,00 Cable de audio 8 $ 0,60 4,80 Impresiones y copias $ 20,00 20,00 Varios 1 $ 20,00 20,00 TOTAL 243,15 17 CONCLUSIONES En base a este proyecto se logró implementar un sistema antirrobo de vehículo mediante la programación de una placa Arduino que beneficiara al personal docente, administrativo y estudiantes del INT. En base de este proyecto el sistema antirrobo de vehículo mediante la programación de una placa Arduino es de alta confiabilidad y reduce el riesgo de robo de vehículos o accesorios. Se determina que tiempo de análisis de los costos en relación al beneficio es directamente positivo. Se ha implementado el detector de Alcoholemia en el sistema antirrobo con el fin de proporcionar un equipo viable para la seguridad tanto del usuario como del vehículo. Se concluye que el alcoholímetro es un sistema eficaz debido a la función que realiza junto con el sistema antirrobo implementado en el vehículo.
  • 148. 18 En definitiva el alcoholímetro indica el nivel de alcohol cuando una persona se encuentra en estado etílico. 18 RECOMENDACIONES En función del estudio o análisis del proyecto, es necesario implementar este sistema, a todos los vehículos sean estos privados y públicos, con el fin de minimizar el índice robo a vehículos. Implementar una campana de instalación de sistemas antirrobo en toda la ciudad de Cayambe. Se recomienda socializar el presente proyecto y dar a conocer que es un producto tanto rentable como viable ante la sociedad. 19 REFERENCIAS BIBLIOGRÁFICAS INT, E. (junio de 2017). Sistema antirrobo y detector de alcoholemia para vehículo. Sistema antirrobo y detector de alcoholemia para vehículo. Cayambe, Pichincha, Ecuador. Morales, L. D. (2014). proyectos.uca. Recuperado el 2017, de proyectos.uca: proyectos.uca.es/c3ir/pdf/gps_gsm Wikipedia. (2003). wikipedia. Recuperado el 2017, de wikipedia: file:///C:/Users/pc06/Downloads/Arduino.pdf wikipedia. (2004). wikipedia. Recuperado el 2017, de wikipedia: https://es.wikipedia.org/wiki/Rel%C3%A9 20 ANEXOS ANEXO I: ESTRUCTURA DE PROGRAMACIÓN #include <SoftwareSerial.h> SoftwareSerial sim800(2, 3); // RX, TX char numero_cell[]="+593979616109"; char numero_cell2[]="+593982862456"; String estado = ""; String msg1="Su automovil detecto apertura de puerta principal"; String msg2="Su automovil detecto apertura de puerta secunadario"; String msg3="Su automovil detecto apertura de puerta capo"; int condicion=0; int principal=4;
  • 149. 19 int secundario=5; int capo=6; int led_seguridad=7; int motor=8; int ledmotor=9; float valor_limite= 0.65; // Fija el valor límite en el que se activa la alarma float valor_alcohol; // Fije el valor después de visualizar el nivel con el Monitor int cond_alc=0; void setup() { // put your setup code here, to run once: Serial.begin(9600); sim800.begin(9600); pinMode(principal,INPUT); pinMode(secundario,INPUT); pinMode(capo,INPUT); pinMode(led_seguridad,OUTPUT); digitalWrite(led_seguridad,LOW); pinMode(motor,OUTPUT); pinMode(ledmotor,OUTPUT); digitalWrite(motor, LOW); digitalWrite(ledmotor, LOW); configuracion_inicial(); delay(1000); //llamar(); } void loop() { // put your main code here, to run repeatedly: if (sim800.available()){ //Si hay datos disponibles estado = sim800.readString(); //Los almacenamos en la variable Comando Serial.println("NUEVO SMS ENTRANTE: " + estado); //Los sacamos por comunicacion serie } delay(200); valor_alcohol=analogRead(A0); //Serial.println(valor_alcohol); // Envía al Serial el valor leído del Sensor MQ3 float porcentaje=(valor_alcohol/1000); //calcula el porcentaje Serial.println(porcentaje); // Envía al Serial el porcentaje if(porcentaje > valor_limite){ // Si la medida de gas metano o etílico es mayor de valor limite if (cond_alc==0){ mensaje_alarma(numero_cell2,"Exceso alcohol"); delay(2000); }
  • 150. 20 digitalWrite(motor, HIGH); //Bloquear motor del carro digitalWrite(ledmotor, HIGH); // Enciende el Zumbador conectado al Pin 13 Serial.print("EXCESO DE ALCOHOL"); // describe el estado del sensor cond_alc=1; //delay(200); } if(porcentaje<= valor_limite){ // Si es menor del valor límite apaga el Zumbador digitalWrite(ledmotor, LOW); } if(estado.indexOf("Desbloquear")>=0) { if(porcentaje<= valor_limite){ // Si es menor del valor límite apaga el Zumbador digitalWrite(motor, LOW); cond_alc=0; } } if(estado.indexOf("On")>=0) { digitalWrite(led_seguridad,HIGH); condicion=1; Serial.println("activando"); delay(2000); estado = ""; } if(condicion==1){ if(digitalRead(principal)==LOW ) { mensaje_alarma(numero_cell,msg1); delay(2000); configuracion_inicial(); delay(1000); mensaje_alarma(numero_cell2,msg1); delay(2000); for(int i=0;i<10;i++){ digitalWrite(led_seguridad,HIGH); delay(500); digitalWrite(led_seguridad,LOW); delay(500); } condicion=0; }
  • 151. 21 if(digitalRead(secundario)==LOW ) { mensaje_alarma(numero_cell,msg2); delay(2000); configuracion_inicial(); delay(1000); mensaje_alarma(numero_cell2,msg2); delay(2000); for(int i=0;i<10;i++){ digitalWrite(led_seguridad,HIGH); delay(500); digitalWrite(led_seguridad,LOW); delay(500); } condicion=0; } if(digitalRead(capo)==LOW ) { mensaje_alarma(numero_cell,msg3); delay(2000); configuracion_inicial(); delay(1000); mensaje_alarma(numero_cell2,msg3); delay(2000); for(int i=0;i<10;i++){ digitalWrite(led_seguridad,HIGH); delay(500); digitalWrite(led_seguridad,LOW); delay(500); } condicion=0; } delay(200); } if(estado.indexOf("Off")>=0){ //Si la variable Comando contiene la palabra Reactivar digitalWrite(led_seguridad,LOW); delay(200); estado = ""; //Vaciamos la variable } } void configuracion_inicial()//configura los codigos de lectura de mensajes {
  • 152. 22 sim800.println("AT+IPR=9600");//modo texto Serial.println("AT+IPR=9600");//modo texto delay(300); sim800.println("AT+CMGF=1");//modo texto Serial.println("AT+CMGF=1");//modo texto delay(300); sim800.println("AT+CNMI=1,2,0,0,0");//ACTIVAMOS PARA VER MENSAJES Serial.println("AT+CNMI=1,2,0,0,0");//ACTIVAMOS PARA VER MENSAJES delay(300); Serial.println("configuracion terminada"); delay(300); } void llamar(){ Serial.println("AT"); sim800.println("AT"); delay(1000); Serial.print("ATD"); sim800.print("ATD"); Serial.println(numero_cell); sim800.println(numero_cell); delay(15000); Serial.println("ATH"); sim800.println("ATH"); } void mensaje_alarma(char n[], String m ) { sim800.println("AT+CMGF=1");//modo texto //Imprime los datos al puerto serie como texto ASCII seguido de un retorno de carro delay(2000); sim800.print("AT+CMGS=");// comando de envio de mensaje //Imprime los datos al puerto serie como texto ASCII sim800.print((char)34);//ponemos las comillas ", para que lo tome debe ser char de lo contrario el serial envia caracter por caracter sim800.print(n);//colocamos numero de telefono sim800.println((char)34);//volvemos a poner el caracter " delay(200);//tiempo para que de respuesta el modulo > sim800.print(m);//mensaje que enviare sim800.print((char)26);//ponemos el simbolo ascii 26,que corresponde a CTRL+Z,con lo que el modulo sabe que el sms termino //Serial.print("Hay un intruso JCTECNOLOGIAS");//mensaje que enviare }
  • 153. 23 ANEXO II: ESQUEMA DE CIRCUITO ELECTRICO DE LA PLACA ARDUINO Definición.- Un circuito eléctrico, es la interconexión de dos o más componentes que contiene una trayectoria cerrada. Dichos componentes pueden ser resistencias, fuentes, interruptores, condensadores, semiconductores o cables, por ejemplo. Cuando el circuito incluye componentes electrónicos, se habla de circuito electrónico. Comunicación Serial: Enviando datos de Arduino a Java Para poder utilizar este método necesitamos modificar nuestra función ArduinoConnection() y declarar algunas variables. Los datos que enviamos de Arduino a Java se envían a través de una variable OutputStream llamada Output. Ahora declararemos una variable del tipoInputStream llamada Input.
  • 154. 24 Interfaz gráfica arduino java Código java: package com.panamahitek.arduinoswitch; import com.panamahitek.ArduinoException; import com.panamahitek.PanamaHitek_Arduino; import java.awt.Color; import java.util.logging.Level; import java.util.logging.Logger; import jssc.SerialPortEvent; import jssc.SerialPortEventListener; import jssc.SerialPortException; * @author Antony García Gonzáles, from Panama Hitek Creative Team * Este ejemplo le da dfuncionalidad a un sencillo ejemplo para encender o * apagar un LED conectado a Arduino al presionar uno de los dos botones de la * interfaz gráfica. */
  • 155. 25 public class Window extends javax.swing.JFrame { //Se instancia la Librería Arduino SerialPortEventListener Listener= new SerialPortEventListener(){ @Override public void serialEvent(SerialPortEvent spe) { try { if(Arduino.isMessageAvailable()) { String lectura = Arduino.printMessage(); System.out.print(lectura); // if ("EXCESO DE ALCOHOL".equals(lectura)){ c.disableButton(jButtonBloquear); c.enableButton(jButtonDesbloquear); lector.setText (lectura); } else if ("CERO ALCOHOL".equals(lectura)){ lector.setText (lectura); } else if (!"CERO ALCOHOL".equals(lectura)||!"EXCESO DE ALCOHOL".equals(lectura)) { Alcohol.setText (lectura); } } } catch (SerialPortException ex) { Logger.getLogger(Window.class.getName()).log(Level.SEVERE, null, ex); } catch (ArduinoException ex) { Logger.getLogger(Window.class.getName()).log(Level.SEVERE, null, ex); }
  • 156. 26 } }; PanamaHitek_Arduino Arduino = new PanamaHitek_Arduino(); Controls c = new Controls(); public Window() { initComponents(); getPorts(); //Se inicia la conexión con Arduino para transmisión de datos } public void getPorts() { jComboBoxPorts.removeAllItems(); if (Arduino.getPortsAvailable() > 0) { Arduino.getSerialPorts().forEach(i -> jComboBoxPorts.addItem(i)); jButtonConectar.setEnabled(true); jButtonConectar.setBackground(new Color(255, 255, 255)); } else { jButtonConectar.setEnabled(false); jButtonConectar.setBackground(new Color(204, 204, 204)); } } @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jPanel1 = new javax.swing.JPanel(); jPanel3 = new javax.swing.JPanel(); jComboBoxPorts = new javax.swing.JComboBox(); jButtonRefresh = new javax.swing.JButton(); jButtonConectar = new javax.swing.JButton(); jButtonBloquear = new javax.swing.JButton();
  • 157. 27 jButtonDesbloquear = new javax.swing.JButton(); lector = new javax.swing.JTextField(); jLabel3 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jLabel5 = new javax.swing.JLabel(); jButtonActivar = new javax.swing.JButton(); jLabel1 = new javax.swing.JLabel(); jButtonDesactivar = new javax.swing.JButton(); jLabel8 = new javax.swing.JLabel(); Alcohol = new javax.swing.JTextField(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("ASwt v1.1.0"); setBackground(new java.awt.Color(238, 216, 127)); setResizable(false); getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); jPanel1.setBackground(new java.awt.Color(51, 51, 51)); jPanel1.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() { public void mouseMoved(java.awt.event.MouseEvent evt) { jPanel1MouseMoved(evt); } }); jPanel3.setBackground(new java.awt.Color(0, 51, 255)); jPanel3.setBorder(javax.swing.BorderFactory.createEtchedBorder()); jPanel3.setForeground(new java.awt.Color(0, 51, 153)); jPanel3.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); jComboBoxPorts.setFont(new java.awt.Font("Century Gothic", 0, 14)); // NOI18N jPanel3.add(jComboBoxPorts, new org.netbeans.lib.awtextra.AbsoluteConstraints(12, 13, 110, 20)); jButtonRefresh.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
  • 158. 28 jButtonRefresh.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/refreshicon.png"))); // NOI18N jButtonRefresh.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonRefreshActionPerformed(evt); } }); jPanel3.add(jButtonRefresh, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 10, 20, 20)); jButtonConectar.setBackground(new java.awt.Color(255, 255, 255)); jButtonConectar.setFont(new java.awt.Font("Century Gothic", 1, 17)); // NOI18N jButtonConectar.setForeground(new java.awt.Color(0, 153, 204)); jButtonConectar.setText("Conectar..."); jButtonConectar.setEnabled(false); jButtonConectar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonConectarActionPerformed(evt); } }); jPanel3.add(jButtonConectar, new org.netbeans.lib.awtextra.AbsoluteConstraints(180, 80, 134, -1)); jButtonBloquear.setBackground(new java.awt.Color(204, 204, 204)); jButtonBloquear.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N jButtonBloquear.setForeground(new java.awt.Color(153, 0, 0)); jButtonBloquear.setText("Bloquear"); jButtonBloquear.setEnabled(false); jButtonBloquear.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonBloquearActionPerformed(evt); } }); jPanel3.add(jButtonBloquear, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 120, -1, -1));
  • 159. 29 jButtonDesbloquear.setBackground(new java.awt.Color(204, 204, 204)); jButtonDesbloquear.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N jButtonDesbloquear.setForeground(new java.awt.Color(153, 0, 0)); jButtonDesbloquear.setText("Desbloquear"); jButtonDesbloquear.setEnabled(false); jButtonDesbloquear.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonDesbloquearActionPerformed(evt); } }); jPanel3.add(jButtonDesbloquear, new org.netbeans.lib.awtextra.AbsoluteConstraints(260, 120, 150, 30)); lector.setForeground(new java.awt.Color(255, 0, 0)); lector.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { lectorActionPerformed(evt); } }); jPanel3.add(lector, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 30, 190, 38)); jLabel3.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N jLabel3.setForeground(new java.awt.Color(204, 204, 0)); jLabel3.setText("Mensaje"); jLabel3.setBorder(javax.swing.BorderFactory.createMatteBorder(1, 1, 1, 1, new java.awt.Color(153, 153, 153))); jPanel3.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 10, -1, -1)); jLabel2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N jLabel2.setForeground(new java.awt.Color(204, 204, 0)); jLabel2.setText("Principal"); jPanel3.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 20, 75, 27));
  • 160. 30 jLabel4.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N jLabel4.setForeground(new java.awt.Color(204, 204, 0)); jLabel4.setText("Secundario"); jPanel3.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(400, 50, -1, 22)); jLabel5.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N jLabel5.setForeground(new java.awt.Color(204, 204, 0)); jLabel5.setText("Capo"); jPanel3.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 90, 75, -1)); jButtonActivar.setText("Activar "); jButtonActivar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonActivarActionPerformed(evt); } }); jPanel3.add(jButtonActivar, new org.netbeans.lib.awtextra.AbsoluteConstraints(9, 220, 80, 30)); jLabel1.setFont(new java.awt.Font("Arial Black", 1, 18)); // NOI18N jLabel1.setForeground(new java.awt.Color(255, 255, 255)); jLabel1.setText("ALARMA"); jPanel3.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 190, 100, 20)); jButtonDesactivar.setText("Desactivar"); jButtonDesactivar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonDesactivarActionPerformed(evt); } }); jPanel3.add(jButtonDesactivar, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 220, -1, 30));
  • 161. 31 jLabel8.setFont(new java.awt.Font("Arial Black", 1, 14)); // NOI18N jLabel8.setForeground(new java.awt.Color(255, 255, 255)); jLabel8.setText("Porcentaje de Alcohol"); jPanel3.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(240, 190, 200, 30)); jPanel3.add(Alcohol, new org.netbeans.lib.awtextra.AbsoluteConstraints(230, 220, 220, 40)); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 537, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, Short.MAX_VALUE)) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 305, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(- 1, -2, 500, 320)); pack(); }// </editor-fold> private void jPanel1MouseMoved(java.awt.event.MouseEvent evt) { jLabelPH.setForeground(Color.white); }
  • 162. 32 private void jButtonDesactivarActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: //Se envía un -0- para apagar el LED lector.setText(""); try { Arduino.sendData("3"); } catch (Exception ex) { Logger.getLogger(Window.class.getName()).log(Level.SEVERE, null, ex); } } private void jButtonActivarActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: //Se envía un -0- para apagar el LED lector.setText(""); try { Arduino.sendData("2"); } catch (Exception ex) { Logger.getLogger(Window.class.getName()).log(Level.SEVERE, null, ex); } } private void lectorActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: } private void jButtonDesbloquearActionPerformed(java.awt.event.ActionEvent evt) { //Se modifica la interface gráfica del botón precionado c.enableButton(jButtonBloquear); c.disableButton(jButtonDesbloquear); //Se envía un -0- para apagar el LED lector.setText("");
  • 163. 33 try { Arduino.sendData("0"); } catch (Exception ex) { Logger.getLogger(Window.class.getName()).log(Level.SEVERE, null, ex); } } private void jButtonBloquearActionPerformed(java.awt.event.ActionEvent evt) { //Se modifica la interface gráfica del botón precionado c.enableButton(jButtonDesbloquear); c.disableButton(jButtonBloquear); //Se envían un -1- para encender el LED try { Arduino.sendData("1"); } catch (Exception ex) { Logger.getLogger(Window.class.getName()).log(Level.SEVERE, null, ex); } } private void jButtonConectarActionPerformed(java.awt.event.ActionEvent evt) { if (jButtonConectar.getText().equals("Desconectar")) { try { Arduino.killArduinoConnection(); jButtonConectar.setText("Conectar"); c.disableButton(jButtonDesbloquear); c.disableButton(jButtonBloquear); c.enableConnectionPanel(jButtonRefresh, jComboBoxPorts); } catch (Exception ex) { Logger.getLogger(Window.class.getName()).log(Level.SEVERE, null, ex); } } else {
  • 164. 34 try { Arduino.arduinoRXTX(jComboBoxPorts.getSelectedItem().toString(), 9600,Listener); jButtonConectar.setText("Desconectar"); c.enableButton(jButtonBloquear); c.disableButton(jButtonDesbloquear); c.disableConnectionPanel(jButtonRefresh, jComboBoxPorts); } catch (Exception ex) { Logger.getLogger(Window.class.getName()).log(Level.SEVERE, null, ex); } } } private void jButtonRefreshActionPerformed(java.awt.event.ActionEvent evt) { getPorts(); } /** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break;
  • 165. 35 } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(Window.class.getName()).log(java.util.logging.Level.SE VERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(Window.class.getName()).log(java.util.logging.Level.SE VERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(Window.class.getName()).log(java.util.logging.Level.SE VERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(Window.class.getName()).log(java.util.logging.Level.SE VERE, null, ex); } //</editor-fold> /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new Window().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JTextField Alcohol; private javax.swing.JButton jButtonActivar; private javax.swing.JButton jButtonBloquear; private javax.swing.JButton jButtonConectar; private javax.swing.JButton jButtonDesactivar; private javax.swing.JButton jButtonDesbloquear; private javax.swing.JButton jButtonRefresh;
  • 166. 36 private javax.swing.JComboBox jComboBoxPorts; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel8; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel3; private javax.swing.JTextField lector; // End of variables declaration }
  • 167. 37 Foto III: Recibiendo curso básico de programación arduino nano Foto IV: Armando el circuito en la placa arduino
  • 168. 38 Foto V: Aprendiendo a programar en arduino nano FotoVI: Regulando el voltaje del circuito
  • 169. 39 Foto VII: Ubicación de cableado para el funcionamiento de los sensores magnéticos de puerta principal, puerta secundaria y capo. Foto VIII: Circuito armado para instalar en el vehículo
  • 170. 40 CARRERA DE ANALISIS DE SISTEMAS
  • 171. 41 Análisis de Sistemas DOCENCIA  Actuaciones en clase  Lecciones orales  Pruebas escrita  Exámenes TRABAJO AUTÓNOMO  Revisión bibliográfica (consultas)  Preparación de exposiciones (documentos consultados)  Revisión de talleres  Resolución de ejercicios  Informe de giras de observación PRACTICAS  Proyectos integradores  Exposiciones de proyectos integradores  Informes de visitas a empresas REGISTRO DE NOTAS
  • 172. 42
  • 173. 43
  • 174. 44
  • 175. 45 ANALISIS DE SISTEMAS TEMAS: Internet de las cosas (IoT) Big Data Inteligencia artificial DOCENTE: ING. JUAN CHIMARRO ALUMN@: LIGIA SANTIANA NIVEL: TERCERO “A”
  • 176. 46
  • 177. 47 Internet de las cosas – IoT Es un sistema de dispositivos de computación interrelacionados, máquinas mecánicas y digitales, objetos, animales o personas que tienen identificadores únicos y la capacidad de transferir datos a través de una red, sin requerir de interacciones humano a humano o humano a computadora. (Cornejo, 2018 ) ¿Qué es y cómo funciona? No es nada relativamente nuevo. Lleva más de 30 años que se está trabajando con la idea de hacer mucho más interactivos todos los objetos que son de uso cotidiano . Las ideas del hogar inteligente, también conocido como la casa del futuro o del mañana, han evolucionado antes de que nos demos cuenta en el hogar que va conectado al internet de las cosas, algunos hemos visto en alguna ocasión videos de como seria realizar todo solo presionando un botón. El IoT potencia objetos que anteriormente se conectaban por medio de circuitos cerrados, como comunicadores, cámaras, sensores entre otros y les permite comunic arse globalmente mediante el uso de la red de redes. ¿Cómo cambiará nuestra vida en el futuro? Logrará hacer grandes cambios en la vida diaria cuando se estandarice dentro de la sociedad, será el siguiente paso de la industria tecnológica, ya que se basa en la interconexión de cualquier producto con cualquier otro de su alrededor. Su trascendencia puede ser brutal tanto en ámbitos económicos como sociales, Mayor incluso que la era digital, Ya que permite que los ordenadores interactúen con elementos de la vida real y ganan independencia de los seres humanos dejándonos a nosotros al mando de lo realmente importante.
  • 178. 48 Un ejemplo muy claro lo vemos en cosas tan cotidianas de uso, los relojes que ahora proporcionan datos de calorías que quemas al correr, ya no dan solo la hora. En los edificios el aire acondicionado mide la temperatura exterior para nivelar la temperatura interior del edificio, gracias a sus sensores y que están conectando todo el sistema a internet. Ejemplos de Iot que podremos usar 4. Zapatillas inteligentes Under Armour, creo zapatillas tienen un hardware que es capaz de llevar el registro de datos: tiempo y distancia que has recorrido y estos parámetros después los combina con una app móvil. 3. Sensores para el jardín La compañía PARROT, ofrece un producto de sensores para el jardín que se llama FLOWER POWER, el cual registra datos sobre la luz del sol, la temperatura actual, el nivel de humedad y nivel de fertilizante que posee el suelo. 5. Garajes inteligentes Existe una empresa que tiene un controlador para la puerta de tu garaje, el nombre del dispositivo es GARAGEIO, y se puede usar para controlar el acceso por medio de una app que puedes controlar, abrir o cerrar desde tu móvil, recibir tipos de alertas cuando la puerta tenga movimiento o bien poder permitir acceso a terceras personas desde cualquier lugar que estés. 7. Botones inteligentes Amazon en conjunto con algunas de sus marcas de productos domésticos llegaron a un acuerdo para crear botones inteligentes, para cuando estas en casa lavando la ropa y te das cuenta que queda poco detergente, puedas por medio de un botón realizar una orden de compra con un determinado bote de detergente y marca, la cual procesará el pedido y lo enviará hasta tu domicilio.
  • 179. 49 Conclusión El internet de las cosas está formada por una red de objetos como máquinas, electrodomésticos, autos, etc. los cuales usan sensores y una interfaz de programación de aplicaciones, para poder conectarse y esto produce un intercambio de datos por internet para poder generar datos, acciones, registros etc. El IoT formaran parte de Industria tecnológica que hará que los humanos vivamos una vida más cómoda, eficiente y simplificando lo que se tiene que hacer. Por otro lado implica que podamos ser reemplazados y que en el caso de las industrias puedan reducir costos significativos.
  • 180. 50 Big Data Big data es una colección de datos grande, complejos, muy difícil de procesar a través de herramientas de gestión y procesamiento de datos tradicionales “Big Data” son datos cuyo volumen, diversidad y complejidad requieren nueva arquitectura, técnicas, algoritmos y análisis para gestionar y extraer valor y conocimiento oculto en ellos . Algunas definiciones. (Sánchez) •  “Big Data is the next generation of data warehousing and business analytics and is poised to deliver top line revenues cost efficiently for enterprises” •  “Big Data exceeds the reach of commonly used hardware environments and software tools to capture, manage, and process it within a tolerable elapse time for its user population”. •  “Disciplina que se ocupa de todas las actividades relacionadas con los sistemas que manejan grandes conjuntos de datos, principalmente, almacenamiento, búsqueda, compartición, análisis y visualización”
  • 181. 51 ¿Qué es Big Data? Big data es cualquier característica sobre los datos que represente un reto para las capacidades de un sistema. Las 8 V’s de Big Data Predicción de propagación de la gripe “Google puede predecir la propagación de la gripe (…) analizando lo que la gente busca en internet” Más de 3.000M de búsquedas a diario 50 M de términos de búsqueda más utilizados Google comparó esta lista con los datos de los CDC sobre propagación de gripe entre 2003 y 2008 •  Encontraron una combinación de 45 términos de búsqueda que al usarse con un modelo matemático presentaba una correlación fuerte entre su predicción y las cifras oficiales de la enfermedad
  • 182. 52 •  Podían decir, como los CDC, a dónde se había propagado la gripe pero casi en tiempo real, no una o dos semanas después, con un método basado en Big Data •  Se ha extendido a 29 países En 2013 sobreestimó los niveles de gripe (x2 la estimación CDC) La sobreestimación puede deberse a la amplia cobertura mediática de la gripe que puede modificar comportamientos de búsqueda Los modelos se van actualizando anualmente Generadores de Datos Masivos Redes sociales y multimedia Transacciones Dispositivos ubicuos de generación de contenido Redes de sensores ¿Cómo de “Big”?
  • 184. 54 Definición de inteligencia artificial La I.A. es la parte de la informática concerniente al diseño de sistemas de computación inteligente, es decir, de sistemas que exhiban o simulen las características que son comúnmente asociadas con la inteligencia en la conducta humana, puede definirse como el medio por el cual las computadoras, los robots y otros dispositivos realizan tareas que normalmente requieren de la inteligencia humana. Se basa en la investigación de las redes neuronales humanas y, a partir de ahí, busca copiar electrónicamente el funcionamiento del cerebro. (Leticia) Origen Se cree que los comienzos de la inteligencia artificial ocurrieron al definirse la neurona, en 1943, como un dispositivo binario con varias entradas y salidas. En el año de 1956 se volvió a tocar este tema y se establecieron las bases de la IA como un campo independiente dentro de la informática.. Alan Turing La vida de este matemático, informático (cuando la informática como la conocemos ahora no existía aún), criptógrafo y filósofo británico es ciertamente movida, tanto en lo profesional como en lo personal. Test de Turing Fue un procedimiento desarrollado por Alan Turing para identificar la existencia de inteligencia en una máquina y comprobar que una máquina puede llegar a pensar al igual que una persona. IA en la sociedad ¿Está al alcance de todos?
  • 185. 55 Las aplicaciones de la inteligencia artificial en el mundo real están apareciendo en lugares inesperados y mucho antes de lo que creemos. La inteligencia artificial fue en su momento un campo exclusivo de Google Inc., Facebook Inc. y otros líderes de la tecnología. Ahora, cualquier empresa emergente dedicada al aprendizaje profundo puede acceder a plataformas en la nube, en tanto Microsoft Corp., Nvidia Corp. y Amazon.com Inc. venden IA como un servicio público. ¿Argumentos en contra de la inteligencia artificial? La diferencia entre la inteligencia y las capacidades de robots y computadoras con respecto a la mente humana es cada vez menor, incluso llegando a superarnos en algunos aspectos, lo que puede resultar preocupante. Las máquinas y sistemas de inteligencia artificial carecen de dos cosas muy importantes: sentimientos y ética, por lo que no son capaces discernir correctamente entre el bien y el mal, ya que su comportamiento depende de programación y no de la racionalidad, por lo que, en caso de cualquier falla, podrían dañar al resto. Impacto social No sabemos a ciencia cierta cuál será el futuro de la humanidad, pero sí sabemos que indudablemente cambiarán las relaciones de producción y quizá de comunicación. Es altamente probable que se agrave aún más el problema del desempleo; que se transformen radicalmente los conceptos de ocio y tiempo libre; que cambien las relaciones laborales entre patrones y trabajadores; que haya una revolución aún mayor en cuanto al acceso a la información y que se agudicen las diferencias entre países hacedores de tecnología y de aquellos históricamente dependientes. Es casi seguro que la inteligencia artificial y el desarrollo tecnológico subsecuente estarán al servicio de una minoría. Si por el contrario, el desarrollo tecnológico y específicamente la inteligencia artificial se utiliza para lograr que todos en este planeta logremos un mejor nivel de vida en estricta relación con el medio ambiente, tal artificio será realmente inteligente.
  • 186. 56 Futuro de la inteligencia artificial Se han hecho cuantiosas predicciones de lo que la aplicación de las técnicas de IA traería en el futuro; algunas podrían ser realidad en poco tiempo y otras parecen francamente especulativas. En el terreno de las computadoras personales, la velocidad de un procesador será enorme y no podremos agotar su memoria ni cargando ciclos enteros de cine ruso, que podremos ver doblados al español con una voz idéntica a la de los actores. Quizá ya no sean necesarios los monitores; unos anteojos inalámbricos de realidad virtual nos mostrarán cómo va quedando nuestro texto. Los teclados también serán tan obsoletos como ahora lo son las tarjetas con hoyitos; en vez de teclear, quizá podremos plasmar palabras en la memoria de la computadora con sólo imaginarlas, gracias a una discreta placa (chip) adherida a nuestra frente. Una voz agradable nos dirá al oído que hemos cometido un error de sintaxis y nos proporcionará, si lo deseamos, una lista de posibles soluciones. Beneficios En la actualidad la inteligencia artificial es una disciplina fundamental en la ciencia y la tecnología, misma que tras el paso del tiempo ha creado una serie de conocimientos básicos que le permiten emular diversas capacidades del ser humano para exhibir comportamientos inteligentes. Ventajas de la inteligencia artificial La inteligencia artificial ha permitido el diseño de aplicaciones que se pueden explorar las partes del mundo que los seres humanos no pueden visitar. Estas máquinas también puede medir la profundidad de los océanos. Algunas de estas sofisticadas máquinas han sustituido a los seres humanos en muchas áreas que requieren mano de obra, tiempo y dinero. Una de sus características es que incluye varios campos de desarrollo, como la robótica, la comprensión y traducción de lenguajes, el reconocimiento y aprendizaje de palabras de máquinas
  • 187. 57 o los variados sistemas computacionales expertos, que son los encargados de reproducir el comportamiento humano en una sección del conocimiento. Desafíos técnicos del futuro Los tres desafíos más importantes en el desarrollo dentro de la IA son su facilidad de uso, la flexibilidad de la infraestructura computacional y la disponibilidad de herramientas de desarrollo cada vez más poderosas. El empleo de una interfaz inteligente ayudará a las personas a encontrar lo que ellas deseen, hará lo que éstas deseen cuando lo deseen, en forma natural y sin requerir el conocimiento de detalles irrelevantes. Todo parece indicar que las computadoras programadas con la IA son el campo de la solución de problemas del futuro; sin embargo, el intelecto humano parece ser irremplazable en relación con la solución de problemas de sentido común. La AI en la robótica Los robots son dispositivos compuestos de sensores que reciben datos de entrada que manda una computadora, la cual ordena al robot que efectúe una determinada acción. Hoy en día, una de las finalidades de la construcción de robots es su intervención con rapidez, calidad y precisión en los procesos de fabricación encargados de realizar trabajos repetitivos en la fabricación. IA en la actualidad La Inteligencia Artificial (IA) ha tenido en los últimos años una implicación cada vez mayor en el área de desarrollo de software, tratando de alcanzar un sólo objetivo: “incorporar inteligencia” en agentes no vivos y que ésta sea muy similar a la de un ser humano. Ese anhelo por crear software que incorpore procesos que solamente la inteligencia humana puede realizar es un reto y se ha convertido en una actividad atractiva en la que muchos ya están dando sus primeros resultados. La inteligencia artificial abre un mundo de posibilidades a quien conoce su potencial, ya que
  • 188. 58 proporciona un amplio conjunto de métodos, técnicas y algoritmos que, mediante su estudio exhaustivo y cuidadoso, pueden ser incluidas en distintas aplicaciones financieras, educativas, de seguridad informática, videojuegos, entre otras y que son muestra clara de la intervención de la IA en nuestras actividades diarias. Repercusiones ¿Qué ocurriría si las máquinas llegan a ser autónomas? ¿Podrían estas máquinas llegar a prescindir totalmente de la interferencia humana para realizar tareas? Estas preguntas son válidas, ya que la tecnología continúa evolucionando a pasos agigantados, y según los expertos, muy pronto las máquinas serán más inteligentes que el hombre. Desventajas Entre las desventajas de la inteligencia artificial tenemos: Por ser software, requieren de constantes actualizaciones (mantenimiento). Realizar estos sistemas expertos requiere de mucho tiempo y dinero. Aplicaciones de la IA Las aplicaciones de la Inteligencia Artificial son extensas y diversas, e incluyen el diagnóstico médico, organización y programación de procesos de fábrica, creación de robots para introducirlos a lugares peligrosos, videojuegos, vehículos espaciales autónomos, sistemas de traducción de lenguaje natural, y tutores expertos (entre otros. En realidad, nuestra imaginación es el límite IA en la medicina
  • 189. 59 Incluye la interpretación de imágenes médicas, diagnóstico, sistemas expertos para ayudar a los médicos, la monitorización y control en las unidades de cuidados intensivos, diseño de prótesis, diseño de fármacos, sistemas tutores inteligentes para diversos aspectos de la medicina. IA en la robótica Incluye la visión, el control de motores, el aprendizaje, la planificación, la comunicación lingüística, el comportamiento cooperativo. IA en la ingeniería Diagnóstico de fallos, sistemas inteligentes de control, sistemas inteligentes de fabricación, ayuda inteligente al diseño, sistemas integrados de ventas, diseño, producción, mantenimiento, herramientas de configuración expertas.AI en la ingeniería de software incluye síntesis de programas, verificación, depuración, prueba y monitorización de software. IA en las matemáticas Diseño de herramientas para ayudar con distintas clases de funciones matemáticas, ahora tan utilizadas que ya no se reconocen como productos de la IA. IA en la biología Hay muchos problemas complicados en biología donde se están desarrollando sistemas informáticos más o menos inteligentes, por ejemplo, análisis de ADN, predicción de la estructura de plegado de moléculas complejas, la predicción, la elaboración de modelos de procesos biológicos, evolución, desarrollo de embriones, comportamientos de los distintos organismos. IA en las actividades militares
  • 190. 60 Este puede ser el ámbito en el que se ha gastado la mayor parte de los fondos y dónde no es fácil aprender de los detalles Ejemplo: Referencias Cornejo, D. M. (23 de 02 de 2018 ). Internet de las cosas IoT. Obtenido de Internet de las cosas IoT: https://es.slideshare.net/MaraAlejandraRuedaAc/iot-internet-de-las-cosas- 104227102?qid=98a74e91-559a-4d0d-8563-1fcde7cf1b75&v=&b=&from_search=1 Leticia, V. C. (s.f.). Inteligencia artificial. Obtenido de inteligencia artificial: https://es.slideshare.net/esau1409/representacin-del-conocimiento-en- inteligencia-artificial-102571769?qid=5c462908-8088-454a-9662- bffb5d145122&v=&b=&from_search=10 Sánchez, J. M. (s.f.). Big Data: Algoritmos, tecnología y aplicaciones. Obtenido de Big Data: Algoritmos, tecnología y aplicaciones: file:///C:/Users/user/Desktop/BIG%20DATA.pdf
  • 191. 61 ANALISIS DE SISTEMAS Temas: Lenguajes no procedimentales Generadores de pantalla Código automático Lenguaje de Cuarta Generación Docente: Ing. Juan Carlos Chimarro Tercero”A” Ligia Santiana
  • 192. 62 Tema: Nº 1 Lenguaje de Manipulación de Datos Lenguaje de Manipulación de Datos (Data Manipulation Language, DML) es un idioma proporcionado por los sistemas gestores de bases de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o modificación de los datos contenidos en las Bases de Datos del Sistema Gestor de Bases de Datos. El lenguaje de manipulación de datos más popular hoy día es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL1, CODASYL u otras. Elementos del lenguaje de manipulación de datos Select, Insert, Delete y Update Clasificación de los DML Se clasifican en dos grandes grupos: Lenguajes De Consulta Procedimentales Lenguajes procedimentales. En este tipo de lenguaje el usuario da instrucciones al sistema para que realice una serie de procedimientos u operaciones en la base de datos para calcular un resultado final. Lenguajes De Consulta No Procedimentales En los lenguajes no procedimentales el usuario describe la información deseada sin un procedimiento específico para obtener esa información. Lenguaje de manipulación de datos (DML) Un lenguaje de manipulación de datos (Data Manipulation Language, o DML en inglés) es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el modelo de datos adecuado. El lenguaje de manipulación de datos más popular hoy día es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL1, CODASYL u otras. 1- INSERT Una sentencia INSERT de SQL agrega uno o más registros a una (y sólo una) tabla en una base de datos relacional.
  • 193. 63 Ejemplo 1 : (inserto valores alumno pepe en la materia spd2 a la tabla cursada): INSERT INTO ''cursada'' (''alumno'', ''materia'') VALUES (''pepe'', ''spd2'') 2- UPDATE Una sentencia UPDATE de SQL es utilizada para modificar los valores de un conjunto de registros existentes en una tabla. Ejemplo 1 (modifico la materia donde el alumno sea pepe): UPDATE ''cursada'' SET ''materia''= ''spd3'' WHERE ''alumno''= ''pepe'' 3- DELETE Una sentencia DELETE de SQL borra uno o más registros existentes en una tabla. Ejemplo 1 (borro todos los valores de las columnas alumno y materia donde la materia sea spd2): DELETE FROM ''cursada'' WHERE ''materia''= ''spd2'' (s/n) Tema: Nº 2 Generador de pantallas Desplegar campos y registros seleccionados en pantalla, mediante el uso de las instrucciones o controles de creación de pantallas, para construir vistas sobre la base de datos que satisfaga necesidades específicas. Una pantalla o formulario es una herramienta visible en todos los SGBD para introducir o editar información de una o varias tablas de una base de datos relacional, en un secuencia personalizada por el usuario. Los formularios los diseña el usuario para interactuar con la base de datos contenida en el SGBD de una forma más amigable, además de que al usuario común le presenta Únicamente la información que requiere, generando vistas de la información. En una pantalla el usuario puede incluir imágenes (al igual que en los reportes), encabezados de la pantalla, etiquetas de los campos a utilizar y los campos. Existen ciertos objetos o herramientas para navegar entre los registros, que pueden facilitar las ediciones o consultas de los usuarios, estas varían según el tipo de SGBD. No olvides que para crear una pantalla se debe seleccionar la base de datos a visualizar. Cuando ya se tiene diseñada la pantalla, se puede poner en uso para editar, capturar consultar información.
  • 194. 64 La forma de crear, modificar y poner en use una pantalla queda a disposición del SGBD. A nivel de SOL, las instrucciones que usan serán las siguientes: Para crear una pantalla: CREATE SCREEN <Nombre de la pantalla> Para modificar una pantalla: MODIFY SCREEN <Nombre de la pantalla> Para generar una pantalla: SELECT SCREEN <Nombre de la pantalla> Tema: Nº 3 Generador de código para Netbeans El IDE Netbeans al igual que Eclipse :), nos permite personalizar el espacio de trabajo y añadir funcionalidades que nos son de gran ayuda a la hora de programar, una de estas funcionalidades en el caso de Netbeans es la creación de plugins. Entre los muchos tipos de plugins que se pueden crear, tenemos uno que es el Generador de Código, el que programe en este IDE sabrá que el editor de código nos brinda ayuda a la hora de escribir código, cuando hacemos un clic derecho sobre el editor, tenemos una opción que se llama “Insert code…“, esta opción cuenta con una lista de código predefinido que podemos insertar a nuestros proyectos en cualquier momento. Lo que haremos en este tutorial, sera añadir nuestro propio código predefinido, la serie fibonacci. Necesitamos Netbeans 7.x o superior Nivel: Avanzado Tiempo: 30 minutos PROYECTO GENERADOR DE CÓDIGO