Translate

martes, 9 de diciembre de 2014

Introducción a los Arreglos.


Arreglos:

Un arreglo o array es una colección o conjunto de variables relacionadas entre sí, por el hecho de que todas tienen el mismo nombre y son del mismo tipo.

Un arreglo es una variable capaz de guardar uno o más valores del mismo tipo.  Un arreglo consta de posiciones de memoria de las cuales guardaremos o leeremos información.

Resulta mucho más eficiente trabajar con arreglos ya que si se necesita trabajar con muchas variables nuestro código funcionara pero no será eficiente como lo sería con arreglos ya que en una manera más sintetizada los arreglos son un conjunto de datos del mismo tipo almacenados en un espacio de memoria, y resulta mucho más eficiente ya que podemos simplemente con una variable almacenar n datos.



Ejemplo:

array: VentaSemanal
 
+------+
| dato | <-- componente 0, ( fila 0 )
|------|
| dato | <-- componente 1, ( fila 1 )
|------|
| dato | ...
|------|
| dato | ...
|------|
| dato | ...
|------|
| dato | ...
|------|
| dato | <-- componente 6, ( fila 6 )
|------|








Sintaxis:


tipo identificador [tamaño]   = { lista de inicialización }  ;


donde,
·         tipo se refiere al tipo de datos que contendrá el array. El tipo puede ser cualquiera de los tipos estándar (char, int, float, etc.) o un tipo definido por el usuario. Es más, el tipo del array puede ser de una estructura creada con: struct, union y class.
·         identificador se refiere al nombre que le daremos al array.
·         tamaño es opcional e indica el número de elementos que contendrá el array. Si un array se declara sin tamaño, el mismo no podrá contener elemento alguno a menos que en la declaración se emplee una lista de inicialización.
·         lista de inicialización es opcional y se usa para establecer valores para cada uno de los componentes del array. Si el array es declarado con un tamaño específico, el número de valores inicializados no podrá ser mayor a dicho tamaño.
Ejemplos:
int intA[5];
long longA[5] = { 1, 2, 3, 4, 5 };

char charA[3] = { 'a', 'b', 'c' };





Los arreglos que veremos por el momento serán unidimensionales en otras palabras solo una fila de datos, ya que mas adelante podremos ver arreglos bidimensionales o matrices.

Utilizaciones:




El programa pide al usuario ingresar elementos para el vector A, que posteriomente serán mostrados en pantalla mediante un ciclo for notese que es muy importante la utilización de ciclos for en arreglos ya que básicamente son gracias a ellos que nosotros podemos procesar, leer y  guardar información.


Vídeo de introducción a los arreglos:




Referencias bibliográficas:

         Wikilibrosl. (2014). “Arreglos en C”. Recuperado el 10 de diciembre de 2014 de http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C%2B%2B/Arrays_y_cadenas_de_texto

sábado, 6 de diciembre de 2014

Ejercicio Resuelto de Arreglos Fundamentos de la Programación piensa en C.


Escribe un programa en C que, al recibir como dato un arreglo unidimensional de tipo entero de N elementos, determine si el arreglo es palíndromo.

Análisis del problema: Necesitamos un programa que nos ayude conocer si el arreglo ingresado es palíndromo, en otras palabras si este arreglo se lee de igual forma de izquierda a derecha que de derecha a izquierda quiere decir la misma información contenida leyendo en ambos sentidos.

Datos de entrada: Un arreglo unidimensional de n elementos.

Datos de salida: El arreglo unidimensional con un mensaje que nos dirá si es palíndromo o no.

Datos adicionales: Ninguno.

Proceso:
El usuario introduce el número del arreglo, y este se evalúa de acuerdo a la condición de no exceder el rango determinado. El proceso de ingreso de los elementos se lo logra con un ciclo for, que mediante el podemos inicializarlo en cero y con la condición que sea menor al número de elementos ingresados y su respectivo incremento.
Una vez ingresado evaluamos la primera posición con la última, ya que si es palíndromo sus elementos deben ser iguales siendo el primero con el último, el segundo con el penúltimo y así respectivamente.
Para esto usamos dos variables en un ciclo for inicializadas la primera en cero y la otra en n-1 (ya que hablamos de posición y no de tamaño), la condición seria de que sea la posición cero igual a la de n-1, y el respectivo aumento en ambas variables. Si cumplen con estas condiciones se asignó una variable bandera en la que le asignamos un valor, en caso de no cumplir con estas condición, simplemente la variable quedara vacía.
Al finalizar el ciclo for realizamos una condición en la que establecemos que si la variable es el valor que ingresamos en la condición de esta manera la bandera nos desplegara el mensaje de “es palíndromo” junto con nuestro vector, caso contrario la variable será nula y nos desplegara un mensaje de  “no es palíndromo” y nuestro vector.



