Estrellamos el menu (on = habilitado y off=inhabilitado[proximamente]) .. Sigue Mandando tus susper mensajitos....en guate-->. claro tigo telefonica

Buscar

¡Haga de esta pagina su inicial!

Sitios Encontrados

martes, 31 de marzo de 2009

Arreglo de cadenas

Hasta ahora hemos estudiado solo arreglos de enteros. Sin embargo, los arreglos pueden ser de cualquier tipo. Ahora explicaremos el almacenamiento de cadenas de caracteres en arreglos de caracteres. hasta ahora, la unica capacidad de procesamiento de cadenas que hemos presentado es la salidad de una cadena por medio de cout en C++ & Console.writeline() en C#. Una cadenacomo 'hola' es enrealidad un arreglo de caracteres porlo tanto podemos acceder a los distintos caracteres de la cadena directamente por la notacionde subindices.los arreglos tienen varias caracteristicas unicas.

El siguiente programa demuestra la incializacion de un arreglo de carcteres con una literal de cadena; la lectura de una cadena para dejarla en un arreglo de carcteres; la impresion de un erreglo de caracteres como cadena y el acceso a los caracteres individualesde una cadena, El siguiente programa se vale de una estructura for para recorrer pormedio de un ciclo el arreglo string1 e imprimirsus caracteres individuales separado por espacios.

para c++ seria asi: foto + grande

para c# seria asi: foto + grandeNota: C# es mucho mas versatil en el manejo de caracteres por que es posible hacer un barrido de los caracteres que componen el string utilizando la propiedad Length que poseen los arreglos y porque es posible acceder a estos tratando al string como un arreglo: sique este link para mas informacion.

viernes, 20 de marzo de 2009

Simulacion lanzamiento de dados

Sele solicita a usted como programador que simule 6000 lanzamientos de un dado.Observe que el dado solo tiene 6 lados y que debe aparecer un numero aproximado de 1000 veces..por supuesto como estamos en arreglos. debemos usar un arreglo.. este problema ya lo habiamos resuelto anteriomente(Aca)
Para C++ seria asi : foto + grande
Para C# seri asi: foto + grande Nota: Entiendo que un programador tiene intrinsicamente la necesidad de analisis so a ca les muestro un ejemplo de un problema solucionado de dos maneras distintas que hacen lo mismo . pero que tu debes evaluar.. su desempeño.. ja=++; hasta la,,, amixorp. a sem olvidada aca sustituimos un swich por un arreglo ...

jueves, 19 de marzo de 2009

Imprime histograma

Bueno continuando con el tema de arreglos en nuestro siguiente ejemplo lee los numeros de un arreglo y traza la infomacion en forma de grafico de barras o histograma; cada numero se imprime , seguido de una barra consistente en la misma cantidad de asteriscos. el ciclo for anidado de echo es el encargado de dibujar las barras.
para C++ seria asi: foto + grande
para C# seria asi: foto + grande hasta la proxima..jajajaa:)

sábado, 14 de marzo de 2009

Analiss de Encuesta

Consider el siguiente planteamiento de problema se pidio a 10 estudiantes que calificaran la calidad de la comida de la cafeteria estudiantil en una escala del 1 a 3(1 significa terrible y 3 excelente).ponga las 10 repuestas en un areglo de enteros y resuma el resultado de la encuesta. Deseamos resumir la cantidad de respuestas de cada tipo(es decir de 1 a 3). El arreglo(responses) es de 10 elementos con las respuestas de los estudiantes. Utilizamos un arreglo (frequency) de 4 elementos con valor de los elementos igual a 0, para contar la cantidad de casos de cada repuesta. Ignoramos el primer elemento, (frequency)[0], pues es mas logico que la respuesta 1 incremente (frequency)[1] que (frequency)[0].Esto nos permite utilizar directamente cada respuesta como subindice del areglo (frequency).
El primer ciclo "for" toma las respuestas, una ala vez, del arreglo(responses) e incrementa uno de los 3 contadores(frequency[1] a frequency [3]) del arreglo (frequency).La instruccion clave del ciclo es:

++frequency[responses[answare]];

Esta instruccion incrementa el contador (frequency) adecuado, dependiendo del valor de reponses[answare]. Por ejemplo, cuando el contador (answare) es 0, el valor de(responses[answares]) es 1,por lo que ++frequency[responses[answare]]; se interpreta como

++frequency[1];

