Autor
|
Tema: Ayuda PSEINT (Leído 12,154 veces)
|
dianaco
Desconectado
Mensajes: 2
|
Hola, alguno que me ayude con mi CODIGO. Intento encontrar el numero mayor y menor basado en los numeros que tira en el matriz pero por alguna razon me esta tirando resultados diferentes en el reporte final:
Algoritmo 1_1 Definir posicion1, posicion2, Respuesta_menu, matriz,matriz1, vector1, vector2,vector3, vector4, f, c Como entero; Escribir "Bienvenidos al Sistema de Gestion GV Ruta 27"; Escribir "Menu principal'; Escribir "1.Incializacion de datos"; escribir "2.Simulacion del flujo vehicular"; escribir "3.Verfical congestionamiento vial"; escribir "4.Salir"; Repetir Escribir "Ingrese la opcion deseada"; leer Respuesta_menu; Hasta Que Respuesta_menu=1 o Respuesta_menu=4 Segun Respuesta_menu Hacer 1: escribir "Datos inicializados!"; Escribir "Cantidad de vehiculos por paeje y por dia"; Escribir "D L M K J V S Peaje/dia"; Dimension matriz[4,7], vector1[7], vector2[7]; definir mayor Como Entero definir menor Como Entero para f= 1 hasta 4 con paso 1 Hacer para c = 1 hasta 7 con paso 1 Hacer matriz(f,c) =azar(1); FinPara FinPara para f= 1 hasta 4 con paso 1 Hacer para c = 1 hasta 7 con paso 1 Hacer escribir matriz(f,c), " " sin saltar; FinPara escribir 'Escazu ', (f); FinPara Escribir "presionar tecla'; Esperar Tecla; Borrar Pantalla; escribir "Datos inicializados!"; Escribir "Cantidad de vehiculos por paeje y por dia"; Escribir "D L M K J V S Peaje/dia"; Dimension matriz1[4,7], vector3[7], vector4[7]; para f= 1 hasta 4 con paso 1 Hacer para c = 1 hasta 7 con paso 1 Hacer matriz1(f,c) =azar(300) +1; FinPara FinPara para f= 1 hasta 4 con paso 1 Hacer para c = 1 hasta 7 con paso 1 Hacer escribir matriz1(f,c), " " sin saltar; vector3(f)=vector3(f)+matriz1(f,c); FinPara escribir 'Clase ', f; FinPara Escribir ' '; escribir ' '; Escribir 'GV Ruta 27, reporte Semanal'; Escribir '--------------------------------------------'; para f= 1 hasta 4 con paso 1 Hacer si ([f]>mayor) Entonces mayor=[f] posicion1=f FinSi FinPara para f= 1 hasta 4 con paso 1 Hacer si ([f]<menor) Entonces menor=[f] posicion2=f FinSi FinPara Escribir 'El paeje de mayor congestion es: ',posicion1 , ' con', mayor, ' vehiculos procesados'; Escribir 'El paeje de menor congestion es: ',posicion2 , ' con', menor, ' vehiculos procesados'; Escribir ' '; FinSegun FinAlgoritmo
|
|
« Última modificación: 14 Agosto 2023, 03:05 am por dianaco »
|
En línea
|
|
|
|
Locura_23
Desconectado
Mensajes: 162
|
Hola, pues tu pseudo-codigo es difícil de descifrar a simple vista, pero entiendo que tu problema básico es que no te muestra el menor y el mayor de tu matriz.
Te dejo este ejemplo que acabo de hacer (hace tiempo que no utilizaba pseint)
Suponete que ya tenes definidos num_menor, num_mayor como enteros, para guardar el menor y el mayor de tu matriz, respectivamente. Luego tienes una matriz de enteros de [3,3] osea 3 filas y 3 columnas
Buscar el menor
1) Primero tienes que tener un valor de referencia para comparar todos los demás valores, a ver si resultan ser menores a este de referencia o no. Para ello puedes utilizar el primer número de tu matriz, en fila 1, columna 1, osea matriz[1,1].
num_menor = matriz[1,1]
2) Tienes que definir un bucle que recorra un número a otro de toda la matriz y haga la comparación de ese número actual con el menor de referencia que definiste antes. Si es menor que el de referencia, entonces la variable num_menor ahora va a guardar ese valor actual de la matriz como el menor. Este proceso se repite en el bucle para todos los valores, lo que resulta en que obtienes el menor número de la matriz.
para i = 1 hasta 3 Con Paso 1 para j = 1 hasta 3 Con Paso 1 si matriz[i , j] < num_menor Entonces num_menor = matriz[i, j] FinSi FinPara FinPara
De esta manera obtienes el menor, luego para el mayor tienes que invertir el signo de comparación a mayor que, junto con el nombre de la variable a otro que represente el mayor.
* Mi recomendación es que te fijes bien que tengas un valor de referencia para buscar el menor y el mayor, y escribe por pantalla todos los valores de la matriz y los vectores, para ver que sean números válidos y no te está guardando cualquier otra cosa.
|
|
« Última modificación: 14 Agosto 2023, 03:52 am por Locura_23 »
|
En línea
|
|
|
|
dianaco
Desconectado
Mensajes: 2
|
Hola, intente seguir los consejos que me diste, al momento de intentar procesar el algoritmo me tira este error:
<sin_titulo>: Sintaxis Incorrecta: 2 errores.
Lin 3 (inst 1): ERROR 202: El identificador MATRIZ1 no corresponde a un arreglo o subproceso
Lin 4 (inst 1): ERROR 202: El identificador MATRIZ1 no corresponde a un arreglo o subproceso
basicamente intento que mi algoritmo al momento de hacer el reporte final se vea asi (link a imagen)
file:///C:/Users/diana/OneDrive/Documents/Screenshot%202023-08-13%20203836.png
que al final basado en los numeros que me haya tirado en mi matriz de eso extraiga cual fue el dia de mayor cantidad y menor cantidad viendose asi:
Mi algoritmo esta asi por el momento, mostrando la parte que necesito ayuda:
Algoritmo Proyecto3_Michelle_Colorado_Duarte Definir posicion1, mayor1, menor1, posicion2, Respuesta_menu, matriz,matriz1, vector1, vector2,vector3, vector4, f, c Como entero; mayor1=matriz1[1,1] menor1=matriz1[1,1] escribir "Datos inicializados!"; Escribir "Cantidad de vehiculos por paeje y por dia"; Escribir "D L M K J V S Peaje/dia"; Dimension matriz1[4,7], vector3[7], vector4[7]; para f= 1 hasta 4 con paso 1 Hacer para c = 1 hasta 7 con paso 1 Hacer matriz1(f,c) =azar(300) +1; FinPara FinPara para f= 1 hasta 4 con paso 1 Hacer para c = 1 hasta 7 con paso 1 Hacer escribir matriz1(f,c), " " sin saltar; FinPara escribir 'Clase ', f; FinPara Escribir ' '; escribir ' '; Escribir 'GV Ruta 27, reporte Semanal'; Escribir '--------------------------------------------'; para f = 1 hasta 4 Con Paso 1 para c = 1 hasta 7 Con Paso 1 si matriz1[f , c] < mayor1 Entonces mayor1 = matriz1[f, c] FinSi FinPara FinPara para f = 1 hasta 4 Con Paso 1 para c = 1 hasta 7 Con Paso 1 si matriz1[f , c] > menor1 Entonces menor1 = matriz1[f, c] FinSi FinPara FinPara Escribir 'El paeje de mayor congestion es: ',f , ' con', mayor1, ' vehiculos procesados'; Escribir 'El paeje de menor congestion es: ',c , ' con', menor1, ' vehiculos procesados'; Escribir ' '; FinAlgoritmo
|
|
|
En línea
|
|
|
|
Locura_23
Desconectado
Mensajes: 162
|
Los errores que te muestran son porque definiste matriz1 como un entero, aquí en esta parte:
Definir posicion1, mayor1, menor1, posicion2, Respuesta_menu, matriz,matriz1, vector1, vector2,vector3, vector4, f, c Como entero;
Luego, aquí estas intentando utilizar matriz1 como una matriz (para los valores de referencia del menor y el mayor eso está bien), pero aún no la definiste como matriz, o como un arreglo (como te dice el error), sino como un entero (lo de arriba).
mayor1=matriz1[1,1] menor1=matriz1[1,1]
Más abajo ahí recién definiste a matriz1 como una matriz, aquí:
Escribir "D L M K J V S Peaje/dia"; Dimension matriz1[4,7], vector3[7], vector4[7];
En resumen, estás queriendo utilizar la variable matriz1 como una matriz pero aún no la definiste como matriz.
Prueba haciendo esto: definir todo junto las variables enteras y la matriz y vectores arriba del todo, antes de cualquier bucle y demás.
Definir posicion1, mayor1, menor1, posicion2, Respuesta_menu, f, c Como entero; Dimension matriz1[4,7], vector3[7], vector4[7];
* Como nota aparte diria que pienses si realmente necesitas todas esas variables y el uso que le das a cada una, mientras menos sean mejor porque va a ser código más compacto y legible, además sabrás bien qué hace cada una.
|
|
« Última modificación: 14 Agosto 2023, 05:36 am por Locura_23 »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Pseint, Ayuda :C
Programación General
|
Caroline.z3
|
1
|
6,067
|
18 Diciembre 2010, 03:43 am
por Littlehorse
|
|
|
pequeña ayuda plz(pseint)
Programación General
|
Fire.Soul
|
0
|
2,456
|
17 Mayo 2013, 22:28 pm
por Fire.Soul
|
|
|
[pseint] Ayuda - Cifrado César
Programación General
|
shadowzgz
|
4
|
12,124
|
24 Diciembre 2014, 01:32 am
por Eleкtro
|
|
|
Ayuda en pseint!!
Scripting
|
stR_ruBen
|
0
|
4,433
|
8 Febrero 2017, 20:53 pm
por stR_ruBen
|
|
|
Ayuda Pseint algoritmo
Programación General
|
dariend13
|
0
|
3,012
|
11 Junio 2017, 01:28 am
por dariend13
|
|