Está en la página 1de 25

UNIVERSIDAD ANDINA DEL CUSCO

FACULTAD DE INGENIERIA Y ARQUITECTURA

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS

TEMA:

“DESARROLLO DE PROYECTOS
TRABAJO: RESPONSABILIDA SOCIAL
DE ALGORITMOS PROPUESTOS”

CURSO: ACURIO GUTIERREZ MARIA ISABEL

DOSCENTE: ALGORITMICA Y PROGRAMACION I

INTEGRANTES:

HUAMAN AMACHE ZARETH GISELL


CCAPA ESPINOZA YOHELMIR

CUSCO – PERU

DICIEMBRE DEL 2019


FECHA: 18/12/2019

EJERCICIO Nº 1: Escribe un algoritmo que determine:


a) Permita crear notas y nombres de tamaño N
b) Muestre los nombres y las notas de los alumnos aprobados
c) Muestre los nombres y la nota de los alumnos desaprobados

a) Permita crear un arreglo de notas y arreglo de nombres de tamaño N


I. ANALISIS
1.1 ENTENDER EL PROBLEMA

Datos Proceso Salida


N nombres notas i mensaje
4 Carlos 12 0 Carlos[12]
Carmen 11 1 Carmen[11]
Joel 17 2 Joel[17]
Zara 14 3 Zara[14]

II. DICCIONARIO DE VARIABLES


1.2 ESPECIFICACION DEL ALGORITMO

Datos
N: representa al N del tamaño de los nombres y las notas ingresadas; entero
nombres: representa los primeros nombres ingresados; cadena
notas: representa a las primeras notas ingresadas; entero

Proceso
i: representa al arreglo del contador de la estructura repetitiva; entero

Salida
mensaje: representa al mensaje obtenido con arreglo; entero

III. DISEÑO
3.1 Pseudocódigo
INICIO
Leer datos
Leer proceso
resultado(mensaje)
FIN

Módulo Principal
Inicio
ImprimirNota(N)
Fin_móduloprincipal

Módulo ImprimirNombre
Procedimiento ImprimirNombre( N entero)
Inicio

declarar i
para(i0, i≤ N, i i+1)
incio
escribir “ingrese las notas y los nombres de los alumnos”
fin_para
fin

III. CODIFICACION EN JAVA


package javaapplication34;

import java.util.Scanner;

/**
*
* @author ZARETH HUAMAN Y YOHELMIR CCAPA
* FECHA: 18/12/2019
* ACCION:
* a) Permita crear un arreglo de notas y arreglo de nombres de tamaño N
*/
public class JavaApplication34 {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int N;
int i;
double[] notas;
String[] nombres;
Scanner sc = new Scanner(System.in);
// Indicar que hace el programa
System.out.print("Ingrese Tamaño de los arreglos N: ");
// Leer datos: El usuario define el tamaño del arreglo
N = sc.nextInt();

notas = new double[N];


// Crear el arreglo
nombres = new String[N];
// Calcular la suma de los elementos del arreglo
for(i = 0; i < N;i++)
{
// Mostrar el arreglo
System.out.print("Ingrese Nombre del alumno: ");
nombres[i] = sc.next();
System.out.print("Ingrese Nota del Alumno: ");
notas[i] = sc.nextDouble();
}
// Mostrar el resultado
System.out.println();
System.out.println();
}

COMPROBANDO:
b) Muestre los nombres y la nota de los alumnos aprobados
I. ANALISIS
1.1 ENTENDER EL PROBLEMA

Datos Proceso Salida


N nombres notas i aprobados
4 Joel 14 0 Joel[14]
Zara 18 1 Zara[18]
Julio 13 2
Eva 10 3

II. DICCIONARIO DE VARIABLES


1.2 ESPECIFICACION DEL ALGORITMO

Datos
N: representa al N del tamaño de los nombres y las notas ingresadas; entero
nombres: representa los primeros nombres ingresados; cadena
notas: representa a las primeras notas ingresadas; entero

Proceso
i: representa al arreglo del contador de la estructura repetitiva; entero

Salida
aprobados: representa el resultado obtenido del arreglo; entero

III. DISEÑO
3.1 Pseudocódigo
INICIO
Leer datos
Leer proceso
resultado(mensaje)
FIN

Módulo Principal
Inicio
ImprimirNota(N)
Fin_móduloprincipal

Módulo ImprimirNombre
Procedimiento ImprimirNombre( N entero)
Inicio

declarar i
para(i0, i≤ N, i i+1)
incio
escribir “ingrese las notas y nombres de los alumnos aprobados”
fin_para

IV. CODIFICACION EN JAVA


package javaapplication34;

