SlideShare una empresa de Scribd logo
1 de 14
DOCUMENTACION DE
ALGORITMO
PSEUDOCODIGO
DIAGRAMA DE FLUJO
CODIGO FUENTE
PRUEBAS DE
ESCRITORIO
MATRICULA
14150630052
Profesor: Rene
Dominguez
Alumno
David Robles
Ruiz
Grupo 2416IS
Recuperación de Estructuras de Datos
Resolver los 5 ejercicios del archivo
1. Documentar la solución en un documento de electrónico con el algoritmo, pseudocódigo,
diagrama de flujo, código fuente y 3 pruebas de escritorio.
Subirlo a slideshare.net y publicar en este grupo.
DOCUMENTACION DE LA SOLUCION
(ALGORITMO, PSEUDOCODIGO DIAGRAMA DE FLUJO, CODIGO FUENTE Y LA TRES
PRUEBAS DE ESCRITORIO)
PROBLEMA 1
CARRETES
ALGORITMO:
inicio
ingreso de datos
Introduce el numero de carretes (entre 2 y 200)
Introduce el precio inicial
Introduce el precio final
operación en un ciclo for repitiéndolo por el numero de carretes
imprimiendo salidas
Diagrama de flujo:
PSEUDOCODIGO:
iniciando variables que tomen números ingresados y las almacenen en el
arreglo introduciendo el numero de carretes, el precio inicial y el precio
(int i=0;
i<n;i++)
pinicial[i]=ca
d.charAt(i)-
48;
Calcular
(n<2 || n>200);
pinicial= new
int[n];
pfinal= new
int[n];
("pfinal["+i+"]="+pfinal[i]
+"
pinicial["+i+"]="+pinicial[
i]+" dif1="+salida+"
dif2="+dif2+"
dif3="+dif3+"
min="+min);
FIN
Inicio
Ingresar datos
n=salida
String cad;
int[]
pinicial,pfinal;
final formando estructuras repetitivas para almacenar los datos, crear
instrucciones de operación y para imprimir
CODIGO FUENTE:
package recuperacioncarretes;
import java.util.Scanner;
public class RecuperacionCarretes {
public static void main(String[] args) {
Scanner lector = new Scanner(System.in);
int n,salida=0;
String cad;
int[] pinicial,pfinal;
System.out.println("Introduce el numero de carretes (entre 2 y 200)");
do{
cad=lector.nextLine();
n=Integer.parseInt(cad);
}while(n<2 || n>200);
pinicial= new int[n];
pfinal= new int[n];
System.out.println("Introduce el precio inicial");
do{
cad=lector.nextLine();
}while(cad.length()!=n);
for(int i=0; i<n;i++) pinicial[i]=cad.charAt(i)-48;
System.out.println("Introduce el precio final");
do{
cad=lector.nextLine();
}while(cad.length()!=n);
for(int i=0; i<n;i++) pfinal[i]=cad.charAt(i)-48;
//Aqui se realiza el algoritmo para calcular la salida
for(int i=0; i<n;i++){
int dif1,dif2,dif3,min;
dif1=Math.abs(pfinal[i]+10-pinicial[i]);
dif2=Math.abs(pfinal[i]-pinicial[i]);
dif3=Math.abs(pinicial[i]+10-pfinal[i]);
min=Math.min(Math.min(dif1, dif2),dif3);
salida+=min;
System.out.println("pfinal["+i+"]="+pfinal[i]+"
pinicial["+i+"]="+pinicial[i]+" dif1="+salida+" dif2="+dif2+"
dif3="+dif3+" min="+min);
}
System.out.println("salida="+salida);
}
}
PRUEBAS DE ESCRITORIO:
1)
Introduce el numero de carretes (entre 2 y 200)
4
Introduce el precio inicial
5732
Introduce el precio final
1598
pfinal[0]=1 pinicial[0]=5 dif1=4 dif2=4 dif3=14 min=4
pfinal[1]=5 pinicial[1]=7 dif1=6 dif2=2 dif3=12 min=2
pfinal[2]=9 pinicial[2]=3 dif1=10 dif2=6 dif3=4 min=4
pfinal[3]=8 pinicial[3]=2 dif1=14 dif2=6 dif3=4 min=4
salida=14
2)
Introduce el numero de carretes (entre 2 y 200)
4
Introduce el precio inicial
6000
Introduce el precio final
2000
pfinal[0]=2 pinicial[0]=6 dif1=4 dif2=4 dif3=14 min=4
pfinal[1]=0 pinicial[1]=0 dif1=4 dif2=0 dif3=10 min=0
pfinal[2]=0 pinicial[2]=0 dif1=4 dif2=0 dif3=10 min=0
pfinal[3]=0 pinicial[3]=0 dif1=4 dif2=0 dif3=10 min=0
salida=4
3)
Introduce el numero de carretes (entre 2 y 200)
4
Introduce el precio inicial
6000
Introduce el precio final
2200
pfinal[0]=2 pinicial[0]=6 dif1=4 dif2=4 dif3=14 min=4
pfinal[1]=2 pinicial[1]=0 dif1=6 dif2=2 dif3=8 min=2
pfinal[2]=0 pinicial[2]=0 dif1=6 dif2=0 dif3=10 min=0
pfinal[3]=0 pinicial[3]=0 dif1=6 dif2=0 dif3=10 min=0
salida=6
PSEUCODIGO
formando el código de los carretes
PROBLEMA 2
MATRIZ TRANSPUESTA
ALGORITMO:
Inicio
Entrada de datos de columnas
Entrada de datos de renglones
Leer datos en el arreglo
Igualar datos en dos for anidados
Para operar
Y hacer otros dos for anidados para imprimir
PSEUDOCODIGO:
Armado el código de manera que se muestren las columnas en renglones y los renglones en
columnas solo hubo de escanear los datos de la matriz e igualarlos con otra variable para poder
alterar su posicion y e imprimirlo de manera correcta dentro de fors aninados
DIAGRAMA DE FLUJO:
inicio
ingreso de datos:
CODIGO FUENTE:
package recuperacionmatriztranspuesta;
import java.util.Random;
public class RecuperacionMatrizTranspuesta {
public static void imprimir(int matriz[][], int fila, int columna)
{
int i, j;
for (i=0; i<fila; i++)
{
for (j=0; j<columna; j++)
{
System .out.print(matriz[i][j]+"t");
}
System .out.println(" ");
}
System.out.println();
}
public static void main(String[] args) {
int i,j,fil,colum;
fil = ((int)(Math.random()*(10-2+1)+2)); //(int)(Math.random()*(HASTA-DESDE+1)+DESDE);
colum = ((int)(Math.random()*(10-2+1)+2));
int [] [] matriz = new int [fil][colum];
int [] [] matriz_T = new int [colum][fil];
System.out.println("La matriz es: ");
Random num = new Random();
for ( i = 0; i < fil; i++) {
for (j = 0; j < colum; j++) {
matriz [i][j] = matriz [i][j]=((int)(Math.random()*(100-2+1)+2));
}
}
imprimir (matriz,fil,colum);
//transpuesta
System.out.println("La transpuesta de la matriz es: ");
for(j=0;j<colum;j++)
{
for (i=0;i<fil;i++)
{
matriz_T[j][i]=matriz[i][j];
}
}
imprimir (matriz_T,colum,fil);
}
}
PRUEBAS DE ESCRITORIO:
1)
La matriz es:
18 16 68 25 50 44 94 94 25
32 84 93 11 55 76 33 58 54
6 57 80 47 6 7 54 8 92
75 40 32 46 64 15 91 79 15
80 68 88 40 97 96 34 18 23
81 5 50 16 81 20 75 91 57
46 14 46 19 64 7 98 55 31
La transpuesta de la matriz es:
18 32 6 75 80 81 46
16 84 57 40 68 5 14
68 93 80 32 88 50 46
25 11 47 46 40 16 19
50 55 6 64 97 81 64
44 76 7 15 96 20 7
94 33 54 91 34 75 98
94 58 8 79 18 91 55
25 54 92 15 23 57 31
2)
La matriz es:
49 75 80 77 44 70 30 78
51 82 73 8 43 28 42 51
61 94 23 90 19 78 57 68
85 9 74 40 45 28 11 89
63 85 98 42 60 8 24 25
51 28 57 29 68 55 77 4
La transpuesta de la matriz es:
49 51 61 85 63 51
75 82 94 9 85 28
80 73 23 74 98 57
77 8 90 40 42 29
44 43 19 45 60 68
70 28 78 28 8 55
30 42 57 11 24 77
78 51 68 89 25 4
3)
La matriz es:
29 59 34 78 57 44 61 69
43 44 15 47 75 32 38 15
64 55 6 70 91 31 12 28
La transpuesta de la matriz es:
29 43 64
59 44 55
34 15 6
78 47 70
57 75 91
44 32 31
61 38 12
69 15 28
PROBLEMA 3
NÚMEROS NO FIBONACCI
ALGORITMO:
inicio
numero entrante
PSEUDOCODIGO:
Del algoritmo de la serie Fibonacci solo inverti los datos reciprocando los datos de el algoritmo
DIAGRAMA DE FLUJO:
CODIGO FUENTE:
package recuperacionnofibonacci;
import java.util.Scanner;
public class RecuperacionNoFibonacci {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int b=3;
int c=4;
int d;
System.out.println("ingrese dato");
int a = in.nextInt();
for (int z=8; z<a; z++){
Inicio
Fibo1=n, fibo2=n
N<=1
Fibo1=4;
Fibo2=6;
Fibo1=fibo1+fibo2;
Fibo2=fibo2+fibo1;
Fin
if(z<=1){
z = z+3;
d=0;
}
else{
d=b+c;
}
System.out.println(c+" "+z+""+d);
}
}
}
PRUEBAS DE ESCRITORIO:
1)
ingrese dato
9
4 87
PROBLEMA 4
CARRERA DE LARGA DISTANCIA
ALGORITMO:
inicio
mensaje en pantalla
pedido de
PSEUDOCODIGO:
DIAGRAMA DE FLUJO:
CODIGO FUENTE:
PRUEBAS DE ESCRITORIO:
PROBLEMA 5
SI TE DA
Diagrama de Flujo:
Inicio
N1, n2
CODIGO FUENTE:
package recuperacionsiteda;
import java.util.Scanner;
public class RecuperacionSiTeDa {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
boolean iguales = false;
int n1= in.nextInt();
int aux1= n1;
int n2= in.nextInt();
int aux2=n2;
int contador =0;
System.out.print(n1+""+n2);
while (iguales == false){
int temp =n1+n2;
if (temp>10){
temp-=10;
}
N1+n2=, Temp=10
N1=n2
Fin
Iguales==false
Imprimir= línea 1, línea
2
System.out.print(temp+" ");
n1=n2;
n2=temp;
contador++;
if (n1== aux1&&n2==aux2){
iguales=true;
}
}
System.out.println("");
System.out.println(contador+"veces");
}
}
PRUEBAS DE ESCRITORIO:
1)
1
8
189 7 6 3 9 2 1 3 4 7 1 8
12veces
2)
2
7
279 6 5 1 6 7 3 10 3 3 6 9 5 4 9 3 2 5 7 2 9 1 10 1 1 2 3 5 8 3 1 4 5 9 4 3 7 10 7 7 4 1 5 6 1
7 8 5 3 8 1 9 10 9 9 8 7 5 2 7
60veces
3)
5
9
594 3 7 10 7 7 4 1 5 6 1 7 8 5 3 8 1 9 10 9 9 8 7 5 2 7 9 6 5 1 6 7 3 10 3 3 6 9 5 4 9 3 2 5 7
2 9 1 10 1 1 2 3 5 8 3 1 4 5 9
60veces

