Está en la página 1de 7

RepblicaBolivarianadeVenezuela AldeaUniversitariaLiceoFrayPedrodeAgreda TrayectoI IntroduccinalaProgramacinIII Fac.ElasCisneros Fac.JuanCisneros LenguajedeprogramacinCyC++ MaterialextradodeWikipedia,laenciclopedialibre Contenido Antecedentes......................................................................................................................1 Filosofa.............................................................................................................................2 ANSICeISOC................................................................................................................2 BreveReseadeC++........................................................................................................3 Algunoslenguajesdeprogramacinysuclasificacin.....................................................3 EstructurabsicadeunprogramaenC++.........................................................................

4 CompilacindeunprogramaescritoenC++enplataformaLinux.................................6

Antecedentes C esunlenguajedeprogramacincreadoen1969porKenThompsonyDennisM. RitchieenlosLaboratoriosBellcomoevolucindelanteriorlenguajeB.Aligualque B,esunlenguajeorientadoalaimplementacindeSistemasOperativos,concretamente Unix. C es apreciado por la eficiencia del cdigo queproduce y es el lenguaje de programacinmspopularparacrearsoftwaredesistemas,aunquetambinseutiliza paracrearaplicaciones. Se trata de un lenguaje dbilmente tipado de medio nivel pero con muchas caractersticasdebajonivel.Esnecesarioaclararqueunlenguajefuertementetipado:es un lenguaje en el que los tipos de datos semantienen siempre. Javay Pythonson fuertementetipados.Sisetieneunentero,noselepuedetratarcomounacadenasin convertirloexplcitamente. Lenguajedbilmentetipadoesunlenguaje enelquelostipospuedenignorarse;lo contrariodefuertementetipado.VBScriptesdbilmentetipado.EnVBScript,sepuede concatenarlacadena'12'conelentero3paraobtenerlacadena'123',ydespus tratarlacomoelentero123,todoellosinconversinexplcita.

1/7

Filosofa EsmuyposibleescribirCabajoniveldeabstraccin;dehecho,Cseuscomo intermediarioentrediferenteslenguajes.Enparteacausadeserderelativamentebajo nivel y de tener un conjunto de caractersticas modesto, se pueden desarrollar compiladoresdeCfcilmente. Ctienelassiguientescaractersticasdeimportancia:

Unncleodellenguajesimple,confuncionalidadesaadidasimportantes,como funcionesmatemticasydemanejodeficheros,proporcionadasporbibliotecas. Esunlenguajemuyflexiblequepermiteprogramarconmltiplesestilos.Uno delosmsempleadoseselestructurado. Unsistemadetiposqueimpideoperacionessinsentido. Usa un lenguaje de preprocesado, el preprocesador de C, para tareas como definirmacroseincluirmltiplesficherosdecdigofuente. Accesoamemoriadebajonivelmedianteelusodepunteros. Unconjuntoreducidodepalabrasclave. Los parmetros sepasan porvalor. El pasopor referencia sepuede simular pasandoexplcitamenteelvalordelospunteros. Punterosafuncionesyvariablesestticas,quepermitenunaformarudimentaria deencapsuladoypolimorfismo. Tipos de datos agregados (struct) que permiten que datos relacionados se combinenysemanipulencomountodo.

Cesmseficientequeotroslenguajes.Tpicamente,slolaprogramacincuidadosaen lenguaje ensamblador produceuncdigoms rpido,pues dacontrol total sobrela mquina,aunquelosavancesenloscompiladoresdeCylacomplejidadcrecientedelos procesadoresmodernoshanreducidogradualmenteestadiferencia.En1973,ellenguaje CsehabavueltotanpotentequelamayorpartedelkernelUnix,originalmenteescrito enellenguajeensambladorPDP11/20,fuereescritaenC.stefueunodelosprimeros ncleosdesistemaoperativoimplementadosenunlenguajedistintoalensamblador.

ANSICeISOC Afinalesdeladcadade1970,CempezasustituiraBASICcomolenguajede programacin de microcomputadores predominante. Durante la dcada de 1980 se empezausarenlosIBMPC,loqueincrementsupopularidadsignificativamente.Al mismotiempo,BjarneStroustrupempez atrabajarconalgunoscompaerosdeBell LabsparaaadirfuncionalidadesdeprogramacinorientadaaobjetosaC.Ellenguaje quecrearon,llamadoC++,eshoyendaellenguajedeprogramacindeaplicaciones