Diagrama de flujo:



 Código Fuente:


//Algoritmo: Palindromo
//Nombre:David Ponce
//Fecha: 04/12/2014
/* Descripcion: El usuario introduce el número del arreglo, y este se evalúa de acuerdo a la condición de no exceder el rango determinado. El proceso de ingreso 
de los elementos se lo logra con un ciclo for, que mediante el podemos inicializarlo en cero y con la condición que sea menor al número de elementos ingresados y
 su respectivo incremento.
Una vez ingresado evaluamos la primera posición con la última, ya que si es palíndromo sus elementos deben ser iguales siendo el primero con el último, el segundo
 con el penúltimo y así respectivamente.
Para esto usamos dos variables en un ciclo for inicializadas la primera en cero y la otra en n-1 (ya que hablamos de posición y no de tamaño), la condición seria 
de que sea la posición cero igual a la de n-1, y el respectivo aumento en ambas variables. Si cumplen con estas condiciones se asignó una variable bandera en la 
que le asignamos un valor, en caso de no cumplir con estas condición, simplemente la variable quedara vacía.
Al finalizar el ciclo for realizamos una condición en la que establecemos que si la variable es el valor que ingresamos en la condición de esta manera la bandera 
nos desplegara el mensaje de "es palíndromo" junto con nuestro vector, caso contrario la variable será nula y nos desplegara un mensaje de  "no es palíndromo" y 
nuestro vector.*/

#include <stdio.h>
#define MAX 100

main()

{
int a[MAX];
int i, j=0, k, b, n;

printf("Ingrese el tamano del arreglo: ");
scanf("%d", &n);


printf("\n");
printf("\n"); 


for (i=0;i<n;i++)
{
printf("Ingrese el elemento de A en la posicion %d: ", i);
scanf("%d", &a[i]);
}


printf("\nLos valores de A son: \n  ");
printf("\n");


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

printf("\t%d", a[i]);

}


printf("\n");
printf("\n");

k=n-1;


for(j,k;a[j]==a[k];j++,k++)
{
b=1;
}

if (b==1)
{
printf(" Por lo tanto el vector A es pailindrome");
}

else
{
printf(" Por lo tanto el vector A NO es pailindrome");
}


}



Ejecutable:








martes, 2 de diciembre de 2014

Sentencia Repetitivas Introduccion al Lazo for.

El ciclo For es una de las instrucciones más sencillas de aprender, y consiste en utilizar mayormente “rangos” en los cuales se define el número de iteraciones que se pueden hacer en este ciclo.




El lazo es una sentencia repetitiva, típicamente usada para arreglos, ciclos y ciclos inditos.
El lazo for funciona exactamente igual al lazo while, pero este es mucho más compacto y es más recomendado usarlo para este tipo de utilidades.
La sintaxis del lazo for es la siguiente:
Int i;
Declaración y sintaxis

1
for(inicio;mientras;incremento)
2
{

3
 //CODIGO A EJECUTAR
4
}



Donde el inicio es la declaración de una variable que funciona como un “contador” mientras ejecutamos el ciclo. Continuamente el “mientras” especifica los valores o el rango de valores que puede tomar el contador de “inicio” y el “incremento” especifico cuanto se va a incrementar el contador con cada iteración, lo que indicaría que eventualmente el contador saldría de su posible rango de valores y terminaría el ciclo.
En algunos textos lo toman como un diagrama de decisión con una línea en su esquina dentro de la figura de diamante.





Ejemplo:
Imprimir un contador con decremento de 0 a -9

1
for(int x=0;x<10;x++)
2
    {

3
        printf("El contador X vale: %d\n",x);
4
    }


En donde se inicializa la variable x en cero seguido por la condición de x menor que 10 y el incremento de x,  entonces el ciclo empezaría primero con la inicialización, después la se evaluaría la condición y entraría al ciclo en donde se imprimirá x, y después x aumentara y regresara al ciclo for hasta que el aumento no cumpla con  la condición dispuesta, entonces el ciclo for estaría terminado.  


Video Turorial de utilizacion de ciclo for:




REFERENCIAS BIBLIOGRAFICAS:

codigoprogramacion. (2013). "Ciclo For".Recuperado el 02 de diciembre de 2014 de http://codigoprogramacion.com/cursos/tutoriales-c/ciclo-for-en-c-y-ejemplos.html#.VH_RcfnF_-s