Más contenido relacionado

La actualidad más candente

2 fichas refuerzo numeros enteros
2 fichas refuerzo numeros enteros2 fichas refuerzo numeros enteros
2 fichas refuerzo numeros enteros
mercelo
 
Expresiones algebraicas2
Expresiones algebraicas2Expresiones algebraicas2
Expresiones algebraicas2
Mercedes Morato
 
Guia de matematicas enero de 2014
Guia de matematicas enero de 2014Guia de matematicas enero de 2014
Guia de matematicas enero de 2014
aliriovecino
 
Recopilacion 2eso ampliación
Recopilacion 2eso ampliaciónRecopilacion 2eso ampliación
Recopilacion 2eso ampliación
Epep80
 
Solucionario de 2do año secundaria
Solucionario de 2do año secundariaSolucionario de 2do año secundaria
Solucionario de 2do año secundaria
cdibarburut
 
Practica2[Pds][Reporte]
Practica2[Pds][Reporte]Practica2[Pds][Reporte]
Practica2[Pds][Reporte]
Edgar Martinez
 
10 11 ejercicios para repasar toda las mates 2º eso
10 11 ejercicios para repasar toda las mates 2º eso10 11 ejercicios para repasar toda las mates 2º eso
10 11 ejercicios para repasar toda las mates 2º eso
segundo
 