lo que incrementa el elemento uno del arreglo. Cuando (answare) es 1; responses(answare) es 2, asi que ++frequency[responses[answare]]; se iterpreta como

++frequency[2];

con lo que se incrementa el elemento dos del arreglo, Cuando (answare) es 2, responses(answare)es 3, por lo tanto ++frequency[responses[answare]];se interpreta como

++frequency[6];

que incrementa el elemento tres del arreglo,etc. Observe que sin importar la cantidad de repuestas procesadas en la encuesta, solo se requiere un arreglo de 4 elementos(del que se ingnora el elemento cero) para resumir los resultados. Si en los datos hubiera valores invalidos, como 7, el programa intentaria sumar 1 a (frequency)[6]. Esto caeria fuera de los limites del arreglos.

para C++ y C# seria asi :foto + grande
Para ejemplo de como recorre el arreglo les dejo esta fotos de seguimineto del progama para que se den una idea de que sucede tras banbalinas para este caso esocogimos como lengueja C#...por su diciplina geranrquica relamente no difiere mucho de C++, pero debes notar que para C# el array es un objeto. hasta..la proxima.... foto + grande foto + grande

jueves, 12 de marzo de 2009

Sumar arreglos

Esta es una aplicacion tipica de los arreglos, en este se calcula la suma de los elementos del arreglo. Por su puesto estamos declarando una variable constante (ArraySize =12), luego llenamos los valores contenido para el arreglo, luego recorremos con un ciclo for para acumular en la variabel (total) las suma de los valores del arreglo luego los deplegamos ...simple pero necesario de comprender .
para C++ & C# seria asi :foto + grande

Constantantes

Bueno por que no habiamos hablado de constantes ahora es cuando, como seguramente su palabra lo dice una costante son valores que se conocen en tiempo de compilación y no cambian. Las variables contantes pueden ponerse en cualquier lugar donde se espere una expresion contante. El uso de varibles contantes para especificar tamaños de arreglos hace que los programas sean mas escalables. por ejemplo, la mencion repetida del tamaño 10 en el codigo de procesamiento de un arreglo de 10 elementos da a dicho numero un significado artificial que, desafortunadamente, puede confundir al lector cuando el programa contiene otros 10 que no tienen nada que ver con el tamaño del areglo.
para C++ y C# seria asi: foto + grande Nota : Lo importante de consolidar estos pequeños detalles nos asegura buen codigo mantenible y escalable ..hasta la proxima..

miércoles, 11 de marzo de 2009

Arreglos con constantes

El siguiente ejemplo incializa los elementos de un areglo "s" de diez elementos a los enteros 2,4,6...20 e imprime el arregloen fomato de tabla; estos numeros se generan multiplicando por 2 cada valor consecutivo del contador del ciclo y sumandole 2.si te das cuenta estamos utilizando el calificador const para de clarar una de las llamadas Varibles constantes, "arraySize" cuyovalor es 10. Las variables contantes deben incializarse con una expresion constante al momento que se declaran y no puedemodificarse despues. Estas tambien se llaman constantes nombradas o variables de solo lecutura.Note el termino "variable constante"es un oximoro , una contradiccion de terminos como "camaron gigante" o "quemadura x congelamiento...)bueno ustedes me entenderan...algo asi como armonizar dos conceptos opuestos en una sola expresión jajaja
para C++ & C# seria asi :foto + grande hasta la amixorp

Arreglo con incializacion

Siguiendo con los areglos debes notar que para este caso estamos dimensionando el arreglo de una dimension,en este ejemplo hacemos la incializacion de los elementos de un areglo por medio de una declaracion, si hubiera menos inicializadore que elementos en el arreglo, los elementos restantes se incializarian automaticamente a cero.
para C++ & C# seria asi :foto + grande

viernes, 6 de marzo de 2009

Arreglos o array

