Está en la página 1de 25

Facultad de Ingeniera

Escuela acadmico-profesional de Ing. de Sistemas

Computacin
1 Trabajo: Desarrollo de 20 algoritmos. I PARTE EN PSEUDOCDIGO

Integrantes
Gonzales Castillo, Jorge Arcadio Ramos Suyn, Juan Carlos Rivera Romn, Eduardo Daniel Verde Ibez, Richard Paul Villarroel Cruzado, Jos Wilson Hel Zarate Alvarado, Carlos Christian

26/08/2012

1. Ingresar n valores reales en un arreglo y reportar el mayor, el menor y el promedio.


Pseudocdigo Declarando variables y constantes globales. TAM = 20: entero Algoritmo: Principal INICIO a[TAM], mayor, menor, promedio: reales n : entero Escribir "Ingreso de datos" ingresarElementos(a, n) menor menorValor(a, n) mayor mayorValor(a, n) promedio promedioValores(a, n) Escribir "Resultados" Escribir Menor Valor: ", menor Escribir Mayor Valor: ", mayor Escribir "Promedio: ", promedio FIN Algoritmo: ingresarElementos(a[]: entero, &n: entero) INICIO numeroElementos(n) Para int i 0 hasta n-1 inc 1 hacer Escribir "A [", i,"]= Leer a[i] finPara FINingresarElementos Algoritmo: numeroElementos(&n: entero) INICIO Hacer Escribir "Numero de elementos: " Leer n Mientras (n<1 OR n> TAM) FINnumeroElementos Algoritmo: mayorValor(a[]: real, &n: entero): real INICIO mayor = a [0]: real i: entero Para i 1 Hasta n-1 inc 1 hacer Si (a[i] > mayor) entonces Mayor a[i] finSi finPara retornar mayor; FINmayorValor Algoritmo: menorValor(a[]: real, &n: entero): real INICIO menor = a[0]: real

i: entero Para i 1 Hasta n-1 inc 1 hacer Si (a[i]<menor) entonces Menor a[i] finSi finPara retornar menor FINmenorValor Algoritmo: promedioValores(a[]: reales, &n: entero): reales INICIO promedio=0, suma=0: reales i: entero Para i=0 Hasta n-1 inc 1Hacer suma suma + a[i] finPara promedio suma/n retornar promedio FINpromedioValores

2. Ingresar n valores reales en un arreglo y calcular la desviacin Standard. Desviacin estndar = Raz Cuadrada(Sumatoria(x[i]-promedio)^2)
Tal y como puede observarse en el enunciado, calcular la desviacin estndar implica conocer el promedio. Habiendo calculado este, deber realizarse adems una sumatoria de los cuadrados de cada diferencia. Cuando digo diferencia, me refiero al resultado de restar cada valor con el promedio. Finalmente obtenemos la raz cuadrada de esa sumatoria y obtendremos la desviacin estndar. Es importante hacer un seguimiento hablado (o escrito como en este caso) de lo que pensamos hacer en el algoritmo. El algoritmo nos permite dar paso ms all, mientras hilvanamos nuestras ideas, pues sin la necesidad de codificar, fijamos una solucin en base a las funciones predefinidas de cada lenguaje de programacin, pero de todos modos, debe haber un orden y organizacin desde el inicio.
MAX20: Entero // Constante global. Prom, a[MAX]: Real // Variables globales. Algoritmo: Principal() Inicio N, Suma0: Entero Escribir DESVIACIN ESTNDAR Hacer Escribir Determine cantidad de valores: Leer N Mientras (N<1 OR N>MAX) Escribir Ingreso de Datos LeerSumarArray(N, Suma) Prom Suma/N Escribir La desviacin estndar es: , sqrt(Sumatoria(N))

Fin Algoritmo LeerSumarArray(N: Entero, &Suma: Real) Inicio i: Entero Para i 0 hasta N-1 inc1 hacer Escribir Digite un valor para a[, i, ]: Leer a[i] SumaSuma+a[i] finPara Fin Algoritmo Sumatoria(N: Entero): Real Inicio i: Entero x0: Real Para i 0 hasta N-1 inc1 hacer x x + (a[i] Prom)^2 finPara Retornar x Fin