La actualidad más candente (20)

Practico1 2sw-ramos
Practico1 2sw-ramosPractico1 2sw-ramos
Practico1 2sw-ramos
 
Examen 1
Examen 1Examen 1
Examen 1
 
2 fichas refuerzo numeros enteros
2 fichas refuerzo numeros enteros2 fichas refuerzo numeros enteros
2 fichas refuerzo numeros enteros
 
Ejerciciosderivacion
EjerciciosderivacionEjerciciosderivacion
Ejerciciosderivacion
 
Expresiones algebraicas2
Expresiones algebraicas2Expresiones algebraicas2
Expresiones algebraicas2
 
Guia de matematicas enero de 2014
Guia de matematicas enero de 2014Guia de matematicas enero de 2014
Guia de matematicas enero de 2014
 
Operaciones y dominios de funciones
Operaciones y dominios de funcionesOperaciones y dominios de funciones
Operaciones y dominios de funciones
 
Recopilacion 2eso ampliación
Recopilacion 2eso ampliaciónRecopilacion 2eso ampliación
Recopilacion 2eso ampliación
 
Practica nº4 operación de polinomios y factorización(corregido)
Practica nº4  operación de polinomios y factorización(corregido)Practica nº4  operación de polinomios y factorización(corregido)
Practica nº4 operación de polinomios y factorización(corregido)
 
