UNIVERSIDAD NACIONAL
DE INGENIERÍA
FACULTAD DE INGENIERÍA
ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE
INGENIERÍA ELÉCTRICA
INFORME DE INFORMÁTICA
AUTOR
SÁNCHEZ MALPICA, Douglas Giampeare
20171267F
CÁTEDRA
INFORMATICA
CB411 - “P”
PERIODO ACADEMICO 2018-I
DOCENTE
VILCA ROMAN, Arturo Dionisio
LIMA – PERÚ
2018
ANALISIS:
Problema1: En este problema nos piden hacer una serie aritmética y mostrar en
pantalla cada número perteneciente a la serie pues para ello nos basamos en los
conocimientos aritméticos ya que nos están dando los datos para crear el programa con
las condiciones dadas luego solo quedaría crear el pseudocódigo con los conocimientos
que tenemos sobre el lenguaje de programación para así codificarlo en “C”.
PSEUDOCÓDIGO:
INICIO
//variables
a=1, d=3, n=0 : entero
//proceso
Mientras n<100
Escribir a
a=a+d
n=n+1
Fin mientras
//salida
Escribir “\n\n”
FIN
CODIFICACION:
/*POGRAMA: problema1
AUTOR: Douglas Sánchez Malpica
CODIGO Y SECCION DEL CURSO: CB411-O2
*/
#include<stdio.h>
int main(){
int a=1,d=3,n=0; //creo las variables
printf("\t\t\t### SERIE ARITMETICA ###\n\n");//titulo
while(n<100){//aqui utlizamos el bucle while por condicion
printf("%d,",a);//como se va a repetir por el bucle es lo que imprimimos en
pantalla
a=a+d;//operacion
n++;
}
printf("\n\n");//saltos de linea para que se vea mejor el programa
return 0;
}
PRUEBA:
ANALISIS:
Problema2: Bueno en este problema se nos complica un poco más ya que debemos
analizar 3 casos ya que tenemos una ecuación de segundo grado lo que importa
esencialmente aquí es la discriminante ya que a partir de la formula general implica
hallar la discriminante previamente para poder saber las soluciones ya que
dependiendo de la discriminante se podrán obtener soluciones reales, complejas y
únicas es por ello que debemos basarnos en nuestros conocimientos matemáticas
para poder así resolver este tipo de ejercicios y luego llevarlo al lenguaje “C”.
PSEUDOCODIGO:
INICIO
//variables
a, b, c, discriminante : entero
x1, x2, raíz, xunica : flotante
//entrada
Leer a, b, c
//proceso
discriminante = b^2 - 4*a*c
raíz = discriminante^0.5
escribir discriminante
si discriminante<0 entonces
escribir “no existe solución…!”
fin si
si discriminante>0 entonces
x1 = (-b + raiz)/(2*a)
x2 = (-b - raiz)/(2*a)
escribir x1,x2
fin si
si discriminante = 0 entonces
xunica = -b/(2.0/a)
escribir xunica
fin si
FIN
CODIFICACION:
/*POGRAMA: problema2
AUTOR: Douglas Sánchez Malpica
CODIGO Y SECCION DEL CURSO: CB411-O2
*/
#include<stdio.h>
#include<math.h>
int main(){
int a,b,c,discriminante;
float x1,x2,raiz,xunica;
printf("\t\t### ECUACION CUADRATICA Y SUS RAICES ###\n");
printf("sea la ecuacion cuadratica ax^2+bx+c\n\n");
printf("valor de a: ");
scanf("%d",&a);
printf("valor de b: ");
scanf("%d",&b);
printf("valor de c: ");
scanf("%d",&c);
printf("\n");
discriminante=pow(b,2)-4*a*c;
raiz=pow(discriminante,0.5);
printf("su discriminante de la ecuacion sera: %d\n",discriminante);
if(discriminante<0){
printf("no existe solucion real...!");
}
if(discriminante>0){
x1=(-b+raiz)/(2*a);
x2=(-b-raiz)/(2*a);
printf("las soluciones de la ecuacion cuadratica seran: %f y %f",x1,x2);
}
if(discriminante==0){
xunica=-b/(2.0*a);
printf("ya que la discriminante es igual a cero posee solucion unica el cual es:
%f",xunica);
}
printf("\n\n");
return 0;
}
PRUEBAS:
Para a=5, b=4, c=3
Para a=3, b=8, c=5
Para a=4, b=28, c=49
ANALISIS:
Problema3: Este problema a mi parecer fue el más complicado de llevarlo al lenguaje
“C” ya que el análisis del problema no es tan complejo solo teníamos que hallar un
grupo de números consecutivos que nos lleven al número que íbamos a digitar por
pantalla luego hallar la cantidad de sumas de números consecutivos que nos dan el
numero digitado y el menor número de las sumas consecutivas y todo ello debíamos
de imprimir por pantalla en mi caso me tomó tiempo encontrar la solución el cual utilice
el bucle “for” dos veces para poder analizar desde 1+2+… hasta que me salga el
numero digitado y luego por el bucle “for” desde 2+3+… así fue mi análisis.
PSEUDOCODIGO:
INICIO
//variables
i, j, n, f=0, p, k=1, sum : entero
//entrada
Leer n
//proceso
Para i=1 hasta n inc 1
sum=0
para j=k hasta n inc 1
sum = sum + j
si sum=n entonces
f=f+1;
si f=1 entonces
p=k
fin si
fin si
fin para
k=k+1
fin para
//salida
Escribir f
Escribir p
FIN
CODIFICACION:
/*POGRAMA: problema3
AUTOR: Douglas Sánchez Malpica
CODIGO Y SECCION DEL CURSO: CB411-O2
*/
#include<stdio.h>
int main(){
int n,f=0,p;
int k=1,sum;
printf("### DIFERENTES FORMAS DE HALLAR UN NUMERO MEDIANTE
SUMAS CONSECUTIVAS ###\n");
printf("ingrese el numero a analizar: ");
scanf("%d",&n);
for(int i=1;i<=n;i++){
sum=0;
for(int j=k;j<=n;j++){
sum+=j;
if(sum==n){
f++;
if(f==1){
p=k;
}
}
}
k++;
}
printf("la cantidad de formas son: %d\n",f);
printf("numero menor que forma las sumas consecutivas es: %d\n", p);
return 0;
PRUEBAS:
Para n=10
Para n=27
Para n=41
COMENTARIO:
En estos presentes problemas se ha sido de utilidad de conocimientos aritméticos y
algebraicos sin ello no se podría resolver los ejercicios, además de ello hemos
también recurrido a la lógica ya que para el problema 3 nos requería utilizar “ingenio”
ya que no era fórmula, era lógica y dicha lógica debíamos llevar al lenguaje de
programación, en lo particular pienso que es el que tuvo mayor complejidad a la hora
de resolver dicho ejercicio ya que los problemas 1 y 2 eran más sencillos ya que era
aplicar conocimientos matemáticos(fórmulas) a diferencia del problema3.