programacion-lenguaje-c.doc

Upload: brandon-cruz

Post on 18-Oct-2015

6 views

Category:

Documents


0 download

TRANSCRIPT

  • 5/28/2018 programacion-lenguaje-c.doc

    1/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    Manual de Programacin en el Lenguaje C

    1. Presentacin2. Marco introductorio

    3. Lenguaje de Programacin Estructurado C4. Operadores, Expresiones Estructuras!. Ciclos". #unciones en C$. Estructuras de %atos

    1

  • 5/28/2018 programacion-lenguaje-c.doc

    2/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    PresentacinEl Presente documento ha sido elaborado con la finalidad, de proveer a los estudiantes, de un recursogil y fcil de comprender por aquellos que inician su estudio en la programacin del lenguaje C.Por qu decid! escribir este manual"#encillo, cuando en la universidad empe$amos a estudiar C, nos pidieron que, si pod!amos,

    comprramos un libro te%to para apoyar las clases, o buscramos un manual en la &nternet... yo opt porla segunda opcin, ya que como todos sabrn los libros de programacin son muy caros 'al menos aqu!en El #alvador(, pero me encontr con dos grandes problemas)

    *. +os anuales que bajaba estaban incompletos, es decir- las e%plicaciones, los ejemplos y lainformacin en general era muy pobre, por no decir escasa.

    . si al dado caso, encontraba alg/n manual que estuviera completo, ten!a muchos errores, en susejemplo'errores de sinta%is, de ejecucin y hasta de lgica( o en la e%plicacin que se daba. +ocual al yo cometer esos ejemplos, mis profesores me lo hac!an saber.

    Por esas ra$ones decid! escribir mi propio manual, para evitar que, otros estudiantes les suceda lo mismoque a m!, y as! les evitar gastos en impresiones innecesarios.Cabe recalcar que, no soy un e%perto programador... todav!a sigo estudiando, pero quiero colaborar deuna manera desinteresada, a la formacin de las personas.Espero que, este peque0o manual les sirva de mucho y sobre todo, le saquen mucho provecho.

    C&P'()LO ' *M&+CO '(+O%)C(O+'O-Marco Conceptual

    #e muy bien, que usted, querido lector- est muy ansioso por comen$ar a programar, pero considero quees importante- conocer un poco del lenguaje C, tanto de sus or!genes como de sus ventajas, pero no sepreocupen, ser breve en esta introduccin terica. 1dems que es importante conocer o recordaralgunos conceptos que, son importantes al momento de programar.

    ComputadoraComponentes de )na Computadora2emos definido una, computadora como una mquina que recibe datos y ordenes, que al ejecutarlasproduce cierta informacin- dicha informacin se presenta en un 3idioma4 codificado- por que ha desaberse que las computadoras no entienden nuestro idioma, o cualquier otro en el mundo. 5icho 3idioma4

    est compuesto /nicamente por dos elementos los ceros y los unos. ejor conocido como cdigoinario, con el cual se representan los datos, que arroja la computadora.En una forma ms general, y creo que ms sencilla, una computadora se comprende por dos grandesgrupo) El 2ard6are y el #oft6are./ard0areEl 2ard6are de un computador es un conjunto de elementos f!sicos, que la componen.7emoslo grficamente)

    2

  • 5/28/2018 programacion-lenguaje-c.doc

    3/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    Podr!amos entrar en detalle de cada una de las partes descritas anteriormente, pero ese, no es elobjetivo de estas insignificantes pginas- sino que esto es una mera introduccin terica, por ello slodar una breve e%plicacin.En la 8nidad Central de Proceso 'o CP8, por sus siglas en ingles 9Central Proccessing 8nit:( secontiene la )nidad de Control, que su funcin es organi$ar y clasificar las instrucciones recibidas-mientras que la )nidad &ritmtica Lgica, #e encarga de ejecutar dichas instrucciones. Los uses,son los mecanismos de intercone%in en el CP8.La memoria Principal, Es el lugar donde se cargan todas las instrucciones, programas, etc que se estnejecutando.

    ot0are5ebemos entender el soft6are como la parte lgica de la computadora... un poco dif!cil de comprender,verdad"- es decir, que el soft6are, es lo que dota a los componentes f!sicos de poder reali$ar tareasdeterminadas. Ejemplo, para poder utili$ar una computadora, esta debe tener instalado un sistemasoperativo. Para poder imprimir alg/n trabajo, aparte de poseer un impresor, en la computadora, debotener un soft6are que me permita imprimir dicha accin 'generalmente las impresoras traen un cd, son surespectivo soft6are de instalacin(.

    1burrido"...Es necesario, que empiece con tanta palabrer!a- por que es necesario, para el lector tener en claro estosconceptos.

    1hora vamos a hablar de algo un poco ms interesante, como lo es el lenguaje de programacin)n lenguaje de Programacin Es un conjuntos de palabras, reglas, con las cuales se le indica a lacomputadora las funciones que debe reali$ar. 8n lenguaje de programacin puede ser)

    *. +enguajes quinas) se trata de lenguaje cuyas instrucciones son directamente comprendidaspor el ordenador o computador en el que se ejecuta el programa.. +enguaje de ;ajo

  • 5/28/2018 programacion-lenguaje-c.doc

    4/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    determinado de utilidades y asistentes que ahorran tiempo y trabajo al programador. 5entro deestos lenguajes tenemos) 7isual >o%pro, 7isual ;asic.

  • 5/28/2018 programacion-lenguaje-c.doc

    5/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    Lenguaje CEl lenguaje C, fue dise0ado por 5ennies @itchie en *AB, en los laboratorios ;ell de Estados 8nidos.Este lenguaje presenta varias caracter!sticas, entre las cuales estn)

    *. +enguaje de programacin de propsitos generales. Permite la Programacin Estructurada

    =. 1bundancia de Dperadores y ?ipos de 5atos.

  • 5/28/2018 programacion-lenguaje-c.doc

    6/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    K5irectivas de pre:procesador 'instrucciones que se le dan al compiladorLinclude antes de compilar(

    Ldefineejemplo)Linclude Mstdio.hK

    +o que se le esta indicando, es que de las librer!as, 3&ncluya4 en nuestro programa la directiva stdio.h, lacual contiene las funciones de entrada y salida de datos 'standar input output, en ingls(. #i necesitamoslas funciones matemticas, debemos especificarlo con la declaratoria)Linclude 9math.h:#i necesitamos las funciones de cadenas)Linlcude 9stlib.h:Es necesario aclarar que esto se hace al inicio del programa, y las declaratorias deben llevar el s!mbolode numeral 'L( seguido de la sentencia 3include4, y entre signos de mayor y menor que 'MK( el nombre dela directiva.K5eclaraciones Nlobalespueden ser)IPrototipos de >unciones) ?ambin llamadas declaraciones de funciones, lo cual se tratar ms adelante

    I5eclaraciones de 7ariablescabe destacar, que esto se hace seguido de los Linclude y los Ldefine.K>uncin Principal main'(Esta es la funcin principal de nuestro programa, su cuerpo, por ello

  • 5/28/2018 programacion-lenguaje-c.doc

    7/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    +e indicamos al compilador, que usaremos las bibliotecas Mstdio.hK y Mconio.hK, por qu Mconio.hK",por que esta biblioteca, contiene las funciones getche'(, getch'(, etc, y de una de ellas hacemos uso eneste peque0o ejemplo.+uego, le indicamos a nuestro programa el incio de nuestro programa 'funcin main'( (.5eclaramos, como valores reales, las variables radio y area 'de esto se hablar ms adelante(. +uego,

    con la instruccin printf'(, mostramos en pantalla el mensaje '@adioS( y scanf se encarga de leer el valordigitado por el usuario. Posteriormente area, es igual al la multiplicacin de pi '=.**FA(, el radio alcuadrado. #e muestra en pantalla ese resultado, luego el programa espera que se presiones cualquiertecla 'getch'( ( y no retorna ning/n valor 'return (.

    Ejercicios5efina los siguientes conceptos)

    *. Programa)WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    . CP8)WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    =. #oft6are)WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    . emoriaPrincipal)WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    F. +enguaje deProgramacin)WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    &ndique que tipo de error 'Error de sinta%is, error de ejecucin o error lgico(, en cada uno de lossiguientes enunciados

    *. 8tili$ar una variable antes de asignarle un valor)WWWWWWWWWWWWWWWWWWWW. asignarle un valor real a una variable declarada como entero)WWWWWW=. al cometer este error, los resultados arrojados por el programa no son los que se

    esperaban)WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW. 8n programa no puede ser ejecutado por el computador, mientras tenga este tipo de

    errores)WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWF. estos errores no son detectados por el compilador, ni tampoco son errores de

    ejecucin)WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    encione y E%plique, la estructura general de un programa en C)

    Capitulo '' * Lenguaje de Programacin Estructurado C-Por qu programacin estructurada"#i el lector recuerda, en el cap!tulo anterior, se hablaba de las caracter!sticas del lenguaje C, y en una deellas se dec!a que, el +enguaje de Programacin C, permite la programacin estructurada. Esto implicaque, haremos uso de una tcnica llamada Lgica Estructurada, y esto no es ms ni menos que una delas tcnicas bsicas y fundamentales de la programacin estructurada, su objetivo es disear soluciones

    correctas y confiables a los problemas, ignorando al principio consideraciones de eficiencia como la

    minimizacin del uso de memoria y el tiempo de su respuesta.

    7

  • 5/28/2018 programacion-lenguaje-c.doc

    8/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    +o que significa que, haremos uso de esa tcnica para crear programas correctos- esta es una tcnicaque ayuda al programador 'un tanto a la fuer$a(, a ser ordenado, al momento de programar.+os frutos de sta tcnica se reflejan cuando, queremos darle mantenimiento al programa, es ms fcilhacerlo ya que hemos programado de una manera lgica y ordenada. 1l igual que al momento decorregir errores de sinta%is y lgica, esta tcnica nos facilita el trabajo.

    1hora iniciemos, de una ve$ por todas, lo que el lector est esperando)

    intaxis de &lgunos Elementos de )n Programa en Ca< identiicadores

    como su nombre lo indica, estos son los nombres, con los que identificamos las variables, constantes,funciones, vectores, etc, de nuestro programa. Para ello debemos tener presente algunas reglas)Kpueden tener de * hasta un m%imo de =* caracteresK5ebe de iniciar con una letra o subrayadoEjemplo)'Correctos(c

    Wc' &ncorrectos(

    c c

    K

  • 5/28/2018 programacion-lenguaje-c.doc

    9/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    +as variables pueden cambiar de valor, durante la ejecucin del programa, por eso es que se llamanvariables. J las constantes como su nombre lo indica, son valores que permanecen constantes durantetoda la ejecucin del programa, un ejemplo de ello, es el valor de 'pi( que equivale a =.**FA....En C e%isten diferentes tipos de variables, entre ellas tenemos)1. Constates umricas

    #on valores numricos, enteros o de reales 'de punto flotante(. #e permiten tambin constantes octales yhe%adecimales.2. Constantes im=licaslas constantes simblicas tiene un nombre 'identificador(, y en esto se parecen las variables. #inembargo, no pueden cambiar de valor a lo largo de la ejecucin del programa. En C, se pueden definirmediante el preprocesador. '?omado del anual Aprenda enguaje A!"# $ como si estuviera en %rimero Escuela superior de&ngenieros &ndustriales. 8niversidad de ebrero de *AAH(.

    EjemploLdefine < *Ldefine P& =.**GLdefine ; F

    Esta directiva 'Ldefine( va, inmediatamente despus de los Linclude. #e escribe la directiva, se deja unespacio y se escribe el identificador de la constante, otro espacio y su valor.

    e< ignos de Puntuacin de eparacin

    ! U X V I '( : Y OQ Z[ T - ) MK .

    < (odas las 'nstrucciones o sentencias del programa terminan con un punto coma@A&&

  • 5/28/2018 programacion-lenguaje-c.doc

    11/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    %eclaracin de Garia=les8na 7ariable, como su nombre lo indica, es capa$ de almacenar diferentes valores durante la ejecucindel programa, su valor var'a. Es un lugar en la memoria el cual, posee un nombre 'identificador(, y unvalor asociado.

    +a declaracin de variables en C, se hace en min/sculas.>ormato)Tipo_de_dato nombre_de_la_variable;

    EjemplosI5eclare una variable de tipo entero y otra de tipo real, una con el nombre de 3%4 y otra con el identificador3y4)int %-float y-

    I5eclare una variable de tipo entero llamada moon, e inicial!cela con un valor de int % S -

    I5eclare una variable de tipo real, llamada Pi, e inicial!cela con una valor de =.**Ffloat piS=.**F-

    I5eclare una variable de tipo caracrter y as!gnele el valor de 34char car S __-

    I5eclare una variable llamada nombre, que contenga su nombre)char nombreZB[S4anuel4-

    ExplicacinEn el apartado anterior, se e%plic, que C, no tiene el tipo de dato llamado string, o mejor conocido comocadenas de te%to, pero nosotros podemos hacer uso de ellas, por medio de un arreglo, 'de lo cual

    hablaremos con ms detalle, posteriormente(- pero para declarar este tipo de datos colocamos el tipo dedatos, es decir la palabra reservada c(ar luego el nombre, e inmediatamente abrimos, entre corchetes, vael n/mero de letras, que contendr dicha variable. Es muy importante que al momento de declarar eltama0o, sea un n/mero mayor, al verdadero n/mero de letras- por ejemplo, la palabra 3anuel4, solotiene G letras, pero debemos declararlo para B letras Por qu".7emoslo grficamente, en la memoria, C crea un variable llammada nombre y esta posee la palabraanuel, as!)

    en realidad, hay B espacios, pero la cuanta llega hasta G, por que c, toma la primera posicin como laposicin cero, y para indicar el final de la cadena lo hace con un espacio en blanco.

    %eclaracin de Constantes+as constantes, como su nombre lo indica, son valores &ue se mantiene invariables durante la ejecucindel programa.

    #u formato es el siguiente)const tipoWdeWdato nombreS valor-donde const, es una palabra reservada, para indicarle al compilador que se esta declarando unaconstante.

    11

  • 5/28/2018 programacion-lenguaje-c.doc

    12/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    Ejemploconst int diaSB-const float piS=.**FA-const char caracterS `m_-const char fechaZ[S4F de diciembre4-

    Caso Especial Constantes im=licas+as constantes simblicas, se declaran mediante la directiva Ldefine, como se e%plic anteriormente.>uncionan de la siguiente manera, cuando C, encuentra el s!mbolo que representa a la constante, losustituye por su respectivo valor.Ejemplo)Ldefine < *FLdefine P& =.**GLdefine P F

  • 5/28/2018 programacion-lenguaje-c.doc

    13/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    char car- clrscr'(- I#e encarga de borrar la pantalla por eso se llama claer screenI carSgetchar'(- putchar'carY*(- getch'(-

    return -Q

    Ejemplo .)Linclude Mstdio.hKLinclude Mconio.hKmain'(O char %- I5eclaramos % como caracterI printf'RPara >inali$ar Presione cualquier ?ecla)R(- %S getchar'(-ICaptura y muestra el caracter presionadoI getch'(-IEspera a que se presione cualquier otra tecla para finali$arI return -

    Q

    Entrada ; alida de Cadenas8na Cadena, es una frase, compuesta por varias palabras. En C, podemos hacer uso de las cadenas,mediante, la sentencia)Hgets@

  • 5/28/2018 programacion-lenguaje-c.doc

    14/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    alida /acia Pantalla Iprint@

  • 5/28/2018 programacion-lenguaje-c.doc

    15/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    U.f KK&mprime el valor con slo dos decimales

    ecuencias de Escapes&ndica que debe ejecutar algo e%traordinario.

    Carcter deEscape

    Explicacin

    Tn #imula un Enter. #e utili$a para dejar una l!nea de por medioTt ?abulador hori$ontal. ueve el cursor al pr%imo tabulador Tv ?abulador vertical.Ta 2ace sonar la alarma del sistemaTT &mprime un carcter de diagonal invertidaT" &mprime el carcter del signo de interrogacinT4 &mprime una doble comilla

    ?1;+1 .=

    Ejemplos)*( printf'3anuel Tn 1ntonio Tn Drte$TnTn(-

    ( int %S*F- printf'3El 7alor de la variable es UdTnTn4, %(-

    =( float %SH.FGHA, piS=.**G- printf'3El valor de % es U.fTtTn4,%(- printf'3Tt J el valor de pi es U.fTnTn4, pi(-

    Entrada %esde (eclado#e reali$a mediante la funcin scanf'(, su formato es)scan@3Cadena de control4, 5ireccin y nombre de la variable

  • 5/28/2018 programacion-lenguaje-c.doc

    16/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    Q

    ExplicacinPrimero, iniciamos con las directivas del preprocesador)

    Linclude Mstdio.hKLinclude Mconio.hKCon la cual le indicamos al compilador, que de su librer!a a0ada a nuestro programa las funcionesestndar de entrada y salida- as! como las entradas y salidas por consola 'stadio.h y conio.h,respectivamente(.+uego declaramos la variables, que contendrn las notas como reales 'o de punto flotante)float n*, n, n=-Ja que, las notas pueden ser deciamales, por ejemplo A.G, H.F- etc.+uego declaramos las variables, que contendrn las notas, caba aclarar que al momento de lasdeclaraciones las podemos hacer en el orden que deseemos, pueden ser primeros los tipo char y luegolos float, o viceversa, pero teniendo el cuidado que las variables que contendrn las nombres lleven lalongitud m%ima entre corchetes, para nuestro caso, *. ' Z*[ (.Posteriormente, mostramos en pantalla, un mensaje con el cual le indicamos al usuario que introdu$ca

    los datos respectivos)printf'R&ntrodu$ca el

  • 5/28/2018 programacion-lenguaje-c.doc

    17/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    scanf'(, finali$a la captacin de la cadena al encontrar un espacio en blanco o fin de l!nea.Ejemplo) char cadenaZ*F[- printf'R5igite la cadena)TnTnR(- scanf'RUsR, cadena(-

    Casos EspecialesI8END 5E &

  • 5/28/2018 programacion-lenguaje-c.doc

    18/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    B. J la directiva Mconio.hK"WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWH. Para que sirve a declaratoria

    Ldefine")WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    A. Para que sirve el punto y coma '-( enC)WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW*. En C, no e%iste el tipo de dato string- sin embargo, podemos hacer uso de las cadenas de

    te%to, Por qu".E%plique)WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    Ejercicios

    *. 2aciendo uso de las funciones gets y puts, dise0e un programa en C, que se lea el nombre delusuario y lo muestre en pantalla junto con un saludo.

    . 5ise0e un programa en C, que lea y muestre en pantalla el valor de tres variables de tipo Entero.=. 5ise0e un programa que muestre, los diferentes tipos de datos, usados en C. Primero, debe

    indicrsele al usuario que introdu$ca un valor, de un tipo dado- luego y despus de haberintroducido valores en todas las variables, debe imprimirse el contenido de ellas, junto con unmensaje que indique, el tipo de dato)

    . 5ise0e un programa, en el cual se introdu$can el nombre y el peso y de un alumno, y luego lamuestre en pantalla. El

  • 5/28/2018 programacion-lenguaje-c.doc

    19/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    2asta ahora, prcticamente hemos visto, como el protocolo esencial, para reali$ar un programa en C-y algunas funciones muy importantes, como son las funciones de lectura e impresin 'scanf y printf,respectivamente(.

    1hora veremos, otros aspectos fundamentales, como lo son los operadores, que pueden ser) lgicos,matemticos, relacionales, etc. +as e%presiones, y las estructuras) de secuenciacin, de seleccin y

    de iteracin.

    Operadores8n operador, es un s!mbolo que indica al compilador que se lleve a cabo ciertas manipulacionesmatemticas o lgicas.

    Operadores &ritmticosOperador Propsito

    Y #uma @estaH ultiplicacin; 5ivisinK @esto de la divisin entera

    ?1;+1 =.*

    ?odos estos operadores se pueden aplicar a constantes, variables y e%presiones. El resultado es el quese obtiene de aplicar la operacin correspondiente entre los dos operandos. '?omado de 31prenda+enguaje 1

  • 5/28/2018 programacion-lenguaje-c.doc

    20/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    Printf'3Ud4, YYi(-Printf'3Ud4, : :i(-

    Estos operadores, el incremento y el decremento, pueden utili$arse de dos maneras, eso depende delorden de aparicin de los mismos)

    :#i el operador precede al operando el valor del operando se modifica antes de ser utili$ado.:#i el operador aparece despus del operando, este se modifica despus de ser utili$ado.

    Ejemplo =.*)8tili$ando los operadores 8narios)Linclude Mstdio.hKLinclude Mconio.hKmain'( O int %SF- printf'RTtP@&E@D D;#E@71@ED# E+ @E#8+?15D 5E YYTnTnR(- printf'RUdTnR, YY%(- printf'RUdTnR, YY%(-

    printf'RUdTnR, YY%(- printf'RTt12D@1 D;#E@71@ED# E+ @E#8+?15D 5E ::TnTnR(- printf'RUdTnR, ::%(- printf'RUdTnR, ::%(- printf'RUdTnR, ::%(- printf'RTtE+ @E#8+?15D 5E YY E#)TnTnR(- printf'RUdTnR, %YY(- printf'RUdTnR, %YY(- printf'RTtJ E+ 5E :: E#)TnTnR(- printf'RUdTnR, %::(- printf'RUdTnR, %::(- getch'(-

    return - Q

    . DPE@15D@E# @E+1C&D

  • 5/28/2018 programacion-lenguaje-c.doc

    21/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    printf' R@esultado) UiR, '*SS* VV FK (-

    Dperador 'D@, en castellano D() 5evuelve un * si se cumple una de las dos condiciones.Dperador '

  • 5/28/2018 programacion-lenguaje-c.doc

    22/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    printf'RIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIITnR(- printf'RIIEl valor de la e%presin es) U.fIITnR, $(- printf'RIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIITnR(- getch'(- return -

    Q

    6erarBuDa de OperadoresCategorDa del Operador Operador *. Dperadores 8narios :, YY, ::, !.Dperadores 1ritmticos)ultiplicacin, divisin y @estoentero#uma y @esta

    I, , U

    Y,:=. Dperadores @elacionales M, MS, K, KS. Dperadores de &gualdad SS, !SF. Dperadores +gicos VV 'J +gico(, '

  • 5/28/2018 programacion-lenguaje-c.doc

    23/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    #e les denomina as!, por que- son estructuras en un programa, que despus de ejecutar una instruccino sentencia, contin/an con la otra, hasta llegar al final del programa. +os ejemplos que hemos vistoanteriormente, son ejemplos de estructuras secuenciales. 7eamos otros ejemplos)Ejemplo =.=5ise0e un programa que calcula el cuadrado y el cubo de tres n/meros introducidos por el usuario.

    Linclude Mstdio.hKLinclude Mconio.hKmain'( O int %, %*, %, y, y*, y, $, $*, $- clrscr'(- printf'RTtP@DN@11 8E C1+C8+1 E+ C815@15D J E+ C8;D 5E =

  • 5/28/2018 programacion-lenguaje-c.doc

    24/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    rentaSsueldoI.*- snSsueldo:'afpYisssYrenta(- printf'REl empleado UsTnR, nombre(- printf'RPosee un sueldo neto de U.fTnR, sn(- getch'(-

    return - Q

    Ejemplo 3.!5ise0e un programa que calcule el promedio y la suma de tres n/meros ingresados por el usuario)

    Linclude Mstdio.hKLinclude Mconio.hKmain'( O float %, y, $, sum, prom- clrscr'(- printf'REl Primer nkmero es)TnR(-

    scanf'RUfR, V%(- printf'R1hora el segundo nkmero)TnR(- scanf'RUfR, Vy(- printf'REl 8ltimo numero es)TnR(- scanf'RUfR, V$(- sumS%YyY$- promSsum=- printf'RIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIITnR(- printf'RII+a suma es U.f y el promedio es U.fITnR, sum, prom(- printf'RIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIITnR(- getch'(- return -

    QEstructuras electi>as+os peque0os programas que hemos dise0ada hasta el momento, han sido del tipo secuencial, es decir,una sentencia se ejecuta despus de otra, hasta el final del programa.Pero en la vida diaria muchas veces debemos elegir entre un camino y otro para llegar a nuestro destino.+o mismo pasa en programacin, al reali$ar alguna actividad, nuestro programa debe ser capa$ de elegiruno u otro camino, a seguir dependiendo del valor de alguna condicin evaluada.Para ello C, dispone de tres tipos de = tipos de estructuras selectivas, la cuales son)

    Estructura #electiva #imple Estructura #electiva 5oble Estructura #electiva /ltiple

    E#?@8C?8@1 #E+EC?&71 #&P+E>unciona de la siguiente manera) se eval/a una condicin, de ser cierta efect/a una accin, de locontrario, contin/a con la ejecucin normal del programa.#u sinta%is es la siguiente)'@condicin< &ccinAD tambin)'@Condicin< &ccinA5onde)

    24

  • 5/28/2018 programacion-lenguaje-c.doc

    25/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    Condicin) Es una e%presin lgica que es evaluada por el compilador1ccin) es la 1ccin o 1cciones que reali$ar el programa de resultar cierta la condicin

  • 5/28/2018 programacion-lenguaje-c.doc

    26/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    if'numUSS( printf'RE# P1@TnTnR(-

    else printf'RE# &P1@TnTnR(-

    getch'(-

    return - Q

    Ejemplo 3.N5ise0e un programa, que dada la nota de alumno, imprima en la pantalla un comentario sobre esa nota.El criterio para los comentarios es el siguiente)#i nota es mayor o igual a A 3E%celente4#i nota es mayor o igual a H 3uy ;ueno4#i nota es mayor o igual a B 3;ueno4#i nota es mayor o igual a G 3@egular4#i nota es menor que G 3

  • 5/28/2018 programacion-lenguaje-c.doc

    27/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    KK #i son varones, y su estatura es mayor a *.G, y su peso es mayor o igual a *F lb, su dosis, sern)U de la estatura y HU de su peso. 5e lo contrario, la dosis ser la siguiente) =U de la estatura yBU de su peso.KK #i son mujeres, y su estatura es mayor de a *.F m y su peso es mayor o igual a *= lb, su dosisser) FU de la estatura y BFU de su peso. 5e lo contrario, la dosis ser) =FU de la estatura y GFU de su

    peso. +a dosis debe ser e%presada en gramos.Linclude Mstdio.hKLinclude Mconio.hKmain'( O float peso, estatura, dosis- char se%o- printf'R&ntrodu$ca el se%o del alumno'a(M2K)TnR(- scanf'RUcR, Vse%o(- printf'RPeso)TnR(- scanf'RUfR, Vpeso(- printf'R+a estatura es de)TnR(- scanf'RUfR, Vestatura(-

    if'se%oSS^2^ se%oSS^h^( O if'estaturaK*.G VV peso KS*F(

    O dosisS'.Iestatura(Y'.HIpeso(- printf'R+a dosis de este alumno ser ) U.f gramosTnTnR, dosis(-Q

    elseO dosisS'.=Iestatura(Y'.BIpeso(- printf'R+a dosis de este alumno sera U.f gramosTnTnR, dosis(-Q

    Q else O if'estaturaK*.F VV peso KS*=(

    O dosisS'.FIestatura(Y'.BFIpeso(- printf'R+a dosis de esta alumna debe ser de U.f gramosTnTnR, dosis(-

    Q else

    O dosisS'.=FIestatura(Y'.GFIpeso(- printf'R+a dosis de esta alumna debe ser de U.f gramosTnTnR, dosis(-

    Q Q getch'(- return - Q

    #E+ECC&< +?&P+E

    27

  • 5/28/2018 programacion-lenguaje-c.doc

    28/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    Como su nombre lo indica, permite seleccionar entre varios caminos para llegar al final. En este caso sepueden elegir un camino o accin a ejecutar de entre varios posibles que se debe de evaluar, llamadaselector. #inta%is)s0itc@selector<

    case Etiqueta 1)1ccin 1-

    =reaQA case Etiqueta ;) 1ccin ;- =reaQA case Etiqueta n)

    1ccin n- =reaQA deault E%cepcin- =reaQAR

    En donde)elector 7ariables, e%presiones simples de tipo ordinal, 'enteros y caracteres 9int y char:(EtiBueta ?iene que ser del mismo tipo de datos de selecto. Estas deber ser constantes /nicas ydiferentes de otras.Excepcin Es opcional.

    Ejemplo 3.1S5ise0e un programa en C, que dado un n/mero del * al =, muestre en pantalla y en letras, el mismon/mero)Linclude Mstdio.hKLinclude Mconio.hK

    main'( O int n- clrscr'(- printf'REl

  • 5/28/2018 programacion-lenguaje-c.doc

    29/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    Cuestionario*. encione las diferencias entre las e%presiones y los

    operadores)WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    . ue tipo de datos son vlidos para los operadores

    aritmticos)WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW=. E%plique, el resultado de los operadores incremento y decremento, dependiendo de su

    posicin)WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    . u son y para que sirven los operadoresunarios")WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWF. E%plique, el funcionamiento de los operadores de

    asignacin)WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    Ejercicios*. 5ise0e un programa que dados tres n/meros indique cual es el mayor de ellos.. 5ise0e un programa que dados tres n/meros indique cual de ellos es el menor.=. En un cine se e%hiben, pel!culas para mayores de edad, dise0e un programa que dada la edad,

    indique si la persona puede o no ver la pel!cula.. En un supermercado, se reali$an descuentos por las compras a partir de unas bolitas de colores.

    #i el cliente saca una bolita color a$ul, tiene un descuento del U, si la bolita es roja, se aplicaun descuento del =U y si saca una bolita color blanca, no se aplica ning/n descuento. 5ise0eun programa que a partir del importe de la compra y el color de la bolita, muestre lo que debepagar dicho cliente.

    F. #e procesan las notas de F, alumnos, de las cuales se desea saber cual es el promedio de esasF notas, y cual fue la nota mayor y menor, adems de imprimir al final el nombre y la nota de

    cada alumno en forma de tabla.G. un estudiante desea saber cul fue su promedio en matemtica &, para ello dispone de lasiguiente informacin) tiene = e%menes, con una ponderacin del U cada uno y laboratorioscon una ponderacin del =U cada uno. 5ise0e un programa que dadas las notas calcule elpromedio del alumno y muestre en pantalla si el alumno esta reprobado o no 'para aprobar estamateria se requiere de una nota mayor o igual a G.(.

    B. En un estacionamiento, se cobra de la siguiente manera) los primeros * minutos son gratis, lossiguientes = minutos tiene un valor de .= y la hora .G. dise0e un programa que recibatanto minutos como horas y muestre lo que debe cancelar el cliente. ?omando en cuenta que sies artes y #bado se hace un descuento del *.FGU sobre el monto total.

    H. 5ise0e un programa que al introducir un d!gito del a A, muestre como se lee.A. 5ise0e un peque0a calculadora que, al digitar un cdigo realice una operacin espec!fica) si el

    cdigo es *, la operacin es la suma, si es , @esta. =, multiplicacin y divisin. #i el usuario a

    escrito otro cdigo invlido, mostrar un mensaje de error.*. Construya un programa que dado el salario de un empleado, permita aplicarle un aumento de*U si el salario es inferior a F, si es mayor se le aumentar un HU. +uego debe aplicar unaretencin del .AGU en concepto de @enta a ambos casos.

    **. #e desea calcular el sueldo de un trabajador, a partir de las horas trabajadas en la semana y laclase a la que pertenece) ?rabajadores Clase 314, se les paga B por hora. ?rabajadores clase3;4, se paga F por hora. ?rabajadores clase 3C4, se les paga por hora y los de clase 354, =.Fpor hora.

    *. 8n comerciante se dedica a la venta de sillas /nicamente. 7ende tres tipos de sillas) tipo 1, tipo ;y ?ipo C los precios son F., B. y *. respectivamente. Por cada cinco sillas compradas

    29

  • 5/28/2018 programacion-lenguaje-c.doc

    30/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    del tipo 1, del tipo ; o del tipo C los clientes reciben un descuento de =U, FU y BU, las dems secobran a precio normal. 5ise0e un programa que imprima en forma de factura, con el nombre,precio unitario, precio total, nombre de la tienda, etc lo que debe cancelar cada cliente enconcepto de la compra.

    5escubre donde est el error.El siguiente cdigo, es de un programa que a partir de una nota determina si un alumno esta o noreprobado, y este puede presentar algunos errores de lgica, de sinta%is o de ejecucin. Puedesdescubrirlos y modificarlos"L&nclude Mstdio.hKLincluide Mconio.hKmain'( O float nota- printf'35igite la nota)Tn4( scanf'3Uf4, nota(- if'notaKSG.( printf'31probadoTnTn(-

    else printf'@eprobadoTnTn(- getch'(- return - Q

    Capitulo 'G *Ciclos-'ntroduccinHHEs muy com/n encontrar en los programas operaciones que se deben ejecutar un n/mero repetido deveces en per!odos ms o menos espaciados. #i bien las instrucciones son las mismas, los datos sobrelos que operan var!an. 1 nuestro alrededor, encontramos problemas que presentan esas caracter!sticas,

    por ejemplo) el clculo de la nota final de los estudiantes de Programacin &, se reali$ar tantas vecescomo alumnos hayan inscritos en dicha asignatura, el clculo del salario de los empleados de unaempresa, etc. En estos casos la solucin que se dise0e para un solo grupo de datos se debe repetirtantas veces como sea necesario 'de acuerdo al n/mero de estudiantes y de empleados para losejemplos anteriores(.+os clculos simples o la manipulacin de peque0os conjuntos de datos se pueden reali$ar fcilmente amano, pero las tareas grandes o repetitivas son reali$adas con mayor eficacia por una computadora, yaque estas estn especialmente preparadas para ello.Para repetir varias veces un proceso determinado haremos uso de los ciclos repetitivos, a los cuales seles conoce con el nombre de estructura repetitiva, estructura iterativa, la$o o bucle.'?omado de +os guiones de clase de &ntroduccin a la &nformtica. 8niversidad de El #alvador. 10oF(En C, podemos encontrar tres tipos de ciclos)

    Entrada 1segurada '6hile( Ciclo Controlado Por Contador 'for( 2acer ientras 'do.. 6hile(

    Este ultimo, no est lgicamente estructurado, por tanto no haremos mucho hincapi en l.

    Conceptos 8enerales#uncionamiento de )n Ciclo8n ciclo, funciona de la siguiente manera) Eval/a una condicin de resultar cierta, reali$a una accin obloque de acciones, luego vuelve a evaluar la condicin y si nuevamente resulta cierta, reali$a la 's(

    30

  • 5/28/2018 programacion-lenguaje-c.doc

    31/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    accin 'es(. Cuando la condicin de cmo resultado falso, se sale del ciclo y contin/a con la ejecucinnormal del programa.&cumuladorEs una variable, que , como su nombre lo indica se encarga de acumular valores. Esto se vuelve muy /til,por ejemplo, cuando queremos encontrar la suma de los n/meros del al A, en el acumulador, vamos

    guardando los valores de dichas cifras. Puede ser tanto real como entera. #u valor inicial, en la mayor!ade los casos es cero.ContadorEs una variable de tipo entero, que nos ayuda, en el programa a contabili$ar el n/mero de ejecuciones deuna misma accin, de un grupo de alumnos etc. 8n acumulador tiene tres valores distintos)

    7alor &nicial) es el valor con el cual iniciamos nuestro contador. Neneralmente es cero. Estaasignacin puede hacerse cuando se declara la variable.

    7alor >inal) despus de la ejecucin del ciclo, el valor del contador, ser distinto a su valor inicial,este puede ser mayo o menor que el mismo, todo depende si fue una cuenta creciente odecreciente.

    7alor de Cambio) Es el valor Constante, en el cual se ir incrementando nuestro contador, estepuede ser positivo o negativo- es decir, si la cuanta se reali$a de manera ascendente odescendente.

  • 5/28/2018 programacion-lenguaje-c.doc

    32/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    return - Q

    Ejemplo 4.2#e desea conocer el promedio de los n/meros mayores que cero, en una serie de n/meros ingresados

    por el usuario. 5e los cuales no se sabe la cantidad, haciendo uso de una bandera, dise0e un programaen el cual el usuario ingrese los n/meros que desee.Linclude Mstdio.hKLinclude Mconio.hKmain'( O int iS, sumS, banS*, n- float prom- 6hile'banSS*(

    O printf'R&ngrese un nkmero por >avor)TnR(- scanf'RUdR, Vn(- if'nK(

    O iSiY*- sumYSn-Q

    printf'R5esea &ngresar Dtro

  • 5/28/2018 programacion-lenguaje-c.doc

    33/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    Q if'notaKSG.( jSjY*- if'notaKmayor( mayorSnota-

    if'notaMmenor( menorSnota- iSiY*- sumaSsumaYnota-Q

    promSsuma*- printf'REl Promedio es U.fTnTnR, prom(- printf'REl total de 1probados es UdTnR, j(- printf'R+a ayor nota fue U.fTnR, mayor(- printf'RU.f corresponde a la nota menorTnR, menor(- getch'(- return - Q

    Ciclo Controlado por contador.En algunas ocasiones, sabemos a ciencia cierta el n/mero de veces que se tiene que repetir una mismaaccin o bloque de acciones. J para ello es que nos sirve, esta estructura. #u sinta%is es la siguiente)or@ valor inicial- condicin- incremento< accion-5onde)7alor inicial) es el valor con el cual iniciali$amos nuestra variable de control.Condicin) si la cumple, ejecuta la accin o acciones e incrementa o decrementa la variable de control,sino la cumple la condicin, se sale del ciclo.&ncremento- que puede ser positivo o negativo 'decremento(.7eamos un ejemplo sencillo)

    Ejemplo 4.45ise0e un programa que imprima los primeros * n/meros)Linclude Mstdio.hKLinclude Mconio.hKmain'( O int i- for'iS*- iMS*- iYY(

    printf'RUdTtR, i(- getch'(- return - Q

    Ejemplo 4.!5ise0e un programa en C, que calcule las compras totales, reali$adas por un grupo de amas de casa.+uego con esa informacin obtenga la media.Linclude Mstdio.hKLinclude Mconio.hKmain'( O

    int i-float compra, desvia, prom, varin$a, sumS-for'iS*- iMS*- iYY(

    33

  • 5/28/2018 programacion-lenguaje-c.doc

    34/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    Oprintf'R&ngrese la cantidad que gast la ama de casa Ud)TnR, i(-scanf'RUfR, Vcompra(-6hile'compraM( O

    printf'RE@@D@, la compra debe ser mayor que cero, vuelva a intentarlo)TnR(- scanf'RUfR, Vcompra(- QsumSsumYcompra-

    QpromSsum*-printf'REl promedio de las compras es U.fTnTnTaR, prom(-getch'(-return -

    Q

    Cabe, mencionar que, en el ciclo for, podemos hacer cuentas decrecientes, es decir asignarle un valor

    grande a nuestra variable de control y luego irla disminuyendo hasta un valor determinado.

    Ejemplo 4."En un cine, se tienen = diferentes clases de boletos. #e pide que dise0e un programa en el cual)

    a( se lea el precio de las = clase de boletosb( #e lea el numero de boletos vendidos de cada tipoc( Calcular cual boleto es el que se vendi menosd( El total recaudado en taquilla

    1dems se sabe que durante el d!a se reali$aron un total de n ventas.Linclude Mstdio.hKLinclude Mconio.hKmain'(

    O float preciob*, preciob, preciob=, sumS, sum*S, sumS, sum=S- int n, i, boletos*, boletos, boletos=, boleto- clrscr'(- printf'RTtTt;&E

  • 5/28/2018 programacion-lenguaje-c.doc

    35/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    printf'RE@@D@TnR(- scanf'RUfR, Vpreciob=(-Q

    printf'RCu ntas ventas se reali$aron este da")TnR(- scanf'RUdR, Vn(-

    6hile'nM(O printf'RE@@D@TnR(-

    scanf'RUdR, Vn(-Q

    for'iS*- iMSn- iYY( O

    printf'R&ngrese el ;oleto)TnR(- scanf'RUdR, Vboleto(- s6itch'boleto( O case *) printf'R&ngrese la cantidad de boletos vendidos)TnR(-

    scanf'RUdR, Vboletos*(- sum*YSboletos*- sumSsumY'boletos*Ipreciob*(- brea\-

    case ) printf'R&ngrese la cantidad de boletos vendidos)TnR(- scanf'RUdR, Vboletos(- sumYSboletos- sumSsumY'boletosIpreciob(- brea\-

    case =) printf'R&ngrese la cantidad de boletos vendidos)TnR(- scanf'RUdR, Vboletos=(- sum=YSboletos=-

    sumSsumY'boletos=Ipreciob=(- brea\- default) printf'RE@@D@, 7uelva a intentarloTnTnR(-

    brea\- Q

    Q clrscr'(- if'sum=Msum VV sum=Msum*(

    printf'R+os ;oletos que se vendieron menos fueron los boletos numero 8

  • 5/28/2018 programacion-lenguaje-c.doc

    36/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    >ormato ) doO sentencia- . .

    Q 0ile'Me%p+K(-+a diferencia fundamental, entre el ciclo 6hile y do...6hile, es que en este ultimo, las sentencias sereali$arn por lo menos una ve$, en cambio, con 6hile, solo se cumplirn mientras se cumpla lacondicin, lo cual puede ser nunca.Ejemplo 4.$Programa que determina si un a0o es bisiesto o no. J un a0o es bisiesto si es m/ltiplo de cuatro, peroe%cluyendo aquellos que son m/ltiplos de * pero no de Linclude Mstdio.hKLinclude Mconio.hK>oidmain'(O intanio- carrespuesta-

    printf'RTnTnTn&&< 5E+ P@DN@11TnTnTnR(-Q

    ernando u0o$ +edesma.Practica =, ejercicio F.

    Cuestionario*. qu es y cmo funciona un ciclo"

    WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    . Cul es la diferencia entre un contador y unacumulador)WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW=. cul es la mejor manera de validardatos")WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW. cmo se evita un ciclo

    infinito")WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    F. u diferencia e%iste entre un ciclo de entrada asegurada y el do...6hile")WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    36

  • 5/28/2018 programacion-lenguaje-c.doc

    37/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    5escubre donde est el error.El siguiente cdigo muestra la serie)*XYXY=X....nXen el cual hay errores de lgica, de sinta%is o hasta de ejecucin, puedes descubrirlos y corregirlos"Linclude Mstdio.hK

    Linclude Mconio.hKmain'( O int n i, %, sumS- printf'R&nrtrodu$ca el valor de n)TnR(- scanf'RUdR, Vn(- 6hile'nM(

    O printf'RError, vuelva a digitar el valor de n)TnR(- scanf'RUdR, n(-Q

    for'iS*- iMSn, iYY( %SiIi-

    sumYSn-printf'REl valor de la suma es)UdTnTnR, sum(

    getch'(- return - Q

    Ejercicios*. #e desea conocer la suma de los n/meros enteros, positivos menores que n, el cual es un dato

    dado por el usuario.. uestre un programa en c, que imprima en pantalla los n/meros desde un valor inicial, hasta un

    valor final, ingresados por el usuario, tanto en forma descendente como ascendente.=. 5ise0e un programa que imprima la serie de >ugonacci, as!) * * = F H *=.... hasta un n/mero

    n dado por el usuario.. Calcule el promedio de edades de un grupo de estudiantes, de los cuales no se conoce lacantidad.

    F. 5ise0e un programa que obtenga, la calificacin mayor y la calificacin menor, de un grupo de estudiantes, adems de los nombres de dichos alumnos.

    G. En un pa!s hubieron elecciones para elegir al presidente. El pa!s consta de B provincias oregiones, de las cuales se han levantado actas que contiene el total de votos obtenidos por los partidos pol!ticos en dicha regin. 5ise0e un programa en c, que lea las actas de las B provincias,muestre que partido gan las elecciones y en caso de empate, lo especifique con un mensaje.

    B. en un supermercado, hay = departamentos 'de ropa, comestibles y perfumer!a(, en lo cuales sereali$an un descuento de FU, =.FU y HU respectivamente, por las compras totales mayores de*.. dise0e un programa que dado el monto de la compra, realice los descuentospertinentes por departamento, le indique al usuario a cuanto asciende su nuevo monto e indique,

    cuanto fue lo recaudado al final del d!a.H. +a Empresa, el porvenir s.a de c.v desea conocer lo que debe pagar en concepto de horas e%trasaun grupo de n empleados. #e sabe que una hora e%tra diurna, se paga el doble que una horanormal. J una hora e%tra nocturna se paga el doble de una hora normal ms el FU. 1dems quetodos los empleados tiene sueldos diferentes, muestre el nuevo sueldo de cada uno de ellos y loque tendr que pagar la empresa en concepto de horas e%tra.

    A. 8na compa0!a de telfonos, cobra .= por minuto la llamada nacional local, .G por lallamada de larga distancia nacional y .* la llamada de larga distancia internacional. 5ise0e unprograma que calcule las facturas mensuales de los clientes, sabiendo que, si las llamadas

    37

  • 5/28/2018 programacion-lenguaje-c.doc

    38/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    fueron reali$adas por la ma0ana tienen un doble valor, y si los * primeros minutos de llamadaslocales son gratis, en cualquier horario.

    Capitulo G #unciones en C+a modulari$acin, es una tcnica usada por los programadores para hacer sus cdigos ms cortos, ya

    que consiste en reducir un gran problema complejo, en peque0os problemitas ms sencillos,concentrndose en la solucin por separado, de cada uno de ellos.En C, se conocen como funciones a&uellos trozos de cdigos utilizados para dividir un programa con elobjetivo &ue, cada blo&ue realice una tarea determinada.

    En las funciones juegan un papel muy importe las variables, ya que como se ha dicho estas pueden serlocales o globales.Garia=les 8lo=ales Estas se crean durante toda la ejecucin del programa, y son globales, ya quepueden ser llamadas, le!das, modificadas, etc- desde cualquier funcin. #e definen antes del main'(.Garia=les Locales Estas, pueden ser utili$adas /nicamente en la funcin que hayan sido declaradas.+a sinta%is de una funcin es la siguiente)(ipoTdeTdatos nom=reTdeTlaTuncion@tipo nom=re de argumentos< acciones

    R

    donde) (ipoTdeTdatos Es el tipo de dato que devolver esa funcin, que puede ser real, entera, o tipo

    void'es decir que no devolver ning/n valor(. om=reTdeTlaTuncion Es el identificador que le damos a nuestra funcin, la cual debe cumplir

    las reglas que definimos en un principio para los identificadores. (ipo nom=re de argumentos son los parmetros que recibe la funcin. +os argumentos de

    una funcin no son ms que variables locales que reciben un valor. Este valor se lo enviamos alhacer la llamada a la funcin. Pueden e%istir funciones que no reciban argumentos.

    &cciones Constituye el conjunto de acciones, de sentencias que cumplir la funcin, cuandosea ejecutada. Entre ellas estn)

    *. 1signaciones. +ecturas=. &mpresiones. Clculos, etc

    8na funcin, termina con la llave de cerrar, pero antes de esta llave, debemos colocarle la instruccinreturn, con la cual devolver un valor espec!fico. Es necesario recalcar que si la funcin no devuelvening/n valor, es decir, es tipo void, no tiene que ir la sentencia return, ya que de lo contrario, nos dar unerror.Pero, es vlido que nos hagamos la siguiente pregunta)UCmo es Bue uncionan los u=programasV

    1 menudo, utili$amos el adjetivo de 3#ubprogramas4, para referirnos a las funciones, as! que, el lectordebe familiari$arse tambin con este trmino.+os subprogramas se comunican con el programa principal, que es el que contiene a las funciones,

    mediante parmetros, que estos pueden ser) Parmetros >ormales y Parmetros 1ctuales.Cuando se da la comunicacin los parmetros actuales son utili$ados en lugar de los parmetrosformales.

    Paso de ParmetrosE%isten dos formas de pasar parmetros, las cuales son)

    &< Paso por Galor?ambin conocido como parmetros valor. +os valores se proporcionan en el orden de clculos deentrada.

    38

  • 5/28/2018 programacion-lenguaje-c.doc

    39/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    +os parmetros se tratan como variables locales y los valores iniciales se proporcionan copiando losvalores de correspondientes argumentos.+os parmetros formales:+ocales de una funcin reciben como inicilaes los valores de los parmetrosactuales y con ellos se ejecutan las acciones descritas en el subprograma.Ejemplo

    1SF-;SB-CSproc*'1, *H, ;I=Y(-Proc*', J, (E%plicacin)5onde, se encuentra c, se est llamando la funcin, denominada proc*, en la cual se estn enviandocomo parmetros el valor de 1, que es cinco- el cual es recibido por la variable , en la definicin de lafuncin proc*- en la misma funcin, J tendr el valor de *H- por que ese es el valor del parmetro formal,mientras que , tendr un valor inicial de F, ya que ese es el resultado del tercer parmetro que resultaser una e%presin aritmtica.

    #unciones %einidas Por El )suario en C8na funcin, como ya se ha dicho, es un bloque de cdigo dentro del programa que se encarga de

    reali$ar una tarea determinada. Por lo tanto un programa en c debe constar de una o ms funciones, ypor su puesto no puede faltar la funcin principal main45.8n viejo adagio dice) #epara y vencers, lo cual se acopla perfectamente cuando tenemos un programaque es bastante grande- podemos separarlos en peque0os subprogramas 'funciones(, y concentrarnosen la solucin por separados de cada uno de ellos y as! resolver un gran problemas, en unos cuantosproblemitas ms peque0os.

    #i un programa, est constituido por ms de una funcin, las llamadas a la misma, pueden reali$arsedesde cualquier parte del programa, y la definicin de ellas debe ser independiente unas de otras.Por lo tanto ser!a un grave error el tratar de definir una funcin dentro de otra.8na funcin puede ser llamada desde cualquier parte del programa no slo una ve$, y cuando esllamada, empie$a a ejecutar las acciones que estn escritas en cdigo.Para mayor comodidad del lector vamos a ver varios ejemplos, del uso de funciones y a medida quevayamos avan$ando se volvern ms complejos.

    El orden ser el siguiente)*. >unciones que no devuelven ning/n valor. >unciones que devuelven un valor entero=. >unciones que devuelven un valor @eal. >unciones combinadasF. >unciones en las que usamos en/.

    1. #unciones Bue no de>uel>en ningWn >alor.

    39

  • 5/28/2018 programacion-lenguaje-c.doc

    40/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    Cmo se ha dicho las funciones pueden o no devolver alg/n valor, para mi parecer, este tipo defunciones son las ms sencillas, ya que cuando se llama la funcin, esta reali$a lecturas, asignaciones,clculos o impresiones, finali$a la ejecucin de la funcin y el programa contin/a normalmente.Ejemplo F.*5ise0e un programa que dados dos n/meros enteros determine la suma y cual de ellos es mayor, usando

    dos funciones diferentes.Linclude Mstdio.hKLinclude Mconio.hKvoid suma 'int a, int b(- I5eclaracin de la funcinIvoid mayor 'int a, int b(- I?ipo de dato, nombre de la funcin y el tipo y nombre de los argumentosImain'( O int a, b- printf'R&ngrese el valor de a)TnR(- scanf'RUdR, Va(- printf'R&ngrese el valor de b)TnR(- scanf'RUdR, Vb(- suma'a,b(- I+lamado de la funcinI

    mayor'a,b(- I8nicamente el nombre de la funcin y de los par metrosI getch'(- return - Q void suma'int a, int b( I5efinicin de la funcinI O I1brimos llaves al inicio de la definicinI int sum- I5eclaracin de las variables localesI sumSaYb- printf'REl valor de la suma es Ud)TnTnR, sum(- Q I>in de la funcin sumaI void mayor'int a, int b( O

    if'aSSb( printf'R#on igualesTnTnR(- else O

    if'aKb( printf'REl valor de a es mayor que el de bTnTnR(-else printf'REl valor de b es mayor que el de aTnTnR(-

    Q Q

    %einicin de la #uncin+a funcin ha sido declarada, ha sido llamada y por lo tanto deber haber sido definida. +o cual consta de

    dos partes, las cuales son)*. +a Primera +!neaue como su nombre lo indica, es la primera l!nea de la definicin de la funcin y con ella le indicamos alcompilador que est en presencia de una funcin. #u formato es el siguiente)(ipoTdeTdato nom=reTdeTlaTuncin @tipo nom=re de los argumentosuel>en un Galor +eal1ntes que nada, trataremos las funciones predefinidas en C. Ja que C, posee ciertas funciones que nos

    ayudan hacer nuestros programas ms fciles y utili$ar menos cdigo.

    El lenguaje c, cuenta con una serie de funciones de bibliotecas que reali$an operaciones y clculos deuso frecuente.Para acceder a una funcin, se reali$a mediante el nombre seguido de los argumentos que le servirn ala funcin a reali$ar la tarea espec!fica.

    om=re@arg1, arg2,...argn

  • 5/28/2018 programacion-lenguaje-c.doc

    45/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    atoi's( int Convierte cadenas a un enteroatol's( long Convierte cadenas a un entero largo

    2ay muchas otras funciones, pero para ahondar ms, debes saber cul es la versin de C, instalada entu mquina y as! verificar cules funcionan correctamente- pero por lo general, estas funciones son muy

    estndar para la mayor!a de compiladores.1 continuacin, pasaremos a desarrollar una serie de ejercicios, en los cuales haremos uso de lafunciones predefinidas en c, as! como la modulari$acin, es decir- el uso de funciones definidas por elusuario.

    Ejemplo !.!#e desea conocer el resultado de las siguientes operaciones)

    1. aYb. a:b=. ab

    +as variables a y b, son de tipo real, y pueden ser positivas o negativas.Linclude Mstdio.hKLinclude Mconio.hKLinclude Mmath.hKdouble rai$'float a, float b(-double valorWabsoluto'float a, float b(-double e%ponente 'float a, float b(-main'( O float a, b- clrscr'(- printf'RTtTt;&E

  • 5/28/2018 programacion-lenguaje-c.doc

    46/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    Q double e%ponente 'float a, float b( O double %- %Spo6'a,b(-

    return '%(- Q

    #upongo que, este ejemplo no requiere mayor e%plicacin. Pero me gustar!a que el lector, comprenda lagran cantidad de usos que podemos darle, a aquellas funciones matemticas, junto con las funcionesdefinidas por el usuario, esta es una gran ayuda, ya que se imaginan la cantidad de cdigo quedeber!amos colocar, para determinar cosas tan elementales como el valor absoluto"- con estas funcionesmatemticas, C, nos ahorra mucho trabajo y cdigo.

    4. #unciones Com=inadas1 continuacin veremos un ejemplo de un programa en el cual utili$amos dos funciones de diferente tipode dato.Ejemplo !.!El valor del n/mero e se puede apro%imar sumando n trminos de la serie) e S * Y ** Y * Y *= Y ...Escribir un programa que solicite el n/mero de trminos de la serie a sumar e informe del valorapro%imado de e. ?ngase en cuenta que el termino i de la anterior serie se obtiene dividiendo por 'i:

    *(. '+a e%clamacin es el factorial(.Linclude Mstdio.hKLinclude Mconio.hKLinclude Mstdlib.hK

    >oidcalculodatos'intnumero(-dou=lefactorial'intdato(-

    >oidmain'>oid(O intnumero- carrespuesta-

    printf'RTnTnTn&

  • 5/28/2018 programacion-lenguaje-c.doc

    47/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    calculodatos'numero(-

    printf'RTnTn5esea introducir mas datosT"TnTnR(- respuestaSgetch'(-

    system'RclsR(- Q 0ile'respuestaSS^s^ respuestaSS^#^(- printf'RTnTnTnTtTtR(- printf'RTnTtTt >&< 5E+ P@DN@11 R(- printf'RTnTtTtTnTnTnR(-Q

    >oidcalculodatos'intnumero(O registerinti- registerdou=leeS*.-

    or'iS*-iMSnumero-iYY( O

    eSeY*.factorial'i(-

    Q printf'RTnTnEl valor de e para Ud terminos es Uf.R,numero,e(- Q

    dou=lefactorial'intdato(O registerinti- registerdou=leresultadoS*-

    or'iSdato-iK-i::( resultadoSresultadoIi-

    returnresultado-Q

    El ejemplo anterior ha sido tomado de 3Practicas de C4, de >ernando u0o$ +edesma.ledesmafernandomsn.com J as! como este ejemplo, podemos reali$ar muchas otras combinaciones de funciones, seg/nnecesitemos y lo solicite nuestro programa.

    !. #unciones en las Bue usamos MenW En la prctica, muchas veces debemos dise0ar programas, que nos permitan elegir la accin o accionesa reali$ar, es decir haciendo uso de un men/. El cual, no es ms ni menos que la aplicacin de unselector m/ltiple. 8n s7itc(.7eamos un ejemplo.

    Ejemplo !."5ise0e un programa, que dado un ngulo, muestre su seno, coseno o tangente- seg/n lo desee elusuario.Linclude Mstdio.hKLinclude Mconio.hKLinclude Mmath.hKvoid seno 'float angulo(-void coseno 'float angulo(-void tangente 'float angulo(-main'(

    47

  • 5/28/2018 programacion-lenguaje-c.doc

    48/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    O float angulo- int opcion, banS*- clrscr'(- 6hile'banSS*(

    O printf'RTtTt;&E

  • 5/28/2018 programacion-lenguaje-c.doc

    49/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    printf'R+a tangente de Uf es UfTnTnR, angulo, y(- getch'(-

    Q

    Cuestionario

    *. encione y e%plique, las parte en las que se componen las funciones definidas por el usuario enC)WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    . Cul es la diferencia entre las funciones predefinidas en c y las funciones definidas por elusuario"

    WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    =. En que consiste el paso deparmetros")WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    . Cul es la diferencia entre parmetros formales yactuales")WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    F. En que se diferencias las variables locales a lasglobales)WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    Ejercicios

    *. @ealice una peque0a calculadora, utili$ando funciones. 5ise0e un programa que permita calcular la serie Y *= Y Y ... *n.=. 5ise0e un programa, que muestre el mayor y el menor de tres introducidos por el usuario.. #e desea conocer el logaritmo natural y el logaritmo base * de una serie de n/meros. 1s! como

    la suma de dichos valoresF. #e desea conocer la permutacin de dos n/meros distintos. 8sando funciones. 5ise0e un

    programa que resuelva dicho problema. '

  • 5/28/2018 programacion-lenguaje-c.doc

    50/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    *. En una empresa de repuestos de automvil, poseen * tipos de repuestos identificados con losn/meros de * al *. durante la semana se reali$an diferentes ventas de los repuestos. #e deseasaber la cantidad de repuestos que se deben comprar, para actuali$ar el inventario. El cual sereali$a cada cinco d!as, y se procede de la siguiente manera) cada d!a se contabili$an el total defacturas, en las cuales se muestran la cantidad de art!culos vendidos as! como el total de la

    venta. Con esos datos, indique al usuario cuantos y de que tipo, son los repuestos que se debencomprar as! como la ganancia.

    Capitulo G' *Estructuras de %atos-8n arraes un identificador que referencia un conjunto de datos del mismo tipo. &magina un tipo

    de dato int- podremos crear un conjunto de datos de ese tipo y utili$ar uno u otro con solo cambiar el!ndice que lo referencia. El !ndice ser un valor entero y positivo. En ^C^ los arrayscomien$an por laposicin S.Gectores

    8n >ectores un arrayunidimensional, es decir, solo usa un !ndice para referenciar a cada uno delos elementos.

    #u declaracin ser) tipo nom=re ItamaFoJA

    El tipo puede ser cualquiera de los ya conocidos y el tama0o indica el n/mero de elementos del vector'se debe indicar entre corchetes I J(. En el ejemplo puedes observar que la variable ies utili$ada como!ndice, el primer orsirve para rellenar el vector y el segundo para visuali$arlo. Como ves, las posicionesvan de Sa 'total * elementos(.'?omado de 3&ntroduccin al lenguaje de programacin de CCYY4. #ergio Pacho(

    Ejemploint numZ*[- I1rreglo de tipo entero compuesto de * posicionesI

    char nomZH[- I?e%to de H caracteresI

    float %Z*[- Iarreglo de * elementos punto flotantes IConstante im=lica2ace ms sencillo o ms fcil modificar un programa que utili$a arreglos. Ja que todas las referencias altama0o del arreglo pueden ser alteradas, cambiando el valor de la constante simblica.

    Ejemplo ".15ise0e un programa que lea un vector de * posiciones, luego determine si la quinta posicin es positiva,si la primera posicin es negativa y si la ultima posicin es cero.Linclude Mstdio.hKLinclude Mconio.hKLdefine < *main'(

    O float %Z

  • 5/28/2018 programacion-lenguaje-c.doc

    51/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    printf'R+a quinta Posicin es PositivaTnTnR(- Q if'%Z[M( O

    printf'R+a * Posicin es

  • 5/28/2018 programacion-lenguaje-c.doc

    52/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    Llamado de la #uncin

  • 5/28/2018 programacion-lenguaje-c.doc

    53/58

    Manual de ProgramacinManual de Programacin Lenguaje CLenguaje C

    El lector, debe preguntarse, que pasar!a si e%isten dos valores e%actamente iguales que sean los valoresm%imos y que por ende, estn en diferentes posiciones, que solucin le dar!as como programador"...este tipo de preguntas debe hacerse siempre que ha finali$ado un programa, y nunca dejar nada sinresolver, por que recordemos que los programas que dise0amos son para que otras personas los usen.

    Matrices+as matrices se declaran de forma anloga, con corchetes independientes para cadasub!ndice. +a forma general de la declaracin es)tipo nombreZnumeroWfilas[ZnumeroWcolumnas[-donde tanto las filas como las columnas se numeran tambin a partir de . +a forma deacceder a los elementos de la matri$ es utili$ando su nombre, seguido de las e%presionesenteras correspondientes a los dos sub!ndices, entre corchetes.En C tanto los vectores como las matrices admiten los tipos de las variables escalares'char, int, long, float, double, etc.(,+as matrices en C se almacenan por filas, en posiciones consecutivas de memoria. Encierta forma, una matri$ se puede ver como un vector de vectores8fila. #i una matri$ tiene