Ejercicios unidad 6 parte i
Ejercicios unidad 6 parte iEjercicios unidad 6 parte i
Ejercicios unidad 6 parte i
 
Solucionario de 2do año secundaria
Solucionario de 2do año secundariaSolucionario de 2do año secundaria
Solucionario de 2do año secundaria
 
WSP
WSPWSP
WSP
 
Ejercicios unidad 4v3
Ejercicios unidad 4v3Ejercicios unidad 4v3
Ejercicios unidad 4v3
 
Practica2[Pds][Reporte]
Practica2[Pds][Reporte]Practica2[Pds][Reporte]
Practica2[Pds][Reporte]
 
10 11 ejercicios para repasar toda las mates 2º eso
10 11 ejercicios para repasar toda las mates 2º eso10 11 ejercicios para repasar toda las mates 2º eso
10 11 ejercicios para repasar toda las mates 2º eso
 
Tema03 2 potencias y raices
Tema03 2   potencias y raicesTema03 2   potencias y raices
Tema03 2 potencias y raices
 
Ejercicios propuestos: POTENCIAS Y RAÍCES CUADRADAS 2
Ejercicios propuestos: POTENCIAS Y RAÍCES CUADRADAS 2Ejercicios propuestos: POTENCIAS Y RAÍCES CUADRADAS 2
Ejercicios propuestos: POTENCIAS Y RAÍCES CUADRADAS 2
 
1 eso verano10
1 eso verano101 eso verano10
1 eso verano10
 
Derivadas sol (1)
Derivadas sol (1)Derivadas sol (1)
Derivadas sol (1)
 
1ª lista de exercicios e lista de revisão 2ºbim 7º ano
1ª lista de exercicios e lista de revisão 2ºbim 7º ano1ª lista de exercicios e lista de revisão 2ºbim 7º ano
1ª lista de exercicios e lista de revisão 2ºbim 7º ano
 

Destacado

Destacado (12)

Dengue yasmin e anna clara
Dengue yasmin e anna clara  Dengue yasmin e anna clara
Dengue yasmin e anna clara
 
Ad book final
Ad book finalAd book final
Ad book final
 
Dengue luiza terra e giovanna paiva
Dengue luiza terra e giovanna paivaDengue luiza terra e giovanna paiva
Dengue luiza terra e giovanna paiva
 
Laporan keuanngan yang dikonseldasikan
Laporan keuanngan yang dikonseldasikanLaporan keuanngan yang dikonseldasikan
Laporan keuanngan yang dikonseldasikan
 
Dell direct marketing
Dell direct marketingDell direct marketing
Dell direct marketing
 
Research methods module 2
Research methods module 2Research methods module 2
Research methods module 2
 
R10 lingua sexto
R10 lingua sextoR10 lingua sexto
R10 lingua sexto
 