3. Ingresar n valores reales en un arreglo y luego invierta el arreglo.


MAX1000: Entero //Constante Global. Algoritmo: Principal() Inicio n: Entero E[MAX]: Real parametro(&n) elementos(E, n) mostrar(E, n) proceso(E, n) Fin Algoritmo: parametro(&n:Entero) Inicio Escribir:Ingrese el numero de elementos : Leer:n Fin Algoritmo: elementos (E [MAX]: Real, n: Entero) Inicio i: Entero Escribir Ingrese los elementos ( estos estaran definidos por el vector E[i] ) : Para i0 hasta n-1 inc 1 hacer Escribir E[,i,]= Leer E[i] finPara Fin Algoritmo: mostrar (E [MAX]: Real, n: entero) Inicio i: Entero Escribir:Los elementos del vector ingresado son :

Para i0 hasta n-1 inc 1 hacer Escribir:E[,i,]=,E[i] finPara Fin Algoritmo: proceso (E [MAX]: Real, n: entero) Inicio i : Entero R [MAX]: Real Escribir:Los elementos del vector ya invertido : Para i0 hasta n-1 inc 1 hacer R [n-i-1] E[i] finPara Para i0 hasta n-1 inc 1 hacer Escribir:E[,i,]=,E[i] finPara Fin

4. Ingresar datos en dos arreglos de n elementos reales cada uno y reportar el producto escalar entre ellos.
MAX100: Entero // Constante global. datos_prim[MAX], datos_seg[MAX]: Real // Variables globales. Algoritmo: Principal() Inicio num_arreglo: Entero Escribir BIENVENIDOS!!! Escribir Ingresar Numero de Elementos de los Arreglos: Leer num_arreglo Escribir PRIMER ARREGLO IngresoPrimerA(num_arreglo) Escribir SEGUNDO ARREGLO IngresoSegundA(num_arreglo) Escribir PRODUCTO ESCALAR Escribir El Producto Escalar es: , ProductoEscalar(dadtos_prim, datos_seg, num_arreglo) Fin Algoritmo IngresoPrimerA(x: Entero) Inicio i: Entero Escribir Ingresar datos del primer arreglo: Para i 0 hasta i<x inc1 hacer Escribir Elemento, i+1, : Leer datos_prim[i] finPara Fin Algoritmo IngresoSegunA(y: Entero) Inicio i: Entero Escribir Ingresar datos del segundo arreglo:

Para i 0 hasta i<y inc1 hacer Escribir Elemento, i+1, : Leer datos_seg[i] finPara Fin Algoritmo ProductoEscalar(n:Entero, a[],b[]:Real): Real Inicio i: Entero suma0: Real Para i 0 hasta i<n inc1 hacer suma suma + (a[i]*b[i]) finPara Retornar suma Fin

5. Ingresar n elementos en un arreglo. Adems ingresar un nmero y verificar si este se encuentra en el arreglo, si se encuentra reportar la posicin donde se encontr y si no se encontr reportar nmero no se encuentra.
TAM20: Entero // Constante global. x, a[TAM]: Reales // Variables globales. n, i, posi-1: Enteros // Variables globales. Algoritmo: Principal() Inicio numeroElementos(n, TAM) ingresoDatos(a, n, TAM, x, i) busquedaNumero(a, n, posi, x, i) Fin Algoritmo numeroElementos(&n: Entero, TAM: entero) Inicio Hacer Escribir Ingrese el numero de elementos: Leer n Mientras (n<1 OR n>TAM) Fin Algoritmo ingresoDatos(a[]: Real, n: Entero, TAM: Entero, &x: Real, i: Entero) Inicio Para i 0 hasta n-1 inc1 hacer Escribir A [, i, ]: Leer a[i] finPara Escribir Ingrese el numero a buscar: Leer x Fin

Algoritmo busquedaNumero(a[]: Real, n: Entero, posi: Entero, x: Real, i: Entero) Inicio Para i 0 hasta n-1 inc1 hacer Si (x=a[i]) posi=i finSi finPara Si (posi=-1) entonces Escribir El numero: , x, no se encuentra en el arreglo. Sino Escribir El numero: , x, si se encuentra en el arreglo. Escribir En la posicin ,posi finSi Fin

