Estructura de datos tipo vector.



Documentos relacionados
Introducción a Java III. Prof. MSc. Pedro Shiguihara

1. Manejo de memoria estática 2. Manejo de memoria dinámica

APUNTES JAVA ARRAYS (ARREGLOS) Un arreglo es un grupo de posiciones de memoria contiguas. Todas las cuales tienen el mismo nombre y el mismo tipo.

ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA

GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN

La clase estándar Scanner

Clases y Objetos. Informática II Ingeniería Electrónica

INTELIGENCIA EN REDES DE COMUNICACIONES PRÁCTICA FINAL. Ignacio Ribas Ramos Miguel Flecha Lozano Ingeniería de Telecomunicaciones

Vectores y matrices. Arrays Declaración Creación Acceso a los elementos de un array Manipulación de vectores y matrices

Modulo 1 El lenguaje Java

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1

FACULTAD DE INGENIERÍA

GUÍA DE TRABAJO N 2 ARREGLOS EN C# Ing. Néstor Raúl Suarez Perpiñan Página 1 de 8. Tema: ARREGLOS (ARRAYS) LENGUAJE C#

Tema 6. Reutilización de código. Programación Programación - Tema 6: Reutilización de código

Computación III. Objetivo de aprendizaje del tema

Programación Orientada a Objetos: Arreglos en Java

EXAMEN PARCIAL 23 de Octubre de 2015 Programación I. Grado en Matemáticas e Informática ETSIINF UPM

Trabajo Práctico N 4: Diseño por Contratos

11. Algunas clases estándar de Java (II)

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

Ejercicio 1 (2 puntos. Tiempo: 25 minutos)

Introducción al lenguaje Java

TIPOS DE DATOS DEFINIDOS POR EL PROGRAMADOR: Estructuras CONTENIDOS

Pruebas de unidad con JUnit

LABORATORIO 1 OPERACIONES DE ENTRADA Y SALIDA

Ejercicios del tema 7: Clases y objetos

Curso Informática Lección 2. Introducción a la programación en Java

PLATAFORMA ON-LINE DE FORMACIÓN. Manual del Alumno

Tutorial básico del entorno de desarrollo Eclipse.

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

MANUAL CIERRE CONTABLE

PHP y MySQL. Indice: Switch Bucles For While do...while

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

Clases y funciones amigas: friend

Sintaxis y Convenciones de Java. M. en C. Erika Vilches

Universidad Nacional del Santa F A C U L T A D D E I N G E N I E R I A E.A.P. Ingeniería de Sistemas e Informática NETBEANS 7.0

Caso práctico Alquiler de películas en un vídeo-club

Benemérita Universidad Autónoma del Estado de Puebla

Manual del Protocolo XML-RPC de Mensajería Negocios

Ejercicio 1 (3 puntos).-

ARREGLOS DEFINICION GENERAL DE ARREGLO

Etapa 3.1. Implementación de la clase Operacion

Lección 10: Estructuras de Control. Autor: José Navarro. Referencias: C. Horstmann, Big Java Late Objects, Caps 3-4

Tema: Arreglos de Objetos en C++.

Text Mining: Distancia de Levenshtein

Divido la barra de helado en ocho partes iguales. De esas ocho partes tomo seis. Parte de la barra que reparto a mis amigos :

Arreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h>

Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Algoritmia y Programación

Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos.

PROGRAMACIÓN CLIENTE-SERVIDOR MEDIANTE SOCKETS EN JAVA

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

Crear usuario en XP. Redes Paso a Paso. Introducción Explicación Paso 1 Paso 2 Paso 3 Paso 4 Paso 5 Paso 6 Paso 7 Paso 8 Paso 9 Paso 10. Descripción.

INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA

FACULTAD DE INGENIERÍA

SISTEMAS DE NUMERACIÓN.

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACÁN INTEGRANTES

Capítulo 3 Usando GUIDE. 3.1 Acerca de GUIDE

Programación Orientada a Objetos en JAVA

BANCOS. Manejo de Bancos. Como crear una ficha de Banco? Como modificar los datos de una ficha de Banco? Como borrar una ficha de Banco?

1 ELEMENTOS BASICOS DEL LENGUAJE

Nóminas y Seguros Sociales

Estructuras Repetitivas: SENTENCIA WHILE EN MATLAB INFORMÁTICA T2 INGENIERÍA INDUSTRIAL JORNADA ESPECIAL

SOLUCION PARCIAL TASK SCHEDULER. Task Scheduler

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.

Estructura repetitiva do while

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

AGRUPA P R OBJET E OS 1

Control, Instrumentación e Instalaciones Ingeniería Ambiental

MANUAL DE USUARIO PLAN GENÉRICO DE AUTOCONTROL EN HOSTELERÍA ASOCIACIÓN DE EMPRESARIOS DE HOSTELERÍA DE GIPUZKOA 1

