Está en la página 1de 111
UNIVERSIDAD TECNICA DE AMBA eseatieg FACULTAD DE CIENCIA HUMAN EDUACION Contenido ELEMENTO TURBO CF... TURBO C +t..., Brewe historia, CARACTERESTICAS DE C++. OPERADORES EN C++. Tipos de datas en CH. Tipos de datos simples FUNCIONES occ La funciin main)... Funciones de E/'S basicas. La funcién scant. La funcidn print. LUIBRERIAS ¥ FUINCIONES: Ashqui lsrael Cee ~ Ashqui israel stdioh : AG canic.h getcht); Declaracidn de variables SINTAXIS DE LAS SENTENCIAS ¥ FUNCIONES DE C... SENTENCIA DE ASIGNACION... ENTRADA Y SALIDA ESTANDAR.. Sentencia WHILE! cesses BID WHILE! cosets CREACION DE BUCLES ANIDADOS SWITCH: SENTENCIA FOR... ear Cemtadete eee Acumuladior: ..... FUNCIONES Cer... Vectores, Matrices y Punteras en c++... VECTORES .. MATRICES... PUNTEROS.. ARITMIETICA DE PUINTEROS ...... VECTORES DINAMICOS.. MATRICES ¥ PUNTEROS .. MATRICES DINAMICAS 0.0 ELEMENTO 2 CIERCICINS C++. SENTENCIA IF. Programa N.-1 .- Disefie un programa que me permite ingresar 3 nmeros enteros desde teclado que corresponden a 3 notas las mismas que deben estar entre 1 y 10, obtenga el promedio correspondiente y determine su equivalencie. ... 2 : 39 Cre - Ashqui Israel Andlisis: a PROGRAMA N.-2.- Disefie un programa que me permite ingresar un numero entero desde teclado desde 1 al 7 y que determine o visualice el nombre del dia de la semana que corresponda ... ice ANALISI nee ie eeceiitetaris serene ME PROGRAMA N.-3.- Disefie un programa que me permita obtener las comisiones de ventas de la empresa XYZ, Bajo los siguientes condicionamientos si el valor de la venta eS igual B......- eee 46 ANALISI CODIFIGACIONS soe non PROGRAMA N.-4.- Disefie un programa que me permita ingreser 2 numeros por teclado y realizar la suma de los mismos. nD ANAL Sid: cuocul a canmnnmenaea neemiees eect ouan so CODIFICACION; 10. osc sentences so PROGRMA N.-5 Realice ja suma de 2 nmeros siempre que el primer valor este entre 3y 23 y el segundo valor este entre 5y 17....... Bein ANALISIS: etmsamsnteeei etteemseteeese DL PROGRAMA N--6. Disefie un programa que me permita ingresar el nombre de una persona y la edad de la misma que debe estar entre 3 y 85, para obtener las siguientes equivalencias: i amninciaieo ANALISIS: esmsamseiranessnarsetmnats onan nna AL CODIFICACION...........- a 54 PROGRAMA 7. Disefe un programa que me permita simular la venta de praductos en una factura, de la cual necesitamos ingresar el nombre del producto, la cantidad, precio unitario y calcular el precio total. El programa se repite n veces sein las productos que el usuario desee ingresar. 57 ANALISIS: Saest So TET PROGRAMA N.-9 Disehe un programa que me permita calcular el promedio general de las notas de distintas materias correspondientes al 2° Semestre de Docencia en Infarmética, en donde cada una de las notas ingresadas debe estar entre Ly 10. ' ; See ee rere nef Anil Core - Ashqui israel PROGRAMA N.-9 Realice un programa en C++ que me permita obtener el liquide a recibir de un emmpleade bajo los siguientes pardmetros: nee BL SSMS econ tse rire Ree: Saiaisantouiriomaiai oni CODIFICACION: r aes eee eee Or PROGRAMA N.-L0, imir un borde de pantal — See nett ae tome atmermanmre mre OB ANALISIS: 6 BMRILAD fear serrercnes ence aiseeei ies pan cee neces nae conn sees 66 PROGRAMA N11 Disefie um programa que me permita imprimir un borde de Andlisis: Este programa nos permite generar un margen o borde en pantalla para mejorar la presentacién em pamtallan. eee eee BB Codificacion..... i r eee renee merece 8) PROGRAMA N.-12. Diseiw un programa que me permita visualizar lu serie de los ey cS eee ee Anilisis: este programa nas va a generar el borde en pantalla asi come también generara los niimeros pares ingresando un limite ingresando desde teclade...70 Corrido: nee am PROGRAMA N.-13.- Disefe un programa que me permita visualizar la serie de los niimcras pares y lus impures que existen hasta el ienero limite ingeesado desde tvelado, 7 ANALISIS: este programa nos ayuda a generar nimeros pares e impares y a la vez nas genera el borde. n Codificacin: 7a PROGRAMA N.-14.- Disefe un programa que me permita generar las tablas de car de cualquier factor ingresado desde teclade y par cualquier limite ingresado desde teclado, el programa se genera n veces, disefe el borde en m4 este programa genera ell horde como también genera la tabla de multiplicar ingresando por teclado el mimero y el litMit®, ...-.c0-nnoneoenmnnen FA Codificacién: Pees sn FS Seg ee ee wn nr ee ee ee Ben ier eee ee eee a ce Cee = Ashgui larael (CodifICAda serinmesnomesesniesni mensions natin seniaeninanaeieimiie 76 4.-Analisis del Programa: . evenness FB Ce ae BPR Cera ne eee eee er ei . 80 BT 1 ee eens Programa 19... ee BE PROGRAMA N.-21. -Disefie un programa que me permita generar la siguiente serie de datos: primos en ¢l numerador ¢ immpares en el denominador,} a4 a eT PROGRAMA N.-22.-disefie un programa que me permita generar la siguiente serie de datos: como numerador los mimeras impares y como denominadar ka serie fibonasi.... ; son BB CODIFICADO: soeseereeese BBL ANALISIS, sin side PROGRAMA N.-23.- Disefie un programa que me presente un ment de opciones con las operaciones bisicas, estas son suma, resta, multiplicacién, divisién y una ‘opcidn para salir del programas... .c.::scisunninnininentnnini anc BB SL PROGRAMA N24. Disefe un programa con un meni de opciones que me permita calcular las areas y perimetros de las 4 figuras basicas: circulo, cuadrado, ‘triangulo, rectinguls. clo! fies ANALISIS. Programa 25 ANALISIS CODIFICADO: Programa 26... Analisis: .. Gee - Ashqui Israel Cod FEACIEME sessumsinnennmnnnnminnnnisianininssssnmssnesesen LOZ Programa 27 cscs ee ee 0 105 a oe coer 105 Codificacién:................ ie salah i we to ara - 105 Programa 28... scscresnrrennecimenneer pee Ee nce 108 Codificado:........... a ann 0 Programa 29... Anali Codificacién: Programa 30... Analisis: CoDIFlcado: Programa 32... CODIFICADO: .. ELEMENTO 3..... ELEMENTO 4... Funciones vectores matrices PROGRAMA 33. 1, ENUNCIADO.... 2. ANALISIS, 3. DOCUMENTACION, 4. CORRIDO DEL PROGRAMA. PROGRAMA 34. 1. ENUNCIAD 2. ANALISIS, 3. DOCUMENTACION, 4. CORRIDO DEL PROGRAMA. Programa 35 ENUNCIADO... Programa 36... Ces - Ashqui Israel Ces ~ Ashqui Israel Programa 37 soonmne 13 (Pe ETS Sent ha ssn 138 a seeerereeene ee A a = 150 Prom ram Sor scence aes eeeestona re pec incn nono, z 153 Penge] 92 nent eee SB Programa 43 .. 5 E =e Programa 44... Programa 45... Programa 46... Programa 46. PROGRAMA 48... PROGRAMA 43... ee ELEMENTO 1 programaS .. Programa 52.-. SSeorer rae TURBO C ++ Programa 53. PROGRAMA 54. =a C++ comenz6 a desarrallarse en 1980 en Ios laboratorios de la Cia. AT&T. Es uma fiinpliscién del Icaguaje C. El nombre C++ provicne del opcrador increment ++ Es un lenguaje pat y es muy importante para empezar a aprender a Programa S622 oe eee eee I Peper Sox principals curoctarfstioas sn Programacida esimcturada, Abundancia de operadores y tipos de datos, riqueza y flexibilidad ea las expresiones, sobrecarga de funciones y operadores Programa 55 . Programa 57... Programa 58... Programa 59... Programa 60... Programa 61 .. Programa 62. BIBLIOGRAFIA: C++ - Ashqui Israel TURBO C ++ Breve historia E! languaje C fua inventada por Dennis Ritchie en 1972 cuando trabajaba, junto con Ken Thompson, en el disefo del sislema operative UNIX. El lenguaje CG deriva del lenguaja B de Thompson, el cual, a su vez, deriva del Jenguaje BCPL desarrollato por Martin Richards. Durante muchns afios el estindat de C fue la wersién proporcionada con el sistema operativo UNIX version 5. Pero pronto empezaron a surgir muchas implementaciones del C raiz de la popularidad crecienta de los microordenadores. Por este motive, se hizo necesario definir un C esténdar que esl representado hoy por el ANSI-C. En este tulor se va a estudiar el C estandar. No obstante, si la opcién turbo esl i fa, lambién se incluira en la explicacién la versién Turbo C de Borla ee Que es uno de los mejores compiladores de C que exisien en el CARACTERISTICAS DE C++ © El nombre C++ fue propuesta por Rick Masciti en ef aho 1983, cuando el lenquaje fue ulilizado por primera vez fuera de un laboralorio cientifica. Antes se habia usado el nombre “G con clases", En G++, la expresin "G++" significa “incremento de C* y se refiere a que Cr+ es una extension de C. Programacion de bajo nivel {nivel bit}, + Lenguaje estructurado, ‘C++ - Ashqui Israel Tiene un conjunto completo de instrucciones de control Permile la agrupacién de insiruccionas, Tamafo pequefio. Comandos breves (poco tecleo), El generar programas eficientas. Un punto en contra es que tiene una deteccién pobre de errores, lo cual en ocasiones es problematico para los principiantes. La posibilidad de poder ser compilade en una variedad de computadoras, con pooos cambios (portabilidad), OPERADORES EN C++ Igual que Menor que Ve Neat tt Breen eT Peete Tipos de datos en C++ Los fipos de datos primitivas en C++ son: numéricos enteras, numériogs reales, tipo légico y tipo caracter ampliado, Bepgonec nes El tipa de dato numérica entero es un sudconjunto finito de las numeros enteros del mundo real. Pueden ser positivos © negativos En Cr+ los tipas de datos numdéricos enteros son los siguientes: Tipo de Descripcion Numero de Rango Dato. bytes tipico short Entero corte 2 92768 a 32767 int Entero: 4 2147483648 +214 7483847 long Enteto larga 4 “2147483548 42147489547 char Caracter 1 128.8127 ‘Con los tipos enleros pueden ullizarse los calilicadores signed y unsigned. Estos ccalificadores indican si el nimero tiene signo 0 no. Si se usan solos, sin indicar el tipo de dato se asume int. Por ejemplo, las siguientes declaraciones son equivalentes: unsigned int x; equivale a: unsigned x; Usando estos calificadores podemos tener los siguientes tinos enteros: Tipe de Dato Descripcién Numero Ranga signed short Entero corte “32768 a 32767 unsigned Entero corto sin Oa 65595 short signo signed int Entero 2147483648 a +2147483647 unsigned int Entero sin signa Oa 4294967295 signed long —Entero largo 2147489648 a +2147483647 unsigned = Enlero. largo sin 0 a 4294987295 Jong signo signed char Caracler 1288 127 unsigned = Garacler sin signa 0a 255 char Gas - Ashaui Israel Podemos ver que los datos enters de tipo skaned son equivalentes 4 los enteras sin utilizar el calificador signed inta: es equivalente aescribir int a: Sree ren Ellipo de dato numérico real es un subconjunto finilo de los nimeros reales, Pueden Ber positives o negativos. En G++ los tipos de datos numérioas reales son los siguientes: Tipo Descripcién Numero de de bytes coma tlotante} Real dabie(Numero 8 en coma flolante de Negatives: -1.7E-308 a -1.7E308 dole precisidn) Realdoblelargo 10 Positives: 346-4992 a 1.14992 Negatives: -34E-4992 a - A1Eaaa2 Los datos de este tipo sdla pueden contener dos valores: true 6 false (verdadero 6 falso). Sise muestran como enteros, el valor true toma el valor 1 y false el valor 0. Tipe Deseripcion Numero Rango de de bytes Gato tipico ‘Bool Dato de tipa légico 1 7 Tipo caracter extendido Este tipo se utiliza para raprasentar caracteres UNICODE, Utiliza 2 bytes a diferencia del tipo char que solo ubliza 1 Tipo Descripcion Numero Ranga de de bytes Dato tipico Ee Cardeter Unicode 2 Da 65535 Tipos de datos simples Los pos de datos simples en © son: Gee - Ashqui Israel tiene pardmetros, es decir, si desde la linea de comando se llama con valores de entrada, la cosa cambia, ¥ nos Oouparemos de la funcién main{} con pardmetros mas adelante. Funciones de E/S basicas FUNCIONES. Las funsiones son un conjuntin de insiricciones que revlizan una tana expecifica, En general toman ciertes valores de entrada, Mamadns pardmetres ¥ peoporcionan un valor de salida © valor de retro; amngue en C++, tanto uns comes el etre son epcionales, y pueden no existit. Tal ¥ez parezca wn poco precipilado introducir este concepte tan promic en el curse, Sin embargo, las fulnciones som tina herramienta mily Yalosa, ¥ coma se usan en todos los programas C++, erea que debemos tener, al menos, una primera nocidm de su uso. A fin de cuentas, todos les programas C++ coaticnen, como miaime, nna funcién. La funcién main(} Las lunciones de E/S son las que se ulllizan para caplurar dalos desde el teclado imprimirlos por medio de la salida estindar (monitor). Estas inslrucciones soportan La funcién scant La funcién scant captura cualquier tipo de dato introducido por el teclade, y para esto, 8s necesario incluir en su llamada a funeidn el tormalo 0 tipo de dato que se pretende leer por teclado, ejemplo: scant{'ed', 8x): En este caso, se especifica una entrada de lipo decimal o entero ("Mid"), mientras ‘que el operadar de direccién (8) indica que se debe quardar el valor en la localidad de memoria x, en otras palabras, indica que se recinird un valor entero y 58 debe almacenar en la variable x. Ahora bien, los tipos de formato mis usados para la instruccién scan! son: Numero real a flatante Dato too Garacter Sin signo: La funci6n printf scanf(%éd",8x); /" Se lee la variable como antera *! printfi(oc"\x); * Se escribe como caracter *! = — Cea - Ashqui Israel Cee ~ Ashqui Israel LIBRERIAS Y FUNCIONES. Hinelude Las librerias son archives que en C contienen las funciones que son las aeciones que C nos permite hacer estas son las lihrerias mas usadas per que san librerias estandares de entrada Esta libreria trae estas funciones: vy salidas de dates tenemas la librerias. stdio.h se agrepa asi: Esta trae muchas funciones son estas (para jer ala ayuda de turbo c ahi se puede encentrar mucha infarmacién debes presionar FL o sombrear una palabra y presionar ctrl + Fy te aparecers la ayuda en relacién ala palabra sambreada) Ctra funcién muy usada es la funeidn seanf esta nes sirve para leer una variable (pedir un valor al usuario) su sintaxis es as De las cuales las mas utilizadss son es la variable alla cual le vas a asignar al valor que s2 esta leyendo yen %éd debe ser el tipo de archiva que se quiere leer, Otra libreria que también nos servird de mucha utllidad es Cirscr Esta funcidn nos sirve para limpiar lo que este en la pantalla de nuestro programa ‘easis siempre lo debe llevar un programa para que no se acumulen los textos su sintaxis. as. asi: conio.h recuerda que las librerias se agregan al programa as/ elesert), -optintf esta es parecida a la funcidn printf can la diferencia que esta es un poco mas especial por ejemplo cuando le ponemos el modificador de texto \n no regresa al principio de Ia linea sino se queda en al final del ultimo. parrafo {tendrés que hacer pruebas para entenderia mejor} o si antes le antepanes Ia funcidn textealer puedes modificar el colar de las letras. ape ORe PARTE EAT Ia Gee - Ashqui Israel su sintamis es: ‘eprintt("texto"}; sintaxis con la funcidn texteolor textcolor(numero); eprinitttexto}; en donde dice numero puede ir un numero del 1 al 15, por ejemplo el numero Fes el olor rojo. La funcidn geteh sive para detener Ia pantalla sin esta funcion no se puede aprectar | programa por que pasa demasiaca rapide pero, con getch para el programa para apreciar el resultado hasta que se preciene una lecla normalmente va antes de terminar el main. su sinlavis es la siguiente: geteh(}; Declaracién de variables Es necesario deciarar las variables que se utilizarén en el programa, de mace que el compilador reserve un espacio en memoria para esas variables, la sintaxis es: [tipo] [nombre_de_la_variable] [dimension] ; (la dimension solo s@ usa para arregins). Ejemplo: int x; inl arregio [100]; 7 ya que hablamos de variables, cabe menclonar que las variables pueden ser declaradas globales o locales, solamente camo referencia, las variables globales son aquellas variables que conservan su valor durante la ejecucién de todo el programa y se declaran antes del main(), mientras que las variables locales solamente tignen valor durante la ajecucicn de Ia funcién © procedimiento en que fueron declaradas y se deolaran después de la llave que indica el principio de una tuncién © procedimiento, De cualquier manera, las diferencias entre las variables locales y globales seran objelo de estudio mas adelante. C++ - Ashqui Israel SINTAXIS DE LAS SENTENCIAS Y FUNCIONES DE C Pera presentar los formatos de las sentencias, macros y funciones de ©, se aplicatn, Cuando se tate de presentar la sintaxis correspondiente a una macro o a Una Funcién, se dard la siguiente informacion: SENTENCIA DE ASIGNACION Una sentencia de asignacién tiene la forma: Variable e operader-de-asignacién expresién la sentencia de asignacién es asimétrica, Esto quiere decir que se evalua la expresion de la derecha y el resullado 58 asigna a la variable especilicada a la izquierda. Por ejemplo: Seqiin lo expuesto, la siguiente sentencia no seria valida: S.LALS92"F' redredi Si la variable es de Lipo puntero, solamente se le puede asignar una direocion da memoria, la Gual Sera siemare distinta da 0. Un valor 0 (se simboliza con NULL) sirve para indicar que esa variable puntero no apunla a un dato valida. Por ejemplo: iiig=10,'0; Poa; /* se asigna a pla direccidn dea"! C+ = Ashgui larael No tiene sentido asignar un entero a una variabsle de tipo puntero. Cuando se asigna un valor a una variable estamos colocande al valor en una localizacién de memoria. asociada con esa variable. a 20: ENTRADA Y SALIDA ESTANDAR Las operaciones de entrada y de salida (E/S) no forman parte del conjunto de sentencias de sino que pertenecen al conjunta de tuncianes de la biblioteca estindar de C. Por ello, tado ichero fuente que ultllice funciones de E/5 correspondientes a la biblioteca estindar de C, necesita de los prototipas de las funciones corresnondientas a éstas, por lo que deberd contener ia lines! include “stdio.h” Las dobles comillas significan que el fichero especiticado, debe ser buscado en el directorio actual de trabajo y sino se encuentra, la imisqueda debe continuar en el directorio estandar ara los ficheros con extansién ./z (directoio include). Siel fichero de cabecera espacificado, en lugar de escribitlo entre comillas, lo escribimas entre dnulos include la busqueda de dicho fichero se efectia solamente en el direetorla estdndar para ls ficheros con extensidin.h {dinectano include}. Sentencia if Las sentencias especifican y controlan el fluja de ejecucién del programa, Si no existen sentencias espetificas de seleccion o salto, el programa se ejecuta de forma secuenctal en me orden en que se ha: ente, Sentencia it La sentencla if Elige entre varias alternativas en base al valor de una o mas expresiones booleanas. Sintaxis: Ges - Ashaui Israel if (cexpresio’ on booleana>} bloque a ejecutar cuando la expresi on es verdadera > else « bloque a ejecutar cuando la exprast on es falsa > La sentencia else es opcional, puede utilizarse a no. En el ca WHILI Tobjetiva de un while es también un bucle de cadigo; el bucle while funciona repitiende su iva mientras la expresiOn sea cierta, Cuando ésta es falsa, el bucle se detiene. El valor de la expresién se compruebe al principio del bucle, esto significa que, si la expresién es faisa al iniclarse, el bucle na se ejecutard ni una sole wee. #include #includesconio.h> main(} { char ¢; c= getch(); while (e!= “q'}{e= geteh(}; printi(*enceatrada la q"):} t nadiendo |: Programa que traduce los caracteres que se ascriban a un formato codificad un 1a cada letra. El programa se detiene cuando se pulsa intra. #include Hinclude main() C char; péintff"intreduce un mensaje: \n"); cm getcht); while (cl “\n'}{ printi9ke", cel}, = getch() } P Cee - Ashqui Israel DO WHILE: Elbucle do repite la/s sentencia/s mientras la expresion es verdadera, se detiene cuando la lexpresion se convierte en falsa, El bucle da es dnico, ya que siempre ejecuta el cadiga de dentro del bucle al menos una wer dado que la expresién que controla el bucle se ‘comprust al final del mismo, Sree teres a Ej; Pide al usuario qué quiere hacer con dos niimeros, iincludeestdio.h> Miinelude main() { ints, b; char c; prinef["\n\nduiere\n"}; printf["Sumar, Restar, Multiplicar 0 Diviir\n"); dol printt(“Intraduzca la primera letra: \n"}; eaetehth; printt(\n" Juhile (cl='S' Aa cle "R Re cle Mi! a cl= ‘D'); printf(“tetraduzca el primer ndimero: \n"}; seanf{"%d", Ba): printf (“tntraduaca el segundo niimero: \n"]; scanff"%d", 8b}; it (== 'S'H f(a, arb); R) printt(3d", a-b); ete if(ce= 'M') printt(“Hd", a*b), abe it(e=="D') printt(“Ha", a/b); b ib El bucle do es especialmente dtil cuando el programa que est esperanda a que acurra un suceso. Cr+ ~ Ashqui Israel CREACION DE BUCLES ANIDADOS Cuanda el cuerpo de un mucle contiene otra, se dice que el segunda esti anidada en el primero, Cualquiera de los buckes de C puede estar anidado dentro de cualquier otro bucle En C, el estaindar ANSI especifica que los bucles purden estar anidados hasta 15 niveles. Efimprime en pantalla las ndmeros del 1 al 10 for{ied'<20;¢+ for(j=4; je10; jr#){ print" aid", j); } ti Untiliza for para imprimir el alfabeta a veces, y cada vee las letras 2 veces, includesstdia.h> finclude maint) { inthe ke forli=0; i<3:i++}{ forlj=; j<26i++){ for|k=0; ke2si++}{ printt("3c", \'+i}; } } } } i UTILIZACION DE BREAK PARA SALIR DE UN BLICLE Permite Salir de un bucle desde cualquier puntode su cuerpo, pasando por alta su espresin de finalizacion normal. Cuando break se encuentra dentro de un bucle, ef bcle termina al buck, inmediatamente y el control de! progranama continua en la sentencia que cantinus Programa que imprima del 2 al 100 pers cuanda llegue al 10 salte, ffineludecstaia.th> Hineludesesnia b> La sentencia break se utiliza en bucles en los que una condicidn especial puade causar una terminaciGn inmediata. Todas los numeros Aincludesstdia.h> plas de 6 C+ = Ashqui Israel Finclude main{} ieL0000 i++) ii(t=(1586)}{ printi("36d 2mas? {5/4 i) cegetch(}; if{c= (W}{ break printit"\n"; } SWITCH: Esuna sentencia de selaccién multiple de C. Se-utiliza para elegir un camino entre varios ‘camings alternativos de la ejecucién del programa y funciana asi: se compara una variable con una lista de constantes enteras ode cardicter, cuando concuerda con alguna se ejecuta la Secuencia de sentencias asociadas con esa constante. sswiteh (variable case 1 secuencia de sentencias; break: case ni Secuencia de sentencias: break, efauilt: seeuencia de sentencias; break; t Donde la secuencia de sentencias de default se elecutan si no coincide con ninguna de las otras. Default es opcional, Si no hay coincidencias y no existe el default, no se llewa a cabo ninguna apcién, Cuanda se encuentra alguna coincidencia, se ejecutan las sentencias asociadas can el ‘case! hasta que se encuentra con un ‘break’, o en el casa de default o en el iltimo case, hasta que se aleance al final del switch. Programa que recarre los numeros 1, 2, 3 y 4 © imprime el nombre del que se ha Introducida; Hinclude- #includesconio.h> maint) { int a,b; char &; peintff"\i\néCuiere\nSumar, Restar, Multiplicar, Dividir?\n") dof print#f"Introduzca la primera letra“ capetchth; print i{"\n while: ({et= ‘S1&&(ct= “R}eatel= MV) RRCC!= print#{"Introduzea el primer nurmero:-"; scant("sd, 3); printif"Intraduzea el segunde numera: "}; scanf("Sd", &b): switch (c}f case 8: printft"%d", ab) break; case R: printf{"séd" break; tH" ‘th C++ - Ashqui Israel case M: printt("Sed", a*b); break; case D:iffb!=0)t printff"Xd", a/b); br } } La sentencia “break’ es opcional. Cuando no existe, la ejecucidn pasa al siguiente ‘case’ y solo se detiene cuando encuentra una sentencla ‘break’ a al final del switch. La sentancia de secuencias asociada a “case’ puede estar vacia, esta permite que dos 0 mas ‘case’ compartan una secuencia de sentencias comtin sin duplicacién de cédigo. Hinclude Mincludescanio,h> main{) { ehar e; printf{Introduce una letra: “); cagetch): switch fell ease ut printi{“es una vocal\n"); break; default: printf[*Es una consonant t } SENTENCIA FOR Si necesitamos repetir un grupo de acciones un ntimera conocido de veces la mejor opeign es la sentencia repetitive tor() for{) 26 una de las sentencias repeltilivas mas usadas en los lenguajes de programacién, asta sentencia inicializa una variable, avaliia una condicién y ego realiza una operacion sobre una variable. Moda de uso: for( inicistizacién: conaiciGn;aperscion) C Ges - Ashaui Israel JAccIONES 1 Secuencia, 1. Se inicializa la variable. 2. Se evallia la condicion. 3. Sila condicién se cumple, s¢ realizan las acciones especiticadas. sino se cumple, no se ejecuta ninguna accién y se salta a la préxima linea. 4, Se realiza una operacién sobre una variable (incremento, decremento). 5, Serepiten los pasos 2, 3 y 4 mientras se cumpla la candicién. Ejempios: Escrba un programa en lenguaje C que solicite al ingresa de das nlimaros (valor inicial y un valor tinal) y que muestre por pantalla los nimeros que pertenecen al intervalo dado Solucion: #include void maint) { Declaracion de variables Int inicial, tinal, | Solicilando y layendo el ingre: printf("Ingrese el valor inicial: “ scant("d" &inicial); intt(‘Ingrese el valor final: "); scant("ed" &final); 0 de dalos desde el leclado numeros desde ‘alor final Contador: Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad conslante cada vez que se produce un delerminado suceso o accién. Los contadores se utilizar con la finalidad de contar sucesos 0 acciones internas de un bucle; daben realizar una operacién de inicializacion y posteriormante las sucesivas de incremento 9 decramento del mismo. La inicializacién consiste en asignarle al ‘contader un valor inicial. Se situara antes y tuera del bucle. C++ - Ashqui Israel estructura: int cont = 0 inicio del bucle isi+t fin de! bucle Acumulador: Es una variable que suma sobre si misma un conjunto de valores para de esta manera tener la suma de todos ellos en una sola variable. La diferencia entre un contador y un acumulador es que mientras el primero va aumentando de uno en uno, é| acumulador va aumentando en una cantidad variable. FUNCIONES C++ Una funci6n es un médulo de un programa separado de! overpo principal. que fealiza una tarea especifica y que puede regresar un valor a la parte principal del fama U ola funcion o procedimiento que la Invoque, La forma general de una funcién es: Tipedato Nomfunjparametros) { cuerpo de instrucciones; return [dato.var.expresion]: I Donde tipodato especitica el tipo de dato que regresara la funcién, URN es quien regresa un y solo un dato a la parted do 6 invocando, sin embargo es de considerar que f {alo, una variable 0 una expresion algebraica(no ecuacién como lo muestran los siguientes ejemplos; - Ges - Ashaui Israel a) return 3.1416; b) return area; ¢) return x + 1502; La lista de parametros formales es una lista de variables separadas por comas (,) que almacenaran los. valores que reciba la funclon, estas variables actuan como locales dentro del cuerpo de ia tuncion. Aunque no se ocupen parametros los paréntesis son requeridos. Vectores, Matrices y Punteros en c++ VECTORES bién Hamada array(arregio) unidimensional, es una estructura de: F elementos del misma tipa ¥ almacenarios en un sale bleque d s de otro. A este grupo de elementas se les identifiea por jn en la que se encuentran. La primera posicidn del array es lap par en un array ung serie de elementos de tipo ents etc. ‘Crear un vector en C++ es sencilla, seguimes la siguiente sintaxix: Tipe nemeretamanyel; Ejm: Int afS|: // Vector de $ enteras float b{5I; // vector de 5 flatantes Producto product(SI; /f vector de 5 abjetos de tine Producto Paodriamas también inicializar el vector en la declaracian: int al] = (5, 15, 20, 25, 30; float bl] = (10.5, 20.5, 305, 12.5, 50.5) Products praduct{] = {celular, calculadora, camara, ipod, usb} Coma hay 5 elementos en cada array, autamdticamente se le asignard § espacios de memoria a cada vector, pero si trato de crear el vector de /a forma Int al] , el compilador mostrard un error, porque no indiqué el tamafo del vector ni tampaco inicializé sus elementos. Asigno valores a los elementos de un vector indlicando su pasicién’ inl al4] = 30; '! Ja asigno el valor 20 a le posician 4 del vector product(2}.selPrecio(200) // le asigno un precio de 300 al producte en la pasicién 2. Cre - Ashqui Israel ‘Obviamente el método setPrecia\) debe de estar Implementado. Para llenar, recorrer & imprimir un vector podemos utilizar un bucle for: dinclude using namespace std: int maint) { inti; cout <= "Ingrasa la dimension del vector’ << endl cin >> dim: /! Supongamos que ingrese 10) int vector{dim); /! mi vector es de lamanyo 10 fostint using namespace std: void sumar{int al), int bl], int cf] int dim) { for {inti = 0; i < dim; in} { i efi] = afi] + bt): } ‘void imprimifintv{), int dim) for{int i = O; i > dim intafcim}; Ce - Ashqui Israel into[din]: inte{aim); for(int ali] fi] = 1 cout << "“Wector A * << endl; imprimista, dim); igdim; e+) { cout << "Vector B * << endt imprimir(b, dim): sumar{a, b, ¢, dim); cout <« “Vector G * <« endl; imprimir(c. dim); ) retum 0; Si ingresa una dimensién de 10, este pragrama me daria Vector A 0.10.20 30 40 S0 0 70 80 90 VECTOR 051015 20253035 4045 VECTOR 9.15 30.45 6075.90 105 120 135 Entonees para tomar en cuenta: Todo vector debe tener definida un tipe de dato, Todo vectnr necesita de una dimensiin @ tamanyo, El cédigo de arriba se puede mejorar muchisimo con objetos y clases, este es solo un pequeso ejemplo, MATRICES ==) int matrix{rows|[ools) int es el tipa de dato, matrix es el nombre del tade el canjunta de datos y debo de especificar al numera de filas y columnas. Las matrices también pueden ser de distintos tipas de datas como char, float, double, ete. Las matrices en Cr+ se almacenan al igual que las vectores en pasiciones consecutivas de memeria. C+ = Ashqui Israel Usualmente uno se hace la idea que una matriz es como un tablero, pero intemamente el manajo 2s como su definicién la indica, un vector de vectores, es decir, las vectaras estin una detras de las otros juntas, La forma de acceder a las elementos de fa matriz es utilizando su nombre e indicando los 2 Subindices que wan en las corchetes. Si caloce int matria(2|{3] = 10; estoy asignanda al cuarto elemento de la tercera fila el valar 10 No olvidar que tanto filas camo columnnas se enumeran a partir de-0. Buena y para recorrer una matriz podemos usar iguslmente un bucle, En este caso usands 2 for: foriint | = 0; |< rows; ive} { for(int j = 0; | = cols; j++) { mali] = 19 i: } t PUNTEROS El valor de tadas las varlales que manejamos en nuestros programas se almacenan en memoria y tienen una direccién. Un puntero es una variable especial que apunta a la direccién de memeria de una variable. El puntero tiene a su vez su propia direccién, Todas estas direcciones tienen un formato: hexadecimal. Los punteros san herramientas muy paderasas con muchas utilidades y enormes ventajas como veremos mis adelante, A grandes rasgos, un puntero me permite desplazarme en la memoria, apuntar, re diteecionar a ciertas variables, funciones, métados, objetos, ete sin d de mever grandes bloques de dates, lo cual nos ahorra muchisima el consumo de memoria en los programas. Un puntero se debe declarar de acuerdo al tips de dato al que apunta. Ejem: int ‘var; un puntero que puede apuntar a cualquier variable de tipo entero. necesi usa el operadar @ y para int *b; !/ punteco a entero a Wa tiene 20 b= Sa; /! asigno la direccign de a al punter 6 oul << b << endl; !! imprime la direccion de memoria de a; cout << "b; / imprime 20, asea el contenido de a Ahara analicemes las siguiantes instruccianas y veamos cama las variables van camblanda de valor en tiempo de ejecucida #include Using namespace sid; int main() { ‘Cae Ashqui Israel inta; int; Goul << “Ingrasa el valor de at“ Gin => a: cout << endl: cout << "Ingresa el valor de b: ", cin >> b: coul << endl; ff Punteros de tipo entero: int int *p2; cout <<"Antes"<« endl; cout <<"Wariable a = "< using namespace std: int maing) C. int ‘pw, int dir; coul << “Ingrasa el tamanyo del vector” <- endl; cin >> dim; pve new igi); forfint i» 0; i < dim; i++)f mull =i" h: coul << py{i] << endl; 1 deletel] return 0; I MATRICES ¥ PUNTEROS. Supongamos que declara una matriz int m{SI[S] Como dlimos anteriarmante, el nambre o identificador de un vector es un puntero al primer elementa del vector. En el caso de matrices el nombre de la matriz, en este ejemplo v, es un puntero que apunta al primar elemento del primer vector de la matriz. Entances mes undable puntero.m es igual a &m{0] que es igual ala di jan de &m[a}(a). Ga - Ashqui Israel $i declaramos un puntere int *pm y luege igualamas pm = m, p-ahora puede desplazarse par los valores de m.*p; ///contenida de m0], el cual spunta al primer elemento de ese vector, es decir, m{0|[0} También puedo referirme a los contenidos con aritmética de punterosi desplazo una posicin a p, se refiera al contenido de m1]. ene al primer elemento de ese vector, es decir, m[1][0] *! “(p+ 1}: / desplazo una posicién en el vector principal y este a su vez se desplaza una posicién en ese vector, 25 decir, me refiero al contenide de m[1}{1] “Clip + t+ 1), pI2I4] = 20; i/ asigno el valor 20 a la posicion 2,4 de la matriz “Ip 42} 4-4) = 20:// es lo mismo que la asignacion anterior *{pm[2] + 4} = 20 tambin lo mismo 1 En conclusion: PRG) = "(*(P + i) +) = “om + i MATRICES DINAMICAS ra crear una matriz dindmica debemos de crear un dable puntaro int “*pm y samas al igual que los vectores el aperador new pare reservar memoria y delete para liberar. Primero 15 que crear el vector que contendra a atros vectores especificanda el numero de Fas que tendira este wactor principal. Ejern: pm = new int” [rows]; !/ creo el vector de punteros principal forint = 0: i < roves; i++) { (pmfi] = new ini{co's}; #/ para crear los veclores dentro del vector principal 1 Un simple programa que crea una matriz dinémica, asigna valores, muestra el contenido de cada uno de los elementos los elementas asi coma sus direcciones de memaria, También mostramos la matriz usando aritmética Sinclude using namespace std: int main() { Puntero a una matriz int pm; int cols; inl rows, coul << "Ingresa nro de filas: cin >> rows: unteras: Cee = Ashgui larae! ‘cout << endl; ‘coul <= “Ingresa nro da oolumnas: *; cin == cals; pm = naw int* [rows]; for {int <= rows: iy-4} { am(i] = new int[eols]; h coul << “Elementos de la Malriz con sus direcciones: * << end|; for finti = 0; i-< rows: +4} { for {int j= 0; j <-cols; j++) { pmfill] =i +i; cout << pm] <= ">"; coul << &pmilfi] << endl; 1 cout << endl; } oul << endl; cout << "Elamentos de la Matriz con sus direccianas, can aritmatica de punteros: * < cout << &pmijfi] << endl; cout << endl; } # Elimino cada vector de la matriz for {inti =0; |< rows: 14} { delete[] pri; Jf Eliming el vector principal delete[] pm: retum 0;Instagram
    • Scribd - Descárgala desde App Store
    • Scribd - Descárgala desde App Store