6. Ingresar n elementos en un arreglo. Adems ingresar un nmero y verificar si este se encuentra en el arreglo. Si se encuentra, cambiarlo por otro dato. Si no se encuentra, reportar que no se encuentra el dato.
Algoritmo: Declarando constantes y variables globales MAX = 50 : entero V[MAX] : real Algoritmo: Principal INICIO N : entero N = Dimensionar() Llenar(N) Mostrar(N) Procesar(N) FIN Algoritmo: Dimensionar(): entero INICIO X : entero Hacer Escribir Ingrese el tamanio del arreglo : Leer X Mientras ( X < 1 OR X > MAX) FIN Algoritmo: Llenar(X : entero) INICIO i : entero Para i = 0 hasta X-1 inc 1 Escribir V[,i,] = Leer V[i] FinPara FIN

Algoritmo: Mostrar(X:entero) INICIO i : entero Para i = 0 hasta X-1 inc 1 Escribir V[,i,] = ", V[i] FinPara FIN Algoritmo: Procesar(X:entero) INICIO Y : entero Escribir Ingresar numero a verificar : Leer Y Verificar(X,Y) FIN Algoritmo: Verificar(X:entero,Y:entero) INICIO i : entero Para i = 0 hasta X-1 inc 1 Si (V[i]=Y) Escribir El numero si se encuentra en el arreglo Reemplazar(i,X) Sino Escribir El numero no se encuentra en el arreglo FinSi FinPara FIN Algoritmo: Reemplazar (pos:entero,X:entero) INICIO Escribir Ingrese el nuevo valor para la posicion ,pos Leer V[pos] Escribir Nuevo arreglo : Mostrar(X) FIN

7. Ingresar n elementos en un arreglo. Adems ingresar un nmero y verificar si este se encuentra en el arreglo eliminarlo, si no se encuentra reportar dato no se encuentra.
Pseudocdigo Declarando variables y constantes globales. TAM = 20: entero n: entero Algoritmo: Principal; INICIO a[TAM]:reales Escribir "ELIMINACION DE ELEMENTOS" ingresarElementos(a) eliminarElementos(a)

FIN Algoritmo: ingresarElementos(a[]: reales) INICIO i: entero Hacer Escribir "Cantidad de elementos del arreglo: " Leer n Mientras (n<1 OR n> TAM); Para int i 0 hasta n-1 inc 1 Hacer Escribir "A["<<i<<"] = " Leer a[i] finPara Escribir "Arreglo a[i] leido." mostrarElementos(a) FINingresarElementos Algoritmo: eliminarElementos(a[]: reales) INICIO e:reales i: entero encontrado=0: entero Escribir "Ingrese elemento a buscar:" Leer e Para i 0 hasta n-1 inc 1 Hacer Si (a[i]=e) encontrado= encontrado + 1 Si (encontrado=0) Escribir "El elemento ", e," no fue encontrado en el arreglo. sino Escribir "El elemento ", e, " fue encontrado", encontrado, "veces en el arreglo. Para i=n hasta 0 dec 1 Hacer Si(a[i]=e) quitarElemento(a, i) n n-1 finSi finSi Escribir "El elemento ha sido eliminado del arreglo. Escribir "Ahora se mostrara el nuevo arreglo con el elemento ", eliminado" mostrarElementos(a); finPara FINeliminarElementos Algoritmo: mostrarElementos(a[]: reales) INICIO i: entero Escribir "MOSTRANDO ELEMENTOS DEL ARREGLO." Para i 0 hasta n-1 inc 1 Hacer Escribir "A["<< i <<"]:", a[i] finPara

e, "

FIN Algoritmo: quitarElemento(a[]: reales, pos; entero) INICIO i: entero Para i pos hasta n-1 inc 1 Hacer a[i] a[i+1] finPara FIN

