Está en la página 1de 10

Fundamento

s de
programació
n
Javier farinango

Trabajo
semanal
TEMA: ARREGLOS BIDIMINCIONALES (ORDENADOS)

Se tiene una matriz de 12 filas por 19 columnas y se desea un algoritmo para encontrar todos
sus elementos negativos y para que les cambie ese valor negativo por un cero y ordenar de
manera ascendente y descendente. Realice un algoritmo para tal fin y represéntelo mediante
diagrama de flujo de datos y pseudocódigo.

PSEUDOCÓDIGO

funcion mostrar_matriz(mt,n,m)
para i<-1 hasta n con paso 1 Hacer
para j<-1 hasta m con paso 1 Hacer
escribir " " mt(i,j) Sin Saltar
FinPara
escribir " "
Finpara
FinFuncion
Algoritmo menu
definir matriz,i,j Como Entero
dimension matriz(3,4)
escribir "La matriz se carga con numeros al azar"
para i<-1 hasta 3 con paso 1 Hacer
para j<-1 hasta 4 con paso 1 Hacer
escribir "Posicion (",i,":",j,")" Sin Saltar
leer matriz(i,j)
FinPara
FinPara
escribir ""
escribir "matriz inicial"
mostrar_matriz(matriz,3,4)
para i<-1 hasta 1 con paso 1 hacer
para j<-1 hasta 4 con paso 1 Hacer
si (matriz(i,j)<0) entonces
matriz(i,j)<-0
FinSi
FinPara
FinPara
escribir " "
escribir "Matriz final"
mostrar_matriz(matriz,3,4)
FinAlgoritmo

Continuación

funcion mostrar_matriz(mt,n,m)
para i<-1 hasta n con paso 1 Hacer
para j<-1 hasta m con paso 1 Hacer
escribir " " mt(i,j) Sin Saltar
FinPara
escribir " "
Finpara
FinFuncion

Funcion ordenar_matriz(mt,m,n)
Para i<-1 Hasta m Con Paso 1 Hacer
Para j<-1 Hasta n+1 Con Paso 1 Hacer
si (mt(i,j)<mt(i,j+1)) Entonces
mt(i,j)<-aux
mt(i,j+1)<-mt(i,j)
mt(i,j)<-aux
FinSi
FinPara
FinPara
FinFuncion

Algoritmo menu
definir matriz,i,j Como Entero
dimension matriz(3,4)
escribir "La matriz se carga con numeros al azar"
para i<-1 hasta 3 con paso 1 Hacer
para j<-1 hasta 4 con paso 1 Hacer
escribir "Posicion (",i,":",j,")" Sin Saltar
leer matriz(i,j)
FinPara
FinPara
escribir ""
escribir "matriz inicial"
mostrar_matriz(matriz,3,4)
para i<-1 hasta 1 con paso 1 hacer
para j<-1 hasta 4 con paso 1 Hacer
si (matriz(i,j)<0) entonces
matriz(i,j)<-0
FinSi
FinPara
FinPara
escribir " "
escribir "Matriz final"
mostrar_matriz(matriz,3,4)
Escribir ""
Escribir "matriz ordenada de manera ascendente"
Para i<-1 Hasta 3 Con Paso 1 Hacer
Para j<-1 Hasta 4-1 Con Paso 1 Hacer
si (matriz(i,j)>matriz(i,j+1)) Entonces
matriz(i,j)<-aux
matriz(i,j)<-matriz(i,j+1)
matriz(i,j+1)<-aux
FinSi
FinPara
FinPara
mostrar_matriz(matriz,3,4)
FinAlgoritmo

DFD
TEMA: MENU DE ARREGLOS

Funcion ingreso_datos(nv,cv)
Para i<-1 Hasta cv Con Paso 1 Hacer
Escribir " ingrese el elemento ",i Sin Saltar
Leer nv(i)
FinPara
FinFuncion

