1. Libreria:
assert
ctype
errno
limits
locale
setjmp
signal
stdarg
stddef
stdio
stdlib
string
¿Qué es una clase?
Visual Studio2008 Otras versiones
Actualización:noviembre 2007
En estalección,aprenderáautilizarclasespararepresentar objetosensusprogramas.
Comoaprendióenunalecciónanterior,losprogramasde Visual Basicse generanconobjetos
como formulariosycontroles.Losobjetostambiénse puedenutilizarpararepresentarcosas
realescomopersonas,equiposinformáticosoinclusoalgomásabstracto,comouna cuenta
bancaria.
Una clase es simplementeunarepresentaciónde untipode objeto;piense enellacomoun
planoque describe el objeto.Asícomounplanopuede utilizarse paraconstruirvariosedificios,
una clase puede utilizarse paracrearvariascopiasde unobjeto.
Aunque puede que nose hayadadocuenta,ya ha utilizadolasclases.Porejemplo,el control
TextBox lodefine unaclase TextBox,que definesuaspectoysus funciones.Cadavezque
arrastra un control TextBox a unformulario,realmente estácreandounanuevainstanciade la
clase TextBox.
Cada control TextBox esunacopia exacta,aunque distinta,de laclase que lodefine,laclase
TextBox.Puestoque cadaobjetoesuna"instancia"independientede unaclase,laacciónde
crear una clase se denominacreaciónde instancias.
2. Hasta ahora ha agregadoloscontrolesTextBox asu formularioarrastrándolosdesde el Cuadro
de herramientas,perotambiénpuede crearinstanciasde unobjetoTextBoxensucódigosi
utilizalapalabraclave New.
VB
DimTextbox1AsNewTextBox
Obtendrámásinformaciónsobre creary utilizarlasclasesenlasleccionessiguientes.
¿Qué hay dentrode una clase?
En una lecciónanterior,Informacióndetallada:comprenderpropiedades,métodosy eventos,
aprendióque todoslosobjetostienenpropiedadesque describensusatributos,métodosque
definensusaccionesyeventosque definensusrespuestas.Igualmente,laclase que define un
objetotiene suspropiaspropiedades,métodosyeventos( avecesllamadosmiembros)que se
pasan a todaslas instanciasde esaclase.
Por ejemplo,unaclase que representaunacuentabancariapodría tenerpropiedadescomo
AccountNumberoAccountBalance,métodoscomoCalculateInterestyeventoscomo
BalanceChanged.Unavezcreadala instanciade unobjetode cuentabancaria,puede tener
acceso a suspropiedades,métodosyeventosde igual maneraque si se tratara de un objeto
TextBox.
Algunosmiembrosde unaclase sonprivados;sólose tiene accesoaellosmediante código
dentrode la clase.Porejemplo,unaclase de cuentabancariapuede tenerunmétodopara
calcularun saldo.Lo lógicoespermitirque unprogramaleaese balance perono que pueda
cambiarlodirectamente.
Puede ocultarlosmiembrosde unaclase si losdeclaracomo Private oexponerlossi losdeclara
como Public.Tambiénpuede permitirel accesoauna propiedadya lavezimpedirque el
programa cambie suvalordeclarándolocomoReadOnly.El códigosiguiente muestracómo
podría seruna clase BankAccount.
VB
ClassBankAccount
Private AccountNumberAsString
Private AccountBalance AsDecimal
PublicSubUpdateBalance()
' add code to recalculate balance.
End Sub
ReadOnlyPropertyBalance()AsDecimal
Get
3. ReturnAccountBalance
EndGet
End Property
End Class
fichero
Un ficheroo archivoesun sistemareal ovirtual de organizaciónde lainformaciónmediante
una clasificacióndeterminada.
Se le llamafichero a unconjuntode informaciónclasificadayalmacenadade diversasformas
para su conservaciónyfácil accesoencualquiermomento.
Un ficheropuede serunsistemade archivosfísicoscontenidosencajasuotroselementosde
almacenamientoque formanparte de unconjuntomayorcomo una bibliotecaoarchivo
públicooprivado.A menudo,el ficheroutilizaunataxonomíaosistemade clasificacióncomún
para todossus contenidosque permitenlabúsquedade datosespecíficosde formarápiday
sencilla.El máscomúnes el ordenalfabéticoporconceptooautor,perotambiénpuede
clasificarse lainformaciónsegúnáreastemáticas,porordencronológicouotroscriterios
dependiendode lainformacióncontenidaenel fichero.
En informática,unarchivoo fichero tambiénesunconjuntode informaciónque se almacena
enforma virtual paraser leídoy/oaccedidopormediode una computadora.
Las posibilidadesde almacenamientoyclasificaciónsonmuchomásricas enun sistema
informático,yaque lainformaciónnoocupaun espaciofísicoy,por ende,esposible conservar
millonesde datosenundispositivomuypequeño.Inclusive,se puede guardarinformaciónde
texto,audioovideoenunmismolugarsininconveniente alguno.
A su vez,el sistemasueleorganizartaxonómicamentelainformaciónenformaautomática,
permitiendoque el usuariolaencuentreconsóloingresarpalabrasclave enunbuscador
específico,locual supone unaoperaciónrápidayútil cuandola informaciónalmacenadaes
múltiple.A suvez,lossistemas informáticossuelenreplicarlosficherosfísicosy,así,organizar
el contenidoencarpetasysubcarpetascreadasy administradasporel usuarioque son
ubicadasenel discointernoyque puedenserabiertasmediante accesosdirectosdispuestos
enel escritoriovirtual del ordenador.
Procesode desarrollode unprograma[editar]
Si se deseaescribirunprogramaenC++ se debe ejecutarcomomínimolossiguientespasos:
Escribircon un editorde textoplanounprogramasintácticamente válidoousarun entornode
desarrollo(IDE) apropiadoparatal fin
Compilarel programay asegurarse de que nohan habidoerroresde compilación
4. Ejecutarel programa y comprobarque no hay erroresde ejecución
Este últimopasoesel más costoso,por que enprogramas grandes,averiguarsi hayo no un
falloprácticamente puedeserunatareatotémica.
Comoejemplo,si se deseaescribirunarchivoconel nombre hola.cppyen él escribirun
programa con emacs,por ejemplo,que esunprogramade ediciónde textos,se puede,en
GNU, ejecutarel siguientecomando:
$emacs hola.cpp&
Para otros sistemasoperativosuotrosentornosde desarrollo,nonecesariamentese sigue
este paso.
A continuaciónse escribe el siguiente códigoenC++:
Ejemplo
// Aquí generalmente se suele indicarqué se quiere conel programaa hacer
// Programa que muestra'Holamundo'por pantallay finaliza
// Aquí se sitúantodaslas libreriasque se vayanausar con #include,
// que se verá posteriormente
// Las libreriasdel sistemasonlassiguientes
#include <iostream>
// Funciónmain
// Recibe:void
// Devuelve:int
// Funciónprincipal,encargadade mostrar"HolaMundo",porpantalla
int main(void)
5. {
// Este tipode líneasde códigoque comienzanpor'//' soncomentarios
// El compiladorlosomite,ysirvenparaayudar a otrosprogramadoreso
// a unomismoencaso de volverarevisarel código
// Es una prácticasana ponercomentariosdonde se necesiten,
std::cout<< "HolaMundo" << std::endl;
// Mostrar por std::cout el mensaje HolaMundoy comienzaunanuevalínea
return0;
// se devuelve un0.
//que eneste casoquiere decirque lasalidase ha efectuadoconéxito.
}
Mediante simple inspección,el códigoparece enorme,peroel compiladorloúnicoque leerá
para la creacióndel programaes losiguiente:
Ejemplo
#include <iostream>
int main(void){ std::cout<<"HolaMundo" << std::endl;return0;}
Comose puede observar,este códigoyel original nodifierenenmuchosalvoenlossaltosde
líneay que loscomentarios,de losque se detallanposteriormente,estánomitidosytansólo
ha quedado"el esqueleto"del códigolegible parael compilador.Parael compilador,todolo
demás,sobra.
O este otro,que es,enparte, comoel lenguaje C,ensuversiónC99, es:
Ejemplo
6. #include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf( "HolaMundon");
returnEXIT_SUCCESS;
// 'EXIT_SUCCESS' esuna definiciónque estádentrode 'stdlib.h'
// tambienfuncionareturn0
}
Nota:si se usa Windows,el códigoesel mismo,perodebemosagregarunmetodomaspara
que el programa se mantengaabiertoyno se cierre la consola,cosaque en GNU, no es
necesariaporque la consolaya estaabierta(al mandara ejecutar).
Para estopodemosusarcin.get() que nospermitiraleerdel teclado,porloque el programano
finalizara,hastaque el usuariopulse enter.
Ejemplo
#include <iostream>
int main(void)
{
std::cout<< "Hola Mundo"<< std::endl;
std::cin.get();
//con 'std::cin.get();'loque se hace esesperarhasta que el usuariopulse enter.
return0;
7. }
Los pasossiguientessonparaunacompilaciónenGNUo sistemaoperativoUnix.EnWindows
tampocoes aplicable.
Con ctrl-x ctrl-sse guarda el archivo.Ahorapara generarel ejecutable delprogramase compila
con g++ de la siguienteforma:
$ g++ hola.cpp -ohola
Para poderverlosresultadosdel programaenacción,se ejecutael programade lasiguiente
forma:
$./hola
Y a continuaciónse debe mostraralgocomo losiguiente:
Hola Mundo
§Comentarios[editar]
Cuandose escribenprogramasesmuyútil agregar comentariosque ayudenaexplicarloque
realizaunprograma.En C++ se puedenutilizartrestiposde comentarios:al estiloC,al estilo
C++ y usando preprocesador.
Los comentariosal estiloCse caracterizanpor losiguiente:comenzarel "bloque"de
comentarioscon/* y terminardicho"bloque"de comentarioscon*/
Ej:
/*
Este es un comentarioal estiloC.
Todo loescritodentrode lasetiquetasde aperturaycierre esun comentario.
8. A estoscomentariosse le llamanmultilinea,logicamente
por el hechode permitirvariaslineasde comentarios.
*/
Si se usaneste tipode etiquetasde comentarios,hayque tenercuidadoconel cierre (*/),por
que el compiladorpuede tomartodoel textocomocomentario,ocerrar antesde lodeseado.
Usando el estilode códigode C++ sólopuedenocuparunalíneacomo enel siguiente código:
// Este esun comentarioal estiloC++
Una buenapráctica de programaciónes pensarque se programa a sabiendasde que otro
programador,tal vezel lectormismoenunfuturo,tengaque "desencriptar"qué quisohacer
ahí y por qué.
Otra posible formade comentarcódigoesusandoel preprocesador.Estose detallarámás
adelante en profundidad,porahorala parte útil del preprocesadorque interesaesla
siguiente:
#if 0
Comentariossobre el programa/parte del programa.
Puedenocuparmúltipleslíneas.
Más complicadode visualizarque loscomentariosC/C++
#endif
Este tipode comentariosse usanrara vez.Generalmentesondifícilesde localizar,inclusopara
programadoresexperimentadosque trabajanenpapel,ysonfácilesde distinguirencasi
cualquierIDE.Es recomendableindicarque se tratande comentarios,odirectamente no
usarlos,salvosi songrandescantidadesde comentarios.Se verámásadelante que también
puede tenerotrosusos.
9. §Utilizaciónde laconsolao terminal[editar]
En losejemplosanterioresse utilizaron'std::cout'.'std::cout'esun"objeto"que permite
escribirenlaconsola(laterminal enGNU/Unix/MacOSX),solose puedeutilizargraciasaque
se ha incluidodefinicionesde suusocon lalínea de código'#include <iostream>'.
std::cout<< ALGO;
Donde ALGO puede serloque seaque 'std::cout' seacapaz de mostrarpor consola.Más
adelante se tratamás sobre el endetalle yaclarandoposiblesdudasque ahorapuedansurgir.
Tambiénse utilizó'std::endl',estopermite que el textose escribaenunanuevalínea.
Un ejemplomáscompletosobre laescrituraenconsolaesel siguiente.Hade tenerse en
cuentaque se haneliminadoalgunoscomentariossuperfluosdel primerprogramadebidoa
que ahora se está tratandocon más detalle acercadel usode imprimirtextoenlaconsola:
Ejemplo
// Programa que muestradiversostextosporconsola
// Las libreríasdel sistemausadassonlassiguientes
#include <iostream>
// Función:main
// Recibe:void
// Devuelve:int
// Es la funciónprincipal encargadade mostrarporconsoladiferentestextos
int main(void)
{
// Ejemploconunaúnica línea,se muestrael usode std::couty std::endl
std::cout<< "Bienvenido.Soyunprograma.Estoyenuna lineade codigo."<< std::endl;
// Ejemploconunaúnica líneade códigoque se puede fraccionarmediante el usode '<<'
10. std::cout<< "Ahora"
<< "estoyfraccionadoenel codigo,peroenlaconsolame muestrocomo unaunica frase."
<< std::endl;
// Uso de un códigolargo,que cuestaleerpara un programador,yque se ejecutarásin
problemas.
// *** Nose recomiendahacerlíneasde estamanera,estaformade programar no es
apropiada***
std::cout<< "Un gran textopuede ocuparmuchaslineas."
<< std::endl
<< "Peroesono frenaal programador a que todose puedaponerenuna unica lineade
codigoy que"
<< std::endl
<< "el programa,al ejecutarse,lositue comoel programadorquiso"
<< std::endl;
return0; //Y se terminacon éxito.
}
Se reta a compilareste códigoya observarsusresultados.Eneste momentoel lectorestá
capacitadopara escribirprogramasque imprimanporpantallael mensaje que se quiera.
Atención:Se hace hincapié enlaposibilidadde que laspalabrasacentuadasnose puedan
mostrar enla consola.Depende completamente del compiladorel que se puedaverlo
siguiente:
std::cout<< "programación";
Con algunoscompiladores,verá'programación',peroconotrospuede verincluso'programaci
n'.
11. Advertencia:coutpuede serutilizadosintenerstd::de formapreviaporque se puede
introducirunadirectiva,denominada'using',que acomodatodosloscout.De otro modo
habría un error de compilador.Este temase trata endetalle másadelante.
usingnamespace std;
§Sintaxis[editar]
Sintaxiseslaformacorrecta enque se debenescribirlasinstruccionesparael computadoren
un lenguaje de programaciónespecífico.C++heredalasintaxisde Cestándar,esdecir,la
mayoría de programas escritosparael C estándarpuedensercompiladosenC++.
§El puntoy coma[editar]
El puntoy coma esuno de los simbólosmásusadosenC, C++; y se usacon el finde indicarel
final de unalíneade instrucción.El puntoycoma esde uso obligatorio.
ejemplo
´´´´´´
clrscr();//Limpiarpantalla,funcionasoloconlalibreríaconiode BorlandC++
x = a + b;
stringIP = "127.0.0.1"; // Variable IPtipostring
cout << IP<< endl;//Devuelve 127.0.0.1
char Saludo[5] = "Hola";// Variable Saludotipochar
cout << Saludo[0] << endl;//Igual a H
cout << Saludo[1] << endl;//Igual a o
cout << Saludo[2] << endl;//Igual a l
cout << Saludo[3] << endl;//Igual a a
12. El puntoy coma se usa tambiénparaseparar contadores,condicionalese incrementadores
dentrode un sentenciafor
ejemplo
for (i=0;i < 10; i++) cout << i;
§Espaciosy tabuladores[editar]
Usar caracteres extrasde espaciadootabuladores( caracterestab ) esun mecanismoque nos
permite ordenarde maneramásclara el códigodel programa que estemosescribiendo,sin
embargo,el usode estosesopcional ya que el compiladorignoralapresenciade losmismos.
Por ejemplo,el segundode losejemplosanterioresse podríaescribircomo:
for (inti=0; i < 10; i++) { cout << i * x; x++; }
y el compiladornopondríaningúnreparo.
§Tiposprimitivos[editar]
En un lenguaje de programaciónesindispensable poder almacenarinformación,paraestoen
C++ estándisponibleslossiguientestiposque permitenalmacenarinformaciónnuméricade
tipoenteroo real:
Nombre Descripción Tamaño* Rango de valores*
char Carácter o enteropequeño 1byte con signo:-128 to 127
sinsigno:0 a 255
short int(short)Enterocorto 2bytes con signo:-32768 a 32767
sinsigno:0 a 65535
int Entero 4bytes con signo:-2147483648 a 2147483647
13. sinsigno:0 a 4294967295
longint(long) Enterolargo 8bytes con signo:-2147483648 a 2147483647
sinsigno:0 a 4294967295
bool Valorbooleano.Puedetomardosvalores:verdaderoofalso 1byte true o false
float Númerode puntoflotante 4bytes 3.4e +/- 38 (7 digitos)
double De puntoflotante de doble precisión 8bytes 1.7e +/- 308 (15 digitos)
longdouble Long de puntoflotante de doble precisión 8bytes 1.7e +/- 308 (15
digitos)
Los valoresdependende laarquitecturautilizada.Losmostradossonlosque generalmentese
encuentranenunamáquinatípica de arquitectura32 bits.
§El modificadorlong[editar]
El modificadorlongle indicaal compiladorque el tipodebe utilizarmásbitsque los
normalmente utilizadosporejemplosi tenemosenunamaquinade 32 bitscomo un Pentium
de Intel,normalmentede unintocupara32 bits,perosi al declararloun enterole
antecedemoslongel enteroocupa64 bits,el siguiente códigomuestracomoutilizareste
modificador:
intcorto; // Enterode 32 bits
longintlargo;// Enterode 64 bits
§El Modificadorshort[editar]
Similaral anterior,peroindicaque se debenutilizarmenosbits.Porejemplo,enun
computadorde 32 bits,un shortint ocupa16 bits.
§El Modificadorunsigned[editar]
14. El modificadorunsignedesutilizadoúnicamente conlosenteros,suutilizaciónpermite utilizar
enlosenterosúnicamente laparte positiva,
inta; // Almacenavaloresentre -32768 y 32767
unsignedinta;// Almacenavaloresentre 0y65535
§El Modificadorregister[editar]
Este modificadorsobre unavariable le indicaal compiladorque lavariable debe almacenarse
enun registroenel compilador,que parael caso de losIA32, es unregistroreal de la propia
CPU, y por tantoel tiempode accesoes másrápidorespectoa la memoriaRAM.Hoy endía
apenasse utilizaeste modificador,yaque loscompiladoressoncapacesde determinarde
maneraóptimala asignaciónde registrosavariablesdel programa.
§El Modificadorvolatile[editar]
Al contrarioque el modificadorregistrer,volatile obligaal compiladoraforzarel código
resultante de maneraque lavariable modificadaconeste modificador,seaalmacenada
siempre enlamemoria.El efectoque tiene esque cuandolavariable se modificaconotro
valor,dichavariable se almacenadirectamente enmemoriaynoquedalocalizadoel valor sólo
enel registrode la CPU como pasabaen el caso de registeroencondicionesnormales.Unuso
muycomún enel que se suele empleareste modificador,esparaaccedera variablesque están
siendoutilizadaspordriversoporperiféricos,yaque si nodeclarásemosestapropiedad,
podría darse el caso que la CPU usase el valorde la variable,porloque la caché guardael
valor,y poco despuéslaCPUusase de nuevodichavariable,perocomoéstaestáencache, la
CPU coge el valorque existe enlacaché,que puede serbiendistintaal real puestoque un
posible periféricopuedehabermodificadosuvalor.
§El Modificadorstatic[editar]
Dependiendodel entornodonde se declarelavariable que lamodifiquemoscomostatic,
puede significardoscosasmuydistintas:
Si declaramosunavariable staticdentrodel cuerpode una función,loque estamos
indicándole al compiladoresque dichavariable seainicializadasolounavez(laprimeravez
que se llamaa lafunción),yel restode vecesque se llame ala función,lavariable contendráel
últimovalorasignado.Estavariable sólopodráservisibledesdelafunciónque declaradicha
variable.Porejemplo:
voidmifuncion(){
15. staticinti=0;
cout<<"En la entradai vale "<<i<<endl;
for(intj=0;j<10;j++)
i++;
cout<<"En la salidai vale "<<i<<endl;
}
Si declaramosunavariable staticfueradel cuerpode una función,loque le estamosindicando
al compilador,esque dichavariable esprivadaparael modulodonde se implementael código
del contextode lavariable,esdecir,que otroficheroobjetobinario,nopodráteneraccesoa
dichavariable utilizandoel modificadorextern.Ejemplo:
#import"prueba.h"
//variable privadaparaprueba.cpp
staticint i=0;
voidmifuncion(){
cout<<"En la entradai vale "<<i<<endl;
for(intj=0;j<10;j++)
i++;
cout<<"En la salidai vale "<<i<<endl;
}
Tengaen cuentaque para este últimocaso,ustedpodráaccedera la variable ydesde
cualquierfunciónque definadentrode prueba.cpp,peronotendráaccesodesde cualquier
ficheroobjetoofuente que noseaprueba.cpp
§Espacio que ocupanla variables(enmáquinasx86)[editar]
El espacioenbitsque ocupanenla computadorauna variable de este tipose puede verenla
siguiente tabla:
Tipo Númerode Bits
16. char 8
short 16
int 32
longint64
float 32
double 64
§Rango de losTiposPrimitivos[editar]
El rango que puede almacenarlostiposprimitivosenC++ esmuyimportante,parapodersaber
cual esel rango de valoresque puede almacenaruntipoesnecesarioconocerel númerode
bitsdel tipo.El caso para enterosypara flotantesesdistinto.Paraenterosse debe sabersi el
tipoescon signoo sinsigno.si es sinsignoel rangode valoresque puede almacenaresel
siguiente:
[0 , 2^{Bits} - 1 ]
Si el tipoes con signoel rangoes el siguiente
[-2^{Bits- 1} , 2^{Bits - 1} - 1]
Para ilustrarloanteriorsupongamosque tenemosunenterode 16bitssinsigno,entoncesel
rango de valoresque puede almacenaresel siguiente:
[0 , 2^{16} -1] = [0 , 65535]
Para obtenerel rangode un enterode 32 bitscon signose puede realizarel siguientecalculo:
[-2^{31} , 2^{31}-1] = [-2147483648 , 2147483647]
El caso de losnúmerosflotantesesdistintoydependeengranmaneradel compiladoryel
procesadorque este utilizando.Sinembargohoyendíala mayoría de loscompiladoresylos
procesadoresutilizanenestándarde laIEEE para representaciónencomaflotante.Parasaber
mas al respectoverIEEE floating-pointstandard.
§Tiposenumerados(enum)[editar]
Los tiposenumeradossonunmecanismousadoenCy C++ con el objetivode agruparde
algunamaneraconstantessimbólicas.Paradefinirtiposenumeradosse usalapalabra
reservadaenum.
Ejemplo1
enumdias{ domingo,lunes,martes,miercoles,jueves,viernes,sabado};
En el ejemploanteriorse definepormediode enumel tipoenumeradodias,enel mismo
ejemplose debe observarque dentrode laconstrucciónse definenlasconstantessimbólicas:
17. domingo,lunes,...sabado;yque a lasmismasel compiladorlesasignarárespectivamentey
por defectolosvalores:0,1, 2, 3, 4, 5, 6. Es decir,lasconstantesmencionadaspuedenusarse
dentrodel programay este sabrá a que valorhace referenciacadaunade las mismas.Por
ejemplo, lainstrucción:cout<< domingo;desplegará0 enla pantalla.El siguienteejemplo
muestracomo usarlas constantesenumeradasenunciclofor.
for (intd= domingo;d<= sabado;d++) cout << d;
En el siguiente ejemplose definepormediode enumel tipoenumeradocolores,enel mismo
se debe de observarlaelinacióndel comportamientopordefectoyaque a laprimera
constante (gris) se le asignaenformaespecíficael valorde 7, de tal maneraque la siguiente
constante (grisoscuro) tendráunvalorigual a8 y la constante amarilloseráigual a14.
Ejemplo2
enumcolores{ gris = 7, grisoscuro,amarillo=14 };
§Tiposdefinidosporel usuario[editar]
En muchas ocasionesdescubriremosque lostiposprimitivosnobastanpara llevaracabo
ciertastareas,debidoaestoel lenguaje C,C++ da el soporte necesarioparaque el
programadordefinasuspropiostipos.Paradefinirtiposse usalapalabrareservadatypedef.
Por ejemplo,si deseamos definiruntipode dato llamadoenteropodemosusarlasintaxis:
typedef intentero;
Luego,podremosdeclararvariables,constantesyfuncionesdel tipoentero.Porejemplo,
enteroedad= 33;
Un uso más útil ycomún esel empleode typedef paradefinirdatosestructurados.Por
ejemplo, supongamosque deseamosdefiniruntipoestructuradollamadopersonayque
contenganombre,edadysexo.Entoncespodemosdefinirpersonacomo:
typedef structpersona{
char nombre[32];
int edad;
char sexo;
};
Una vez que untipoya se ha definido,el mismopuede emplearse paradeclararvariablesy
constantesde este.Porejemplo,conlainstrucción:
personahombre;
18. se está declarandolavariable hombre del tipopersona.Luego,paraaccedera cada elemento
de la variable hombre usaremosunmecanismoconocidocomodireccionamientodirectopor
mediodel carácterde punto ( . ). Por ejemplo,laedadde hombre se debe indicarcomo:
hombre.edad
§Variablesyconstantes[editar]
Una variable,comosunombre lo indica,esundeterminadoobjetocuyovalorpuede cambiar
durante el procesode una tareaespecífica.Contrarioauna variable,unaconstante esun
determinadoobjetocuyovalornopuede seralteradodurante el procesode unatarea
específica.EnC, C++ para declararvariablesnoexiste unapalabraespecial,esdecir,las
variablesse declaránescribiendoel tiposeguidode unoomás identificadoresonombresde
variables.Porotrolado,para declararconstantesexiste lapalabrareservadaconst,asícomola
directiva#define.A continuaciónse muestranejemplosde declaraciónde variablesy
constantes.
Variables Constantes Constantes
inta; const inta = 100; #define a100
floatb; const floatb= 100; #define b100
Notas:
A diferenciade lasconstantesdeclaradasconlapalabraconst lossímbolosdefinidoscon
#define noocupanespacioenlamemoriadel códigoejecutable resultante.
El tipode la variable oconstante puede sercualquierade loslistadosenTiposprimitivos, o
biende untipo definidoporel usuario.
Las constantessonusadasa menudoconun doble propósito,elprimeroesconel finde hacer
más legibleel códigodel programa,esdecir,si se tiene (porejemplo) laconstante numerica
3.1416 y estarepresentaal númeropi,entoncespodemoshacerdeclaracionestalescomo:
#define pi 3.1416
En este caso podremosusarla palabrapi en cualquierparte del
programa y el compiladorse encargaráde cambiar dichosimbolopor3.1416.
o bien,
const pi = 3.1416;
En este otro caso podremosusarlapalabra pi encualquierparte del programay el compilador
se encargará
de cambiar dichosímboloporuna referenciaala constante pi guardadaenla memoria.
19. Programa suma de dos
“1”
En Lenguaje C
#include<stdio.h>
#include<conio.h>
voidmain()
{
intn1,n2;
printf ("Primernumero:");
scanf ("%d",&n1);
printf ("Segundonumero:");
scanf ("%d",&n2);
printf ("Lasuma es:%d",n1+n2);
getch();
}
“2”
este esel códigoenc++
#include <stdio.h>
#include <conio.h>
#include <math.h>
main()
{
floata,b,c;
printf ("introduce el primernumero");
scanf ("%f",&a);
20. printf ("introduce el segundonumero");
scanf ("%f",&b);
c=a+b;
printf ("susumaes = %f",c);
getch();
}
“3”
Visual Basic
Metesdos cajasde texto
un Botónde comando
Código:
private subCommand1_Click()
msgbox Val(text1) +val(text2)
End sub
ESTO SERIA LA MANERA ,MAS SENCILLA DE HACERLO, CLAROESTÁ, SIN VALIDARNADA (ES
DECIR, SINO METES NÚMEROS Y DASCLIC DARÁ ERROR)
Perosi metes dosnúmerosy dasclic tododeberíair bien
“4”
estabiente escribire el codigoenvisual basic6.0
tendrasque hacer 2 cajas de texto(paralonumerosasumar),un label(mostrarel resultado) y
un button(oprimirparainiciarlasuma).
' estosonsolo comentarios,conestacomillasimple'
21. dimnum_1 as integer
dimnum_2 as integer'declarandolasvariables'
dimsuma as integer
subprogram clickbutton1 'iniciaprocedimiento'
suma=num1+ num2 'sumandolosnumeros'
label.caption=suma'muestraen el labelel resultadode lasuma'
endsub'terminael procedimiento'
y listo,enrealidadnoesnadadificil,esunbuenlenguaje paraprogramar.