import java.util.Scanner;
/**
*
* @author ZARETH HUAMAN Y YOHELMIR CCAPA
* FECHA: 18/12/2019
* ACCION:
* b) Muestre los nombres y la nota de los alumnos aprobados
*/
public class JavaApplication34 {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int i = 0;
int N;
double[] notas;
String[] nombres;
Scanner sc = new Scanner(System.in);
System.out.println("Ingrese Tamaño de los arreglos N: ");
// Leer datos:El usuario define
N = sc.nextInt();
notas = new double[N];
// Crear el arreglo
nombres = new String[N];

// Calcular la suma de los elementos del arreglo


for(i = 0; i<N;i++)
{
// Mostrar el arreglo
System.out.print("Ingrese Nombre del alumno: ");
nombres[i] = sc.next();
System.out.print("Ingrese Nota del Alumno: ");
notas[i] = sc.nextDouble();

if(notas[i] >= 14)


{
// Mostrar el resultado
System.out.println("El alumno "+nombres[i]+" esta aprobado con: "+ notas[i]);
}
}
System.out.println();
}

}
COMPROBANDO:
c) Muestre los nombres y la nota de los alumnos desaprobados
I. ANALISIS
1.1 ENTENDER EL PROBLEMA

Datos Proceso Salida


N nombres notas i desaprobados
4 Carmen 11 0 Carmen[11]
Shande 12 1 Shande[12]
Joel 10 2 Joel[10]
Nikol 20 3

II. DICCIONARIO DE VARIABLES


1.2 ESPECIFICACION DEL ALGORITMO

Datos
N: representa al N del tamaño de los nombres y las notas ingresadas; entero
nombres: representa los primeros nombres ingresados; cadena
notas: representa a las primeras notas ingresadas; entero

Proceso
i: representa al arreglo del contador de la estructura repetitiva; entero

Salida
desaprobados: representa el resultado obtenido del arreglo; entero

III. DISEÑO
3.1 Pseudocódigo
INICIO
Leer datos
Leer proceso
resultado(mensaje)
FIN

Módulo Principal
Inicio
ImprimirNota(N)
Fin_móduloprincipal

Módulo ImprimirNombre
Procedimiento ImprimirNombre( N entero)
Inicio

declarar i
para(i0, it≤ N, i i+1)
incio
escribir “ingrese las notas y nombres de los alumnos desaprobados”
fin_para

IV. CODIFICACION EN JAVA


package javaapplication34;

import java.util.Scanner;
/**
*
* @author ZARETH HUAMAN Y YOHELMIR CCAPA
* FECHA: 18/12/2019
* ACCION:
* c) Muestre los nombres y la nota de los alumnos desaprobados
*/
public class JavaApplication34 {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int i = 0;
int N;
double[] notas;
String[] nombres;
Scanner sc = new Scanner(System.in);
System.out.println("Ingrese Tamaño de los arreglos N: ");
// Leer datos:El usuario define
N = sc.nextInt();
notas = new double[N];
// Crear el arreglo
nombres = new String[N];

// Calcular la suma de los elementos del arreglo


for(i = 0; i<N;i++)
{
// Mostrar el arreglo
System.out.print("Ingrese Nombre del alumno: ");
nombres[i] = sc.next();
System.out.print("Ingrese Nota del Alumno: ");
notas[i] = sc.nextDouble();

if(notas[i] < 14)


{
// Mostrar el resultado
System.out.println("El alumno "+nombres[i]+" esta desaprobado con: "+ notas[i]);
}
}
System.out.println();
}

}
COMPROBANDO:
EJERCICIO Nº 2: Elaborar algoritmo que en una universidad se ha establecido los
siguientes puntajes de ingreso para sus respectivas facultades.
I. ANALISIS
1.1 ENTENDER EL PROBLEMA
Datos Proceso Resultado
puntajes facultades
70,79 Si (puntajes=70,79 ) Ciencia
80,89 Si (puntaje=80,89) Industrial
90,99 Si (puntaje=90,99 ) Electrónica
100 Si (puntaje=100 ) sistemas

II. DICCIONARIO DE VARIABLES


1.2 ESPECIFICACION DEL ALGORITMO

Datos
puntajes: representa los puntajes de las facultades ingresados; entero

Proceso
No existe en este caso

Salida
facultades: representa al mensaje obtenido con arreglo; entero

III. DISEÑO
3.1 Pseudocódigo
INICIO
Leer datos
Leer resultado(mensaje)
FIN

Módulo Principal
Inicio
Imprimirfacultades(N)
Fin_móduloprincipal