EUROWIN Autoventa Para terminales portátiles tipo PSION. EUROWINsoft

NOTAS TÉCNICAS SOBRE EL SIT: Modelo Declaración 347. Notas previas...2 Obtención del Listado...2 Comunicados...3 Soporte Magnético...

Oprime click para iniciar

República Bolivariana de Venezuela Aldea Universitaria Liceo Fray Pedro de Agreda. Lenguaje C++ Contadores y Acumuladores

MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA

Informática FACULTAD DE FÍSICAS

Primer Parcial Septiembre 5 de 2009

Ejemplos de conversión de reales a enteros

Tema 7: Programación con Matlab

ALGORITMICA Y PROGRAMACION POR OBJETOS I

Introducción a la programación orientada a objetos

Programación Orientada a Objetos

Gestión de Subtotales en Documentos de Venta WhitePaper Febrero de 2007

Contenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE

Árboles AVL. Laboratorio de Programación II

Introducción a la Programación Orientada a Objetos

Funciones SUMAR.SI y CONTAR.SI

Estructuras de datos: Proyecto 2

GESTINLIB GESTIÓN PARA LIBRERÍAS, PAPELERÍAS Y KIOSCOS DESCRIPCIÓN DEL MÓDULO DE KIOSCOS

Benemérita Universidad Autónoma del Estado de Puebla

2.2.- Paradigmas de la POO

El lenguaje de programación Java

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO ESCUELA DE INGENIERIA EN SISTEMAS

Tema: Sobrecarga de Operadores.

Para aquellos que tengan conocimientos de Access es lo más parecido a una consulta de referencias cruzadas, pero con más interactividad.

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

BASES DE DATOS - Microsoft ACCESS 2007-

Transcripción:

