Sunteți pe pagina 1din 31

4

Programacin en C Ing. Leonel Antonio Quijano


Acua
Unidad II Unidad II
INTRODUCCIN INTRODUCCIN
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 la
computadora, 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 $%o
repetiti"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 una
metodologa que nos ensee de manera gradual, la forma de llegar a estas soluciones.
' las soluciones creadas por computadora se les conoce como programas $ no son mas que una
serie de operaciones que realiza la computadora para llegar a un resultado, con un grupo de datos
especficos. Lo anterior nos lle"a al razonamiento de que un programa nos sir"e para solucionar un
problema especifico.
(ara poder realizar programas, adems de conocer la metodologa mencionada, tambin debemos
de conocer, de manera especifica las funciones que puede realizar la computadora $ las formas en que se
pueden mane#ar los elementos que )a$ en la misma.
Conceptos de Programacin
Computadora: &s un dispositi"o electrnico utilizado para procesar informacin $ obtener resultados. Los
datos $ la informacin se pueden introducir en la computadora como entrada *input+ $ a continuacin se
procesan 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 dos
entidades 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, pero
indispensables 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 4 elementos- &misor, 1eceptor, edio de Comunicacin $ ensa#e.
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
Lenguajes de Programacin
&s un con#unto de smbolos, caracteres $ reglas *programas+ que le permiten a las personas
comunicarse con la computadora.
Los lengua#es de programacin tienen un con#unto de instrucciones que nos permiten realizar
operaciones de entrada%salida, calculo, manipulacin de textos, lgica%comparacin $
almacenamiento%recuperacin.
Los lenguajes de programacin se clasifican en:
Lenguaje Maquina: 2on aquellos cu$as instrucciones son directamente entendibles por la
computadora $ no necesitan traduccin posterior para que la C(3 pueda comprender $ e#ecutar el
programa. Las instrucciones en lengua#e maquina se expresan en trminos de la unidad de memoria mas
pequea 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 *4'25C, pascal, cobol, frotran,
etc.+ son aquellos en los que las instrucciones o sentencias a la computadora son escritas con palabras
similares a los lengua#es )umanos *en general en ingles+, lo que facilita la escritura $ comprensin del
programa.

Definicin de lgoritmo
La palabra algoritmo se deri"a de la traduccin al latn de la palabra rabe al6)o7arizmi, nombre
de un matemtico $ astrnomo rabe que escribi un tratado sobre manipulacin de n!meros $ ecuaciones
en el siglo 58.
3n algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para
dar 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: 1epresenta en forma descripti"a las operaciones que debe realizar un algoritmo
*pseudocodigo+.
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
#r$ficos :
%iagrama de &lujo
3n diagrama de flu#o es la representacin grfica de un algoritmo. 9ambin se puede decir que es
la representacin detallada en forma grfica de como deben realizarse los pasos en la computadora para
producir resultados.
&sta representacin grfica se da cuando "arios smbolos *que indican diferentes procesos en la
computadora+, se relacionan entre si mediante lneas que indican el orden en que se deben e#ecutar los
procesos.
Los smbolos utilizados )an sido normalizados por el instituto norteamericano de normalizacin *':25+.
'ecomendaciones para el dise(o de %iagramas de &lujo
2e deben se usar solamente lneas de flu#o )orizontales $%o "erticales.
2e debe e"itar el cruce de lneas utilizando los conectores.
2e deben usar conectores solo cuando sea necesario.
:o deben quedar lneas de flu#o son conectar.
2e deben trazar los smbolos de manera que se puedan leer de arriba )acia aba#o $ de izquierda a
derec)a.
9odo 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 :;2 tambin conocido como diagrama de c)apin es como un diagrama
de flu#o en el que se omiten las flec)as de unin $ las ca#as son contiguas. Las acciones sucesi"as se
pueden escribir en ca#as sucesi"as $ como en los diagramas de flu#o, se pueden escribir diferentes
acciones en una ca#a. 3n algoritmo se represente en la sig. forma-
odelo- 5nicio
'ccion0
'ccion<

