UNIVERSIDAD CATOLICA DE SANTA MARIA FACULTAD DE CIENCIAS E INGENIERÍAS FISICAS Y FORMALES PROGRAMA PROFESIONAL INGENIERIA MECÁNICA, MECÁNICA-ELECTRÍCA MECÁNICA-ELECTRÍCA Y MECATRÓNICA MECATRÓNICA Laboratorio d M!"#i!a Co$%&ta!io#a' I T$a( E)tr&!t&ra) S!&#!ia') * S'!ti+a) $pellidos y %om&res:
Página:1/14
Jefes de Prácticas: Ing. Juan Carlos Cuadros Ing. Christiam Collado Oporto Ing. Henry egarra !ago
C"digo: #emestr e: !rupo:
E./0
'a&. %(:
.
III FEC1A( 2. a' 23 MAR42/5
I6O78ETIVOS 1. Comprender Comprender la necesida necesidad d del dise)o dise)o de algoritmos algoritmos en el estudio estudio y resol resoluci"n uci"n de programas. *. $nali+ar $nali+ar los pro&lema pro&lemas s para identi,car identi,car los los datos -ue se re-uier re-uieren en as como como dar las instrucciones adecuadas para resol0er pro&lemas pro&lemas de ingeniera a un u n ni0el &ásico. . Conocer Conocer la sinta2is sinta2is de las las instrucc instrucciones iones condiciona condicionales. les. 4. $nali+ar $nali+ar y dise)ar dise)ar la soluci"n soluci"n utili+a utili+ando ndo algoritmo algoritmos s de programac programaci"n. i"n.
II6MARCO TEORICO 3na de las construcciones importantes -ue pueden especi,carse en un programa es el hecho de reali+ar diferentes tareas en funci"n de ciertas condiciones. sto es e5ecutar una parte del c"digo u otra condicionalmente. Para ello será necesario especi,car dichas condiciones y disponer de un mecanismo para indicar -ue acciones tomar dependiendo de c"mo se e0alu6 una determinada condici"n en un momento dado de la e5ecuci"n del programa. $s pues en este la&oratorio la&oratorio 0eremos las distintas maneras -ue -ue C ofrece para controlar el el 7u5o de e5ecuci"n de un programa de forma condicional -ue son: -
S#t#!ia d !o#)tr&!!i9# i:6
-
#entencia de construcci"n s8itch o estructura de selecci"n m9ltiple.
/6 S#t# S#t#!ia !ia d d !o#)t !o#)tr&! r&!!i9 !i9# # IF 'as estructuras l"gicas selecti0as se encuentran en la soluci"n algortmica de casi todo tipo de pro&lemas. 'a utili+amos cuando en el desarrollo de un pro&lema de&emos de
TOMAR UNA DECISIÓN para esta&lecer un proceso o se)alar un camino alternati0o a seguir. sta toma de decisiones se &asa en e0aluaciones de una o más condiciones -ue nos se)alaran como alternati0a o consecuencia la rama a seguir. seguir. Hay situaciones en las -ue la toma de decisiones se reali+a en cascada es decir se toma una decisi"n se marca la rama correspondiente a seguir y se 0uel0e a tomar otra decisi"n y as as suce sucesi si0a 0ame ment nte. e. Por Por lo -ue -ue para para alca alcan+ n+ar ar la solu soluci ci"n "n de este este pro& pro&le lema ma o su& su& pro&lema de&emos de aplicar prácticamente un ár&ol de decisi"n. 'as estructuras algortmicas selecti0as -ue se utili+an para la toma de decisiones l"gicas las podemos clasi,car de la siguiente forma:
Laboratorio d M!"#i!a Co$%&ta!io#a' I
Página: */14
T$a( E)tr&!t&ra) S!&#!ia') * S'!ti+a)
'$ %;
JCC CCO H!
a. structura selecti0a simple <#I == %>O%C#? &. structura selecti0a do&le <#I ==. %>O%C#== #I%O? Ca&e se)alar -ue la com&inaci"n de esta estructura simple y do&le da como resultado una estructura selecti0a en cascada. structura de selecci"n simple sta estructura permite -ue el 7u5o del diagrama siga por un camino espec,co si se cumple la condici"n o con5unto de condiciones. 'a construcci"n if puede escri&irse tam&i6n de forma más general para controlar la e5ecuci"n de una sentencia o
grupo de sentencias como
podemos 0er en la sinta2is * del cuadro *.
Si#ta;i) /(
Diao
if <@condici"nA? @sentencia 1AB
Si#ta;i) 2( if <@condici"nA? @sentencia 1AB @sentencia *AB ... @sentencia %A D
P)&do!9di
Cuadro 1. Sintaxis de la sentencia if simple y diagrama de flujo.
%"tese -ue despu6s de la condici"n no se escri&e FBG. scri&ir FBG detrás de la condici"n e-ui0aldra a -ue la construcci"n if e5ecutase un con5unto 0aco de sentencias lo cual no tiene ning9n sentido.
Laboratorio d M!"#i!a Co$%&ta!io#a' I T$a( E)tr&!t&ra) S!&#!ia') * S'!ti+a)
Página: /14
'$ %;
JCC CCO H!
Ejemplo 01. ealice el diagrama de 7u5o para
-ue dada la cali,caci"n de un alumno escri&a apro&ado en caso la nota sea mayor o igual -ue 1..
structura de selecci"n do&le 'a selecci"n simple es muy limitada por otro lado e2iste la alternati0a de selecci"n do&le la cual nos permite tomar decisiones en am&os sentidos es decir cuando la condici"n de comparaci"n sea 0erdadera se podrán e5ecutar una o más acciones o cuando la condici"n de comparaci"n sea falsa tam&i6n se podrán e5ecutar una o más acciones.
Si#ta;i)(
Kiagrama de 7u5o
if <@condici"nA? @sentencia 1AB else @sentencia *AB
P)&do!9di
'as $ccionesL1 se e5ecutaran cuando la condici"n de comparaci"n sea 0erdadera y las $ccionesL* se e5ecutaran cuando la condici"n de comparaci"n sea falsa
Laboratorio d M!"#i!a Co$%&ta!io#a' I T$a( E)tr&!t&ra) S!&#!ia') * S'!ti+a)
Página: 4/14
'$ %;
JCC CCO H!
Ejemplo 02. ealice el diagrama de 7u5o
para -ue dada la cali,caci"n de un alumno escri&a apro&ado si la nota sea mayor o igual -ue 1. en caso contrario escri&a desapro&ado.
$nidamiento de estructuras condicionales $ menudo se tendrá la necesidad de anidar una o más estructuras condicionales ya sean simples o do&les o la com&inaci"n de am&as. #e dice -ue las estructuras están anidadas cuando hay una o unas dentro de ellas. #u construcci"n donde las condiciones se plantean de forma escalonada se muestra a continuaci"n en el cuadro .
Si#ta;i)( if <@condici"n 1A? @grupo de sentencias 1AB else if <@condici"n *A? @grupo de sentencias *AB ... else if <@condici"n %A? @grupo de sentencias %AB else @grupo de sentencias por defectoAB
Laboratorio d M!"#i!a Co$%&ta!io#a' I T$a( E)tr&!t&ra) S!&#!ia') * S'!ti+a) P)&do!9di
Página: /14
'$ %;
JCC CCO H!
Kiagrama de Elu5o
#i condición1 es 0erdadera, ntonces Acciones_1 o Grupo de sentencias 1 #ino #i condición2 es 0erdadera, ntonces Acciones_2 o Grupo de sentencias 2 #ino #i condición3 es 0erdadera, ntonces Acciones_3 o Grupo de sentencias 3 #ino Acciones_4 o Grupo de sentencias 4 Ein si Ein si Ein si
Cuadro 3. Sintaxis de la sentencia else if y diagrama de flujo.
'as condiciones se e0al9an secuencialmente de arri&a hacia a&a5o hasta encontrar una -ue d6 como resultado cierto. n ese punto se e5ecuta el grupo de sentencias o acciones correspondiente a dicha condici"n. l resto de condiciones y sentencias asociadas se ignoran. n caso de -ue ninguna de las condiciones se e0al9e cierta se e5ecutara el grupo de sentencias por defecto.
Ejemplo 03. ealice el diagrama de 7u5o para 0alidar la cali,caci"n de un alumno esta es
0álida si se encuentra entre los rangos de a * caso contraria la nota sera M%o 0álidaN. n caso la nota sea 0álida escri&a apro&ado si la nota es mayor o igual -ue 1. en caso contrario escri&a desapro&ado.
Laboratorio d M!"#i!a Co$%&ta!io#a' I T$a( E)tr&!t&ra) S!&#!ia') * S'!ti+a)
Página: /14
'$ %;
JCC CCO H!
III6MATERIAL Y E?UIPO 3na PC con #O indo8s QP Internet #oft8are KEK y/o Kiagram Kesigner para Kiagramas de Elu5o
IV6PROCEDIMIENTO E>r!i!io /
la&ore el algoritmo, %)&do!9dio de un programa -ue: Intercam&ie el 0alor de dos 0aria&les num6ricas.
P)&do!9di
Diao
E>r!i!io 2( la&ore el algoritmo pseudoc"digo y diagrama de 7u5o de un programa en el -ue dada una cantidad <0álida? de das determine su e-ui0alente en a)os y meses. $suma -ue todos los
Laboratorio d M!"#i!a Co$%&ta!io#a' I T$a( E)tr&!t&ra) S!&#!ia') * S'!ti+a)
Página: R/14
'$ %;
JCC CCO H!
a)os tienen das y los meses das.
P)&do!9di
Diao
E>r!i!io .( la&ore el algoritmo pseudoc"digo y diagrama de 7u5o de un programa en el -ue dadas las pendientes T1 y T* y los cortes con el e5e U 1 y * de dos rectas '1 y '* <'1: U V T1 WQ X1B '*: U V T* WQ X*?B determine en punto de intersecci"n entre las dos rectas. $suma -ue T1 es diferente de T*
P)&do!9di
Laboratorio d M!"#i!a Co$%&ta!io#a' I T$a( E)tr&!t&ra) S!&#!ia') * S'!ti+a)
Página: Y/14
'$ %;
JCC CCO H!
Diao
E>r!i!io ( #e pide ela&orar el algoritmo narrado pseudoc"digo y diagrama de 7u5o de un programa -ue permita ingresar dos n9meros por teclado e indi-ue cual de los dos es el mayor y cual es menor.
P)&do!9din2 es 0erdadera, ntonces “El primer numero es” , n1 #ino #i n1=n2 es 0erdadera, ntonces M#on iguales M #ino MEl primer numero es” , n2 Ein si Ein si Ein del programa
Diao
Laboratorio d M!"#i!a Co$%&ta!io#a' I T$a( E)tr&!t&ra) S!&#!ia') * S'!ti+a)
Página: Z/14
'$ %;
JCC CCO H!
E>r!i!io 5( #e pide ela&orar el algoritmo pseudoc"digo y diagrama de 7u5o de un programa -ue ingrese un n9mero por teclado e indi-ue si es positi0o negati0o o igual a cero.
P)&do!9di=1 es 0erdadera, ntonces “Es positivo” #ino #i n=0 es 0erdadera, ntonces Ms cero M #ino MEs negativo” Ein si Ein si Ein del programa
Diao
Laboratorio d M!"#i!a Co$%&ta!io#a' I T$a( E)tr&!t&ra) S!&#!ia') * S'!ti+a)
Página: 1/14
'$ %;
JCC CCO H!
E>r!i!io @( la&orar el algoritmo diagrama de 7u5o y pseudoc"digo de un programa -ue permita 0isuali+ar caracteres al traducir n9meros ingresados de 1 a . Por e5emplo si el n9mero ingresado es * se 0isualice un mensa5e -ue diga Ml n9mero en caracteres es dosN.
P)&do!9di
Laboratorio d M!"#i!a Co$%&ta!io#a' I T$a( E)tr&!t&ra) S!&#!ia') * S'!ti+a)
Página: 11/14
'$ %;
JCC CCO H!
#i n=5 es 0erdadera, ntonces Ml n9mero en caracteres es cincoN. Ein si Ein si Ein del programa
Diao
E>r!i!io 0( la&orar el algoritmo diagrama de 7u5o y pseudoc"digo -ue permita 0isuali+ar un men9 como el -ue se muestra a continuaci"n 1. *. . 4.
Opci"n 1 <ligio la opci"n 1? Opci"n * <ligio la opci"n *? Opci"n <ligio la opci"n ? Opci"n 4 <ligio #alir?
P)&do!9di
Laboratorio d M!"#i!a Co$%&ta!io#a' I T$a( E)tr&!t&ra) S!&#!ia') * S'!ti+a)
Página: 1*/14
'$ %;
JCC CCO H!
Inicio del programa Keclarar 0aria&les 'eer n #i n=1 es 0erdadera, ntonces Mligio la opci"n 1N. #ino #i n=2 es 0erdadera, ntonces Mligio la opci"n *N. #ino #i n=3 es 0erdadera, ntonces Mligio opci"n N. #ino #i n=4 es 0erdadera, ntonces Mligio salirN. Ein si Ein si Ein del programa
Diao
E>r!i!io 3( la&orar el algoritmo diagrama de 7u5o y pseudoc"digo para ingresar una dato como temperatura y e0aluar el dato si oscila entre S1; de&e imprimir Mclima frioN si oscila entre 11S*; Mclima templadoN si oscila entre *1S *Y; M&uen climaN y si es mayor a *Y.1; en0iar el mensa5e Mu[ -u6 calor\\\N.
P)&do!9di
Laboratorio d M!"#i!a Co$%&ta!io#a' I T$a( E)tr&!t&ra) S!&#!ia') * S'!ti+a)
Página: 1/14
'$ %;
JCC CCO H!
Mclima templadoN. #ino #i t<=28 es 0erdadera, ntonces M&uen climaN. #ino #i t>=28.1 es 0erdadera, ntonces M3[ -ue calor N. Ein si Ein si Ein del programa
Diao
E>r!i!io ( la&orar el algoritmo diagrama de 7u5o y pseudoc"digo de un programa -ue permita 0isuali+ar un men9 como el -ue se muestra a continuaci"n a. &. c. d.
Ingresar tres n9meros y ordenarlos ascendentemente Ingresar tres n9meros y ordenarlos descendentemente #alir del programa Cual-uier otra opci"n en0e el siguiente mensa5e Mrror caso no implementadoN.
V6CUESTIONARIO FINAL 1. Kise)ar un algoritmo y representarlo en forma grá,ca y pseudoc"digo de un programa -ue permita ingresar n9meros por teclado y ordenarlos ascendentemente.
Laboratorio d M!"#i!a Co$%&ta!io#a' I
Página: 14/14
T$a( E)tr&!t&ra) S!&#!ia') * S'!ti+a) *. Todi,-ue
el
algoritmo
del
programa
anterior
para
'$ %;
ordenar
los
JCC CCO H!
n9meros
descendentemente realice el diagrama de 7u5o y pseudoc"digo correspondiente. . Kise)e un programa de selecci"n m9ltiple de tal manera -ue: a. #i la opci"n ingresada es 1 ordene tres n9meros ingresados por teclado en forma ascendente. &. #i la opci"n ingresada es *
ordene tres n9meros ingresados por teclado en forma
descendente. c. #i la opci"n ingresa es salga del programa. d. Cual-uier otra opci"n en0en el siguiente mensa5e Mrror caso no implementadoN.
VI6O7SERVACIONES Y CONCLUSIONES mita al menos tres conclusiones en torno al tra&a5o reali+ado 1. $l hacer los diagramas es necesario hacer los pseudoc"digos en el mismo instante ya -ue si utili+as el programa KEK no sale completa la informaci"n *. Hay -ue tener constante practica . l raciocino es lo primordial en estos e5ercicios
Haga sus o&ser0aciones en torno al tra&a5o reali+ado
%o he logrado reali+ar los e5ercicios en los -ue te pide ordenar datos