arreglos-y-funciones-adriana maribel marin guerrero.docx

19
INSTITUTO TECNOLOGICO DE ESTUDIOS SUPERIORES DE LA REGION CARBONIFERA DR. ROGELIO MONTEMAYOR SEGUY INGENIERÍA INDUSTRIAL 4.1 D CATEDRATICO: Juan José “Arreglos y Funciones” Alumno: Adriana Maribel Marín Guerrero

Upload: mario-meza

Post on 11-Jan-2016

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Arreglos-y-Funciones-Adriana Maribel Marin Guerrero.docx

INSTITUTO TECNOLOGICO DE ESTUDIOS SUPERIORES DE LA

REGION CARBONIFERA

DR. ROGELIO MONTEMAYOR SEGUY

INGENIERÍA INDUSTRIAL 4.1 D

CATEDRATICO: Juan José

“Arreglos y Funciones”

Alumno:

Adriana Maribel Marín Guerrero

VILLA DE AGUJITA MAYO 2015

Page 2: Arreglos-y-Funciones-Adriana Maribel Marin Guerrero.docx

Algoritmos y lenguajes de programación: Arreglos y funciones

Introducción

La programación informática, acortada como programación, es el proceso de

diseñar, codificar, depurar y mantener el código fuente de programas

computacionales. El código fuente es escrito en un lenguaje de programación. El

propósito de la programación es crear programas que exhiban un comportamiento

deseado. El proceso de escribir código requiere frecuentemente conocimientos en

varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos

especializados y lógica formal. Programar no involucra necesariamente otras

tareas tales como el análisis y diseño de la aplicación (pero sí el diseño del

código), aunque sí suelen estar fusionadas en el desarrollo de pequeñas

aplicaciones.

Marco teórico

Un lenguaje de programación es un idioma artificial diseñado para expresar

procesos que pueden ser llevados a cabo por máquinas como las computadoras.

Pueden usarse para crear programas que controlen el comportamiento físico y

lógico de una máquina, para expresar algoritmos con precisión, o como modo de

comunicación humana.

Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que

definen su estructura y el significado de sus elementos y expresiones. Al proceso

por el cual se escribe, se prueba, se depura, se compila y se mantiene el código

fuente de un programa informático se le llama programación.

También la palabra programación se define como el proceso de creación de un

programa de computadora, mediante la aplicación de procedimientos lógicos, a

través de los siguientes pasos:

El desarrollo lógico del programa para resolver un problema en particular.

Escritura de la lógica del programa empleando un lenguaje de programación

Page 3: Arreglos-y-Funciones-Adriana Maribel Marin Guerrero.docx

específico (codificación del programa). Ensamblaje o compilación del programa

hasta convertirlo en lenguaje de máquina. Prueba y depuración del programa.

Desarrollo de la documentación.

Desarrollo

Arreglos

¿Qué es un arreglo?

Un arreglo es una estructura de datos, o más técnicamente, un espacio de

memoria que permite almacenar una colección de elementos, todos del mismo

tipo. Conviene imaginar un arreglo como una secuencia contigua de celdas

(espacios de memoria), o casillas, en cada una de las cuales se puede guardar un

elemento de la colección.

Los arreglos se caracterizan por:

Almacenan los elementos en posiciones contiguas de memoria

 Tienen un mismo nombre de variable que representa a todos los elementos. Para  la referencia a esos elementos es necesario utilizar un índice que especifica el lugar que ocupa cada elemento dentro del archivo.

Los lenguajes de programación, permiten que el programador declare arreglos de

cualquier tipo y prácticamente de cualquier tamaño. En el seudolenguaje, un

arreglo se declara usando el siguiente formato o plantilla: : arreglo [] de En este

formato aparecen en mayúsculas y entre los caracteres < y > los componentes

que el programador debe determinar. Así por ejemplo, si se quiere declarar un

arreglo con nombre letras, de dimensión 15 y que pueda almacenar datos de tipo

carácter, se debe escribir la siguiente línea. Letras: arreglo [15] de carácter

Volviendo al formato anterior, el programador debe bautizar el arreglo (ponerle un

nombre significativo), debe decir cuál es su dimensión, y también debe decir de

qué tipo son los elementos que almacenará ese arreglo.

Page 4: Arreglos-y-Funciones-Adriana Maribel Marin Guerrero.docx

Enseguida se dan algunos ejemplos de declaraciones de arreglos.

• Si se necesita guardar las ventas diarias de una tienda durante la última

semana, se puede declarar el siguiente arreglo:

Ventas: arreglo [7] de real