Pengajuan judul skripsi Si UIGM
Pengajuan judul skripsi Si UIGMPengajuan judul skripsi Si UIGM
Pengajuan judul skripsi Si UIGM
 
Pemetaan standar isi
Pemetaan standar isiPemetaan standar isi
Pemetaan standar isi
 
Contoh Penipuan
Contoh PenipuanContoh Penipuan
Contoh Penipuan
 
Analisis Laporan Keuangan PT Telekomunikasi Indonesia (Persero) Tbk 2010 – 2014
Analisis Laporan Keuangan PT Telekomunikasi Indonesia (Persero) Tbk 2010 – 2014Analisis Laporan Keuangan PT Telekomunikasi Indonesia (Persero) Tbk 2010 – 2014
Analisis Laporan Keuangan PT Telekomunikasi Indonesia (Persero) Tbk 2010 – 2014
 
Tugas individu akuntansi internasional
Tugas individu akuntansi internasionalTugas individu akuntansi internasional
Tugas individu akuntansi internasional
 

Similar a Rene documentacion programas

Practica MN S04 G2 Método de Punto fijo 2022-2 .docx
Practica MN S04 G2 Método de Punto fijo 2022-2 .docxPractica MN S04 G2 Método de Punto fijo 2022-2 .docx
Practica MN S04 G2 Método de Punto fijo 2022-2 .docx
HUBERTJAREDJIMENEZQU
 
Practica MN S05 G2 Método de Resolucion de Eliminacion de Gauss hacia atras 2...
Practica MN S05 G2 Método de Resolucion de Eliminacion de Gauss hacia atras 2...Practica MN S05 G2 Método de Resolucion de Eliminacion de Gauss hacia atras 2...
Practica MN S05 G2 Método de Resolucion de Eliminacion de Gauss hacia atras 2...
HUBERTJAREDJIMENEZQU
 
Guia iii periodo
Guia iii periodoGuia iii periodo
Guia iii periodo
Xumel Lumi
 
Unidad1 numeros naturales, racionales y enteros
Unidad1 numeros naturales, racionales y enterosUnidad1 numeros naturales, racionales y enteros
Unidad1 numeros naturales, racionales y enteros
Juan Cet
 

Similar a Rene documentacion programas (20)

Problemas v. unidimensionales
Problemas v. unidimensionalesProblemas v. unidimensionales
Problemas v. unidimensionales
 
Ejercicios de variables unidimensionales
Ejercicios de variables unidimensionalesEjercicios de variables unidimensionales
Ejercicios de variables unidimensionales
 
Ejemplo proyectoict
Ejemplo proyectoictEjemplo proyectoict
Ejemplo proyectoict
 
Practica MN S04 G2 Método de Punto fijo 2022-2 .docx
Practica MN S04 G2 Método de Punto fijo 2022-2 .docxPractica MN S04 G2 Método de Punto fijo 2022-2 .docx
Practica MN S04 G2 Método de Punto fijo 2022-2 .docx
 
Naturales (2)
Naturales (2)Naturales (2)
Naturales (2)
 
Practica MN S05 G2 Método de Resolucion de Eliminacion de Gauss hacia atras 2...
Practica MN S05 G2 Método de Resolucion de Eliminacion de Gauss hacia atras 2...Practica MN S05 G2 Método de Resolucion de Eliminacion de Gauss hacia atras 2...
Practica MN S05 G2 Método de Resolucion de Eliminacion de Gauss hacia atras 2...
 
Int_Octave_II_2021.pptx
Int_Octave_II_2021.pptxInt_Octave_II_2021.pptx
Int_Octave_II_2021.pptx
 
Trabajo Colaborativo 2 - Arquitectura de Computadores
Trabajo Colaborativo 2 - Arquitectura de ComputadoresTrabajo Colaborativo 2 - Arquitectura de Computadores
Trabajo Colaborativo 2 - Arquitectura de Computadores
 
Recuperacion programas
Recuperacion programasRecuperacion programas
Recuperacion programas
 
Guia iii periodo
Guia iii periodoGuia iii periodo
Guia iii periodo
 
Guia-de-Matemática-Partes-I-y-II (3).pdf
Guia-de-Matemática-Partes-I-y-II (3).pdfGuia-de-Matemática-Partes-I-y-II (3).pdf
Guia-de-Matemática-Partes-I-y-II (3).pdf
 
