Universidad Nacional San Agustín
Ingeniería Electrónica
Docente: Mg. Milagros Zegarra Mejía Programación para Electrónica 2
EXAMEN FINAL GRUPO B
Nombre: GUIDO CHAMBILLA CONDORI Fecha: 18-12-2020
1) Leer los nombres, apellidos, edad, cui, distrito, semestre y las 4 notas de los 100 alumnos de un
salón, hallar el promedio de cada alumno teniendo en cuenta que las dos primeras notas tienen
un peso de 30% y las dos últimas de 20%, guardar cada elemento en un vector, mostrar el
promedio de las notas finales, luego aumentar 1 punto si la nota es menor a 13 y 1.5 si es mayor,
y volver a mostrar el promedio de las mismas. Al final volver a mostrar todos los vectores,
adicional a ello debe hallar el promedio más alto, el promedio más bajo, la cantidad de alumno en
cada semestre, el semestre con más alumnos, el semestre con menos alumnos, la máxima edad,
la menor edad, cuantos menores de 20 años, cuantos entre 21 y 30 y cuantos mayores de 30.
Finalmente, para el próximo semestre considerar un estado de descuento para la matricula
dependiendo de la nota final obtenida si es 11 o menos NO TIENE descuento, entre 12 y 15 un
15% y más de 15 un 25% de descuento, esto se quedará almacenado en un vector el cual se
hará efectivo cuando se vaya a matricular
Realizar Diagrama de flujo, diagrama NS, PSeudocódigo, Pseint
2) Explicar cómo se ha realizado la aplicación en Android, que software ha usado, cómo funciona el
software, que ventajas y desventajas tiene, que opciones adicionales en cuanto a software ha
investigado y porque decidió usar el software que finalmente uso. Incluir pantallazos y videos del
funcionamiento
SOLUCIÓN EJERCICIO N° 1
CODIGO PSEINT
Proceso PARCIAL_3
Dimension nombres[100], apellidos[100], edad[100], cui[100], distrito[100], semestre[100],
nota1[100], nota2[100], nota3[100], nota4[100], prom[100], prom2[100], sem[10], estado[100]
Definir nombres, apellidos, distrito, estado Como Texto
Definir edad, cui, semestre Como Entero;
Definir nota1, nota2, nota3, nota4, prom Como Real;
n=100
Para i<-1 hasta n Hacer
Mostrar "INGRESE SU NOMBRE"
Leer nombres[i];
Mostrar "INGRESE SU APELLIDO"
Leer apellidos[i];
Mostrar "INGRESE SU EDAD"
Leer edad[i];
Mostrar "INGRESE SU CUI"
Leer cui[i];
Mostrar "INGRESE EL DISTRITO EN EL QUE VIVE"
Leer distrito[i];
Mostrar "INGRESE EL SEMESTRE EN EL QUE ESTA"
Leer semestre[i];
Mostrar "INGRESE SUS 2 PRIMERAS NOTAS"
Leer nota1[i], nota2[i];
Mostrar "INGRESE SUS 2 SEGUNDAS NOTAS"
Leer nota3[i], nota4[i];
prom[i]=nota1[i]*0.3+nota2[i]*0.3+nota3[i]*0.2+nota4[i]*0.2;
Mostrar " SU PROMEDIO ES ", prom[i];
acum=acum+prom[i];
FinPara
promfinal=acum/n
Mostrar " EL PROMEDIO DE LAS NOTAS ES ", promfinal;
Para i<-1 hasta n Hacer
Si prom[i]<13
prom2[i]=prom[i]+1
SiNo
prom2[i]=prom[i]+1.5
FinSi
acum2<-acum2+prom2[i]
FinPara
promfinal2=acum2/n
Mostrar " EL PROMEDIO DE LAS NOTAS 2 ES ", promfinal2;
Para i<-1 hasta n Hacer
Mostrar " NOMBRES ", nombres[i];
Mostrar " APELLIDOS ", apellidos[i];
Mostrar " EDAD ", edad[i];
Mostrar " CUI ", cui[i];
Mostrar " VIVE EN ", distrito[i];
Mostrar " DEL SEMESTRE ", semestre[i];
FinPara
maximo=0
minimo=0
Para i<-1 Hasta n Hacer
Si prom2[i]>maximo Entonces
maximo=prom2[i]
FinSi
minimo<-maximo
Si prom2[i]<minimo Entonces
minimo=prom2[i]
FinSi
FinPara
Mostrar " EL PROMEDIO MAS ALTO ES ", maximo;
Mostrar " EL PROMEDIO MAS BAJO ES ", minimo;
Para i<-1 hasta n Hacer
Segun semestre[i]
1:sem[1]=sem[1]+1
2:sem[2]=sem[2]+1
3:sem[3]=sem[3]+1
4:sem[4]=sem[4]+1
5:sem[5]=sem[5]+1
6:sem[6]=sem[6]+1
7:sem[7]=sem[7]+1
8:sem[8]=sem[8]+1
9:sem[9]=sem[9]+1
10:sem[10]=sem[10]+1
FinSegun
FinPara
Para i<-1 hasta 10 Hacer
Mostrar "EL NUMERO DE ALUMNOS EN EL SEMESTRE ", i " ES ", sem[i]
FinPara
Para i<-1 Hasta n Hacer
Para j<-1 hasta 10 Hacer
Si sem[i]>maxsem Entonces
maxsem=sem[i]
semmax<-i
FinSi
minsem<-maxsem
Si sem[i]<minsem Entonces
minsem=sem[i]
semmin<-i
FinSi
FinPara
FinPara
Mostrar " EL SEMESTRE QUE MAS ALUMNOS TIENE ES ", semmax;
Mostrar " EL SEMESTRE QUE MENOS ALUMNOS TIENE ES ", semmin;
Para i<-1 Hasta n Hacer
Si edad[i]>edadmax Entonces
edadmax=edad[i]
FinSi
edadmin<-edadmax
Si edad[i]<edadmin Entonces
edadmin=edad[i]
FinSi
FinPara
Mostrar " LA EDAD MAXIMA ES ", edadmax;
Mostrar " LA EDAD MINIMA ES ", edadmin;
Para i<-1 hasta n Hacer
si edad[i]<=20
men20=men20+1
SiNo
si edad[i]>20 y edad[i]<=30
men30=men30+1
SiNo
may30=may30+1
FinSi
FinSi
FinPara
Mostrar " MENORES DE 20 AÑOS SON ", men20;
Mostrar " ENTRE 21 Y 30 SON ", men30;
Mostrar " MAYORES DE 30 SON ", may30;
Para i<-1 hasta n Hacer
Si prom2[i]<=11
estado[i]= "NO TIENE DESCUENTO"
SiNo
si prom2[i]>=12 y nota2[i]<=15
estado[i]="15% DE DESCUENTO"
SiNo
estado[i]="25% DE DESCUENTO"
FinSi
FinSi
FinPara
FinProceso
INICIO
nombre, distrito; como
carácter
notas, n_notas, semestre,
cui, edad, max_est,
min_est; como entero
nota, prom_notas,
prom_final, nota_max,
nota_min, desc_matric,
n_notas, acum; como real
leer
nombre, edad, cui, distrito
semestre. notas
notas= nota1, nota2,
nota3, nota4
n_notas=0,
acum=notas+1
respuesta="si"
Repetir desde
n_est=1 hasta
n_est=100
C
n_est = n_est + 1
leer
notas
prom_notas =
(nota1+nota2)*0.3 +
(nota3+nota4)*0.2
si
nota < 13 notas = notas1, notas2
entonces notas3, notas4
prom_notas = notas + 1
si
notas = notas1, notas2
nota > 14
notas3, notas4
entonces
prom_notas = notas +1.5
mostrar
prom_final = prom_notas
A
A
si prom_notas
prom_nota = nota_menor
>= nota_mayor
nota_mayor = prom_notas
escoger semestre
semestre1 semestre2 semestre3 semestre4 semestre5 semestre6 semestre7 semestre8 semestre9 semestre10
semestre >= cant_est
semestre < cant_est
C
mostrar
cant_est
si edad >21 y
cant_est = est_edad >30
edad < 30
total_est = cant_est
nota_final
mostrar
nro_estudiantes
si nota_final <11
entonces
si nota_final >= 12 y
nota_final < 15
des_matricula = 0 entoces
si nota_final > 15 desc_matricula =
entonces 0.25*matricula
desc_matricula = .015*matricula
B
B
mostrar
nota_final
pago_matric
FIN
INICIO
nombre, distrito; como notas, n_notas, semestre, nota, prom_notas, prom_final, nota_max,
variables cui, edad, max_est, nota_min, desc_matric,
carácter
min_est; como entero n_notas, acum; como real
leer nombre, edad, cui, distrito, semestre, notas
notas= nota1, nota2, nota3, nota4, n_notas=0,
acum=notas+1 respuesta="si"
n_est = n_est + 1
Repetir desde leer notas
n_est=1 hasta
n_est=100 mientras
si nota <
13
entonces
si nota > 14
prom_notas =
entonces
(nota1+nota2)*0.3
+
prom_notas
(nota3+nota4)*0.2 prom_notas = notas = notas1, notas2
= notas + 1
notas +1.5 notas3, notas4
mostrar
prom_final = prom_notas
si prom_notas
>= nota_mayor
nota_mayor = prom_notas prom_nota = nota_meno
mostrar
prom_final = prom_notas
escoger semestre
sem_1
sem_2
sem_3
sem_4
sem_5
sem_6
sem_7 sem_8
sem_9 sem_10 si no
ric
m m m m m m m m m
alu alu alu alu alu alu alu alu alu
at
n_alum
n_ n_ n_ n_ n_ n_ n_ n_ n_ _m
no
semestre >= cant_est
semestre < cant_est
mostrar cant_est
si edad >21 y
edad < 30
si nota_final <11
entonces
si nota_final >= 12 y total_est = cant_est
nota_final < 15 si nota_final > 15 nota_final
entonces
des_matricula = desc_matricula = desc_matricula =
0 .015*matricula 0.25*matricula
pago_matricula
mostrar nota_final
pago_matric
FIN
APLICACIÓN EN APP INVENTOR
Objetivos
Realizar una aplicación en APP Inventor para un sistema operativo Android, que permita programar una
agenda o libreta de notas, además guarde la fecha en el que se genera la nota y pueda ser modificada
una vez cumplida la actividad.
1° paso. - Empezaremos descargando el APP inventos en nuestro computador.
2° paso. - diseñamos nuestro portal aplicativo para nuestro Smartphone lo más versátil y
accesible para su manipulación.
Ventana principal:
3° paso. – una vez diseñado la ventana principal se genera la programación de bloques según
el lenguaje de programación en app inventor.
Diagrama de bloques de la ventana principal:
4° paso. – añadimos una ventana en el cual generaremos notas insertando un texto o actividad
programada el cual se guardará mediante el botón anotar y añadiremos un botón que nos
permita retroceder a la página principal.
Ventana generar notas:
5° paso. – realizar la programación para la ventana anotar mediante el diagrama de bloques de
app inventor el cual nos permitirá generar un texto para luego poder ser almacenado en otra
venta pera ello se genera un botón de anotar.
Diagrama de bloques para ventana anotar:
6° paso. – volvemos a generar una ventana ver notas que mostrará el texto generado en la
ventana anotar con la fecha y hora en el que se generó la nota, también añadiremos un botón
atrás que nos permite retornar a la ventana principal.
Ventana ver notas:
7° paso. – luego se realizará la programación del diagrama de bloques para la ventana ver
notas en el cual se utilizará diversas funciones de app inventor para que el aplicativo guarde las
notas generadas con un horario instantáneo.
Diagrama de bloques ver notas:
8° paso. – por ultimo generamos la aplicación para Android el cual posteriormente instalaremos
en cualquier teléfono con sistema operativo Android.
Funcionamiento de aplicativo Android en el Smartphone
una vez creada la aplicación en app inventor instalaremos nuestra aplicación en nuestro
teléfono con sistema operativo Android en el cual podremos generar ya nuestra agenda con
algunas actividades diarias.
Básicamente nuestra aplicación funciona de la siguiente manera:
Ingresamos a la aplicación y visualizaremos la ventana principal donde presionamos primero en
el botón anotar seguidamente se abrirá una nueva ventana donde podremos generar un texto o
actividad a programarse, para que el texto se guarde presionamos anotar donde de inmediato
aparece un mensaje ¡apuntado!, donde quedara guardado en otra ventana ver notas como se
ve en la última imagen del cual podemos retornar a la ventana principal con el botón atrás, por
ultimo tenemos un botón borrar notas el cual permite borrar todas las notas guardadas.
En el video podemos notar que nuestra aplicación funciona de forma exitosa, ahora probar en
el tiempo que tal útil puede resultar según un estudio estadístico.
Video elaboración de la APLICACIÓN:
https://drive.google.com/file/d/1-91BEo_zKKHuXW6lQUrGiIcMaxhmwuyJ/view?usp=sharing
Video demostrativo de la APLICACIÓN:
https://drive.google.com/file/d/1H4NoGykuUyoeseQh_XyymKE375c77MVN/view?usp=sharing
APLICACIÓN:
http://ai2.appinventor.mit.edu/b/2q5x
DIAGRAMA DE FLUJO DEL APLICATIVO
inicio
variables
nota, anotar, ver_notas,
apuntar, atras, borrar_notas,
salir, total_notas.
leer
notas,
total_notas
notas=1
total_notas=0
repetir notas > 0 hasta V
notas = total_notas + 1
mostrar F
si nota > 0
"!no hay notas¡"
total_nota = nota + 1
mostrar F
si nota >= 1
"!no hay notas¡"
ver_notas= total_notas + fecha
mostrar
total_notas
fin