clase no 12 a enviar (1)algoritmoyprogramacion

17
FACULTAD DE INGENIERÍA PROGRAMA DE INGENIERÍA DE SISTEMAS Asignatura: ALGORITMOS Y PROGRAMACION Docente: Ing. Emperatriz Zapata Zapata Clase No. 12 Semana del 20 al 24 de Octubre de 2014

Upload: bl-re

Post on 06-Mar-2016

216 views

Category:

Documents


1 download

DESCRIPTION

eiufiuehkhkdsh

TRANSCRIPT

Page 1: Clase No 12 a Enviar (1)Algoritmoyprogramacion

7/21/2019 Clase No 12 a Enviar (1)Algoritmoyprogramacion

http://slidepdf.com/reader/full/clase-no-12-a-enviar-1algoritmoyprogramacion 1/17

FACULTAD DE INGENIERÍAPROGRAMA DE INGENIERÍA DE SISTEMAS

Asignatura: ALGORITMOS Y PROGRAMACION 

Docente: Ing. Emperatriz Zapata Zapata

Clase No. 12 Semana del 20 al 24 de Octubre de 2014

Page 2: Clase No 12 a Enviar (1)Algoritmoyprogramacion

7/21/2019 Clase No 12 a Enviar (1)Algoritmoyprogramacion

http://slidepdf.com/reader/full/clase-no-12-a-enviar-1algoritmoyprogramacion 2/17

Arreglos

Guardar

Guardar

Page 3: Clase No 12 a Enviar (1)Algoritmoyprogramacion

7/21/2019 Clase No 12 a Enviar (1)Algoritmoyprogramacion

http://slidepdf.com/reader/full/clase-no-12-a-enviar-1algoritmoyprogramacion 3/17

Generalidades

Page 4: Clase No 12 a Enviar (1)Algoritmoyprogramacion

7/21/2019 Clase No 12 a Enviar (1)Algoritmoyprogramacion

http://slidepdf.com/reader/full/clase-no-12-a-enviar-1algoritmoyprogramacion 4/17

Asignatura: ALGORITMOS Y PROGRAMACION Tema: Arreglos 

Es muy frecuente manejar colección de datos, ejemplo la Biblioteca,donde se tienen muchos elementos pero todos ellos con un ordendeterminado.

En el ordenamiento de datos por medio de un computador, utilizamos los camposvariables y constantes para almacenar y así nos hemos referido a salario, edad,género, pero qué ocurre si el campo salario corresponde no solo a una personasino a varias?, pudiéramos asignar por ejemplo Salario_Mario, Salario_Andres,pero sería demasiado engorroso e inexacto, porque tendríamos que crearmanualmente la variable para cada uno y puede que no sepamos cuantos son.

Los datos siempre que estén relacionados, se pueden organizar en unaestructura de datos, de tal manera que se pueda tener un conjunto de datosnuméricos, lógicos o caracteres manejados a través de un mismo nombre devariable.

Page 5: Clase No 12 a Enviar (1)Algoritmoyprogramacion

7/21/2019 Clase No 12 a Enviar (1)Algoritmoyprogramacion

http://slidepdf.com/reader/full/clase-no-12-a-enviar-1algoritmoyprogramacion 5/17

Una variable de tipo estructurado consiste en toda una colección de casillas

de memoria.

Un dato de tipo estructurado, como el arreglo, puede almacenar más de un

elemento (valor) a la vez, con la condición de que todos los elementos deben

ser del mismo tipo, es decir, que se puede tener un conjunto de datos

enteros, reales, etc. Pueden ser estáticas o dinámicas.

Una Estructura de Datos, es una colección de datos que se caracterizan por

la FORMA en que estos se ORGANIZAN, y por las OPERACIONES que se

pueden definir sobre dichos datos 

Asignatura: ALGORITMOS Y PROGRAMACION Tema: Arreglos 

Estructura de Datos

 Ahora vamos a extender el nombre de variable a un grupo o colección devariables agrupadas bajo un mismo nombre.

Page 6: Clase No 12 a Enviar (1)Algoritmoyprogramacion

7/21/2019 Clase No 12 a Enviar (1)Algoritmoyprogramacion

http://slidepdf.com/reader/full/clase-no-12-a-enviar-1algoritmoyprogramacion 6/17

En resumen, una estructura de datos, es laorganización que reciben los datos para que

sean tratados como una unidad.

Existen varias formas de estructuras de datoslas más comunes y simples son los arreglos y se tratará en esta asignatura.

En asignaturas posteriores se verán los

archivos, listas, árboles y grafos.

Un arreglo (array) es una colección devariables del mismo tipo de datos con unmismo nombre.

En los arreglos:

Hay un número de datos contenidos en elmismo nombre.

Hay un método ordenado para laextracción de datos individuales del

arreglo

Asignatura: ALGORITMOS Y PROGRAMACION Tema: Arreglos 