Estructura de datos tipo vector. Hemos empleado variables de distinto tipo para el almacenamiento de datos (variables int, float, String) En esta sección veremos otros tipos de variables que permiten almacenar un conjunto de datos en una única variable. Un vector es una estructura de datos que permite almacenar un CONJUNTO de datos del MISMO tipo. Con un único nombre se define un vector y por medio de un subíndice hacemos referencia a cada elemento del mismo (componente) Problema 1: Se desea guardar los sueldos de 5 operarios. Según lo conocido deberíamos definir 5 variables si queremos tener en un cierto momento los 5 sueldos almacenados en memoria. Empleando un vector solo se requiere definir un único nombre y accedemos a cada elemento por medio del subíndice. Programa: import java.util.scanner; public class PruebaVector1 { private Scanner teclado; private int[] sueldos; public void cargar() { teclado=new Scanner(System.in); sueldos=new int[5]; sueldos[f]=teclado.nextint(); public void imprimir() { System.out.println(sueldos[f]); public static void main(string[] ar) { PruebaVector1 pv=new PruebaVector1(); pv.cargar();

pv.imprimir(); Para la declaración de un vector le antecedemos al nombre los corchetes abiertos y cerrados: private int[] sueldos; Lo definimos como atributo de la clase ya que lo utilizaremos en los dos métodos. En el método de cargar lo primero que hacemos es crear el vector (en java los vectores son objetos por lo que es necesario proceder a su creación mediante el operador new): sueldos=new int[5]; Cuando creamos el vector indicamos entre corchetes la cantidad de elementos que se pueden almacenar posteriormente en el mismo. Para cargar cada componente debemos indicar entre corchetes que elemento del vector estamos accediendo: sueldos[f]=teclado.nextint(); La estructura de programación que más se adapta para cargar en forma completa las componentes de un vector es un for, ya que sabemos de antemano la cantidad de valores a cargar. Cuando f vale cero estamos accediendo a la primer componente del vector (en nuestro caso sería): sueldos[0]=teclado.nextint(); Lo mas común es utilizar una estructura repetitiva for para recorrer cada componente del vector. Utilizar el for nos reduce la cantidad de código, si no utilizo un for debería en forma secuencial implementar el siguiente código: sueldos[0]=teclado.nextint(); sueldos[1]=teclado.nextint(); sueldos[2]=teclado.nextint(); sueldos[3]=teclado.nextint(); sueldos[4]=teclado.nextint(); La impresión de las componentes del vector lo hacemos en el otro método:

public void imprimir() { System.out.println(sueldos[f]); Siempre que queremos acceder a una componente del vector debemos indicar entre corchetes la componente, dicho valor comienza a numerarse en cero y continua hasta un número menos del tamaño del vector, en nuestro caso creamos el vector con 5 elementos: sueldos=new int[5]; Por último en este programa creamos un objeto en la main y llamamos a lo métodos de cargar e imprimir el vector: public static void main(string[] ar) { PruebaVector1 pv=new PruebaVector1(); pv.cargar(); pv.imprimir(); Problema 2: Definir un vector de 5 componentes de tipo float que representen las alturas de 5 personas. Obtener el promedio de las mismas. Contar cuántas personas son más altas que el promedio y cuántas más bajas. Programa: import java.util.scanner; public class PruebaVector2 { private Scanner teclado; private float[] alturas; private float promedio; public void cargar() { teclado=new Scanner(System.in); alturas=new float[5]; System.out.print("Ingrese la altura de la persona:"); alturas[f]=teclado.nextfloat(); public void calcularpromedio() { float suma; suma=0; suma=suma+alturas[f]; promedio=suma/5; System.out.println("Promedio de alturas:"+promedio); public void mayoresmenores() {

int may,men; may=0; men=0; if (alturas[f]>promedio) { may++; else { if (alturas[f]<promedio) { men++; System.out.println("Cantidad de personas mayores al promedio:"+may); System.out.println("Cantidad de personas menores al promedio:"+men); public static void main(string[] ar) { PruebaVector2 pv2=new PruebaVector2(); pv2.cargar(); pv2.calcularpromedio(); pv2.mayoresmenores(); Definimos como atributo un vector donde almacenaremos las alturas: private float[] alturas; En la carga creamos el vector indicando que reserve espacio para 5 componentes: alturas=new float[5]; Procedemos seguidamente a cargar todos sus elementos: System.out.print("Ingrese la altura de la persona:"); alturas[f]=teclado.nextfloat(); En otro método procedemos a sumar todas sus componentes y obtener el promedio. El promedio lo almacenamos en un atributo de la clase ya que lo necesitamos en otro método: public void calcularpromedio() { float suma; suma=0; suma=suma+alturas[f]; promedio=suma/5; System.out.println("Promedio de alturas:"+promedio);

Por último en un tercer método comparamos cada componente del vector con el atributo promedio, si el valor almacenado supera al promedio incrementamos un contador en caso que sea menor al promedio incrementamos otro contador: public void mayoresmenores() { int may,men; may=0; men=0; if (alturas[f]>promedio) { may++; else { if (alturas[f]<promedio) { men++; System.out.println("Cantidad de personas mayores al promedio:"+may); System.out.println("Cantidad de personas menores al promedio:"+men); Importante: En este problema podemos observar una ventaja de tener almacenadas todas las alturas de las personas. Si no conociéramos los vectores tenemos que cargar otra vez las alturas por teclado para compararlas con el promedio. Mientras el programa está en ejecución tenemos el vector alturas a nuestra disposición. Es importante tener en cuenta que cuando finaliza la ejecución del programa se pierde el contenido de todas las variables (simples y vectores) Problema 3: Una empresa tiene dos turnos (mañana y tarde) en los que trabajan 8 empleados (4 por la mañana y 4 por la tarde) Confeccionar un programa que permita almacenar los sueldos de los empleados agrupados por turno. Imprimir los gastos en sueldos de cada turno. Programa: import java.util.scanner; public class PruebaVector3 { private Scanner teclado; private float[] turnoman; private float[] turnotar; public void cargar() { teclado=new Scanner(System.in); turnoman=new float[4]; turnotar=new float[4]; mañana.");

turnoman[f]=teclado.nextfloat(); tarde."); turnotar[f]=teclado.nextfloat(); public void calculargastos() { float man=0; float tar=0; for(int f=0;f<4;f++){ man=man+turnoman[f]; tar=tar+turnotar[f]; mañana:"+man); tarde:"+tar); public static void main(string[] ar){ PruebaVector3 pv=new PruebaVector3(); pv.cargar(); pv.calculargastos(); Definimos dos atributos de tipo vector donde almacenaremos los sueldos de los empleados de cada turno: private float[] turnoman; private float[] turnotar; Creamos los vectores con cuatro elementos cada uno: turnoman=new float[4]; turnotar=new float[4]; Mediante dos estructuras repetitivas procedemos a cargar cada vector: mañana."); turnoman[f]=teclado.nextfloat(); tarde."); turnotar[f]=teclado.nextfloat(); En otro método procedemos a sumar las componentes de cada vector y mostrar dichos acumuladores:

float man=0; float tar=0; for(int f=0;f<4;f++){ man=man+turnoman[f]; tar=tar+turnotar[f]; mañana:"+man); tarde:"+tar); Problemas propuestos 1. Desarrollar un programa que permita ingresar un vector de 8 elementos, e informe: El valor acumulado de todos los elementos del vector. El valor acumulado de los elementos del vector que sean mayores a 36. Cantidad de valores mayores a 50. 2. Realizar un programa que pida la carga de dos vectores numéricos enteros de 4 elementos. Obtener la suma de los dos vectores, dicho resultado guardarlo en un tercer vector del mismo tamaño. Sumar componente a componente. 3. Se tienen las notas del primer parcial de los alumnos de dos cursos, el curso A y el curso B, cada curso cuenta con 5 alumnos. Realizar un programa que muestre el curso que obtuvo el mayor promedio general. 4. Cargar un vector de 10 elementos y verificar posteriormente si el mismo está ordenado de menor a mayor.