Anda di halaman 1dari 107

SISTEMAS E INFORMTICA

La mejor propuesta en Sistemas con visin de Negocios


Unidad I
ALGORITMIA I
Primer Ciclo
Semestre - 1
- 1 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
RED DE CONTENIDOS
ndice
- 2 -
INTRODUCCION A
LA ALGORITMIA
ALGORITMIA 1 ALGORTIMIA 2
INTRODUCION A
LA
PROGRAMCION
ESTRUCUTRAS
DE CONTROL
ESTRUCURAS DE
CONTROL
Estructuras
Secuenciales
Estructuras
Selectivas
Algoritmos y
seu!oco!igo
Estructuras !e
Reetici"n
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
Red de Contenidos!!!!!!!"!!!!!!!!!"""""#$
ndice!!!!!!!!!!!!!!!!!!!!!!!"" #%
Presentaci&n!!!!!!!!!!!!!!!!!!!"""""#'
Unidad I Al(oritmia I
Sesiones de A)rendi*a+e
Primera Semana
Sesi&n 1, Introd-cci&n a la Pro(ramaci&n!""!!!!!"#.
Sesi&n $ , Conce)tos de Pro(ramaci&n!!!!!!!!11
Se(-nda Semana
Sesi&n 1, Sol-ci&n /e Pro0lemas Por Com)-tador!!" 1.
Sesi&n $ , Pse-do C&di(o!!!!!!!!!!!!!! $.
Tercera Semana
Sesi&n 1 , E1)resiones Al(or2tmicas!!!!!!!!!"%3
Sesi&n $ , Pro(ramaci&n Sec-encial!!!!""""""""""""""""""31
C-arta Semana
Sesi&n 1 , Estr-ct-ra Selecti4a Sim)le!!!!!!!"!35
Sesi&n $ , Estr-ct-ra Selecti4a /o0le !!!!!!!!"'3
6-inta Semana
E1amen Parcial
E1amen Parcial /e La0oratorio
Se1ta Semana
Sesi&n 1, Estr-ct-ra Selecti4a Anidadas!!!!!!!".#
Sesi&n $ , Estr-ct-ra Selecti4a Anidadas I!!!!!!"1#.
S7)tima Semana
Sesi&n 1 , Estr-ct-ra Selecti4a M8lti)le!!!!!!!""1#5
Sesi&n $ , Estr-ct-ra Selecti4a M8lti)le !!!!!!!"119
Unidad II Al(oritmia II
Primera Semana
Sesi&n 1 , Introd-cci&n a Se(-nda Unidad!!!!!!!
Sesi&n $ , Estr-ct-ra de Re)etici&n!!!!!!!!!!
Se(-nda Semana
Sesi&n 1 , Estr-ct-ras /e Re)eticion :;ile!!!!!!"
- 3 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
Sesi&n $ , Estr-ct-ras /e Re)eticion /o :;ile!!!!"
Tercera Semana
Sesi&n 1 , Contadores < Ac-m-ladores!!!!!!!"""
Sesi&n $ , Series N-m7ricas
C-arta Semana
Sesi&n 1, Estr-ct-ra de Re)etici&n /esde!!!!!!!
Sesi&n $ , Estr-ct-ra de Re)etici&n /esde !!!!!!"
6-inta Semana
E1amen Parcial
E1amen Parcial /e La0oratorio
Se1ta Semana
Sesi&n 1 , !!!!!!!!!!!!!!!!!!!!!""1..
Sesi&n $ , =rea> Contin-e En :;ile < /o :;ile!!!!"1?$
S7)tima Semana
Sesi&n 1 @ $ , M7todos!!!!!! !!!!!!!!!"""1?9
Ane1os!!!!!!!!!!!!!!!!!!!!!!!"1??
- 4 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
Presentaci&n
En Manual ha sido elaborado con la finalidad de dar los alcances para la
formacin del alumno de la Especialidad Computacin e nformtica del
nstituto Superior Tecnolgico SSE para el l primer ciclo en el curso de
Algoritmia.
El presente se organiza en dos unidades: La unidad Algoritmia .estar
orientado a la introduccin de programacin para poder desarrollar y resolver
problemas computacionales mediante el uso de algoritmos (Pseudo cdigo) el
cual se utilizara el lenguaje de programacin Orientado a Objetos Java e
identificar los elementos de programacin que se emplearn para la solucin
del problema.
La principal diferencia entre Java y los dems lenguajes de programacin por
objetos es que con estos ltimos es posible programar por objetos, mientras
que con Java se tiene absolutamente que programar por objetos. Por eso es
necesario explicar qu quiere decir programar por objetos. En concreto la
programacin se desarrolla de la misma forma que los lenguajes "normales",
pero tanto los datos como las funciones que los trabajan se organizan en
estructuras llamadas clases.
- 5 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
PRIMERA SEMANA
SESIAN
1
INTRO/UCCION A LA PROGRAMACIAN
A Binali*ar la sesi&n conocerCs acerca de,
Sistema de nformacin
Concepto de Dato, nformacin, Proceso
Etapas del Procesamiento de Datos (Entrada, Clasificacin,
Procesamiento, Almacenamiento, Control, Salida)
Razones para automatizar el proceso
Al Binali*ar la sesi&n lo(raras,
Definir Dato, informacin y proceso.
Definir instrucciones de entrada, salida y asignacin.
Desarrollar las razones por las que se debe automatizar el proceso
- 6 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
INTRO/UCCIAN
El equipo computacional: el hardware necesario para que el sistema de
informacin pueda operar. El recurso humano que interacta con el Sistema de
nformacin, el cual est formado por las personas que utilizan el sistema.
Un sistema de informacin realiza cuatro actividades bsicas: entrada,
almacenamiento, procesamiento y salida de informacin.
1" D6-7 es -n Sistema /e InBormaci&nE
Un sistema de informacin es un conjunto de elementos que interactan entre
s con el fin de apoyar las actividades de una empresa o negocio.
1"1 Conce)to de /ato"- Un dato es la unidad o cantidad mnima de
informacin no elaborada, sin sentido en s misma, pero que
convenientemente tratada se puede utilizar en la realizacin de clculos o
toma de decisiones.
E+em)lo
El tipo de dato byte[], es un array de bytes de tamao variable. Esta
estructura de datos guarda datos binarios.
6-e es -n )ro@ecto de Sistema
Es el Proceso de gestin para la creacin de un Sistema o software, la cual
encierra un conjunto de actividades, una de las cuales es la estimacin, estimar
es echar un vistazo al futuro y aceptamos resignados cierto grado de
incertidumbre. Aunque la estimacin, es mas un arte que una Ciencia, es una
actividad importante que no debe llevarse a cabo de forma descuidada. Existen
tcnicas tiles para la estimacin de costos de tiempo. Y dado que la
estimacin es la base de todas las dems actividades de planificacin del
- 7 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
proyecto y sirve como gua para una buena ngeniera Sistemas y Software. Al
estimar tomamos en cuenta no solo del procedimiento tcnico a utilizar en el
proyecto, sino que se toma en cuenta los recursos, costos y planificacin. El
Tamao del proyecto es otro factor importante que puede afectar la precisin
de las estimaciones. A medida que el tamao aumenta, crece rpidamente la
interdependencia entre varios elementos del Software. La disponibilidad de
informacin Histrica es otro elemento que determina el riesgo de la
estimacin.
O0+eti4os de la PlaniBicaci&n del Sistema de InBormaci&n
El objetivo de la Planificacin del Sistema de nformacin es proporcionar un
marco de trabajo que permita al gestor hacer estimaciones razonables de
recursos costos y planificacin temporal. Estas estimaciones se hacen dentro
de un marco de tiempo limitado al comienzo de un proyecto de software, y
deberan actualizarse regularmente medida que progresa el proyecto. Adems
las estimaciones deberan definir los escenarios del mejor caso, y peor caso,
de modo que los resultados del proyecto pueden limitarse
ETAPA /E PROCESAMIENTO /E /ATOS
La Base de la entrada de datos por ejemplo la informacin relacionada con la
compra de los productos se proporciona a la computadora.
La Base de )roceso de datos por ejemplo el computador procesa la
informacin proporcionada para calcular el valor total por la compra de los
productos.
La Base de clasiBicaci&n de datos por ejemplo la informacin que se procesa
es de tipo matemtico.
La Base de almacenamiento de datos por ejemplo la informacin que se
registra de guarda en el disco duro de la computadora para una posterior
consulta.
- 8 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
La Base de salida de datos por ejemplo el resultado del clculo hecho en la
fase de proceso se muestra en la pantalla.
Ti)os de sistemas de inBormaci&n
Conceptualmente, los sistemas de informacin en el mundo real pueden
clasificarse en varias formas diferentes. Por ejemplo, varios tipos de sistemas
de informacin pueden clasificarse conceptualmente como sistemas de
informacin gerencial o de operaciones.
Sistemas de a)o@o a las o)eraciones
Los sistemas de informacin siempre se han necesitado para procesar datos
generados por operaciones comerciales, y han sido utilizados en stas. Estos
sistemas de a)o@o a
las o)eraciones generan una variedad de productos de informacin para uso
interno y externo. Sin embargo, stos no hacen nfasis en la generacin de los
productos especficos de informacin que pueden ser utilizados de manera
ptima por los gerentes.
Sistemas de )rocesamiento de transacciones
Los sistema de apoyo a las operaciones incluyen la categora principal de
sistemas de )rocesamiento de transacciones (TPS, trasaction processing
systems), los cuales registran y procesan datos resultantes de transacciones
comerciales.
Sistema de control de )rocesos
Los sistemas de apon a las operaciones tambin toman decisiones rutinarias
que controlan proceso operacionales. Esto incluye una categora de sistemas
de informacin denominada sistemas de control de )rocesosF en los cuales
las computadoras toman decisiones automticas sobre ajuste de un proceso de
produccin fsica.
Sistemas de cola0oraci&n em)resarial
Son sistemas de informacin que utilizan una variedad de tecnologas de
informacin para ayudar a que las personas trabajen en conjunto.
Sistemas de a)o@o (erencial
Cuando los sistemas de informacin se centran en el suministro de informacin
y respaldo para la toma de decisiones efectivas por parte de los gerentes,
- 9 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
reciben el nombre de sistemas de a)o@o (erencial" Estos sistemas
comenzaron cuando se origin el concepto de sistemas de informacin
gerencial (MS, management information systems) en la dcada de los sesenta.
MS se convirti en la expresin favorita de casi todos los intentos por
relacionar la tecnologa de computador y la teora de sistemas al
procesamiento de datos en las organizaciones.
Sistemas de inBormaci&n (erencial
Los sistemas de inBormaci&n (erencial (Managemente information Systems,
MS) son la forma ms comn de sistemas de apoyo gerencial. Suministran a
los usuarios finales gerenciales productos de informacin que respaldan gran
parte de sus necesidades de toma de decisiones diarias.
RAGONES PARA AUTOMATIGAR EL PROCESO
Las ra*ones H-e se )-eden considerar )-eden ser las si(-ientes,
Nos ayuda a comprender de manera ordenada el flujo de informacin que
obtenemos.
Podemos distinguir en que etapa se encuentra la informacin que procesamos
ayudndonos a mejorar el tipo de resultado que deseamos.
Podemos clasificar nuestra informacin por reas o etapas y comprender as
mejor la informacin que se nos da.
AUTOEIALUACION
D6-7 ES SISTEMA /E INFORMACIONE
D6UE ES /ATOE
E1)rese ' e+em)los de dato
DC-Cles son las eta)as de )rocesamiento de datosE
- 10 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
PRIMERA SEMANA
SESIAN
$
CONCEPTOS /E PROGRAMACION
TEMAS
Conceptos de Programacin
Lenguaje de Programacin: Concepto y Clasificacin (Por
Generaciones, Por Clases Bajo y Alto Nivel)
Cdigo Fuente
Programa Objeto
ntrpretes y compiladores
O=JETIIOS
Definir programa
Definir y clasificar los lenguajes de programacin
Definir Cdigo fuente y programa objeto.
Distinguir entre intrpretes y compiladores
- 11 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
D6-7 es Pro(ramaci&nE
Se llama programacin a la creacin de un programa de computadora (Cdigo
mquina compilado e interpretado directamente desde el ncleo del sistema) o
desde un script (Cdigo fuente interpretado), un conjunto concreto de
instrucciones que una computadora puede ejecutar.
D6-7 es -n Len(-a+e /e Pro(ramaci&nE
Es un conjunto smbolos caracteres y reglas que le permiten a la persona
comunicarse con la computadora los lenguajes de programacin, de sintaxis y
reglas semnticas que definen los programas del computador.
Los Len(-a+es de Pro(ramaci&n se clasiBican,
POR GENERACION
Primera (eneraci&n: Los primeros ordenadores se programaban directamente
en cdigo binario, que puede representarse mediante secuencias de ceros y
unos sistema binario. Cada modelo de ordenador tiene su propio cdigo, por
esa razn se llama lenguaje de mquina.
Se(-nda (eneraci&n: Los lenguajes simblicos, asimismo propios de la
mquina, simplifican la escritura de las instrucciones y las hacen ms legibles.
Tercera (eneraci&n: Los lenguajes de alto nivel sustituyen las instrucciones
simblicas por cdigos independientes de la mquina, parecidas al lenguaje
humano o al de las Matemticas.
C-arta (eneraci&n: se ha dado este nombre a ciertas herramientas que
permiten construir aplicaciones sencillas combinando piezas prefabricadas.
Hoy se piensa que estas herramientas no son, propiamente hablando,
lenguajes. Algunos proponen reservar el nombre de cuarta generacin para la
programacin orientada a objetos.
- 12 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
6-inta (eneraci&n: se llama as a veces a los lenguajes de la inteligencia
artificial, aunque con el fracaso del proyecto japons de la quinta generacin el
nombre ha cado en desuso.
CLASES
Los lenguajes de programacin se determinan segn el nivel de abstraccin,
Segn la forma de ejecucin y Segn el paradigma de programacin que
poseen cada uno de ellos y esos pueden ser:
-Len(-a+es de 0a+o ni4el
Los lenguajes de bajo nivel son lenguajes de programacin que se acercan al
funcionamiento de una computadora. El lenguaje de ms bajo nivel es, por
excelencia, el cdigo mquina. A ste le sigue el lenguaje ensamblador, ya que
al programar en ensamblador se trabajan con los registros de memoria de la
computadora de forma directa.
-Len(-a+es de medio ni4el
Hay lenguajes de programacin que son considerados por algunos expertos
como lenguajes de medio nivel (como es el caso del lenguaje C) al tener ciertas
caractersticas que los acercan a los lenguajes de bajo nivel pero teniendo, al
mismo tiempo, ciertas cualidades que lo hacen un lenguaje ms cercano al
humano y, por tanto, de alto nivel.
-Len(-a+es de alto ni4el
Los lenguajes de alto nivel son normalmente fciles de aprender porque estn
formados por elementos de lenguajes naturales, como el ingls. En BASC, el
lenguaje de alto nivel ms conocido, los comandos como "F CONTADOR = 10
THEN STOP" pueden utilizarse para pedir a la computadora que pare si
CONTADOR es igual a 10. Por desgracia para muchas personas esta forma de
trabajar es un poco frustrante, dado que a pesar de que las computadoras
- 13 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
parecen comprender un lenguaje natural, lo hacen en realidad de una forma
rgida y sistemtica.
CO/IGO FUENTE
El c&di(o B-ente puede definirse como:
Un conjunto de lneas que conforman un bloque de texto, escrito segn
las reglas sintcticas de algn lenguaje de programacin destinado a ser
legible por humanos.
Un Programa en su forma original, tal y como fue escrito por el
programador, no es ejecutable directamente por el computador, debe
convertirse en lenguaje de maquina mediante compiladores,
ensambladores o intrpretes.
PROGRAMA O=JETO
Un objeto es una instancia de una clase, que encapsula estado y procesos.
Pueden representar cosas reales o conceptuales.
INTERPRETES
En informtica, un int7r)rete es un programa capaz de analizar y ejecutar
otros programas, escritos en un lenguaje de alto nivel. Los intrpretes suelen
contraponerse a los compiladores, ya que mientras que los segundos se
encargan de traducir un programa desde su descripcin en un lenguaje de
programacin al cdigo mquina del sistema destino, los primeros slo realizan
la traduccin a medida que sea necesario y normalmente, no guardan el
resultado de dicha traduccin. Por ejemplo, PHP, Javascript, ASP son ejemplos
de lenguajes que son normalmente interpretados en vez de compilados.
COMPILA/ORES
Un com)ilador es un programa que, a su vez, traduce el cdigo fuente un
programa escrito en un lenguaje de programacin a otro lenguaje de
programacin, generando un programa equivalente. Usualmente el segundo
- 14 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
lenguaje es cdigo mquina, pero tambin puede ser simplemente texto. Este
proceso de traduccin se conoce como compilacin.
La razn principal para querer usar un compilador es querer traducir un
programa de un lenguaje de alto nivel, a otro lenguaje de nivel inferior
(tpicamente lenguaje mquina). De esta manera un programador puede
disear un programa en un lenguaje mucho ms cercano a como piensa un ser
humano, para luego compilarlo a un programa ms manejable por una
computadora.
- 15 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
SEGUN/A SEMANA
SESIAN
1
SOLUCION /E PRO=LEMAS POR COMPUTA/OR
TEMAS
Planteamiento de Soluciones
Anlisis del problema.
Diseo del algoritmo.
Algoritmos
mplementacin de soluciones.
Variables y Constantes
Definicin de una Variable,
Tipo de Datos: (Entero, Real, Lgico, Carcter).
Ejercicios de Manejo de Variables.
O=JETIIOS
Aplicar estructuras de secuencia a la solucin de problemas
Definir el ciclo de vida de software
Definir algoritmo.
Definir identificador, palabra reservada, tipo de dato primitivo, variable,
literal, sentencia de asignacin.
- 16 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
Al(oritmo
Un algoritmo es un conjunto ordenado y finito de instrucciones que conducen a
la solucin de un problema. En la vida cotidiana ejecutamos constantemente
algoritmos. Por ejemplo, al instalar un equipo de sonido ejecutamos las
instrucciones contenidas en el manual del equipo, este conjunto de
instrucciones constituyen un algoritmo.
Para que un algoritmo pueda ser ejecutado por una computadora se necesita
expresar el algoritmo en instrucciones comprensibles por la computadora, para
esto se requiere de un determinado lenguaje de programacin. Al algoritmo
expresado en un determinado lenguaje de programacin, se denomina
)ro(rama. Puesto de otra manera, podemos decir que, un programa es la
implementacin o expresin de un algoritmo en un determinado lenguaje de
programacin siguiendo las reglas establecidas por el lenguaje elegido. En la
Figura que sigue se muestra la relacin entre problema, algoritmo y programa.
Todo algoritmo debe tener las siguientes caractersticas:
Debe ser )reciso, es decir, cada instruccin debe indicar
de forma inequvoca que se tiene que hacer.
Debe ser Binito, es decir, debe tener un nmero limitado de
pasos.
Debe ser deBinido, es decir, debe producir los mismos
resultados para las mismas condiciones de entrada.
Todo algoritmo puede ser descompuesto en tres partes:
Entrada de datos.
Proceso.
Salida de resultados.
E+em)lo,- Algoritmo para preparar ceviche de bonito para 6 personas
Entradas :
- 1 kilo de bonito
- 3 camotes sancochados
- 3 cebollas cortadas a lo largo
- 1 rocoto en rodajas
- 3 ramas de apio picado
- 2 ramitas de culantro picado
- 4 vasos de jugo de limn
- 4 cucharadas de ajo molido
- 17 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
- 2 cucharadas de aj amarillo molido
- sal y pimienta
Proceso :
- Cortar la carne de pescado en pequeos trozos.
- Mezclar la carne con el jugo de limn, el ajo, la pimienta, el culantro, el aj
amarillo y el apio.
- Dejar reposar 30 minutos.
- Agregar sal al gusto y echar las cebollas cortadas.
- Servir acompaando el cebiche con el camote sancochado y el rocoto en
rodajas
Salida :
El ceviche
Evidentemente este es un algoritmo no computacional, no podr ser ejecutado por una
computadora, pero s por una persona.
E+em)lo,- Algoritmo para expresar en centmetros y pulgadas una cantidad dada en metros.
Entrada:
La cantidad M de metros
Proceso:
Clculo de centmetros: C = M*100
Clculo de pulgadas : P = C/2.54
Salida :
La cantidad C de centmetros y la cantidad P de pulgadas
Adems debe cumplir estas condiciones:
Finitud: el algoritmo debe acabar tras un nmero finito de pasos. Es ms, es
casi fundamental que sea en un nmero razonable de pasos.
Definibilidad: el algoritmo debe definirse de forma precisa para cada paso, es
decir, hay que evitar toda ambigedad al definir cada paso. Puesto que el
lenguaje humano es impreciso, los algoritmos se expresan mediante un
lenguaje formal, ya sea matemtico o de programacin para un computador.
Entrada: el algoritmo tendr cero o ms entradas, es decir, cantidades dadas
antes de empezar el algoritmo. Estas cantidades pertenecen adems a
conjuntos especificados de objetos. Por ejemplo, pueden ser cadenas de
caracteres, enteros, naturales, fraccionarios, etc. Se trata siempre de
cantidades representativas del mundo real expresadas de tal forma que sean
aptas para su interpretacin por el computador.
Salida: el algoritmo tiene una o ms salidas, en relacin con las entradas.
Efectividad: se entiende por esto que una persona sea capaz de realizar el
algoritmo de modo exacto y sin ayuda de una mquina en un lapso de tiempo
- 18 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
finito.
A menudo los algoritmos requieren una organizacin bastante compleja de los
datos, y es por tanto necesario un estudio previo de las estructuras de datos
fundamentales. Dichas estructuras pueden implementarse de diferentes
maneras, y es ms, existen algoritmos para implementar dichas estructuras. El
uso de estructuras de datos adecuadas pueden hacer trivial el diseo de un
algoritmo, o un algoritmo muy complejo puede usar estructuras de datos muy
simples.
ClasiBicaci&n de Al(oritmos
Algoritmo determinista: en cada paso del algoritmo se determina de forma
nica el siguiente paso.
Algoritmo no determinista: deben decidir en cada paso de la ejecucin entre
varias alternativas y agotarlas todas antes de encontrar la solucin.
Todo algoritmo tiene una serie de caractersticas, entre otras que requiere una
serie de recursos, algo que es fundamental considerar a la hora de
implementarlos en una mquina. Estos recursos son principalmente:
El tiempo: perodo transcurrido entre el inicio y la finalizacin del algoritmo.
La memoria: la cantidad (la medida vara segn la mquina) que necesita el
algoritmo para su ejecucin.
Obviamente, la capacidad y el diseo de la mquina pueden afectar al diseo
del algoritmo.
PLANTEAMIENTO /E SOLUCIONES
ANALISIS /EL PRO=LEMA
La programacin de algoritmos no es ms que el estudio de un problema, su
anlisis e implementacin final del mismo.
En la programacin de los algoritmos encontramos tres fases fundamentales,
las cuales son: identificacin del problema, anlisis y desarrollo del problema e
implementacin.
La fase de analizar el problema, en esta etapa es conveniente dividir o
segregar las tareas necesarias e identificadas que ayudaran a la solucin del
problema dado. De esta forma se simplificaran y sern ms comprensibles para
su desarrollo, es recomendable siempre ir de las tareas o actividades ms
- 19 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
simples a las ms complejas. En esta fase se transforma la informacin de
entrada recibida.
/ISEKO /EL ALGORITMO
Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para
ejecutar una tarea o resolver un problema. Por ejemplo, para mirar una pelcula
en el cine, usted necesita comprar los ticket y luego mirar la pelcula en el cine.
Usted no puede entrar directamente a la sala del cine sin comprar los tickets.
Usted notar que el algoritmo sigue ciertos pasos para lograr la tarea. Los
pasos se
pueden categorizar en las tres fases siguientes:
1. En la fase de la entrada, la informacin relacionada con la compra de los
productos se proporciona a la computadora.
2. En la fase de proceso, el computador procesa la informacin proporcionada
para calcular el valor total por la compra de los productos.
3. En la fase de salida, el resultado del clculo hecho en la fase de proceso se
muestra en la pantalla. Estas tres fases juntas forman el ciclo Entrada
Proceso Salida
IMPLEMENTACION /E SOLUCIONES
En la vida diaria y profesional tambin se ejecuta una secuencia de pasos para
lograr una tarea dada, objetivo o solucin. Veremos por ejemplo este algoritmo
representa la lgica para la generacin de una factura.
Paso 1: nicio
Paso 2: Aceptar el nombre del producto
Paso 3: Aceptar la cantidad comprada
Paso 4: Leer el precio del producto y su descuento desde la base de datos
Paso 5: Calcular el precio total como un producto de la cantidad que compr
y precio del producto.
Paso 6: Calcular el precio de descuento deduciendo el valor del descuento
del precio total.
Paso 7: Mostrar los clculos obtenidos
- 20 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
Paso 8: Fin
E+ercicios
E+ercicio 1:- Disee un Algoritmo que halle el rea y el permetro de un
rectngulo. Considere que: rea = base x altura y permetro = 2 x (base+altura)
Al(oritmo
INICIO
// Declaracin de variables
REAL base, altura, area, perimetro
// Entrada de datos
LEER base, altura
// Proceso de clculo
area = base*altura
perimetro = 2*(base+altura)
// Salida de resultados
IMPRIMIR area, perimetro
FIN
E+em)lo $:- Disee un algoritmo para convertir una longitud dada en metros a
sus equivalentes en centmetros, pies, pulgadas y yardas. Considere que: 1
metro = 100 centmetros, 1 pulgada = 2.54 centmetros, 1 pie = 12 pulgadas, 1
yarda = 3 pies.
Al(oritmo
INICIO
// Declaracin de variables
REAL cmetr,ccent, cpies, cpulg, cyard
// Entrada de datos
LEER cmetr
// Proceso de clculo
ccent = cmetr*100
cpulg = ccent/2.54
cpies = cpulg/12
cyard = cpies/3
// Salida de resultados
- 21 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
IMPRIMIR cpulg, cpies, cyard
FIN
E+ercicio %,- Una institucin benfica europea ha recibido tres donaciones en
soles, dlares y marcos. La donacin ser repartida en tres rubros: 60% para la
implementacin de un centro de salud, 40% para un comedor de nios y el
resto para gastos administrativos. Disee un algoritmo que determine el monto
en euros que le corresponde a cada rubro. Considere que: 1 dlar = 3.52 soles,
1 dlar = 2.08 marcos, 1 dlar = 1.07 euros.
Al(oritmo
INICIO
// Declaracin de variables
REAL c soles, cdolares, c marcos, ceuros, rubro1, rubro2, rubro3
// Entrada de datos
LEER csoles, cdolares, cmarcos
// Proceso de clculo
ceuros = (csoles/3.52 + cdolares + cmarcos/2.08)*1.07
rubro1 = ceuros*0.60
rubro2 = ceuros*0.40
rubro3 = ceuros*0.20
// Salida de resultados
IMPRIMIR rubro1, rubro2, rubro3
FIN
Entidades Primiti4as )ara el desarrollo de Al(oritmos, IARIA=LES <
CONSTANTES
IARIA=LE"- En programacin es una estructura que contiene datos y recibe
un nombre nico dado por el programador, mantiene los datos asignados a ella
hasta que un nuevo valor se le asigne o hasta que el programa termine.
TIPO /E /ATOS
El nmero de bytes que debe reservarse para las diferentes variables depende
del tipo de valor que stas almacenan. Por lo tanto, hay una necesidad de
- 22 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
clasificar los tipos de datos que puedan ser almacn en la memoria. Este tipo
de valor es denominado
tipo de dato. Ejemplo:
Ti)o TamaLoMFormato /escri)ci&n
(Nmeros enteros)
byte 8-bit complemento a 2 Entero de un Byte
short 16-bit complemento a 2 Entero corto
int 32-bit complemento a 2 Entero
long 64-bit complemento a 2 Entero largo
(Nmeros reales)
float 32-bit EEE 754 Coma flotante de precisin simple
double 64-bit EEE 754 Coma flotante de precisin doble
(otros tipos)
char 16-bit Caracter Un slo carcter
boolean true o false
Un valor booleano (verdadero o
falso)
EJERCICIOS /E MANEJO /E IARIA=LES
Im)l2cito: no se necesita escribir cdigo para que se lleve a cabo. Ocurre
cuando se realiza una conversin ancha (widening casting), es decir, cuando se
coloca un valor pequeo en un contenedor grande.
E+em)lo 1,
E+em)lo $, similar al anterior"
En cam0ioF
- 23 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
E1)l2cito, s es necesario escribir cdigo. Ocurre cuando se realiza una
conversin estrecha (narrowing casting), es decir, cuando se coloca un valor
grande en un contenedor pequeo. Son susceptibles de prdida de datos.
E+em)lo 1,
E+em)lo $,
E+em)lo de Castin( de 4aria0les,
- 24 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
- 25 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
SEGUN/A SEMANA
SESIAN
$
PSEU/O CO/IGO
TEMAS
Concepto de Pseudocdigo
Estructura de Pseudocdigo
Cabecera
Declaracin de Variables.
Estilo de escritura, esquema jerrquico.
O=JETIIOS
Definir Pseudocodigo, variable
Declarar variables primitivas y escribir expresiones aritmticas.
Aplicar un esquema jerrquico
- 26 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
CONCEPTO /E PSEU/OCO/IGO
El pseudocdigo representa un algoritmo en el lenguaje ingls. Se usa como
alternativa a un diagrama de flujo. Las sentencias usadas en el pseudocdigo
son simples y estn escritas de manera secuencial.
ESTRUCTURA /E PESEU/OCO/IGO
CA=ECERA"-En la seccin de ca0ecera se escribe el nombre del
pseudocodigo
al(oritmo Sumar
4aria0les
entero aF bF c
inicio
escri0irN Ontroduzca el primer nmero (entero): O P
leerN a P
escri0irN Ontroduzca el segundo nmero (entero): O P
leerN b P
c Q a R b
escri0irN OLa s-ma es, OF c P
Bin
/ECLARACION /E IARIA=LES
P-eden declararse 4arias 4aria0les a la 4e*
Sti)oTdatoU SidentiBicadorU V Se1)rUW
Siem)re de0en iniciali*arse
int 1F @F *W
Se )-eden iniciali*ar al momento de s- declaraci&n
1 V #W
int 1V#F @F *V$#W
- 27 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
ESTILO /E ESCRITURA
Java es sensible a la diferencia entre letras maysculas y minsculas
(case-sensitive)
Los archivos fuentes deben tener la extensin .java
Un archivo fuente puede definir ms de una estructura (no
recomendable)
ES6UEMA JEAR6UICO
El esquema jerrquico del pseudocodigo seria el siguiente:
Inicio
/eclaraci&n de 4aria0les
Entrada de datos
Proceso de cClc-lo
Salida de res-ltados
Fin
E+em)los
E+ercicio,- En una competencia atltica de velocidad el tiempo se mide en
minutos, segundos y centsimas de segundo y, el espacio recorrido se mide en
metros. Disee un algoritmo para determinar la velocidad promedio de un atleta
en km/hr. Considere que: 1 hora = 60 minutos, 1 minuto = 60 segundos, 1
segundo = 100 centsimas de segundo, 1 kilmetro = 1000 metros.
Al(oritmo
INICIO
// Declaracin de variables
ENTERO tmin, tseg, tcen
REAL thor, velkmhr, espmt, espkm
// Entrada de datos
LEER tmin, tseg, tcen, espmt
// Clculo del tiempo total empleado en horas
thor = tmin/60 + tseg/3600 + tcen/360000
// Clculo del espacio recorrido en kilmetros
espkm = espmt/1000
- 28 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
// Clculo de la velocidad en km/hr
velkmhr = espkm/thor
// Salida de resultados
IMPRIMIR velkmhr
FIN
E+ercicio ,- Disee un algoritmo que determine la cifra de las unidades de un
nmero natural.
Sol-ci&n 1
AnClisis
Puede comprobarse que la cifra de las unidades de un nmero es igual al resto
de la divisin del nmero entre 10. Observe para ello las siguientes divisiones:
3245 10
5 324
768 10
8 76
9 10
9 0
Podemos concluir entonces que:
Unidades = numero X 10
Siendo X el operador residuo. Este operador permite obtener el residuo de una
divisin, as como / permite obtener el cociente.
Al(oritmo
INICIO
// Declaracin de variables
ENTERO numero, unidades
// Entrada de datos
LEER numero
// Proceso de clculo
unidades = numero % 10
// Salida de resultados
- 29 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
IMPRIMIR unidades
FIN
Sol-ci&n $
AnClisis
El residuo de una divisin entera puede obtenerse tambin sin recurrir al
operador X, de la siguiente forma:
unidades = numero - (numero / 10) * 10
Observe para esto que en la divisin Nn-meroM1#P los operandos son enteros
por lo que el cociente ser un entero. As por ejemplo, si n-mero es igual a
%$3', la divisin Nn-meroM1#P produce %$3, aunque matemticamente sea
%$3"'; es decir, se descarta la parte decimal.
Al(oritmo
INICIO
// Declaracin de variables
ENTERO numero, unidades
// Entrada de datos
LEER numero
// Proceso de clculo
unidades = numero - (numero/10)*10
// Salida de resultados
IMPRIMIR unidades
FIN
E+ercicio .,- Disee un algoritmo que determine la suma de las cifras de un
nmero entero positivo de 4 cifras.
Sol-ci&n 1
AnClisis
Las cifras pueden ser obtenidas mediante divisiones sucesivas entre 10. Para
el efecto, considere el caso de un nmero N igual a 3245:
3245 10
5 324
unidades = N%10
cociente = N/10
- 30 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
324 10
4 32
decenas = cociente%10
cociente = cociente/10
32 10
2 3
centenas = cociente%10
millares = cociente/10
Al(oritmo
INICIO
// Declaracin de variables
ENTERO N, suma, millares, centenas, decenas, unidades, resto
// Entrada de datos
LEER N
// Proceso de clculo
unidades = N%10
cociente = N/10
decenas = cociente%10
cociente = cociente/10
centenas = cociente%10
millares = cociente/10
suma = unidades + decenas + centenas + millares
// Salida de resultados
IMPRIMIR suma
FIN
Sol-ci&n $
AnClisis $
Considerando que el nmero tiene 4 cifras, las cifras tambin pueden ser
obtenidas mediante divisiones sucesivas entre 1000, 100 y 10. Para el efecto,
considere el caso de un nmero N igual a 3245:
3245 1000
245 3
millares = N/1000
resto = N%1000
- 31 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
245 100
45 2
centenas = resto/100
resto = resto%100
45 10
3 4
decenas = resto/10
unidades = resto%10
Al(oritmo
INICIO
// Declaracin de variables
ENTERO N, suma, millares, centenas, decenas, unidades, resto
// Entrada de datos
LEER N
// Proceso de clculo
millares = N/1000
resto = N%1000
centenas = resto/100
resto = resto%100
decenas = resto/10
unidades = resto%10
suma = unidades + decenas + centenas + millares
// Salida de resultados
IMPRIMIR suma
FIN
E+ercicio ,- Disee un algoritmo que lea la hora actual del da HH:MM:SS y
determine cuantas horas, minutos y segundos restan para culminar el da.
Al(oritmo
INICIO
// Declaracin de variables
ENTERO hor1, min1, seg1, hor2, min2, seg2, segres, resto
// Entrada de datos
LEER hor1, min1, seg1
// Clculo de la cantidad de segundos que restan para culminar el da
segres = 86400 - (hor1*3600 + min1*60 + seg1)
- 32 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios

// Descomposicin de segres en horas, minutos y segundos
hor2 = segres/3600
resto = segres%3600
min2 = resto/60
seg2 = resto%60
// Salida de resultados
IMPRIMIR hor2, min2, seg2
FIN
- 33 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
TERCERA SEMANA
SESIAN
1
EYPRESIONES ALGORITMICAS
TEMAS
Manejo de Operadores:
Expresiones Aritmticas, lgicas y relacionales.
Reglas de Jerarqua
Ejercicios de aplicacin
O=JETIIOS
Definir expresiones y operadores.
Descripcin de los elementos bsicos en la construccin de un
programa, contadores, acumuladores.
- 34 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
MANEJO /E OPERA/ORES
EYPRESIONES
Los operadores determinan el tipo de operacin que se quiere realizar con los
elementos de una expresin. En una expresin, el elemento sobre el cual acta
un operador se llama operando. Por ejemplo, en la expresin, a + b, a y b son
conocidos como operandos.
Los operadores pueden ser clasificados en las siguientes categoras:
Operadores aritmticos
Operadores Relacionales
Operadores lgicos
OPERA/ORES ARITMETICOS
Los operadores aritmticos, como su nombre lo indica, son utilizados para
realizar clculos aritmticos. Algunos de los operadores aritmticos ms
comunes son los siguientes:
O)erador /escri)ci&n E+em)lo
S-ma NRP S-ma los o)erandos c V a R 0
Resta NP Resta el o)erando derec;o del o)erando
i*H-ierdo
c V a - 0
M-lti)licaci&n
NZP
M-lti)lica los o)erandos c V a Z 0
/i4isi&n NMP /i4ide el o)erando i*H-ierdo )or del o)erando
derec;o
c V a M 0
Mod-lo NXP Calc-la el resid-o de -na di4isi&n entera c V a X 0
El siguiente pseudocdigo representa una operacin usando el operador
modulo:
0e(in
n-meric nN-m1F nN-m$F nN-m%
nN-m1 V 1'
nN-m$ V $
nN-m% V nN-m1 X nN-m$
dis)la@ nN-m%
end
- 35 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
En este pseudocdigo, a las variable nNum1 y nNum2 se le asigna 15 y 2
respectivamente. La salida del pseudocdigo ser 1, el cual es el residuo de la
divisin entera entre nNum1 y nNum2.
OPERA/ORES RELACIONALES
Se puede comparar dos operandos con el operadores relacional. Cuando dos
operandos son comparados usando estos operadores, el resultado es un valor
lgico,
TRUE o FALSE.
- 36 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
OPERA/ORES LOGICOS
Los operadores lgicos son usados para combinar los resultados de
expresiones que contienen operadores relacinales.
A continuacin tenemos una tabla que describe los operadores lgicos:
En la siguiente tabla se describe como trabaja el operador AND y el operador
OR:
REGLAS /E JERAR6UIA
EJERCICIOS /E APLICACIAN
E+ercicio ,- Disee un algoritmo para sumar dos tiempos dados en horas,
minutos y segundos.
Al(oritmo
INICIO
// Declaracin de variables
ENTERO hor1, min1, seg1, hor2, min2, seg2, hor3, min3, seg3F totseg, resto

// Entrada de datos
LEER hor1, min1, seg1, hor2, min2, seg2
- 37 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
// Determina la cantidad total de segundos entre los dos tiempos
totseg = (hor1+hor2)*3600 + (min1+min2)*60 + (seg1+seg2)

// Descompone totseg en horas, minutos y segundos
hor3 = totseg/3600
resto = totseg%3600
min3 = resto/60
seg3 = resto%60
// Salida de resultados
IMPRIMIR hor3, min3, seg3
FIN
E+ercicio ,- El sueldo neto de un vendedor se calcula como la suma de un
sueldo bsico de S/.250 ms el 12% del monto total vendido. Disee un
algoritmo que determine el sueldo neto de un vendedor sabiendo que hizo tres
ventas en el mes.
Al(oritmo
INICIO
// Declaracin de variables
REAL venta1, venta2, venta3, ventatot, comision, sueldoneto
// Entrada de datos
LEER venta1, venta2, venta3
// Proceso de clculo
ventatot = venta1 + venta2 + venta3
comision = 0.12*ventatot
sueldoneto = 250 + comision
// Salida de resultados
IMPRIMIR sueldoneto
FIN
E+ercicio,- Disee un algoritmo que determine el porcentaje de varones y de
mujeres que hay en un saln de clases.
Al(oritmo
INICIO
// Declaracin de variables
REAL porcvar, porcmuj
ENTERO varones, mujeres, total
// Entrada de datos
LEER varones, mujeres
- 38 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
// Proceso de clculo
total = varones + mujeres
porcvar = varones*100.0/total
porcmuj = mujeres*100.0/total
// Salida de resultados
IMPRIMIR porcvar, porcmuj
FIN
E+ercicio,- En pases de habla inglesa es comn dar la estatura de una
persona como la suma de una cantidad entera de pies ms una cantidad entera
de pulgadas. As, la estatura de una persona podra ser 3' 2" ( 3 pies 2
pulgadas ). Disee un algoritmo que determine la estatura de una persona en
metros, conociendo su estatura en el formato ingls. Considere que: 1 pie = 12
plg, 1 plg = 2.54 cm, 1 m = 100 cm.
Al(oritmo
INICIO
// Declaracin de variables
REAL estmt
ENTERO cpies, cplgs
// Entrada de datos
LEER cpies, cplgs
// Proceso de clculo
estmt = (cpies*12 + cplgs)*2.54/100
// Salida de resultados
IMPRIMIR estmt
FIN
E+ercicio 1$,- Disee un algoritmo que exprese la capacidad de un disco duro
en megabytes, kilobytes y bytes, conociendo la capacidad del disco en
gigabytes. Considere que: 1 kilobyte = 1024 bytes, 1 megabyte = 1024 kilobyte,
1 gigabyte = 1024 megabytes.
Al(oritmo
INICIO
// Declaracin de variables
REAL cgigabyte, cmegabyte, ckilobyte, cbyte
// Entrada de datos
LEER cgigabyte
- 39 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
// Proceso de clculo
cmegabyte = cgigabyte*1024
ckilobyte = cmegabyte*1024
cbyte = ckilobyte*1024
// Salida de resultados
IMPRIMIR cmegabyte, ckilobyte, cbyte
FIN
E+ercicio ,- Disee un algoritmo que intercambie las cifras de las unidades de
dos nmeros naturales
Al(oritmo
INICIO
// Declaracin de variables
ENTERO numero1, numero2, unidades1, unidades2
// Entrada de datos
LEER numero1, numero2
// Determina las cifras de las unidades
unidades1 = n1%10
unidades2 = n2%10
// ntercambia las cifras de las unidades
numero1 = numero1 - unidades1 + unidades2
numero2 = numero2 - unidades2 + unidades1
// Salida de resultados
IMPRIMIR n1, n2
FIN
- 40 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
TERCERA SEMANA
SESIAN
$
PROGRAMACION SECUENCIAL
TEMAS
Estructuras secunciales
Sentencias de entrada y salida de datos
Sentencia de Asignacin
Funciones Matemticas: cociente, residuo, redondeo.
Funciones Trascendentes: potencia, raz, etc
O=JETIIOS
Desarrollar estructuras secuenciales en la solucin de problemas.
Desarrollo de algoritmos que involucren estructuras de secuencia.
- 41 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
ESTRUCTURA SECUENCIAL
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 y as sucesivamente hasta el fin del proceso.
SENTENCIA /E ENTRA/A < SALI/A /E /ATOS
Entrada de datos
La lectura o entrada de datos consiste en recibir desde un dispositivo de
entrada (p.ej. el teclado) un valor o dato. Este dato va a ser almacenado en la
variable que aparece a continuacin de la instruccin. Esta operacin se
representa as:
Salida de datos
Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un
resultado o mensaje. Esta instruccin presenta en pantalla el mensaje escrito
entre comillas o el contenido de la variable. Este proceso se representa as
como sigue:
- 42 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
Las sentencias son los elementos bsicos en los que se divide el cdigo en un
lenguaje de programacin. Al fin y al cabo, un programa no es ms que un
conjunto de sentencias que se ejecutan para realizar una cierta tarea. Adems,
como ya habrs visto, en ascal el signo que las separa es el )-nto @ coma.
Asignacin
Una vez que una variable ha sido declarada, se le puede asignar un valor con
el operador de asignacin (V). Recuerde que en pseudocdigo este operador
es = .
Ejemplo:
int i;
i = 5;
Es posible declarar e inicializar una variable en el mismo enunciado.
Ejemplo:
int ao = 2000;
boolean aprobado = true;
int edad = 20, peso = 80;
Se pueden encadenar las instrucciones de asignacin:
Ejemplo:
Operadores de asignacin aritmtica
Continuando con la idea de contraer ciertas operaciones aritmticas, se usan
abreviaciones para la asignacin de una variable,cuando est involucrada
como operador.
Expresin Equivalente
a += b; a = a + b;
a -= b; a = a - b;
a *= b; a = a * b;
a /= b; a = a / b;
a %= b; a = a * b;
Ejemplo :
int a = 2, b = 3; /* Se declaran dos variables enteras a = 2, b = 3 */
- 43 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
a += b; /* a = a + b = 2 + 3 = 5 */
*nota : Para mayor orden en el seguimiento de los valores, se escribe
la expresin equivalente y a continuacin se evalan los valores.
b *= 5; /* b = b * 5 = 3 * 5 = 15 */
a = ++b; /* b = b + 1 = 15 + 1 = 16 ; a = b = 16 */
Como existe una variable que se est pre-incrementando, lo primero que se
hace es
modificar el valor de esa variable. Despus de haber hecho esto, se evalan
los valores.
b += --a + 5; /* a = a - 1 = 16 - 1 = 15 ; b = b + a + 5 = 16 + 15 + 5 =
36 */
Despus de incrementar la variable a, se escribe y evala la expresin
equivalente.
a += b--; /* a = a + b = 15 + 36 = 51 ; b = b - 1 = 36 - 1 = 35 */
Como ahora b, se est post-incrementando, lo primero que se hace es evaluar
la expresin equivalente, y despus finalmente incrementar la variable b.
Valores finales : a = 51 , b = 35.
Ejercicios
Determinar los valores finales para los siguientes segmentos de cdigo
a)
int a = 2, b = 3, c = 5;
a++;
b += a;
c *= b;
b -= 3;
a %= 2;
c /= 5;
Los valores finales : a = 1 , b = 3, c = 6
b)
int a = 1;
int b = 2;
b++;
b = ++a;
a *= 2;
b += a;
a = ++b + 2;
Los valores finales son : a = 9 , b = 7
Operadores Relacionales
- 44 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
Los siguientes operadores son fundamentales para implementar las
condiciones de las sentencias de control.
El resultado de una comparacin es un valor true o false.
Operador Descripcin Ejemplo
< menor a < b
<= menor o igual a++ <= 122
> mayor x > 5 * b++
>= mayor o igual p >= 0.01
== igual a%2 == 0
!= distinto t != true
Ejemplo :
5 > 1 /* true */
1 >= 5 /* false */
2 == 2 /* true */
2 != 2 /* false */
Ejercicio : determinar si las siguientes relaciones son true o false.
a) 7 <= 5
b) 2 > 6
c) 3 != 5
d) a == a + 1
e) b++ != b++
Una instruccin es una expresin que produce un valor.