Un arreglo es un conjunto de variables, todas

ellas con la misma estructura y el mismo

nombre, las cuales se diferencian o relacionan a

través de un subíndice (o índice), de tipo entero

(sin decimales), que indica a cual de los

elementos del arreglo queremos hacer

referencia (la posición relativa del elemento

dentro del arreglo) 

Definición: 

1

Ejemplos de índices: 

K + 1

I IND

I * JOTA  –  1

Page 7: Clase No 12 a Enviar (1)Algoritmoyprogramacion

7/21/2019 Clase No 12 a Enviar (1)Algoritmoyprogramacion

http://slidepdf.com/reader/full/clase-no-12-a-enviar-1algoritmoyprogramacion 7/17

Es un conjunto ordenado  y f in i to  de elementos homogéneos. Sus características son:

"Finito" , porque se requiere definir el tamaño del arreglo antes de utilizarlo.Ejemplo: el arreglo Notas que almacena las notas de los 30 alumnos de estaclase es de tamaño 30

"Homogéneo " , porque todos los elementos del arreglo son del mismo t ipo . Ejemplo: en el arreglo Notas, todas las notas almacenadas son de tipo entero.

"Ordenado " , porque se puede identificar cada elemento del arreglo por la posiciónque ocupa : el primero, el segundo, el tercero, ..., el n-esimo, etc.

Ejemplo: en el arreglo Notas, la nota del tercer alumno de la clase, ocupa la posición 3

Asignatura: ALGORITMOS Y PROGRAMACION Tema: Arreglos 

Definición: 

Page 8: Clase No 12 a Enviar (1)Algoritmoyprogramacion

7/21/2019 Clase No 12 a Enviar (1)Algoritmoyprogramacion

http://slidepdf.com/reader/full/clase-no-12-a-enviar-1algoritmoyprogramacion 8/17

Asignatura: ALGORITMOS Y PROGRAMACION Tema: Arreglos 

Clasificación de los Arreglos

1. Arreglos Unidimensionales: 

Organizado bajo un solo concepto de clasificación. Forman una sola fila o una sola columna.

123

97

101

53

:

:

150

Calificaciones

Estudiante #1

Estudiante #2

Estudiante #3

Estudiante #4

Estudiante #30

123 97 101 53 …  …  150

Calificaciones

Page 9: Clase No 12 a Enviar (1)Algoritmoyprogramacion

7/21/2019 Clase No 12 a Enviar (1)Algoritmoyprogramacion

http://slidepdf.com/reader/full/clase-no-12-a-enviar-1algoritmoyprogramacion 9/17

Asignatura: ALGORITMOS Y PROGRAMACION Tema: Arreglos 

Clasificación de los Arreglos

2. Arreglos Bidimensionales: 

Los arreglos de dos dimensiones se denominan matrices o tablas.

Ventas

Posiciones bajo el

concepto 1

(1° dimensión - Fila)

Posiciones bajo el concepto 2 (2° dimensión  – Columna)

1 2 3

1

2

3

4

5

Page 10: Clase No 12 a Enviar (1)Algoritmoyprogramacion

7/21/2019 Clase No 12 a Enviar (1)Algoritmoyprogramacion

http://slidepdf.com/reader/full/clase-no-12-a-enviar-1algoritmoyprogramacion 10/17

Ejemplo:

¿ Cómo almacenar y localizar la cantidad de vehículos (motos, bicicletas, cuatrimotos,

autos y camiones) vendidos en cada uno de los 12 meses del año, por un concesionario?  

¿Usaríamos las variables. Cant1, Cant2, Cant3 ... Cant60?

Asignatura: ALGORITMOS Y PROGRAMACION Tema: Arreglos 

Page 11: Clase No 12 a Enviar (1)Algoritmoyprogramacion

7/21/2019 Clase No 12 a Enviar (1)Algoritmoyprogramacion

http://slidepdf.com/reader/full/clase-no-12-a-enviar-1algoritmoyprogramacion 11/17

Asignatura: ALGORITMOS Y PROGRAMACION Tema: Arreglos 

Clasificación de los Arreglos

3. Arreglos Multidimensionales: 

En los arreglos de dos, tres y más dimensiones, se llama fila a cada subgrupo de elementosubicados horizontalmente a la misma altura, columna para los elementos que están sobre lamisma vertical y plano a todos los elementos ubicados en la misma posición con respecto a latercera dimensión. .

Page 12: Clase No 12 a Enviar (1)Algoritmoyprogramacion

7/21/2019 Clase No 12 a Enviar (1)Algoritmoyprogramacion

http://slidepdf.com/reader/full/clase-no-12-a-enviar-1algoritmoyprogramacion 12/17

Operaciones con Arreglos

Page 13: Clase No 12 a Enviar (1)Algoritmoyprogramacion

7/21/2019 Clase No 12 a Enviar (1)Algoritmoyprogramacion