• Si se quiere guardar las notas que ha sacado un estudiante en los cinco talleres

y en los cinco laboratorios del curso de Programación de Computadores se

pueden declarar los siguientes arreglos:

Talleres: arreglo [5] de real

Laboratorios: arreglo [5] de real

• Si se quiere guardar el valor de las últimas 12 facturas telefónicas de una casa,

se puede declarar el siguiente arreglo:

FacturasTel: arreglo [12] de real

Los índices se crearon para permitir que el programador se pueda referir, de forma

específica, a una cualquiera de las casillas del arreglo, tanto para guardar un dato

en esa casilla, como para obtener el dato guardado.

Tipos de arreglos

Básicamente en programación los tipos de arreglos son:

1.Arreglos unidimensionales

2.Arreglos bidimensionales

3.Arreglos multidimensionales

Page 5: Arreglos-y-Funciones-Adriana Maribel Marin Guerrero.docx

1) Un arreglo unidimensional es un tipo de datos estructurado que está formado de

una colección finita y ordenada de datos del mismo tipo. Es la estructura natural

para modelar listas de elementos iguales.

2) El arreglo bidimensional, al igual que el anterior, es un tipo de dato

estructurado, finito ordenado y homogéneo. El acceso a ellos también es en forma

directa por medio de un par de índices.

Los arreglos bidimensionales se usan para representar datos que pueden verse

como una tabla con filas y columnas.

3) El arreglo multidimensional, también es un tipo de dato estructurado, que está

compuesto por n dimensiones. Para hacer referencia a cada componente del

arreglo es necesario utilizar n índice, uno para cada dimensión.

Operaciones con arreglos

Las operaciones en arreglos pueden clasificarse de la siguiente forma:

Lectura: este proceso consiste en leer un dato de un arreglo y asignar un

valor a cada uno de sus componentes

Escritura: Consiste en asignarle un valor a cada elemento del arreglo.

Asignación: No es posible asignar directamente un valor a todo el arreglo

Actualización: Dentro de esta operación se encuentran las operaciones de

eliminar, insertar y modificar datos. Para realizar este tipo de operaciones

se debe tomar en cuenta si el arreglo está o no ordenado.

Ordenación.

Búsqueda.

Insertar.

Borrar.

Modificar.

Page 6: Arreglos-y-Funciones-Adriana Maribel Marin Guerrero.docx

Para manejar un arreglo, las operaciones a efectuarse son:

Declaración del arreglo, Creación del arreglo, Inicialización de de los elementos del arreglo, y Acceso a los elementos del arreglo.

A continuación describiremos cada una de estas operaciones, en C#.

Declaración.

La declaración de un arreglo unidimensional consiste en establecer las características del arreglo y sus elementos, por medio de la siguiente sintaxis:

<tipo> [ ] < identificador > ;

Donde:

tipo indica el tipo correspondiente a los elementos del arreglo ,

identificador es el nombre del arreglo, y el par de corchetes, [ ], representa la dimensión del arreglo y encierra un número entero que corresponde al número de elementos del arreglo.

Ejemplos:

int [ ] a ;

float [ ] distancia ;

Artículo [ ] art = new Artículo[ 3];

Observe que, en la declaración, el espacio entre los corchetes está vacío. Esto se debe a que, durante dicha operación, no se reserva espacio en la memoria.

Creación.

La creación de un arreglo unidimensional consiste en reservar espacio de memoria para todos sus elementos, utilizando la siguiente sintaxis:

< identificador > = new <tipo> [ tamaño ] ;

Donde:

new es el operador para gestionar espacio de memoria, en tiempo de ejecución, tamaño es un número entero que representa el número de elementos del arreglo.

Page 7: Arreglos-y-Funciones-Adriana Maribel Marin Guerrero.docx

Ejemplos:

a = new int [10] ; // Se crea el arreglo a , con 10 elementos de tipo entero.

distancia = new float[ 5] ; // Se crea el arreglo distancia , con 5 elementos de punto flotante y precisión sencilla .Artículo [] art = new Artículo[3];

Artículo [ ] art = new Artículo[ 3]; // Se crean 3 referencias a objetos de la clase Artículo

art[0]= new Artículo(); // Se crea el primer objeto del arreglo art

art[1]= new Artículo(); // Se crea el segundo objeto del arreglo art

art[2]= new Artículo(); // Se crea el tercer objeto del arreglo art

Las dos primeras operaciones de declaración y creación anteriores se pueden agrupar en una sola instrucción, como se muestra enseguida:

int [ ] a = new int [10] ;

float [ ] distancia = new float[5] ;

Inicialización.