Módulo ImprimirPuntajes
Procedimiento ImprimirPuntajes( N entero)
Inicio
caso 1: facultades =”ciencias”
caso 2: facultades =”industrial”
caso 3: facultades =”electronica”
caso 4: facultades =”sistemas”
caso contrario : facultades =”puntajes no valido”

incio
escribir “facultades”
fin

fin
III. CODIFICACION EN JAVA
package javaapplication32;

import java.util.Scanner;

/**
*
* @author ZARETH HUAMAN Y YOHELMIR CCAPA
* FECHA: 18/12/2019
* ACCION: Elaborar algoritmo que en una universidad se ha establecido los siguientes
puntajes de ingreso para sus respectivas facultades.
*/
public class JavaApplication32 {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int p;
String f;
// leer datos}
Scanner sc = new Scanner(System.in);
System.out.print("ingrese puntajes para el ingreso de facultades: ");
p = sc.nextInt();
if (p >=70 && p <=79)
f = "ciencias";
else if (p >=80 && p <=89)
f = "industrial";
else if (p >=90 && p <=99)
f = "electronica";
else if (p >=100)
f = "sistemas";
else
f = "ninguna";
System.out.print("facultad: "+f);
}
}
COMPROBANDO:
EJERCICIO Nº 3: Escribir un algoritmo que obtenga el cociente y el residuo de una
división mediante restas sucesivas.
I. ANALISIS
1.1 ENTENDER EL PROBLEMA
Datos Proceso Resultado
numero Cociente residuo
20 20 / 5 = 4 4 0
3478 3478 / 26 =133 133 20
347 347 / 3 = 115 115 02

II. DICCIONARIO DE VARIABLES


1.2 ESPECIFICACION DEL ALGORITMO

Datos
numero: representa los primeros numeros ingresados; entero

Proceso
No existe en este caso

Salida
cociente: representa el cociente obtenido; entero
residuo: representa el residuo obtenido de la division; entero

III. DISEÑO
3.1 Pseudocódigo
INICIO
Leer datos
Leer resultado(mensaje)
FIN

Módulo Principal
Inicio
ImprimirCociente y Residuo(N)
Fin_móduloprincipal

Módulo ImprimirNumero
Procedimiento ImprimirNumero( N entero)
Inicio
n←0
Mientras (n>=d)
Incio
n←n-d
escribir “ingrese cociente y residuo”
fin
fin

III. CODIFICACION EN JAVA


package javaapplication32;

import java.util.Scanner;
/**
*
* @author ZARETH HUAMAN Y YOHELMIR CCAPA
* FECHA: 18/12/2019
* ACCION: Escribir un algoritmo que obtenga el cociente y el residuo de una división
mediante restas sucesivas.
*/
public class JavaApplication32 {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int n;
int d;
int c=0;
int r = 0;
Scanner sc = new Scanner(System.in);
System.out.print("ingrese numero: ");
n = sc.nextInt();
System.out.print("ingrese denominador: ");
d = sc.nextInt();
System.out.print("ingrese cociente: ");
c = sc.nextInt();
while (n>=d){
n=n-d;
c++;

}
r=n;
System.out.print(""+c);
System.out.print(""+r);
}
}
COMPROBANDO:
EJERCICIO Nº 4: Escriba un algoritmo que muestre cuantos múltiplos de 3 existen entre
el 10 y el 70.
I. ANALISIS
1.1 ENTENDER EL PROBLEMA
Datos Proceso Resultado
numero i mensaje
1 1 MOD 3 = 3 0 3
145 145 MOD 3 = 48 1 48
10 10 MOD 3 = 3 2 3

II. DICCIONARIO DE VARIABLES


1.2 ESPECIFICACION DEL ALGORITMO

Datos
numero: representa los números que se va a ingresar; entero

Proceso
i: representa al contador que se realizara en la estructura repetitiva; entero

Salida
mensaje: representa los mensaje (múltiplos) obtenido; entero

III. DISEÑO
3.1 Pseudocódigo
INICIO
Leer datos
Leer proceso
Leer resultado(mensaje)
FIN

Módulo Principal
Inicio
Imprimirmultiplo(N)
Fin_móduloprincipal

Módulo ImprimirNumero
Procedimiento ImprimirNumero( N entero)
Inicio
n←0
Si mod 3=0
cont←Cont+1

Incio
n←n-d
escribir “multiplo”
Cont←Cont+1
Fin
Mientras que (i>70 ) Hacer
fin

III. CODIFICACION EN JAVA


package javaapplication32;
import java.util.Scanner;

