Espero les sirva, suerte en progra I.
ITT, Ing. Electronica
Programación Estructurada Denisse Meza
martes, 29 de enero de 2013
martes, 5 de junio de 2012
PROYETO FINAL BEBEDERO INTELIGENTE
*Breve Presentacion.
Objetivo general.
La implementación de la electrónica en un sistema de llenado de agua potable, que permita el flujo del agua mediante un ciclo programado, evitando el contacto físico con la persona y así manteniendo el depósito higiénico y viable para el siguiente usuario.
Objetivo especifico.
El bebedero electrónico debe identificar que un usuario desea utilizarlo sin necesidad de ser activado manualmente y permitir el flujo del agua potable, también debe identificar el tamaño del recipiente y calcular la cantidad de agua que debe liberarse, así como las estadísticas recientes del uso del bebedero por los usuarios.
MARCO TEÓRICO
Resistencia Eléctrica
Resistencia eléctrica es toda oposición que encuentra la corriente a su paso por un circuito eléctrico cerrado, atenuando o frenando el libre flujo de circulación de las cargas eléctricas o electrones. Cualquier dispositivo o consumidor conectado a un circuito eléctrico representa en sí una carga, resistencia u obstáculo para la circulación de la corriente eléctrica.
LED
Un LED (DIODO EMISOR DE LUZ) es un semiconductor, es decir un componente electrónico capaz de modificar su resistencia eléctrica en determinadas circunstancias. En iluminación, los LED siempre trabajan en polarización directa, que es cuando emiten luz.
SWITH Y PUSH BOTTON.
Un interruptor eléctrico es un dispositivo utilizado para desviar o interrumpir el curso de una corriente eléctrica.
PUERTO PARALELO
Un puerto paralelo es una interfaz entre un ordenador y un periférico. El puerto paralelo transmite la información byte por byte, es decir que los 8 bits de datos que forman un byte viajan juntos. El tipo de puerto paralelo que se utilizo para este proyecto es el puerto de la impresora. Un conector hembra de 25 patitas.
Librería Inpout32.dll
La característica destacada de Inpout32.dll es que trabaja con todas las versiones de Windows sin ningún tipo de modificación en el código de usuario o el archivo DLL en sí. El Dll comprueba la versión del sistema operativo cuando se llaman funciones, y si el sistema operativo es Win9x, utilizará el archivo DLL _inp () _outp y funciones para lectura / escritura del puerto paralelo.
El programa USERPORT se utiliza para poder leer y escribir en el puerto paralelo, ya que es necesario un driver (archivo *.sys) que comunique el software con dispositivo hardware.
Recursos utilizados:
Inicialización de la librería Inpout32.dll
Variables de tipo entero y flotante.
Inicialización de variables
Ciclos
Asignaciones
Archivos de salida
Funciones
Ordenamiento de valores
Funciones de tiempo actual.
Impresiones
Contadores
Etc.
Librerías:
stdio.h
Circuito.
conio.h
windows.h
iostream
stdlib.h
fstream.h
time.h
iomanip.h
BEBEDERO INTELIGENTE CODIGO C++
El proyecto del bebedero inteligente busca alcanzar altos estándares de confiabilidad higiénica, así como una fácil y rápida funcionalidad electrónica para satisfacer las necesidades de usuario lo más efectivamente posible.
Meza Soria Denisse Alejandra
Guevara Ríos Julio Cesar
Profa. Asesora: Ing Angela Colunga.
ITT.
lunes, 28 de mayo de 2012
PRACTICA 15.
PRACTICA 15.
Pseudocódigo Practica 15 Problema 1.
Programa principal ()
{
A[3][10]= {0,0,0,0,0,0,0,0,0,0} int
seccion=0,vuelo=0,otro=0 int
do
{
menuviaje(vuelo,seccion)
asiento(A, vuelo, seccion)
Print "\nCapturar nueva viaje Si=1 No=0: "
Read otro
Print “\n”
}
while(otro==1)
imprimir(A)
getch()
}
Fin
Funcion void menuviaje(int &vuelo, int &seccion)
{
Print "\n\t\tMENU DE VUELOS\n\n"
Print "\tSeccion Primera Clase & Economica\n\n"
Print "Viaje 1__________Tijuana-Acapulco\n"
Print "Viaje 2__________Tijuana-San Diego\n"
Print "Viaje 3__________Tijuana-Cancun\n"
Print "Vuelo elegido: "
Read vuelo
Print "Seccion: "
Read seccion
}
Fin funcion
Función void asiento(int A[3][10], int & vuelo, int & seccion)
{
i , b int
switch(vuelo)
{
case 1:
switch (seccion)
{
case 1: i=0 b=0
while ((i<=4) && (b==0))
{
if (A[0][i]!=1)
{
b=1
A[0][i]=1
Print "PASE DE ABORDAR\nVuelo 1\t Primera Clase\tAsiento:",(i+1)
}
else
{
if (i==4)
{Print "Vuelo completo, no hay asientos disponibles.\nEl siguiente vuelo parte en 3 horas." }
i++
}
}
break
case 2: i=5 b=0
while(i<=9 && b==0)
{
if (A[0][i]!=1)
{
A[0][i]=1
b=1
Print "PASE DE ABORDAR\nVuelo 1\t Clase Economica\tAsiento:",(i+1)
}
else
{
if(i==9)
{
Print "Vuelo completo, no hay asientos disponibles.\nEl siguiente vuelo parte en 3 horas." }
i++
}
}
break
default: Print "ERROR EN SELECCION DE CLASE."
}
break
case 2:
switch (seccion)
{
case 1: i=0 b=0
while ((i<=4) && (b==0))
{
if (A[1][i]!=1)
{
b=1
A[1][i]=1
Print "PASE DE ABORDAR\nVuelo 2\t Primera Clase\tAsiento:",(i+1)
}
else
{
if (i==4)
{Print "Vuelo completo, no hay asientos disponibles.\nEl siguiente vuelo parte en 3 horas." }
i++
}
}
break
case 2: i=5 b=0
while(i<=9 && b==0)
{
if (A[1][i]!=1)
{
A[1][i]=1
b=1
Print "PASE DE ABORDAR\nVuelo 2\t Clase Economica\tAsiento:",(i+1)
}
else
{
if(i==9)
{
Print "Vuelo completo, no hay asientos disponibles.\nEl siguiente vuelo parte en 3 horas." }
i++
}
}
break
default: Print "ERROR EN SELECCION DE CLASE."
}
break
case 3:
switch (seccion)
{
case 1: i=0 b=0
while ((i<=4) && (b==0))
{
if (A[2][i]!=1)
{
b=1
A[2][i]=1
Print "PASE DE ABORDAR\nVuelo 3\t Primera Clase\tAsiento:",(i+1)
}
else
{
if (i==4)
{Print "Vuelo completo, no hay asientos disponibles.\nEl siguiente vuelo parte en 3 horas." }
i++
}
}
break
case 2: i=5 b=0
while(i<=9 && b==0)
{
if (A[2][i]!=1)
{
A[2][i]=1
b=1
Print "PASE DE ABORDAR\nVuelo 3\t Clase Economica\tAsiento:",(i+1)
}
else
{
if(i==9)
{
Print "Vuelo completo, no hay asientos disponibles.\nEl siguiente vuelo parte en 3 horas." }
i++
}
}
break
default: Print "ERROR EN SELECCION DE CLASE."
}
break
default: Print "DESTINO NO EXISTENTE\n"
}
}
Fin Funcion
Funcion void imprimir(int A[3][10])
{
r,c int
Print "1=Ocupados 0=Vacios\n"
Print "ASIENTOS 1 2 3 4 5 6 7 8 9 10\n"
for(r=0 to r<3 step r++)
{
Print "Viaje ",(r+1),": "
for(c=0 to c<10 step c++)
{
Print A[r][c]," "
}Print ‘\n” }
}
Pseudocódigo Practica 15 Problema 2.
Funcion int inserlistanombres(char nombres[20][30], int n)
{
I int
nom[30] char
i=0
for(i=0 to i<n step i++)
{
print "Nombre Alumno: "
read (nombres[i])
print”\n”}}
Fin funcion
Funcion void reordenar(char nombres[20][30], int n)
{
i,j int
char temp[30]
for(i=0 to i<(n-1) step i++)
{
for(j=(i+1)to j<n step j++)
{
if (strcmp(nombres[i],nombres[j])>0)
{
strcpy(temp,nombres[i])
strcpy(nombres[i],nombres[j])
strcpy(nombres[j],temp) }}}}
Fin Funcion
Función void desplegar(char nombres[20][30], int n)
{
x=0 int
print "LISTA DE NOMBRES ORDENADA\n"
for (x=0 to x<n step x++)
{
print nombres[x]
}}
Fin Funcion
Programa principal()
{
nombres[10][30] char
n int
print "Cantidad de nombres: "
read n
inserlistanombres(nombres, n)
reordenar(nombres, n)
desplegar(nombres,n)
getch()
}
Pseudocódigo Practica 15 Problema 3.
Funcion int buscarpais(char paises[11][28],char x[28])
{
i=0 int
while (strcmp(x,paises[i])!=0)
{
i++
}
return (i)
}
Fin funcion
Programa principal()
{
char paises[11][28]={"canada", "inglaterra", "francia", "india", "israel", "italia", "japon", "mexico", "republica popular de china", "estados unidos", "rusia"}
char capitales[11][28]={"ottawa", "londres", "paris", "nueva delhi", "jerusalen", "roma", "tokio", "cd. de mexico", "beijing", "washington dc", "moscu"}
char x[28]
i int
do
{
print "\nIntroduzca el pais:"
read (x)
if (strcmp(x,"fin")!=0)
{
i=buscarpais(paises,x)
print "\nEl pais ",(paises[i])," tiene como capital ",(capitales[i]),."
}
}
while(strcmp(x,"fin")!=0)
getch()
}
Fin programa
Pseudocódigo Practica 15 Problema 4.
Función void salida_datos_file(int n)
{
ofstream salida
salida.open("C://Datos//nombres.txt")
i int
char name[30]
for(i=1 to i<=n step i++)
{
print "Nombre ",(i),": "
read (name)
salida,name
}
salida.close()
}
Fin Funcion
Funcion void entrada_datos_file()
{
ifstream entrada
entrada.open("C://Datos//nombres.txt")
char name[30]
print "\nListado de Estudiantes\n"
entrada.getline(name,30)
print name
while(!entrada.eof())
{
entrada.getline(name,30)
print name
}
entrada.close()
}
Fin funcion
Funcion void almacena_calif(int n)
{
ofstream salida
salida.open("C://Datos//calificaciones.txt")
r,c,calf int
for(r=0 r<n r++)
{
print "Introduce calificaciones del estudiante ",(r+1)
for(c=0 to c<6 step c++)
{
print "Calificacion ",(c+1),": "
read calf
salida,calf," "
}
salida
}
print “\n” }
Fin funcion
Funcion void read_archivo_calif(int a[20][6], int promedio[20], int n)
{
ifstream entrada
entrada.open("C://Datos//calificaciones.txt")
r,c,suma int
print "PROMEDIOS\n"
for(r=0 to r<n step r++)
{
suma=0
for(c=0 tp c<6 step c++)
{
Entrada,(a[r][c])
suma=suma+a[r][c]
}
promedio[r]=suma/6
print promedio[r],"\t"
}}
Fin Funcion
Programa principal()
{
n int
c[20][6], p[20] int
print "Numero de Alumnos : "
read n
salida_datos_file(n)
entrada_datos_file()
almacena_calif(n)
read_archivo_calif(c,p,n)
getch()
}
Fin programa
Pseudocódigo Practica 15 Problema 5a.
Funcion int inserlistanombres()
{
i=0 int
nom[30] nom
ofstream salida
salida.open("C://Datos//nombres1.txt")
Print “\n”
do
{
Print"Nombre: "
Read (nom)
if (strcmp(nom,"FIN")!=0)
{
Salida,nom
i++
}
Print “\n”
}
while(strcmp(nom,"FIN"))
salida.close()
return i
}
Fin Funcion
Funcion void desplegar()
{
name[30] char
ifstream entrada
entrada.open("C://Datos//nombres1.txt")
while(!entrada.eof())
{
entrada.getline(name,30)
Print name
}
entrada.close()
}
Programa principal()
{
inserlistanombres()
desplegar()
getch()
}
Fin
Pseudocódigo Practica 15 Problema 5b.
Funcion int inserlistanombres()
{
i=0 int
nom[30] nom
ofstream salida
salida.open("C://Datos//nombres1.txt",ios::app)
Print “\n”
do
{
Print"Nombre: "
Read (nom)
if (strcmp(nom,"FIN")!=0)
{
Salida,nom
i++
}
Print “\n”
}
while(strcmp(nom,"FIN"))
salida.close()
return i
}
Fin Funcion
Funcion void desplegar()
{
name[30] char
ifstream entrada
entrada.open("C://Datos//nombres1.txt")
while(!entrada.eof())
{
entrada.getline(name,30)
Print name
}
entrada.close()
}
Programa principal()
{
inserlistanombres()
desplegar()
getch()
}
Fin
z
Pseudocódigo Practica 15 Problema 6a.
Función void salidadatos()
{
ofstream salida
salida.open("C://Datos//texto.dat")
texto[80] char
do
{read(texto)
if(strcmp(texto,"FIN")!=0)
{ salida,texto }}
while(strcmp(texto,"FIN" ))
Print “\n”
salida.close() }
fin funcion
función void entradadatos()
{ifstream entrada
entrada.open("C://Datos//texto.dat")
texto[80] char
Print "\n\t\t\tTEXTO\n"
entrada.getline(texto,80)
Print texto
while(!entrada.eof())
{entrada.getline(texto,80)
Print texto
}entrada.close() }
Fin funcion
Programa principal()
{salidadatos()
entradadatos()
getch() }
Fin
Pseudocódigo Practica 15 Problema 6b.
Función void salidadatos()
{
ofstream salida
salida.open("C://Datos//texto.dat")
texto[80] char
do
{read(texto)
if(strcmp(texto,"\n")>=0)
{ salida,texto }}
while(strcmp(texto,"\n" )>=0)
Print “\n”
salida.close() }
fin funcion
función void entradadatos()
{ifstream entrada
entrada.open("C://Datos//texto.dat")
texto[80] char
Print "\n\t\t\tTEXTO\n"
entrada.getline(texto,80)
Print texto
while(!entrada.eof())
{entrada.getline(texto,80)
Print texto
}entrada.close() }
Fin funcion
Programa principal()
{salidadatos()
entradadatos()
getch() }
Fin
Pseudocódigo Practica 15 Problema 7a.
Programa principal()
{real valores[5][4]
Real promedio[5]
insertar_lista_datos()
calcular_promedio(valores,promedio)
desplegar_promedio(promedio)
getch() }
Fin
Funcion void insertar_lista_datos()
{
ofstream salida
salida.open("C://Datos//voltios.txt")
salida<<120.3<<" "<<122.7<<" "<<90.3<<" "<<99.8
salida<<95.5<<" "<<120.5<<" "<<127.3<<" "<<120.8
salida<<123.2<<" "<<118.4<<" "<<123.8<<" "<<115.6
salida<<122.4<<" "<<95.6<<" "<<118.2<<" "<<120.99
salida<<123.5<<" "<<130.2<<" "<<123.98<<" "<<124.4
salida.close()
print “\n”
}
void calcular_promedio( real valores[5][4], real promedio[5])
{ifstream entrada
entrada.open("C://Datos//voltios.txt")
r=0,c=0 int
suma=0 real
for(r=0 to r<5 step r++)
{suma=0
for(c=0 to c<4 step c++)
{entrada,(valores[r][c])
suma=suma+valores[r][c] }
promedio[r]=suma/4
}entrada.close() }
Fin funcion
Funcion void desplegar_promedio( real promedio[5])
{r=0 int
for(r=0 to r<5 step r++)
{Print "Promedio ",(r+1),": ",setw(6),promedio[r] }}
Fin funcion
Pseudocódigo Practica 15 Problema 7b.
Programa principal()
{real valores[5][4]
Real promedio[5]
insertar_lista_datos()
calcular_promedio(valores,promedio)
desplegar_promedio(promedio)
getch() }
Fin
Funcion void insertar_lista_datos()
{
ofstream salida
salida.open("C://Datos//voltios.txt")
salida<<120.3<<" "<<122.7<<" "<<90.3<<" "<<99.8
salida<<95.5<<" "<<120.5<<" "<<127.3<<" "<<120.8
salida<<123.2<<" "<<118.4<<" "<<123.8<<" "<<115.6
salida<<122.4<<" "<<95.6<<" "<<118.2<<" "<<120.99
salida<<123.5<<" "<<130.2<<" "<<123.98<<" "<<124.4
salida<<122.11<<" "<<128.5<<" "<<99.2<<" "<<89.70
salida<<125.12<<" "<<101.33<<" "<<89.75<<" "<<129.90
salida<<95.33<<" "<<124.50<<" "<<133.23<<" "<<95.34
salida.close()
print “\n”
}
Fin funcion
Funcion void calcular_promedio(real valores[8][4],real promedio[8])
{
ifstream entrada
entrada.open("C://Datos//voltios.txt")
r=0,c=0 int
suma=0 real
for(r=0 to r<8 step r++)
{
suma=0
for(c=0 to c<4 step c++)
{
entrada(valores[r][c])
suma=suma+valores[r][c]
}
promedio[r]=suma/4
}
entrada.close()
}
Fin funcion
Función void desplegar_promedio(real promedio[8])
{
r=0 int
suma=0, promediog=0 real
for(r=0 to r<8 step r++)
{
Print "Promedio ",(r+1)," : ",promedio[r]
}
for(r=0 to r<8 step r++)
{
suma=suma+promedio[r]
}
promediog=suma/8
Print “Promedio general: ",promediog
}
Fin funcion
Suscribirse a:
Entradas (Atom)