Un arreglo es un objeto que, cuando es creado por el compilador, se le asignan automáticamente valores iniciales predeterminados a cada uno de sus elementos, de acuerdo a los siguientes criterios:

Si el tipo del arreglo es numérico, a sus elementos se les asigna el valor cero.

Si el tipo del arreglo es char, a sus elementos se les asigna el valor '\u0000'.

Si el tipo del arreglo es bool, a sus elementos se les asigna el valor false. Si el tipo del arreglo es una clase, a sus elementos se les asigna el

valor null.

Cuando se requiere asignar valores iniciales diferentes de los predeterminados, es posible agrupar las operaciones de declaración, creación e inicialización en una sola instrucción, por ejemplo:

int [ ] a = { 1, 0,4,-6, 2,9, 23,455, 90,35 };

float [ ] distancia = { 2.50F, 286.45F, 46.75F, 30.62F, 93.00F };

string [ ] pato = { "Hugo", "Paco", "Luís" };

Page 8: Arreglos-y-Funciones-Adriana Maribel Marin Guerrero.docx

Acceso.

Se puede acceder a los valores de los elementos de un arreglo a través del nombre del arreglo y un subíndice. El subíndice debe escribirse entre corchetes y representa la posición del elemento en el arreglo. Así, podemos referirnos a un elemento del arreglo escribiendo el nombre del arreglo y el subíndice del elemento entre corchetes. Los valores de los subíndices empiezan en cero para el primer elemento, hasta el tamaño del arreglo menos uno.

Ejemplo:

float [ ] distancia = new float[5] ; // Crea el arreglo distancia con 5 elementos. 

float x = 25F, y = 10F ; // Crea dos variables de punto flotante y precisión sencilla. 

distancia[0] = x + y ; // El valor asignado al primer elemento es 35. 

distancia[1] = ++distancia[0] ; // Asigna 36 al segundo elemento. 

distancia[2] = distancia[1] - distancia[0] + 4 ; // Asigna 5 al tercer elemento. 

distancia[3] = distancia[2]-- ; // Asigna 5 al cuarto elemento // y disminuye en 1 el valor del tercero.

distancia[4] = distancia[3] * distancia[2] ; // Asigna 20 al quinto elemento. 

y = distancia[4] ; // Asigna a y el valor almacenado en el quinto elemento.

Ejemplos de arreglos

Al trabajar cada noche arreglos hacemos referencia a cada posición del arreglo a

través de su número de índice, el cual comienza a partir del cero, de tal forma que

para almacenar el número 10 en la posición 6 de un arreglo escribiríamos:

x[5]=10;

Parra llenar todos los elementos del arreglo es común emplear un ciclo que nos

permita recorrer el arreglo desde la primera hasta la última posición, tal y como

podemos ver en el siguiente ejemplo:

Page 9: Arreglos-y-Funciones-Adriana Maribel Marin Guerrero.docx

En este ejemplo hemos declarado un arreglo de tipo entero de 10 posiciones

llamado x, observe que en el ciclo que empleamos para llenar el arreglo el

contador “i” va del 0 al 9, esto es porque las posiciones de los arreglos en C++ se

comienzan a numerar a partir del cero.

Después, podemos observar dos líneas en donde presentamos de forma directa el

primer elemento del arreglo y el último elemento del arreglo.

Para terminar el ejemplo podemos ver un ciclo for en el que usamos printf para

presentar todos los elementos del arreglo, como se puede observar cualquier

operación sobre el arreglo completo o sobre una sección de este, deberá hacerse

a través de un ciclo for.

Page 10: Arreglos-y-Funciones-Adriana Maribel Marin Guerrero.docx

Funciones

¿Qué es una función?

En programación, una función es un grupo de instrucciones con un objetivo en

particular y que se ejecuta al ser llamada desde otra función o procedimiento. Una

función puede llamarse múltiples veces e incluso llamarse a sí misma (función

recurrente). Las funciones pueden recibir datos desde afuera al ser llamadas a

través de los parámetros y deben entregar un resultado. Se diferencian de los

procedimientos porque estos no devuelven un resultado. En general las funciones

deben tener un nombre único en el ámbito para poder ser llamadas, un tipo de

dato de resultado, una lista de parámetros de entrada y su código.

Las funciones tienen tres componentes importantes:

LOS PARÁMETROS

Estos son los valores que recibe la función como entrada.

EL CÓDIGO DE LA FUNCIÓN

Son las operaciones o instrucciones que realizara nuestra función.

EL VALOR DE RETORNO (RESULTADO)

Es el valor final que retornara nuestra función.

Cuando ya definimos nuestra función una de las ventajas que se obtiene es que

