Algoritmia - Ejercicios algoritmo

 
Vista:

Ejercicios algoritmo

Publicado por Milena (3 intervenciones) el 28/06/2020 00:00:05
3. Diseñe un algoritmo de un programa que permita capturar un numero de elementos para un arreglo, almacene valores enteros en ese arreglo, e imprima el siguiente resumen.
• Valores inferiores al promedio: x,x,x,x,xx,x,x
• Valores pares suministrados: xxxxxxx
• Valores que son número primo: xxxxxxxx
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
sin imagen de perfil
Val: 15
Ha mantenido su posición en Algoritmia (en relación al último mes)
Gráfica de Algoritmia

Ejercicios algoritmo

Publicado por Jorge (4 intervenciones) el 28/06/2020 17:16:31
Bien esto se puede hacer de varias formas, esta es una de ellas y no necesariamente la mejor, pero funciona y hace lo que están pidiendo:

Inicio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
int  numeros[];
int contador = 0;
int opcion;
int tamano;
int numero;
 
ESCRIBIR("Ingresar tamaño Vector");
LEER( tamano);
    PARA contador DESDE 1 HASTA tamano
       	 ESCRIBIR("Ingresar  número");
                 numeros[contador ] = LEER( numero );
    FIN PARA
 
ESCRIBIR("Seleccionar Opción");
ESCRIBIR("1. Valores inferiores al promedio");
ESCRIBIR("2. Valores pares suministrados");
ESCRIBIR("3. Valores que son número primo");
LEER( opcion);
 