2/7

mscomnenelsistemaoperativoMicrosoftWindows;mientrasqueCsiguesiendo mspopularenelentornoUnix. TambinsehancreadonumerososlenguajesinspiradosenlasintaxisdeC,pero quenosoncompatiblesconl:


Java,queunelasintaxisdelC++aunaorientacinaobjetosmssimilaralade SmalltalkyObjectiveC. JavaScript,unlenguajedescriptingcreadoenNetscapeeinspiradoenlasintaxis deJavadiseadoparadaralaspginaswebmayorinteractividad.Alaversin estandarizadaselaconocecomoECMAScript. C# (pronunciado CSharp)esunlenguajedesarrolladoporMicrosoftderivado deC/C++yJava.

BreveReseadeC++ Enlos laboratoriosdeAT&TBell,queBjarnesStroutstrupdise ydesarroll C++ buscandounlenguajeconlasopcionesdeprogramacinorientadaaobjetos. Enese entonceseldesarrollodelestndardeC++acaparabalaatencindelosdiseadores.En elao1995,seincluyeronalgunasbibliotecasdefuncionesallenguajeC.Yconbaseen ellas,sepudoen1998definirelestndardeC++. Esunmito pensarqueentoncesC++desplaz aC,algunassolucionesa problemas requierendelaestructurasimpledeCmsqueladeC++,Cgeneralmenteesusadopor comodidad para escribir controladores de dispositivos y para programas de computadorasconrecursoslimitados. C++proporcionaorientacinaobjetos,estaversincombinalaflexibilidadyelacceso debajoniveldeCconlascaractersticasdelaprogramacinorientadaaobjetoscomo abstraccin,encapsulacinyocultacin.Unaconsideracinimportanteesquehastala publicacindeesteestndar,ChabasidomayormenteunsubconjuntoestrictodelC++. Era muy sencillo "actualizar" unprograma deChacia C++ ymantener esecdigo compilable en ambos lenguajes. Sin embargo, el nuevo estndar agrega algunas caractersticasqueC++noadmite. Algunoslenguajesdeprogramacinysuclasificacin Altonivel Ada Modula2 Pascal Cobol Nivelmedio C++ Java C FORTH Nivelbajo Ensamblador

3/7

FORTRAN Basic

Macroensamblador

EstructurabsicadeunprogramaenC++

usingnamespacestd; #include<iostream> intmain(void) { cout<<Megustalaprogramacin<<endl; return0; }

Declaracindelibreras Funcinmainoprincipal Llavesdeaperturadela funcinmain Secuenciadeinstrucciones Valorderetornodela funcin Llavesdecierredelafuncin

Anlisisdelcdigofuente usingnamespacestd; #include<iostream> Lapartedel#includeserefierealabibliotecadefuncionesquevamosaimpotaro utilizar.Esdecirparallamaraunabibliotecaenparticulardebemoshacerlosiguiente: #include<librera_solicitada> El estndar de C++ incluye varias bibliotecas de funciones, y dependiendo del compiladorqueseestusando. intmain(void){ TodoprogramaenC++comienzaconunafuncinmain(),yslopuedehaberuna.En C++elmain()siempreregresaunentero,esporesoseanteponeintalapalabra main.Losparntesisquelesiguencontienenloqueselevaapasaralafuncin.En 4/7