8. Ingresar n elementos en un arreglo. Adems ingresar un nmero y la posicin donde desea insertarlo e insertarlo en el arreglo, reportar el arreglo modificado.
MAX30: Entero // Constante global. a[MAX]: Real // Variable global. Algoritmo: Principal() Inicio N, i, Pos: Entero NuevoE: Real Hacer Escribir Determine cantidad de elementos: Leer N Mientras (N<1 OR N>MAX) Escribir Lectura de Datos LeerArray(N) Escribir Ingrese valor a insertar: Leer NuevoE Hacer Escribir Posicin donde se insertar: Leer Pos Mientras (Pos<0 OR Pos>N) InsertarE(N, Pos, NuevoE) Escribir Arreglo luego de la insercin . . . Para i0 hasta N-1 inc1 hacer Escribir a[, i, ] = , a[i] Fin Algoritmo LeerArray(N: Entero) Inicio i: Entero Para i 0 hasta N-1 inc1 hacer Escribir Digite un valor para a[, i, ]: Leer a[i] finPara Fin Algoritmo InsertarE(&N: Entero, Pos: Entero, NuevoE: Real) Inicio Si (N=MAX) entonces Escribir Es imposible aadir ms elementos.

Sino i: Entero Para iPos hasta N-1 inc1 hacer a[i+1] a[i] finPara finSi a[Pos]NuevoE NN+1 Fin

9. Ingresar n elementos en un arreglo y al final quede sin elementos repetidos.


MAX1000: Entero //Constante Global. Algoritmo: Principal() Inicio n :Entero E[MAX]:Real parametro (&n) elementos (E, n) mostrar (E, n) proceso (E, n) Fin Algoritmo: parametro(&n:Entero) Inicio Escribir:Ingrese el numero de elementos : Leer:n Fin Algoritmo: elementos (E [MAX]: Real, n: Entero) Inicio i: Entero Escribir:Ingrese los elementos ( estos estaran definidos por el vector E[i] ) : Para i0 hasta n-1 inc 1 hacer Escribir:E[,i,]= Leer:E[i] finPara Fin Algoritmo: mostrar (E [MAX]: Real, n: entero) Inicio i: Entero Escribir:Los elementos del vector ingresado son : Para i0 hasta n-1 inc 1 hacer Escribir:E[,i,]=,E[i] finPara Fin Algoritmo: proceso (E [MAX]: Real, n: entero) Inicio c=0, j, i, k: Entero Escribir:Los elementos del vector sin repeticiones: Para i0 hasta n-1 inc 1 hacer Para j0 hasta n-1 inc 1 hacer

