Exámenes 2P
jueves, diciembre 14, 2023 4:28 PM
2P 2023 -1
Crear un programa que permita al usuario seleccionar y cambiar el orden de dos filas específicas en un conjunto de datos.
Sea
Se busca intercambiar
Por ejemplo
Algoritmo CambiarOrdenFilas
// Definir variables
Definir N, M, fila1, fila2, temp Como Entero
// Ingresar el número de filas y columnas
Escribir "Ingrese el número de filas (N): "
Leer N
Escribir "Ingrese el número de columnas (M): "
Leer M
// Definir la matriz
Dimension Matriz[N, M]
// Ingresar elementos en la matriz
Para i <- 1 Hasta N Hacer
Para j <- 1 Hasta M Hacer
Escribir "Ingrese el elemento en la posición [", i, ",", j, "]: "
Leer Matriz[i, j]
FinPara
FinPara
// Mostrar la matriz original
Escribir "Matriz original:"
Para i <- 1 Hasta N Hacer
Para j <- 1 Hasta M Hacer
Escribir SinSaltar Matriz[i, j], " "
FinPara
Escribir ""
FinPara
// Seleccionar las filas a intercambiar
Escribir "Ingrese el número de la primera fila a intercambiar: "
Leer fila1
Escribir "Ingrese el número de la segunda fila a intercambiar: "
Leer fila2
// Verificar que las filas ingresadas sean válidas
Si fila1 < 1 O fila1 > N O fila2 < 1 O fila2 > N Entonces
Escribir "Error: Filas ingresadas no válidas."
Sino
// Intercambiar las filas
Para j <- 1 Hasta M Hacer
temp <- Matriz[fila1, j]
Matriz[fila1, j] <- Matriz[fila2, j]
Matriz[fila2, j] <- temp
FinPara
// Mostrar la matriz después del intercambio de filas
Escribir "Matriz después del intercambio de filas:"
Para i <- 1 Hasta N Hacer
Para j <- 1 Hasta M Hacer
Escribir SinSaltar Matriz[i, j], " "
FinPara
Escribir ""
FinPara
FinSi
FinAlgoritmo
Inicio
Introducción a la computación página 1
"Ingrese el número de
filas y columnas"
N, M
"Ingresar el numero de la primera y
segunda fila a intercambiar''
"Ingrese el elemento: A(''
+i+ "," +j+ ")=?"
A(i,j)
No Si
"Error: Filas ingresadas no
validas"
M
Fin
N
"La matriz nueva es:''
A(i,j)
Introducción a la computación página 2
Examen 2P 2023 - 2
De una matriz cuadrada ingresada por el usuario hallar la suma de los elementos ubicados en las dos diagonales, solo tomar
en cuenta los elementos divisibles entre 3 pero no entre 2
Algoritmo SumaDiagonalesDivisibles
// Ingresar el tamaño de la matriz cuadrada
Definir N Como Entero
Escribir 'Ingrese el tamaño de la matriz cuadrada (N):'
Leer N
// Definir la matriz y otras variables necesarias
Dimensionar Matriz(N,N)
Definir sumaDiagonales Como Entero
// Ingresar elementos en la matriz
Para i<-1 Hasta N Hacer
Para j<-1 Hasta N Hacer
Escribir 'Ingrese el elemento en la posición [', i, ',', j, ']:'
Leer Matriz[i,j]
FinPara
FinPara
// Inicializar variable
sumaDiagonales <- 0
// Calcular la suma de los elementos de ambas diagonales
Para i<-1 Hasta N Hacer
Si (Matriz[i,i] MOD 3=0) Y ((Matriz[i,i] MOD 2)<>0) Entonces
sumaDiagonales <- sumaDiagonales+Matriz[i,i]
FinSi
Si (Matriz[i,N-i+1] MOD 3=0) Y ((Matriz[i,N-i+1] MOD 2)<>0) Entonces
sumaDiagonales <- sumaDiagonales+Matriz[i,N-i+1]
FinSi
FinPara
// Si el tamaño de la matriz es par, restar el valor del elemento central
Si N MOD 2 <> 0 Entonces
sumaDiagonales <- sumaDiagonales - Matriz[(N+1)/2,(N+1)/2]
FinSi
// Mostrar resultado
Escribir 'La suma de los elementos de ambas diagonales divisible por 3 pero no
por 2 es:', sumaDiagonales
FinAlgoritmo
Inicio
"Ingrese el tamaño de la
matriz"
N
"Ingrese el elemento: A(''
+i+ "," +j+ ")=?"
A(i,j)
Introducción a la computación página 3
+i+ "," +j+ ")=?"
A(i,j)
Suma = 0
"La suma de las diagonales es:"
N
Suma
N
Fin
No
Si
No
No
Si
Si
No
Si
Si
No
Si
No
Introducción a la computación página 4
Algoritmo SumaDiagonalesDivisibles
// Ingresar el tamaño de la matriz cuadrada
Definir N Como Entero
Escribir 'Ingrese el tamaño de la matriz cuadrada (N):'
Leer N
// Definir la matriz y otras variables necesarias
Dimensionar Matriz(N,N)
Definir suma Como Entero
// Ingresar elementos en la matriz
Para i<-1 Hasta N Hacer
Para j<-1 Hasta N Hacer
Escribir 'Ingrese el elemento en la posición [', i, ',', j, ']:'
Leer Matriz[i,j]
FinPara
FinPara
// Inicializar variable
suma <- 0
// Calcular la suma de los elementos de ambas diagonales
Para i<-1 Hasta N Hacer
Para j<-1 Hasta N Hacer
Si i=j Entonces
Si Matriz[i,j] mod 3=0 Entonces
Si Matriz[i,j] mod 2<>0 Entonces
suma <- suma + Matriz[i,j]
FinSi
FinSi
SiNo
Si i+j=N+1 Entonces
Si Matriz[i,j] mod 3 =0 Entonces
Si Matriz[i,j] mod 2 <>0 Entonces
suma <- suma + Matriz[i,j]
FinSi
FinSi
FinSi
FinSi
FinPara
FinPara
// Mostrar resultado
Escribir 'La suma de los elementos de ambas diagonales divisible por 3 pero no por 2 es:', suma
FinAlgoritmo
Prueba de escritorio
Sea:
i=j
1 1 1 Si No No 0
2 2 3 Si Si No 3
3 3 6 Si Si Si
1 3 9 4=4 Si Si No S=3+9=12
2 2 3 4=4 Si Si No
3 1 7 4=4 Si No No
2P 2020-2
Dados dos vectores A y B, ambas de la misma dimensión, hallar la suma de sus elementos correspondientes.
Por ejemplo: A(1)+B(1)
Si el resultado es divisor exacto de M llevarlo a un tercer vector C, donde estarán almacenados todos las sumas que
cumplen ese requisito
Donde M = 3
Inicio
Introducción a la computación página 5
"Ingrese el tamaño los
vectores"
N
N
"Ingrese los valores: A( "
+i+ ")=?"
A(i)
"Ingrese los valores: B( "
+i+ ")=?"
B(i)
No
Si
Introducción a la computación página 6
Fin
k
"Los valores nuevos son:"
Algoritmo SumaYAlmacenamiento
Definir N, i, M, k Como Entero
Definir A, B, C Como Real
Definir sumaElementos Como Real
Escribir 'Ingrese la dimensión de los vectores (N): '
Leer N
Escribir 'Ingrese el valor de M: '
Leer M
Dimensionar A(N), B(N), C(N)
Escribir 'Ingrese los elementos del vector A:'
Para i<-1 Hasta N Hacer
Escribir 'A(', i, '): '
Leer A[i]
FinPara
Escribir 'Ingrese los elementos del vector B:'
Para i<-1 Hasta N Hacer
Escribir 'B(', i, '): '
Leer B[i]
FinPara
k <- 0
Para i<-1 Hasta N Hacer
sumaElementos <- A[i]+B[i]
Si sumaElementos MOD M=0 Entonces
k <- k+1
C[k] <- sumaElementos
FinSi
FinPara
Escribir 'El vector C, con las sumas que son divisibles por M, es:'
Para i<-1 Hasta k Hacer
Escribir 'C(', i, '): ', C[i]
FinPara
FinAlgoritmo
Elaborar el diagrama de flujo y prueba de escritorio de la siguiente pregunta:
Dado dos vectores A y B de N elementos cada uno. Determinar el número de veces en que la diferencia A(i) - B(i), sea
múltiplo de (M+3) o bien sea múltiplo de M, pero no tomar en cuenta si cumple con las dos condiciones al mismo tiempo.
M es el número de letras de su apellido paterno
Inicio
"Ingrese el tamaño los
vectores"
N
Introducción a la computación página 7
"Ingrese el tamaño los
vectores"
N
N
"Ingrese los valores: A( "
+i+ ")=?"
A(i)
"Ingrese los valores: B( "
+i+ ")=?"
B(i)
"El número de veces es:"
No
[A(i)-B(i)] mod (M+3)=0 k
XOR
[A(i)-B(i) mod M =0]
Si Fin
Introducción a la computación página 8