. . .
=in
No #r$gicos: Pseudocodigo
ezcla de lengua#e de programacin $ espaol *o ingles o cualquier otro idioma+ que se emplea,
dentro de la programacin estructurada, para realizar el diseo de un programa. &n esencial, el
pseudocodigo se puede definir como un lengua#e de especificaciones de algoritmos.
4
"U# $ % & '

ID(NTI)ICDOR OP(RDOR ID(NTI)ICDOR OP(RDOR CON"TNT(
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
&s la representacin narrati"a de los pasos que debe seguir un algoritmo para dar solucin a un
problema 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.
2i se siguen las reglas se puede obser"ar claramente los ni"eles que tiene cada operacin.
odelo-

'ccion0
'ccion<
.
.
'ccion:
=in
(jemplos de lgoritmos (jemplos de lgoritmos
Identificador:&s el carcter alfabtico o grupo de caracteres alfabticos o alfanumricos que se
emplean 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 <. leer N/ ID(NTI)ICDOR
(aso ?. leer N*
(aso 4. 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 para
leer la . - el di1metro % - calcular el 1rea
solicitada0
(aso 0. inicio
(aso <. leer D ID(NTI)ICDOR
(aso ?. leer 3
(aso 4. PC $ '0/4/5 6 7D8*9
(aso @. rea $ PC63
(aso A. )in
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
Ejemplo: ,ada la figura del triangulo '4C, el coseno de ngulo ' puede calcularse mediante la formula
dada posteriormente. 1edactar un algoritmo para calcular el coseno para cada uno de los ngulos, si se
proporciona como !nico dato el "alor de los lados.
0. 5nicio.
<. leer a.
?. leer b.
4. leer c
@. CosB' C b
<
D c
2
D a
<
%<bc
A. CosB4 C a
<
D c
<
E b
<
%<ac
F. CosBC C b
<
D a
<
E c
<
%<ab
G. 5mprimir el coseno del ngulo que es - cosB'
H. 5mprimir el coseno del ngulo que es - cosB4
0/. imprimir el coseno del ngulo que es - cosBC
00. =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:
; 'signacin
2ecuenciales ; &ntrada
; 2alida
; 2imples
&structuras Condicionales
'lgoritmicas ; !ltiples
; Iacer para
Cclicas ; Iacer mientras
; 1epetir )asta
=igura- Tri1ngulo %C
=ormula- Cos $ .
*
& c
2
& a
*
8*.c
Cos % $ a
*
& c
*
: .
*
8*ac
Cos C $ .
*
& a
*
: c
*
8*a.
C
a
.
c %
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad 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. 3na estructura secuencial se representa de la siguiente forma-
5nicio
'ccion0
'ccion<
.
.
'ccion:
=in
) !signacin: La asignacin consiste, en el paso de "alores o resultados a una zona de la memoria. ,ic)a
zona ser reconocida con el nombre de la "ariable que recibe el "alor. La asignacin se puede clasificar de
la siguiente forma-
*imples: Consiste en pasar un "alor constate a una "ariable *aC0@+
Contador: Consiste en usarla como un "erificador del numero de "eces que se realiza un
proceso *aCaD0+
!cumulador: Consiste en usarla como un sumador en un proceso *aCaDb+
%e trabajo: ,onde puede recibir el resultado de una operacin matemtica que in"olucre
muc)as "ariables *aCcDb.<%4+.
) Lectura: La lectura consiste en recibir desde un dispositi"o de entrada *p.e#. el teclado+ un "alor. &sta
operacin 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 o
mensa#e. &ste proceso se representa en un pseudocodigo como sigue-
&scribe J&l resultado es-K, 1
%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 al
resultado de esta comparacin, se siga un curso de accin dentro del programa. Cabe mencionar que la
comparacin se puede )acer contra otra "ariable o contra una constante, seg!n se necesite. &xisten dos
tipos bsicos, las simples $ las m!ltiples.
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
*imples: Las estructuras condicionales simples se les conoce como J9omas de decisinK. &stas
tomas de decisin tienen la siguiente forma-
2i LcondicinM entonces
'ccin*es+
=in;si
%ecisin: &s una comparacin o relacin existente entre < identificadores $ un "alor. &s decir, dados los
"alores ' $ 4 se puede tener de ellas la siguiente relacin-
'M4 ' es ma-or ,ue 4.
'C4 ' es igual ,ue 4.
'L4 ' es menor ,ue 4.
Ejemplo: ,ados < n!meros cualesquiera redactar el algoritmo para leer $ calcular el producto de ambos si
el primer "alor es menor que el segundo $ en caso contrario efectuar la suma de ellos.
/0 5nicio H. fin
*0 leer '
'0 leer 4 Reali;ar prue.a de (scritorio
40 Comparar ' con 4
si 'L4, ir al paso F
si no continuar
<0 multiplicacin C '.4
50 imprimir *el "alor de multiplicacin es, multiplicacin+ ir al paso H
=0 suma C 'D4
>0 imprimir * el "alor de suma es, suma+
?0 fin
%obles: Las estructuras condicionales dobles permiten elegir entre dos opciones o alternati"as
posibles en funcin del cumplimiento o no de una determinada condicin. 2e representa de la
siguiente forma-
2i LcondicinM entonces
'ccin*es+
si no
'ccin*es+
=in;si
,onde-
2i NNNNNNN 5ndica el comando de comparacin
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
CondicinNNNN 5ndica la condicin a e"aluar
entoncesNN..NN (recede a las acciones a realizar cuando se cumple la condicin
accin*es+NNNN 2on las acciones a realizar cuando se cumple o no la condicin
si 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 una
serie de instrucciones especificas. La forma com!n es la siguiente-

2i LcondicinM entonces
'ccin*es+
si no
2i LcondicinM entonces
'ccin*es+
si no
.
. Oarias condiciones
.
&orma #eneral
Casos Oariable
>p0- 'ccin*es+
>p<- 'ccin*es+
.
.
>p:- accin
=in;casos
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
Diagramas de )lujo 7D0)09
%iagrama de &lujo o 5rganigrama2 1epresentacin 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 . 2e 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:
5nicio $ fin de un programa.
>peraciones de 5%> , aritmticas $ lgico;aritmticas.
,ecisiones lgicas.
=lu#o de la e#ecucin.
Los ,.=., slo tienen una entrada $ una salida, es decir, que es la representacin grfica de un algoritmo
estructurado *subalgoritmo+.
Tra;a de un Diagrama de )lujo0
4
+- Diagrama de Flujo
Inicio


a=0, b=0

a,b
c = a + b
c terminar
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
La tra-a *tambin conocido como- Prueba de Escritorio+ de un lgoritmo o Diagrama de )lu#o, se
puede definir como la e#ecucin manual de forma secuencial de las sentencias que lo componen. 's, la
la 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, simplificar
el algoritmo al mximo e incrementar su eficacia $ "elocidad.
"im.olog!a .1sica del los Diagrama de )lujo
9odos 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 fin de un ,.=. *,elimita cuerpo lgico del ,.=.+
Inicio
T R @
Comentario Oalores
Leemos a- a L; 4
Leemos b- b L; @
Calcula c- c L; aDb L; H
&scribe c- c L; H
4
'C4
:o 2i
5nstruccin 5nstruccin
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
2mbolo de lectura0 2e encierra lo que ser ledo.
2mbolo de impresin0 &mpleado para la impresin de los "alores que tienen los indentificadores o
citar mensa#es.
4loque de procesamiento0 2e usan para representar- asignaciones o para realizar clculos.

Conectores. &mpleados para indicar )acia donde continua el ,.=.
Colectores2 2on para recibir dos lneas de flu#o $ tener una lnea resultante.
*6mbolo de Condicin o %esicin2
:o Condicin 2i
%ecisin: 2e utiliza para buscar una comparacin o relacin lgica entre dos "alores. 2i 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
'C4
:o 2i
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad 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 Jsi o 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.
5nstruccin 5nstruccin 5nstruccin 5nstruccin 5nstruccin 5nstruccin 5nstruccin
2eg!n Oalor
=in 2eg!n

:o 2i
:o 2i :o 2i
:o 2i
:o 2i
Condicin
Condicin
Condicin
Condicin
Condicin
5nstruccin 5nstruccin
5nstruccin
5nstruccin 5nstruccin
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
5tros s6mbolos:
"!m.olo Uso (jemplo
&xpresa, la tomar la parte entera
de un identificador
' C ?.@AF
' C '
&xpresa, tomar el mdulo a
residuo de una di"isin entera
' C </
' % < C B
&xpresa, &l "alor absoluto de que
tine un identificador.
'C ;@@
' C <<
Ejemplos resueltos:
,iagrama de =lu#o. *tilizando simbologa b!sica+ Lee dos n!meros cualesquiera $ calcula la suma de
ambos.
&#ercicio utilizando *if"else+.;Iacer un ,.=. para leer las coordenadas de un punto $ las coordenadas del
centro de una circunferencia con radio 1, determinar la posicin del punto *dentro, sobre, fuera de la
circunferencia+.
5:5C5>
',4
23' C ' D 4
23
'
9&15:'1
5:5C5> 1,8c,Qc,8p,Qp
,C *8c;8p+ < D *Qc;Qp+<
1M, ,entro
5nicio
9erminar
=uera 1C, 2obre
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
1ealizar 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 MC /
'nd Cal LC0//
2eg!n C'L
9erminar
Problemas *ecuenciales para %iagramar
0+ 2uponga que un indi"iduo desea in"ertir su capital en un banco $ desea saber cuanto dinero ganara
despus de un mes si el banco paga a razn de <R mensual.
5nicio
Leer capBin"
gan C capBin" . /./<
5mprimir gan
=in
<+ 3n "endedor recibe un sueldo base mas un 0/R extra por comisin de sus "entas, el "endedor desea
saber cuanto dinero obtendr por concepto de comisiones por las tres "entas que realiza en el mes $ el
total que recibir en el mes tomando en cuenta su sueldo base $ comisiones.
5nicio
Leer sb, "0, "<, "?
totB"ta C "0 D "< D "?
com C totB"ta . /.0/
1eprobado 2aco F/ 2aco G/ 2aco H/ &xcelente
C'L
5:5C5>
9erminar 2eg!n
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
tpag C sb D com
5mprimir tpag, com
=in
?+ 3na tienda ofrece un descuento del 0@R sobre el total de la compra $ un cliente desea saber cuanto
deber pagar finalmente por su compra.
5nicio
Leer tc
d C tc . /.0@
tp C tc ; d
5mprimir tp
=in
4+ 3n alumno desea saber cual ser su calificacin final en la materia de 'lgoritmos. ,ic)a calificacin se
compone 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.
5nicio
Leer c0, c<, c?, ef, tf
prom C *c0 D c< D c?+%?
ppar C prom . /.@@
pef C ef . /.?/
ptf C tf . /.0@
cf C ppar D pef D ptf
5mprimir cf
=in
@+ 3n maestro desea saber que porcenta#e de )ombres $ que porcenta#e de mu#eres )a$ en un grupo de
estudiantes.
5nicio
Leer n), nm
ta C n) D nm
p) C n) . 0// % ta
pm C nm . 0// % ta
5mprimir p), pm
=in
Problemas Condicionales
Problemas *electivos *imples para diagramar
0+ 3n )ombre desea saber cuanto dinero se genera por concepto de intereses sobre la cantidad que tiene en
in"ersin en el banco. &l decidir rein"ertir los intereses siempre $ cuando estos excedan a SF///, $ en
ese caso desea saber cuanto dinero tendr finalmente en su cuenta.
5nicio
Leer pBint, cap
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
int C cap . pBint
si int M F/// entonces
capf C cap D int
fin;si
5mprimir capf
fin
<+ ,eterminar si un alumno aprueba a reprueba un curso, sabiendo que aprobara si su promedio de tres
calificaciones es ma$or o igual a F/P reprueba en caso contrario.
5nicio
Leer calif0, calif<, calif?
prom C *calif0 D calif< D calif?+%?
2i prom MC F/ entonces
5mprimir Jalumno aprobadoK
si no
5mprimir Jalumno reprobadoK
=in;si
=in
?+ &n un almacn se )ace un </R de descuento a los clientes cu$a compra supere los S0/// T Cual ser la
cantidad que pagara una persona por su compraU
5nicio
Leer compra
2i compra M 0/// entonces
desc C compra . /.</
si no
desc C /
fin;si
totBpag C compra ; desc
imprimir totBpag
fin.
Problemas *electivos Compuestos para diagramar
0+ Leer < n!merosP si son iguales que los multiplique, si el primero es ma$or que el segundo que los reste
$ si no que los sume.
5nicio
Leer num0, num<
si num0 C num< entonces
resul C num0 . num<
si no
si num0 M num< entonces
resul C num0 ; num<
si no
resul C num0 D num<
fin;si
fin;si
fin
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
<+ Leer tres n!meros diferentes e imprimir el numero ma$or de los tres.
5nicio
Leer num0, num<, num?
2i *num0 M num<+ and *num0 M num?+ entonces
ma$or C num0
si no
2i *num< M num0+ and *num< M num?+ entonces
ma$or C num<
si no
ma$or C num?
fin;si
fin;si
5mprimir ma$or
fin
?+ ,eterminar la cantidad de dinero que recibir un traba#ador por concepto de las )oras extras traba#adas
en una empresa, sabiendo que cuando las )oras de traba#o exceden de 4/, el resto se consideran )oras
extras $ que estas se pagan al doble de una )ora normal cuando no exceden de GP si las )oras extras
exceden de G se pagan las primeras G al doble de lo que se pagan las )oras normales $ el resto al triple.
5nicio
Leer )t, pp)
2i )t L C 4/ entonces
tp C )t . pp)
si no
)e C )t ; 4/
2i )e L C G entonces
pe C )e . pp) . <
si no
pd C G . pp) . <
pt C *)e ; G+ . pp) . ?
pe C pd D pt
fin;si
tp C 4/ . pp) D pe
fin;si
5mprimir tp
fin
4+ Calcular la utilidad que un traba#ador recibe en el reparto anual de utilidades si este se le asigna como
un porcenta#e de su salario mensual que depende de su antigVedad en la empresa de acuerdo con la sig.
tabla-
9iempo 3tilidad
enos de 0 ao @ R del salario
0 ao o mas $ menos de < aos FR del salario
< aos o mas $ menos de @ aos 0/R del salario
@ aos o mas $ menos de 0/ aos 0@R del salario
0/ aos o mas </R del salario
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
5nicio
Leer sm, antig
2i antig L 0 entonces
util C sm . /./@
si no
2i *antig M C 0+ and *antig L <+ entonces
util C sm . /./F
si no
2i *antig M C <+ and *antig L @+ entonces
util C sm . /.0/
si no
2i *antig M C @+ and *antig L 0/+ entonces
util C sm . /.0@
si no
util C sm . /.</
fin;si
fin;si
fin;si
fin;si
5mprimir util
fin
@+ &n una tienda de descuento se efect!a una promocin en la cual se )ace un descuento sobre el "alor de
la compra total seg!n el color de la bolita que el cliente saque al pagar en ca#a. 2i la bolita es de color
blanco no se le )ar descuento alguno, si es "erde se le )ar un 0/R de descuento, si es amarilla un <@R,
si es azul un @/R $ si es ro#a un 0//R. ,eterminar la cantidad final que el cliente deber pagar por su
compra. se sabe que solo )a$ bolitas de los colores mencionados.
5nicio
leer tc, bS
si bS C WblancaX entonces
dC/
si no
si bS C W"erdeX entonces
dCtc./.0/
si no
si bS C WamarillaX entonces
dCtc./.<@
si no
si bS C WazulX entonces
dCtc./.@/
si no
dCtc
fin;si
fin;si
fin;si
fin;si
fin
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
Estructuras C6clicas
Iasta el momento las instrucciones "istas, sir"en para realizar todo el proceso una sola "ez. 2i 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. Esta
cantidad 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;)acer;fin de mientras
b+ 1epetir;)asta
c+ ,esde;)asta;)acer;fin desde
a9 #ientrasCDacerC fin de mientras 7Do 9+ile90
1ealiza repetiti"amente un proceso mientras la condicin dada sea "erdadera, salindose del ciclo en el
momento que la condicin sea falsa.
2imbologa Yeneral - 2imbologa e#emplo-