Funcion suma_datos(v1,v2,v3,ndv)
Para i<-1 Hasta ndv Con Paso 1 Hacer
v3(i)<-v1(i)+v2(i)
FinPara
FinFuncion

Funcion producto_datos(vp1,vp2,vp3,npd)
Para i<-1 Hasta npd Con Paso 1 Hacer
vp3(i)<-vp1(i)*vp2(i)
FinPara
FinFuncion

Funcion Mostrar_datos(v1,ndv)
Para i<-1 Hasta ndv Con Paso 1 Hacer
Escribir " " v1(i) Sin Saltar
FinPara
FinFuncion

Funcion ascendente(vo,n)
para i<-1 Hasta n Con Paso 1 Hacer
Para j<-1 Hasta n Con Paso 1 Hacer
si(vo(i)<vo(j)) Entonces
aux<-vo(i)
vo(i)<-vo(j)
vo(j)<-aux
FinSi
FinPara
FinPara
FinFuncion

Funcion descendente(vo,n)
para i<-1 Hasta n Con Paso 1 Hacer
Para j<-1 Hasta n Con Paso 1 Hacer
si(vo(i)>vo(j)) Entonces
aux<-vo(i)
vo(i)<-vo(j)
vo(j)<-aux
FinSi
FinPara
FinPara
FinFuncion
Algoritmo men
Definir opc,opc1,evabc,A,B,C,A1,B1,C1,nna Como Entero
Dimension A(20),B(20),C(20),A1(20),B1(20),C1(20),AA(20)
Repetir
Borrar Pantalla
Escribir " " "OPERACIONES CON ARREGLOS"
Escribir " " "========================"
Escribir " " "1.- Arregrlos Unidimensionales"
Escribir " " "2.- Arregrlos Bidimencionales"
Escribir " " "3.- Cadena de Caracteres "
Escribir " " "4.- salir"
Escribir ""
Escribir "Elija el proceseo " Sin Saltar
Leer opc
Segun opc Hacer
1:

Repetir
Borrar Pantalla
Escribir "Arreglos unidimensionales"
Escribir "------------------------"
Escribir "1.- suma"
Escribir "2.- producto"
Escribir "3.- ordenamiento"
Escribir "4.- busqueda"
Escribir "5.- Retormar al menu anterior"
Escribir ""
Escribir "Elija el proceseo " Sin Saltar
Leer opc1
Segun opc1 Hacer
1:

Borrar Pantalla
Escribir "suma de vectores A + B = C"

Escribir " "


Escribir "ingrese el numero de
elemoentos para A y B " Sin Saltar
Leer evabc
//Dimension
A(evabc),B(evabc),C(evabc)
Escribir "ingrese los elementos
para el arreglo A"
ingreso_datos(A,evabc)
Escribir "ingrese los elementos
para el arreglo B"
ingreso_datos(B,evabc)
suma_datos(A,B,C,evabc)
Escribir "ELEMENTOS DEL
VECTOR A"
Mostrar_datos(A,evabc)
Escribir " "
Escribir "ELEMENTOS DEL
VECTOR B"
Mostrar_datos(B,evabc)
Escribir " "
Escribir "VECTOR RESULTANTE
DE A + B = C"
Mostrar_datos(C,evabc)
Escribir " "
Escribir "presione una tecla
para continuar"

Esperar Tecla

2:
Borrar Pantalla
Escribir "producto A * B = C"
Escribir "ingrese el numero de
elementos de los arreglos" Sin Saltar
leer ndp
Escribir "ingrese los elementos para el
arreglo A"
ingreso_datos(A1,ndp)
Escribir "ingrese los elementos para el
arreglo B"
ingreso_datos(B1,ndp)
producto_datos(A1,B1,C1,ndp)
Escribir "ELEMENTOS DEL VECTOR A"
Mostrar_datos(A1,ndp)
Escribir " "
Escribir "ELEMENTOS DEL VECTOR B"
Mostrar_datos(B1,ndp)
Escribir " "
Escribir "VECTOR RESULTANTE DE A * B
= C"
Mostrar_datos(C1,ndp)
Escribir " "
Escribir "presione una tecla para
continuar"
Esperar Tecla