Ejemplos:

class Geometria
{
public static void main (String [] args)
{
int lados = 4; //declaracin e inicializacin
System.out.println ("Un cuadrado tiene " + lados + " lados");
lados = 10; //sentencia de asignacin
System.out.println ("Un decgono tiene " + lados + "lados");
}
}


class Suma
- 45 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
{
public static void main (String [] args)
{
System.out.println ("24 y 45 concatenados: "+ 24 + 45);
System.out.println ("24 y 45 sumados: " + (24+25));
}
}


class AmibasMatematicas
{
public static void main (String arguments [])
{
int x = 6;
short y = 4;
float a = .50f;
System.out.println ("\nSe inicia con " + x + " pequeas amibas.");
System.out.print ("\t2 contraen nupcias y sus esposos vienen a vivir.");
x = x + 2;
System.out.println (" Ahora son " + x);
System.out.print ("\tOcurre una mitosis, que duplica el nmero de amibas. ");
x = x * 2;
System.out.println ("Ahora son " + x);

System.out.print ("\tExiste una guerra. Y " + y + " amibasson dadas de baja.
");
x = x - y;
System.out.println ("Ahora son " + x);
System.out.print ("\tParamecia ataca! y una tercera parte de la colonia muere.
");
x = x - (x/3);
System.out.println ("Ahora son " + x);
System.out.println ("\n\nAl final quedan: " + x + " pequeas amibas");
System.out.println ("El costo por da de amiba es de: $" + a);
System.out.println ("El costo total diario es de: $" + (a*x));
}
}
- 46 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
F-nciones MatemCticas en +a4a
lon( Mat;"ro-ndNdo-0le n-m0erP
redondea un do-0le a un lon(. Hay que usar un cast para redondearlo a un
int, o no va a funcionar. Ejemplo: int x = (int) Math.round(5.27);
do-0le Mat;"cosNdo-0le an(-loP
devuelve el coseno de un ngulo. El ngulo se especifica en radianes.
do-0le Mat;"sinNdo-0le an(-loP
devuelve el seno de un ngulo. El ngulo se especifica en radianes.
do-0le Mat;"PI
devuelve la constante (pi).
do-0le Mat;"E
devuelve la constante e
- 47 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
CUARTA SEMANA
SESIAN
1
ESTRUCTURA SELECTIIA SIMPLE
TEMAS
Estructura selectiva simple: if
Ejercicios de Aplicacin
Ejercicios de conversiones de medidas
Encontrar y evaluar el mayor o menor nmero ingresado
Ejercicios con la estructura Si.Entonces (sin hacer uso de conectores
lgicos)
O=JETIIOS
Aplicar estructuras de seleccin simple a la solucin de problemas.
Desarrollo de algoritmos que involucren estructuras de seleccin simple.
- 48 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
Estructura de seleccin simple
accin m
si <condicin> entonces
<accin 1>
<accin 2>
.
.
<accin n>
fin_si
Con frecuencia es necesario que existan ms de dos elecciones posibles. Este
problema se podra resolver por estructuras selectivas simples o dobles,
anidadas o en cascada, pero si el nmero de alternativas es grande puede
plantear serios problemas de escritura y de legibilidad.
Usando la estructura de decisin mltiple se evaluar una expresin que podr
tomar n valores distintos, 1, 2 , 3, ....,n y segn que elija uno de estos valores
en la condicin, se realizar una de las n acciones o lo que es igual, el flujo del
algoritmo seguir slo un determinado camino entre los n posibles.
Esta estructura se representa por un selector el cual si toma el valor 1 ejecutar
la accin 1, si toma el valor 2 ejecutar la accin 2, si toma el valor N realizar
la accin N.
Ejemplo 1:
- 49 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
Disear un algoritmo tal que aos !omo atos os "aria#les e tipo entero$ o#tenga el
resultao e la siguiente %un!i&n:
- 50 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
Ejemplo 2.
Daos !omo atos la !ategor'a ( el suelo e un tra#ajaor$ !al!ule el aumento
!orresponiente tenieno en !uenta la siguiente ta#la) *mprimir la !ategor'a el
tra#ajaor ( el nue"o suelo)
De%ini!i&n e "aria#les:
+ate , !ategor'a
-ue , suelo
.sue , nue"o suelo
/0123*452
*ni!io
0eer 6!ate$ sue7
En !aso que !ate sea
1: 8a!er nsue 9-- sue : 1)15
2: 8a!er nsue 9-- sue : 1)10
3: 8a!er nsue 9-- sue : 1)08
4: 8a!er nsue 9-- sue : 1)07
;in<!aso<que
Es!ri#ir 6!ate$ nsue7
;in
ESTRUCTURA SELECTIIA SIMPLE IF"
Las estructuras de control en Java son bsicamente las misma que en C, con
excepcin del (oto, que no existe
(al fin un lenguaje serio! )
iB![else\
La ms comn de todas, permite ejecutar una instruccin (o secuencia de
instrucciones) si se da una condicin
dada (o, mediante la clusula else, ejecutar otra secuencia en caso contrario).
Por e+em)lo,
)-0lic Binal Strin( toStrin(NP ]
iB N@S#P
ret-rn 1RO-iORN-@PW
- 51 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
else
ret-rn R1RORiOR@W
^
Las bifurcaciones permiten ejecutar una de entre varias acciones en funcin del
valor de una expresin lgica o relacional. Se tratan de estructuras muy
importantes ya que son las encargadas de controlar el flujo de ejecucin de un
programa.
Esta estructura permite ejecutar un conjunto de sentencias en funcin del valor
que tenga la expresin de comparacin (se ejecuta si la expresin de
comparacin tiene valor true).
Las llaves {} sirven para agrupar en un bloque las sentencias que se han de
ejecutar, y no son necesarias si slo hay una sentencia dentro del if
EJERCICIOS /E APLICACIAN
EJERCICIO /E CONIERSIONES /E ME/I/AS
Considerar el si(-iente ti)o de cam0io -n d&larV%"$% soles F -n d&larV
1"#? e-ros
)ri4ate 4oid 0tncalc-larTactionPerBormedNActionE4ent eP ]
MMdeclaraci&n de 4aria0les
do-0le solesF dolaresW
MMin(resa de datos
soles V /o-0le")arse/o-0leNt1tSoles"(etTe1tNPPW

MMProceso de calc-lo
dolaresV Nsoles Z %"$%PW
MM salida de Res-ltados
t1tS"setTe1t N OEn dolares OR dolaresPW
^
^
ENCONTRAR EL MA<OR NUMERO INGRESA/O /E 1# MOSTRAN/O
MENSAJE RESPECTIIO
im)ort +a4a"-til"ScannerW
)-0lic class E+em)lo#1 ]
)-0lic static 4oid mainNStrin([\ ar(sP ]
Scanner teclado V ne_ ScannerN S@stem"in PW
int n-mW
n-m V teclado"ne1tIntNPW
iB N n-m U 1# P ]
S@stem"o-t")rintlnNn-mPW
S@stem"o-t")rintlnNOEl n8mero es ma@or H-e 1#OPW
^
^
- 52 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
^
EJERCICIO CON LA ESTRUCTURA SI !""ENTONCES
El siguiente programa, muestra la lgica para encontrar la suma de dos
nmeros y determinar si es par impar.
im)ort +a4a"-til"ScannerW
)-0lic class E+em)lo#$ ]
)-0lic static 4oid mainNStrin([\ ar(sP ]
MM Iaria0les del Pro(rama
Scanner teclado V ne_ ScannerN S@stem"in PW
int n-m1F n-m$F s-maW
MM Lect-ra de /atos
S@stem"o-t")rintNOIn(rese n8mero 1, OPW
n-m1 V teclado"ne1tIntNPW
S@stem"o-t")rintNOIn(rese n8mero $, OPW
n-m$ V teclado"ne1tIntNPW
MM Proceso
s-ma V n-m1 R n-m$W
MM Re)orte
S@stem"o-t")rintlnNOS-ma, O R s-maPW
iB Ns-ma X $ VV #P ]
S@stem"o-t")rintlnNOLa s-ma es ParOPW
^ else ]
S@stem"o-t")rintlnNOLa s-ma es Im)arOPW
^
^
^
- 53 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
CUARTA SEMANA
SESIAN
$
ESTRUCTURA SELECTIIA /O=LE
TEMAS
Estructura Selectiva Doble: Si ... Sino
nstrucciones de Bifurcacin.
Ejercicios de Aplicacin.
Ejercicios con la estructura Si.Entonces (sin hacer uso de conectores
lgicos)
O=JETIIOS
Aplicar estructuras de seleccin doble a la solucin de problemas.
Desarrollo de algoritmos que involucren estructuras de seleccin doble.
- 54 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
ESTRUCTURA SELECTIIA /O=LE SI!""SINO
La estructura de seleccin doble S - SNO evala una condicin lgica y:
Si la condicin es verdadera, ejecuta la accin A.
Si la condicin es falsa, ejecuta la accin B.
Tanto la accin A como la accin B pueden ser acciones simples (una sola
accin) o acciones compuestas
(un conjunto de acciones).
Nota"- En el caso de acciones compuestas, estas sern encerradas entre
llaves.
En la estructura if...else, si la condicin especificada es verdadera (true), las
sentencias contenidas dentro del bloque if son ejecutadas. Si la condicin es
falsa
(false), las sentencias contenidas dentro del bloque else son ejecutadas.
INSTRUCCIONES /E =IFURCACION
iB Ne1)resi&nT0ooleanaP ]
instr-ccionesTsiTtr-eW
^
else ]
instr-ccionesTsiTBalseW
^
EJERCICIOS /E APLICACIAN
E+em)lo"
Construir un algoritmo que escriba los nombres de los das de la semana, en
funcin del valor de una variable DA introducida por teclado que representa su
posicin dentro de la semana.
Al(oritmo Nom0reTdias
4ar
- 55 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
entero, dia
inicio
leer NdiaP
caso dia ;acer
1, escri0ir N`l-nes`P
$, escri0ir N`martes`P
"
"
9, escri0ir N`domin(o`P
sino escri0ir N`Error`P
BinTcaso
Bin
/ia(rama de Fl-+o Se-do c&di(o Nacciones sim)lesP
SI(condicin)
accinA
SINO
accin B
Se-do c&di(oNacciones com)-estasP
SI(condicin)]
accin A1
accin A2
.
.
.
accin An
^
SINO]
accin B1
accin B2
.
.
.
accin Bn
^
- 56 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
Fi(-ra "$ Estructura de Seleccin Doble
Por ejemplo, si se desea saber si una persona es mayor o menor de edad,
podemos escribir:
SI( edad >= 18 )
IMPRIMIR "Mayor de edad"
SINO
IMPRIMIR "Menor de edad"
Esto imprime "Mayor de edad" si la persona tiene 18 aos ms e imprime
"Menor de edad" si la persona tiene menos de 18 aos. En cualquiera de los
casos, despus de efectuar la impresin, se ejecutar la primera instruccin
que sigue a la estructura SI"""SINO.
O)eradores L&(icos @ Relacionales
Para expresar condiciones como en el caso de las condiciones de las
estructuras selectivas, se requieren
de operadores relacionales y operadores lgicos, que se muestran en las
tablas 1 y 2, respectivamente!
Dichas condiciones solo puede tomar uno de los siguientes valores: verdadero
o falso.
Ta0la 1 Operadores relacionales
O)erador Si(niBicado
> mayor
>= mayor o igual que
< menor
<= menor o igual que
== igual a
=! diferente de
Ta0la $ Operadores lgicos
O)erador Si(niBicado
no negacin
y conjuncin
o disyuncin
E+em)lo "1, En una playa de estacionamiento cobran S/. 2.5 por hora o
fraccin. Disee un algoritmo que determine cuanto debe pagar un cliente por
el estacionamiento de su vehculo, conociendo el tiempo de estacionamiento en
horas y minutos.
Al(oritmo
INICIO
ENTERO horas, minutos
REAL pago
LEER horas, minutos
- 57 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
SI( minutos > 0 )
horas = horas + 1
pago = horas * 2.5
IMPRIMIR pago
FIN
E+em)lo $, Disee un algoritmo que determine si un nmero es o no, par
positivo
Algoritmo
INICIO
REAL n
LEER n
SI( (n%2==0) y (n>0) )
IMPRIMIR "El nmero es par positivo"
SINO
IMPRIMIR "El nmero no es par positivo"
FIN
E+em)lo '"%, Disee un algoritmo que determine el mayor valor de
cuatro nmeros a, b, c, d.
Al(oritmo
INICIO
REAL a, b, c, d, mayor
LEER a, b, c, d
mayor = a
SI( b > mayor )
mayor = b
SI( c > mayor )
mayor = c
SI( d > mayor )
mayor = d
IMPRIMIR mayor
FIN
O0ser4aci&n
En caso que los cuatro nmeros sean iguales entre s, el algoritmo da como
mayor a cualquiera de los cuatro.
E+em)lo "3, Una tienda ha puesto en oferta la venta al por mayor de cierto
producto, ofreciendo un descuento del 15% por la compra de ms de 3
docenas y 10% en caso contrario. Adems por la compra de ms de 3 docenas
se obsequia una unidad del producto por cada docena en exceso sobre 3.
Disee un algoritmo que determine el monto de la compra, el monto del
descuento, el monto a pagar y el nmero
de unidades de obsequio por la compra de cierta cantidad de docenas del
producto.
INICIO
REAL montopag, montocom, montodes, precio
ENTERO docenas, obsequio
- 58 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
LEER docenas, precio
montocom = docenas*precio
SI( docenas > 3 )]
montodes = 0.15*montocom
obsequio = docenas-3
^
SINO]
montodes = 0.10*montocom
obsequio = 0
^
montopag = montocom - montodes
IMPRIMIR montocom, montodes, montopag
Bin
Selecci&n /o0le en Cascada
Se dice que varias estructuras de seleccin doble estn en cascada cuando la
instruccin que sigue a un SINO es otro SI a excepcin del ltimo SINO. No
hay lmite en cuanto al nmero de estructuras de seleccin doble que pueden
ponerse en cascada.
F-ncionamiento
Las condiciones se evalan en orden descendente pasando de una a otra si la
anterior resulta falsa. En el momento que se encuentra una condicin
verdadera, se efecta la accin correspondiente a dicha condicin y se corta el
resto de la estructura. Si todas las condiciones resultan falsas se efecta la
accin correspondiente al ltimo SNO.
Nota" En el caso de acciones compuestas, estas sern encerradas entre
llaves.
SI( condicin C1 )
accin A1
SINO
SI( condicin C2 )
accin A2
SINO
SI( condicin C3 )
"
"
SINO
accin An
Fi(-ra "% Seleccin doble en cascada: Forma 1
SI( condicin C1 )
accin A1
SINO SI( condicin C2 )
accin A2
SINO SI( condicin C3 )
accin A3
.
- 59 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
.
.
SINO
accin An
Fi(-ra "3 Seleccin doble en cascada: Forma 2
E+em)lo "', Disee un algoritmo que determine si un nmero es negativo,
positivo o cero.
Algoritmo (Formato 1)
INICIO
REAL n
LEER n
SI( n > 0 )
IMPRIMIR "Positivo"
SINO
SI( n < 0 )
IMPRIMIR "Negativo"
SINO
IMPRIMIR "Cero"
FIN
Al(oritmo (Formato 2)
INICIO
REAL n
LEER n
SI( n > 0 )
IMPRIMIR "Positivo"
SINO SI( n < 0 )
IMPRIMIR "Negativo"
SINO
IMPRIMIR "Cero"
FIN
E+em)lo ., Considerando que las estaciones del ao se numeran como 1 para
primavera, 2 para verano, 3 para otoo y 4 para invierno; disee un algoritmo
que determine el nombre de la estacin del ao conociendo el nmero de la
estacin.
Al(oritmo
INICIO
ENTERO numero
CA/ENA nombre
LEER numero
SI( numero == 1 )
nombre = "Primavera"
SINO SI( numero == 2 )
nombre = "Verano"
SINO SI( numero == 3 )
nombre = "Otoo"
- 60 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
SINO
nombre = "nvierno"
IMPRIMIR nombre
FN
- 61 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
SEYTA SEMANA
SESIAN
1
ESTRUCTURA SELECTIIA ANI/A/AS
TEMAS
Anidamiento f
Ejercicios de Aplicacin
O=JETIIOS
Aplicar estructuras de seleccin doble encadenada iB a la solucin de
problemas.
Desarrollo de algoritmos que involucren estructuras de seleccin doble
encadenada
- 62 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
ANI/AMIENTO IF
La estructura if permite tomar decisiones dentro de un programa. El resultado
de una decisin determina la secuencia en que el programa puede ejecutar las
instrucciones. La decisin se toma en base al resultado de una comparacin.
Sinta1is
iB N condici&n P
0e(in
MM Sentencias
end
Estr-ct-ras de Selecci&n Anidadas
Se dice que una estructura S (o S-SNO) esta anidada cuando esta contenida
dentro de otra estructura
S o dentro de otra estructura S-SNO. No existe lmite en cuanto al nivel de
anidamiento.
Por ejemplo, una estructura S con tres niveles de anidamiento tendra el
siguiente formato:
SI( condicin C1 )]
accin A1
SI( condicin C2 )]
accin A2
SI( condicin C3 )
accin A3
^
^
En general, el anidamiento podra evitarse usando el operador lgico "y". As, la
anterior seleccin SI anidada puede descomponerse en tres estructuras de
seleccin simple no anidadas consecutivas, como se muestra a continuacin.
SI( condicin C1 )
accin A1
SI( condicin C1 @ condicin C2 )
accin A2
SI( condicin C1 @ condicin C2 @ condicin C3 )
accin A3
La estructura de seleccin doble en cascada es un caso especial de la
estructura S..SNO anidada.
E+em)lo, Disee un algoritmo que lea un nmero de tres cifras y determine si
es o no capica. Un nmero es capica si es igual al revs del nmero.
- 63 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
Observacin
Observe que al ser el nmero de tres cifras, para ser capica es suficiente
comprobar que la cifra de las -nidades sea igual a la cifra de las centenas.
Al(oritmo
INICIO
ENTERO numero, unidad, centena
LEER numero
SI(numero >= 100 && numero <= 999 )]
unidad = numero%10
centena = numero/100
SI( unidad == centena )
IMPRIMIR "El nmero es capica"
SINO
IMPRIMIR "El nmero no es capica"
^
SINO
IMPRIMIR "El nmero no tiene tres cifras"
FIN
EJERCICIO /E APLICACIAN
Ejercicio de divisin
)-0lic class DivisionSegura {
)-0lic static 4oid main(String args[]){
int x = 12;
int y = 0;
int z = 0;
iB( y !=0 ) z = x / y;
System.out.println("El resultado es : " + z);
}
}
- 64 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
SEYTA SEMANA
SESIAN
$
ESTRUCTURA SELECTIIA ANI/A/AS II
TEMAS
Anidamiento f Else
Ejercicios de Aplicacin
O=JETIIOS
Aplicar estructuras de seleccin doble encadenada iB a la solucin de
problemas.
Desarrollo de algoritmos que involucren estructuras de seleccin doble
encadenada
- 65 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
ANI/AMIENTO IF ELSE
En algunos casos, se necesita representar una condicin que estn basada en
otra condicin. En este caso, se puede usar una estructura if.else dentro de
otra estructura if.else. Esta construccin es conocida como if.else anidado.
El nmero de estructuras condicionales y el nivel de anidamiento dependen de
la complejidad del problema. Por lo tanto, no hay un lmite o regla para
especificar el nmero de estructuras condicionales que se pueden anidar.
La sentencia if - else
La sentencia if"else de Java dota a los programas de la habilidad de ejecutar
distintos conjuntos de sentencias segn algn criterio.
La sintaxis de la sentencia if"else es:
i% 6 !oni!i&n 7
Bloque de cdigo a ejecutar si la condicin es cierta
else
Bloque de cdigo a ejecutar si la condicin es falsa
La parte del else es opcional, y un bloque de cdigo puede ser simplemente la
sentencia vaca # para representar que en ese caso no se ha de ejecutar nada.
Supongamos que un programa debe realizar diferentes acciones dependiendo
de si el usuario oprime el botn aceptar o el botn cancelar en una ventana de
dialogo. Nuestro programa puede realizar esto usando la sentencia if " else:
// La respuesta es Aceptar o Cancelar
if (respuesta == Aceptar) {
// cdigo para realizar la accin Aceptar
System.out.println( "Su peticin esta siendo atendida" );
}
else {
// cdigo para realizar la accin Cancelar
- 66 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
System.out.println( "Cancelando accion" );
Se pueden anidar expresiones if"else, para poder implementar aquellos casos
con mltiples acciones. Esto es lo que se suele denominar como sentencias
else if.
Por ejemplo, supongamos que se desea escribir un programa que clasifique
segn el contenido de una variable valor, asigne una letra a una variable
clasificacin: A para un valor del 100-91, B de 90-81, C para 80-71 y F si no es
ninguno de los anteriores:
int valor;
char clasificacion;
if (valor > 90)
{clasificacion='A';}
else
if (valor > 80)
{clasificacion='B';}
else
if (valor > 70)
{clasificacion='C';}
else
{clasificacion='F';}
Se pueden escribir los if en las mismas lneas que los else, pero Este sistema
de programacin (else if) no es demasiado recomendable, y por ello el lenguaje
Java incluye la sentencia s$itc%, que veremos a continuacin, para dirigir el
flujo de control de variables con mltiples valores.
EJERCICIO /E APLICACIAN
Por ejemplo, considerar un algoritmo para aceptar la nota de un alumno en dos
cursos y calcular su promedio. El algoritmo muestra el promedio obtenido con
- 67 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
el mensaje "Aprobado", "Desaprobado", o "Excelente". El criterio para el
mensaje esta dado por:
Excelente, si el promedio es mayor que 17
Aprobado, si el promedio es mayor que 13
Desaprobado, si el promedio es menor o igual que 13
im)ort +a4a"-til"ScannerW
)-0lic class E+em)lo#3 ]
)-0lic static 4oid mainNStrin([\ ar(sP ]
MM Iaria0les del Pro(rama
Scanner teclado V ne_ ScannerN S@stem"in PW
do-0le nota1F nota$F )romW
MM Lect-ra de /atos
nota1 V teclado"ne1t/o-0leNPW
nota$ V teclado"ne1t/o-0leNPW
MM Proceso
)rom V Nnota1 R nota$P M $W
MM Re)orte
S@stem"o-t")rintlnNOPromedio, O R )romPW
iBN)rom U 1%"#P]
iBN)rom U 19P]
S@stem"o-t")rintlnNOE1celenteOPW
^ else ]
S@stem"o-t")rintlnNOA)ro0adoOPW
^
^else]
S@stem"o-t")rintlnNO/esa)ro0adoOPW
^
^
^
- 68 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
SEPTIMA SEMANA
SESIAN
1
ESTRUCTURA SELECTIIA MULTIPLE
TEMAS
Estructura selectiva mltiple SEGaN SEA
Manejo de rangos numricos
Evaluacin de valores carcter.
O=JETIIOS
Aplicar estructuras de seleccin mltiple SEGaN SEA a la solucin de
problemas.
Desarrollo de algoritmos que involucren estructuras de seleccin
mltiple.
- 69 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
ESTRUCTURA SELECTIIA MULTIPLE
En el s_itc; la expresin que se evalua no es una expresin booleana como
en el if-else, sino una expresin entera. Se ejecuta el bloque case cuyo valor
coincida con el resultado de la expresin entera de la clausula s_itc; . Se
ejecuta hasta que se encuentra una sentencia 0rea> o se llega al final del
s_itc;. Si ningn valor de case coincide con el resultado de la expresin
entera se ejecuta el bloque deBa-lt(si est presente). deBa-lt y 0rea> son
opcionales.
0e(in
case constanteT1,
sentenciaNsP
0rea>
case constanteT$,
sentenciaNsP
0rea>
case constanteT%,
sentenciaNsP
0rea>
" " "
" " "
deBa-lt,
sentenciaNsP
end
- 70 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
SEPTIMA SEMANA
SESIAN
$
ESTRUCTURA SELECTIIA MULTIPLE
TEMAS
Ejercicios con tablas de datos
Estructura Selectivas dobles y mltiples anidadas
O=JETIIOS
Definir controles Swing de tablas de datos JlistBox y JComboBox
Aplica controles de opciones List, choice-
Desarrollo de algoritmos que involucren estructuras de seleccin
mltiple.
- 71 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
Estr-ct-ra de Selecci&n M8lti)le SEGUN
La estructura de seleccin mltiple SEGUN permite elegir una ruta de entre varias rutas posibles,
usando
para ello una variable denominada selector. El selector se compara con una lista de constantes
enteras
o de carcter C1, C2, ..., Cn para cada una de las cuales hay una accin A1, A2, ..., An y:
# Si el selector coincide con una constante de la lista, se ejecuta la accin correspondiente a dicha
constante.
# Si el selector no coincide con ninguna constante de la lista, se ejecuta la accin Df
correspondiente
al SINO, si es que existe.
Las acciones A1, A2, A3, ..., An pueden ser acciones simples( una sola accin) o acciones
compuestas
(un conjunto de acciones).
En la Figura 5.3 se muestra el seudo cdigo de la estructura de seleccin m&ltiple.
Nota"- En el caso de acciones compuestas, estas no necesitan estar encerradas entre llaves.
ACA/EMIA /E COMPUTACIAN-ALGORITMIA
PROFESOR JAIIER JIMbNEG PACcECO %3
SEGUN ( selector )]
CASO C1 : accin A1
CASO C2 : accin A2
CASO C3 : accin A3
"
"
"
CASO Cn : accin An
SINO : accin Df
^
Fi(-ra '"% Estructura de seleccin mltiple: seudo cdigo
E+em)lo '"5: Resuelva el ejemplo 5.6 usando seleccin mltiple.
Algoritmo
INICIO
ENTERO numero
CA/ENA nombre
LEER numero
SEGUN(numero)]
CASO 1 , nombre = "Primavera"
CASO 2 : nombre = "Verano"
CASO 3 : nombre = "Otoo"
SINO , nombre = "nvierno"
^
IMPRIMIR nombre
FIN
'"5 E+ercicios
E+ercicio 1, Disee un algoritmo que califique el puntaje obtenido en el lanzamiento de tres dados
en
funcin a la cantidad seis obtenidos, de acuerdo a lo siguiente:
- Seis en los tres dados, excelente.
- Seis en dos dados, muy bien.
- Seis en un dado, regular.
- Ningn seis, psimo.
Al(oritmo
INICIO
// Declaracin de variables
ENTERO d1, d2, d3
// Entrada de datos
LEER d1, d2, d3
// Obtencin de la calificacin
ACA/EMIA /E COMPUTACIAN-ALGORITMIA
- 72 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
PROFESOR JAIIER JIMbNEG PACcECO %'
SI( d1 + d2 + d3 == 18 )
IMPRIMIR "Excelente"
SINO SI( d1+d2 == 12 & d1+d3 == 12 & d2+d3 == 12 )
IMPRIMIR "Muy bin"
SINO SI( d1 == 6 & d2 == 6 & d3 == 6 )
IMPRIMIR "Regular"
SINO
IMPRIMIR "Psimo"
FIN
E+ercicio $, Una compaa dedicada al alquiler de automviles cobra $30 hasta un mximo de 300
Km.
de distancia recorrida. Para ms de 300 Km. y hasta 1000 Km., cobra $30 ms un monto adicional
de $
0.15 por cada kilmetro en exceso sobre 300. Para ms de 1000 Km. cobra $30 ms un monto
adicional
de $ 0.10 por cada kilmetro en exceso sobre 1000. Los precios ya incluyen el 18% del impuesto
general
a las ventas, GV. Disee un algoritmo que determine el monto a pagar por el alquiler de un vehculo
y el
monto incluido del impuesto.
Al(oritmo
INICIO
// Declaracin de variables
REAL kilomrec, montofijo, montoadic, montopag, montoigv
REAL GV = 0.18
// Entrada de datos
LEER kilomrec
// Clculo de montos
montofijo = 30*kilomrec
SI( kilomrec <= 300 )
montoadic = 0
SINO SI( kilomrec <= 1000 )
montoadic = 0.15*(kilomrec-300)
SINO
montoadic = 0.15*700 + 0.10*(kilomrec-1000)
montopag = montofijo + montoadic
montoigv = GV*montopag /(1+GV)
// Salida de resultados
IMPRIMIR montoPag, montogv
FIN
E+ercicio %, Disee un algoritmo que determine quienes son contemporneos entre Juan, Mario y
Pedro.
Al(oritmo
INICIO
ENTERO juan, mario, pedro
LEER juan, mario, pedro
SI( juan == mario y mario == pedro )
IMPRIMIR "Los tres son contemporneos"
SINO SI( juan == mario )
IMPRIMIR "Juan y Mario son contemporneos"
SINO SI( juan == pedro )
IMPRIMIR "Juan y Pedro son contemporneos"
ACA/EMIA /E COMPUTACIAN-ALGORITMIA
PROFESOR JAIIER JIMbNEG PACcECO %.
SINO SI( mario == pedro )
IMPRIMIR "Mario y Pedro son contemporneos"
SINO
IMPRIMIR "Los tres tienen edades diferentes entre s"
FIN
E+ercicio 3, El promedio de prcticas de un curso se calcula en base a cuatro prcticas calificadas
de las
- 73 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
cuales se elimina la nota menor y se promedian las tres notas ms altas. Disee un algoritmo que
determine
la nota eliminada y el promedio de prcticas de un estudiante.
Al(oritmo
INICIO
REAL pc1, pc2, pc3, pc4, pcmenor, promedio
LEER pc1, pc2, pc3, pc4
// Determina la nota menor
pcmenor = pc1
SI( pc2 < pcmenor )
pcmenor = pc2
SI( pc3 < pcmenor )
pcmenor = pc3
SI( pc4 < pcmenor )
pcmenor = pc4
// Determina el promedio descontando la nota menor
promedio = (pc1 + pc2 + pc3 + pc4 - pcmenor )/3
IMPRIMIR promedio, pcmenor
FIN
E+ercicio ', Disee un algoritmo que lea tres longitudes y determine si forman o no un tringulo. Si
es un
tringulo determine de que tipo de tringulo se trata entre: equiltero (si tiene tres lados iguales),
issceles
(si tiene dos lados iguales) o escaleno (si tiene tres lados desiguales). Considere que para formar un
tringulo se requiere que: "el lado mayor sea menor que la suma de los otros dos lados".
Al(oritmo
INICIO
REAL L1, L2, L3, suma
LEER L1, L2, L3
// Determina el lado mayor
mayor = L1
SI( L2 > mayor )
mayor = L2
SI( L3 > mayor )
mayor = L3
// Determina la suma de los lados a excepcin del lado mayor
suma = L1 + L2 + L3 - mayor
// Determina de que tipo de tringulo se trata
SI( mayor < suma )]
SI( ( L1 == L2 ) y ( L2 == L3 ) )
ACA/EMIA /E COMPUTACIAN-ALGORITMIA
PROFESOR JAIIER JIMbNEG PACcECO %9
IMPRIMIR "Tringulo equiltero"
SINO SI( ( L1 == L2 ) o ( L1 == L3 ) o ( L2 == L3 ) )
IMPRIMIR "Tringulo issceles"
SINO
IMPRIMIR "Tringulo escaleno"
^
SINO
IMPRIMIR "No es un tringulo"
FIN
E+ercicio ., Disee un algoritmo que lea tres nmeros enteros y determine el menor valor positivo.
Si los
nmeros positivos son iguales, dar como menor a cualquiera de ellos.
Al(oritmo
INICIO
ENTERO a, b, c
LEER a, b, c
SI( a > 0 )] // Aqu a, b y c podran ser positivos
menor = a
SI( b > 0 y b < menor )
menor = b
- 74 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
SI( c > 0 y c < menor )
menor = c
IMPRIMIR menor
^
SINO SI( b > 0 )] // Aqu slo b y c podran ser positivos
menor = b
SI( c > 0 y c < menor )
menor = c
IMPRIMIR menor
^
SINO SI( c > 0 )] // Aqu slo c podra ser positivo
menor = c
IMPRIMIR menor
^
SINO
IMPRIMIR "No hay nmeros positivos"
FIN
E+ercicio 9, Disee un algoritmo que lea tres nmeros y los imprima de mayor a menor y de menor
a
mayor.
Al(oritmo
INICIO
REAL n1, n2, n3, mayor, menor, medio
LEER n1, n2, n3
// Determina el menor
menor = n1
SI( n2 < menor )
menor = n2
SI( n3 < menor )
ACA/EMIA /E COMPUTACIAN-ALGORITMIA
PROFESOR JAIIER JIMbNEG PACcECO %5
menor = n3
// Determina el mayor
mayor = n1
SI( n2 > mayor )
mayor = n2
SI( n3 > mayor )
mayor = n3
// Determina el medio
medio = n1+n2+n3-mayor-menor
// mprime en orden ascendente
IMPRIMIR menor, medio, mayor
// mprime en orden descendente
IMPRIMIR mayor, medio, menor
FIN
E+ercicio 5, Disee un algoritmo para obtener el grado de eficiencia de un operario de una fbrica
de
tornillos, de acuerdo a las siguientes condiciones, que se le imponen para un perodo de prueba:
- Menos de 200 tornillos defectuosos.
- Ms de 10000 tornillos producidos.
El grado de eficiencia se determina de la siguiente manera:
- Si no cumple ninguna de las condiciones, grado 5.
- Si slo cumple la primera condicin, grado 6.
- Si slo cumple la segunda condicin, grado 7.
- Si cumple las dos condiciones, grado 8.
Al(oritmo 1
INICIO
ENTERO torpro, tordef, grado
LEER torpro, tordef
// Determina el grado de eficiencia
SI( tordef < 200 )]
SI( torpro > 10000 )
- 75 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
grado = 8
SINO
grado = 6
^
SINO]
SI( torpro > 10000 )
grado = 7
SINO
grado = 5
^
IMPRIMIR grado
FIN
Al(oritmo $
ACA/EMIA /E COMPUTACIAN-ALGORITMIA
PROFESOR JAIIER JIMbNEG PACcECO %?
INICIO
ENTERO torpro, tordef, grado
LEER torpro, tordef
// Determina el grado de eficiencia
SI( tordef < 200 y torpro > 10000 )
grado = 8
SINO SI( tordef < 200 )
grado = 6
SINO SI( torpro > 10000 )
grado = 7
SINO
grado = 5
IMPRIMIR grado
FIN
E+ercicio ?, Se cuenta con los votos obtenidos por Juan, Pedro y Maria en una eleccin
democrtica a la
presidencia de un club. Para ganar la eleccin se debe obtener como mnimo el 50% de los votos
ms 1.
En caso que no haya un ganador se repite la eleccin en una segunda vuelta. Van a la segunda
vuelta
los dos que obtengan la ms alta votacin , los tres en caso de producirse un empate doble (entre
los
dos con menor votacin) o un empate triple. Disee un algoritmo que determine el resultado de la
eleccin.
Al(oritmo
INICIO
ENTERO vjuan, vpedro, vmaria
LEER vjuan, vpedro, vmaria
// Determina la votacin total
vtotal = vjuan + vpedro + vmaria
// Determina la votacin mxima
vmax = vjuan
SI( vpedro > vmax )
vmax = vpedro
SI( vmaria > vmax )
vmax = vmaria
// Determina el resultado de la eleccin
SI( vmax > vtotal/2 + 1 )] // Hay ganador
SI( vjuan == vmax )
IMPRIMIR "Gan Juan"
SINO SI( vpedro == vmax )
IMPRIMIR "Gan Pedro"
SINO
IMPRIMIR "Gan Mara"
^
SINO] // No hay ganador
SI( vjuan < vpedro @ vjuan < vmaria )
- 76 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
IMPRIMIR "Debe haber segunda vuelta entre Pedro y Mara"
SINO SI( vpedro < vjuan @ vpedro < vmaria )
IMPRIMIR "Debe haber segunda vuelta entre Juan y Mara"
SINO SI( vmaria < vjuan @ vmaria < vpedro )
IMPRIMIR "Debe haber segunda vuelta entre Juan y Pedro"
ACA/EMIA /E COMPUTACIAN-ALGORITMIA
PROFESOR JAIIER JIMbNEG PACcECO 3#
SINO
IMPRIMIR "Debe haber segunda vuelta entre los tres"
^
FIN
E+ercicio 1#, Disee un algoritmo que lea un nmero entero de 3 cifras, y forme el mayor nmero
posible
con las cifras del nmero ingresado. El nmero formado debe tener el mismo signo que el nmero
ingresado.
Al(oritmo
INICIO
ENTERO num1, num2, numaux, uni, dec, cen, menor, mayor, medio
LEER num1
SI( ( num1 >= 100 y num1 <= 999 ) y ( num1 >= -999 y num1 <= -100 ) )]
// Guarda el nmero en una variable auxiliar para preservar el signo
numaux = num1
// Cambia el signo de num1 en caso de ser negativo
SI( num1 < 0 )
num1 = -num1
// Determina las cifras del nmero
cen = num1/100
dec = (num1%100)/10
uni = (num1%100)%10
// Determina la cifra menor
menor = cen
SI( dec < menor )
menor = dec
SI( uni < menor )
menor = uni
// Determina la cifra mayor
mayor = cen
SI( dec > mayor )
mayor = dec
SI( uni > mayor )
mayor = uni
// Determina la cifra del medio
medio = cen+dec+uni-mayor-menor
// Forma el nuevo nmero
SI( numaux > 0 )
num2 = mayor*100 + medio*10 + menor
SINO
num2 = -1*(menor*100 + medio*10 + mayor*100)<
// mprime el nuevo nmero
IMPRIMIR num2
^
SINO
IMPRIMIR "El nmero no tiene tres cifras"
FIN
- 77 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
Unidad II
ALGORITMIA II
Primer Ciclo
Semestre - 1
- 78 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
PRIMERA SEMANA
SESIAN
1
Introd-cci&n a Se(-nda -nidad
TEMAS
Presentacin del curso
Forma de evaluacin
Repaso de estructuras de seleccin simple y mltiple
O=JETIIOS
Evaluar los conocimientos previos sobre seleccin simple y mltiple
- 79 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
PRIMERA SEMANA
SESIAN

$
ESTRUCTURAS /E REPETICION
TEMAS
Qu son las estructuras de repeticin?
Aplicaciones de las estructuras de repeticin
Tipos de estructura de repeticin
ntroduccin a la estructura de Repeticin :cILE
O=JETIIOS
Definir las estructuras de repeticin.
Definir y aplicar los tipos de estructuras de repeticin.
Desarrollo de algoritmos que involucren el uso de estructuras de
repeticin.
- 80 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
6UE SON LAS ESTRUCTURAS /E REPETICION
Normalmente, las sentencias de un programa son ejecutadas en el orden en el
que aparecen. Cada sentencia es ejecutada una y solamente una vez. El
lenguaje Java, como la mayora de los lenguajes, proporciona sentencias que
permiten realizar una tarea una y otra vez hasta que se cumpla una
determinada condicin, dicha tarea viene definida por un conjunto de
sentencias agrupadas en un bloque.
APLICACIONES /E LAS ESTRUCTURAS /E REPETICION
Las aplicaciones de las estructuras de aplicacin se utiliza para realizar un
proceso repetidas veces. Se denomina tambin lazo o loop. Se ejecutar
mientras se cumpla unas determinadas condiciones. Hay que prestar especial
atencin a los bucles infinitos, hecho que ocurre cuando la condicin de
finalizar. Las sentencias iterativas son BorF _;ile y do..._;ile
TIPOS /E ESTRUCTURA /E REPETICION
ESTRUCTURA /EL =UCLE FOR
for(inicializacin; condicin; incremento)
sentencia;
- 81 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
ESTRUCTURA /EL =UCLE :cILE
while (condicin)
sentencia;
ESTRUCTURA /EL =UCL /O :cILE
do{
sentencia;
}while(condicin);
- 82 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
TIPOS /E ESTRUCTURA /E REPTICION
Los tipos de estructura de repeticin son las siguientes:
sentencia for
La sentencia $%ile
La sentencia do!!!$%ile
La sentencia brea'
La sentencia continue
INTRO/UCCION A LA ESTRUCTURA /E REPETICION :cILE
A la palabra reservada _;ile le sigue una condicin encerrada entre
parntesis. El bloque de sentencias que le siguen se ejecuta siempre que la
condicin sea verdadera
- 83 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
SEGUN/A SEMANA
SESIAN
1
ESTRUCTURAS /E REPETICION :cILE
TEMAS
ntroduccin al manejo de Estructuras Repetitivas
Sustento para el manejo de Estructuras Repetitivas Estructura de
Repeticin MENTRAS :cILE
O=JETIIOS
- 84 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
Reconocer las estructura de repeticin y su uso.
Desarrollar ejercicios con el uso de la estructura repetitiva
:cILE"
INTRO/UCCION AL MANEJO /E ESTRUCTURAS REPETITIIAS
Este tipo de estructuras marcan como orden de ejecucin la reiteracin de una
serie de acciones basndose en un bucle.
Un =UCLE (loop, en ingls) es un trozo de algoritmo cuyas instrucciones son
repetidas un cierto nmero de veces, mientras se c-m)le una cierta condicin
que ha de ser claramente especificada. La condicin podr ser verdadera o
falsa, y se comprobar en cada )aso o iteraci&n del bucle.
Bsicamente, existen tres tipos de estructuras repetitivas; los bucles
Omientras"""O (o "while"), los bucles Ore)etir""" mientras H-eO (o "do... while") y
los bucles OdesdeO (o "bucles for"). Vamos a verlas todas dentro de un ejemplo
para clarificar los dos prrafos iniciales, que quedan tan bonitos como oscuros
para quien nunca ha visto un bucle (ni es verde ni tiene antenas, lo siento %-
D ).
- 85 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
Slo un poco de teora ms antes de pasar a los ejemplos para cada una de las
estructuras repetitivas; hay que hacer notar que todo bucle consta de tres
partes bsicas, a saber:
/ecisi&n, donde se evala la condicin y, en caso de ser cierta, se
ejecuta el...
C-er)o del 0-cle, son las instrucciones que queremos ejecutar
repetidamente un cierto nmero de veces.
Salida del 0-cle, es la condicin que dice cundo saldremos de hacer
repeticiones ("mientras protestes, seguirs fregando platos", en cuanto
dejas de protestar, se acab fregar ms platos).
Una forma de controlar un bucle es mediante una variable llamada
CONTA/OR, cuyo valor se incrementa o decrementa en una cantidad
constante en cada repeticin que se produzca.
Tambin, en los bucles suele haber otro tipo de variables llamadas
ACUMULA/OR, cuya misin es almacenar una cantidad variable resultante de
operaciones sucesivas y repetidas. Es como un contador, con la diferencia que
el incremento/decremento es 4aria0le
SUSTENTO PARA EL MANEJO /E ESTRUCTURAS REPETITIIAS
ESTRUCTURA /E REPETICION MIENTRAS :cILE
En este tipo de estructura, el cuerpo del bucle (ya sabeis, las acciones que
deben ejecutarse repetidas veces) se repite MENTRAS se cumple una
determinada condicin, que especificamos entre parntesis.
Su estructura, genricamente, es esta:
mientras(condicin) hacer
accin 1
........
accin N
fin mientras
- 86 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
SEGUN/A SEMANA
SESIAN
$
ESTRUCTURAS /E REPETICION /O :cILE
TEMAS
Estructura de Repeticin /O :cILE
Seguimiento de Pseudo cdigo de repeticin.
Generacin de Nmeros aleatorios (Mat;"randomNP)
O=JETIIOS
Definir la estructura de repeticin /O :cILE"
- 87 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
Desarrollo de algoritmo con el uso de la estructura repetitiva
/O :cILE"
ESTRUCTURA DE REPETCON DO WHLE
la condicin do"""_;ile est al final del bucle, por lo que el bucle se ejecuta por
lo menos una vez tal como se ve en la figura. do marca el comienzo del bucle y
_;ile el final del mismo
do{
sentencia;
}while(condicin);
- 88 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
SEGUIMIENTO /E PSEU/OCO/IGO /E REPTICION
Es similar al bucle while pero con la particularidad de que el control est al final
del bucle (lo que hace que el bucle se ejecute al menos una vez,
independientemente de que la condicin se cumpla o no). Una vez ejecutados
los statements, se evala la condicin: si resulta tre se vuelven a ejecutar las
sentencias incluidas en el bucle, mientras que si la condicin se evala a false
finaliza el bucle.
do {
statements
} while (booleanExpression);
GENERACION /E NUMEROS ALEATORIOS
Uso de Math.random() para generar nmeros aleatorios. Ejemplo de rango 0 -
limiteSuperior y de rango limitenferior - limiteSuperior.
import java.util.Random;
class random{
public static void main(String args[]){
for(int i = 1; i <= 5; i++){
System.out.println("Numero aleatorio " + i + " : " +
(double)Math.random());
}
System.out.println();
for(int i = 1; i <= 5; i++){
System.out.println("Numero aleatorio multiplicado * 1 y
aplicando redondeo " + i + " : " + Math.round(Math.random()*1));
}
System.out.println();
for(int i = 1; i <= 5; i++){
System.out.println("Numero aleatorio multiplicado * 10 y
aplicando redondeo " + i + " : " + Math.round(Math.random()*10));
}
System.out.println();
for(int i = 1; i <= 5; i++){
System.out.println("Numero aleatorio multiplicado * 100 y
aplicando redondeo " + i + " : " + Math.round(Math.random()*100));
}
System.out.println();
for(int i = 1; i <= 5; i++){
- 89 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
System.out.println("Numero aleatorio multiplicado * 1000 y
aplicando redondeo " + i + " : " + Math.round(Math.random()*1000));
}
//FORMULA PARA SOLO DELMTAR RANGO SUPEROR
Math.floor(result * range) + 1
//
System.out.println();
for(int i = 1; i <= 5; i++){
int iSuperior = 8;
double dResult = Math.random();
dResult = Math.floor(dResult * (iSuperior + 1));
System.out.println("Entre 0 y " + iSuperior + " aleatorio " + i
+ " : " + dResult);
if(dResult > iSuperior) System.out.println("Rango erroneo");
}
//DELMTAR RANGOS NFEROR Y SUPEROR
//
System.out.println();
for(int i = 1; i <= 5; i++){
int inferior = 5;
int superior = 8;
int numPosibilidades = (superior + 1) - inferior;
double aleat = Math.random() * numPosibilidades;
aleat = Math.floor(aleat);
aleat = (inferior + aleat);
System.out.println("Entre " + inferior + " y " + superior + "
aleatorio " + i + " : " + aleat);
if((aleat < inferior) || (aleat > superior))
System.out.println("Rango erroneo");
}
}
^
- 90 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
TERCERA SEMANA
SESIAN
1
CONTA/ORES < ACUMULA/ORES
TEMAS
Operaciones de ncremento y Decremento.
Variables Locales y Globales, definicin y aplicacin
O=JETIIOS
Definir la estructura de repeticin /O :cILE"
Desarrollo de algoritmo con el uso de la estructura
repetitiva /O :cILE"
OPERACIONES /E INCREMENTO < /ECREMENTO
Los operadores ++ (incremento) y -- (decremento) se utilizan para aumentar o
disminuir en 1 el valor de la variable entera. Es posible utilizar:
i++ Da el valor de i y luego le suma 1
++i Suma 1 a i y luego da el valor de i
i-- Da ek valor de i y luego le resta 1
--i Resta 1 a i y luego da el valor de i
El uso de los operadores de incremento y decremento pueden dificultar la
lectura del cdigo.
IARIA=LES LOCALES < GLO=ALES /EFINICION < APLICACION
IARIA=LE LOCAL
En el lenguaje Java, las variables locales se declaran en el momento en el que
son necesarias. Es una buena costumbre inicializar las variables en el
momento en el que son declaradas. Veamos algunos ejemplos de declaracin
de algunas variables
- 91 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
int x=0;
String nombre="Angel";
double a=3.5, b=0.0, c=-2.4;
boolean bNuevo=true;
int[] datos;
IARIA=LE GLO=AL
Todas las funciones incluyendo main(), o init()(pero dento de la clase global)
etc, a este tipo de variables se les llama variables globales y podran ser usadas
por cualquier funcin o procedimiento del programa.
Ejemplo:
Por ejemplo:
static int a = 3;
static void metodoGlobal() {
// implementacin del mtodo
}
TERCERA SEMANA
SESIAN
$
SERIES NUMERICAS
TEMAS
Contadores y Acumuladores
Series Numricas
O=JETIIOS
Definir Contador, acumulador.
Desarrollar Ejercicios de Aplicacin de Contadores y
Acumuladores
Crear Series Numricas
- 92 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
CONTA/ORES < ACUMLA/ORES
Ac-m-lador,
Es una variable, que , como su nombre lo indica se encarga de acumular
valores. Esto se vuelve muy til, por ejemplo, cuando queremos encontrar la
suma de los nmeros del 0 al 9, en el acumulador, vamos guardando los
valores de dichas cifras. Puede ser tanto real como entera. Su valor inicial, en
la mayora de los casos es cero.
Contador,
Es una variable de tipo entero, que nos ayuda, en el programa a contabilizar el
nmero de ejecuciones de una misma accin, de un grupo de alumnos etc. Un
acumulador tiene tres valores distintos:
Valor nicial: es el valor con el cual iniciamos nuestro contador.
Generalmente es cero. Esta asignacin puede hacerse cuando se declara la
variable.
Valor Final: despus de la ejecucin del ciclo, el valor del contador, ser
distinto a su valor inicial, este puede ser mayo o menor que el mismo, todo
depende si fue una cuenta creciente o decreciente.
Valor de Cambio: Es el valor ConstanteF en el cual se ir incrementando
nuestro contador, este puede ser positivo o negativo; es decir, si la cuanta se
realiza de manera ascendente o descendente.
SERIES NUMERICAS
- 93 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
CUARTA SEMANA
SESIAN
1
ESTRUCTURA /E REPETICION /ES/E
TEMAS
Estructuras de Repeticin (FOR)
Aplicacin de la Estructura NFOR)
O=JETIIOS
Definir la estructura de control FOR y su parmetros
Aplicar estructuras de repeticin FOR a la solucin de
problemas.
- 94 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
ESTRUCTURA FOR
Esta sentencia se encuentra en la mayora de los lenguajes de programacin.
El bucle Bor se emplear cuando conocemos el nmero de veces que se
ejecutar una sentencia o un bloque de sentencias, tal como se indica en la
figura. La forma general que adopta la sentencia Bor es
for(inicializacin; condicin; incremento)
sentencia;
El primer trmino iniciali(acin, se usa para inicializar una variable ndice, que
controla el nmero de veces que se ejecutar el bucle. La condicin representa
la condicin que ha de ser satisfecha para que el bucle contine su ejecucin.
El incremento representa la cantidad que se incrementa la variable ndice en
cada repeticin
APLICACIAN /E LA ESTRUCTURA FOR
- 95 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
Desarrollar un programa para encontrar la suma de los nmeros pares e
impares
comprendidos entre 1 y num. El valor de num es el dato de entrada.
import java.util.Scanner;
public class Ejemplo4 {
public static void main(String[] args) {
// Variables del Programa
Scanner teclado = new Scanner(System.in);
int num, sumaPares, sumampares;
// Lectura de num
System.out.println("ngrese el valor de num: ");
num = teclado.nextnt();
// nicializacin de variables
sumaPares = 0;
sumampares = 0;
// Proceso
for( int k = 1; k <= num; k++ ){
if( (k%2) == 0 )
sumaPares += k;
else
sumampares += k;
}
// Reporte
System.out.println("Suma de Pares: " + sumaPares);
System.out.println("Suma de mpares: " + sumampares);
}
}
- 96 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
CUARTA SEMANA
SESIAN
$
ESTRUCTURA /E REPETICION /ES/E
TEMAS
Estructura de Repeticin (FORP
Seguimiento de Pseudo cdigo de repeticin NFOR)
O=JETIIOS
Usar seguimiento de Pseudo-cdigo en las estructuras
repetitivas FOR
- 97 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
ESTRUCTURA /E REPETICION NFORP
SEGUIMIENTO /E PSEU/OCO/IGO /E REPETICION
El bucle Bor se utiliza cuando el nmero de iteraciones del bucle se conoce de
manera anticipada.
El bucle for tiene la siguiente sintaxis:
for( expr_inicializacin; expr_evaluacin; expt_incremento/decremento )
begin
// nstrucciones
end
Se compone de las siguientes tres partes separadas por punto y coma:
Expresin de inicializacin: La variable numrica se inicializa con un valor.
Expresin de evaluacin: La condicin se comprueba al comienzo de la
repeticin del bucle. Cuando la expresin es falsa, el bucle finaliza.
Expresin de incremento/decremento: El valor de la variable se incrementa
decrementa.
- 98 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
SEYTA SEMANA
SESIAN
1
SALTOS /E ESTRUCTURA /E REPETICION d =REAe CONTINUE
TEMAS
Salto de ciclos repetitivos usando 0rea> @ contin-e
Diferencias entre el 0rea> y el contin-e.
O=JETIIOS
Definir los saltos de estructuras de repeticin 0rea> @
contin-e.
Distinguir entre el 0rea> y el contin-e"
Desarrollar Ejercicios de Aplicacin de los saltos de ciclos
repetitivos
- 99 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
SALTO /E CICLOS REPETITIIOS USAN/O =REAe
SENTENCIA =REAe
La sentencia de 'break' es de tipo de control de bucles. Dentro de la iteracion
en un bucle, de cualquiera de los tipos (while, do-while, for), el uso de esta
sentencia rompe la iteracion de dicho bucle.
for(int j = 0; j<10; j++){
sentencia 1;
sentencia 2;
sentencia 3;
break;
};
Este bucle deberia ejecutarse 10 veces, desde j = 0 hasta j = 9, sin embargo la
utilizacin de la sentencia break, rompe la iteracion del bucle, de tal manera
que tras la primera ejecucin el bucle acaba habiendose ejecutado una sola
vez.
SENTENCIA CONTINUE
Del mismo modo que en un bucle se puede desear romper la iteracin, tambin
se puede desear continuar con el bucle, pero dejando pasar una determinada
iteracin.
Se puede usar la sentencia continue dentro de los bucles para saltar a otra
sentencia, aunque no puede ser llamada fuera de un bucle.
Tras la invocacin a una sentencia continue se transfiere el control a la
condicin de terminacin del bucle, que vuelve a ser evaluada en ese
momento, y el bucle contina o no dependiendo del resultado de la evaluacin.
En los bucles for adems en ese momento se ejecuta la clusula de incremento
- 100 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
(antes de la evaluacin). Por ejemplo el siguiente fragmento de cdigo imprime
los nmeros del 0 al 9 no divisibles por 3:
for ( int i = 0 ; i < 10 ; i++ ) {
if ( ( i % 3 ) == 0 )
continue;
System.out.print( " " + i );
}
/IFERENCIA ENTRE EL =REAe < CONTINUE
La sentencia break nos permite salirnos del bloque de sentencias (encerrado
entre llaves) o el bucle que estamos ejecutando, sin ejecutar las sentencias que
resten para el final o las restantes iteraciones del bucle.
La sentencia Continue solo es vlida para bucles, sirve para no ejecutar las
sentencias que restan para la finalizacin de una iteracin de ese bucle,
continuando despus con las siguientes iteraciones del bucle.
- 101 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
SEYTA SEMANA
SESIAN
$
=REAe CONTINUE EN :cILE < /O :cILE
TEMAS
Uso del 0rea> y el contin-e en estructuras condicionales y
estructuras repetitivas MIENTRAS"
Ejercicios de Aplicacin con las estructuras condicinale y
repetitivas.
O=JETIIOS
Aplicar 0rea> y el contin-e en estructuras condicionales y
estructuras repetitivas mientras.
USO /EL =REAe < EL CONTINUE EN ESRUCTURAS ON/ICIONALES <
ESTRUCTURAS REPETITIIAS MIENTRAS
USO /EL =REAe
El enunciado 0rea> slo causa la salida de la estructura _;ile, doM_;ile o Bor
que lo encierra directamente.
- 102 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
Para salirnos de una serie de estructuras anidadas se usa el enunciado 0rea>
etiquetado:
La ejecucin del programa contina con el primer enunciado despus del
enunciado compuesto , el cual consiste en una serie de enunciados encerrados
en llaves y precedidos por una etiqueta.
!! Enncia"o compesto rotla"o o eti#eta"o
sto),
Bor Nint Bila V 1W Bila SV 1#W BilaRRP ]
Bor Nint col-mna V 1W col-mna SV 'W col-mnaRRP ]
iB NBila VV 'P
0rea> sto)W
S@stem"o-t")rintlnNfFila es menor H-e 'gPW
^
^
S@stem"o-t")rintlnNfLa Bila es 'gPW
USO /EL CONTINUE
El enunciado continue contina con la siguiente iteracin de la estructura while,
do/whileo for que lo encierra directamente.
El enunciado continue etiquetado se salta el resto de los enunciados del
cuerpo de la estructura de iteracin que lo contiene y cualquier cantidad de
estructuras de iteracin que la encierren y contina con la siguiente iteracin de
la estructura de repeticin etiquetada.
!! Enncia"o compesto rotla"o o eti#eta"o
sto),
Bor Nint Bila V 1W Bila SV 1#W BilaRRP ]
Bor Nint col-mna V 1W col-mna SV 'W col-mnaRRP ]
iB NBila VV 'P
contin-e sto)W
S@stem"o-t")rintlnNfFila es distinta H-e 'gPW
^
^
S@stem"o-t")rintlnNfLa Bila es 1#gPW
ESTRUCTURAS REPETITIIAS MIENTRAS
Permite al programador especificar que una accin se repita en tanto se
cumpla una condicin.
_;ile NcondicionP sentenciaW
_;ile NcondicionP]
sentenciaT1W
- 103 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
!!!
sentenciaTnW
^
E+em)lo, Encontrar la primera potencia
de 2 mayor que 1000.
int )rod-cto V $W
_;ile N)rod-cto SV 1###P
)rod-cto V $ Z )rod-ctoW
EJERCICIOS CON/ICIONLES /E LAS ESTRUCTURAS CON/ICIONALES <
REPEITIIAS
SEPTIMA SEMANA
SESIAN
1
METO/OS
- 104 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
TEMAS
Qu es un Mtodo?
Aplicaciones
Sintaxis de un Mtodo
Manejo de Parmetros dentro de un Mtodo
Paso de Parmetros por Valor y por Referencia
Ejercicios de Aplicacin
O=JETIIOS
Definir que es un mtodo,
Distinguir entre los parmetros dentro de un mtodo, por valor y
por referencia.
Desarrollo de programas mediante descomposicin modular.
D6UE ES UN METO/OE
Los mtodos son funciones que pueden ser llamadas dentro de la clase o por
otras clases. El constructor es un tipo especfico de mtodo que siempre tiene
el mismo nombre que la clase.
APLICACIONES
SINTAYIS /EL METO/O
Similarmente a la implementacin de una clase, la implementacin de un
mtodo consiste en dos partes, la declaracin y el cuerpo del mtodo.
- 105 -
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
declaraci&ndeM7todo {
c-er)odeM7todo
}
MANEJO /E PARAMETROS /ENTRO /E UN METO/O
La clase Graphics tiene un mtodo definido drawString, que es lo
suficientemente flexible para dibujar cualquier cadena de caracteres en
determinada posicin x, y, dependiendo del valor de los )arCmetros
enviados al mtodo en ese momento.
Entonces, el nombre del mtodo es drawString o drawRect o drawOval,
etc. Y lo que est entre parntesis son los )arCmetros.
Los )arCmetros son los datos de entrada que son necesarios para que
el mtodo funcione y pueda procesar la informacin.
PASO /E PRAMETROS POR IALOR < REFERENCIA
PASO /E PARAMETROS POR IALOR
los valores de los parmetros son copias de los valores que especifica el
que lo invoca
tipos primitivos no cambian
los objetos pueden cambiar su estado se )asa )or 4alor la reBerencia
PASO /E PARAMETROS POR REFERENCIA
En Java, todos los argumentos de tipos primitivos deben pasarse por valor,
mientras que los objetos deben pasarse por referencia. Cuando se pasa un
- 106 -
Datos de entrada
(parmetros)
Dato de salida
(valor de retorno)
Mtodo
SISTEMAS E INFORMTICA
La mejor propuesta en Sistemas con visin de Negocios
objeto por referencia, se est pasando la direccin de memoria en la que se
encuentra almacenado el objeto.
Si se modifica una variable que haya sido pasada por valor, no se modificar la
variable original que se haya utilizado para invocar al mtodo, mientras que si
se modifica una variable pasada por referencia, la variable original del mtodo
de llamada se ver afectada de los cambios que se produzcan en el mtodo al
que se le ha pasado como argumento.
EJERCICIOS /E APLICACION
- 107 -