Recuperacion programas
Recuperacion programasRecuperacion programas
Recuperacion programas
 
Problemas resueltos de logaritmos pre u ccesa007
Problemas resueltos de logaritmos pre u ccesa007Problemas resueltos de logaritmos pre u ccesa007
Problemas resueltos de logaritmos pre u ccesa007
 
Examen bimestral 1 solución segundo
Examen bimestral 1 solución   segundoExamen bimestral 1 solución   segundo
Examen bimestral 1 solución segundo
 
Examen bimestral 1 solución segundo
Examen bimestral 1 solución   segundoExamen bimestral 1 solución   segundo
Examen bimestral 1 solución segundo
 
Estadistica 3 er grado
Estadistica 3 er gradoEstadistica 3 er grado
Estadistica 3 er grado
 
cuadernillo de matematicas 1
cuadernillo de matematicas 1cuadernillo de matematicas 1
cuadernillo de matematicas 1
 
Operaciones amtematica-14
Operaciones amtematica-14Operaciones amtematica-14
Operaciones amtematica-14
 
Unidad1 numeros naturales, racionales y enteros
Unidad1 numeros naturales, racionales y enterosUnidad1 numeros naturales, racionales y enteros
Unidad1 numeros naturales, racionales y enteros
 
Tarea info
Tarea infoTarea info
Tarea info
 

