SlideShare una empresa de Scribd logo
1 de 60
INSTRUCTIVO PARA
UTILIZAR C++
LÓPEZ SALAS AMAHIRANY DE JESÚS N°30
¿QUE ES C++?
C++ es un lenguaje de programación orientado a objetos que toma la
base del lenguaje C y le agrega la capacidad de abstraer tipos como
en Smalltalk.
¿Para que se utiliza c++?
C++ es un lenguaje de programación diseñado a mediados de los años 80 por Bjarne Stroustrup.
La intención de su creación fue el extender al exitoso lenguaje de programación C con
mecanismos que permitieran la manipulación de objetos.
¿Que tipo de lenguaje es c++?
C++ es un lenguaje híbrido
¿Cómo podemos utilizar c++?
Las principales herramientas necesarias para escribir un programa en C++ son las siguientes:
Un compilador de C++
Paciencia
Nociones sobre programación
Un editor cualquiera de texto, o mejor un entorno de desarrollo (IDE)
El formato de lenguaje c++ es utilizable en varias plataformas
Por lo que se le llama multiplataforma, y aquí podemos ver como lo podemos utilizar en
diferentes estados
Si estas en Windows puedes usar:
Visual c++
Visual Studio
Notepad++
DevCpp
Code::Blocks
Eclipse
entre otros
En Linux puedes usar:
Gedit
Geany
Kate
KDevelop
Eclipse
Code::Blocks
Entre otros
Características de C++
Es el lenguaje de programación de propósito general asociado al sistema operativo UNIX.
Es un lenguaje de medio nivel. Trata con objetos básicos como caracteres, números, etc… también
con bits y direcciones de memoria.
Posee una gran portabilidad
Se utiliza para la programación de sistemas: construcción de intérpretes, compiladores, editores de
texto, etc.
Como crear una nueva aplicación
Al principio, el área de trabajo del entorno de desarrollo está vacía. Para crear ahora la
estructura de una nueva aplicación, proceda del modo siguiente:
Elija la opción New en el menú File.
A continuación, se presenta una ventana en la que puede elegir qué tipo de aplicación desea
crear. Seleccione la ficha Projects. En nuestro caso la aplicación será del tipo Win32 Console
Application. Por lo tanto, seleccione esta opción y escriba el nombre que desee para su
aplicación en el cuadro Project name. Escriba el nombre que desee para su aplicación. En el
cuadro Location, seleccionar la ruta de acceso a su directorio (generalmente la L:).
Automáticamente, se crea una ruta de acceso para el lugar donde se guardarán los archivos del
programa. Confirme el cuadro de diálogo pulsando OK. Seleccione An empty Project y Finish.
Finalmente se pulsa OK y se ha creado un proyecto nuevo.
New del menú File
para crear un fichero de texto que contenga el código fuente.
Menú
Microsoft Visual C++ 6.0 tiene un menú dinámico que puede adaptarse a los diferentes estados
del entorno de desarrollo.
El menú File dispone de algunas opciones para los últimos archivos o proyectos abiertos.
El menú Tools se puede adaptar a las necesidades de cada usuario mediante la opción
Customize.
El menú Help está dedicado al sistema de ayuda de Visual C++.
Configuración de combinaciones
La configuración de dichas combinaciones se puede personalizar en el menú Tools, opción
Customize, seleccionando la ficha Keyboard del cuadro de diálogo. Esta personalización no es
recomendable en los laboratorios de la universidad.
Barra de herramientas
Las barras de herramientas se pueden considerar como un atajo de las opciones de menú.
Pulsando con el botón derecho del ratón en un espacio libre de las barras de herramientas
existentes, puede mostrar nuevas barras seleccionando la opción deseada. Así, puede mostrar
otra barra que nos facilite el acceso inmediato a opciones de compilación (Build), depuración de
errores (Debug), etc.
Customize
La opción Customize permite modificar la estructura de las mismas, principalmente:
• Agregar un botón a la barra de herramientas: Dentro de la ficha Commands, seleccione la
nueva función en el cuadro de lista Categories. Pulse a continuación el botón que desee (cuadro
Buttons) y lea la descripción del campo Description. Cuando ambos coincidan, arrastre el botón
a la barra de herramientas que desee.
• Eliminar un botón de la barra de herramientas: Arrastre el botón que quiere eliminar fuera de
la barra de herramientas y llévelo al cuadro de diálogo Customize. El botón eliminado queda
incluido automáticamente en la categoría correspondiente.
Workspace
Para el trabajo con Microsoft Visual C++, Workspace es una herramienta básica. Puede contener
varias fichas. Para seleccionarlas, se utilizan los botones de la parte inferior de Workspace.
Cuando no hay abierto ningún proyecto, Workspace consta de una sola ficha: InfoView. Infoview
sirve para representar la estructura del manual en pantalla. Las otras fichas sólo se muestran
cuando hay un proyecto abierto. Al crear un nuevo proyecto, se activa una ficha nueva en
Workspace: ClassView. ClassView permite manejar de forma sencilla los elementos más
importantes del entorno de desarrollo: las subrutinas y funciones.
Editor de código fuente
Posee algunas ampliaciones que simplifican considerablemente el manejo de los códigos fuente y, por
tanto, la programación:
• Espacios en blanco virtuales: Al pulsar la tecla Entrar el cursor se sitúa de nuevo en la posición
en la que se ha comenzado a escribir. No debe utilizar tabuladores, esta opción le permite
diseñar un espaciado concreto en su programa.
• A los bloques entre llaves, que forman una unidad, se les aplica automáticamente una sangría.
• El cuadro de diálogo Go To facilita la navegación por el código fuente.
• A los pasajes del código fuente utilizados con mayor frecuencia, se les puede asignar
marcadores de texto para permitir el acceso directo.
• Se resalta la sintaxis de C++ marcando en color las palabras clave.
Ventana de presentación
Aparece seleccionando la opción Output de entre las que aparecen al pulsar con el botón derecho del
ratón en un sitio libre de las barras de herramientas. Consta también de varias fichas que se pueden
seleccionar a través de los botones de la parte inferior: • La ficha Build proporciona mensajes de estado del compilador de Visual C++, así
como sus
mensajes de error. Indica el nombre del archivo, el número de página y el número del error, así
como una descripción del mismo. Para alcanzar la posición en que está localizado el error,
puede pulsar dos veces el mensaje de error o bien utilizar el menú contextual de la ficha Build.
Para esto último, debe seleccionar la opción Go To Error/Tag.
• La ficha Debug muestra los mensajes emitidos por el depurador.
• Seleccionando la ficha Find in Files, en la ventana de presentación se muestran los resultados
de la última búsqueda de texto en varios archivos.
La opción Hide del menú contextual permite cerrar la ventana de presentación. Para verla de nuevo,
también puede seleccionar View/Output.
Compilador y vinculador
Antes de iniciar el programa, es necesario explicar algunos aspectos del proceso de compilación.
La compilación de un programa no es un proceso homogéneo, sino más bien una sucesión de
diferentes operaciones, cuya comprensión puede ser muy útil.
Compilación
En primer lugar, el compilador compila el archivo de código fuente. Este proceso de compilación
afecta también a los archivos de encabezamiento (con la extensión .h); los archivos de código
fuente incorporan estos archivos de encabezamiento a través de las instrucciones #include, de
modo que éstos también se compilan. El resultado de este proceso de compilación es un así
llamado archivo de objeto, con la extensión .obj. Para cada archivo de código fuente, se crea un
archivo de objeto de igual nombre. En el menú Build, con la opción Compile NombreFichero.c se
activa la ejecución del proceso de compilación.
Proceso de vinculación
Una vez compilados todos los archivos de código fuente (.c y .h), ya se pueden agrupar todos
ellos en un único archivo. De esta tarea se ocupa el linker. Recoge cada uno de los elementos
básicos y crea un archivo .exe ejecutable. En el menú Build, con la opción Build
NombreProyecto.exe se activa la ejecución del proceso de vinculación.
Ejecutar
Ahora ya puede ejecutar el programa. En el menú Build, con la opción Execute
NombreProyecto.exe se activa la ejecución del proceso de vinculación.
También se puede compilar con la combinación de teclas CTRL y F5. Ejecutando el programa,
aparecerá una nueva ventana con el resultado.
Al finalizar la ejecución habrá que pulsar una tecla cualquiera para cerrar la ventana del
resultado.
Atajos
Las operaciones de compilación y vinculación se pueden hacer en un paso solo con la opción
Rebuild All del menú Build que incluirá los Warnings en cada proceso de compilación efectuado.
Existen, sin embargo, otras alternativas: Se puede elegir la opción Execute Proyecto.exe del
menú Build, aunque el programa no esté compilado ni vinculado. En este caso, se le solicitará si
quiere iniciar el proceso de compilación (la expresión build representa, en este caso,
compilación y enlace a la vez), puesto que el archivo NombreProyecto.exe no existe todavía. Si
responde Yes, comienza el proceso de compilación. Puede seguir cada paso en la ventana
inferior del área de trabajo. En primer lugar, se compilan los diferentes archivos y, finalmente,
son agrupados por el vinculador (linker). Después, la ventana del programa se presenta en
pantalla. Si obtiene algún mensaje de error durante el proceso de compilación deberá
comprobar si ha cometido algún error al introducir alguna parte del texto.
Los diferentes modos de compilación
Visual C++ diferencia entre dos modos de compilación: el modo Debug y el modo Release. En
nuestro caso, el proyecto creado se debe compilar en el modo Debug como aplicación de
Windows. Si selecciona Debug, durante la compilación se guardan determinadas informaciones
en los archivos de objeto y en los archivos ejecutables. De este modo se pueden detectar a
continuación los posibles errores del programa con el depurador de errores. Sin estas
informaciones guardadas, el depurador no puede realizar su trabajo. Su archivo de código
fuente lo encontrará directamente en la carpeta de proyecto. Si realiza una compilación del
programa, automáticamente se crea un directorio de la carpeta de proyecto, para los archivos
compilados. Según el modo de compilación, este directorio se llamará Debug o Release. Su
preocupación en adelante se centrará en el modo de compilación Debug.
Depuración de errores
El depurador de errores es una herramienta que ayuda el programador a encontrar los errores
algorítmicos (no los sintácticos). Eso significa que no corrige los errores por si solo sino permite una
ejecución paso a paso del programa para ayudar la identificación del punto en que se verifica el error.
Todo depurador de errores ofrece una serie de funciones que se pueden dividir en:
• Puntos de interrupción: comunican al depurador en qué fragmento debe interrumpir la ejecución
de un programa.
• Presentación y modificación de variables: si se ha detenido un programa, puede consultar y
modificar los valores de las variables válidas
. • Controles de la ejecución del programa: puede ejecutar programas paso a paso y observar con
exactitud cómo se desarrolla el programa.
Depuración
En el modo de depuración de errores, el entorno presenta un aspecto diferente. A lado del nombre
del fichero en la barra horizontal aparece el estado de ejecución del programa. En el ejemplo de la
figura la palabra break indica que el programa está actualmente parado. Y en particular una flecha
amarilla en el borde izquierdo del código fuente indica el punto de interrupción. Las dos ventas del
final de la pantalla muestran los valores actuales de las variables usadas en el código.
Puntos de interrupción (Breakpoints)
Los puntos de interrupción permiten ejecutar un programa hasta un determinado punto
(elegido por el programador) y verificar si en dicho punto el programa se ha desarrollado
correctamente (es decir los resultados son los esperados). Se dispone de diferentes tipos de
puntos de interrupción.
Puntos de interrupción
Puede definir un punto de interrupción vinculado a una línea de código, el cual siempre
detendrá el desarrollo de un programa en una posición fija que se puede establecer en el código
fuente. Pulsando con el botón derecho del ratón en la línea de programa que desee encontrará
la opción Insert/Remove Breakpoint.
Puntos de interrupción
Seleccionada dicha opción, un punto rojo representa el punto de interrupción en que se
detendrá la ejecución del programa. Inicie la compilación y ejecución eligiendo la opción
Build/Start Debug/Go o con la tecla F5.
Puntos de interrupción
A fin de reanudar la ejecución del programa sin el punto de interrupción, puede eliminar o bien
desactivar dicho punto. Para eliminarlo, se utiliza la opción Remove Breakpoint. Para
desactivarlo, Disable Breakpoint. Este último presenta la ventaja de que posteriormente se
puede activar a través de la opción de menú Enable Breakpoint
Comando Run to Cursor
Este comando que se encuentra en el menú Build/Start Debug, es el tipo más sencillo y posee
un carácter temporal. Se consigue que el programa se inicie, pero que luego se interrumpa su
ejecución en la posición en la que se encontraba el cursor en el momento del inicio del
programa. Tras elegir este comando basta con situar el cursor en el lugar en que se desee
interrumpir la ejecución del programa. Una vez efectuada la interrupción aparece una pequeña
flecha amarilla junto a la línea donde antes se encontraba el cursor. Ahora puede optar entre
finalizar la ejecución del programa (Debug/Stop Debugging, de la barra de herramientas) o
reanudar el programa (Build/Start Debug/Go). Después de realizar una parada en el fragmento
en cuestión, la aplicación se sigue desarrollando con normalidad.
Puntos de interrupción de datos
En este tipo de interrupciones, la ejecución de un programa se detiene cuando varía el valor de una variable
especificada previamente. Esto resulta útil, por ejemplo, cuando ha comprobado mediante puntos de
interrupción “normales” que el valor de una variable ha cambiado, pero no puede localizar la causa de esa
variación. Proceda del modo siguiente:
Abra el cuadro de diálogo de puntos de interrupción (en el menú Edit, la opción Breakpoints).
Elija la ficha Data.
En la línea de introducción, indique el nombre de la variable.
Si se trata de una variable local, se tiene que indicar en el cuadro de diálogo Advanced, que aparece al pulsar
sobre la flecha que aparece en el cuadro Break at. Escriba el nombre de la función en la que se encuentra la
variable en la línea de entrada Function del cuadro de diálogo Advanced Breakpoint y luego cierre dicho cuadro.
Cierre el cuadro de diálogo Breakpoints e inicie la aplicación con el comando Build/Debug/Go.
Ejecución de programas paso a paso
Es posible ejecutar un programa línea por línea mediante un depurador de errores.
Step over
La posibilidad más sencilla para ello es el comando Step Over, que se encuentra en el menú Debug
cuando se interrumpe la ejecución del programa. Este comando provoca que se ejecute la línea de
código fuente en la que se encuentra actualmente la flecha amarilla. Para ello debe definir un punto
de interrupción vinculado a una línea, iniciar la ejecución del programa y elegir la opción Step Over
del menú Debug o pulsar la tecla F10.
Step over
Tras estos pasos, la flecha amarilla que indica la posición del programa actual se encuentra junto
a la siguiente línea de código fuente. Por lo tanto, desde el punto de interrupción se ha
procesado exactamente una línea del código fuente. Llegados a la ultima línea de código
(generalmente la llave }), no tiene sentido ejecutar esta sentencia, por lo tanto se tiene la
obligación de salir del modo de depuración de errores (Debug/Stop Debugging, de la barra de
herramientas). En caso contrario (se ejecuta otro paso aunque estemos al final), aparecerá una
nueva ventana que habrá que cerrar.
Step Into
El comando Step Into, salta hasta la función activada. Para ello debe definir un punto de
interrupción vinculado a una línea, iniciar la ejecución del programa y elegir la opción Step Into
del menú Debug o pulsar la tecla F11. Esta opción sirve principalmente para saltar dentro de la
función apuntada por la flecha amarilla. En el caso no se quiera ejecutar una función paso por
paso sino solo se quiere saber su resultado, entonces se puede elegir la opción Step Over o
pulsar la tecla F10.
Step out
La última posibilidad para la ejecución paso a paso de programas es Step Out. Con este
comando, puede continuar la ejecución del método actual hasta el final sin interrupción. El
desarrollo del programa no se detiene de nuevo hasta que se regresa al método desde el que ha
sido activado.
Presentación de valores de variables
En el modo de depuración existen varias ventanas que muestran los valores de las variables. Al
interrumpir el programa, se pueden observar en la pantalla las ventanas siguientes:
Ventana de estado de las variables
Se encuentra en la parte inferior izquierda de la pantalla y está dividida en tres partes, que se
pueden elegir a través de una ficha en el margen inferior. Tan sólo trabaje con: • La ficha Auto.
Muestra todas las variables que se han utilizado en la instrucción actual y en la anterior. • La
ficha Locals. Muestra todas las variables locales para la función actual.
La ventana de estado de variables o Watch
En la ventana de variables, no es posible controlar los valores de otras variables que no sean las
mostradas automáticamente. Esto se puede realizar con la ventana Watch, que se encuentra a la
derecha de la ventana de variables y posee una estructura similar. Para comprobar otros valores
de variables sitúe el enfoque en la ventana Watch mediante una pulsación con el ratón, elija la
línea en la que se deben mostrar los nuevos valores de variables y escriba el identificador de
variable en la línea actual.
Ventana de variable o Wacth
Tras confirmar con ENTRAR, el valor de las variables se muestra en la segunda columna de la tabla.
Mediante “arrastrar” y “colocar” con el ratón también creará una línea con la variable
correspondiente en la ventana Watch, de forma más sencilla. En el ejemplo de la figura se ha querido
conocer el valor de la variable i escribiéndola en la primera casilla disponible debajo de Name.
Automáticamente a su derecha el depurador pone el valor actual de esta variable.
Ventana de variable o watch
De la misma manera, se ha insertado la variable vector (que es un vector) en la siguiente casilla.
Siendo un vector, a su derecha aparece su dirección de memoria. Para visualizar los valores de
los elementos del vector, hay que pulsar en el símbolo +. Debajo de la variable aparecerán los
elementos con a sus derecha los correspondiente valores.
Ventana de variable o watch
Es posible eliminar líneas de la ventana Watch a través del comando Edit/Delete. El orden de las
líneas se puede modificar posteriormente mediante “arrastrar” y “colocar”.
Modificación de valores o variables
Se permite modificar valores de variables en tiempo de ejecución del programa. Esto se puede realizar a través de
la tabla que se encuentra en cada una de las ventanas realizando una doble pulsación con el ratón en un valor de
variable. Con este método puede, por ejemplo, corregir primero de forma temporal el error detectado y
comprobar así si con el valor modificado ha subsanado el error. En el ejemplo se está modificando el valor del
segundo elemento del vector asignando a esta variable el valor 76138.
Ciclo
Este ciclo es uno de los mas usados para repetir una secuencia de instrucciones sobre todo cuando se conoce la cantidad exacta de veces
que se quiere que se ejecute una instrucción simple o compuesta.
Su formato general es:
for (inicialización; condición; incremento)
{ instrucción(es); };
En su forma simple la inicialización es una instruccion de asignacion que carga una variable de control de ciclo con un valor inicial.
La condicion es una expresion relacional que evalua la variable de control de ciclo contra un valor final o de parada que determina cuando
debe acabar el ciclo.
El incremento define la manera en que la variable de control de ciclo debe cambiar cada vez que el computador repite un ciclo.
Se deben separar esos 3 argumentos con punto y coma ;
Ciclo (ejemplo)
observar que se puede pedir y ejecutar un programa directamente sin necesidad de pasarlo por una forma.html
#using <mscorlib.dll>
#using <System.dll>
#using <lcnet.dll>
using namespace System;
void main(){
int x;
//construyendo y desplegando la pagina de salida
Console::WriteLine("Content-Type:text/htmln");
for(x=1; x<=10; x++)
{ String *temp;
temp=String::Concat("x =",x.ToString());
temp=String::Concat(temp,"<br>");
Console::WriteLine(temp);};
Casos particulares de Ciclo For
1.- El ciclo comienza en uno y se incrementa de uno en uno este es el caso mas general.
2.- Pero el valor inicial puede se diferente de uno, ejemplo;
for(x=5;x⇐15;x=x+1){ etc.};
3.- Incluso el valor inicial puede ser negativo, ejemplo;
for (x = -3 ;x⇐ 8; x=x+1) { etc.};
4.- Los incrementos tambien pueden ser diferentes al de uno en uno, ej.;
for (x=1; x⇐ 20; x=x+3){ etc. };
5.- Incluso pueden ser decrementos, solo que en este caso, recordar;
5.1.-el valor inicial de la variable debe ser mayor que el valor final.
5.2.-cambiar el sentido de la condicion.
Ejemplo en los casos
for (x= 50 ; x >= 10; x= x-4 ) { etcetera };
6.- Solo para los casos de incrementos y decrementos de una en una unidad substituir en el for;
el x = x + 1 por x++
el x = x - 1 por x–
Ciclo While
En este ciclo el cuerpo de instrucciones se ejecuta mientras una condicion permanezca como verdadera en el momento en que la
condicion se convierte en falsa el ciclo termina.
Su formato general es :
cargar o inicializar variable de condicion;
while(condicion)
{
grupo cierto de instrucciones;
instruccion(es) para salir del ciclo;
};
Un error muy comun con el while, es poner un punto y coma(;) despues de la (condicion) ejemplo while(condicion); ←-esto es y causa un
error.
prog8.cpp
Ejemplo Ciclo While
ejecutarlo directamente, como se indico en el tema anterior, excepto que si quieren pueden construir una forma.html y activarlo desde ahí.
#using <mscorlib.dll>
#using <System.dll>
#using <lcnet.dll>
using namespace System;
void main(){
int x;
//construyendo y desplegando la pagina de salida
Console::WriteLine("Content-Type:text/htmln");
x = 1;
while (x<=10)
{ String *temp;
temp=String::Concat("x =",x.ToString());
temp=String::Concat(temp,"<br>");
Console::WriteLine(temp);
x++;
};//fin while
}//fin main
Condiciones While
While puede llevar dos condiciones en este caso inicializar 2 variables de condición y cuidar que
existan 2 de rompimiento o terminación de ciclo.
El grupo cierto de instrucciones puede ser una sola instrucción o todo un grupo de instrucciones.
La condición puede ser simple o compuesta.
Los casos generales de for también se aplican a while.
A este ciclo también se le conoce también como ciclo de condición de entrada o prueba por arriba
porque este ciclo evalúa primero la condición y posteriormente ejecuta las instrucciones.
Ciclo Do While
Su diferencia basica con el ciclo while es que la prueba de condicion es hecha al finalizar el ciclo,
es decir las instrucciones se ejecutan cuando menos una vez porque primero ejecuta las
instrucciones y al final evalua la condicion;
Tambien se le conoce por esta razon como ciclo de condicion de salida.
Su formato general es :
cargar o inicializar variable de condicion;
do {
grupo cierto de instruccion(es);
instruccion(es) de rompimiento de ciclo;
Ejemplos Ciclo Do While
#using <mscorlib.dll>
#using <System.dll>
#using <lcnet.dll>
using namespace System;
void main(){
int x;
//construyendo y desplegando la pagina de salida
Console::WriteLine("Content-Type:text/htmln");
x = 1;
do { String *temp;
temp=String::Concat("x =",x.ToString());
temp=String::Concat(temp,"<br>");
Console::WriteLine(temp);
x++;
} while(x<10);
}//fin main
Conclusiones Ciclos
El problema de dado un problema cualesquiera cual ciclo se debe usar se resuelve con:
Si se conoce la cantidad exacta de veces que se quiere que se ejecute el ciclo o si el programa de
alguna manera puede calcularla usar for.
Si se desconoce la cantidad de veces a repetir el ciclo o se quiere mayor control sobre la salida o
terminacion del mismo entonces usar while.
Si se quiere que al menos una vez se ejecute el ciclo entonces usar do while.
VARIABLES LOCALES GLOBALES VISUAL C++
El lugar donde sea declarada una variable afectara el uso que el programa quiera hacer de esa variable.
Las reglas basicas que determinan como una variable puede ser usada depende de 3 lugares donde se puede declarar
una variable.
En primer lugar es dentro de cualquier funcion o procedimiento a estas se les llama variables locales y solo pueden ser
usadas por instrucciones que esten dentro de esa funcion o procedimiento.
En segundo lugar es como parametro de una funcion, donde despues de haber recibido el valor podra actuar como
variable local en esa funcion o procedimiento.
En escencia una variable local solo es conocida por el codigo de esa funcion o procedimieto y es desconocida por otras
funciones o procedimientos.
En tercer lugar es fuera de todas los procedimiento o funciones a este tipo de variables se les llama variables globales y
podran ser usadas por cualquier funcion o procedimiento del programa, sin embargo hay que agregarle la palabra
reservada STATIC y a partir del momento en que se declara, acompanada de dicha palabra reservada static, se considera
y puede usarse como variable global.
En programacion en serio no es acostumbrado usar muchas variables globales por varias razones, una de ellas es que
variables globales estan vivas todo el tiempo de ejecucion del programa y si una global solo la ocupa unos cuantos
procedimientos no tiene caso que este viva para todo el resto, otra razon es que es peligroso tener variables globales
porque todo el conjunto de procedimiento y funciones que componen un programa tienen acceso o comparten su valor
y se corre el riesgo de que inadvertidamente alguno de ellos modifique su valor.
Ejemplos variables locales globales
Prog15.html
<HTML>
<FORM ACTION=/cgi-bin/tusitio/prog15.exe METHOD=get>
BASE <INPUT TYPE=text NAME="BASE1"><BR>
ALTURA <INPUT TYPE=text NAME="ALTURA"><BR>
<INPUT TYPE=submit VALUE="OK">
</FORM></HTML>
Ejemplos variables globales
prog15.cpp
#using <mscorlib.dll>
#using <System.dll>
#using <lcnet.dll>
using namespace System;
//declarando procedimientos
void proc1();
void proc2(double area);
//declarando variables globales
static int base1, altura;
void main(){
//llamando o activando proc1
proc1(); }; // main lleva ahora ;
void proc1(){
//declarando variables
double area;
Operaciones con campos
Este es tambien un caso comun con elementos de una tabla, sin embargo es tambien facil de resolver.
Es necesario recordar primero algunas cosas elementales:
1.- Recordar que el numero de columna en una tabla empieza en 0, esto es que para realizar alguna
operacion por ejemplo la columna edad del ejemplo que estamos siguiendo, su numero de columna
es la 2.
2.- La operacion que se plantee se puede realizar con todos los renglones de la tabla o con un solo
renglon de la tabla(del dataset), para procesar todos los renglones se usa un ciclo for, si solo se quiere
procesar un solo renglon o una celda o columna nada mas, solo recordar GET-SET y solo usar un
tabla.tables.rows[r][c] con los metodos strings apropiados.
3.- Para realizar aritmetica con toda una columna, solo usar el GET-SET de tabla.tables.rows[ren]col]
para leer(get)o cargar(set), en leer recordar que saldra una string y en cargar recordar que se tendra
que cargar tambien una string, otra vez;
Gráficos
Campos de graficos o de imagenes, se han convertido en elementos importantes de cualquier base de datos.
Para manejar este elemento con ado-asp.net existen dos maneras:
1.- Agregar un campo BLOB a la tabla en access y usar componentes asp.net especializados en imagenes tanto
para subirlas como para desplegar la imagen.
Este metodo provoca que la base de datos crezca mucho recordar que una imagen aun de tipo jpg ocupa mucho
espacio.
2.- El segundo metodo es mas sencillo, primero subir las imagenes ( de preferencia jpg) con un ftp normal a
tusitio y despues usar el tag <img src> de html y ademas agregar un campo de texto llamado fotourl o foto a la
tabla en access y grabar la direccion http de la imagen en este campo, por
ejemplo http://programacionfacil.com/tusitio/pato.jpg
Despues solo cargar este tag imageurl en la pagina que se construira que no es otra cosa que el programa de
busqueda con el despliegue del campo extra, como lo muestra el programa ejemplo.
Ejemplos de gráficos
Prog26.html
<HTML>
<FORM ACTION=/cgi-bin/tusitio/prog26.exe METHOD=get>
CLAVE A BUSCAR.:<INPUT TYPE=text NAME=CLAVE><BR>
<INPUT TYPE=submit VALUE=BUSCAR>
</FORM></HTML>
prog26.cpp
#using <mscorlib.dll>
#using <System.dll>
#using <System.Data.dll>
#using <System.Xml.dll>
#*canal;
DataSet *tabla;

Más contenido relacionado

La actualidad más candente (16)

Manual codeblocks luis_ocampo
Manual codeblocks luis_ocampoManual codeblocks luis_ocampo
Manual codeblocks luis_ocampo
 
primer codigo con C sharp
primer codigo con C sharpprimer codigo con C sharp
primer codigo con C sharp
 
Tutorial de-codeblocks
Tutorial de-codeblocksTutorial de-codeblocks
Tutorial de-codeblocks
 
Manual del uso de codeblocks
Manual del uso de codeblocksManual del uso de codeblocks
Manual del uso de codeblocks
 
Tutorial de codeblocks
Tutorial de codeblocksTutorial de codeblocks
Tutorial de codeblocks
 
Visualc++
Visualc++Visualc++
Visualc++
 
Manual Code::Blocks lenguaje C++
Manual Code::Blocks lenguaje C++Manual Code::Blocks lenguaje C++
Manual Code::Blocks lenguaje C++
 
Prac fi 06
Prac fi 06Prac fi 06
Prac fi 06
 
Tutorial de-codeblocks
Tutorial de-codeblocksTutorial de-codeblocks
Tutorial de-codeblocks
 
Estructura del c++ builder
Estructura del c++ builderEstructura del c++ builder
Estructura del c++ builder
 
Manual sobre code
Manual sobre codeManual sobre code
Manual sobre code
 
Dev c++
Dev c++Dev c++
Dev c++
 
Visual Basic
Visual BasicVisual Basic
Visual Basic
 
Javascript
JavascriptJavascript
Javascript
 
Josi22
Josi22Josi22
Josi22
 
Dev c++ para vista y 7
Dev c++ para vista y 7Dev c++ para vista y 7
Dev c++ para vista y 7
 

Similar a Instructivo para utilizar_c_

Similar a Instructivo para utilizar_c_ (20)

Manual visualc
Manual visualcManual visualc
Manual visualc
 
VISUAL C++
VISUAL C++VISUAL C++
VISUAL C++
 
Manual sobre code
Manual sobre codeManual sobre code
Manual sobre code
 
Visual studio c_
Visual studio c_Visual studio c_
Visual studio c_
 
10 Herramientas Visual Basic
10 Herramientas Visual Basic 10 Herramientas Visual Basic
10 Herramientas Visual Basic
 
Code bloks tutorial_terminado
Code bloks tutorial_terminadoCode bloks tutorial_terminado
Code bloks tutorial_terminado
 
Code bloks tutorial_terminado
Code bloks tutorial_terminadoCode bloks tutorial_terminado
Code bloks tutorial_terminado
 
Net beansdiapo
Net beansdiapoNet beansdiapo
Net beansdiapo
 
Net beansdiapo
Net beansdiapoNet beansdiapo
Net beansdiapo
 
fundamentos basicos de VISUAL BASIC
fundamentos basicos de VISUAL BASICfundamentos basicos de VISUAL BASIC
fundamentos basicos de VISUAL BASIC
 
fundamentos basicos de Visual Basic 6.0
fundamentos basicos de Visual Basic 6.0fundamentos basicos de Visual Basic 6.0
fundamentos basicos de Visual Basic 6.0
 
Introduccion al Turbo C++
Introduccion al Turbo C++Introduccion al Turbo C++
Introduccion al Turbo C++
 
Programación en C++ con C++ Builder
Programación en C++ con C++ BuilderProgramación en C++ con C++ Builder
Programación en C++ con C++ Builder
 
PROGRAMACION
PROGRAMACIONPROGRAMACION
PROGRAMACION
 
Dev-C++
Dev-C++ Dev-C++
Dev-C++
 
Tutorial de-codeblocks (1)
Tutorial de-codeblocks (1)Tutorial de-codeblocks (1)
Tutorial de-codeblocks (1)
 
introduccion pdf
introduccion pdfintroduccion pdf
introduccion pdf
 
Manual del dev c++
Manual del dev c++Manual del dev c++
Manual del dev c++
 
Manual de codeblocks
Manual de codeblocksManual de codeblocks
Manual de codeblocks
 
Apuntes vb6
Apuntes vb6Apuntes vb6
Apuntes vb6
 

Más de LuisCetis109

Más de LuisCetis109 (20)

Practica 12
Practica 12Practica 12
Practica 12
 
Practica 11(1)
Practica 11(1)Practica 11(1)
Practica 11(1)
 
Practica 10
Practica 10Practica 10
Practica 10
 
9
99
9
 
Practica 7(1)
Practica 7(1)Practica 7(1)
Practica 7(1)
 
Practica 6(1)
Practica 6(1)Practica 6(1)
Practica 6(1)
 
Practica 4
Practica 4Practica 4
Practica 4
 
Practica 2
Practica 2Practica 2
Practica 2
 
Alice tabla
Alice tablaAlice tabla
Alice tabla
 
Programacion orientada a_objetos
Programacion orientada a_objetos Programacion orientada a_objetos
Programacion orientada a_objetos
 
Examen diagnostico
Examen diagnosticoExamen diagnostico
Examen diagnostico
 
Bebe ami
Bebe amiBebe ami
Bebe ami
 
Estructura basica para_c_(2)
Estructura basica para_c_(2)Estructura basica para_c_(2)
Estructura basica para_c_(2)
 
Tabla de verdad_para_c_
Tabla de verdad_para_c_Tabla de verdad_para_c_
Tabla de verdad_para_c_
 
Tipo de datos_c_
Tipo de datos_c_Tipo de datos_c_
Tipo de datos_c_
 
Amy (1)
Amy (1)Amy (1)
Amy (1)
 
Instructivo de codeblocks
Instructivo de codeblocksInstructivo de codeblocks
Instructivo de codeblocks
 
Manual dfd
Manual dfdManual dfd
Manual dfd
 
Listas de-ideas-sobre-la-importancia-que-tiene-darle-solucion-a-problemas-med...
Listas de-ideas-sobre-la-importancia-que-tiene-darle-solucion-a-problemas-med...Listas de-ideas-sobre-la-importancia-que-tiene-darle-solucion-a-problemas-med...
Listas de-ideas-sobre-la-importancia-que-tiene-darle-solucion-a-problemas-med...
 
Presentacion
PresentacionPresentacion
Presentacion
 

Último

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 

Último (20)

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 

Instructivo para utilizar_c_

  • 1. INSTRUCTIVO PARA UTILIZAR C++ LÓPEZ SALAS AMAHIRANY DE JESÚS N°30
  • 2. ¿QUE ES C++? C++ es un lenguaje de programación orientado a objetos que toma la base del lenguaje C y le agrega la capacidad de abstraer tipos como en Smalltalk.
  • 3. ¿Para que se utiliza c++? C++ es un lenguaje de programación diseñado a mediados de los años 80 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitieran la manipulación de objetos.
  • 4. ¿Que tipo de lenguaje es c++? C++ es un lenguaje híbrido
  • 5. ¿Cómo podemos utilizar c++? Las principales herramientas necesarias para escribir un programa en C++ son las siguientes: Un compilador de C++ Paciencia Nociones sobre programación Un editor cualquiera de texto, o mejor un entorno de desarrollo (IDE)
  • 6. El formato de lenguaje c++ es utilizable en varias plataformas Por lo que se le llama multiplataforma, y aquí podemos ver como lo podemos utilizar en diferentes estados
  • 7. Si estas en Windows puedes usar: Visual c++ Visual Studio Notepad++ DevCpp Code::Blocks Eclipse entre otros
  • 8. En Linux puedes usar: Gedit Geany Kate KDevelop Eclipse Code::Blocks Entre otros
  • 9. Características de C++ Es el lenguaje de programación de propósito general asociado al sistema operativo UNIX. Es un lenguaje de medio nivel. Trata con objetos básicos como caracteres, números, etc… también con bits y direcciones de memoria. Posee una gran portabilidad Se utiliza para la programación de sistemas: construcción de intérpretes, compiladores, editores de texto, etc.
  • 10. Como crear una nueva aplicación Al principio, el área de trabajo del entorno de desarrollo está vacía. Para crear ahora la estructura de una nueva aplicación, proceda del modo siguiente: Elija la opción New en el menú File. A continuación, se presenta una ventana en la que puede elegir qué tipo de aplicación desea crear. Seleccione la ficha Projects. En nuestro caso la aplicación será del tipo Win32 Console Application. Por lo tanto, seleccione esta opción y escriba el nombre que desee para su aplicación en el cuadro Project name. Escriba el nombre que desee para su aplicación. En el cuadro Location, seleccionar la ruta de acceso a su directorio (generalmente la L:). Automáticamente, se crea una ruta de acceso para el lugar donde se guardarán los archivos del programa. Confirme el cuadro de diálogo pulsando OK. Seleccione An empty Project y Finish. Finalmente se pulsa OK y se ha creado un proyecto nuevo.
  • 11. New del menú File para crear un fichero de texto que contenga el código fuente.
  • 12. Menú Microsoft Visual C++ 6.0 tiene un menú dinámico que puede adaptarse a los diferentes estados del entorno de desarrollo. El menú File dispone de algunas opciones para los últimos archivos o proyectos abiertos. El menú Tools se puede adaptar a las necesidades de cada usuario mediante la opción Customize. El menú Help está dedicado al sistema de ayuda de Visual C++.
  • 13. Configuración de combinaciones La configuración de dichas combinaciones se puede personalizar en el menú Tools, opción Customize, seleccionando la ficha Keyboard del cuadro de diálogo. Esta personalización no es recomendable en los laboratorios de la universidad.
  • 14. Barra de herramientas Las barras de herramientas se pueden considerar como un atajo de las opciones de menú. Pulsando con el botón derecho del ratón en un espacio libre de las barras de herramientas existentes, puede mostrar nuevas barras seleccionando la opción deseada. Así, puede mostrar otra barra que nos facilite el acceso inmediato a opciones de compilación (Build), depuración de errores (Debug), etc.
  • 15. Customize La opción Customize permite modificar la estructura de las mismas, principalmente: • Agregar un botón a la barra de herramientas: Dentro de la ficha Commands, seleccione la nueva función en el cuadro de lista Categories. Pulse a continuación el botón que desee (cuadro Buttons) y lea la descripción del campo Description. Cuando ambos coincidan, arrastre el botón a la barra de herramientas que desee. • Eliminar un botón de la barra de herramientas: Arrastre el botón que quiere eliminar fuera de la barra de herramientas y llévelo al cuadro de diálogo Customize. El botón eliminado queda incluido automáticamente en la categoría correspondiente.
  • 16. Workspace Para el trabajo con Microsoft Visual C++, Workspace es una herramienta básica. Puede contener varias fichas. Para seleccionarlas, se utilizan los botones de la parte inferior de Workspace. Cuando no hay abierto ningún proyecto, Workspace consta de una sola ficha: InfoView. Infoview sirve para representar la estructura del manual en pantalla. Las otras fichas sólo se muestran cuando hay un proyecto abierto. Al crear un nuevo proyecto, se activa una ficha nueva en Workspace: ClassView. ClassView permite manejar de forma sencilla los elementos más importantes del entorno de desarrollo: las subrutinas y funciones.
  • 17. Editor de código fuente Posee algunas ampliaciones que simplifican considerablemente el manejo de los códigos fuente y, por tanto, la programación: • Espacios en blanco virtuales: Al pulsar la tecla Entrar el cursor se sitúa de nuevo en la posición en la que se ha comenzado a escribir. No debe utilizar tabuladores, esta opción le permite diseñar un espaciado concreto en su programa. • A los bloques entre llaves, que forman una unidad, se les aplica automáticamente una sangría. • El cuadro de diálogo Go To facilita la navegación por el código fuente. • A los pasajes del código fuente utilizados con mayor frecuencia, se les puede asignar marcadores de texto para permitir el acceso directo. • Se resalta la sintaxis de C++ marcando en color las palabras clave.
  • 18. Ventana de presentación Aparece seleccionando la opción Output de entre las que aparecen al pulsar con el botón derecho del ratón en un sitio libre de las barras de herramientas. Consta también de varias fichas que se pueden seleccionar a través de los botones de la parte inferior: • La ficha Build proporciona mensajes de estado del compilador de Visual C++, así como sus mensajes de error. Indica el nombre del archivo, el número de página y el número del error, así como una descripción del mismo. Para alcanzar la posición en que está localizado el error, puede pulsar dos veces el mensaje de error o bien utilizar el menú contextual de la ficha Build. Para esto último, debe seleccionar la opción Go To Error/Tag. • La ficha Debug muestra los mensajes emitidos por el depurador. • Seleccionando la ficha Find in Files, en la ventana de presentación se muestran los resultados de la última búsqueda de texto en varios archivos. La opción Hide del menú contextual permite cerrar la ventana de presentación. Para verla de nuevo, también puede seleccionar View/Output.
  • 19. Compilador y vinculador Antes de iniciar el programa, es necesario explicar algunos aspectos del proceso de compilación. La compilación de un programa no es un proceso homogéneo, sino más bien una sucesión de diferentes operaciones, cuya comprensión puede ser muy útil.
  • 20. Compilación En primer lugar, el compilador compila el archivo de código fuente. Este proceso de compilación afecta también a los archivos de encabezamiento (con la extensión .h); los archivos de código fuente incorporan estos archivos de encabezamiento a través de las instrucciones #include, de modo que éstos también se compilan. El resultado de este proceso de compilación es un así llamado archivo de objeto, con la extensión .obj. Para cada archivo de código fuente, se crea un archivo de objeto de igual nombre. En el menú Build, con la opción Compile NombreFichero.c se activa la ejecución del proceso de compilación.
  • 21. Proceso de vinculación Una vez compilados todos los archivos de código fuente (.c y .h), ya se pueden agrupar todos ellos en un único archivo. De esta tarea se ocupa el linker. Recoge cada uno de los elementos básicos y crea un archivo .exe ejecutable. En el menú Build, con la opción Build NombreProyecto.exe se activa la ejecución del proceso de vinculación.
  • 22. Ejecutar Ahora ya puede ejecutar el programa. En el menú Build, con la opción Execute NombreProyecto.exe se activa la ejecución del proceso de vinculación. También se puede compilar con la combinación de teclas CTRL y F5. Ejecutando el programa, aparecerá una nueva ventana con el resultado. Al finalizar la ejecución habrá que pulsar una tecla cualquiera para cerrar la ventana del resultado.
  • 23. Atajos Las operaciones de compilación y vinculación se pueden hacer en un paso solo con la opción Rebuild All del menú Build que incluirá los Warnings en cada proceso de compilación efectuado. Existen, sin embargo, otras alternativas: Se puede elegir la opción Execute Proyecto.exe del menú Build, aunque el programa no esté compilado ni vinculado. En este caso, se le solicitará si quiere iniciar el proceso de compilación (la expresión build representa, en este caso, compilación y enlace a la vez), puesto que el archivo NombreProyecto.exe no existe todavía. Si responde Yes, comienza el proceso de compilación. Puede seguir cada paso en la ventana inferior del área de trabajo. En primer lugar, se compilan los diferentes archivos y, finalmente, son agrupados por el vinculador (linker). Después, la ventana del programa se presenta en pantalla. Si obtiene algún mensaje de error durante el proceso de compilación deberá comprobar si ha cometido algún error al introducir alguna parte del texto.
  • 24. Los diferentes modos de compilación Visual C++ diferencia entre dos modos de compilación: el modo Debug y el modo Release. En nuestro caso, el proyecto creado se debe compilar en el modo Debug como aplicación de Windows. Si selecciona Debug, durante la compilación se guardan determinadas informaciones en los archivos de objeto y en los archivos ejecutables. De este modo se pueden detectar a continuación los posibles errores del programa con el depurador de errores. Sin estas informaciones guardadas, el depurador no puede realizar su trabajo. Su archivo de código fuente lo encontrará directamente en la carpeta de proyecto. Si realiza una compilación del programa, automáticamente se crea un directorio de la carpeta de proyecto, para los archivos compilados. Según el modo de compilación, este directorio se llamará Debug o Release. Su preocupación en adelante se centrará en el modo de compilación Debug.
  • 25. Depuración de errores El depurador de errores es una herramienta que ayuda el programador a encontrar los errores algorítmicos (no los sintácticos). Eso significa que no corrige los errores por si solo sino permite una ejecución paso a paso del programa para ayudar la identificación del punto en que se verifica el error. Todo depurador de errores ofrece una serie de funciones que se pueden dividir en: • Puntos de interrupción: comunican al depurador en qué fragmento debe interrumpir la ejecución de un programa. • Presentación y modificación de variables: si se ha detenido un programa, puede consultar y modificar los valores de las variables válidas . • Controles de la ejecución del programa: puede ejecutar programas paso a paso y observar con exactitud cómo se desarrolla el programa.
  • 26. Depuración En el modo de depuración de errores, el entorno presenta un aspecto diferente. A lado del nombre del fichero en la barra horizontal aparece el estado de ejecución del programa. En el ejemplo de la figura la palabra break indica que el programa está actualmente parado. Y en particular una flecha amarilla en el borde izquierdo del código fuente indica el punto de interrupción. Las dos ventas del final de la pantalla muestran los valores actuales de las variables usadas en el código.
  • 27. Puntos de interrupción (Breakpoints) Los puntos de interrupción permiten ejecutar un programa hasta un determinado punto (elegido por el programador) y verificar si en dicho punto el programa se ha desarrollado correctamente (es decir los resultados son los esperados). Se dispone de diferentes tipos de puntos de interrupción.
  • 28. Puntos de interrupción Puede definir un punto de interrupción vinculado a una línea de código, el cual siempre detendrá el desarrollo de un programa en una posición fija que se puede establecer en el código fuente. Pulsando con el botón derecho del ratón en la línea de programa que desee encontrará la opción Insert/Remove Breakpoint.
  • 29. Puntos de interrupción Seleccionada dicha opción, un punto rojo representa el punto de interrupción en que se detendrá la ejecución del programa. Inicie la compilación y ejecución eligiendo la opción Build/Start Debug/Go o con la tecla F5.
  • 30. Puntos de interrupción A fin de reanudar la ejecución del programa sin el punto de interrupción, puede eliminar o bien desactivar dicho punto. Para eliminarlo, se utiliza la opción Remove Breakpoint. Para desactivarlo, Disable Breakpoint. Este último presenta la ventaja de que posteriormente se puede activar a través de la opción de menú Enable Breakpoint
  • 31. Comando Run to Cursor Este comando que se encuentra en el menú Build/Start Debug, es el tipo más sencillo y posee un carácter temporal. Se consigue que el programa se inicie, pero que luego se interrumpa su ejecución en la posición en la que se encontraba el cursor en el momento del inicio del programa. Tras elegir este comando basta con situar el cursor en el lugar en que se desee interrumpir la ejecución del programa. Una vez efectuada la interrupción aparece una pequeña flecha amarilla junto a la línea donde antes se encontraba el cursor. Ahora puede optar entre finalizar la ejecución del programa (Debug/Stop Debugging, de la barra de herramientas) o reanudar el programa (Build/Start Debug/Go). Después de realizar una parada en el fragmento en cuestión, la aplicación se sigue desarrollando con normalidad.
  • 32. Puntos de interrupción de datos En este tipo de interrupciones, la ejecución de un programa se detiene cuando varía el valor de una variable especificada previamente. Esto resulta útil, por ejemplo, cuando ha comprobado mediante puntos de interrupción “normales” que el valor de una variable ha cambiado, pero no puede localizar la causa de esa variación. Proceda del modo siguiente: Abra el cuadro de diálogo de puntos de interrupción (en el menú Edit, la opción Breakpoints). Elija la ficha Data. En la línea de introducción, indique el nombre de la variable. Si se trata de una variable local, se tiene que indicar en el cuadro de diálogo Advanced, que aparece al pulsar sobre la flecha que aparece en el cuadro Break at. Escriba el nombre de la función en la que se encuentra la variable en la línea de entrada Function del cuadro de diálogo Advanced Breakpoint y luego cierre dicho cuadro. Cierre el cuadro de diálogo Breakpoints e inicie la aplicación con el comando Build/Debug/Go.
  • 33. Ejecución de programas paso a paso Es posible ejecutar un programa línea por línea mediante un depurador de errores.
  • 34. Step over La posibilidad más sencilla para ello es el comando Step Over, que se encuentra en el menú Debug cuando se interrumpe la ejecución del programa. Este comando provoca que se ejecute la línea de código fuente en la que se encuentra actualmente la flecha amarilla. Para ello debe definir un punto de interrupción vinculado a una línea, iniciar la ejecución del programa y elegir la opción Step Over del menú Debug o pulsar la tecla F10.
  • 35. Step over Tras estos pasos, la flecha amarilla que indica la posición del programa actual se encuentra junto a la siguiente línea de código fuente. Por lo tanto, desde el punto de interrupción se ha procesado exactamente una línea del código fuente. Llegados a la ultima línea de código (generalmente la llave }), no tiene sentido ejecutar esta sentencia, por lo tanto se tiene la obligación de salir del modo de depuración de errores (Debug/Stop Debugging, de la barra de herramientas). En caso contrario (se ejecuta otro paso aunque estemos al final), aparecerá una nueva ventana que habrá que cerrar.
  • 36. Step Into El comando Step Into, salta hasta la función activada. Para ello debe definir un punto de interrupción vinculado a una línea, iniciar la ejecución del programa y elegir la opción Step Into del menú Debug o pulsar la tecla F11. Esta opción sirve principalmente para saltar dentro de la función apuntada por la flecha amarilla. En el caso no se quiera ejecutar una función paso por paso sino solo se quiere saber su resultado, entonces se puede elegir la opción Step Over o pulsar la tecla F10.
  • 37. Step out La última posibilidad para la ejecución paso a paso de programas es Step Out. Con este comando, puede continuar la ejecución del método actual hasta el final sin interrupción. El desarrollo del programa no se detiene de nuevo hasta que se regresa al método desde el que ha sido activado.
  • 38. Presentación de valores de variables En el modo de depuración existen varias ventanas que muestran los valores de las variables. Al interrumpir el programa, se pueden observar en la pantalla las ventanas siguientes:
  • 39. Ventana de estado de las variables Se encuentra en la parte inferior izquierda de la pantalla y está dividida en tres partes, que se pueden elegir a través de una ficha en el margen inferior. Tan sólo trabaje con: • La ficha Auto. Muestra todas las variables que se han utilizado en la instrucción actual y en la anterior. • La ficha Locals. Muestra todas las variables locales para la función actual.
  • 40. La ventana de estado de variables o Watch En la ventana de variables, no es posible controlar los valores de otras variables que no sean las mostradas automáticamente. Esto se puede realizar con la ventana Watch, que se encuentra a la derecha de la ventana de variables y posee una estructura similar. Para comprobar otros valores de variables sitúe el enfoque en la ventana Watch mediante una pulsación con el ratón, elija la línea en la que se deben mostrar los nuevos valores de variables y escriba el identificador de variable en la línea actual.
  • 41. Ventana de variable o Wacth Tras confirmar con ENTRAR, el valor de las variables se muestra en la segunda columna de la tabla. Mediante “arrastrar” y “colocar” con el ratón también creará una línea con la variable correspondiente en la ventana Watch, de forma más sencilla. En el ejemplo de la figura se ha querido conocer el valor de la variable i escribiéndola en la primera casilla disponible debajo de Name. Automáticamente a su derecha el depurador pone el valor actual de esta variable.
  • 42. Ventana de variable o watch De la misma manera, se ha insertado la variable vector (que es un vector) en la siguiente casilla. Siendo un vector, a su derecha aparece su dirección de memoria. Para visualizar los valores de los elementos del vector, hay que pulsar en el símbolo +. Debajo de la variable aparecerán los elementos con a sus derecha los correspondiente valores.
  • 43. Ventana de variable o watch Es posible eliminar líneas de la ventana Watch a través del comando Edit/Delete. El orden de las líneas se puede modificar posteriormente mediante “arrastrar” y “colocar”.
  • 44. Modificación de valores o variables Se permite modificar valores de variables en tiempo de ejecución del programa. Esto se puede realizar a través de la tabla que se encuentra en cada una de las ventanas realizando una doble pulsación con el ratón en un valor de variable. Con este método puede, por ejemplo, corregir primero de forma temporal el error detectado y comprobar así si con el valor modificado ha subsanado el error. En el ejemplo se está modificando el valor del segundo elemento del vector asignando a esta variable el valor 76138.
  • 45. Ciclo Este ciclo es uno de los mas usados para repetir una secuencia de instrucciones sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instrucción simple o compuesta. Su formato general es: for (inicialización; condición; incremento) { instrucción(es); }; En su forma simple la inicialización es una instruccion de asignacion que carga una variable de control de ciclo con un valor inicial. La condicion es una expresion relacional que evalua la variable de control de ciclo contra un valor final o de parada que determina cuando debe acabar el ciclo. El incremento define la manera en que la variable de control de ciclo debe cambiar cada vez que el computador repite un ciclo. Se deben separar esos 3 argumentos con punto y coma ;
  • 46. Ciclo (ejemplo) observar que se puede pedir y ejecutar un programa directamente sin necesidad de pasarlo por una forma.html #using <mscorlib.dll> #using <System.dll> #using <lcnet.dll> using namespace System; void main(){ int x; //construyendo y desplegando la pagina de salida Console::WriteLine("Content-Type:text/htmln"); for(x=1; x<=10; x++) { String *temp; temp=String::Concat("x =",x.ToString()); temp=String::Concat(temp,"<br>"); Console::WriteLine(temp);};
  • 47. Casos particulares de Ciclo For 1.- El ciclo comienza en uno y se incrementa de uno en uno este es el caso mas general. 2.- Pero el valor inicial puede se diferente de uno, ejemplo; for(x=5;x⇐15;x=x+1){ etc.}; 3.- Incluso el valor inicial puede ser negativo, ejemplo; for (x = -3 ;x⇐ 8; x=x+1) { etc.}; 4.- Los incrementos tambien pueden ser diferentes al de uno en uno, ej.; for (x=1; x⇐ 20; x=x+3){ etc. }; 5.- Incluso pueden ser decrementos, solo que en este caso, recordar; 5.1.-el valor inicial de la variable debe ser mayor que el valor final. 5.2.-cambiar el sentido de la condicion.
  • 48. Ejemplo en los casos for (x= 50 ; x >= 10; x= x-4 ) { etcetera }; 6.- Solo para los casos de incrementos y decrementos de una en una unidad substituir en el for; el x = x + 1 por x++ el x = x - 1 por x–
  • 49. Ciclo While En este ciclo el cuerpo de instrucciones se ejecuta mientras una condicion permanezca como verdadera en el momento en que la condicion se convierte en falsa el ciclo termina. Su formato general es : cargar o inicializar variable de condicion; while(condicion) { grupo cierto de instrucciones; instruccion(es) para salir del ciclo; }; Un error muy comun con el while, es poner un punto y coma(;) despues de la (condicion) ejemplo while(condicion); ←-esto es y causa un error. prog8.cpp
  • 50. Ejemplo Ciclo While ejecutarlo directamente, como se indico en el tema anterior, excepto que si quieren pueden construir una forma.html y activarlo desde ahí. #using <mscorlib.dll> #using <System.dll> #using <lcnet.dll> using namespace System; void main(){ int x; //construyendo y desplegando la pagina de salida Console::WriteLine("Content-Type:text/htmln"); x = 1; while (x<=10) { String *temp; temp=String::Concat("x =",x.ToString()); temp=String::Concat(temp,"<br>"); Console::WriteLine(temp); x++; };//fin while }//fin main
  • 51. Condiciones While While puede llevar dos condiciones en este caso inicializar 2 variables de condición y cuidar que existan 2 de rompimiento o terminación de ciclo. El grupo cierto de instrucciones puede ser una sola instrucción o todo un grupo de instrucciones. La condición puede ser simple o compuesta. Los casos generales de for también se aplican a while. A este ciclo también se le conoce también como ciclo de condición de entrada o prueba por arriba porque este ciclo evalúa primero la condición y posteriormente ejecuta las instrucciones.
  • 52. Ciclo Do While Su diferencia basica con el ciclo while es que la prueba de condicion es hecha al finalizar el ciclo, es decir las instrucciones se ejecutan cuando menos una vez porque primero ejecuta las instrucciones y al final evalua la condicion; Tambien se le conoce por esta razon como ciclo de condicion de salida. Su formato general es : cargar o inicializar variable de condicion; do { grupo cierto de instruccion(es); instruccion(es) de rompimiento de ciclo;
  • 53. Ejemplos Ciclo Do While #using <mscorlib.dll> #using <System.dll> #using <lcnet.dll> using namespace System; void main(){ int x; //construyendo y desplegando la pagina de salida Console::WriteLine("Content-Type:text/htmln"); x = 1; do { String *temp; temp=String::Concat("x =",x.ToString()); temp=String::Concat(temp,"<br>"); Console::WriteLine(temp); x++; } while(x<10); }//fin main
  • 54. Conclusiones Ciclos El problema de dado un problema cualesquiera cual ciclo se debe usar se resuelve con: Si se conoce la cantidad exacta de veces que se quiere que se ejecute el ciclo o si el programa de alguna manera puede calcularla usar for. Si se desconoce la cantidad de veces a repetir el ciclo o se quiere mayor control sobre la salida o terminacion del mismo entonces usar while. Si se quiere que al menos una vez se ejecute el ciclo entonces usar do while.
  • 55. VARIABLES LOCALES GLOBALES VISUAL C++ El lugar donde sea declarada una variable afectara el uso que el programa quiera hacer de esa variable. Las reglas basicas que determinan como una variable puede ser usada depende de 3 lugares donde se puede declarar una variable. En primer lugar es dentro de cualquier funcion o procedimiento a estas se les llama variables locales y solo pueden ser usadas por instrucciones que esten dentro de esa funcion o procedimiento. En segundo lugar es como parametro de una funcion, donde despues de haber recibido el valor podra actuar como variable local en esa funcion o procedimiento. En escencia una variable local solo es conocida por el codigo de esa funcion o procedimieto y es desconocida por otras funciones o procedimientos. En tercer lugar es fuera de todas los procedimiento o funciones a este tipo de variables se les llama variables globales y podran ser usadas por cualquier funcion o procedimiento del programa, sin embargo hay que agregarle la palabra reservada STATIC y a partir del momento en que se declara, acompanada de dicha palabra reservada static, se considera y puede usarse como variable global. En programacion en serio no es acostumbrado usar muchas variables globales por varias razones, una de ellas es que variables globales estan vivas todo el tiempo de ejecucion del programa y si una global solo la ocupa unos cuantos procedimientos no tiene caso que este viva para todo el resto, otra razon es que es peligroso tener variables globales porque todo el conjunto de procedimiento y funciones que componen un programa tienen acceso o comparten su valor y se corre el riesgo de que inadvertidamente alguno de ellos modifique su valor.
  • 56. Ejemplos variables locales globales Prog15.html <HTML> <FORM ACTION=/cgi-bin/tusitio/prog15.exe METHOD=get> BASE <INPUT TYPE=text NAME="BASE1"><BR> ALTURA <INPUT TYPE=text NAME="ALTURA"><BR> <INPUT TYPE=submit VALUE="OK"> </FORM></HTML>
  • 57. Ejemplos variables globales prog15.cpp #using <mscorlib.dll> #using <System.dll> #using <lcnet.dll> using namespace System; //declarando procedimientos void proc1(); void proc2(double area); //declarando variables globales static int base1, altura; void main(){ //llamando o activando proc1 proc1(); }; // main lleva ahora ; void proc1(){ //declarando variables double area;
  • 58. Operaciones con campos Este es tambien un caso comun con elementos de una tabla, sin embargo es tambien facil de resolver. Es necesario recordar primero algunas cosas elementales: 1.- Recordar que el numero de columna en una tabla empieza en 0, esto es que para realizar alguna operacion por ejemplo la columna edad del ejemplo que estamos siguiendo, su numero de columna es la 2. 2.- La operacion que se plantee se puede realizar con todos los renglones de la tabla o con un solo renglon de la tabla(del dataset), para procesar todos los renglones se usa un ciclo for, si solo se quiere procesar un solo renglon o una celda o columna nada mas, solo recordar GET-SET y solo usar un tabla.tables.rows[r][c] con los metodos strings apropiados. 3.- Para realizar aritmetica con toda una columna, solo usar el GET-SET de tabla.tables.rows[ren]col] para leer(get)o cargar(set), en leer recordar que saldra una string y en cargar recordar que se tendra que cargar tambien una string, otra vez;
  • 59. Gráficos Campos de graficos o de imagenes, se han convertido en elementos importantes de cualquier base de datos. Para manejar este elemento con ado-asp.net existen dos maneras: 1.- Agregar un campo BLOB a la tabla en access y usar componentes asp.net especializados en imagenes tanto para subirlas como para desplegar la imagen. Este metodo provoca que la base de datos crezca mucho recordar que una imagen aun de tipo jpg ocupa mucho espacio. 2.- El segundo metodo es mas sencillo, primero subir las imagenes ( de preferencia jpg) con un ftp normal a tusitio y despues usar el tag <img src> de html y ademas agregar un campo de texto llamado fotourl o foto a la tabla en access y grabar la direccion http de la imagen en este campo, por ejemplo http://programacionfacil.com/tusitio/pato.jpg Despues solo cargar este tag imageurl en la pagina que se construira que no es otra cosa que el programa de busqueda con el despliegue del campo extra, como lo muestra el programa ejemplo.
  • 60. Ejemplos de gráficos Prog26.html <HTML> <FORM ACTION=/cgi-bin/tusitio/prog26.exe METHOD=get> CLAVE A BUSCAR.:<INPUT TYPE=text NAME=CLAVE><BR> <INPUT TYPE=submit VALUE=BUSCAR> </FORM></HTML> prog26.cpp #using <mscorlib.dll> #using <System.dll> #using <System.Data.dll> #using <System.Xml.dll> #*canal; DataSet *tabla;