martes, 25 de noviembre de 2014


ESTRUCTURAS CÍCLICAS 
Son problemas repetitivos o  aquellos en cuya solución es necesario utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad específica de veces Esta cantidad puede ser fija  o puede ser variable.
La Estructura Cíclica debe cumplir con tres elementos al momento del diseño y la implementación que son obligatorios y hacen parte del esquema a cumplir.
1.      Inicio
2.      Fin
3.      Incremento o contador
Con el siguiente ejemplo, entraremos en el detalle de la estructura, con el fin de entenderla fácilmente:
Realizamos una vaca (Recolecta de Dinero), para comprar realizar una compra “cualquier cosa”, en la vaca hay 6 integrantes y cada uno aporta un determinado valor, para comenzar con el ciclo, le pregunta a la primera persona cuánto va a aportar a la vaca, posteriormente suma lo que tenía que era Cero (0) más lo que recogió con la primera persona, y este proceso lo sigue realizando hasta llegar a la sexta (ultima) persona,  seguidamente se suma lo que ha recolectado de las cinco anteriores personas más lo aportó la sexta persona; cómo ve que ya no hay a quien más preguntarle, entonces puede realizar un informe a los integrantes de la vaca sobre cuánto dinero se recogió en total entre las 6 personas.
Esta es la estructura para el ejercicio anterior, con el ciclo “Mientras”
(Do-While).Así se visualiza la estructura en PSeInt
De esta forma se ve el proceso en PSeInt:

Esta es la estructura para el ejercicio anterior, con el ciclo “Para” (for)
·         Variable de control: prácticamente un mandato impuesto por el uso habitual es utilizar la letra i Iterador como variable de control.
·         Inicialización de la variable de control: en pseudolenguaje se pide explicitarlo (es la sección := ValorInicial).
·         Condición de control(Hasta): en pseudolenguaje se ve representado por el valor final que puede tomar la variable de control (la sección A ValorFinal).
·         Incremento: en pseudolenguaje se toma por defecto el valor 1, aunque puede explicitarse por medio de la sentencia PASO = ValorPaso cualquier número entero.
·         Cuerpo(hacer): es lo que se hará en cada iteración, pueden ser una o más instrucciones.
Así se visualiza la estructura en PSeInt
De esta forma se ve el proceso en PSeInt:

A continuación se realizarán algunos ejercicios para practicar teniendo en cuenta las estructuras anteriores:
Ejercicio 1: Realizar un ejercicio que reciba 5 notas y como resultado del promedio final

 Ejercicio 2: Un programa que imprima la tabla del 3
Ejercicio 3: Un programa que imprima la tabla del 2
Ejercicio 4: Como tarea… Un programa que de 5 letras imprima cuantas son vocales

miércoles, 12 de noviembre de 2014

programa de arreglo

