Professional Documents
Culture Documents
Ulises ROMAN C
www.ulisesroman.blogspot.com
- RESUMEN -
Según Joyanes AGUILAR “un arreglo es una serie de datos del mismo tipo – estos datos se denominan
elementos del arreglo” – podemos decir que también que es una estructura de datos DINAMICOS que
guardan la misma relación con los elementos que posee. Algunas de las características: Conserva los
valores para su posterior utilización, Facilita obtener datos de la memoria, Facilita el acceso eficiente a
ellos, Se usa para procesar una lista de datos mas de una vez, Se puede representar de manera
vertical y horizontal. Los arreglos pueden ser: UNIDIMENSIONALES (Vectores),
BIDIMENSIONALES (Tablas/Matrices) y MULTIDIMENSIONALES (Poliedros). Los arreglos se
pueden declarar o inicializar, veamos la estructura básica: <tipo _ datos> <nombre _
arreglo> <tamaño _ arreglo>. Las estructuras de datos permiten combinar elementos
de diferentes tipos de datos como Arreglos, punteros y registros, etc. Para almacenar elementos del
mismo tipo de datos y de esta manera se puede usar en problemas como:
ο Simulación de matrices
ο Tableros de juego ( ajedrez o dama, michi, buscaminas,aetc.)
ο Tratamiento de cadenas
ο Trabajos en 3D
ο Tratamiento para Video Juegos
PARA (i <-- 1 a N)
ESCRIBIR(Vector[i])
FIN_PARA
VECTORES:
PV-01: Crear un Vector de tamaño N
PV-02: Determinar el promedio de 3 notas, indicando aprobado o desaprobado
PV-03: Ordenar un vector en forma ascendente ( para n datos)
PV-04: Determinar números de alumnos y alumnas aprobados, cantidad de datos a procesar N.
(código, nombre,sexo,nota1,nota2)
PV-05 Promedio de Notas de clase y la mayor nota de n alumnos
PV-06: Promedio de N notas ingresando por teclado
PV-07: Insertar un dato en el arreglo
PV-08: Intercalar dos vectores A y B en C
PV-09: Imprimir un vector en orden invertido
PV-10: Hacer las operaciones sobre un vector usando funciones: Leer _ vector, Buscar_valor,
Insertar_Valor,Eliminar_valor, Imprimir _ valor
PV-11: Escriba un programa que lea N notas de los alumnos de un determinado curso y luego
determine el promedio de las mismas.
PV-12: Escribe un programa que genere los N primeros números primos
PV-13: Escriba un programa que genere los N primeros números perfectos
PV-14: Se tiene un arreglo A con N enteros, construir un programa que ordene en forma ascendente
y los asigne a B, el programa debe mostrar el arreglo A con los elementos desordenados y B
con los datos ordenados.
PV-15: Se tiene dos vectores A y B construir un programa que calcule la suma de A y B y lo guarde en
C.
PV-16: Escribe un programa que genere los N primeros números múltiplos de 3 y 5.
PV-17: Se tiene un vector A con N notas correspondientes a las notas de los alumnos, se requiere
pasara todas las notas>= 14 al vector A14, las notas>11 y notas<14 al vector A11 y el resto de
notas al vector A01.
PV-18: Se tiene los vectores paralelos A, y C, A contienen los código de ( 3 cifras) de los alumnos, B
contiene las edades de los alumnos y C contienen el sexo de cada una de ellos. Construir un
programa que determine el promedio de edades por sexo, determinar el mayor y el menor
para lo cual bebe mostrar el código, su edad y el sexo.
PV-19: Dado un vector de tamaño N ordenado en forma ascendente: Insertar y eliminar un valor en el
vector, de tal manera que el vector continúe ordenado.
PV-20: Escribir una función recursiva para calcular la suma de los contenidos de un arreglo numérico.
PV-21: Dado un vector de tamaño N ordenado en forma ascendente: Insertar y eliminar un valor en el
vector, de tal manera que el vector continúe ordenado.
PV-22: Dados 50 números enteros, obtener el promedio de ellos. Mostrar por pantalla dicho
promedio y los números ingresados que sean mayores que el mismo.
PV-23: Dados n números, obtener e imprimir la suma de todos ellos. A continuación mostrar por
pantalla todos los sumandos.
PV-24: Se tienen dos arreglos (Vectores paralelos). El primero contiene nombres de personas y el
segundo contiene los sexos de las personas del primer arreglo, codificados como ´f´femenino
y ´m´ masculino. Obtener a partir de estos otros dos arreglos, el primero de los cuales debe
PV-26: Se tienen dos arreglos (Vectores paralelos). El primero contiene nombres de personas y el
segundo contiene los sexos de las personas del primer arreglo, codificados como ´f´femenino
y ´m´ masculino. Obtener a partir de estos otros dos arreglos, el primero de los cuales debe
contener todos los nombres de los varones y el segundo, el nombre de todas las mujeres dos n
números, obtener e imprimir la suma de todos ellos. A continuación mostrar por pantalla todos
los sumandos.
PV-27: Diseñar un Algoritmo y/o Codigo UBICACIÓN DEL CABALLO en un Juego de AJEDREZ.
Diseñe un algoritmo que tome como entradas X, Y que viene a ser la
ubicación actual de un caballo dentro de un tablero de ajedrez.
Calcular las nuevas posiciones a las que puede desplazarse el
caballo.
Ejemplo: Entrada X =4 , Y = 5 (Posición actual del caballo)
PV-28: Realice el programa para determinar las siguientes operaciones: (uso de función y Vectores
para estadísticas)
1. Preguntar al usuario con cuántos números desea trabajar.
2. Leer y almacenar los números convenientemente.
3. Hallar su media aritmética utilizando para ello una función a la que llamarás media( ).
4. Hallar el máximo y el mínimo llamando a sendas funciones maximo( ) y minimo( )
5. Hallar la semisuma de los valores máximo y mínimo mediante la función semisuma( ).
6. Mostrar por pantalla los valores obtenidos: media, máximo, mínimo y semisuma
PV-28: Realice el programa para hacer las operaciones con vectores: Suma, Resta, Producto escalar
y producto vectorial (debe usar switch)
MATRICES:
a) Escriba un fragmento del programa para calcular la suma de los elementos de la diagonal
principal (empezando en la esquina superior izquierdo y terminando en la esquina inferior
derecha).
b) Escriba un fragmento del programa para calcular la suma de los elementos de la otra diagonal.
El fragmento debe hacerse para una matriz N x N. ejemplo: suma de elementos de la diagonal
oral: 18 = 10+7+1.
PM-14: Se desea ordenar ascendentemente una matriz de NxM, de izquierda a derecha y de arriba
abajo. por ejemplo, la matriz de 3x3 debe quedar:
(Interesante ejercicio es trabajar sobre la estructura matricial, sin traspasar los datos de
la matriz a un arreglo, ordenar esta último y luego devolver los valores a la matriz).
PM-15: Desarrollar los siguientes ejercicios del Libro Joyanes Aguilar Edicion No.2:
1. Pag. 303: Ejercicio No. 7.12
2. Pag. 304: Ejercicio No. 7.7
ORDENACION Y BUSQUEDA
La Ordenación ( sorting, en ingles) es un procedimiento según el cual se ponen en cierto orden los
elementos de una lista y la búsqueda(searching, en ingles). La ordenación se puede aplicar en
cualquier lista de datos sobre los cuales se puede definir una operación de orden total. La
ordenación es muy importante en informática, ya que muchas aplicaciones requieren ordenar datos,
veamos algunos ejemplos: Aplicaciones que procesan datos no ordenados y que necesitan
mantener internamente los datos ordenados(ejem: Vuelos en el aeropuerto, examen admisión
puntajes de meritos, etc), aplicaciones que necesitan visualizar los datos de manera
ordenada(vuelos panel, mensajes por fecha,ect) y aplicaciones que necesitan los datos de
entrada ordenados (ejem:buscar palabra en diccionarios cuyas entradas están ordenados
alfabéticamente). Existen varios métodos de ordenación mencionamos tres que son básicos
(ordenación por selección, por inserción y método burbuja,ect)
CASOS DE ANÁLISIS:
CA-01: Analizar y leer el siguiente programa y escribir el resultado que genera; sabiendo que pedido
toma el valor de 5.
Inicio
Entero P[6] , C[6], K, Pedido, R[6]
K← 1
Mientras (K <= 6) Hacer
P[K] ← K*100
C[K] ← K*1000
K ← K+1
Fin_mientras
Leer pedido
K← 1
J ← 6
Mientras (K <= 6) Hacer
R [k] ← P[j] * Pedido
C[k] ← C[K] – R[K]
K ← K+1
Fin_mientras
K ← 1
Mientras ( K <= 6) Hacer
Escritura R[K], C[K]
K← K+1
Fin_mientras
Fin Inicio
Antes de 1 2 3 4 5 6
pedido
P
C
deespués del 1 2 3 4 5 6
pedido
R
C
14 26 18 25 40 32 12 6 49
a) Cuál será el contenido de tal arreglo después de la ejecución del siguiente ciclo de for?
for(i=1; i<=7; i++)
{
for(i=1;i<=7;i++)
{
if(B [i] > B[i+1])
{
temp= B [i+2];
B [i+2]= B [i+1];
B [i+1]=temp;
}
}
}
Para i = 1 a 4
Suma ← 0
Para j = 1 a 3
Suma ← Suma + 10
Si (i > j)
Entonces
B[i,j] ← 4
Sino
B[i,j] ← suma + i
F_si
F_para
F_para
0 1 2 3 4
LIMA CALLAO PTE.PIEDRA ANCON ATE
int A[5][7]
indice1 indice2
↓
0 1 2 3 4 5 6 7
1
2
3
4
5