Facultad de Ingeniería y Arquitectura
Introducción a la Computación 2007 – I
(14va Semana) Lunes 11 de Junio
Ing. Juan José Montero Román.
ESTRUCTURAS DE DATOS TIPO ARREGLOVECTORES
ESTRUCTURAS DE DATOS TIPO ARREGLOVECTORES
Introducción a la Computación
SEMANA 15
Objetivos :
• Describir la estructura de datos tipo arreglo. Uso de vectores y matrices.
• Desarrollo de soluciones con uso de vectores
Introducción a la Computación
Los arreglos son estructuras de datos que consisten en elementos del mismo tipo. Los arreglos son entidades estáticas en cuanto a que su tamaño no cambia una vez que han sido creadas.
Se debe tener en cuenta que antes de usar los elementos de un arreglo, se debe declarar, crear e inicializar el arreglo.
ESTRUCTURAS DE DATOS : ARREGLOS
ARREGLOS
Definición:
ARREGLOS
Tipos:
32 -2 0 174
0 1 2 3
números
tamaño=4
• Arreglos unidimensionales o vectores
Representación:
• Arreglos bidimensionales o matrices
Representación:
32 -2 0 174
0 1 2 3
números
filas=2, columnas=4
14 12 -5 129
0
1
ESTRUCTURAS DE DATOS : ARREGLOS
DECLARACIÓN:
tipoDato nombreVector [ ]
En Pseudocódigo
Ejemplos;
- TEXTO nombres [ ]
- NUMERO sueldos [ ] - CARACTER letras [ ]
tipoDato nombreVector [ ] ;
En Java
tipoDato [ ] nombreVector ;
Ejemplos;
- String nombres [ ] ;
- double sueldos [ ] ; - char letras [ ] ;
ARREGLOS TIPO VECTOR
CREACIÓN:
CREAR nombreVector [tamaño]
Ejemplos;
- CREAR nombres [10 ]
- CREAR sueldos [numNot] - CREAR letras [LONGITUD texto]
nombreVector = new tipoDato [tamaño] ;
Ejemplos;
- nombres = new String [10] ;
- sueldos = new double [numNot] ; - letras = new char [texto.length()] ;
ARREGLOS TIPO VECTOR
En Pseudocódigo En Java
INGRESO DE DATOS:
identificador [índice] = valor ;nombreVector [índice] = valor
Ejemplos; Ejemplos;
Cuando utilizamos vectores podemos utilizar las estructuras lógicas de repetición para optimizar de manera significativa el proceso de ingreso de datos especialmente utilizando la estructura DESDE ó PARA.
- nombres [0 ] = “Danae”
- sueldos [1] = 100.5 - letras [x] = ‘J’
- nombres [0 ] = “Danae” ;
- sueldos [1] = 100.5 ; - letras [x] = ‘J’ ;
ARREGLOS TIPO VECTOR
En Pseudocódigo En Java
TAMAÑO:
variable = LONGITUD nombreVector [ ]
Ejemplos;
- tamaño = LONGITUD nombres [ ]
- tamaño = LONGITUD sueldos [ ] - tamaño = LONGITUD letras [ ]
variable = nombreVector.length ;
Ejemplos;
- tamaño = nombres.length ;
- tamaño = sueldos.length ; - tamaño = letras.length ;
ARREGLOS TIPO VECTOR
En Pseudocódigo En Java
DECLARACIÓN Y CREACIÓN:
En Java
DECLARACIÓN, CREACIÓN E INICIALIZACIÓN:
tipoDato nombreVector [ ] = { valor1, valor2, valor3, valor4, … , valorN } ;
En Java
tipoDato nombreVector [ ] = new tipoDato [tamaño] ;
ARREGLOS TIPO VECTOR
Ejercicio 1
Desarrollar una solución que permita ingresar y almacenar las notas de todas las prácticas de un alumno. Determinar el promedio de las prácticas sabiendo que se elimina la práctica con la nota mas baja.
Utilice vectores.
ARREGLOS TIPO VECTOR
ENTRADA: numPra, notas[ ] / SALIDA: promAluINICIO ENTERO i, numPra REAL sumaNotas = 0, notaMenor = 20 REAL notas[ ], promAlu COMENTARIO “Creación del arreglo” CREAR notas [numPra] COMENTARIO “Ingreso de datos al arreglo notas[ ].” PARA (i=0, i<numpra, i=i+1) HACER LEER notas[i] FINPARA COMENTARIO “Cálculo del promedio de notas de las prácticas” PARA (i=0, i<numpra, i=i+1) HACER sumaNotas = sumaNotas + notas[i] FINPARA PARA (i=0, i<numpra, i=i+1) HACER SI ( notaMenor > notas[i] ) ENTONCES notaMenor = notas[i] FINSI FINPARA promAlu = ( sumaNotas - notaMenor ) / ( numPra - 1 )ESCRIBIR promAlu
Algoritmo VectorNotas
TRABAJO FINAL
Desarrolle una solución en Java que permita mostrar un menú con las siguientes opciones:[ 1 ] Presentación del grupo de trabajo[ 2 ] Test [ 3 ] Generación de gráfico de números [ 4 ] Uso de la Clase String[ 5 ] Salida
[ 1 ] Presentación del grupo de trabajo, En esta opción la solución deberá Mostrar el nombre y código de los integrantes del grupo.
TRABAJO FINAL
[ 2 ] Test, La solución en Java para esta opción, deberá permitir evaluar el conocimiento de un alumno de los temas desarrollados en el curso de Introducción a la Computación. Para ello deberá considerar:a.- El numero de preguntas disponibles para evaluarse, deberán ser 30, cada una de las cuales deberá tener 5 alternativas, debiendo ser solo una de ellas la correcta.b.- El usuario deberá ingresar el número de preguntas a responder, siendo el mínimo número de preguntas a responder de 5 preguntas y el máximo de 20 preguntas.c.- El programa deberá seleccionar aleatoriamente el número de preguntas seleccionadas por el usuario en base de las 30 preguntas disponibles, validando que no se repita la misma pregunta.d.- Finalmente la solución deberá mostrar la cantidad y porcentaje de preguntas respondidas correctamente y el total de preguntas seleccionadas por el usuario.
TRABAJO FINAL
[ 3 ] Generación de gráfico de números, En esta opción la solución deberá generar con los símbolos que usted estime conveniente el gráfico de los números del 0 al 9. Ejemplo:
* * **
* * *** * *
[ 4 ] Uso de la Clase String, En esta opción, deberá desarrollar una solución que emplee al menos 5 métodos de la clase String.
[ 5 ] Salida, En esta opción, permitirá la salida del menú.
TRABAJO FINAL
CONSIDERACIONES GENERALES
La fecha de entrega del trabajo será el lunes 13/06/2007, en el horario de clases (no se recibirán trabajos, después del termino de la misma).Se deberá entregar la solución en medio magnético e impreso. Para el trabajo impreso, considerar presentar:- La carátula, - Código Java,- Tipo de estructura de datos empleadas- Tipo de estructuras de control empleadas- Conclusiones y - RecomendacionesSe deberá aplicar, solo los conocimientos adquiridos en las clases del curso de Introducción a la Computación.Para la evaluación se considerará, el orden, validaciones y creatividad del grupo.
Grupos de 5 integrantes.El nombre del programa será Prg mas las iniciales del Apellido paterno de los integrantes del grupo, ejemplo : PrgMBASI.Presentar fotocopia de la caratula del trabajo.
Ejercicio 2 Desarrollar una solución que permita ingresar y almacenar el sueldo (sueldos[]) de todos los trabajadores de una empresa. Calcular y mostrar el sueldo neto (sueldoNeto) de cada trabajador, sabiendo que se tienen que descontar el 12% por impuestos y el 3% por seguro. Consistenciar el ingreso de datos.
Ejercicio 3Desarrollar una solución que permita ingresar y almacenar la nota (notas[]) de 10 alumnos de un salón de clase y determinar el promedio final del aula (prom). Mostrar el promedio. Consistenciar el ingreso de datos.
.Ejercicio 4 Desarrollar una solución que permita ingresar y almacenar la nota (notas[]) de todos los alumnos de un salón de clase y determinar el promedio final (prom) redondeado a dos decimales. Mostrar el promedio. Consistenciar el ingreso de datos.
Emplee vectores
ARREGLOS TIPO VECTOR
ESTRUCTURAS DE DATOS TIPO ARREGLOMATRICES
ESTRUCTURAS DE DATOS TIPO ARREGLOMATRICES
Introducción a la Computación
SEMANA 16
ESTRUCTURAS DE DATOS
Arreglos
Tipos:
32 -2 0 174
0 1 2 3
números
tamaño=4
• Arreglos unidimensionales o vectores
Representación:
• Arreglos bidimensionales o MATRICES
Representación:
32 -2 0 174
0 1 2 3
números
filas=2, columnas=4
14 12 -5 129
0
1
ESTRUCTURAS DE DATOS
Declaración:
tipoDato identificador [ ][ ]
En Pseudocódigo
Arreglos tipo MATRIZ
Ejemplos;
- TEXTO nombres [ ][ ]
- NUMERO sueldos [ ][ ] - CARACTER letras [ ][ ]
tipoDato identificador [ ][ ] ;
En Java
tipoDato [ ][ ] identificador ;ó
Ejemplos;
- String nombres [ ][ ] ;
- double sueldos [ ][ ] ; - char letras [ ][ ] ;
ESTRUCTURAS DE DATOS
Creación:
identificador = new tipoDato [filas][columnas] ;CREAR identificador [filas][columnas]
En Pseudocódigo En Java
Ejemplos; Ejemplos;
- CREAR nombres [2][4]
- CREAR sueldos [numAlu][numNot] - CREAR letras [4][total]
- nombres = new String [2][10] ;
- sueldos = new double [numAlu][numNot] ; - letras = new char [4][total] ;
Arreglos tipo MATRIZ
ESTRUCTURAS DE DATOS
Declaración y Creación:
tipoDato identificador[][] = new tipoDato [filas][columnas] ;
En Java
Ejemplos;
- String nombres = new String [2][10] ;
- double sueldos = new double [numAlu][numNot] ; - char letras = new char [4][total] ;
Arreglos tipo MATRIZ
ESTRUCTURAS DE DATOS
Ingreso de datos:
identificador [índice] = valor ;identificador [índice] = valor
En Pseudocódigo En Java
Ejemplos; Ejemplos;
Cuando utilizamos matrices podemos utilizar las estructuras lógicas de repetición para optimizar de manera significativa el proceso de ingreso de datos especialmente utilizando la estructura DESDE ó PARA dos veces.
- nombres [0][0] = “Danae”
- sueldos [1][x] = 100.5 - letras [y][x] = ‘J’
- nombres [0][0] = “Danae” ;
- sueldos [1][x] = 100.5 ; - letras [y][x] = ‘J’ ;
Arreglos tipo MATRIZ
Ejercicio
Desarrollar una solución que permita ingresar y almacenar números enteros positivos en una matriz de 3 por 3 (a[][]) y permita mostrar la matriz 3 por 3 y la suma de los números ubicados en la diagonal principal. Consistencia la entrada de datos.
Utilice matrices.
ESTRUCTURAS DE DATOS
ENTRADA: numero[ ][ ] / SALIDA: numero[ ][ ], sumaDiaPriINICIO COMENTARIO “Declaración del arreglo” ENTERO i, j, numero[][], sumaDiaPri COMENTARIO “Creación del arreglo” CREAR numero[3][3], COMENTARIO “Ingreso de datos al arreglo numero[ ] [ ].” PARA (i=0, i<3, i=i+1) HACER // DESDE i =0 HASTA i < 3
PARA (j=0, j<3, j=j+1) HACER // DESDE j =0 HASTA j < 3
HACER LEER numero[i][j] MIENTRAS (numero[i][j]<0) FINPARA // FIN DESDE
FINPARA // FIN DESDE COMENTARIO “Mostrar Matriz y Cálculo de Suma” PARA (i=0, i<3, i=i+1) HACER // DESDE i =0 HASTA i < 3
PARA (j=0, j<3, j=j+1) HACER // DESDE j =0 HASTA j < 3
ESCRIBIR numero[i][j] SI (i=j) ENTONCES sumaDiaPri = sumaDiaPri + numero[i][j] FINSI FINPARA // FIN DESDE
FINPARA // FIN DESDE
ESCRIBIR sumaDiaPriFIN
Algoritmo VectorNotas
1.- Desarrollar una solución que permita ingresar y almacenar el precio de compra y el precio de venta de todos los artículos de una bodega (precio[][]). Calcular y mostrar la utilidad que se obtiene por la venta de cada artículo. Utilice matrices.
2.-Desarrollar una solución que permita ingresar y almacenar el código y el nombre de los empleados de una compañía (empleado[][]). Luego mostrar el código y nombre de los empleados de la compañía. Utilice matrices.
3.-Desarrollar una solución que permita ingresar y almacenar el promedio de prácticas, la nota del examen parcial y la nota del examen final de todos los alumnos de MBIII de la FIA (nota[][]). Calcular y mostrar el promedio que obtuvo cada alumno; Adicionalmente indicar el porcentaje de alumnos que aprobaron el curso.
ESTRUCTURAS DE DATOS
INTENTALO…!!!
Top Related