/**
*
* @author ZARETH HUAMAN Y YOHELMIR CCAPA
* FECHA: 18/12/2019
* ACCION: Escriba un algoritmo que muestre cuantos múltiplos de 3 existen entre el 10 y el 70.
*/
public class JavaApplication32 {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int i = 10 ;
int cont = 0;
Scanner sc = new Scanner(System.in);
System.out.print("ingrese multiplos: ");
i = sc.nextInt();
cont = sc.nextInt();

do{
if (i % 3 == 0){
cont++;
}
i++;
}while (i<=70);
System.out.println("los multiplos de 3 es: "+cont);
}

}
COMPROBANDO:
EJERCICIO Nº 5: Elaborar algoritmo que ingrese una letra a y e y reportar el mensaje
de acuerdo a: “a” excelente; “b” bueno; “c” regular; “d” malo; “e” pésimo
I. ANALISIS
1.1 ENTENDER EL PROBLEMA
Datos Proceso Resultado
letra mensaje
a Si (letra= a) Excelente
b Si (letra= b) Bueno
c Si (letra= c) Regular
d Si (letra= d) Malo
e Si (letra= e) Pésimo

II. DICCIONARIO DE VARIABLES


1.2 ESPECIFICACION DEL ALGORITMO

Datos
letras: representa las letras de las vocales ingresados; entero

Proceso
No existe en este caso

Salida
mensaje: representa al mensaje obtenido con arreglo; entero

III. DISEÑO
3.1 Pseudocódigo
INICIO
Leer datos
Leer resultado(mensaje)
FIN

Módulo Principal
Inicio
Imprimirletras(N)
Fin_móduloprincipal

Módulo Imprimirmensaje
Procedimiento ImprimirMensaje( N entero)
Inicio
caso 1: mensaje=”excelente”
caso 2: mensaje=”bueno”
caso 3: mensaje=”regular”
caso 4: mensaje=”malo”
caso 5: mensaje=”pésimo”
caso contrario : mensaje =”letra no valido”
incio
escribir “letra”
fin
fin

III. CODIFICACION EN JAVA


package javaapplication32;
import java.util.Scanner;

/**
*
* @author ZARETH HUAMAN Y YOHELMIR CCAPA
* FECHA: 18/12/2019
* ACCION: Elaborar algoritmo que ingrese una letra a y e y reportar el mensaje de acuerdo a:
* “a” excelente; “b” bueno; “c” regular; “d” malo; “e” pésimo
*/
public class JavaApplication32 {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
String mensaje;
int letra;
// leer datos}

Scanner sc = new Scanner(System.in);


System.out.print("ingrese letra (a-e):");
mensaje = sc.next();
letra= mensaje.charAt(0);
switch(letra){

case'a': case'A':
System.out.println("excelente");
break;
case'b': case'B':
System.out.println("bueno");
break;
case'c': case'C':
System.out.println("regular");
break;
case'd': case'D':
System.out.println("malo");
break;
case'e': case'E':
System.out.println("pesimo");
break;
default:
System.out.println("opcion equivocada");
}
}
}
COMPROBANDO:
EJERCICIO Nº 6: Elaborar el factorial de un numero ingresado
I. ANALISIS
1.1 ENTENDER EL PROBLEMA
Datos Proceso Resultado
numero i factorial
2! 2*1 0 2
4! 4*3*2*1 1 24
3! 3*2*1 2 6

II. DICCIONARIO DE VARIABLES


1.2 ESPECIFICACION DEL ALGORITMO

Datos
numero: representa los números ingresados; entero

Proceso
i : representa al contador de la estructura repetitiva; entero

Salida
factorial: representa al mensaje obtenido con arreglo; entero

III. DISEÑO
3.1 Pseudocódigo
INICIO
Leer datos
Leer proceso
Leer resultado(mensaje)
FIN

Módulo Principal
Inicio
ImprimirNumero(N)
Fin_móduloprincipal

Módulo ImprimirFactorial
Procedimiento ImprimirFactorial( N entero)
Inicio
Declarar i
para(i1, i≤ numero, ii+1)

incio
escribir “el numero factorial”
fin_para
Fin_procedimiento

IV. CODIFICACION EN JAVA


package javaapplication32;

import java.util.Scanner;

/**
*
* @author ZARETH HUAMAN Y YOHELMIR CCAPA
* FECHA: 18/12/2019
* ACCION: Elaborar el factorial de un numero ingresado
*/
public class JavaApplication32 {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int i;
int factorial = 1;
int n;
Scanner sc = new Scanner(System.in);
System.out.print("escribir el numero: ");
n = sc.nextInt();
// imprimir factorial
for(i = 1; i<=n; i++)
{
factorial = factorial *i;
}
System.out.println("el factorial es: "+factorial);
}
}
COMPROBANDO:

También podría gustarte