Rene documentacion programas

  • 1. DOCUMENTACION DE ALGORITMO PSEUDOCODIGO DIAGRAMA DE FLUJO CODIGO FUENTE PRUEBAS DE ESCRITORIO MATRICULA 14150630052 Profesor: Rene Dominguez Alumno David Robles Ruiz Grupo 2416IS
  • 2. Recuperación de Estructuras de Datos Resolver los 5 ejercicios del archivo 1. Documentar la solución en un documento de electrónico con el algoritmo, pseudocódigo, diagrama de flujo, código fuente y 3 pruebas de escritorio. Subirlo a slideshare.net y publicar en este grupo. DOCUMENTACION DE LA SOLUCION (ALGORITMO, PSEUDOCODIGO DIAGRAMA DE FLUJO, CODIGO FUENTE Y LA TRES PRUEBAS DE ESCRITORIO) PROBLEMA 1 CARRETES ALGORITMO: inicio ingreso de datos Introduce el numero de carretes (entre 2 y 200) Introduce el precio inicial Introduce el precio final operación en un ciclo for repitiéndolo por el numero de carretes imprimiendo salidas
  • 3. Diagrama de flujo: PSEUDOCODIGO: iniciando variables que tomen números ingresados y las almacenen en el arreglo introduciendo el numero de carretes, el precio inicial y el precio (int i=0; i<n;i++) pinicial[i]=ca d.charAt(i)- 48; Calcular (n<2 || n>200); pinicial= new int[n]; pfinal= new int[n]; ("pfinal["+i+"]="+pfinal[i] +" pinicial["+i+"]="+pinicial[ i]+" dif1="+salida+" dif2="+dif2+" dif3="+dif3+" min="+min); FIN Inicio Ingresar datos n=salida String cad; int[] pinicial,pfinal;
  • 4. final formando estructuras repetitivas para almacenar los datos, crear instrucciones de operación y para imprimir CODIGO FUENTE: package recuperacioncarretes; import java.util.Scanner; public class RecuperacionCarretes { public static void main(String[] args) { Scanner lector = new Scanner(System.in); int n,salida=0; String cad; int[] pinicial,pfinal; System.out.println("Introduce el numero de carretes (entre 2 y 200)"); do{ cad=lector.nextLine(); n=Integer.parseInt(cad); }while(n<2 || n>200); pinicial= new int[n]; pfinal= new int[n];
  • 5. System.out.println("Introduce el precio inicial"); do{ cad=lector.nextLine(); }while(cad.length()!=n); for(int i=0; i<n;i++) pinicial[i]=cad.charAt(i)-48; System.out.println("Introduce el precio final"); do{ cad=lector.nextLine(); }while(cad.length()!=n); for(int i=0; i<n;i++) pfinal[i]=cad.charAt(i)-48; //Aqui se realiza el algoritmo para calcular la salida for(int i=0; i<n;i++){ int dif1,dif2,dif3,min; dif1=Math.abs(pfinal[i]+10-pinicial[i]); dif2=Math.abs(pfinal[i]-pinicial[i]); dif3=Math.abs(pinicial[i]+10-pfinal[i]); min=Math.min(Math.min(dif1, dif2),dif3); salida+=min;
  • 6. System.out.println("pfinal["+i+"]="+pfinal[i]+" pinicial["+i+"]="+pinicial[i]+" dif1="+salida+" dif2="+dif2+" dif3="+dif3+" min="+min); } System.out.println("salida="+salida); } } PRUEBAS DE ESCRITORIO: 1) Introduce el numero de carretes (entre 2 y 200) 4 Introduce el precio inicial 5732 Introduce el precio final 1598 pfinal[0]=1 pinicial[0]=5 dif1=4 dif2=4 dif3=14 min=4 pfinal[1]=5 pinicial[1]=7 dif1=6 dif2=2 dif3=12 min=2 pfinal[2]=9 pinicial[2]=3 dif1=10 dif2=6 dif3=4 min=4 pfinal[3]=8 pinicial[3]=2 dif1=14 dif2=6 dif3=4 min=4 salida=14 2) Introduce el numero de carretes (entre 2 y 200)
  • 7. 4 Introduce el precio inicial 6000 Introduce el precio final 2000 pfinal[0]=2 pinicial[0]=6 dif1=4 dif2=4 dif3=14 min=4 pfinal[1]=0 pinicial[1]=0 dif1=4 dif2=0 dif3=10 min=0 pfinal[2]=0 pinicial[2]=0 dif1=4 dif2=0 dif3=10 min=0 pfinal[3]=0 pinicial[3]=0 dif1=4 dif2=0 dif3=10 min=0 salida=4 3) Introduce el numero de carretes (entre 2 y 200) 4 Introduce el precio inicial 6000 Introduce el precio final 2200 pfinal[0]=2 pinicial[0]=6 dif1=4 dif2=4 dif3=14 min=4 pfinal[1]=2 pinicial[1]=0 dif1=6 dif2=2 dif3=8 min=2 pfinal[2]=0 pinicial[2]=0 dif1=6 dif2=0 dif3=10 min=0 pfinal[3]=0 pinicial[3]=0 dif1=6 dif2=0 dif3=10 min=0 salida=6 PSEUCODIGO formando el código de los carretes
  • 8. PROBLEMA 2 MATRIZ TRANSPUESTA ALGORITMO: Inicio Entrada de datos de columnas Entrada de datos de renglones Leer datos en el arreglo Igualar datos en dos for anidados Para operar Y hacer otros dos for anidados para imprimir PSEUDOCODIGO: Armado el código de manera que se muestren las columnas en renglones y los renglones en columnas solo hubo de escanear los datos de la matriz e igualarlos con otra variable para poder alterar su posicion y e imprimirlo de manera correcta dentro de fors aninados DIAGRAMA DE FLUJO: inicio ingreso de datos: CODIGO FUENTE: package recuperacionmatriztranspuesta; import java.util.Random; public class RecuperacionMatrizTranspuesta { public static void imprimir(int matriz[][], int fila, int columna) { int i, j; for (i=0; i<fila; i++) { for (j=0; j<columna; j++) { System .out.print(matriz[i][j]+"t"); } System .out.println(" "); } System.out.println(); } public static void main(String[] args) { int i,j,fil,colum; fil = ((int)(Math.random()*(10-2+1)+2)); //(int)(Math.random()*(HASTA-DESDE+1)+DESDE); colum = ((int)(Math.random()*(10-2+1)+2)); int [] [] matriz = new int [fil][colum]; int [] [] matriz_T = new int [colum][fil]; System.out.println("La matriz es: "); Random num = new Random(); for ( i = 0; i < fil; i++) { for (j = 0; j < colum; j++) { matriz [i][j] = matriz [i][j]=((int)(Math.random()*(100-2+1)+2)); } } imprimir (matriz,fil,colum);
  • 9. //transpuesta System.out.println("La transpuesta de la matriz es: "); for(j=0;j<colum;j++) { for (i=0;i<fil;i++) { matriz_T[j][i]=matriz[i][j]; } } imprimir (matriz_T,colum,fil); } } PRUEBAS DE ESCRITORIO: 1) La matriz es: 18 16 68 25 50 44 94 94 25 32 84 93 11 55 76 33 58 54 6 57 80 47 6 7 54 8 92 75 40 32 46 64 15 91 79 15 80 68 88 40 97 96 34 18 23 81 5 50 16 81 20 75 91 57 46 14 46 19 64 7 98 55 31 La transpuesta de la matriz es: 18 32 6 75 80 81 46 16 84 57 40 68 5 14 68 93 80 32 88 50 46 25 11 47 46 40 16 19 50 55 6 64 97 81 64 44 76 7 15 96 20 7 94 33 54 91 34 75 98 94 58 8 79 18 91 55 25 54 92 15 23 57 31 2) La matriz es: 49 75 80 77 44 70 30 78 51 82 73 8 43 28 42 51 61 94 23 90 19 78 57 68 85 9 74 40 45 28 11 89 63 85 98 42 60 8 24 25 51 28 57 29 68 55 77 4 La transpuesta de la matriz es: 49 51 61 85 63 51 75 82 94 9 85 28 80 73 23 74 98 57 77 8 90 40 42 29 44 43 19 45 60 68 70 28 78 28 8 55 30 42 57 11 24 77 78 51 68 89 25 4
  • 10. 3) La matriz es: 29 59 34 78 57 44 61 69 43 44 15 47 75 32 38 15 64 55 6 70 91 31 12 28 La transpuesta de la matriz es: 29 43 64 59 44 55 34 15 6 78 47 70 57 75 91 44 32 31 61 38 12 69 15 28 PROBLEMA 3 NÚMEROS NO FIBONACCI ALGORITMO: inicio numero entrante PSEUDOCODIGO: Del algoritmo de la serie Fibonacci solo inverti los datos reciprocando los datos de el algoritmo
  • 11. DIAGRAMA DE FLUJO: CODIGO FUENTE: package recuperacionnofibonacci; import java.util.Scanner; public class RecuperacionNoFibonacci { public static void main(String[] args) { Scanner in = new Scanner(System.in); int b=3; int c=4; int d; System.out.println("ingrese dato"); int a = in.nextInt(); for (int z=8; z<a; z++){ Inicio Fibo1=n, fibo2=n N<=1 Fibo1=4; Fibo2=6; Fibo1=fibo1+fibo2; Fibo2=fibo2+fibo1; Fin
  • 12. if(z<=1){ z = z+3; d=0; } else{ d=b+c; } System.out.println(c+" "+z+""+d); } } } PRUEBAS DE ESCRITORIO: 1) ingrese dato 9 4 87 PROBLEMA 4 CARRERA DE LARGA DISTANCIA ALGORITMO: inicio mensaje en pantalla pedido de PSEUDOCODIGO: DIAGRAMA DE FLUJO: CODIGO FUENTE: PRUEBAS DE ESCRITORIO: PROBLEMA 5 SI TE DA Diagrama de Flujo: Inicio N1, n2
  • 13. CODIGO FUENTE: package recuperacionsiteda; import java.util.Scanner; public class RecuperacionSiTeDa { public static void main(String[] args) { Scanner in = new Scanner(System.in); boolean iguales = false; int n1= in.nextInt(); int aux1= n1; int n2= in.nextInt(); int aux2=n2; int contador =0; System.out.print(n1+""+n2); while (iguales == false){ int temp =n1+n2; if (temp>10){ temp-=10; } N1+n2=, Temp=10 N1=n2 Fin Iguales==false Imprimir= línea 1, línea 2
  • 14. System.out.print(temp+" "); n1=n2; n2=temp; contador++; if (n1== aux1&&n2==aux2){ iguales=true; } } System.out.println(""); System.out.println(contador+"veces"); } } PRUEBAS DE ESCRITORIO: 1) 1 8 189 7 6 3 9 2 1 3 4 7 1 8 12veces 2) 2 7 279 6 5 1 6 7 3 10 3 3 6 9 5 4 9 3 2 5 7 2 9 1 10 1 1 2 3 5 8 3 1 4 5 9 4 3 7 10 7 7 4 1 5 6 1 7 8 5 3 8 1 9 10 9 9 8 7 5 2 7 60veces 3) 5 9 594 3 7 10 7 7 4 1 5 6 1 7 8 5 3 8 1 9 10 9 9 8 7 5 2 7 9 6 5 1 6 7 3 10 3 3 6 9 5 4 9 3 2 5 7 2 9 1 10 1 1 2 3 5 8 3 1 4 5 9 60veces