#include <iostream> 
using namespace std; 
int main() { 
const int TOTAL = 5;
int limitePasajeros, vagones[TOTAL], total = 0; 
cout<<"Cuanto es el maximo de pasajeros por vagon?: "; 
cin>>limitePasajeros; 
cout<<endl; 
for(int i = 0; i < TOTAL; i++){ 
cout<<"Cuantos pasajeros hay en el "<<i+1<<" vagon?: "; 
cin>>vagones[i]; 

cout<<"\nVAGONES CON SOBRECUPO\n"; 
for(int i = 0; i < TOTAL; i++){ 
if(vagones[i] > limitePasajeros){ 
cout<<"Vagon: "<<i + 1; 
cout<<"\tPasajeros: "<<vagones[i]<<endl; 
total++; 

}
cout<<"\nTotal: "<<total; 
cin.get(); 
return 0; 
}

arreglos y apuntadores

¿QUÉ ES UN ARREGLO?
 Un arreglo es un conjunto de variables que son del mismo tipo de datos. A cada parte de un arreglo se le denomina “elemento”. Los cuales se hacen referencia con el mismo nombre y se almacenan en posiciones consecutivas.

DECLARACIÓN DE ARREGLOS

  • Tipo_datos nombre[tamaño]
  •  Donde [ ] – operador de subíndices del arreglo.
  •  Ejemplo
  •  Float arreglo[500]
 Nota: en C el arreglo se debe declarar en forma explícita antes de utilizarlo como cualquier variable.

INDEXACIÓN DE ARREGLOS
Para poder hacer referencia a los elementos del arreglo se utilizan los índice los cuales comienzan desde cero.
 Ejemplo
 Días de la semana
 Arreglo
 char Día[6] entonces

 Día[0], Día[1],…Día[6]

INICIALIZACIÓN DE ARREGLOS

  • Elemento por elemento
  •  Día[0] =„L‟;
  •  Todos los elementos al mismo tiempo
  •  Float arreglo[3]={.0123, 3.1416,.000236}


 Ejercicio : escribe un programa que inicialice una arreglo (tipo entero, usando for)

TAMAÑO DEL ARREGLO
Para calcular el número total de bytes de un arreglo es:
Total_bytes=sizeof(tipo_datos)*Tamaño(# elementos)

Ejemplo:
int a[10]
Tamaño del tipo entero = 2 bytes
Total_bytes=20
Dirección a[0] =0x1806
Dirección a[9]= 0x1818
La distancia entre el primer y el último elemento
es:
0x1818- 0x1806+2=20 bytes
Agrega estó último al programa anterior


ARREGLOS Y APUNTADORES
En c los arreglos y apuntadores tienen una relación estrecha.
Se puede hacer que un apuntador haga referencia al primer elemento de un arreglo de la siguiente forma:
int *p;
Int A[10];
p=A; Nota: es como si apuntara a todo el A
La dirección de inicio del arreglo
El valor del primer elemento
La dirección, contenido y valor del apuntador (1er elemento)
Escribe un programa que muestre esto.


CÓMO DESSPLEGAR UNA CADENA DECARACTERES
Una cadena de caracteres se define en C como una secuencia continua de caracteres que termina con el caracter nulo („\0‟). Programa Despliege un arreglo de caracteres en 3 formatos:
 1. imprimiendo elemento por elemento considerando el fin del arreglo como el caracternulo („\0‟).
 2. imprimiendo en la misma línea
 3. imprimiendo como cadena (%s) ACERCA DE LA FUNCIÓN PRINTF()
 Está función tiene incluido el comando que indica que siga imprimiendo los datos de la cadena (%s) hasta que encuentre el caracter nulo.
 Esto se comprobo en el primer formato de
impresión o despliegue en pantalla del programa
anterior.EL CARÁCTER NULO („\0‟)
 Este es un carácter especial que indica el fin de la
cadena y para esta unida el último elemento del
arreglo.
 El carácter nulo se evalua con un valor de cero,
así que se puede usar para una prueba lógica en
una instrucción de control de flujo.
 Programa
 Define un arreglo de caracteres donde el últimoelemento es el carácter nulo y usa este valor paraevaluar el for es decir:
for(i=0;a[i];i++)
ARREGLOS MULTIDIMENSIONALES
 Hasta ahora solo hemos vistos arreglos de una sola dimensión la cual esta dada por el número de corchetes ,[ ].
Sintaxis:
Tipo_dato nombre[tamaño-arreglo1] [tamaño-arreglo2]… [tamaño-arregloN]
Ejemplo
int a[2][3]={1,2,3,4,5,6}
int a[2][3]={{1,2,3},{4,5,6}}
Programa; un arreglo bidimensional con dos ciclos anidados donde en el ciclo externo imprima una nueva línea.
ARREGLOS SIN ESPECIFICACIÓN DETAMAÑO
 Ejemplo
 int a[ ]={1,2,3,4,5,6, ….,100}
 Otro ejemplo
 int a[ ][2]={1,2,
 3,4
 ,5,6}
 Programa
 Dos ejemplos sin especificar el tamaño como vimos, y imprime el tamaño del los arreglos.