estecasosepusolapalabravoidquesignificavaco,esdecirquealafuncinmainno seleestmandandoningnparmetro,podraomitirseelvoiddentrodelosparntesis, elcompilador asumequenoseenviar nada.Lallavequeseabresignificaquese iniciarunbloquedeinstrucciones. cout<<holamundo<<endl; Esta es una instruccin. La instruccin cout est definida dentro de la biblioteca iostream.h,quepreviamentedeclaramosque bamosautilizar.Unafuncin,en este casomain()siemprecomienzasuejecucinconunainstruccin(laqueseencuentraen lapartesuperior),ycontinaashastaqueselleguealaltimainstruccin(delaparte inferior).Paraterminarunainstruccinsiempresecoloca;. return0; Estaesotrainstruccin,enestecasolainstruccinreturndeterminaqueesloquese devolver de la funcin main(). Habamos declarado que main devolvera un entero,as quelainstruccinreturndevuelve0.Locualasuvezsignificaquenohan ocurridoerroresdurantesuejecucin. } Lallavedecierredelafuncinmain()indicaelterminodelbloquedeinstrucciones.En algunos programas de ejemplo, notar el uso de dobles diagonales (//). Estas diagonales se usan para escribir comentarios de una lnea dentro del cdigo del programa.Ademspodr encontrarelusode/**/estoscaracteresencierranun comentario de varias lneas y cualquier cosa que se escriba dentro de ella no influenciareneldesempeodelprograma. Tambin ver quemuchas vecesutiliza unadiagonalinvertida(\).Estesignose utilizacuandounainstruccinocuparvariaslneasyporrazonesdeespacioenlahoja esmejordividirlaenpartes.

Procesodecompilacin La compilacin de un programa C o C++ se realiza en varias fases que normalmentesonautomatizadasyocultadasporlosentornosdedesarrollo: 1. PreprocesadoconsistenteenmodificarelcdigofuenteenCoC++segnuna seriedeinstrucciones(denominadasdirectivasdepreprocesado)simplificando deestaformaeltrabajodelcompilador.Porejemplo,unadelasaccionesms 5/7

importantes es la modificacin de las inclusiones (#include) por las declaracionesrealesexistentesenelficheroindicado. 2. Compilacinquegeneraelcdigoobjetoapartirdelcdigoyapreprocesado. 3. Enlazado que une los cdigos objeto de los distintos mdulos ybibliotecas externas(comolasbibliotecasdelsistema)paragenerarelprogramaejecutable final. CompilacindeunprogramaescritoenC++enplataformaLinux g++:ProgramacompiladordeC++ Abrirunaconsolaolneadecomandoyescribir g++ejercicio1.cppoejercicio1 Ejercicio:escriba,compileyejecuteelsiguienteprograma. using namespace std; #include <iostream> int main() { cout << ""<<endl; cout << "Esto es un mensaje"<<endl; cout << "Bienvenido al mundo de la programacin"<<endl; cout << ""<<endl; return 0; } Actividadesdeestudiosindependientes RevisarlossiguientesrecursosdisponiblesenInternet TallerdelenguajeCParte1(Operaciones) http://es.youtube.com/watch?v=2xUakJkWeSI TallerdelenguajeCParte2(Variables) http://es.youtube.com/watch?v=fkOMDxbXfDc TallerdelenguajeCParte3(ControldeFlujoSentenciaIfyFor) http://es.youtube.com/watch?v=Y1NSpOF6LBM TallerdelenguajeCParte4(ControldeFlujoSentenciaIfyFor) http://es.youtube.com/watch?v=fXtwRUTqNU

6/7

TallerdelenguajeCParte5(ControldeFlujoSentenciaSwitch) http://es.youtube.com/watch?v=mUFohxcpE9Q TallerdelenguajeCParte6(SenteciasIterativasFor) http://es.youtube.com/watch?v=54WU3v1e8RM TallerdelenguajeCParte7(SenteciasIterativasWhile) http://es.youtube.com/watch?v=DbxIn07vgIk TallerdelenguajeCParte8(SenteciasIterativasDoWhile) http://es.youtube.com/watch?v=QYriZlH1bd4 TallerdelenguajeCParte9(SenteciasIterativasUsodelBreakyContinue) http://es.youtube.com/watch?v=SJwV2gyGXvQ TallerdelenguajeCParte10(SenteciasIterativasUsodeArreglos) http://es.youtube.com/watch?v=xZE7gJvJ0Is TallerdelenguajeCParte11(SenteciasIterativasUsodeArreglos) http://es.youtube.com/watch?v=j0vkHeu73FA TallerdelenguajeCParte12(SenteciasIterativasUsodeArreglos) http://es.youtube.com/watch?v=JMFfR2TepPM TallerdelenguajeCParte13(SenteciasIterativasUsodeArreglos) http://es.youtube.com/watch?v=ryAreSuBd2M EjerciciodevoltearPalabra ProgramacinenC(Bsico) http://es.youtube.com/watch?v=1zF5DqrvAtc Recursos http://sourceforge.net/projects/devcpp/

7/7

También podría gustarte