Un arreglo es un grupo consecutivo de localidades de memoria que tienen el mismo nombre y el mismo tipo.El siguiente programa utiliza una estuctura de repeticion for que incializa a cero los elementos de un arreglo de enteros "n" de diez elementos; luego imprime dicho arreglo en formato de tabla. La primera instruccion de salida despliega los encabezados de las columnas que se imprimira en la estructura for subsiguiente. Los elementos de un arreglo tambien pueden incializarse en la declaracion del arreglo siguiendo a la declaracion con un signo de igualdad y una lista de incializadores separadas por comas (encerradas entre corchetes). El siguiente programa incializa un areglo de enteros con diez valores y lo imprime en formato de tabla. Los arrays son una area en la que la similitud superficial en sintaxis entre C++ y C# esconde el hecho de que lo ocurre por detras del telon en ambos lenguajes es muy diferente. En C++, un array es esencialmente un conjunto de variables dispuestas secuencialmente en memoria y accesible mediante un puntero. Por otra parte , en C# un array es una intancia de la clase base System.Array , y es por lo tanto un objeto con todas las de ley, residente en memoria dinamica bajo el control del recolector de basura. C# utiliza una sintaxis similar a la de C++ para acceder a los metodos de esta clase. Creando la ilusion de que se esta trabajando con arrays al estilo de C++, pero la ventaja es que con los arrays de C# es mucho mas comodo trabajar. Por ejemplo, todos los arrays de C# disponen de una propiedad,Length, que indica la cantidad de elementos en el array, ahorrando al programador tener que almacenar este dato independientemente. arrays de C# son tambien mucho mas seguros...
para C++ seria asi : foto + grande para C# seria si: foto + grande

jueves, 5 de marzo de 2009

Torres de hanoi

Todos los estudiantes de ciencias de la computaciono pues o (ingenieria en sistema...s.jaja) deben lidiar ciertos problemas clasicos. El de las torres de hanoi (vea la figura) es uno de los mas famosos.
La leyenda es que, en un templo del lejano oriente, los monjes intentaron mover una pila de discos de una espiga a otra. La pila incial tiene 64 discos en una espiga, dispuesto de abajo arriba por tamaño mayor a menor. Los monjes intentan mover la pila de esta espiga a una segunda, teniendo como restricciones que se mueva un disco a la vez y que en ningun momento puede ponerse un disco mayor sobre uno menor. Hay una tercera espiga para colocar discos temporlmente.
Supuestamente el mundo terminara cuando los monjes terminen su tarea, por lo que tenemos pocos incentivos para yudarlos ..jajajajaa..&& +++,,, ..
Supongamos que los monjes intentan mover los discos de la espiga 1 al espiga 3.
Deseamos Desarollar un algoritmo que imprima la secuencia precisa de tranferencia de discos.
Si tuvieramos que abordar este problema segun los metodos convencionales, pronto estariamos atorados con el manejo de los discos.

En cambio, si lo atacamos teniendo en mente la recursion, pronto se vuelve mas manejable.

El movimiento de "n" discos puede verse en terminos del movimiento de solo "n - 1" discos(de ahi la recursion), como sigue:

A)- Mueva "n - 1" discos de la espiga 1 a la 2, empleando la 3 como area temporal para colocarlos.
B)- Mueva el ultimo disco(mayor) de la espiga 1 a la 3.
C)- Mueva "n - 1" discos de la espiga 2 a la 3,usando la 1 como area temporal para almacenarlos.

Este proceso terminaria cuando la ultima tarea comprende el movimiento de "n = 1" discos, es decir, el caso base.
Esto se logra simplemente moviendo el disco, sin necesidad del area temporal de almacenamiento.
Aca biene lo importante...jajaja Escriba un programa que resuelva el problema de las torres de hanoi, utilizando una funcion recursiva con cuatro parametros:

a)- Cantidad de discos amover.
b)- La espiga en la que se encuentra inicialmente.
c)- La espiga a la que habra que moverlos.
d)- La espiga que sera el area de almacenamiento temporal.

Su programa debera imprimir las instrucciones con las que se moveran los discos de la espiga origen a la destino. Por ejemplo, para mover una pila de tres discos de la espiga 1 a la 3, su programa debera imprimir la siguiente serie de movimientos:

1 -> 3(esto significa mover un disco de la espiga 1 a la 3)
1 -> 2
3 -> 2
1 -> 3
2 -> 1
2 -> 3
1 -> 3
para C ++ seria asi: foto + grande
para C# seri asi:foto + grande
Nota: lo importante es que entiendas las funciones

lunes, 2 de marzo de 2009

Funcion cuadrado

Escriba una funcion que presente en el margen izquierdo de la pantalla un cuadrado de asteriscos cuyo fila este especificado en el parametro entero fila. por ejemplo fila es 4; la funcion presentara :
****
****
****
****
luego modifique la funcion anterior .para forma el cuadro con el carcater contenido en el parametro de caracter caracterllena. por lo tanto , si fila es 5 y caracterllena"#", etonces la funcion imprimira :
#####
#####
#####
#####
#####
para C++ && C# seria asi:
foto + grande