apuntes de programación

Upload: edgar-guerra-givaudan

Post on 19-Feb-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 Apuntes de Programacin

    1/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    INTRODUCCININTRODUCCIN

    La computadora no solamente es una mquina que puede realizar procesos para darnos resultados,sin que tengamos la nocin exacta de las operaciones que realiza para llegar a esos resultados. Con lacomputadora, adems de lo anterior, tambin podemos disear soluciones a la medida de problemas

    especficos que se nos presenten. as a!n, si estos in"olucran operaciones matemticas comple#as $%orepetiti"as, o requieren del mane#o de un "olumen mu$ grande de datos.

    &l diseo de soluciones a la medida de nuestros problemas, requiere como en otras disciplinas unametodologa que nos ensee de manera gradual, la forma de llegar a estas soluciones.

    ' las soluciones creadas por computadora se les conoce comoprogramas$ no son mas que unaserie de operaciones que realiza la computadora para llegar a un resultado, con un grupo de datosespecficos. Lo anterior nos lle"a al razonamiento de que un programa nos sir"e para solucionar unproblema especifico.

    (ara poder realizarprogramas, adems de conocer la metodologa mencionada, tambin debemosde conocer, de manera especifica las funciones que puede realizar la computadora $ las formas en que sepueden mane#ar los elementos que )a$ en la misma.

    Conceptos de Programacin

    Computadora: &s un dispositi"o electrnico utilizado para procesar informacin $ obtener resultados. Losdatos $ la informacin se pueden introducir en la computadora como entrada *input+ $ a continuacin seprocesan para producir una salida *output+.

    Proceso de informacin en la computadora

    atos de (roceso atos de entrada salida

    Programa:&s el con#unto de instrucciones escritas de alg!n lengua#e de programacin $ que e#ecutadas

    secuencialmente resuel"en un problema especifico.

    Lenguaje:&s una serie de smbolos que sir"en para transmitir uno o mas mensa#es *ideas+ entre dosentidades diferentes. ' la transmisin de mensa#es se le conoce com!nmente como comunicacin.

    La comunicacin es un proceso comple#o que requiere una serie de reglas simples, peroindispensables para poderse lle"ar a cabo. Las dos principales son las siguientes-/ Los mensa#es deben correr en un sentido a la "ez.0 ebe forzosamente existir 1 elementos- &misor, eceptor, edio de Comunicacin $ ensa#e.

  • 7/23/2019 Apuntes de Programacin

    2/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    Lenguajes de Programacin

    &s un con#unto de smbolos, caracteres $ reglas *programas+ que le permiten a las personascomunicarse con la computadora.

    Los lengua#es de programacin tienen un con#unto de instrucciones que nos permiten realizaroperaciones de entrada%salida, calculo, manipulacin de textos, lgica%comparacin $almacenamiento%recuperacin.

    Los lenguajes de programacin se clasifican en:

    Lenguaje Maquina: 3on aquellos cu$as instrucciones son directamente entendibles por la

    computadora $ no necesitan traduccin posterior para que la C(4 pueda comprender $ e#ecutar elprograma. Las instrucciones en lengua#e maquina se expresan en trminos de la unidad de memoria maspequea el bit *dgito binario / o 0+.

    Lenguaje de Bajo Nivel (Ensamblador:&n este lengua#e las instrucciones se escriben en cdigos

    alfabticos conocidos como mnemotcnicos para las operaciones $ direcciones simblicas.

    Lenguaje de !lto Nivel:Los lengua#es de programacin de alto ni"el *5'36C, pascal, cobol, frotran,

    etc.+ son aquellos en los que las instrucciones o sentencias a la computadora son escritas con palabrassimilares a los lengua#es )umanos *en general en ingles+, lo que facilita la escritura $ comprensin delprograma.

    Definicin de lgoritmo

    La palabra algoritmo se deri"a de la traduccin al latn de la palabra rabe al7)o8arizmi, nombrede un matemtico $ astrnomo rabe que escribi un tratado sobre manipulacin de n!meros $ ecuacionesen el siglo 69.

    4n algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, paradar solucin a un problema especifico.

    Lenguajes algor!tmicos

    &s una serie de smbolos $ reglas que se utilizan para describir de manera explcita un proceso.

    "ipos de Lenguajes !lgoritmicos

    #r$ficos:&s la representacin grfica de las operaciones que realiza un algoritmo *diagrama de flu#o+.

    No #r$ficos: epresenta en forma descripti"a las operaciones que debe realizar un algoritmo

    *pseudocodigo+.

  • 7/23/2019 Apuntes de Programacin

    3/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    #r$ficos :

    %iagrama de &lujo

    4n diagrama de flu#o es la representacin grfica de un algoritmo. :ambin se puede decir que esla representacin detallada en forma grfica de como deben realizarse los pasos en la computadora paraproducir resultados.

    &sta representacin grfica se da cuando "arios smbolos *que indican diferentes procesos en lacomputadora+, se relacionan entre si mediante lneas que indican el orden en que se deben e#ecutar losprocesos.Los smbolos utilizados )an sido normalizados por el instituto norteamericano de normalizacin *';36+.

    'ecomendaciones para el diseo de %iagramas de &lujo

    3e deben se usar solamente lneas de flu#o )orizontales $%o "erticales.

    3e debe e"itar el cruce de lneas utilizando los conectores.

    3e deben usar conectores solo cuando sea necesario.

    ;o deben quedar lneas de flu#o son conectar.

    3e deben trazar los smbolos de manera que se puedan leer de arriba )acia aba#o $ de izquierda a

    derec)a.

    :odo texto escrito dentro de un smbolo deber ser escrito claramente, e"itando el uso de muc)as

    palabras.

    %iagramas estructurados (Nassi)*c+neiderman

    &l diagrama estructurado ;

  • 7/23/2019 Apuntes de Programacin

    4/31

    "U# $ % & '

    ID(NTI)ICDOR OP(RDOR ID(NTI)ICDOR OP(RDOR CON"TNT(

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    &s la representacin narrati"a de los pasos que debe seguir un algoritmo para dar solucin a unproblema determinado. &l pseudocodigo utiliza palabras que indican el proceso a realizar.

    ,entajas de utili-ar un Pseudocodigo a un %iagrama de &lujo

    >cupa menos espacio en una )o#a de papel

    (ermite representar en forma fcil operaciones repetiti"as comple#as

    &s mu$ fcil pasar de pseudocodigo a un programa en alg!n lengua#e de programacin.

    3i se siguen las reglas se puede obser"ar claramente los ni"eles que tiene cada operacin.

    odelo-

    'ccion0 'ccion2 . .

    'ccion;=in

    (jemplos de lgoritmos(jemplos de lgoritmos

    Identificador:&s el carcter alfabtico o grupo de caracteres alfabticos o alfanumricos que seemplean para representar algo en la solucin de un problema.

    Redactar el algoritmo para leer * n+meros

    cuales,uiera - calcular la suma de am.os.

    (aso 0. inicio

    (aso 2. leer N/ ID(NTI)ICDOR

    (aso ?. leer N*

    (aso 1. total $ N/ & N*

    (aso @. fin0

    Calcular el 1rea de en2oltura de papel de

    una lata cil!ndrica ,ue tiene una altura.-

    un di1metro%0 Redactar el algoritmo paraleer la.- el di1metro%- calcular el 1rea

    solicitada0

    (aso 0. inicio

    (aso 2. leer D ID(NTI)ICDOR

    (aso ?. leer 3

    (aso 1. PC $ '0/4/5 6 7D8*9

    (aso @. rea $ PC63(aso A. )in

  • 7/23/2019 Apuntes de Programacin

    5/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    Ejemplo: ada la figura del triangulo '5C, el coseno de ngulo ' puede calcularse mediante la formula

    dada posteriormente. edactar un algoritmo para calcular el coseno para cada uno de los ngulos, si se

    proporciona como !nico dato el "alor de los lados.

    0. 6nicio.2. leer a.?. leer b.1. leer c@. CosB' b2D c2D a2%2bcA. CosB5 a2D c2E b2%2ac

    F. CosBC b2

    D a2

    E c2

    %2abG. 6mprimir el coseno del ngulo que es - cosB'H. 6mprimir el coseno del ngulo que es - cosB50/. imprimir el coseno del ngulo que es - cosBC00. =in.

    (structuras lgoritmicas

    Las estructuras de operacin de programas son un grupo de formas de trabajo, que permiten,mediante la manipulacin de variables, realizar ciertos procesos especficos que nos lleven a la solucin

    de problemas. Estas estructuras se clasifican de acuerdo con su complejidad en:

    < 'signacin3ecuenciales < &ntrada

    < 3alida

    < 3imples &structuras Condicionales

    'lgoritmicas < !ltiples

    < Iacer paraCclicas < Iacer mientras

    < epetir )asta

    =igura- Tri1ngulo %C=ormula- Cos $ .*& c2& a*8*.c

    Cos % $ a*& c* .*8*ac

    Cos C $ .*& a* c*8*a.

    C

    a

    .

    c %

  • 7/23/2019 Apuntes de Programacin

    6/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    Estructuras *ecuenciales

    La estructura secuencial es aquella en la que una accin *instruccin+ sigue a otra en secuencia.Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente $ as sucesi"amente)asta el fin del proceso. 4na estructura secuencial se representa de la siguiente forma-

    6nicio 'ccion0 'ccion2 . . 'ccion;=in

    ) !signacin:La asignacin consiste, en el paso de "alores o resultados a una zona de la memoria. ic)azona ser reconocida con el nombre de la "ariable que recibe el "alor. La asignacin se puede clasificar dela siguiente forma-

    *imples:Consiste en pasar un "alor constate a una "ariable *a0@+

    Contador:Consiste en usarla como un "erificador del numero de "eces que se realiza un

    proceso *aaD0+

    !cumulador:Consiste en usarla como un sumador en un proceso *aaDb+

    %e trabajo:onde puede recibir el resultado de una operacin matemtica que in"olucre

    muc)as "ariables *acDb2%1+.) Lectura:La lectura consiste en recibir desde un dispositi"o de entrada *p.e#. el teclado+ un "alor. &staoperacin se representa en un pseudocodigo como sigue-

    Leer a, b

    onde JaK $ JbK son las "ariables que recibirn los "alores

    )Escritura:Consiste en mandar por un dispositi"o de salida *p.e#. monitor o impresora+ un resultado omensa#e. &ste proceso se representa en un pseudocodigo como sigue-

    &scribe J&l resultado es-K,

    %onde /El resultado es:0 es un mensaje que se desea apare-ca 1 ' es una variable que contiene

    un valor2

    Estructuras de Condicionales

    Las estructuras condicionales comparan una "ariable contra otro*s+ "alor*es+, para que en base alresultado de esta comparacin, se siga un curso de accin dentro del programa. Cabe mencionar que lacomparacin se puede )acer contra otra "ariable o contra una constante, seg!n se necesite. &xisten dostipos bsicos, las simples $ las m!ltiples.

  • 7/23/2019 Apuntes de Programacin

    7/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    *imples: Las estructuras condicionales simples se les conoce como J:omas de decisinK. &stas

    tomas de decisin tienen la siguiente forma-

    3i condicinM entonces'ccin*es+

    =in

  • 7/23/2019 Apuntes de Programacin

    8/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    CondicinNNNN 6ndica la condicin a e"aluarentoncesNN..NN (recede a las acciones a realizar cuando se cumple la condicinaccin*es+NNNN 3on las acciones a realizar cuando se cumple o no la condicinsi noNNNNNN (recede a las acciones a realizar cuando no se cumple la condicin

    %ependiendo de si la comparacin es cierta o falsa3 se pueden reali-ar una o mas acciones2

    M4ltiples:Las estructuras de comparacin m!ltiples, son tomas de decisin especializadas que

    permiten comparar una "ariable contra distintos posibles resultados, e#ecutando para cada caso unaserie de instrucciones especificas. La forma com!n es la siguiente-

    3i condicinM entonces'ccin*es+

    si no3i condicinM entonces

    'ccin*es+ si no

    .

    . Oarias condiciones

    .

    &orma #eneral

    Casos Oariable >p0- 'ccin*es+ >p2- 'ccin*es+

    . .

    >p;- accin=in

  • 7/23/2019 Apuntes de Programacin

    9/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    Diagramas de )lujo 7D0)09

    %iagrama de &lujo o 5rganigrama2 epresentacin semigrfica del algoritmo en cuestin $ representa la

    solucin de un problema por medio de smbolos estandarizados, que se colocan en una secuencia

    adecuada para indicar las fases lgicas de la solucin de un problema.

    &sto nos facilita la "isin descripti"a de la e#ecucin del programa, as como la generacin de la traza

    del algoritmo o del Diagrama de Flujo . 3e denomina traza de un algoritmo o iagrama de =lu#o, a la

    e#ecucin manual de un programa obteniendo para cada paso un resultado.

    &l sentido de la e#ecucin de un .=. es de arriba )acia aba#o $ de izquierda a derec)a. &l .=.,

    proporciona algo ms que una descripcin detallada del flu#o o procesamiento de informacin, sir"e

    tambin como-

    edio de comunicacin eficiente.

    Ierramienta de anlisis.

    =orma concisa de documentacin.

    *6mbolos generales:

    6nicio $ fin de un programa.

    >peraciones de 6%> , aritmticas $ lgico

  • 7/23/2019 Apuntes de Programacin

    10/31

    +- Diagrama de Flujo

    Inicio

    a=0, b=0

    a,b

    c = a + b

    c terminar

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    La tra-a*tambin conocido como-Prueba de Escritorio+ de un lgoritmo o Diagrama de )lu#o, sepuede definir como la e#ecucin manual de forma secuencial de las sentencias que lo componen. 's, lala traza del siguiente algoritmo es el "alor que "an adoptando las "ariables a medida que se "a e#ecutando

    un programa.

    La funcin principal que posee realizar la traza de un algoritmo es la de comprobar que ste funciona

    correctamente o para realizar la etapa de depuracin en la que se intenta corregir errores, simplificarel algoritmo al mximo e incrementar su eficacia $ "elocidad.

    "im.olog!a .1sica del los Diagrama de )lujo

    :odos los smbolos se unen mediante lneas que tiene un solo sentido, $ se les conoce como l6neas de

    flujo, las cuales indican el sentido de la e#ecucin del .=. de arriba aba#o $ de izquierda a derec)a.

    &mpleado para marcar el inicio$ el finde un .=. *elimita cuerpo lgico del .=.+

    Inicio

    T R @ Comentario Oalores

    Leemos a- a < 1

    Leemos b- b < @

    Calcula c- c < aDb < H

    &scribe c- c < H

  • 7/23/2019 Apuntes de Programacin

    11/31

    '5;o 3i

    6nstruccin 6nstruccin

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    3mbolo de lectura03e encierra lo que ser ledo.

    3mbolo de impresin0&mpleado para la impresin de los "alores que tienen los indentificadores o

    citar mensa#es.

    5loque de procesamiento0 3e usan para representar- asignaciones o para realizar clculos.

    Conectores. &mpleados para indicar )acia donde continua el .=.

    Colectores23on para recibir dos lneas de flu#o $ tener una lnea resultante.

    *6mbolo de Condicin o %ecisin2

    ;o Condicin 3i

    %ecisin: 3e utiliza para buscar una comparacin o relacin lgica entre dos "alores. 3i la condicin se

    cumple, la direccin lgica tamar el camino del JsiK $ e#ecutar la instruccin o instrucciones

    correspondientesP en caso contrario, tomar el camino del Jno 7si no 9K. 'l tomar la alternati"a del

    Resultado

    N

    $%&C

    Instruccin

    '5

    ;o 3i

  • 7/23/2019 Apuntes de Programacin

    12/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    JnoA, podra ser necesario no realizar una instruccin o grupos de instrucciones, $a que puede ser deseable

    que por las condiciones del problema, no se necesite realizar ninguna instruccin.

    *imbolo de decisin anidados2 &sta simbologa, es seme#ante a la anterior. 'l implantar una

    simbologa de condicin $ agregar inmediatamente otro smbolo igual al anterior *en lugar de una

    instruccin+ independientemente de la posicin lgica Jsio si noJ, en ese momento se puede decir

    que se est utilizando simbologa de decisin anidada.

    Cabe mencionar, que mientras ms condiciones anidadas se implanten, ms comple#idad de interpretacin

    o confusin se presentar al analizar el diagrama de flu#o. (ara tal caso, se crea simbologa que sigue a

    continuacin.

    7nstruccin *eg4n8+acer (case

    &s una instruccin de seleccin m!ltiple de opciones. &n esta simbologa de multiples caminos, solamente

    uno es el que se e#ecutar *de acuerdo al deseado+ e inmediatamente terminar el mdulo del flu#o lgico.

    6nstruccin 6nstruccin 6nstruccin 6nstruccin 6nstruccin 6nstruccin 6nstruccin

    3eg!n Oalor

    =in 3eg!n

    ;o 3i

    ;o 3i ;o 3i

    ;o 3i

    ;o 3i

    Condicin

    Condicin

    Condicin

    Condicin

    Condicin6nstruccin 6nstruccin 6nstruccin

    6nstruccin 6nstruccin

  • 7/23/2019 Apuntes de Programacin

    13/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    5tros s6mbolos:

    "!m.olo Uso (jemplo&xpresa, la tomar la parte entera

    de un identificador

    ' ?.@AF

    ' '&xpresa, tomar el mdulo a

    residuo de una di"isin entera

    ' 2/

    ' % 2 B&xpresa, &l "alor absoluto de que

    tine un identificador.

    ' ,9c,Qc,9p,Qp

    *9c

  • 7/23/2019 Apuntes de Programacin

    14/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    ealizar un diagrama de flu#o para leer una calificacin que debe ser entera $ legal. eterminar si la

    calificacin es reprobatoria, si saco F/, si saco G/, si saco H/, o excelente.

    C'L M /'nd Cal 0//

    3eg!n C'L

    :erminar

    Problemas *ecuenciales para %iagramar

    0+ 3uponga que un indi"iduo desea in"ertir su capital en un banco $ desea saber cuanto dinero ganaradespus de un mes si el banco paga a razn de 2R mensual.

    6nicio Leer capBin" gan capBin" /./2

    6mprimir gan=in

    2+ 4n "endedor recibe un sueldo base mas un 0/R extra por comisin de sus "entas, el "endedor deseasaber cuanto dinero obtendr por concepto de comisiones por las tres "entas que realiza en el mes $ eltotal que recibir en el mes tomando en cuenta su sueldo base $ comisiones.

    6nicio Leer sb, "0, "2, "? totB"ta "0 D "2 D "? com totB"ta /.0/

    eprobado 3aco F/ 3aco G/ 3aco H/ &xcelente

    C'L

    6;6C6>

    :erminar 3eg!n

  • 7/23/2019 Apuntes de Programacin

    15/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    7iG tpag sb D com 6mprimir tpag, com=in

    ?+ 4na tienda ofrece un descuento del 0@R sobre el total de la compra $ un cliente desea saber cuantodeber pagar finalmente por su compra.

    6nicio Leer tc d tc /.0@ tp tc < d 6mprimir tp=in

    1+ 4n alumno desea saber cual ser su calificacin final en la materia de 'lgoritmos. ic)a calificacin secompone de los siguientes porcenta#es-

    @@R del promedio de sus tres calificaciones parciales.?/R de la calificacin del examen final.0@R de la calificacin de un traba#o final.

    6nicio Leer c0, c2, c?, ef, tf prom *c0 D c2 D c?+%? ppar prom /.@@ pef ef /.?/ ptf tf /.0@ cf ppar

    D pef D ptf 6mprimir cf=in

    @+ 4n maestro desea saber que porcenta#e de )ombres $ que porcenta#e de mu#eres )a$ en un grupo deestudiantes.

    6nicio Leer n), nm ta n) D nm p) n) 0// % ta pm nm 0// % ta 6mprimir p), pm=in

    Problemas Condicionales

    Problemas *electivos *imples para diagramar

    0+ 4n )ombre desea saber cuanto dinero se genera por concepto de intereses sobre la cantidad que tiene enin"ersin en el banco. &l decidir rein"ertir los intereses siempre $ cuando estos excedan a SF///, $ enese caso desea saber cuanto dinero tendr finalmente en su cuenta.

    6nicio

  • 7/23/2019 Apuntes de Programacin

    16/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    Leer pBint, cap int cap pBint si int M F/// entonces

    capf cap D int fin

  • 7/23/2019 Apuntes de Programacin

    17/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    fin

    2+ Leer tres n!meros diferentes e imprimir el numero ma$or de los tres.6nicio Leer num0, num2, num? 3i *num0 M num2+ and *num0 M num?+ entonces

    ma$or num0 si no

    3i *num2 M num0+ and *num2 M num?+ entoncesma$or num2

    si noma$or num?

    fin

  • 7/23/2019 Apuntes de Programacin

    18/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    6nicio Leer sm, antig 3i antig 0 entonces

    util sm /./@ si no

    3i *antig M 0+ and *antig 2+ entoncesutil sm /./F

    si no3i *antig M 2+ and *antig @+ entonces

    util sm /.0/ si no

    3i *antig M @+ and *antig 0/+ entoncesutil sm /.0@

    si noutil sm /.2/

    fin

  • 7/23/2019 Apuntes de Programacin

    19/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    Estructuras C6clicas

    Iasta el momento las instrucciones "istas, sir"en para realizar todo el proceso una sola "ez. 3i se quisiera

    repetir estas sentencias, deber e#ecutarse de nue"o el programa. (ara e"itar este problema surge un

    mecanismo iterati"o llamado instrucciones repetitivas. &stas instrucciones cclicas, son controladas

    *abortadas, canceladas o terminadas+ mediante el cumplimiento de una condicin o a tra"s de un

    contador automtico.

    #or lo tanto, $e llaman problemas repetitivos o cclicos a aquellos en cu%a solucin es necesario

    utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad especifica de veces. Estacantidad puede ser fija &previamente determinada por el programador' o puede ser variable &estar en

    funcin de alg(n dato dentro del programa'.Los ciclos se clasifican en:

    a+ ientras

  • 7/23/2019 Apuntes de Programacin

    20/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    ercicio.< iagrama de flu#o para leer un n!mero entero que debe ser no negati"o. Calcular el factorial de

    dic)o n!mero. *emplo- =actorial @Z @x1x?x2x0 02/+

    )bservacin importante. 3i al iniciar el ciclo repetiti"o, la concicin no se cumple, se sale del proceso

    sin que se realice alguna "ez el bloque de instrucciones repetiti"as.

    .9 Repetir3asta 7repetuntil9

    ealizar repetiti"amente un proceso mientras la condicin es falsa. &s necesario que un componente de la

    condicin se altere para e"itar caer en un ciclo repetiti"o infinito.

    3imbologa Yeneral 3imbologa de e#emplo- ; tiene que ser ma$or que cero.

    ;o ;/

    3i6

    ;

    ;

    6nicio

    =act 0 'ux ;

    ;o'ux M 0

    3i =act, ;

    :erminar

    =act =act 'ux'ux 'ux

  • 7/23/2019 Apuntes de Programacin

    21/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    ercicio < ealizar un .=. para calcular la suma de los primeros 0/ n!meros impares.

    C9Desdeastaacerfin desde7)or9

    ealiza repetiti"amente un ciclo de instruccin*es+ )asta cumplir con el n!mero de "eces pre"iamente

    conocido. &xisten dos "ariantes de este ciclo de control.

    To)or

    DoEnto

    (l )or to: (l )or DoEnto7forma in2ersa9:

    ;oCont 0/

    3i

    3umimp

    :erminar

    Yenimp Yenimp D 2cont contD 0

    sumimp sumimp D Yenimp

    6nicio

    Yenimp0Cont0

    3umimp 0

    I $ / to N

    6ntrucciones

    I $ N DoEnto /

    6ntrucciones

  • 7/23/2019 Apuntes de Programacin

    22/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    &l identificador I &pudo ser cualquiera'0 (s un auxiliar que se utiliza para lle"ar el control cclico

    automtico.

    Casofor toel identificador "ariable73tendr el "alor numrico uno 7/9cuando el flu#o lgico pase la

    primera "ez. ientras no salga de la primera "uelta Isiempre tendr el "alor nurico uno 7/9.

    &l ciclo lgico terminar cuando I alcance el "alor de N *n!mero mximo de "ueltas pre"iamente

    conocido+.

    Caso for do9nto el identificador "ariable73 tendr el "alor numrico N *n!mero mximo de "ueltas

    pre"iamente conocido+ $ cada "ez que pase por el flu#o lgico decrementar de manera automtica, por lotanto, antes de entrar de nue"o al ciclo repetiti"o de instrucciones *en la parte alta del ciclo+ se comparar

    el "alor de Icon el "alor n!merico de uno * pasa por (ltima vez9, de tal forma que cuando Itenga como

    "alor numrico cero 7B9, el flu#o saldr del ciclo.

    emplo-

    Problemas ( .acer para

    0+ Calcular el promedio de un alumno que tiene F calificaciones en la materia de iseo &structurado de'lgoritmos

    6nicio 3um/ Leer ;om Iacer para c 0 a F

    Leer calif3um sum D calif =in

  • 7/23/2019 Apuntes de Programacin

    23/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    Leer numcubo num num numcuarta cubo num6mprimir cubo, cuarta

    =in

  • 7/23/2019 Apuntes de Programacin

    24/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    rreglos

    !rreglo:&s un con#unto o coleccin de "ariables del mismo tipo, donde cada elemento ocupa una posicin

    determinada, !nica $ que se referencian utilizando un nmbre com!n.

    Los arreglos se caracterizan por-

    'lmacenan los elementos en posiciones contiguas de memoria

    :ienen un mismo nombre de "ariable que representa a todos los elementos. (ara )acer referencia a

    esos elementos es necesario utilizar un ndice que especifica el lugar que ocupa cada elementodentro del arc)i"o.

    Notacin del arreglo:

    Los subndices indican la posicin del elemento dentro del arreglo $ son "ariables ordinales *enteros o

    caracteres+.

    Tipos de arreglos de acuerdo a su dimensin:

    4nidimensionales > O&C:>&3

    5idimensionales > ':6C&3

    :ridimensionales > ':6C&3

    !rreglo de una dimensin:

    !rreglos Multidimensionales: 3eg!n el Lengua#e de (rogramacin que se utilice, ser eln!mero de dimensiones que soportar el Lengua#e. &l Lengua#e C, contempla )asta Fdimensiones. Los arreglos :ridimensionales por lo general, son los que se utilizan comomximo.

  • 7/23/2019 Apuntes de Programacin

    25/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    ;umeros ;ombre del 'rreglo ato de las posiciones

    *< / > < '4 /*

  • 7/23/2019 Apuntes de Programacin

    26/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    6 6 D 0Iasta

  • 7/23/2019 Apuntes de Programacin

    27/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    Matri-

    Es un arreglo de * + elementos organizados en dos dimensiones donde -* es el numero defilas o reglones % - el numero de columnas.

    (ara representar una matriz se necesita un nombre de matriz se necesita un nombre de matrizacompaado de dos ndices.

    at [,C\

    onde indica el rengln $ C indica la columna, donde se encuentra almacenado el dato.

    epresentacin grfica de una matriz

    Mat >'3C?

    0,0 0,2 0,? 0,1

    2,0 2,2 2,? 2.1

    ?,0 ?,2 ?,? ?,1

    1,0 1,2 1,? 1,1

    !cceso a la matri-

    atrizBletras 'cceso a la letra C: #atri;Fletras[2,2\

    / * ' P ) /

    C u *L ; 3 '

    =ila o englon[\

    Columna[C\

  • 7/23/2019 Apuntes de Programacin

    28/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    Llenado de una matri-

    Por renglones

    Iacer para 0 a @ Iacer para C 0 a @

    Leer at [,C\ =in

  • 7/23/2019 Apuntes de Programacin

    29/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    (G(RCICIO" D( L UNIDD

    ercicio 0- edactar un algoritmo para ir a la escuela.

    ercicio 2- isear un diagrama de flu#o para calcular el promedio de las tres calificaciones de un

    alumno.

    ercicio ?- isear un diagrama de flu#o para calcular la suma de los 0/ primeros n!meros impares.

    ercicio 1- ado dos n!meros cualesquiera, disear un diagrama de flu#o para leer $ calcular elproducto de ambos, si el primer "alor es menor que el segundo, en caso contrario, efectuar la suma.

    ercicio @- Leer ; n!meros enteros $ calcular el promedio de los pares, contar la cantidad de impares

    $ calcular el promedio de los n!meros proporcionados.

    ercicio A- 3e tiene las calificaciones de un grupo de 0/ alumnos, se necesita saber, Tcuntos

    alumnos tienen una calificacin superior al promedio del grupoU. ealizar un . =., *;o utilice

    arreglos+.

    ercicio F- Iacer un .=., para generar $ sumar los ; primeros n!meros de la secuencia de la serie de

    Leonardo )i.onacci. La secuencia de )i.onaccies- 0,2,?,@,G,0?,20,..., es decir, dados los primeros

    dos n!meros *0 $ 2+ la generacin de cada nue"o trmino se pueden encontrar sumando los dos

    trminos predecentes.

    ercicio G- ealizar .=. para simular una calculadora que realice las operaciones bsicas *D,

  • 7/23/2019 Apuntes de Programacin

    30/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II

    ercicio 00- ealizar la siguientes series, )asta el ;

  • 7/23/2019 Apuntes de Programacin

    31/31

    Programacin en C Ing. Leonel Antonio QuijanoAcua

    Unidad IIUnidad II