:o
Condicin
2i
5nstrucciones
:o
:L/
2i
5
:
:
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad 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 C@x4x?x<x0 C0</+
)bservacin importante. 2i 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 RepetirC3asta 7repetCuntil9
1ealizar 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.
2imbologa Yeneral 2imbologa de e#emplo- : tiene que ser ma$or que cero.
:o
:L/
2i
5
:
:
5nicio
=act C 0
'ux C :
:o
'ux M 0
2i
=act, :
9erminar
=act C =act . 'ux
'ux C 'ux ;0
:o
Condicin
:
2i
5nstruccin
:o
:M/
2i
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
&#ercicio ; 1ealizar un ,.=. para calcular la suma de los primeros 0/ n!meros impares.
C9DesdeCDastaCDacerCfin desde 7)or9
1ealiza 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:
:o
Cont C 0/
2i
2umimp
9erminar
Yenimp C Yenimp D <
Cont C contD 0
2umimp C sumimp D Yenimp
5nicio
YenimpC0
ContC0
2umimp C 0
I $ / to N
5ntrucciones
I $ N DoEnto /
5ntrucciones
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
&l identificador I &pudo ser cualquiera'0 (s un auxiliar que se utiliza para lle"ar el control cclico
automtico.
Caso for to: el identificador "ariable 73 tendr el "alor numrico uno 7/9 cuando el flu#o lgico pase la
primera "ez. ientras no salga de la primera "uelta I siempre 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 "ariable 73 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 lo
tanto, antes de entrar de nue"o al ciclo repetiti"o de instrucciones *en la parte alta del ciclo+ se comparar
el "alor de I con el "alor n!merico de uno * pasa por (ltima vez9, de tal forma que cuando I tenga 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
5nicio
2umC/
Leer :om
Iacer para c C 0 a F
Leer calif
2um C sum D calif
=in;para
prom C sum %F
5mprimir prom
=in.
<+ Leer 0/ n!meros $ obtener su cubo $ su cuarta.
5nicio
Iacer para n C 0 a 0/
I $ /B DoEnto /
I
*e imprimir$ en la pantalla como
resultado los valores num;ricos del <= al
< en forma descendente2
*i se deseara reali-ar el en forma
ascendente se tendr6a que utili-ar el
ciclo repetitivo &or "o
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
Leer num
cubo C num . num . num
cuarta C cubo . num
5mprimir cubo, cuarta
=in;para
&#ercicio. 1ealizar un ,iagrama de =lu#o para calcular )asta el n;simo termino *al menos uno + de la
siguiente serie.
&l "alor de 8, tendr que estar en un inter"alo cerrado de 0 a </

"erie C 8
0 D
8
< D
8
? D
8
4 D . . .
8
:

< 4 A G * : par+
serie
9erminar
(ar C (ar D <
(ot8 C (otx . 8
9erm C (ot8% (ar
serie C serie D term
5nicio
2erieC/, 9ermC/
(ar C /
(ot8C0,:C/
I $ / T o N
:
:o
: M /
2i
8
:o
8M/ and 8 L<0
2i
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad 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
9ienen 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 elemento
dentro del arc)i"o.
Notacin del arreglo: 5dentificador [subndice\
Los subndices indican la posicin del elemento dentro del arreglo $ son "ariables ordinales *enteros o
caracteres+.
Tipos de arreglos de acuerdo a su dimensin:
3nidimensionales > O&C9>1&2
4idimensionales > '915C&2
9ridimensionales > '915C&2

!rreglo de una dimensin:
:umeros :ombre del 'rreglo ,ato de las posiciones
*< / > < '4 /*<5 B
0 < ? 4 @ A F
!rreglos Multidimensionales: 2eg!n el Lengua#e de (rogramacin que se utilice, ser el
n!mero de dimensiones que soportar el Lengua#e. &l Lengua#e C, contempla )asta F
dimensiones. Los arreglos 9ridimensionales por lo general, son los que se utilizan como
mximo.
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
(osicin de los elementos 'cceso al quinto elemento- :umero[@\ C '4
,ectores
&s un arreglo de J:K elementos organizados en una dimensin donde J:K recibe el nombre de
longitud o tamao del "ector. (ara )acer referencia a un elemento del "ector se usa el nombre del mismo,
seguido del ndice *entre corc)etes+, el cual indica una posicin en particular del "ector. (or e#emplo-
Oec[x\
,onde-
OecNNNN :ombre del arreglo
xNNNNN :umero de datos que constitu$en el arreglo
1epresentacin grfica de un "ector
F
G
H
0
/
Llenado de un Oector
Iacer para 5 C 0 a 0/
Leer "ec[5\
=in;para
Iacer mientras 5 LC 0/
Leer "ec[5\
=in;mientras
5C0
1epetir
Leer "ec[5\
5 C 5 D 0
Iasta;que 5M0/
Oec[0\
Oec[<\
Oec[?\
Oec[4\
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
Ejemplo: 2e (roporciona un arreglo unidimensional de orden :. ,ibu#ar un ,iagrama de =lu#o para leer
dic)o arreglo $ determinar todos los elementos pares e impares. =ormar dos "ectores uno de pares $ otro
de impares $ guardar los "alores anteriores correspondientes en dic)os "ectores.
5nicio
:C/
(ar C /
5mpar C /
:
:o
: M <
I $ / to N
8[ 5 \
8[ 5 \%< C /
:o 2i
8[ par \C 8[ 5 \ 8[ impar \C 8[ 5 \
9erminar
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
Matri-
Es un arreglo de * + , elementos organizados en dos dimensiones donde -*. es el numero de
filas o reglones % -,. el numero de columnas.
(ara representar una matriz se necesita un nombre de matriz se necesita un nombre de matriz
acompaado de dos ndices.
at [1,C\
,onde 1 indica el rengln $ C indica la columna, donde se encuentra almacenado el dato.
1epresentacin grfica de una matriz
Mat >'3C?
0,0 0,< 0,? 0,4
<,0 <,< <,? <.4
?,0 ?,< ?,? ?,4
4,0 4,< 4,? 4,4
!cceso a la matri-
atrizBletras 'cceso a la letra C: #atri;Fletras[<,<\
/ * '
P ) /
D C u *
L ; 3 '
Llenado de una matri-
Por renglones
Iacer para 1 C 0 a @
=ila o 1englon
[1\
Columna
[C\
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
Iacer para C C 0 a @
Leer at [1,C\
=in;para
=in;para
Por columnas
Iacer para C C 0 a @
Iacer para 1 C 0 a @
Leer at [1,C\
=in;para
=in;para
,ota: #ara /acer el llenado de una matriz se deben de usar dos variables para los ndices % se utilizan 0
ciclos uno para los renglones % otro para las columnas1 a estos ciclos se les llama ciclos anidados &un
ciclo dentro de otro ciclo'.
Ejemplo: ,ada la matrz cuadrada de x:, desarrollar la lgica en ,.=., para leer dic)a matrz.

< @ @ ?
AF G G 4
?4A ;H / 0
0/ G ?< ;A
C 0 to 4
: C 0 to 4
C 0 to 4
: C 0 to 4
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
(G(RCICIO" D( L UNIDD
&#ercicio 0- 1edactar un algoritmo para ir a la escuela.
&#ercicio <- ,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 4- ,ado dos n!meros cualesquiera, disear un diagrama de flu#o para leer $ calcular el
producto 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- 2e tiene las calificaciones de un grupo de 0/ alumnos, se necesita saber, Tcuntos
alumnos tienen una calificacin superior al promedio del grupoU. 1ealizar 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.onacci es- 0,<,?,@,G,0?,<0,..., es decir, dados los primeros
dos n!meros *0 $ <+ la generacin de cada nue"o trmino se pueden encontrar sumando los dos
trminos predecentes.
&#ercicio G- 1ealizar ,.=. para simular una calculadora que realice las operaciones bsicas *D,;,.,;+.
ientras el usuario, no presione el smbolo de JCK, se introducirn "alores $ estos se acumularan
aritmticamente seg!n corresponda, de otro modo, si el usuario desea dar una slo "alor $ luego
presiona el JCK, se entiende que el programa tendr que terminar, en caso contrario, se preguntar por
el siguiente "alor $ se e#ercer la operacin deseada. *Oalor C Oalor0 >perB'rit Oalor<+
&#ercicio H- 2e proporciona un grupo de : n!meros, redactar el ,.=. para sumar los cuadrados de los
negati"os $ contarlos, el producto de los positi"os $ contarlos e indicar en que momento se
proporciona l numero cero como dato. ,ebe imprimirse todo lo solicitado.
&#ercicio 0/- 2e proporciona un grupo de : n!meros que deben ser enteros. 1ealizar un ,.=. para
determinar el menor de todos, calcular el producto de los impares $ determinar el ma$or $ la posicin
en la cual se proporcion.
&#ercicio 00- 1ealizar la siguientes series, )asta el :;simo trmino.
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II
&#ercicio 0<- Yrafique, como se representara un arreglo tridimensional $ etiquete indicando Tqu esU
$ T(ara qu se utilizaU *9odo lo que grafique+.
&#ercicio 0?-Calcular el promedio de @/ "alores almacenados en un "ector. ,eterminar adems
cuntos son ma$ores que el promedio, imprimir el promedio, el numero de datos ma$ores que el
promedio $ una lista de "alores ma$ores que el promedio .
&#ercicio 04- Llenar dos "ectores ' $ 4 de 4@ elementos cada uno, sumar el elemento uno del "ector '
con el elemento uno del "ector 4 $ as sucesi"amente )asta 4@, almacenar el resultado en un "ector C,
e imprimir el "ector resultante.
&#ercicio 0@- Llenar un "ector de </ elementos, imprimir la posicin $ el "alor del elemento ma$or
almacenado en el "ector. 2uponga que todos los elementos del "ector son diferentes.
&#ercicio 0A- 'lmacenar @// n!meros en un "ector, ele"ar al cuadrado cada "alor almacenado en el
"ector, almacenar el resultado en otro "ector. 5mprimir el "ector original $ el "ector resultante
&#ercicio 0F- 2e tiene las calificaciones de un grupo de 0/ alumnos, se necesita saber, Tcuntos
alumnos tienen una calificacin superior al promedio del grupoU. 3tilizar arreglos.
&#ercicio 0G- 2e proporciona un arreglo unidimensional de orden :. 1epresentar el ,.=., para leer
dic)o "ector $ determinar cual es el elemento menor $ la posicin que ocupaP $ formar un "ector con
los elementos que sean ma$ores al promedio del arreglo ledo. &n el "ector resultante, analizar si
existen elementos pares $ sumarlos, excepto los terminados en dos $ en cuatro.
&#ercicio 0H- Iacer un algoritmo que almacene n!meros en una matriz de @ . A. 5mprimir la suma de
los n!meros almacenados en la matriz.
&#ercicio </- Iacer un algoritmo que llene una matriz de 0/ . 0/ $ determine la posicin
[renglon,columna\ del numero ma$or almacenado en la matriz. Los n!meros son diferentes.
&#ercicio <0- Iacer un algoritmo que llene una matriz de F . F. Calcular la suma de cada rengln $
almacenarla en un "ector, la suma de cada columna $ almacenarla en otro "ector.
b+ 2erie C ;0 D x
0
; x
<
D x
?
; x
@
D x
G
... :
xD0Z xD?Z xD@Z xDFZ xDHZ
a+ 2erie C @ ; x
<
D x
4
; x
A
D x
G
; x
0/
... :
xD0 xD? xD@ xDF xDH
4
Programacin en C Ing. Leonel Antonio Quijano
Acua
Unidad II Unidad II

S-ar putea să vă placă și