3:
Borrar Pantalla
Escribir "ordenamiento"
Escribir " "
Escribir " los datos del arreglo se
cargan con numeros aleatorios menores que 100"
Escribir "cuantos numeros desea ? " Sin
Saltar
Leer nna
Para i<-1 Hasta nna Con Paso 1 Hacer
AA(i)<-azar(100)
FinPara
Escribir " ARREGLO INICIAL"
mostrar_datos(AA,nna)

Escribir " "


Escribir "ORDENAMIENTO
ASCENDENTE"
ascendente(AA,nna)
mostrar_datos(AA,nna)
Escribir " "
Escribir "ORDENAMIENTO
DESCENDENTE"
descendente(AA,nna)
mostrar_datos(AA,nna)
Escribir " "
Escribir " Presione una tecla para
continuar"
Esperar Tecla

4:
Escribir "Busqueda"
Fin Segun
Hasta Que opc1=5
2:
Escribir "bidimencionales"
3:
Escribir "cadena"
De Otro Modo:
Escribir "Proceso terminado"
Fin Segun
Hasta Que opc=4

FinAlgoritmo
EJERCICIOS TAREA

Realice un algoritmo que calcule el valor que se obtiene al multiplicar entre sí los elementos de
la diagonal principal de una matriz de 5 por 5 elementos, represéntelo mediante diagrama,
DFD
Y pseudocódigo.

//Realice un algoritmo que calcule el valor que se obtiene al multiplicar entre sí los
elementos //de la diagonal principal de una matriz de 5 por 5 elementos, represéntelo
mediante diagrama,
//Y pseudocódigo.

DFD

Algoritmo detarea
Definir f,c,mat1,ve Como Entero
Dimension mat1[5,5],ve[5]
para f=1 Hasta 5 Con Paso 1 Hacer
para c=1 Hasta 5 Con Paso 1 Hacer
mat1(f,c)<-azar(9) + 1
FinPara
FinPara
para f=1 Hasta 5 Con Paso 1 Hacer
para c=1 Hasta 5 Con Paso 1 Hacer
Escribir mat1(f,c)," " Sin Saltar
si f == c Entonces
ve(f)<-mat1(f,c)
FinSi
FinPara
Escribir " "
FinPara
Escribir " "
Escribir "****************"
Escribir "mostrar matriz"
Escribir "****************"
para f=1 Hasta 5 Con Paso 1 Hacer
Escribir ve(f)
FinPara
FinAlgoritmo

DFD
Realice un algoritmo que a partir de la matriz del problema anterior encuentre cuántos
elementos tienen valor par y cuántos valores impares. Represéntelo mediante diagrama, DFD y
pseudocódigo.

Algoritmo matriz_deber
Definir f,c,mat,dia,pares,impares Como Entero
Dimension mat(5,5),dia(5)
Para f<-1 hasta 5 con paso 1 Hacer
Para c<-1 hasta 5 con paso 1 Hacer
mat(f,c)<-azar(9)+1
FinPara
FinPara
Para f<-1 hasta 5 con paso 1 Hacer
Para c<-1 hasta 5 con paso 1 Hacer
Escribir mat(f,c)," " Sin Saltar
Si f==c Entonces
dia(f)<-mat(f,c)
FinSi
FinPara
Escribir " "
FinPara

Para f<-1 hasta 5 con paso 1 Hacer


Para c<-1 hasta 5 con paso 1 Hacer
Si mat(f,c) mod 2 == 0 Entonces
pares<-pares+1
SiNo
impares<-impares+1
FinSi
FinPara
Escribir " "
FinPara
Escribir "Numeros pares: ",pares
Escribir "Numeros impares: ",impares
FinAlgoritmo

DFD

También podría gustarte