facultad de ingeniería y arquitectura introducción a la computación 2007 – i (14va semana)...

Post on 21-Apr-2015

3 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

jmonteror@usmp.edu.pe

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