puede ser utilizada todas las veces que deseemos que se ejecute. A esto se le

conoce como llamar la función para obtener nuestros valores.

Page 11: Arreglos-y-Funciones-Adriana Maribel Marin Guerrero.docx

Las variables que son declaradas en una función se llaman variables locales

Ellas solo existen mientras la función es llamada o ejecutada, cuando

nuestra función retorna el valor que queremos estas variables dejan de existir, y

no las podemos utilizar con el resto de nuestro programa.

Las variables que son declaradas desde el principio de nuestro programa se

llaman variables locales ya que pueden ser utilizadas en cualquier parte del

programa, incluso dentro de una función.

Al ocupar las funciones también debemos de realizar un procedimiento que realiza

varias sentencias de manera independiente al resto del programa. El

procedimiento no entrega ningún valor como resultado. Es útil para agrupar

sentencias que deben ser realizadas juntas.

Tipos de funciones

Page 12: Arreglos-y-Funciones-Adriana Maribel Marin Guerrero.docx

Funciones void

Bajo ciertas circunstancias se deseará escribir funciones que no regresen valor

alguno (esto sería algo parecido a escribir procedures en Pascal) y para ello

podemos declarar a la función como void. La palabra reservada void es utilizada

para declarar funciones sin valor de retorno y también para indicar que una función

específica no requiere de parámetros. Por ejemplo, la función pausa() que se verá

en seguida, no devolverá valor alguno y la misma no requiere de parámetros.

Funciones anidadas

A diferencia de Pascal, el lenguaje C, C++ no permite anidar funciones, sin

embargo, dentro de una funcíon puede existir la llamada a una o más funciones

declaradas previamente.

Funciones de tipo puntero (*)

En muchas ocasiones se desea que ciertas funciones regresen una referencia o

puntero hacia un tipo (sea este estructurado o no) específico de dato en lugar de

un valor específico. En tales casos, la función se deberá declarar como para que

regrese un puntero. Por ejemplo, supongamos que deseamos crear una función

para convertir un número entero en notación decimal a una cadena de caracteres

en forma de números binarios, luego, la función mencionada podría escribirse para

que reciba el número entero como parámetro y regrese un puntero a una cadena

de caracteres conteniendo la conversión. Para ser más puntuales, vamos a

escribir un programa en donde se verá la función binstr (), y cuyo objetivo será

precisamente convertir números decimales en cadenas binarias.

Ejemplos de funciones

En la programación ya existen funciones estándar como son las siguientes.

Page 13: Arreglos-y-Funciones-Adriana Maribel Marin Guerrero.docx

Ejemplo de una función

Para comenzar, vamos a considerar el caso en el cual se desea crear la función

cuadrado (), que deberá devolver el cuadrado de un número real (de punto

flotante), es decir, cuadrado () aceptará números de punto flotante y regresará una

respuesta como número flotante.

Nota: aunque para la función que veremos el tipo de retorno coincide con el tipo

de parámetro pasado, algunas veces las cosas pueden cambiar, es decir, no es

obligatorio que una función reciba un parámetro de un tipo y que tenga que

regresar una respuesta de dicho tipo.

// regresar el cuadrado de un númerodouble Cuadrado(double n){ return n*n;}

Ejemplo de función C++: función que sume dos números enteros

//Función C++ para sumar dos númerosint suma(int a, int b){

int c;c = a + b;return c;

}

El siguiente programa lee por teclado un año y calcula y muestra si es bisiesto.

Para realizar el cálculo utiliza una función llamada bisiesto.

Page 14: Arreglos-y-Funciones-Adriana Maribel Marin Guerrero.docx

La función bisiesto recibe el año leído por teclado, comprueba si es o no bisiesto y

devuelve 1 si lo es ó 0 si no lo es.

// Programa que lee un año y muestra si es o no bisiesto#include <iostream>using namespace std;int bisiesto(int);   //declaración o prototipo de la funciónint main(){   int anio;   cout<<"Introduce a"<<(char)164<<"o: "; //164 ascii de ñ   cin >> anio;   if(bisiesto(anio))  //llamada a la función      cout << "Bisiesto" << endl;   else      cout << "No es bisiesto" << endl;   system("pause"); }int bisiesto(int a)   //definición de la función    {    if(a%4==0 and a%100!=0 or a%400==0)        return 1;    else        return 0;}

Conclusiones

Los arreglos y funciones son herramientas que el programador puede utilizar para

su beneficio, ya que estas facilitan a la resolución de problemas y la realización de

actividades, así como la toma de datos sin tanto trabajo.