java 2 est

Upload: josue-david-vallejos-flores

Post on 07-Jul-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 JAVA 2 EST

    1/28

    - Estructuras condicionales simples y

    compuestas

     No todos los problemas pueden resolverse empleando estructuras secuenciales. Cuando hayque tomar una decisión aparecen las estructuras condicionales.

    En nuestra vida diaria se nos presentan situaciones donde debemos decidir.

    ¿Elijo la carrera A o la carrera B?¿Me pono este pantalón?

    !ara ir al trabajo" ¿elijo el camino A o el camino B?

    Al cursar una carrera" ¿elijo el turno ma#ana" tarde o noche?

    !or supuesto que en un problema se combinan estructuras secuenciales y condicionales.

    Estructura condicional simple.

    Cuando se presenta la elección tenemos la opción de reali$ar una actividad o no reali$ar

    ninuna.%epresentación r&'ica(

    !odemos observar( El rombo representa la condición. )ay dos opciones que se puedentomar. *i la condición da verdadera se siue el camino del verdadero" o sea el de la derecha"

    si la condición da 'alsa se siue el camino de la i$quierda.

    *e trata de una estructura C+N,-C-+NA *-M!E porque por el camino del verdadero

    hay actividades y por el camino del 'also no hay actividades.!or el camino del verdadero pueden e/istir varias operaciones" entradas y salidas" inclusive

    ya veremos que puede haber otras estructuras condicionales.

    Problema:

    -nresar el sueldo de una persona" si supera los 0111 pesos mostrar un mensaje en pantalla

    indicando que debe abonar impuestos.

  • 8/18/2019 JAVA 2 EST

    2/28

    Diagrama de fujo:

    !odemos observar lo siuiente( *iempre se hace la cara del sueldo" pero si el sueldo queinresamos supera 0111 pesos se mostrar& por pantalla el mensaje 2Esta persona debe

    abonar impuestos2" en caso que la persona cobre 0111 o menos no aparece nada por pantalla.

    Programa:import java.util.Scanner;

    public class EstructuraCondicionalSimple1 {

      public static void main(String[] ar) {

      Scanner teclado=ne Scanner(S!stem.in);

      "loat sueldo;

      S!stem.out.print(#$ngrese el sueldo%#);  sueldo=teclado.ne&t'loat();

      i" (sueldo***) {

      S!stem.out.println(#Esta persona debe abonar impuestos#);

      +

      +

    +

    a palabra clave 2i'2 indica que estamos en presencia de una estructura condicional3

    seuidamente disponemos la condición entre par4ntesis. !or 5ltimo encerrada entre llaveslas instrucciones de la rama del verdadero.

    Es necesario que las instrucciones a ejecutar en caso que la condición seaverdadera estén encerradas entre llaves { }, con ellas marcamos el comienzo y

    el fn del bloque del verdadero.

    Ejecutando el prorama e inresamos un sueldo superior a 0111 pesos. !odemos observarcomo aparece en pantalla el mensaje 2Esta persona debe abonar impuestos2" ya que la

    condición del i' es verdadera.

    6olvamos a ejecutar el prorama y caruemos un sueldo menor o iual a 0111 pesos. Nodebe aparecer mensaje en pantalla.

    Estructura condicional compuesta.

    Cuando se presenta la elección tenemos la opción de reali$ar una actividad u otra. Es decirtenemos actividades por el verdadero y por el 'also de la condición. o m&s importante que

    hay que tener en cuenta que se reali$an las actividades de la rama del verdadero o las del

    'also" N7NCA se reali$an las actividades de las dos ramas.

  • 8/18/2019 JAVA 2 EST

    3/28

    %epresentación r&'ica(

    En una estructura condicional compuesta tenemos entradas" salidas" operaciones" tanto por

    la rama del verdadero como por la rama del 'also.

    Problema:

    %eali$ar un prorama que solicite inresar dos n5meros distintos y muestre por pantalla el

    mayor de ellos.

  • 8/18/2019 JAVA 2 EST

    4/28

    Diagrama de fujo:

    *e hace la entrada de num8 y num9 por teclado. !ara saber cual variable tiene un valormayor preuntamos si el contenido de num8 es mayor :;< que el contenido de num9" si larespuesta es verdadera vamos por la rama de la derecha e imprimimos num8" en caso que la

    condición sea 'alsa vamos por la rama de la i$quierda :=alsa< e imprimimos num9.

    Como podemos observar nunca se imprimen num8 y num9 simult&neamente.

    Estamos en presencia de una E*>%7C>7%A C+N,-C-+NA C+M!7E*>A ya quetenemos actividades por la rama del verdadero y del 'also.

    Programa:import java.util.Scanner;

    public class EstructuraCondicionalCompuesta1 {

      public static void main(String[] ar) {

      Scanner teclado=ne Scanner(S!stem.in);

      int num1,num-;

      S!stem.out.print(#$ngrese primer valor%#);

      num1=teclado.ne&t$nt();

      S!stem.out.print(#$ngrese segundo valor%#);

      num-=teclado.ne&t$nt();

      i" (num1num-) {

  • 8/18/2019 JAVA 2 EST

    5/28

      S!stem.out.print(num1);

      + else {

      S!stem.out.print(num-);

      +

      +

    +

    Cotejemos el diarama de 'lujo y la codi'icación y observemos que el primer bloque de

    llaves despu4s del i' representa la rama del verdadero y el seundo bloque de llavesrepresenta la rama del 'also.

    Compilemos el prorama" si hubo errores sint&cticos corrijamos y caruemos dos valores"

    como por ejemplo(

    $ngrese el primer valor% 1*

    $ngrese el segundo valor%

    1*

    *i inresamos los valores 81 y la condición del i' retorna verdadero y ejecuta el primer bloque.

    7n prorama se controla y corrie probando todos sus posibles resultados.

    Ejecutemos nuevamente el prorama e inresemos(

    $ngrese el primer valor% 1*

    $ngrese el segundo valor% /

    /

    Cuando a un prorama le correimos todos los errores sint&cticos y lóicos ha terminado

    nuestra tarea y podemos entrear el mismo al 7*7A%-+ que nos lo solicitó.

    Operadores

    En una condición deben disponerse 5nicamente variables" valores constantes y operadores

    relacionales.

    >Operadores Relacionales: (ma!or)

    0 (menor)

    = (ma!or o igual)

    0= (menor o igual)

    == (igual)

    = (distinto)

    Operadores Matemáticos2 (m3s)

    4 (menos)

    5 (producto)

    6 (divisi7n)

    8 (resto de una divisi7n) Ej.% &=18/; {se guarda +

  • 8/18/2019 JAVA 2 EST

    6/28

    )ay que tener en cuenta que al disponer una condición debemos seleccionar que operador

    relacional se adapta a la preunta.

    Ejemplos(

    Se ingresa un n9mero multiplicarlo por 1* si es distinto a *. (

    =)

    Se ingresan dos n9meros mostrar una advertencia si son iguales.

    (==)

    os problemas que se pueden presentar son in'initos y la correcta elección del operador

    sólo se alcan$a con la pr&ctica intensiva en la resolución de problemas.

    Problemas propuestos

    1. Realizar un prorama que lea por teclado dos n!meros, si el primero esmayor al seundo in"ormar su suma y di"erencia, en caso contrario

    in"ormar el producto y la división del primero respecto al seundo.#. $e inresan tres notas de un alumno, si el promedio es mayor o iual a

    siete mostrar un mensaje %&romocionado%.

    '. $e inresa por teclado un n!mero positivo de uno o dos d(itos )1..**+mostrar un mensaje indicando si el n!mero tiene uno o dos d(itos.)ener en cuenta que condición debe cumplirse para tener dos d(itos,un n!mero entero+

  • 8/18/2019 JAVA 2 EST

    7/28

    - Estructuras condicionales anidadas

    ,ecimos que una estructura condicional es anidada cuando por la rama del verdadero o el

    'also de una estructura condicional hay otra estructura condicional.

    El diarama de 'lujo que se presenta contiene dos estructuras condicionales. a principal setrata de una estructura condicional compuesta y la seunda es una estructura condicional

    simple y est& contenida por la rama del 'also de la primer estructura.

    Es com5n que se presenten estructuras condicionales anidadas a5n m&s complejas.

    Problema:

    Con'eccionar un prorama que pida por teclado tres notas de un alumno" calcule el

     promedio e imprima aluno de estos mensajes(*i el promedio es ;@ mostrar 2!romocionado2.

    *i el promedio es ;@ y mostrar 2%eular2.

    *i el promedio es mostrar 2%eprobado2.

  • 8/18/2019 JAVA 2 EST

    8/28

    Diagrama de fujo:

    Analicemos el siuiente diarama. *e inresan tres valores por teclado que representan lasnotas de un alumno" se obtiene el promedio sumando los tres valores y dividiendo por 0

    dicho resultado :>ener en cuenta que si el resultado es un valor real solo se almacena la

     parte entera

  • 8/18/2019 JAVA 2 EST

    9/28

    iual a cuatro o in'erior a cuatro.

    Estamos en presencia de dos estructuras condicionales compuestas.

    Programa:import java.util.Scanner;

    public class EstructuraCondicional:nidada1 {

      public static void main(String[] ar) {

      Scanner teclado=ne Scanner(S!stem.in);

      int nota1,nota-,nota;

      S!stem.out.print(#$ngrese primer nota%#);

      nota1=teclado.ne&t$nt();

      S!stem.out.print(#$ngrese segunda nota%#);

      nota-=teclado.ne&t$nt();

      S!stem.out.print(#$ngrese tercer nota%#);

      nota=teclado.ne&t$nt();

      int promedio=(nota1 2 nota- 2 nota) 6 ;

      i" (promedio=) {

      S!stem.out.print(#

  • 8/18/2019 JAVA 2 EST

    10/28

    Problemas propuestos

    1. $e caran por teclado tres n!meros distintos. -ostrar por pantalla elmayor de ellos.

    #. $e inresa por teclado un valor entero, mostrar una leyenda que indiquesi el n!mero es positivo, nulo o neativo.

    '. on"eccionar un prorama que permita carar un n!mero entero positivode /asta tres ci"ras y muestre un mensaje indicando si tiene 1, #, o '

    ci"ras. -ostrar un mensaje de error si el n!mero de ci"ras es mayor.

    0. n postulante a un empleo, realiza un test de capacitación, se obtuvo lasiuiente in"ormación2 cantidad total de preuntas que se le realizaron yla cantidad de preuntas que contestó correctamente. $e pidecon"eccionar un prorama que inrese los dos datos por teclado ein"orme el nivel del mismo se!n el porcentaje de respuestas correctasque /a obtenido, y sabiendo que2

    • >ivel m3&imo% ivel medio% ivel regular%

  • 8/18/2019 JAVA 2 EST

    11/28

    - Condiciones compuestas con operadores

    lógicos

    )asta ahora hemos visto los operadores(

    relacionales (, 0, =, 0= , ==, =)

    matem3ticos (2, 4, 5, 6, 8)

     pero nos est&n 'altando otros operadores imprescindibles(

    l7gicos (@@, AA).

    Estos dos operadores se emplean 'undamentalmente en las estructuras condicionales para

    arupar varias condiciones simples.

    Operador &&

    >raducido se lo lee como ?D?. *i la Condición 8 es verdadera D la condición 9 es verdadera

    lueo ejecutar la rama del verdadero.

    Cuando vinculamos dos o m&s condiciones con el operador ??" las dos condicionesdeben ser verdaderas para que el resultado de la condición compuesta de 6erdadero y

    contin5e por la rama del verdadero de la estructura condicional.

    a utili$ación de operadores lóicos permiten en muchos casos plantear aloritmos m&s

    cortos y comprensibles.

    Problema:

    Con'eccionar un prorama que lea por teclado tres n5meros distintos y nos muestre el

    mayor.

  • 8/18/2019 JAVA 2 EST

    12/28

    Diagrama de fujo:

    Este ejercicio est& resuelto sin emplear operadores lóicos en un concepto anterior del

    tutorial. a primera estructura condicional es una E*>%7C>7%A C+N,-C-+NA

    C+M!7E*>A con una C+N,-C-+N C+M!7E*>A.!odemos leerla de la siuiente 'orma(

    *i el contenido de la variable num8 es mayor al contenido de la variable num9 D si el

    contenido de la variable num8 es mayor al contenido de la variable num0 entonces laC+N,-C-+N C+M!7E*>A resulta 6erdadera.

    *i una de las condiciones simples da 'also la C+N,-C-+N C+M!7E*>A da =also y

    continua por la rama del 'also.

    Es decir que se mostrar& el contenido de num8 si y sólo si num8;num9 y num8;num0.

  • 8/18/2019 JAVA 2 EST

    13/28

    En caso de ser =alsa la condición" anali$amos el contenido de num9 y num0 para ver cual

    tiene un valor mayor.En esta seunda estructura condicional no se requieren operadores lóicos al haber una

    condición simple.

    Programa:import java.util.Scanner;

    public class CondicionesCompuestas1 {

      public static void main(String[] ar) {

      Scanner teclado=ne Scanner(S!stem.in);

      int num1,num-,num;

      S!stem.out.print(#$ngrese primer valor%#);

      num1=teclado.ne&t$nt();

      S!stem.out.print(#$ngrese segundo valor%#);

      num-=teclado.ne&t$nt();

      S!stem.out.print(#$ngrese tercer valor%#);

      num=teclado.ne&t$nt();

      i" (num1num- @@ num1num) {  S!stem.out.print(num1);

      + else {

      i" (num-num) {

      S!stem.out.print(num-);

      +else {

      S!stem.out.print(num);

      +

      +

      +

    +

    Operador ||

    >raducido se lo lee como ?+?. *i la condición 8 es 6erdadera + la condición 9 es6erdadera" lueo ejecutar la rama del 6erdadero.

    Cuando vinculamos dos o m&s condiciones con el operador ?+r2" con que una de las doscondiciones sea 6erdadera alcan$a para que el resultado de la condición compuesta sea

    6erdadero.

    Problema:

  • 8/18/2019 JAVA 2 EST

    14/28

    *e cara una 'echa :da" mes y a#o< por teclado. Mostrar un mensaje si corresponde al

     primer trimestre del a#o :enero" 'ebrero o mar$o< Carar por teclado el valor num4rico delda" mes y a#o.

    Ejemplo( dia(81 mes(8 a#o(9181.

    Diagrama de fujo:

    a cara de una 'echa se hace por partes" inresamos las variables dia" mes y a#o.Mostramos el mensaje 2Corresponde al primer trimestre2 en caso que el mes inresado por

    teclado sea iual a 8" 9 ó 0.En la condición no participan las variables dia y a#o.

    Programa:import java.util.Scanner;

  • 8/18/2019 JAVA 2 EST

    15/28

    public class CondicionesCompuestas- {

      public static void main(String[] ar) {

      Scanner teclado=ne Scanner(S!stem.in);

      int dia,mes,aBo;

      S!stem.out.print(#$ngrese nro de da%#);

      dia=teclado.ne&t$nt();

      S!stem.out.print(#$ngrese nro de mes%#);

      mes=teclado.ne&t$nt();  S!stem.out.print(#$ngrese nro de aBo%#);

      aBo=teclado.ne&t$nt();

      i" (mes==1 AA mes==- AA mes==) {

      S!stem.out.print(#Corresponde al primer trimestre#);

      +

      +

    +

    Problemas propuestos

    1. Realizar un prorama que pida carar una "ec/a cualquiera, lueo

    verifcar si dic/a "ec/a corresponde a 3avidad.#. $e inresan tres valores por teclado, si todos son iuales se imprime la

    suma del primero con el seundo y a este resultado se lo multiplica porel tercero.

    '. $e inresan por teclado tres n!meros, si todos los valores inresados sonmenores a 14, imprimir en pantalla la leyenda %odos los n!meros sonmenores a diez%.

    0. $e inresan por teclado tres n!meros, si al menos uno de los valoresinresados es menor a 14, imprimir en pantalla la leyenda %5luno de losn!meros es menor a diez%.

    6. Escribir un prorama que pida inresar la coordenada de un punto en elplano, es decir dos valores enteros 7 e y )distintos a cero+.&osteriormente imprimir en pantalla en que cuadrante se ubica dic/opunto. )18 uadrante si 7 9 4 : y 9 4 , #8 uadrante2 7 ; 4 : y 9 4, etc.+

    os de anti?edad. $e pidecon"eccionar un prorama que lea los datos de entrada e in"orme2a+ $i el sueldo es in"erior a 644 y su anti?edad es iual o superior a 14a>os, otorarle un aumento del #4 @, mostrar el sueldo a paar.b+$i el sueldo es in"erior a 644 pero su anti?edad es menor a 14 a>os,otorarle un aumento de 6 @.c+ $i el sueldo es mayor o iual a 644 mostrar el sueldo en pantalla sincambios.

    A. Escribir un prorama en el cual2 dada una lista de tres valores numéricosdistintos se calcule e in"orme su rano de variación )debe mostrar elmayor y el menor de ellos+

  • 8/18/2019 JAVA 2 EST

    16/28

    - Estructura repetitia !"ile

    )asta ahora hemos empleado estructuras *EC7ENC-AE* y C+N,-C-+NAE*. E/iste

    otro tipo de estructuras tan importantes como las anteriores que son las estructuras

    %E!E>->-6A*.

    7na estructura repetitiva permite ejecutar una instrucción o un conjunto de instruccionesvarias veces.

    7na ejecución repetitiva de sentencias se caracteri$a por(

    F a o las sentencias que se repiten.

    F El test o prueba de condición antes de cada repetición" que motivar& que se repitan o nolas sentencias.

    Estructura repetitiva while.

    %epresentación r&'ica de la estructura Ghile(

     No debemos con'undir la representación r&'ica de la estructura repetitiva Ghile :Mientras<

    con la estructura condicional i' :*i<

    =uncionamiento( En primer luar se veri'ica la condición" si la misma resulta verdadera seejecutan las operaciones que indicamos por la rama del 6erdadero.A la rama del verdadero la ra'icamos en la parte in'erior de la condición. 7na lnea al 'inal

    del bloque de repetición la conecta con la parte superior de la estructura repetitiva.

    En caso que la condición sea =alsa contin5a por la rama del =also y sale de la estructurarepetitiva para continuar con la ejecución del aloritmo.

    El bloque se repite M-EN>%A* la condición sea 6erdadera.

  • 8/18/2019 JAVA 2 EST

    17/28

    Importante: *i la condición siempre retorna verdadero estamos en presencia de un ciclo

    repetitivo in'inito. ,icha situación es un error de proramación" nunca 'inali$ar& el prorama.

    Problema 1:

    %eali$ar un prorama que imprima en pantalla los n5meros del 8 al 811.

    *in conocer las estructuras repetitivas podemos resolver el problema empleando unaestructura secuencial. -niciali$amos una variable con el valor 8" lueo imprimimos la

    variable" incrementamos nuevamente la variable y as sucesivamente.

    Diagrama de fujo:

    *i continuamos con el diarama no nos alcan$aran las pró/imas H p&inas para 'inali$arlo.

    Emplear una estructura secuencial para resolver este problema produce un diarama de

    'lujo y un prorama en Iava muy laro.

    Ahora veamos la solución empleando una estructura repetitiva Ghile(

  • 8/18/2019 JAVA 2 EST

    18/28

    Es muy importante anali$ar este diarama(

    a primera operación iniciali$a la variable / en 8" seuidamente comien$a la estructurarepetitiva Ghile y disponemos la siuiente condición : / @ 811

  • 8/18/2019 JAVA 2 EST

    19/28

    o m&s di'cil es la de'inición de la condición de la estructura Ghile y qu4 bloque de

    instrucciones se van a repetir. +bservar que si" por ejemplo" disponemos la condición /;@811 : si / es mayor o iual a 811< no provoca nin5n error sint&ctico pero estamos en

     presencia de un error lóico porque al evaluarse por primera ve$ la condición retorna 'also

    y no se ejecuta el bloque de instrucciones que queramos repetir 811 veces.

     No e/iste una %ECE>A para de'inir una condición de una estructura repetitiva" sino que selora con una pr&ctica continua solucionando problemas.

    7na ve$ planteado el diarama debemos veri'icar si el mismo es una solución v&lida al

     problema :en este caso se debe imprimir los n5meros del 8 al 811 en pantalla

  • 8/18/2019 JAVA 2 EST

    20/28

    %ecordemos que un problema no estar& 811K solucionado si no hacemos el prorama en

    Iava que muestre los resultados buscados.

    !robemos alunas modi'icaciones de este prorama y veamos que cambios se deberanhacer para(

    1 4 $mprimir los n9meros del 1 al /**.

    - 4 $mprimir los n9meros del /* al 1**.

    4 $mprimir los n9meros del 4/* al *.

    4 $mprimir los n9meros del - al 1** pero de - en - (-,,G,H ....1**).

    %espuestas(

    1 4 Iebemos cambiar la condici7n del File con &0=/**.

    - 4 Iebemos inicialiDar & con el valor /*.

    4 $nicialiDar & con el valor 4/* ! "ijar la condici7n &0=*.

    4 $nicialiDar a & con el valor - ! dentro del bloJue repetitivo

    incrementar a & en -

    ( & = & 2 - ).

    Problema 2:

    Escribir un prorama que solicite la cara de un valor positivo y nos muestre desde 8 hasta

    el valor inresado de uno en uno.

    Ejemplo( *i inresamos 01 se debe mostrar en pantalla los n5meros del 8 al 01.

    Es de =7N,AMEN>A importancia anali$ar los diaramas de 'lujo y la posterior

    codi'icación en Iava de los siuientes problemas" en varios problemas se presentan otras

    situaciones no vistas en el ejercicio anterior.

  • 8/18/2019 JAVA 2 EST

    21/28

    Diagrama de fujo:

    !odemos observar que se inresa por teclado la variable n. El operador puede carar

    cualquier valor.

    *i el operador cara 81 el bloque repetitivo se ejecutar& 81 veces" ya que la condición es ?Mientras /@n ?" es decir ?mientras / sea menor o iual a 81?3 pues / comien$a en uno y se

    incrementa en uno cada ve$ que se ejecuta el bloque repetitivo.

    A la prueba del diarama la podemos reali$ar d&ndole valores a las variables3 por ejemplo"

    si inresamos H el seuimiento es el siuiente(

    n &

    / 1 (Se imprime el contenido de &)  - # #

      # #

      # #

      / # #

      G (Sale del File porJue G no es menor o igual a /)

    Programa:import java.util.Scanner;

  • 8/18/2019 JAVA 2 EST

    22/28

    public class EstructuraepetitivaFile- {

      public static void main(String[] ar) {

      Scanner teclado=ne Scanner(S!stem.in);

      int n,&;

      S!stem.out.print(#$ngrese el valor "inal%#);

      n=teclado.ne&t$nt();

      &=1;  File (&0=n) {

      S!stem.out.print(&);

      S!stem.out.print(# 4 #);

      & = & 2 1;

      +

      +

    +

    os nombres de las variables n y / pueden ser palabras o letras :como en este caso<

    a variable / recibe el nombre de C+N>A,+%. 7n contador es un tipo especial de

    variable que se incrementa o decrementa con valores constantes durante la ejecución del prorama.El contador / nos indica en cada momento la cantidad de valores impresos en pantalla.

    Problema 3:

    ,esarrollar un prorama que permita la cara de 81 valores por teclado y nos muestre posteriormente la suma de los valores inresados y su promedio.

  • 8/18/2019 JAVA 2 EST

    23/28

    Diagrama de fujo:

    En este problema" a semejan$a de los anteriores" llevamos un C+N>A,+% llamado / que

    nos sirve para contar las vueltas que debe repetir el Ghile.

  • 8/18/2019 JAVA 2 EST

    24/28

    >ambi4n aparece el concepto de AC7M7A,+% :un acumulador es un tipo especial de

    variable que se incrementa o decrementa con valores variables durante la ejecución del prorama<

    )emos dado el nombre de suma a nuestro acumulador. Cada ciclo que se repita la

    estructura repetitiva" la variable suma se incrementa con el contenido inresado en lavariable valor.

    a prueba del diarama se reali$a d&ndole valores a las variables(

    valor suma & promedio

      * *

    (:ntes de entrar a la estructura repetitiva estos son los valores).

     / / 1

    1G -1 -

      -H

    1* H

     - * /

    -* G* G / G/

     / * H

    1* H* ?

     - H- 1*

     H ?* 11

      ?

    Este es un seuimiento del diarama planteado. os n5meros que toma la variable valor

    depender& de qu4 ci'ras carue el operador durante la ejecución del prorama.El promedio se calcula al salir de la estructura repetitiva :es decir primero sumamos los 81

    valores inresados y lueo los dividimos por 81<

    )ay que tener en cuenta que cuando en la variable valor se cara el primer valor :en este

    ejemplo H< al cararse el seundo valor :8L< el valor anterior H se pierde" por ello lanecesidad de ir almacenando en la variable suma los valores inresados.

    Programa:import java.util.Scanner;

    public class EstructuraepetitivaFile {

      public static void main(String[] ar) {

      Scanner teclado=ne Scanner(S!stem.in);

      int &,suma,valor,promedio;  &=1;

      suma=*;

      File (&0=1*) {

      S!stem.out.print(#$ngrese un valor%#);

      valor=teclado.ne&t$nt();

      suma=suma2valor;

      &=&21;

      +

  • 8/18/2019 JAVA 2 EST

    25/28

      promedio=suma61*;

      S!stem.out.print(#Ka suma de los 1* valores es%#);

      S!stem.out.println(suma);

      S!stem.out.print(#El promedio es%#);

      S!stem.out.print(promedio);

      +

    +

    Problema 4:

    7na planta que 'abrica per'iles de hierro posee un lote de n pie$as.Con'eccionar un prorama que pida inresar por teclado la cantidad de pie$as a procesar y

    lueo inrese la lonitud de cada per'il3 sabiendo que la pie$a cuya lonitud est4

    comprendida en el rano de 8"91 y 8"01 son aptas. -mprimir por pantalla la cantidad de

     pie$as aptas que hay en el lote.

  • 8/18/2019 JAVA 2 EST

    26/28

    Diagrama de fujo:

    !odemos observar que dentro de una estructura repetitiva puede haber estructurascondicionales :inclusive puede haber otras estructuras repetitivas que veremos m&s

    adelante

  • 8/18/2019 JAVA 2 EST

    27/28

    En este problema hay que carar inicialmente la cantidad de pie$as a inresar : n AM+* :incrementamos la variable cantidad en 8<

    Al contador cantidad lo iniciali$amos en cero porque inicialmente no se ha carado nin5nlaro de medida.

    Cuando salimos de la estructura repetitiva porque se han carado n laros de pie$as

    mostramos por pantalla el contador cantidad :que representa la cantidad de pie$as aptas<

    En este problema tenemos dos C+N>A,+%E*(

    & (Cuenta la cantidad de pieDas cargadas Fasta el momento)

    cantidad (Cuenta los per"iles de Fierro aptos)

    Programa:import java.util.Scanner;

    public class EstructuraepetitivaFile {

      public static void main(String[] ar) {

      Scanner teclado=ne Scanner(S!stem.in);

      int &,cantidad,n;

      "loat largo;

      &=1;

      cantidad=*;

      S!stem.out.print(#Cuantas pieDar procesar3%#);

      n=teclado.ne&t$nt();

      File (&0=n) {

      S!stem.out.print(#$ngrese la medida de la pieDa%#);

      largo=teclado.ne&t'loat();  i" (largo=1.-* @@ largo0=1.*) {

      cantidad = cantidad 21;

      +

      &=& 2 1;

      +

      S!stem.out.print(#Ka cantidad de pieDas aptas son%#);

      S!stem.out.print(cantidad);

      +

    +

    Problemas propuestos

    )a lleado la parte 'undamental" que es el momento donde uno desarrolla individualmente

    un aloritmo para la resolución de problemas.

    El tiempo a dedicar a esta sección EIE%C-C-+* !%+!7E*>+* debe ser mucho mayor

    que el empleado a la sección de EIE%C-C-+* %E*7E>+*.a e/periencia dice que debemos dedicar el 1K del tiempo a la resolución individual de

     problemas y el otro 91K al an&lisis y codi'icación de problemas ya resueltos por otras

  • 8/18/2019 JAVA 2 EST

    28/28

     personas.

    Es de vital importancia para llear a ser un buen !%+%AMA,+% poder resolver problemas en 'orma individual.

    1. Escribir un prorama que solicite inresar 14 notas de alumnos y nosin"orme cuBntos tienen notas mayores o iuales a A y cuBntos menores.

    #. $e inresan un conjunto de n alturas de personas por teclado. -ostrar laaltura promedio de las personas.

    '. En una empresa trabajan n empleados cuyos sueldos oscilan entre C144y C644, realizar un prorama que lea los sueldos que cobra cadaempleado e in"orme cuBntos empleados cobran entre C144 y C'44 ycuBntos cobran mBs de C'44. 5demBs el prorama deberB in"ormar elimporte que asta la empresa en sueldos al personal.

    0. Realizar un prorama que imprima #6 términos de la serie 11 D ## D '' D00, etc. )3o se inresan valores por teclado+

    6. -ostrar los m!ltiplos de /asta el valor 644. =ebe aparecer en pantalla D 1< D #0, etc.