En Clase de Solución de problemas con programación aprendemos a usar C++ nosotros mismos llendo a nuestro paso y aprendiendo muy bien, por otro lado el profesor nos explica cuando se lo pedimos no perdiendo el tiempo con horas de clases con cosas que ya sabemos, solo preguntamos lo que no sabemos.
este sistema de estudio no tiene defectos, el unico inconveniente es que como te dan tantas libertades puedes dejar todo al ultimo momento, para "Sobrevivir" la clase de Ken Bauer solo se necesita estar interesado y organizarte bien.
Continue reading ]]>En Clase de Solución de problemas con programación aprendemos a usar C++ nosotros mismos llendo a nuestro paso y aprendiendo muy bien, por otro lado el profesor nos explica cuando se lo pedimos no perdiendo el tiempo con horas de clases con cosas que ya sabemos, solo preguntamos lo que no sabemos.
este sistema de estudio no tiene defectos, el unico inconveniente es que como te dan tantas libertades puedes dejar todo al ultimo momento, para “Sobrevivir” la clase de Ken Bauer solo se necesita estar interesado y organizarte bien.
]]>Analisis de datos en c++
Para tener éxito en la creación de un programa o una aplicación informática sólo hace falta que comprendas y apliques lo que te voy a contar en este artículo. Esta actividad que debes de realizar antes de comenzar a escribir código es fundamental para el buen funcionamiento del programa, para que tú mismo sepas que es lo que estas haciendo en cada momento y para que el producto final sea de calidad y resuelva un problema. Te voy a hablar de la parte inicial del proceso de desarrollo, el análisis de una aplicación.
El desarrollo de una aplicación informática completa se debe de realizar por una serie de pasos comunes a todas la metodologías. A estos pasos se le denomina el ciclo de vida de una aplicación. Este ciclo consta de seis pasos fundamentales: análisis, diseño, codificación, ejecución, pruebas y mantenimiento.
El análisis estudia los requisitos que debe de cumplir la aplicación. El resultado del análisis es una hoja de especificaciones en la que aparecen los requerimientos de la aplicación. Esta hoja es redactado por la persona responsable del proceso de creación de la aplicación. Si estás creando algoritmos o programas sencillos, el análisis consistirá en evaluar estos tres pasos fundamentales:
Si realizas estos pasos antes de comenzar a escribir código independientemente del lenguaje que uses, vas a realizar programas de calidad y vas a eliminar muchos errores que te pueden surgir si no analizas el programa y los requisitos que te piden del programa.
Continue reading ]]>Analisis de datos en c++
Para tener éxito en la creación de un programa o una aplicación informática sólo hace falta que comprendas y apliques lo que te voy a contar en este artículo. Esta actividad que debes de realizar antes de comenzar a escribir código es fundamental para el buen funcionamiento del programa, para que tú mismo sepas que es lo que estas haciendo en cada momento y para que el producto final sea de calidad y resuelva un problema. Te voy a hablar de la parte inicial del proceso de desarrollo, el análisis de una aplicación.
El desarrollo de una aplicación informática completa se debe de realizar por una serie de pasos comunes a todas la metodologías. A estos pasos se le denomina el ciclo de vida de una aplicación. Este ciclo consta de seis pasos fundamentales: análisis, diseño, codificación, ejecución, pruebas y mantenimiento.
El análisis estudia los requisitos que debe de cumplir la aplicación. El resultado del análisis es una hoja de especificaciones en la que aparecen los requerimientos de la aplicación. Esta hoja es redactado por la persona responsable del proceso de creación de la aplicación. Si estás creando algoritmos o programas sencillos, el análisis consistirá en evaluar estos tres pasos fundamentales:
Si realizas estos pasos antes de comenzar a escribir código independientemente del lenguaje que uses, vas a realizar programas de calidad y vas a eliminar muchos errores que te pueden surgir si no analizas el programa y los requisitos que te piden del programa.
]]>Como leer o escribir en documentos en c++
para escribir en un documento primeramente necesitamos la realización de un archivo de texto, en el cual la base para hacerlo es la siguiente
// writing on a text file
//Reference: http://www.cplusplus.com/doc/tutorial/files/
usingnamespacestd;
int main () {
ofstream myfile ("Write.txt");
if(myfile.is_open()) {
myfile "This is a line.n";
myfile "Hello world.n";
myfile.close();
}
else{
cout "Unable to open file";
}
return0;
}
en lo cual ahi tenemos el documento en el cual ingresaremos los datos usamos la libreria fstream, se abre el archivo y se ingresa lo que se quiere escribir en el documento
en cambio para la lectura de los documentos contamos con un procedimiento parecido, que es el siguiente:
// reading a text file
//Reference: http://www.cplusplus.com/doc/tutorial/files/
usingnamespacestd;
intmain () {
string line;
ifstream myfile ("CNC.txt");
if(myfile.is_open()){
while( getline (myfile,line) ){
cout 'n';
}
myfile.close();
}
else{
cout "Unable to open file";
}
return0;
}
en este, tenemos que abre el archivo y este es leido linea por linea y convertida en strings,
para esto tenemos que usar la libreria fstream y string,
abril archivo con el comando ifstream y leer cada linea con el get line y este guardara cada linea.
Continue reading ]]>Como leer o escribir en documentos en c++
para escribir en un documento primeramente necesitamos la realización de un archivo de texto, en el cual la base para hacerlo es la siguiente
// writing on a text file
//Reference: http:/
usingnamespacestd;
int main () {
ofstream myfile (“Write.txt”);
if(myfile.is_open()) {
myfile “This is a line.n”;
myfile “Hello world.n”;
myfile.close();
}
else{
cout “Unable to open file”;
}
return0;
}
en lo cual ahi tenemos el documento en el cual ingresaremos los datos usamos la libreria fstream, se abre el archivo y se ingresa lo que se quiere escribir en el documento
en cambio para la lectura de los documentos contamos con un procedimiento parecido, que es el siguiente:
// reading a text file
//Reference: http:/
usingnamespacestd;
intmain () {
string line;
ifstream myfile (“CNC.txt”);
if(myfile.is_open()){
while( getline (myfile,line) ){
cout ‘n’;
}
myfile.close();
}
else{
cout “Unable to open file”;
}
return0;
}
en este, tenemos que abre el archivo y este es leido linea por linea y convertida en strings,
para esto tenemos que usar la libreria fstream y string,
abril archivo con el comando ifstream y leer cada linea con el get line y este guardara cada linea.
]]>validar input de usuarios en c++
c++ nos da la opcion de poder validad datos alfanumericos o lo que comunmente le podemos llamar strings, esto es util cuando nuestras opciones dependen de una palabra, como por ejemplo, en caso de que se pida al usuario el hacer o no hacer una accion, el mismo puede responder con un si o un no.
Principalmente, estos inputs se comportan como cualquier número, dando como resultado, que el manejo de los mismos no sea dificil.
#include
#include
using namespace std;
int main()
{
int a;
coutcin>>a;
while(1)
{
if(cin.fail())
{
cin.clear();
cin.ignore(numeric_limits::max(),’n’);
coutcin>>a;
}
if(!cin.fail())
break;
}
coutreturn 0;
}
validar input de usuarios en c++
c++ nos da la opcion de poder validad datos alfanumericos o lo que comunmente le podemos llamar strings, esto es util cuando nuestras opciones dependen de una palabra, como por ejemplo, en caso de que se pida al usuario el hacer o no hacer una accion, el mismo puede responder con un si o un no.
Principalmente, estos inputs se comportan como cualquier número, dando como resultado, que el manejo de los mismos no sea dificil.
#include
#include
using namespace std;
int main()
{
int a;
coutcin>>a;
while(1)
{
if(cin.fail())
{
cin.clear();
cin.ignore(numeric_limits
coutcin>>a;
}
if(!cin.fail())
break;
}
coutreturn 0;
}
Un vector, también llamado array(arreglo) unidimensional, es una estructura de datos que permite agrupar elementos del mismo tipo y almacenarlos en un solo bloque de memoria juntos, uno despues de otro. A este grupo de elementos se les identifica por un mismo nombre y la posición en la que se encuentran. La primera posición del array es la posición 0.
Podríamos agrupar en un array una serie de elementos de tipo enteros, flotantes, caracteres, objetos, etc.
Crear un vector en C++ es sencillo, seguimos la siguiente sintaxix: Tipo nombre[tamanyo];
Ejm:
|
|
int a[5]; // Vector de 5 enterosfloat b[5]; // vector de 5 flotantesProducto product[5]; // vector de 5 objetos de tipo Producto |
Podríamos también inicializar el vector en la declaración:
|
|
int a[] = {5, 15, 20, 25, 30};float b[] = {10.5, 20.5, 30.5, 12.5, 50.5}Producto product[] = {celular, calculadora, camara, ipod, usb} |
Como hay 5 elementos en cada array, automáticamente se le asignará 5 espacios de memoria a cada vector, pero si trato de crear el vector de la forma int a[] , el compilador mostrará un error, porque no indiqué el tamaño del vector ni tampoco inicializé sus elementos.
https://ronnyml.wordpress.com/2009/07/04/vectores-matrices-y-punteros-en-c/
Tambien estos incluyen las matrices.
las cuales funcionan:
bidimensional. La manera de declarar una matriz es C++ es similar a un vector:
|
1
|
int matrix[rows][cols]; |
int es el tipo de dato, matrix es el nombre del todo el conjunto de datos y debo de especificar el numero de filas y columnas.
Las matrices también pueden ser de distintos tipos de datos como char, float, double, etc. Las matrices en C++ se almacenan al igual que los vectores en posiciones consecutivas de memoria.
Usualmente uno se hace la idea que una matriz es como un tablero, pero internamente el manejo es como su definición lo indica, un vector de vectores, es decir, los vectores están uno detrás del otro juntos.
La forma de acceder a los elementos de la matriz es utilizando su nombre e indicando los 2 subíndices que van en los corchetes.
Si coloco int matriz[2][3] = 10; estoy asignando al cuarto elemento de la tercera fila el valor 10.
Continue reading ]]>Un vector, también llamado array(arreglo) unidimensional, es una estructura de datos que permite agrupar elementos del mismo tipo y almacenarlos en un solo bloque de memoria juntos, uno despues de otro. A este grupo de elementos se les identifica por un mismo nombre y la posición en la que se encuentran. La primera posición del array es la posición 0.
Podríamos agrupar en un array una serie de elementos de tipo enteros, flotantes, caracteres, objetos, etc.
Crear un vector en C++ es sencillo, seguimos la siguiente sintaxix: Tipo nombre[tamanyo];
Ejm:
|
|
int a[5]; // Vector de 5 enterosfloat b[5]; // vector de 5 flotantesProducto product[5]; // vector de 5 objetos de tipo Producto |
Podríamos también inicializar el vector en la declaración:
|
|
int a[] = {5, 15, 20, 25, 30};float b[] = {10.5, 20.5, 30.5, 12.5, 50.5}Producto product[] = {celular, calculadora, camara, ipod, usb} |
Como hay 5 elementos en cada array, automáticamente se le asignará 5 espacios de memoria a cada vector, pero si trato de crear el vector de la forma int a[] , el compilador mostrará un error, porque no indiqué el tamaño del vector ni tampoco inicializé sus elementos.
https:/
Tambien estos incluyen las matrices.
las cuales funcionan:
bidimensional. La manera de declarar una matriz es C++ es similar a un vector:
|
1
|
int matrix[rows][cols]; |
int es el tipo de dato, matrix es el nombre del todo el conjunto de datos y debo de especificar el numero de filas y columnas.
Las matrices también pueden ser de distintos tipos de datos como char, float, double, etc. Las matrices en C++ se almacenan al igual que los vectores en posiciones consecutivas de memoria.
Usualmente uno se hace la idea que una matriz es como un tablero, pero internamente el manejo es como su definición lo indica, un vector de vectores, es decir, los vectores están uno detrás del otro juntos.
La forma de acceder a los elementos de la matriz es utilizando su nombre e indicando los 2 subíndices que van en los corchetes.
Si coloco int matriz[2][3] = 10; estoy asignando al cuarto elemento de la tercera fila el valor 10.
]]>En esta mastery esplicare los diferentes tipos de estructura de las funciones de ciclación.
entre estas estan
empezaremos con while
Los while funcionan con el siguiente tipo de estructura, no se mantiene una condicion base y mientras se cumpla la condicion acordada en el while el programa seguira repitiendo su codigo hasta que no cumpla dicha condicion
Do while es muy similar al while pero tiene la diferencia que el codigo se tiene que cumplir una vez.
en la imagen se muestra que el codigo bloque esta antes que la condicion dada lo que ocaciona que el ciclo se lleve acabo obligatoriamente una vez.
el tercer caso son los For
el For sigue una estructura diferente a las anteriores usando condicionales y un limite al que esta condicional puede llegar, mientras no se cumpla el limite seguira incrementando o decreciendo como el usuario haya estipulado.
Continue reading ]]>En esta mastery esplicare los diferentes tipos de estructura de las funciones de ciclación.
entre estas estan
empezaremos con while
Los while funcionan con el siguiente tipo de estructura, no se mantiene una condicion base y mientras se cumpla la condicion acordada en el while el programa seguira repitiendo su codigo hasta que no cumpla dicha condicion
Do while es muy similar al while pero tiene la diferencia que el codigo se tiene que cumplir una vez.
en la imagen se muestra que el codigo bloque esta antes que la condicion dada lo que ocaciona que el ciclo se lleve acabo obligatoriamente una vez.
el tercer caso son los For
el For sigue una estructura diferente a las anteriores usando condicionales y un limite al que esta condicional puede llegar, mientras no se cumpla el limite seguira incrementando o decreciendo como el usuario haya estipulado.
]]>Uso de recursion en algoritmos repetitivos
Se dice que una función es recursiva cuando se define en función de si misma.
No todas la funciones pueden llamarse a si mismas, sino que deben estar diseñadas especialmente para que sean recursivas, de otro modo podrían conducir a bucles infinitos, o a que el programa termine inadecuadamente.
Tampoco todos los lenguajes de programación permiten usar recursividad.
C++ permite la recursividad. Cada vez que se llama a una función, se crea un juego de variables locales, de este modo, si la función hace una llamada a si misma, se guardan sus variables y parámetros, usando la pila, y la nueva instancia de la función trabajará con su propia copia de las variables locales. Cuando esta segunda instancia de la función retorna, recupera las variables y los parámetros de la pila y continua la ejecución en el punto en que había sido llamada.
Un ejemplo muy clasico de la recursividad es cuando se quiere crear un programa de gdc (greatest commun divisor), en lo cual se puede llamar a si mismo para volver a hacer el mismo procedimiento una y otra vez hasta que una condición sea rota y pueda salir de la recursividad, así, te puede dar los resultados de manera que corresponda.
Continue reading ]]>Uso de recursion en algoritmos repetitivos
Se dice que una función es recursiva cuando se define en función de si misma.
No todas la funciones pueden llamarse a si mismas, sino que deben estar diseñadas especialmente para que sean recursivas, de otro modo podrían conducir a bucles infinitos, o a que el programa termine inadecuadamente.
Tampoco todos los lenguajes de programación permiten usar recursividad.
C++ permite la recursividad. Cada vez que se llama a una función, se crea un juego de variables locales, de este modo, si la función hace una llamada a si misma, se guardan sus variables y parámetros, usando la pila, y la nueva instancia de la función trabajará con su propia copia de las variables locales. Cuando esta segunda instancia de la función retorna, recupera las variables y los parámetros de la pila y continua la ejecución en el punto en que había sido llamada.
Un ejemplo muy clasico de la recursividad es cuando se quiere crear un programa de gdc (greatest commun divisor), en lo cual se puede llamar a si mismo para volver a hacer el mismo procedimiento una y otra vez hasta que una condición sea rota y pueda salir de la recursividad, así, te puede dar los resultados de manera que corresponda.
]]>En esta mastery explicare como usar un switch
Solo se puede usar como variable de condición una variable entera o variable char ya que el programa capta casos especificos sin decimales
Las constantes que estamos buscando y comparando son de tipo char, por eso se deben encerrar entre apóstrofes ( ').
Si se quiere resolver el problema de mayúsculas o minúsculas en el teclado, observar que se usan dos case, pero con un solo break;
las instrucciones para creas un switch es
switch ( test ) {
case 1 :
// Process for test = 1
...
break;
case 5 :
// Process for test = 5
...
break;
default :
// Process for all other cases. Continue reading ]]>En esta mastery explicare como usar un switch
Solo se puede usar como variable de condición una variable entera o variable char ya que el programa capta casos especificos sin decimales
Las constantes que estamos buscando y comparando son de tipo char, por eso se deben encerrar entre apóstrofes ( ‘).
Si se quiere resolver el problema de mayúsculas o minúsculas en el teclado, observar que se usan dos case, pero con un solo break;
las instrucciones para creas un switch es
switch ( test ) {
case 1 :
// Process for test = 1
...
break;
case 5 :
// Process for test = 5
...
break;
default :
// Process for all other cases.
]]>Creación de String C++
Una de las características recientes que se ha añadido al estándar de C++ es la existencia de "strings" (cadenas de texto) como parte del lenguaje, con un manejo tan sencillo como lo es en otros lenguajes como Pascal o Basic.
En general, los compiladores del año 2000 o posteriores deberían permitir el manejo de cadenas, y la mayoría de los anteriores no lo harán. Eso sí, es posible que algún otro incluya alguna clase "string" no totalmente estándar, como las "AnsiString" de Borland C++ Builder.
La primera diferencia es la existencia de "named spaces" (espacios con nombre) dentro del nuevo estándar de C++. Se trata de una nueva forma de organizar los fichero de cabecera (ficheros ".h"), con la intención de que no sea un auténtico caos cuando tenemos muchos. Así, los ficheros de cabecera estándar están en el espacio llamado "std".
Se sigue pudiendo utilizar los fichero de cabecera de la forma clásica: podríamos escribir
#include
aunque la forma recomendada (y que quiere decir lo mismo) es
#include
using namespace std;
El manejo básico de las cadenas no reviste mayor dificultad:
Creación de String C++
Una de las características recientes que se ha añadido al estándar de C++ es la existencia de “strings” (cadenas de texto) como parte del lenguaje, con un manejo tan sencillo como lo es en otros lenguajes como Pascal o Basic.
En general, los compiladores del año 2000 o posteriores deberían permitir el manejo de cadenas, y la mayoría de los anteriores no lo harán. Eso sí, es posible que algún otro incluya alguna clase “string” no totalmente estándar, como las “AnsiString” de Borland C++ Builder.
La primera diferencia es la existencia de “named spaces” (espacios con nombre) dentro del nuevo estándar de C++. Se trata de una nueva forma de organizar los fichero de cabecera (ficheros “.h”), con la intención de que no sea un auténtico caos cuando tenemos muchos. Así, los ficheros de cabecera estándar están en el espacio llamado “std”.
Se sigue pudiendo utilizar los fichero de cabecera de la forma clásica: podríamos escribir
aunque la forma recomendada (y que quiere decir lo mismo) es
#include
using namespace std;
El manejo básico de las cadenas no reviste mayor dificultad:
La siguiente mastery se trata de explicar lo que es un sistema de visualización de datos por herramientas.
el sistema de datos por herramientas es un software libre, libremente disponible para la realización de gráficos 3D por computadora, procesamiento de imagen y visualización. VTK consiste en una biblioteca de clases de C++ y varias capas de interfaz interpretadas como Tcl/Tk, Java, y Python.
Kitware, cuyo equipo creó y sigue ampliando el Kit de herramientas, ofrece apoyo profesional y servicios de consultoría para VTK. VTK soporta una amplia variedad de algoritmos de visualización como: escalar vector Euclides, tensor, textura y métodos volumétricos; y avanzadas técnicas de modelado como: modelado implícito, reducción de polígonos, suavizado de malla (mesh smoothing), corte, contorneado y triangulación de Delaunay. VTK tiene un amplio marco de visualización de la información, cuenta con un conjunto de widgets de interacción 3D, soporta el procesamiento en paralelo y se integra con diversas bases de datos de herramientas GUI como Qt y Tk. VTK es multiplataforma y se ejecuta en plataformas Linux, Windows, Mac y Unix. VTK también incluye soporte auxiliar de widgets de interacción 3D, anotación bi y tridimensional y computación paralela. En su núcleo VTK es implementado como un conjunto de herramientas de C++, exigiedo a los usuarios crear aplicaciones combinado varios objetos en una aplicación. El sistema también soporta ajuste automatizado del núcleo de C++ en Python, Java y Tcl, para que también se puedan escribir aplicaciones VTK utilizando estos lenguajes de programación interpretados.
Continue reading ]]>La siguiente mastery se trata de explicar lo que es un sistema de visualización de datos por herramientas.
el sistema de datos por herramientas es un software libre, libremente disponible para la realización de gráficos 3D por computadora, procesamiento de imagen y visualización. VTK consiste en una biblioteca de clases de C++ y varias capas de interfaz interpretadas como Tcl/Tk, Java, y Python.
Kitware, cuyo equipo creó y sigue ampliando el Kit de herramientas, ofrece apoyo profesional y servicios de consultoría para VTK. VTK soporta una amplia variedad de algoritmos de visualización como: escalar vector Euclides, tensor, textura y métodos volumétricos; y avanzadas técnicas de modelado como: modelado implícito, reducción de polígonos, suavizado de malla (mesh smoothing), corte, contorneado y triangulación de Delaunay. VTK tiene un amplio marco de visualización de la información, cuenta con un conjunto de widgets de interacción 3D, soporta el procesamiento en paralelo y se integra con diversas bases de datos de herramientas GUI como Qt y Tk. VTK es multiplataforma y se ejecuta en plataformas Linux, Windows, Mac y Unix. VTK también incluye soporte auxiliar de widgets de interacción 3D, anotación bi y tridimensional y computación paralela. En su núcleo VTK es implementado como un conjunto de herramientas de C++, exigiedo a los usuarios crear aplicaciones combinado varios objetos en una aplicación. El sistema también soporta ajuste automatizado del núcleo de C++ en Python, Java y Tcl, para que también se puedan escribir aplicaciones VTK utilizando estos lenguajes de programación interpretados.
]]>