Si (E[i]=E[j]) { Para k0 hasta n-1 inc 1 hacer E[k]=E[k+1] finPara nn-1 ji finsi finPara finPara Para i0 hasta n-1 inc 1 hacer Escribir:E[,i,]=,E[i] finPara Fin

10. Ingresar n elementos en un arreglo y luego ingresar un elemento, si este se encuentra en el arreglo eliminarlo todas las veces que se encuentre.
MAX100: Entero // Constante global. datos_arreglo[MAX], datos_uno[MAX], y, solo: Real // Variables globales. j0: Entero // Variables globales. Algoritmo: Principal() Inicio num: Entero nuevo: Real Escribir BIENVENIDOS!!! Escribir Ingresar Numero de Elementos: Leer num Arreglo(num) Escribir Ingresar Nuevo Elemento Leer nuevo Nuevo_Elemento(nuevo,num) Nuevo_Arreglo(num) Fin Algoritmo Arreglo(n: Entero) Inicio i: Entero Escribir Ingresar elementos del arreglo: Para i 0 hasta i<n inc1 hacer Escribir Elemento, i+1, : Leer datos_arreglo[i] finPara Fin Algoritmo Nuevo_Elemento(n: Entero, x:Real) Inicio i: Entero Para i 0 hasta i<n inc1 hacer Si (x==datos_arreglo[i]) entonces solodatos_arreglo[i] Sino

Datos_uno[j] datos_arreglo[i] yx jj+1 finSi finPara Fin Algoritmo Nuevo_Arreglo(n:Entero) Inicio i: Entero Escribir NUEVO ARREGLO Para j 0 hasta j<n inc1 hacer Escribir Elemento , j+1, : , datos_uno[j] finPara Si (y!=solo) entonces Escribir Elemento , n+1, : , y Sino Escribir Elemento repetido , n+1, : , y finSi Fin

11. Ingresar n nmeros en un arreglo y mostrar luego, primero la lista de los nmeros pares que fueron ingresados y luego la lista de los nmeros negativos.
TAM20: Entero // Constante global. a[TAM]: Real // Variable global. n, i: Enteros // Variables globales Algoritmo: Principal() Inicio numeroElementos(n, TAM) ingresoElementos(a, n, TAM, i) primeraLista(a, n, i) segundaLista(a, n, i) Fin Algoritmo numeroElementos(&n, TAM: Enteros) Inicio Hacer Escribir Ingrese el numero de elementos: Leer n Mientras (n<1 OR n>TAM) Fin Algoritmo ingresoElementos(a[]: Real, n: Entero, TAM: Entero, i: Entero) Inicio Para i 0 hasta n-1 inc1 hacer Escribir A [, i, ]: Leer a[i]

finPara Fin Algoritmo primeraLista(a[]: Real, n: Entero, i: Entero) Inicio par 0 : Entero Para i 0 hasta n-1 inc1 hacer Si (a[i] mod 2 = 0) entonces par = par + 1 finSi finPara Si (par = 0) entonces Escribir Los numeros pares son: Para i 0 hasta n-1 inc1 hacer Si (a[i] mod 2 = 0) entonces Escribir a[i] finSi finPara Sino Escribir No hay numeros pares en el arreglo. finSi Fin Algoritmo segundaLista(a[]: Real, n: Entero, i: Entero) Inicio num 0 : Entero Para i 0 hasta n-1 inc1 hacer Si (a[i]<0) entonces num = num +1 finSi finPara Si (num>0) entonces Escribir Los numeros negativos son: Para i 0 hasta n-1 inc1 hacer Si (a[i]<0) entonces Escribir a[i] finSi finPara Sino Escribir No hay numeros negativos en el arreglo. finSi Fin

12. Ingresar n enteros en un arreglo A y otros n enteros en un arreglo B y mostrar la lista de enteros del arreglo C, donde cada C[i] = A[i] + B[i].
Algoritmo: Declarando constantes y variables globales MAX = 50, MAXI = 100 : entero

A[MAX],B[MAX],C[MAXI]:entero Algoritmo: Principal INICIO N :entero N = Dimensionar() Llenar(N) Mostrar(N) HallarC(N) FIN Algoritmo: Dimensionar(): entero INICIO X : entero Hacer Escribir Ingrese el tamanio del arreglo : Leer X Mientras ( X < 1 OR X > MAX) FIN Algoritmo: Llenar(X : entero) INICIO i, j : entero Escribir Llenando vector A Para i = 0 hasta X-1 inc 1 Escribir A[,i,] = Leer A[i] FinPara Escribir Llenando vector B Para j = 0 hasta X-1 inc 1 Escribir A[,j,] = Leer B[j] FinPara FIN Algoritmo: Mostrar(X:entero) INICIO i, j : entero Escribir Leyendo vector A Para i = 0 hasta X-1 inc 1 Escribir A[,i,] = ", A[i] FinPara Escribir Leyendo vector B Para j = 0 hasta X-1 inc 1 Escribir B[,j,] = ", B[j] FinPara FIN Algoritmo: HallarC (X:entero) INICIO i, j: entero Para i = 0 hasta X-1 inc 1 C[i] = A[i] + B[i] FinPara Escribir Mostrando el arreglo C (A+B) : Para j = 0 hasta X-1 inc 1 Escribir C[,j,] = ,C[j]

FinPara FIN

13. Lea dos arreglos A y B y luego diga que elementos del arreglo A no se encuentran en el arreglo B.
Pseudocdigo Declarando variables y constantes globales. MAX: entero = 20 A [MAX], B [MAX]: enteros INICIO M, N, i: entero Escribir "LECTURA DE ARREGLOS" Hacer Escribir "Cantidad de elementos de A:" Leer M Mientras (M<1 OR M>MAX) Hacer Escribir "Cantidad de elementos de B:" Leer N Mientras(N<1 OR N>MAX) leerDatos('A', A, M) leerDatos('B', B, N) Escribir "Datos leidos correctamente." Escribir "ELEMENTOS DE A QUE NO APARECEN EN B" Para i 0 hasta M-1 inc Hacer Si (contarRep(A[i], N)=0) entonces Escribir "A[", i, "] = ", A[i] finSi finPara FIN Algoritmo leerDatos(car: caracter, arreglo[]: entero, Dim: entero) INICIO i: entero Escribir "LECTURA DEL ARREGLO ", car Para i 0 hasta Dim-1 inc 1 Hacer Escribir "Ingrese un valor para ",car,"[",i,"]: " Leer arreglo[i] finPara
FINleerDatos Algoritmo: contarRep(elemento: entero, dimB: entero): entero INICIO Veces = 0: entero i: entero Para i 0 hasta dimB-1 inc 1 Hacer Si (elemento = B[i]) entonces Veces veces + 1

finSi returnar veces FINcontarRep

14. Ingrese un nmero entero y convirtalo a binario. Sugerencia: Guarde cada residuo obtenido en una posicin del arreglo.
MAXC15, MAXNUM777: Entero // Constantes globales. Algoritmo: Principal() Inicio Bin[MAXC], N, nro, i0, c: Entero Escribir Conversin a Binario NLeerNro() nroN Mientras (nro>1) hacer Bin[i]nroMOD2 nronro/2 ii+1 finMientras Bin[i] 1 ii+1 Escribir El nmero , N, en binario es: Para ci-1 hasta 0 dec1 hacer Escribir Bin[c] finPara Fin Algoritmo LeerNro() Inicio Hacer Escribir Digite nro a convertir: Leer num Mientras (num<1 OR num>MAXNUM) Retornar num Fin

15. Ingresar n notas en un arreglo y determinar el porcentaje de aprobados y desaprobados.


MAX1000: Entero //Constante Global. Algoritmo: Principal() Inicio n : Entero N[MAX]: Real parametro(&n) notas(N, n) mostrar(N, n) proceso(N, n) Fin Algoritmo: parametro(&n:Entero)

Inicio Escribir:Ingrese el numero de elementos : Leer:n Fin Algoritmo: notas(N [MAX]: Real, n: Entero) Inicio i: Entero Escribir:Ingrese las notas ( estas estaran definidas por el vector N[i] ) Para i0 hasta n-1 inc 1 hacer Escribir:N[,i,]= Leer:N[i] finPara Fin Algoritmo: mostrar(N [MAX]: Real, n: Entero) Inicio i: Entero Escribir:Los elementos del vector ingresado son : Para i0 hasta n-1 inc 1 hacer Escribir:N[,i,]=,N[i] finPara Fin Algoritmo: proceso (N [MAX]: Real, n: entero) Inicio i : Entero N [MAX], a=0, d=0, AP, DP : Real Para i0 hasta n-1 inc 1 hacer Si(N[i]>=10.5){ a=a+1} sino{ d=d+1} finSi finPara AP (A*100)/n DP (D*100)/n Escribir:El porcentaje de alumnos aprobados es de :,AP,% Escribir:El porcentaje de alumnos desaprobados es de :,DP,% Fin

16. Ingrese los nombres y las tallas de los jugadores de un equipo de ftbol y determine la talla promedio y el nombre del jugador ms alto.
MAX100, MAX100: Entero // Constante global. jugador[MAX]: Caracteres // Variables globales. suma0, talla[MAX]: Entero // Variables globales. Algoritmo: Principal() Inicio Num_jugadores: Entero nuevo: Real Escribir BIENVENIDOS!!!

Escribir Ingresar Numero de Jugadores: Leer num_jugadores NombreJugadores(num_jugadores) TallaJugadores(num_jugadores) TallaPromedio(num_jugadores) JugadorAlto(num_jugadores) Fin Algoritmo NombreJugadores(n: Entero) Inicio i: Entero jugador[MAX]:Caracteres Escribir IDENTIFICACION DE JUGADORES Escribir Ingresar Nombres de Jugadores: Para i 0 hasta i<n inc1 hacer Escribir Jugador, i+1, = Leer jugador[i] finPara Fin Algoritmo TallaJugadores(n: Entero) Inicio i: Entero Escribir TALLA JUGADORES Escriir Ingresar Estatura de los Jugadores (en cm): Para i 0 hasta i<n inc1 hacer Escribir jugador[i], : Leer talla[i] sumasuma+talla[i] finPara Fin Algoritmo TallaPromedio(n:Entero) Inicio i: Entero Escribir TALLA PROMEDIO Escribir La talla promedio es, suma/n, cm. Fin Algoritmo JugadorAlto(n:Entero) Inicio Alto=0, i, ubic: Entero Escribir JUGADOR MAS ALTO Para i 0 hasta i<n inc1 hacer Si (talla[i]>alto) entonces altotalla[i] ubici finSi finPara Escribir El jugador mas alto es , jugador[ubic], . Fin

17. Escribir un programa que lea 2 listas de nmeros enteros L1 y L2, de n y m elementos respectivamente y los imprima en pantalla. El programa debe permitir: - Unir la lista 2 al final de la lista 1 - Insertar la lista 2 en la lista 1 en una posicin determinada. Al final debe imprimir la lista resultante.
TAM20: Entero // Constante global. a[TAM], b[TAM], c[2*TAM]: Reales // Variables globales. n, m, i, opc, posi: Enteros // Variables globales. Algoritmo: Principal() Inicio numElemListas(n, m, TAM) ingresoDatos(a, b, n, m, TAM, i) menu(a, b, c, n, m, posi, opc, i) Fin Algoritmo numElemListas(&n: Entero, &m: Entero, TAM: entero) Inicio Hacer Escribir Ingrese el numero de elementos de la Lista Nro 1: Leer n Mientras (n<1 OR n>TAM) Hacer Escribir Ahora los de la Lista Nro 2: Leer m Mientras (m<1 OR m>TAM) Fin Algoritmo ingresoDatos(a[]: Real, b[]: Real, n: Entero, m: Entero, TAM: Entero, i: Entero) Inicio Escribir Ingrese los valores de la Lista Nro 1: Para i 0 hasta n-1 inc1 hacer Escribir A [, i, ]: Leer a[i] finPara Escribir Ahora los valores de la Lista Nro 2: Para i 0 hasta m-1 inc1 hacer Escribir B [, i, ]: Leer b[i] finPara Fin Algoritmo menu(a[]: Real, b[]: Real, c[]: Real, n: Entero, m: Entero, posi: Entero, opc: Entero, i: Entero) Inicio Escribir Los valores de la lista Nro 1 son: Para i 0 hasta n-1 inc1 hacer Escribir A [, i, ]: , a[i]

finPara opcion1(a, c, n, 0) Escribir Y los valores de la lista Nro 2 son: Para i 0 hasta n-1 inc1 hacer Escribir B [, i, ]: , b[i] finPara Escribir MENU Escribir [1] Unir la Lista Nro 2 al final de la Nro 1 Escribir [2] Insertar la Lista Nro 2 en la Lista Nro 1 en una posicion determinada Leer opc Si (opc=1) entonces posi=n Sino Escribir Ahora ingrese la posicion donde se agregara la Lista No 2 Leer posi finSi Si (posi!=n) entonces opcion2(c, posi, m) finSi opcion1(b, c, m, posi) Escribir La nueva lista es: Para i 0 hasta n-1 inc1 hacer Escribir C [, i, ]: , c[i] finPara Fin opcion1(x: Real, y: Real, d: Entero, pos: Entero) Inicio y[pos+d]=y[pos] Para i 0 hasta d-1 inc1 hacer destino[i+pos]=x[i] finPara Fin

opcion2(p[]: Real, posi: Entero, espacio: Entero) Inicio x: Entero Para i posi hasta posi+espacio-1 inc1 hacer p[x+espacios]=p[i] finPara Fin

18. Ingresar n elementos en un arreglo y luego ingresar un elemento y reportar cuantas veces aparece ese elemento en el arreglo.
Algoritmo: Declarando constantes y variables globales MAX = 50 : entero

V[MAX] : entero Algoritmo: Principal INICIO N :entero N = Dimensionar() Llenar(N) Mostrar(N) Analizar(N) FIN Algoritmo: Dimensionar(): entero INICIO X : entero Hacer Escribir Ingrese el tamanio del arreglo : Leer X Mientras ( x < 1 OR X > MAX) FIN Algoritmo: Llenar(X : entero) INICIO i : entero Para i = 0 hasta X-1 inc 1 Escribir V[,i,] = Leer V[i] FinPara FIN Algoritmo: Mostrar(X:entero) INICIO i : entero Para i = 0 hasta X-1 inc 1 Escribir V[,i,] = ", V[i] FinPara FIN Algoritmo: Analizar (X: entero) INICIO i, C = 0, Y : entero Escribir Ingrese el elemento a analizar numero de repeticiones Leer Y Para i = 0 hasta X-1 inc 1 Si ( V[i] = Y ) C = C + 1 FinSi FinPara Escribir El numero ,Y, se repite ,C, veces en el arreglo. FIN

19. Ingresar datos en dos arreglos y reportar si son iguales.


Pseudocdigo Declarando variables y constantes globales. TAM = 20: entero Algoritmo: Principal

INICIO a[TAM],b[TAM],c[TAM]:reales n:entero Escribir "Ingreso de elementos de los arreglos." numeroElementos(n) Escribir "Ingrese los elementos del arreglo a[i]." ingresarElementos('A',a,n) Escribir "Ingrese los elementos del arreglo b [i]." ingresarElementos('B',b,n) Escribir "Comparacin de los elementos de a[i] y b[i]." compararElementos(a,b,n) FIN Algoritmo: ingresarElementos(c: caracter ,v[]:reales, &n: entero) INICIO i: entero Para i 0 Hasta n-1 inc 1 Hacer Escribir c,"[", i, "]=" Leer v[i] finPara FINingresarElementos Algoritmo: numeroElementos(&n: entero) INICIO Hacer Escribir "Numero de elementos:" Leer n Mientras(n<1 OR n> TAM) FINnumeroElementos Algoritmo: compararElementos(a[]: reales, b[]: reales, &n: entero) INICIO p=0, i: entero Para i 0 Hasta n-1 inc 1 Hacer Si (a[i]=b[i]) p p+1 finSi finPara Si (p=n) Escribir "Los arreglos ingresados son iguales." sino Escribir "Los arreglos ingresados son diferentes." finSi FINcompararElementos

20. La moda de un conjunto de datos es el elemento que ms se repite. Encuentre la moda de elementos almacenados en un arreglo.
MAX30: Entero // Constante global. lastE0: Entero // Variable global. a[MAX], unique[MAX]: Real // Variable global.

Algorimo: Principal() Inicio N: Entero Escribir DETERMINACION DEL NRO MODA O MODAL. Hacer Escribir Precise dimensin de arreglo: Leer N Mientras(N<1 OR N>MAX) LeerArray(N) DetModa(N) Fin Algoritmo LeerArray(Dim: Entero) Inicio i: Entero Para i 0 hasta Dim-1 inc1 hacer Escribir Digite un valor para a[, i, ]: Leer a[i] finPara Fin Algoritmo DetModa(N: Entero) Inicio vecesRep[MAX], i, posModa, maxF0: Entero unique[0]a[0] Para i1 hasta N-1 inc1 hacer Si (!serepite(a[i])) hacer lastElastE+1 unique[lastE]a[i] finSi finPara Escribir Mostrando frecuencia con que se repiten los datos: Para i0 hasta N-1 inc1 hacer vecesRep[i]contarRep(unique[i], N) Si (vecesRep[i]>maxF) entonces maxFvecesRep[i] posModai finSi Escribir El nmero , unique[i], se repite , vecesRep[i], veces. finPara Escribir El nmero modal es: , unique[posModa] Fin Algoritmo serepite(elemento: Real): Entero Inicio rep0, x: Entero Para x0 hasta lastE inc1 hacer Si (elemento = unique[x]) entonces Retornar 1 finSi finPara Retornar 0 Fin Algoritmo contarRep(eUnique: Real, Dim: Entero): Entero

Inicio veces0, x: Entero Para x0 hasta Dim-1 inc1 hacer Si (eUnique = a[x]) entonces vecesveces+1 finSi finPara Retornar veces Fin