http://slidepdf.com/reader/full/clase-no-12-a-enviar-1algoritmoyprogramacion 13/17

Operaciones sobre los arreglos: Vamos a aprender a: 

Asignatura: ALGORITMOS Y PROGRAMACION Tema: Arreglos 

Inicializar vectores, asignarle valor a una posiciónespecial, realizar operaciones de entrada ysalida, recorrerlos, actualizarlos (adicionar,insertar o borrar elementos), ordenarlos, buscarelementos en ellos, mezclar dos arreglos

Page 14: Clase No 12 a Enviar (1)Algoritmoyprogramacion

7/21/2019 Clase No 12 a Enviar (1)Algoritmoyprogramacion

http://slidepdf.com/reader/full/clase-no-12-a-enviar-1algoritmoyprogramacion 14/17

INICIALIZACION DE ARRAYS DURANTE LA DECLARACION

 Como en la declaración de variables, es posible inicializar arreglos durante su

declaración, lo cual se hace por medio de una lista de inicialización usando llaves ({ }).

Asignatura: ALGORITMOS Y PROGRAMACION Tema: Arreglos 

Reglas al inicializar arreglos:

 Si la lista de los elementos es mas corta que el numero de elementos delarreglos, el resto de los elementos será inicializado a cero.

 Si un arreglo es declarado sin una especificación de tamaño, su tamaño es iguala la longitud de la lista de inicialización.

 Es posible inicializar un elemento especifico del arreglo, para ello, dentro de lalista de inicialización se puede colocar el índice del elemento del arreglo que se vainicializar entre corchetes ([ ]) seguido del operador de asignación (=) y del valor aasignar en dicha posición.

Page 15: Clase No 12 a Enviar (1)Algoritmoyprogramacion

7/21/2019 Clase No 12 a Enviar (1)Algoritmoyprogramacion

http://slidepdf.com/reader/full/clase-no-12-a-enviar-1algoritmoyprogramacion 15/17

Ejercicio 3: Elaborar un programa que entre N elementos; que calcule el promedio de estos e informe cuales

elementos son menores o iguales al promedio y cuales son superiores.

Asignatura: ALGORITMOS Y PROGRAMACION Tema: Arreglos 

#include <iostream>

using namespace std;

int N, i, menores, mayores=0;float dato, promedio;float suma = 0;float vector[20];int main (){

cout << "Entre el tamaño del arreglo:, menor o igual a 20 ";

cin >> N;

for (i=0; i<N; i++){

cout << "Entre el elemento " << i << "del vector: ";cin >> dato;vector[i] = dato;suma = suma + vector[i];

}

promedio = suma / N;for (i=0; i<N; i++){

if (vector[i] <= promedio)cout << vector[i] << " es menor o igual que promedio " << " \n ";

elsecout << vector[i] << " es mayor que promedio " << " \n ";

}system ("PAUSE");

return 0;}

Page 16: Clase No 12 a Enviar (1)Algoritmoyprogramacion

7/21/2019 Clase No 12 a Enviar (1)Algoritmoyprogramacion

http://slidepdf.com/reader/full/clase-no-12-a-enviar-1algoritmoyprogramacion 16/17

Ejercicio 4: Elaborar un programa que entre N elementos; que calcule el promedio de estos y muestre todos

los elementos menores o iguales al promedio y luego todos los elementos superiores al promedio.

Asignatura: ALGORITMOS Y PROGRAMACION Tema: Arreglos 

#include <iostream>using namespace std;

int N, i, menores, mayores=0;float dato, promedio;float suma = 0;

int main (){

cout << "Entre el tamaño del arreglo: ";cin >> N;float vector[N];float vectorMenores[N];float vectorMayores[N];for (i=0; i<N; i++){

cout << "Entre el elemento " << i << "del vector: ";cin >> dato;vector[i] = dato;suma = suma + vector[i];

}promedio = suma / N;

Page 17: Clase No 12 a Enviar (1)Algoritmoyprogramacion

7/21/2019 Clase No 12 a Enviar (1)Algoritmoyprogramacion

http://slidepdf.com/reader/full/clase-no-12-a-enviar-1algoritmoyprogramacion 17/17

Asignatura: ALGORITMOS Y PROGRAMACION Tema: Arreglos 

promedio = suma / N;for (i=0; i<N; i++){

if (vector[i] <= promedio){

vectorMenores[menores] = vector[i];menores +=1;

}else{

vectorMayores[mayores] = vector[i];mayores +=1;

}}mayores = mayores - 1;menores = menores - 1;

// Imprimircout << "El vector de los menores es: " << "\n\n";

for (int k=0; k<=menores; k++){

cout << vectorMenores[k] << "\n";

}cout << "El vector de los mayores es: " << "\n\n";

for (int m=0; m<=mayores; m++){

cout << vectorMayores[m] << "\n";}

system ("PAUSE");return 0;

}