SI (opcion == 1) Entonces
     // Primero Obtenemos el Promedio
	int suma=0;
	float promedio=0;
	int i;
	PARA (i=0; i< tamano; i++)
		suma=suma+numeros[i];
	FIN PARA
	promedio=suma/6;
    // Ahora extraemos los inferiores a ese promedio
	PARA(i=0; i < tamano; i++) {
            SI (numeros[i] < promedio) Entonces
		 LEER (numeros[i]);
            Fin SI
	FIN PARA
Sino Si (opcion == 2) Entonces
	PARA(i=0; i < tamano; i++) {
            SI (numeros[i] % 2 = 0) Entonces
		 LEER (numeros[i]);
            Fin SI
	FIN PARA
Sino
        int contador = 0;
        int I=0;
        PARA(I=0; I < tamano; I++) {
            SI ((numeros[I] % I) == 0)
                contador++;
                SI (contador <= 2)
                    LEER (numeros[i]);
                Fin SI
            Fin SI
	FIN PARA
Fin SI
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar

Ejercicios algoritmo

Publicado por Milena (3 intervenciones) el 28/06/2020 17:18:18
Muchas gracias. :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 15
Ha mantenido su posición en Algoritmia (en relación al último mes)
Gráfica de Algoritmia

Ejercicios algoritmo

Publicado por Jorge (4 intervenciones) el 28/06/2020 19:29:18
CORREGIR Linea 28

promedio=suma/6;

Es: promedio=suma/tamano;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Rodrigo
Val: 73
Plata
Ha mantenido su posición en Algoritmia (en relación al último mes)
Gráfica de Algoritmia

Ejercicios algoritmo

Publicado por Rodrigo (21 intervenciones) el 28/06/2020 21:51:20
Unas observaciones al codigo ofrecido amablemente por Jorge:

Parece que hay que cambiar los LEER por ESCRIBIR en las lineas 32, 38 y 48.

El ultimo ciclo parece incorrecto en varios aspectos:
- El if que esta entre las lineas 47-48-49 tiene que estar fuera del ciclo, no al interior.
- Hay que hacer 2 ciclos, uno al interior del otro. El ciclo de mas afuera recorre el arreglo, el de adentro descubre si se puede dividir por los numeros menores que el, para ver si es primo.

Pareciera estar usandose la sintaxis de C o Java para la comparacion, por lo que en la linea 37 hay que cambiar = por ==
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 15
Ha mantenido su posición en Algoritmia (en relación al último mes)
Gráfica de Algoritmia

Ejercicios algoritmo

Publicado por jorge (4 intervenciones) el 29/06/2020 00:20:41
Probado en Java Queda así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
import java.util.Scanner;
 
public class Ejercicio {
    static int[] numeros;
    static int tamano;
 
    public static void main(String[] args) {
       cargarVector();
    }
 
    static void cargarVector()
    {
 
       int contador = 0;
 
       System.out.println("Ingresar tamaño Vector");
       Scanner teclado = new Scanner(System.in);
       tamano = teclado.nextInt();
       numeros = new int[tamano];
       for(contador=0; contador < tamano; contador++)
       {
            System.out.printf("Ingresar número %d: ", contador+1);
            numeros[contador] = teclado.nextInt();
       }
       menu();
    }
 
    static void menu()
    {
        int n=0;
        String op = "";
        System.out.println("\n\n\t  Ingrese la opcion que desea realizar: ");
        System.out.println("\n\t1.  1. Valores inferiores al promedio");
        System.out.println("\n\t2.  2. Valores pares suministrados");
        System.out.println("\n\t3.  3. Valores que son número primo");
        System.out.println("\n\t4.  Salir");
 
        Scanner entradaEscaner = new Scanner (System.in); //Creación de un objeto Scanner
        op = entradaEscaner.nextLine (); //Invocamos un método sobre un objeto Scanner
 
        while (!"4".equals(op))
        {
            switch(op)
            {
                case "1": {promedio();       break; }
                case "2": {pares();          break; }
                case "3": {primos();         break; }
                case "4": {System.exit(0);   break; }
            }
        }
    }
 
    static void promedio()
    {
	int suma=0;
	float r=0;
	int i;
	for (i=0;i<tamano;i++) {
             suma=suma+numeros[i];
	}
	r=suma/tamano;
	System.out.printf("El promedio del arreglo es %f", r);
	menu();
    }
 
    static void pares()
    {
        int i;
	for (i=0;i<tamano;i++) {
             if (numeros[i]%2 == 0){
                System.out.printf("\n\n\t El número: " +numeros[i] + " Es par");
             }
	}
        menu();
    }
 
    static void primos()
    {
        int contador = 0;
        int j=0;
        int I=0;
        int numero;
        for(j = 0; j < tamano; j++)
        {
            numero =  numeros[j];
 
            contador = 0;
 
                   for(I = 1; I <= numero; I++)
                    {
                        if((numero % I) == 0)
                        {
                            contador++;
                        }
                    }
                    if(contador <= 2)
                    {
                        System.out.printf("\n\n\t El número: " +numero + " Es primo");
                    }
 
        }
 
        menu();
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ejercicios algoritmo

Publicado por Milena (3 intervenciones) el 29/06/2020 01:46:58
Yo necesito hacerlo en Pseint. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 15
Ha mantenido su posición en Algoritmia (en relación al último mes)
Gráfica de Algoritmia

Ejercicios algoritmo

Publicado por Jorge (4 intervenciones) el 29/06/2020 03:33:01
Bien Milena aclaro que no soy experto en PSeint, pero ahí se lo migré, por favor pruebelo bastante y si algo nos cuenta, también le adjunto el ejercicio con la extensión psc de esa herramienta para que lo pruebe.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Algoritmo Ejercicio_Array
 
	Definir numero, i, tamano Como Entero;
	Escribir "Ingrese Tamaño del Vector:";
	Leer tamano;
	Dimension numeros[tamano];
	Para i<-1 Hasta tamano Hacer
		Escribir "Ingrese Numero:", i;
		Leer numero;
		numeros[i]=numero;
	FinPara
 
	Definir op Como Entero;
	Escribir "Ingrese la opcion que desea realizar: ";
	Escribir "1.- Valores inferiores al promedio";
	Escribir "2.- Valores pares suministrados";
	Escribir "3.- Valores que son número primo";
	leer op;
	Segun (op) Hacer
		1:
			Definir suma Como Entero;
			Definir promedio Como Real;
			Para i<-1 Hasta tamano Hacer
				suma = suma + numeros[i];
			Fin Para
			promedio = suma/tamano;
			Escribir "El Promedio es: ", promedio, " Y los inferiores a este son: ";
 
			Para i<-1 Hasta tamano Hacer
				Si (numeros[i] < promedio) Entonces;
					Escribir numeros[i];
				FinSi
			Fin Para
		2:
			Para i<-1 Hasta tamano Hacer
				Si (i mod 2 == 0) Entonces;
					Escribir numeros[i];
				FinSi
			Fin Para
		3:
			Definir j, elNumero, contador Como Entero;
			Para j<-1 Hasta tamano Hacer
				elNumero = numeros[j];
				contador = 0;
				Para i<-1 Hasta tamano Hacer
					Si ((elNumero % i) =0) Entonces;
						contador <- contador + 1;
					FinSi
				Fin Para
				Si (contador = 2) Entonces
					Escribir "El Número: ", elNumero, " es primo";
				FinSi
			FinPara
	FinSegun
 
FinAlgoritmo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar