Académique Documents
Professionnel Documents
Culture Documents
de Algoritmos y
Estructura de Datos
del I ciclo de la
escuela profesional
ALGORITMOS Y de Ingeniera de
Sistemas.
ESTRUCTURA DE
DATOS
Contiene fundamentos de programacin a partir de la elaboracin de
algoritmos, estructuras secuenciales, estructuras selectivas, estructuras
repetitivas y estructura de datos arreglos
Qu es un algoritmo?
Es un mtodo para resolver un problema mediante una secuencia de instrucciones, cada una de
las cuales especifica las operaciones que debe realizar la computadora.
Caractersticas de un algoritmo
Las caractersticas fundamentales que debe cumplir todo algoritmo son:
El proceso de un algoritmo
La definicin de un algoritmo debe describir tres partes: Entrada, proceso y salida.
Entrada Salida
Proceso
Ejemplo 01:
Leer la base y altura de un paralelogramo. Calcular su rea.
1
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Ejemplo 02:
Leer el radio de una circunferencia. Calcular su rea y longitud.
Palabras reservadas.
Identificadores.
Variables.
Constantes.
Instrucciones.
Palabras reservadas
Palabras utilizadas por los algoritmos o lenguajes de programacin para representar sentencias,
rdenes, etc.
Ejemplos:
inicio. sientonces-sino.
Fin. mientras.
hacer. desde.
2
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Identificadores
Son nombres usados para identificar a los objetos y dems elementos de un programa: variables,
constantes, operadores, funciones, procedimientos, etc. Existen reglas para construir
identificadores validos y son los siguientes:
Variables
Una variable es un objeto a quien se le asigna un valor y cuyo valor puede cambiar durante el
desarrollo del algoritmo o ejecucin del programa. Si una variable est compuesto por dos
palabras, stas pueden ser juntas o unidos por el subrayado bajo, guin bajo o subguin _ .
Nota:
No se deben utilizar como nombres de variables (identificadores) palabras reservadas del
algoritmo o del lenguaje de programacin.
Ejemplos:
Nota Apellido_paterno precios
Nombre apellido_materno hora
Apellidos Nota1 prom
nota_oral Contador1 pi
Los nombres de las variables elegidas deben ser significativos y tener relacin con el objeto que
representan, como pueden ser los casos siguientes:
Constantes
Una constante toma o recibe un valor que no cambia durante el desarrollo del algoritmo o la
ejecucin del programa.
Instrucciones
Las instrucciones especifican las operaciones o acciones que deben ser realizadas o ejecutadas.
3
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Expresiones
Son combinaciones de constantes, variables, smbolos de operacin, parntesis y nombres de
funciones especiales, que cumplen determinadas reglas.
Ejemplos:
a+(b*3)/c
5 * a * b / ( c + d)
1. EXPRESIONES ARITMTICAS
Son anlogas a las formulas matemticas. Las variables y constantes son numricas (real o
entera) y las operaciones son las aritmticas.
Operadores Aritmticos
Significado Operador Algebraico Operador Algoritmico
Suma + +
Resta - -
Multiplicacin x *
Divisin real / /
Divisin entera / div
Exponenciacin -,**,^
Modulo (resto o mod
residuo)
Tabla 1: Operadores Aritmticos
A continuacin se mostrarn las equivalencias que debe conocer entre expresiones algebraicas y
expresiones aritmticas.
Ejemplos:
Reglas de prioridad
Las expresiones que tienen dos o ms operandos en una expresin se evalan, en general, segn
el siguiente orden.
1. Las operaciones que estn encerradas entre parntesis se evalan primero. Si existen
diferentes parntesis anidados (internos unos a otros), las expresiones ms internas se
evalan primero.
2. Las operaciones aritmticas dentro de una expresin suelen seguir el siguiente orden de
prioridad.
Nota:
En caso coincidir varios operadores de igual prioridad en una expresin o subexpresin encerrada
entre parntesis, el orden de prioridad en este caso es de izquierda a derecha.
a) 15 + 9 * 2 6 * 2 ^ 2
b) -8 / 4 * 6 + 3 ^ 2 * (10 / 5)
Nota: Hacer uso de un tiempo de 5 minutos para resolver el inciso a) y b) del ejemplo 1.
Terminado de hacerlo revizar sus respuestas con la solucin que a continuacin se
presenta.
Solucin:
a) 15 + 9 * 2 6 * 2 ^ 2 b) -8 / 4 * 6 + 3 ^ 2 * (10 / 5)
15 + 9 * 2 6 * 4 -8 / 4 * 6 + 3 ^ 2 * 2
15 + 18 - 24 =9 -8 / 4 * 6 + 9 * 2
-2 * 6 + 18 = 6
a) 7(a+b)
b) 8x + 9y + 3z
c) a2 + 2a 3
d) x2 y2
e) p+q
r+s
t
f) a (cd)
b
Nota: Hacer uso de un tiempo de 5 minutos para resolver los incisos del a) al f) del ejemplo
2. Terminado de hacerlo revizar sus respuestas con la solucin que a continuacin se
presenta.
Solucin:
a) 7(a+b) 7 * (a + b)
b) 8x + 9y + 3z 8*x+9*y+3*z
c) a2 + 2a 3 a^2+2*a-3
d) x2 y2 x^2y^2
e) p +q (p + q) / (r + s / t)
r+s
t
f) a (cd) a/b*c*d
b
5
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
el siguiente ejemplo:
Ejemplo: 9 div 2 = 4
Dividendo Divisor
9 2
8 4
1
Residuo Cociente
Ejemplos:
a. 15 div 6 = 2 b. 14 div 2 = 7 c. 0 div 3 = 0
d. 7 div 9 = 0 e. 3 div 3 = 1 f. 2 div 5 = 0
Reglasdeladivisinrealy entera:
Los operandos pueden ser enteros(E) o reales(R).
Divisinreal Divisinentera
Entero E/E=R E div E = E
E/R=R E div R = No Vlido
R/E=R resultados R div E = No Vlido
Real R/R=R R div R = No Vlido
operandos
Residuo (mod)
El operador mod se utiliza para obtener el residuo o resto de una divisin entera. Igual que para el
operador div, para poder hallar el residuo de una divisin utilizando el operador mod, los
operandos deben ser exclusivamente enteros.
Reglasdelresiduo:
Residuo
E mod E = E
E mod R = No Vlido
R mod E = No Vlido
R mod R = No Vlido
Ejemplos:
a. 15 mod 6 = 3 b. 14 mod 2 = 0 c. 19 mod 3 = 1
d. 7 mod 9 = 7 e. 3 mod 3 = 0 f. 2 mod 5 = 2
2. EXPRESIONES LGICAS
Una expresin lgica es una expresin que solo puede tomar dos valores: verdad y falso. Las
expresiones lgicas se forman combinando constantes lgicas, variables lgicas y otras
expresiones lgicas, utilizando los operadores relacionales (de relacin o comparacin) y los
operadores lgicos not, and y or.
Operadores de relacin
Permiten realizar comparaciones de valores de tipo numrico o carcter. Los operadores de
relacin sirven para expresar las condiciones en los algoritmos. El resultado de las operaciones de
comparacin ser verdadero o falso.
6
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Operadores de Relacin
Significado Operador Algebraico Operador Algoritmico
Menor que > <
Mayor que < >
Igual que = =
Menor o igual que <=
Mayor o igual que >=
Distinto de o <>
Diferente de
Tabla 2: Operadores de Relacin
Ejemplos:
Si P = 7 * 2 y Q = 3 ^ 2
Para realizar comparaciones de datos tipo carcter, se requiere una secuencia de ordenacin de
los caracteres, similar al orden creciente o decreciente. Esta ordenacin suele ser alfabtica, tanto
maysculas como minsculas, y numrica, considerndolas de modo independiente.
Nota
Para tener completa seguridad en la ordenacin de los caracteres, ser preciso consultar el
cdigo de caracteres de su computadora, normalmente el ASCII (American Standar Code for
Information Interchange) o bien el EBCDIC (Extended Binary-Coded Decimal Interchange Code)
utilizado en computadras IBM diferentes a los modelos PC y PS/2.
Operadores lgicos
Los operadores lgicos o volanos son not (no), and (y) y or(o). Las definiciones de las
operaciones no, y, o se resumen en unas tablas conocidas como las tablas de la verdad.
7
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
P no P P Q PYQ P Q POQ
V F V V V V V V
F V V F F V F V
F V F F V V
F F F F F F
Nota:
Siendo P y Q expresiones booleanas, V valor verdadero, F valor falso.
Negacin = not
Disyuncin = and
Conjuncin = or
Ejemplos:
(7 < 12) y (9 < 21) verdad
(9 > 15) y (3 < 4) falso
(6 = 41) o (13 > 8) verdad
(16 > 8) o (2 > 5) verdad
no (18 > 6) falso
Funciones internas
Las operaciones que se requieren en los programas exigen en numerosas ocasiones, adems de
las operaciones aritmticas bsicas, ya tratadas, un nmero determinado de operadores
especiales que se denominan funciones internas, incorporadas o estndar.
Por ejemplo, la funcin raiz2 calcula la raz cuadrada de un nmero positivo, la funcin abs
devuelve el valor absoluto de un nmero, la funcin cuadrado devuelve el valor de un nmero
elevado al cuadrado. Existen otras funciones que se utilizan para determinar las funciones
trigonomtricas.
8
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Las funciones aceptan argumentos reales o enteros y sus resultados dependen de la tarea que
realice la funcin:
Ejemplos:
Tabla 5: Ejemplos
9
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Tipos de Datos
El primer objetivo de toda computadora es el manejo de la informacin o datos. Estos datos
pueden ser las cifras de ventas de una bodega, tickets para un encuentro deportivo, ingreso diario
de una empresa o las calificaciones de un saln de clase. Los algoritmos y programas
correspondientes operan sobre datos.
Los tipos de datos definen un conjunto de valores que puede almacenar una variable, junto con un
conjunto de operaciones que se pueden realizar sobre esa variable.
Datos numricos
El tipo numrico es el conjunto de los valores numricos. Estos pueden representarse en dos
formas distintas:
Tipo entero
Es el subconjunto finito de los nmeros enteros, no tienen componentes fraccionarios o decimales,
y pueden ser negativos o positivos.
Ejemplos:
6 -9
-20 11
5 19
15 -1
Tipo reales
Subconjunto de los nmeros reales, siempre tiene un punto decimal y pueden ser positivos o
negativos. Constan de un entero y una parte decimal.
Ejemplos:
9.9 12.24
-123.11 0.89
1470.274 -0.99
54.77 3.0
Nota:
Existe un tipo de representacin denominado notacin exponencial o cientfica y que se utiliza
para nmeros muy grandes o muy pequeos.
Ejemplo:
367520100000000000000
10
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
3.675201 x 1020
Ejemplos:
Datos lgicos
Es aquel dato que solo puede tomar uno de dos valores:
(false) Ejemplo:
Cuando se le pide si un valor entero es par, la respuesta ser verdadera o falsa, segn sea
impar
o par.
Los caracteres que reconocen las diferentes computadoras no son estndar, sin embargo
la mayora reconoce los siguiente caracteres alfabticos, numricos y especiales:
Carcter : a b m
p q M
Z Y N
11
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
FUNDAMENTOS DE PROGRAMACIN
LABORATORIO N 01
12
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
13
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Para representar un algoritmo se debe utilizar algn mtodo que permita independizar dicho
algoritmo del lenguaje de programacin elegido. Ello permitir que un algoritmo pueda ser
codificado indistintamente en cualquier lenguaje. Para conseguir este objetivo se precisa que el
algoritmo sea representado grfica o numricamente, de modo que las sucesivas acciones no
dependan de la sintaxis de ningn lenguaje de programacin, sino que la descripcin pueda servir
fcilmente para su transformacin en un programa, es decir, su codificacin.
Diagrama de Flujo.
Diagrama estructurado o N S (Nassi Schneiderman).
Pseudocdigo.
Diagrama de Flujo
Un diagrama de flujo es una de las tcnicas de representacin de algoritmos ms antigua y a la
vez ms utilizada, aunque su empleo ha disminuido considerablemente. Un diagrama de flujo es
un diagrama que utiliza los smbolos (cajas) estndar y que tiene los pasos del algoritmo escritos
en esas cajas unidas por flechas, denominadas lneas de flujo, que indican la secuencia en que se
deben ejecutar.
Entrada / Salida Sirve para cualquier ingreso de datos desde los perifricos
de entrada o muestra informacin en algn perifrico de
salida.
Proceso Cualquier tipo de operacin que pueda originar cambio de
valor, formato o posicin, operaciones aritmticas, etc.
14
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
a. inicio/fin.
b. proceso.
c. decisin.
d. conectores.
e. entrada/salida.
f. direccin del flujo.
01
02 05
03 06
04 07
15
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Lo primero que debemos hacer para realizar un algoritmo, es analizar el problema; reconocer las
variables que representarn a los datos de entrada, dentro del proceso de clculo y los datos de
salida, que vamos a utilizar, procesar y encontrar.
Anlisis
Para este ejemplo hemos identificado nuestras variables a trabajar:
a. base = b
b. altura = h
c. rea = a
d. permetro = p
Todo algoritmo se debe comenzar con un inicio y finalizar con un fin, para ello se utilizar el
smbolo terminal. Para lograr explicar con mayor claridad nuestro algoritmo, hemos incluido
nmero de lnea. Donde la explicacin por lnea es la siguiente:
La lnea 01, se utiliza el smbolo terminal junto con la palabra inicio que representa el
comienzo del algoritmo.
La lnea 02, se utiliza el smbolo proceso donde a las variables b y h se le asignan los
nmeros 8 y 2 respectivamente.
La lnea 04, se utiliza el smbolo conector de pgina, donde sirve para enlazar dos partes
cualesquiera en la misma pgina del diagrama. Para poder enlazar los conectores
podemos utilizar nmeros o smbolos diferentes a los utilizados en el algoritmo.
La lnea 06, se utiliza el smbolo entrada/salida, en este caso este smbolo representa la
salida de la informacin obtenida por el algoritmo: el rea y el permetro.
La lnea 07, se utiliza el smbolo terminal junto con la palabra fin que representa el fin del
algoritmo.
Nota:
El diagrama de flujo nos da una idea del orden de ejecucin de las actividades en el tiempo.
Primero cargamos los datos de entrada, luego hacemos las operaciones necesarias y por ltimo
mostramos los resultados.
Ejemplo 2:
El diagrama de flujo del ejemplo anterior tambin se puede llevar acabo sin el uso de conectores
de pgina o de pginas diferentes, en el siguiente diagrama se muestra cmo sera. Pero para
este ejemplo haremos una variacin en nuestro ejemplo. En el ejemplo 1, los datos de la base y
altura eran conocidos 8cm y 2cm. En este ejemplo los datos de la base y altura, no se conocen y
se solicitan para resolver el problema; para solicitar los datos de entrada utilizaremos el smbolo
entrada/salida.
16
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Nota:
En el ejemplo 1, los valores de b y h se conocen, por ello se utiliza el smbolo proceso. Pero para
el ejemplo 2, los valores no se conocen por tanto tienen que ser ingresados, para realizar ello en
algoritmos se utiliza el smbolo entrada/salida.
Para poner en prctica los nuevos conocimientos adquiridos, resolveremos los siguientes
ejemplos:
Ejemplo 4:
Una tienda de ropa exclusiva compra en Lima 50 pantalones blueyn a un costo de S/. 45 y aqu
en Chimbote los oferta a S/. 60. Cunto es la ganancia?.
Nota: Hacer uso de un tiempo de 10 minutos para resolver cada ejemplo. Terminado de
hacerlo revizar sus respuestas con la solucin que se presentar en la siguiente sesin.
Diagrama Estructurado o N S
Se trata de un mtodo de representacin de algoritmos en forma de bloque compacto. Es un
diagrama algo similar a los diagramas de flujo (convencionales) en el que se omiten las flechas, y
las figuras que se usan son rectngulos contiguos.
Como se ve en la solucin del ejemplo 1, en este diagrama se utilizan slo rectngulos. Si se dan
cuenta, en un diagrama estructurado existe un rectngulo de declaracin de variables, donde se
colocan las variables que se utilizarn en el algoritmo y a la vez tambin podemos inicializar
variables con sus valores dados.
Para poner en prctica los nuevos conocimientos adquiridos, resuelvan los ejemplos 3 y 4 de la
parte de diagrama de flujo.
Nota: Hacer uso de un tiempo de 10 minutos para resolver cada ejemplo. Terminado de
hacerlo revizar sus respuestas con la solucin que se presentar en la siguiente sesin.
18
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Pseudocdigo
El pseudocdigo es una herramienta de programacin que naci como un lenguaje en que las
instrucciones se escriben en palabras similares al ingles o espaol, que facilitan tanto la escritura
como la lectura de programas. En esencia el pseudocdigo se puede definir como un lenguaje de
especificacin (descripcin) de algoritmos.
tipo_de_datos : Lista_de_identificadores
const
Lista_de_identificadores = valor
Instruccin 1
Instruccin 2
Instruccin 3
.
.
.
.
Instruccin n
fin
19
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
algoritmo Ejemplo 1
var
entero : b, h, a, p
Inicio
b =8
h =2
a = b * h
p = 2*(b+h)
escribir ( a, p )
fin
Como se ve en esta solucin del ejemplo 1, en pseudocdigo, se coloca el nombre del algoritmo,
en la seccin de declaracin de variables se escriben a la parte izquierda los tipos de datos y a la
derecha las variables que pertenecen a ese tipo de dato. Para este ejemplo solo tenemos el tipo
de dato entero. Se tiene un cuerpo del programa donde se escriben todas las instrucciones
necesarias para resolver el problema.
algoritmo Ejemplo 2
var
entero : b, h, a, p
Inicio
leer (b)
leer (h)
a = b * h
p = 2*(b+h)
escribir ( a, p )
fin
Para poner en prctica los nuevos conocimientos adquiridos, resolveremos los ejemplos 3 y 4, de
la parte de diagrama de flujo.
Nota: Hacer uso de un tiempo de 10 minutos para resolver cada ejemplo. Terminado de
hacerlo revizar sus respuestas con la solucin que se presentar en la siguiente sesin.
20
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
FUNDAMENTOS DE PROGRAMACIN
EJERCICIOS DE ALGORITMOS
Ejercicios:
1. Hallar el rea un cuadrado.
2. Hallar el perimetro de un rectangulo.
3. Hallar el rea y perimetro de un rombo.
4. Hallar el rea de un trapecio.
5. Hallar el volumen de un cono.
Tarea
Realizar los 5 ejercicios utilizando los diagramas de Flujo, N S y Pseudocdigo.
21
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Estructuras Secuenciales.
Estructuras Selectivas.
a. Simples (si entonces - fin_si / if then end_if)
b. Dobles (si entonces sino fin_si / if then else end_if)
c. Mltiples
Estructuras Repetitivas.
a. Mientras (while)
b. Hacer_Mientras (do - While)
c. Desde / Para (for)
Estructura Secuencial
La estructura secuencial es aquella en la que una instruccin (accin) sigue a otra en secuencia.
Las tareas a realizar en cada instruccin se suceden de tal modo que la salida de una es la
entrada de la siguiente y as sucesivamente hasta el final del proceso.
22
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
inicio
Instruccin 1
Instruccin 2
Instruccin 3
.
.
.
.
Instruccin n
fin
Figura 3. Pseudocdigo de una estructura secuencial
Para poder conocer cmo se realiza un algoritmo utilizando los mtodos para representar
algoritmos, procederemos a realizar tres ejercicios.
EJERCICIOS
1. Escribir un algoritmo que determine el pago por la compra de dos televisores LCD de 21''
marca SONY, si cada uno cuesta 2 400 soles.
2. Encontrar el valor de la funcin: x = 3y + z
3. Escribir un algoritmo en el cual se ingresen dos nmeros. Se desea calcular y mostrar la
suma y resta.
Solucindelosejemplos
Ejercicio01:
Inicio
CostoTV = 2400
CantidadTV = 2
Escribir (Pago)
Fin
Figura 4. Diagrama de Flujo del ejercicio 01
23
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Ejercicio 01
Inicio CostoTV=2400, CantidadTV=2, Pago
Pago = CostoTV * CantidadTV
Escribir (Pago)
Fin
algoritmo Ejercicio 01
var // seccin de declaraciones de variables
entero: CantidadTV
real: CostoTV, Pago
Inicio // cuerpo del programa
CostoTV = 2400
CantidadTV = 2
Pago = CostoTV * CantidadTV
Escribir (Pago)
fin
Ejercicio02:
Inicio
Leer (y,z)
x=3*y+z
Escribir (x)
Fin
Figura 7. Diagrama de Flujo del ejercicio 02
24
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Ejercicio 02
Inicio x, y, z
Leer (y,z)
x=3*y+z
Escribir (x)
Fin
algoritmo Ejercicio 02
var // seccin de declaraciones de variables
entero: x, y, z
Inicio // cuerpo del programa
Leer ( y , z )
x=3*y+z
Escribir ( x )
fin
Ejercicio03:
Inicio
Leer (num1,num2)
Fin
25
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Ejercicio 03
Inicio num1, num2, Suma, Resta
Suma = num1 + num2
Resta = num1 - num2
Escribir ('La suma es : ', Suma)
Escribir ('La resta es : ', Resta)
Fin
algoritmo Ejercicio 03
var // seccin de declaraciones de variables entero:
num1, num2, Suma, Resta
Inicio // cuerpo del programa
Leer ( num1, num2 ) Suma =
num1 + num2
Resta = num1 - num2
Escribir ('La suma es : ', Suma)
Escribir ('La resta es : ', Resta)
fin
26
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
FUNDAMENTOS DE PROGRAMACIN
LABORATORIO N 02
Estructura secuencial
Ejercicios:
1. Encontrar el valor de la funcin: r = 5m2 + n2
pq r
2
2. Encontrar el valor de la funcin: f =
ab c
2
3. Encontrar el valor de la funcin: z =
4. Escribir un algoritmo en el cual se ingresen dos nmeros. Se desea calcular y mostrar la
suma, resta, multiplicacin, divisin real, divisin entera y residuo de dichos nmeros.
5. Escribir un algoritmo en el cual se ingresen cuatro nmeros. Calcular y mostrar la suma de
los dos primeros nmeros y el producto de tercero y cuarto.
6. Realizar un algoritmo que lea cuatro valores numricos e informar su multiplicacin y
promedio.
7. Realizar un algoritmo que permita informar el rea y permetro de cuadrado.
8. Realizar un algoritmo que permita informar el rea de un tringulo y circunferencia.
9. Determinar la hipotenusa de un tringulo rectngulo conocidas las longitudes de los
catetos.
10. Escribir un algoritmo que pida el ingreso del precio de un artculo y la cantidad que lleva el
cliente. Mostrar lo que debe abonar.
11. Hacer un programa que tome como dato de entrada, la longitud de un dimetro de una
circunferencia y nos calcule e imprima la longitud de la circunferencia, el rea del crculo y
el volumen de la esfera que se corresponden con dicho dimetro.
4 3
Formulas: L = 2r ; A = r 2 ; V= r
3
12. Calcular la formula y = 100( 1 + x + 2x2 + 3x3), para un x ingresado por teclado.
27
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
a) z = 4a + b
b) z = 3b 2c
c) z = 4
2x 3
d) El doble de la cantidad 3x 1 dividida por un medio de la cantidad 2x + 3.
14. Calcular y mostrar el sueldo neto de un empleado si se ingresan las horas trabajadas, el
sueldo por hora, tasa de descuento del seguro social.
15. Pasar un valor expresado en segundos a un perodo expresado en das, horas, minutos y
segundos.
17. Emplee la ley de Ohm para desarrollar un algoritmo para calcular el voltaje a partir de los
valores de la corriente y la resistencia ingresados por el usuario.
donde: v = voltaje
i = corriente Formula: v = i * r
r = resistencia
18. Una alcanca contiene n1 billetes de 200 soles, n2 billetes de 100 soles, n3 billetes de 50
soles, n4 billetes de 20 soles, n5 billetes de 10 soles, n6 monedas de 5 soles, n7 monedas
de 2 soles, n8 monedas de sol, n9 monedas de 50 centavos, n10 monedas de 20 centavos
y n11 monedas de 10 centavos. Cunto dinero hay en la alcanca expresado en soles y en
centavos?. n1, n2, n3,n11 debe ingresar por teclado.
19. Si la alcanca del problema anterior contuviera solamente n monedas de un sol. Cuntos
billetes de 200, de 100, de 50, de 20, de 10, contendra?. Asimismo monedas de 5, de 2 y
de un sol?.
20. Escriba un programa que acepte como entrada un nmero de cinco dgitos, lo separe en
sus distintos dgitos y los imprima en sentido contrario a lo ingresado. (Sugerencia: emplee
los operadores de divisin y de mdulo) Por ejemplo, si el usuario tecla 42339, el programa
deber imprimir: 93324.
Tarea
Realizar los 20 ejercicios utilizando los diagramas de Flujo, N S y Pseudocdigo.
28
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Estructuras Selectivas
No todos los problemas pueden resolverse empleando estructuras secuenciales. Cuando hay que
tomar una decisin aparecen las estructuras selectivas. En nuestra vida diaria se nos presentan
situaciones donde debemos decidir:
Las estructuras selectivas se utilizan para tomar decisiones lgicas; de ah que se suelen
denominar tambin estructuras condicionales, de decisin o alternativas.
En las estructuras selectivas se evala una condicin y en funcin del resultado se realiza una
opcin u otra. Las condiciones se especifican usando expresiones lgicas.
1. Simples.
2. Dobles.
3. Mltiples.
4. Anidadas.
En la figura anterior se puede observar lo siguiente: el rombo representa la condicin. Hay dos
opciones que se pueden tomar. Si la condicin es verdadera se sigue el camino del verdadero, si
la condicin es falsa se sigue el camino del falso. Por el camino del verdadero pueden existir
varias operaciones, entradas y salidas que se pueden realizar, inclusive ya veremos que pueden
haber otras estructuras condicionales o selectivas.
29
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
si condicin entonces
instruccin 1
instruccin 2
.
.
instruccin n
fin_si
Ejemplo 1:
Ingresar el sueldo de una persona, si supera los S/. 3000 soles, mostrar un mensaje en pantalla
indicando que debe abonar impuestos.
30
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
algoritmo Ejemplo1
var
real: sueldo
inicio
leer (sueldo)
si (sueldo > 3000) entonces
fin_si
fin
31
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Ejemplo 2:
Realizar un algoritmo que permita el ingreso de un nmero entero, si es positivo debe mostrar el
mensaje que es un nmero positivo, elevarlo al cuadrado y mostrar dicho resultado. Al terminar el
algoritmo debe decir fin del algoritmo.
inicio
leer (num)
num > 0
mostrar 'Numero
positivo'
Cuad = num ^ 2
mostrar (Cuad)
fin
32
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de
Datos
algoritmo Ejemplo 2
var
entero: num, Cuad
inicio
leer (num)
si ( num > 0 ) entonces
mostrar(Nmero positivo)
Cuad = num ^ 2
mostrar ( Cuad )
fin_si
Mostrar ('Fin del algoritmo')
fin
33
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
La estructura selectiva doble permite elegir entre dos opciones o alternativas, en funcin del
cumplimiento de una determinada condicin, de tal forma que, si se cumple, se ejecutan las
acciones del primer bloque; si no se cumple, se ejecutan las acciones del segundo bloque.
La representacin grfica de una estructura selectiva doble en los mtodos para representar a los
algoritmos es el siguiente:
si condicin entonces
instruccin 1
instruccin 2
.
.
instruccin n
si_no
instruccin 1
instruccin 2
.
.
instruccin m
fin_si
De acuerdo a la condicin podemos realizar actividades por el lado verdadero o por el lado falso,
PERO NUNCA se realizan las actividades de ambos lados al mismo tiempo.
34
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Ejemplo 3:
Realizar un algoritmo que lea dos nmeros enteros distintos entre s y mostrar por pantalla el
mayor y el menor. Al final del algoritmo mostrar tambin el nombre del creador del algoritmo.
35
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
algoritmo Ejemplo3
var
entero : num1, num2
inicio
leer (num1, num2)
si (num1 > num2) entonces
escribir(El mayor es, num1, y el menor es, num2)
si_no
escribir(El mayor es, num2, y el menor es, num1)
fin_si
escribir(Mi nombre es Maverick)
fin
Figura 24. Pseudocdigo del ejemplo 3
Ejemplo de autoaprendizaje:
Resuelva en diagrama de flujo, estructurado y pseudocdigo.
Ejemplo 4:
Realizar un algoritmo que permita el ingreso de tres notas de un alumno. Calcular la nota
promedio y si el promedio es mayor o igual a 10.5 mostrar un mensaje Aprobado o
Desaprobado.
36
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
FUNDAMENTOS DE PROGRAMACIN
TAREA N 1
Estructura selectiva simple
Ejercicios:
1. Un cobrador de impuestos tiene la meta de cobrar 1000 soles, realiza tres cobranzas; si
el dinero obtenido supera la meta mostrar un mensaje respectivo. Al final del
algoritmo mostrar el monto cobrado.
2. Una persona realiza 5 compras en un supermercado. Existe la oferta de que si la compra
supera los 550 soles, se le hace un descuento del 10%. Mostrar el monto a pagar.
3. Leer un tiempo en segundos y determinar cuantos minutos hay, Al final del algoritmo
mortrar los segundos sobrantes.
Tarea
Realizar los ejercicios utilizando los diagramas de Flujo, N S y Pseudocdigo.
37
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
FUNDAMENTOS DE PROGRAMACIN
LABORATORIO N 03
Estructura selectiva doble
Ejercicios:
Ejercicio 1
var
entero : calif1, calif2, calif3
real : prom
inicio
Leer calif1, calif2, calif3
prom = (calif1 + calif2 + calif3)/3
si prom >= 10.5 entonces
Escribir 'ALUMNO APROBADO'
si no
Escribir 'ALUMNO DESAPROBADO'
fin_si
fin
38
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
3. En un almacn se hace un 20% de descuento a los clientes cuya compra supere los $1000
Cual ser la cantidad que pagara una persona por su compra?
Ejercicio 3
var
real : compra, desc, tot_pag
inicio
Leer compra
si compra > 1000 entonces
desc = compra * 0.20
si no
desc = 0
fin_si
tot_pag = compra - desc
Mostrar tot_pag
fin.
4. Hacer un algoritmo que calcule el total a pagar por la compra de camisas. Si se compran
tres camisas o mas se aplica un descuento del 20% sobre el total de la compra y si son
menos de tres camisas un descuento del 10%.
5. En la empresa Toyota del Per a los clientes se les ofrece los siguientes descuentos en
base al precio del auto que se quiere comprar.
7. Realizar un algoritmo que lea dos nmeros enteros diferentes y los imprima en forma
ascendente
Ejercicio 7
var
entero : num1, num2
inicio
Leer num1, num2
si num1 > num2 entonces
Imprimir 'El mayor es: ', num1 , ' y el menor es: ', num2
si no
Imprimir 'El mayor es: ', num2 , ' y el menor es: ', num1
fin_si
fin
39
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
8. Realizar un algoritmo que muestre cual es la edad mayor de las edades de Antony y
Ruben
Ejercicio 9
var
entero : opcion
real : cant_dolares, cant_soles, Total
inicio
Mostrar 'MENU'
Mostrar '1. Convertir Dolares a Soles'
Mostrar '2. Convertir Soles a Dolares'
Mostrar 'Elija la opcin (1 2) : '
Leer opcion
si opcion = 1 entonces
Leer cant_dolares
Total = 2.80 * cant_dolares
Mostrar 'El total es : ', Total, ' Nuevo Soles'
si no
Leer cant_soles
Total = cant_soles / 2.83
Mostrar 'El total es : ', Total, ' Dolares Americanos'
fin_si
fin
10. Del ejercicio anterior la compra = 2.83 y la venta = 2.80 de dolares siempre sern los
mismos si ejecutamos el algoritmo siempre, pero si pasa un tiempo y estos valores
cambian este algoritmo ya no ser de utilidad. Modificar o agregar las instrucciones
necesarias para nos pueda ser util este algoritmo siempre.
Tarea
Resolver los ejercicios propuestos utilizando el Diagrama de Flujo, N S y Pseudocdigo.
40
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
41
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
En el lugar donde aparece la palabra expresin pondremos lo que nosotros queremos evaluar;
puede ser una variable, una instruccin o cualquier cosa que tome diferentes valores.
En el lugar de <valor1> o <caso1>, <valor2> o <caso2>, ..., <valor n> o <caso n> pondremos los
diferentes valores que pueda tomar la decisin, segn los cuales el programa debe hacer una u
otra cosa. Pueden existir tanto valores como a nosotros nos convenga. Esta estructura es muy til
en el momento en el que debemos tomar diferentes decisiones de una misma condicin.
Ejemplo5:
Realizar un algoritmo que lea un nmero que represente el da de la semana y diga qu da es,
teniendo en cuenta lo siguiente: (Lunes=1, Martes=2, ..., Domingo=7).
42
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
algoritmo Ejemplo5
var
entero : da
inicio
leer (da)
en caso (da) hacer
1: escribir(Lunes)
2: escribir(Martes)
3: escribir(Mircoles)
4: escribir(Jueves)
5: escribir(Viernes)
6: escribir(Sabado)
7: escribir(Domingo)
fin_caso
fin
Ejemplodeautoaprendizaje:
Resuelva en diagrama de flujo, estructurado y pseudocdigo.
Ejemplo6:
Escribir un algoritmo que solicite el ingreso de dos nmeros y a continuacin un operador
aritmtico (+, -, *, /). El algoritmo debe calcular el resultado de la operacin seleccionada.
43
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
La estructura selectiva anidada llamada tambin estructura de decisin anidada, viene hacer una
estructura si-entonces que puede contener otra estructura si-entonces, y sta a su vez a otra
estructura si-entonces, y as sucesivamente cualquier nmero de veces; dentro de cada
estructura pueden existir diferentes instrucciones o acciones.
44
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
si condicin entonces
si condicin entonces
instruccin 1
instruccin 2
......
instruccin n
fin_si
si_no
si condicin entonces
instruccin 1
instruccin 2
......
instruccin m
si_no
instruccin 1
instruccin 2
......
instruccin m
fin_si
fin_si
Ejemplo7:
Realizar un algoritmo que permita el ingreso de tres notas de un alumno. Calcular la nota
promedio e imprima alguno de estos mensajes:
a. Si el promedio est entre 20 y 16 mostrar Alumno Excelente
b. Si el promedio est entre 15 y 11 mostrar Alumno Regular
c. Si el promedio est entre 10 y 6 mostrar Alumno Malo
d. Si el promedio est entre 5 y 0 mostrar Alumno Psimo
45
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de
Datos
algoritmo Ejemplo7
var
entero : n1, n2, n3, prom
inicio
leer (n1, n2, n3)
prom = (n1+n2+n3) / 3
si (prom<=5 y prom>=0) entonces
escribir(Alumno Pesimo)
else
si (prom<=10) entonces
escribir(Alumno Malo)
else
si (prom<=15) entonces
escribir(Alumno Regular)
else
si (prom<=20) entonces
escribir(Alumno Excelente)
else
escribir(Promedio desconocido)
fin_si
fin_si
fin_si
fin_si
fin
46
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
FUNDAMENTOS DE PROGRAMACIN
LABORATORIO N 04
Estructuras selectivas mltiples
Ejercicios:
Ejercicio 1
var
carcter : vocal_min, vocal_may
inicio
Mostrar 'Ingrese una vocal minscula : '
Leer vocal_min
en_caso (vocal_min)
'a' : Mostrar 'A'
'e' : Mostrar 'E'
'i' : Mostrar 'I'
'o' : Mostrar 'O'
'u' : Mostrar 'U'
sino : Mostrar 'Error no es vocal minscula'
fin_caso
fin
Valor Estacin
1 Verano
2 Otoo
3 Invierno
4 Primavera
47
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Valor Color
1 Rojo
2 Verde
3 Ambar
Tarea:
Resolver los siguientes ejercicios en Pseudocdigo.
48
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
FUNDAMENTOS DE PROGRAMACIN
LABORATORIO N 05
Estructuras selectivas anidadas
Ejercicios:
2. Leer un nmero entero y decir si es positivo par, positivo impar, negativo par, negativo
impar cero.
3. Realizar un algoritmo que lea dos nmeros enteros y determinar si son iguales o
diferentes, si son diferentes mostrar tambin quien es el mayor y menor.
4. Determinar cual es el numero mayor de tres nmeros enteros ingresados por teclado.
90 100 A
80 89 B
70 79 C
60 69 D
Menos de 60 E
49
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
y = x 2 + 2x 3 s -3 <= x <= 2
y = 5x + 7 s 2 < x <= 10
y=0 s x <= -3 x > 10
X2 si(x mod 4) = 0
X/6 si(x mod 4) = 1
f(x) X si(x mod 4) = 2
X3 + 5 si(x mod 4) = 3
10. Escriba un programa que calcule el precio del boleto de ida y vuelta en ferrocarriles,
conociendo la distancia del viaje de ida y el tiempo de estancia. El precio por kilmetro
es de $0.17. Se sabe adems que si el nmero de das de estancia es superior a 7 y la
distancia total (ida y vuelta) a recorrer es superior a 800 Km. el boleto tiene un
descuento del 30%.
Tarea:
Resolver los siguientes ejercicios en Pseudocdigo.
50
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Estructuras Repetitivas
Las computadoras estn diseadas para aquellas aplicaciones en las cuales una operacin o
conjunto de ellas deben repetirse muchas veces. Un tipo muy importante de estructura es el
algoritmo necesario para repetir una o varias acciones por un nmero determinado de veces, a
est estructura se la llama Estructura Repetitiva.
Las estructuras repetitivas se utilizan cuando se desea que una instruccin o bloque de
instrucciones se repita un nmero determinado de veces o hasta que una condicin de
terminacin se cumpla.
Las estructuras que repiten una secuencia de instrucciones un nmero determinado de veces se
denominan bucles, y se llama iteracin al hecho de repetir la ejecucin de una secuencia de
acciones. Iterar es repetir una vez el bucle.
El cuerpo del bucle: Es el grupo de instrucciones que se van a repetir. Dentro del cuerpo
del bucle debe existir una instruccin que modifique la condicin lgica de terminacin.
Las sentencias de inicializacin. Son instrucciones que inicializan contadores y
acumuladores.
Las condiciones para la terminacin del bucle: Expresiones lgicas que controlan la
terminacin del bucle.
Para poder entender cmo funciona un proceso repetitivo, se necesita conocer el concepto de dos
expresiones: Qu es un contador? y Qu es un acumulador?
CONTADOR
En un proceso repetitivo cuya funcin es contar los sucesos o acciones internas del bucle, como
pueden ser el nmero de iteraciones del bucle, la cantidad de elementos que tiene un archivo, un
vector, una matriz, etc. Una forma de controlar un bucle es mediante un contador.
Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante o
fija en cada iteracin.
La forma de representar un contador es:
contador = contador 1
La expresin anterior se debe interpretar como asignar a la variable contador el valor que tenia
anteriormente ms uno o menos uno, dependiendo del caso si se quiere incrementar o
decrementar.
51
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Nota:
En todo contador es necesario que exista una instruccin que inicializa la variable que va a tener
la funcin de contador y esta variable puede ser cualquier identificador.
10
Nota:
Un contador puede ser positivo (incrementos, uno a uno) o negativo (decrementos, uno a uno). Un
contador tambin puede incrementar o decrementar de dos en dos, tres en tres, cuatro en cuatro y
as sucesivamente, dependiendo de la tarea que est realizando el bucle.
57
52
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
ACUMULADOR
Un acumulador es una variable cuya misin es almacenar cantidades variables. Realiza la misma
funcin que un contador pero con la diferencia de que el incremento o decremento es variable y
no constante como en el contador.
S = S + valorVariable
Nota:
En todo acumulador es necesario que exista una instruccin que inicializa la variable que va a
tener la funcin de acumulador y esta variable puede ser cualquier identificador.
Ejemplo 5:
Calcular el promedio de notas de 10 alumnos, primero debemos utilizar una variable acumulador
para ir sumando las 10 notas (cantidades variables) y luego dividir este valor entre diez. La
variable S va a tener la funcin de ser el acumulador.
S=0
leer(nota)
S=S+nota
Prom=S/10
En su forma ms tpica y bsica, esta estructura requiere una variable entera que cumple la
funcin de un contador de vueltas. En la seccin indicada como inicializacin, se suele colocar
el nombre de la variable que har de contador, asignndole a dicha variable un valor inicial. En la
seccin de condicin se coloca la condicin que deber ser verdadera para que el ciclo contine
(en caso de falso el ciclo se detendr). Y finalmente, en la seccin modificacin se coloca una
instruccin que permite modificar el valor de la variable que hace de contador (para permitir que
alguna vez sea falsa).
1era Etapa (c=1): Cuando el ciclo comienza antes de dar la primera vuelta, la variable de
inicializacin toma el valor indicado en la seccin de inicializacin.
1era Etapa
54
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
2da Etapa
3era. Etapa (c=c+1): Al finalizar de ejecutarse el bloque de instruccines del bucle, la ejecucin
de la estructura repetitiva se regresa a la seccin de modificacin. Se incrementa en una unidad
en contador.
3era Etapa
55
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
4ta Etapa
Analicemos el ejemplo:
La variable c toma inicialmente el valor 1.
Se controla automticamente el valor de la condicin: como c vale 1 y esto es menor que
50, la condicin da verdadero.
Como la condicin fue verdadera, se ejecutan la(s) instruccion(es).
Al finalizar de ejecutar todas las instrucciones, se retorna a la instruccin c = c + 1, por lo
que la variable c se incrementa en uno.
Se vuelve a controlar automticamente si c es menor o igual a 50. Como ahora su valor es
2 y sigue siendo menor que 50, se ejecuta nuevamente el bloque de instrucciones e
incrementa nuevamente la variable del contador c.
El proceso se repetir hasta que la variable c sea incrementada al valor 51. En ese
momento la condicin ser falsa, el ciclo se detendr y saldr del bucle repetitivo.
La variable c puede ser inicializada y finalizar en cualquier valor. Adems, no es obligatorio que la
instruccin de modificacin sea un incremento de tipo contador c = c + 1. Puede ser tambin c = c
+ 2, en lugar de c = c + 1, el valor de c ser incrementado de a 2 en cada vuelta, y no de a uno.
En este caso, esto significar que el ciclo no efectuar las 50 vueltas sino solo 25 Por qu?
56
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Analicemos el ejemplo:
La variable c toma inicialmente el valor 100.
El valor de la condicin es c >= 1.
La variable c decrementa de dos en dos.
Esto quiere decir que el bucle se repite 50 veces, que comienza en un valor de contador =
100, decrementa de dos en dos, hasta que la condicin es falsa.
estructura repetitiva
desde/para
modificacin
condicin
inicializacin
57
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Ejemplo 1:
Realizar un algoritmo que permita hallar la suma de los 10 primeros nmeros enteros positivos, y
su promedio.
58
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
algoritmo Ejemplo1
var
entero: c , suma
real: prom
inicio
suma = 0
desde c = 1 hasta 10 inc 1 hacer
suma = suma + c Cuerpo del bucle
fin_desde
prom = suma/10
escribir(La suma es : ,suma)
escribir(El promedio es : ,prom)
fin
Figura 42. Pseudocdigo del ejemplo 1
Nota:
En Pseudocdigo si la instruccin de incremento es en uno, se puede obviar la instruccin inc 1, y
solamente se puede colocar: desde c = 1 hasta 10 hacer . Porque en algoritmo se
sobrentiende que aumenta en 1.
Ejemplo 2:
Realizar un algoritmo que permita hallar la suma y promedio de 20 nmeros enteros ingresados
por teclado.
59
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
algoritmo Ejemplo2
var
entero: n, c, suma
real: prom
inicio
suma = 0
desde c = 1 hasta 20 inc 1
leer(n)
Cuerpo del bucle
suma = suma + n
fin_desde
prom = suma/20
escribir(La suma es : ,suma)
escribir(El promedio es : ,prom)
fin
Figura 45. Pseudocdigo del ejemplo 2
Ejemplos de autoaprendizaje:
Resuelva en diagrama de flujo, estructurado y pseudocdigo.
Ejemplo 3: Realizar un algoritmo que me permita leer 10 nmeros positivos y negativos, e imprima
solamente los nmeros positivos.
Ejemplo 4:
Realizar un algoritmo que me permita leer 20 nmeros e imprimir cuntos son positivos, negativos
y neutros.
Dato: Neutro se le conoce al cero 0
60
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
FUNDAMENTOS DE PROGRAMACIN
Ejercicios:
1. Hallar la suma de los 50 primeros nmeros enteros positivos.
2. Hallar la suma y promedio de los 35 primeros nmeros enteros positivos pares.
3. Hallar la suma y promedio de los 70 primeros nmeros enteros positivos impares.
4. Hallar la suma y promedio de los nmeros enteros positivos comprendidos entre 100 y 200.
Tarea
Realizar los 4 ejercicios utilizando los diagramas de Flujo, N S y Pseudocdigo.
61
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Cuando una instruccin Hacer-Mientras se ejecuta, lo primero que sucede es la ejecucin del
bucle (todas las instrucciones) y a continuacin se evala la expresin booleana de la condicin.
Si se evala como verdadera, el cuerpo del bucle se repite y se vuelve a evaluar la condicin, si
sigue siendo verdadera se seguir repitiendo el bucle hasta que la condicin sea falsa.
Dentro del bucle existir una instruccin que en un cierto momento har que la condicin sea
falsa.
estructura repetitiva
hacer/mientras
hacer
instruccin 1
instruccin 2
.
.
instruccin n
mientras (condicin)
62
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Ejemplo 5:
En el curso de Algoritmos y Diagramacin existen 40 alumnos, de los cuales se tiene el promedio
de la Primera Unidad. Se pide realizar un algoritmo que permita hallar el promedio general de
estos alumnos.
Solucin
algoritmo Ejemplo5
var
entero: nota, c, suma
real: prom
inicio
c=0
suma = 0
hacer
c=c+1
leer(nota) Cuerpo del bucle
suma = suma + nota
mientras (c < 40)
prom = suma/c
escribir(El promedio general es : ,prom)
fin
64
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Ejemplo 6:
Se desea contabilizar cuntos nmeros son positivos, negativos y neutros del ingreso continuo de
nmeros enteros. Este proceso re repite hasta que el usuario pulse la tecla N al mensaje en
pantalla Desea Continuar[s/n]:.
Solucin
Para la solucin del problema se va a necesitar de tres contadores, que realizarn la accin de
contar cuntos nmeros son positivos, negativos y neutros se ingresarn por teclado, de una serie
de nmeros.
cc : contador de ceros
cp : contador de positivos
cn : contador de negativos
Adems, utilizaremos estructuras selectivas anidadas, con las que haremos la comprobacin de
cules nmeros son iguales a cero, positivos y negativos. Y de acuerdo al resultado de la
condicin, los contadores (cc, cp y cn) incrementarn su valor.
Terminadas de realizar todas las condiciones, se preguntar al usuario si Desea continuar [s/n]
ingresando ms nmeros, para ello utilizaremos una variable de tipo carcter, llamado opc. El cul
almacenar el carcter de s de s continuo, o n de no continuo ingresando valores. De
acuerdo a la respuesta seguiremos o terminamos el bucle.
65
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
66
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de
Datos
algoritmo Ejemplo6
var
entero: n, cc, cp, cn
caracter: opc
inicio
cc = 0
cp = 0
cn = 0
hacer
leer (n)
si (n=0) entonces
cc = cc + 1
sino
si (n>0) entonces
cp = cp + 1
sino
cn = cn + 1
fin_si
fin_si
escribir(Desea continuar : [s/n] :)
escribir(opc)
mientras (opc = s)
escribir(Cantidad de ceros : ,cc)
escribir(Cantidad de positivos : ,cp)
escribir(Cantidad de ceros : ,cn)
fin
67
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Ejemplo de autoaprendizaje:
Resuelva en diagrama de flujo, diagrama estructurado y pseudocdigo.
Ejemplo 7:
En una campaa mdica de medicin de presin, se pide que se ingresen todas las edades de los
pacientes que sern atendidos. Se solicita que se calcule la mayor y menor edad ingresada. El
ingreso acaba cuando se ingrese un valor 0.
68
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
FUNDAMENTOS DE PROGRAMACIN
Ejercicios:
1. Hallar la suma de los 50 primeros nmeros enteros positivos.
2. Hallar la suma y promedio de los 35 primeros nmeros enteros positivos pares.
3. Hallar la suma y promedio de los 70 primeros nmeros enteros positivos impares.
4. Hallar la suma y promedio de los nmeros enteros positivos comprendidos entre 100 y 200.
5. Hallar la suma de los nmeros enteros positivos pares e impares comprendidos entre 201 y
300.
Tarea
Realizar los 5 ejercicios utilizando el Pseudocdigo.
69
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
El proceso de una estructura repetitiva Mientras es el siguiente: para que ingrese al cuerpo del
bucle tiene que evaluarse una condicin, si sta es verdadera se ingresa y se realizan todas las
instrucciones que estn dentro del cuerpo del bucle; terminado la ltima instruccin se vuelve a
comprobar la condicin; se seguir realizando el bucle mientras la condicin siga siendo
verdadera y si en un momento es falsa sale del bucle.
Es decir, la estructura repetitiva Mientras es aquella en que el cuerpo del bucle se repite mientras
se cumpla una determinada condicin, y termina cuando ya no se cumple.
Si al querer ingresar al cuerpo del bucle por primera vez y la condicin es falsa, no ingresa al
bucle, ninguna accin se realiza y el algoritmo prosigue en la siguiente instruccin fuera del bucle.
70
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Ejemplo 8:
Escribir un algoritmo que lea las 40 notas finales del curso de Fundamentos de Programacin, e
informe cuntos alumnos han aprobado y cuntos desaprobaron. Dato: (Nota >= 10.5 Aprobado)
71
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de
Datos
algoritmo Ejemplo8
var
entero: c, ca, cd
real: notaFinal
inicio
c = 0
ca = 0
cd = 0
mientras ( c < 40 ) hacer
c=c+1
leer (notaFinal)
si (notaFinal >= 10.5) entonces
ca = ca + 1
sino
cd = cd + 1
fin_si
fin_mientras
escribir(Aprobados : ,ca)
escribir(Desaprobados : ,cd)
fin
72
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Ejemplo 9:
Realizar un algoritmo que permita calcular la suma de los nmeros enteros comprendidos entre
dos cantidades ingresadas por teclado. Hallar adicionalmente el promedio de la suma.
73
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de
Datos
algoritmo Ejemplo9
var
entero: Pnum, Snum, c, suma, aux
real: prom
inicio
leer( Pnum , Snum )
c =0
suma = 0
si (Pnum>Snum) entonces
aux = Pnum
Pnum = Snum
Snum = aux
fin_si
mientras ( Pnum <= Snum ) hacer
c=c+1
suma = suma + Pnum
Pnum = Pnum + 1
fin_mientras
prom = suma / c
escribir(La suma es : ,suma)
escribir(El promedio es : ,prom)
fin
74
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
FUNDAMENTOS DE PROGRAMACIN
Ejercicios:
1. Hallar la suma de los 100 primeros nmeros enteros positivos.
2. Hallar la suma y promedio de los 50 primeros nmeros enteros positivos pares.
3. Hallar la suma y promedio de los 100 primeros nmeros enteros positivos impares.
4. Hallar la suma y promedio de los nmeros enteros positivos comprendidos entre 500 y
1000.
5. Hallar la suma de los nmeros enteros positivos pares e impares comprendidos entre 501 y
999.
Tarea
Realizar los 5 ejercicios utilizando el Pseudocdigo.
75
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
FUNDAMENTOS DE PROGRAMACIN
LABORATORIO N 09
Estructuras repetitivas
Ejercicios:
1x5= 5
2 x 5 = 10
3 x 5 = 15
12 x 5 = 60
2. Cuantos nmeros son pares positivos y negativos, impares positivos y negativos entre N1 y
N2 un rango de valores enteros.
3. Lea una serie de nmeros hasta ingresar el valor de cero. Luego indique cuantos nmeros
positivos, negativos, pares e impares fueron ingresados.
5! = 5 x 4 x 3 x 2 x 1= 120
76
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de
Datos
52 8=44
44
36 28
28 20
20 12
12
10. Escriba un algoritmo que permita reducir una fraccin a su mnima expresin. Por
ejemplo:
24/30 = 4/5.
77
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de
Datos
NETBEANS 6.0
78
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Pueden bajar el instalador haciendo click aqu desde la misma pagina web oficial del NetBeans o
desde mi espacio en el servidor FTP de la universidad haciendo click aqu (Recomendado). Para
poder llevar acabo la instalacin es necesario tener instalado el JDK (Java Development Kit), en el
archivo que han bajado desde mi espacio FTP esta incluido este archivo.
PROCESO DE INSTALACION
Se necesita tener estos dos (2) programas almacenados en su computadora y realizar los
siguientes pasos:
79
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de
Datos
80
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de
Datos
82
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de
Datos
4to. Hacer click en el check para estar de acuerdo con la licencia y luego click en el
boton next.
83
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de
Datos
el NetBeans y JDK
84
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de
Datos
7mo. Click en el boton next (siguiente) para comenzar la instalacin del NetBeans.
85
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
86
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
2. Barra de
mens 3. Barra
estandar
4. Ventana
de proyectos,
archivos y
servicios 6. Ventana
de edicin
5. Ventana
de navegacin
87
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Definicin de NETBEANS
Netbeans es un entorno de desarrollo integrado (IDE) que permite editar programas en java,
compilarlos, ejecutarlos, depurarlos, construir rpidamente el interfaz grfico de una aplicacin
eligiendo los componentes de una paleta, etc.
1. Barra de ttulo
Todas las ventanas de una herramienta de programacin contienen una barra de ttulo en el cual
se ve el ttulo de la aplicacin (programa) y los botones de control de la ventana con los cuales es
posible hacer que se reduzca a un botn en la barra de tareas (tamao mnimo), ordenar que
ocupe toda la pantalla (tamao mximo), lograr que recupere el tamao que tena antes de ser la
ventana mxima o mnima (restaurar) o, simplemente, cerrar la ventana.
2. Barra de mens
En est rea aparecen los mens disponibles. Cada men contiene acciones especficas relativas
al nombre del men.
3. Barra estandar
La barra de herramientas estndar contiene botones para las operaciones ms habituales de los
mens File(Archivo), Edit(Edicin), etc. New Project(Nuevo proyecto), Open Project(abrir
proyecto), Save all (guardar todo), etc. Estos botones se utilizan del mismo modo que los
comandos de men equivalentes.
5. Ventana de navegacin
Esta ventana nos permite visualizar los objetos que contiene el proyecto actual agrupados por
categoras
6. Ventana de edicin
Es la ventana donde se va a realizar el cdigo de los programas, el diseo de los formularios, etc.
88
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
QUE ES UNPROGRAMA?
Conjunto de cdigo, agrupados por instrucciones, donde cada instruccin le dice a la computadora
que operaciones debe realizar para resolver el problema.
Conjunto
de
cdigo
89
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Ejemplo:
Lenguaje ASSEMBLER
Ejemplos:
JAVA
PROLOG
C++
DELPHI
Otros.
90
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
CARACTERSTICAS DE UNPROGRAMA
Debe ser confiable y funcional.
Advertir errores de entrada obvios comunes.
Documentado adecuadamente.
Ser comprensible.
Cdificado en el lenguaje apropiado.
DATOS
La materia prima de que se nutren los programas para producir resultados. Pueden ser de varios
tipos: numricos, alfabticos, alfanumricos (cualquier conjunto de smbolos) y lgicos (solo dos
valores posibles, verdadero o falso).
INFORMACIN
Es lo que se obtiene del procesamiento de datos. Todo aquello que permite adquirir cualquier tipo
de conocimientos
91
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
NETBEANS 6.0
MIPRIMERPROYECTO
92
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Para dar inicio a una aplicacin de Java bajo el entorno de Netbeans se debe definir un proyecto,
para ello, seleccionas la opcin del men denominada File. Se muestra inmediatamente un men
flotante cuya primera opcin indica New Proyect, est opcin la seleccionas.
93
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Dado que nuestras aplicaciones van ser desarrolladas en entorno no visual, es decir en modo
consola, en Categories seleccionas la carpeta Java y en Proyects seleccionas Java Application.
Luego hacer click en el botn de comando Next que mostrar la siguiente ventana:
Es conveniente que uno mismo cree su carpeta de destino de los archivos que se generan para la
construccin de una aplicacin. Supongamos que la carpetas que necesitamos crear se llama
EjerciciosDeNetBeans y la creamos en la unidad D, para ello es necesario dar click en el botn de
comando Browse.
94
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
95
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Una vez indicada la nueva carpeta EjerciciosDeNetBeans, procede a dar click en el botn de
comando Abrir quedando la ventana New Java Application de la siguiente forma:
Se observa que en Proyect Location se muestra la carpeta destino del proyecto. Vamos a
suponer que se quiere construir un programa que calcule el promedio de dos notas, entonces la
ventana debera quedar de la siguiente forma:
96
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Al dar click en Finish se mostrar el entorno de desarrollo de NetBeans listo para dar inicio a la
construccin de la aplicacin.
97
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Ahora estamos listo para comenzar a realizar nuestro primer ejercicio de programacin en
NetBeans. Pero antes conoceremos la estructura de la clase principal.
Comentario
del programa
Comentario
del paquete
Comentario
de la clase Implementacin
del cdigo del
programa
98
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
EJERCICIO 01
Realizar un programa para el curso de Fundamentos de Programacin que permita calcular la
nota promedio final de un estudiante en base a la nota de la 1ra unidad y de la 2da Unidad.
Solucin
Este programa se va a desarrollar de dos fomas, para que ustedes estimados estudiantes puedan
diferenciar la programacin con datos fijos y variables de las notas de las dos unidades.
Para resolver este ejercicio primero debemos conocer un poco el lenguaje de programacin Java.
Tipos de Datos
Ejemplos:
99
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
1era forma:
Se desarrollar el problema conociendo que las dos notas de la 1era unidad y 2da unidad son: 13
y 17 respectivamente.
La solucin en algoritmo por intermedio del pseudocdigo en esta 1era forma es el siguiente:
algoritmo PromedioDeNotas
var
entero : n1, n2
real : prom
inicio
n1 = 13
n2 = 17
prom = ( n1 + n2 )/2
mostrar ( 'El promedio final es ', prom )
fin
2da forma:
La solucin en algoritmo por intermedio del pseudocdigo en esta 2da forma es el siguiente:
algoritmo PromedioDeNotas
var
entero : n1, n2
real : prom
inicio
Leer ( n1 )
Leer ( n2 )
prom = ( n1 + n2 )/2
mostrar ( 'El promedio final es ', prom )
fin
Comentarios minimizados
En la siguiente tabla se explica que hace cada instruccin, y los elementos que intervienen en
ellas:
101
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
102
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Cuando este terminado todo el cdigo del programa estamos listo de ver los resultados, para ello
debemos hacer lo siguiente:
1er paso. Pulsamos la tecla F9 para compilar nuestro programa y ver si existen errores en la
codificacin de nuestro programa, si todo esta bien continuamos con el siguiente
paso, pero si hubiern errores el programa jamas se ejecutar mientras no se
corrigan los errores.
Tambin se puede hacer este paso con el uso del Menu Build
2do paso. Despues de verificado que no hay errores, pulsamos la tecla F6 para ejecutar el
programa.
Tambin se puede hacer este paso con el uso del Menu Run
103
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
NETBEANS 6.0
MISEGUNDO PROYECTO
A continuacin resolveremos un segundo proyecto, el cual tomaremos el siguiente ejercicio:
EJERCICIO 02
Encontrar el valor de la funcin: r = 5m2 + n2
Para resolver este ejercicio abriremos un nuevo proyecto (Esto es otra forma de llamar a un nuevo
proyecto):
104
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Ahora estamos listo para comenzar con la programacin de este ejercicio. Antes hay que recordar
como esta resuelto en algoritmo.
algoritmo Funcion
var
entero : m, n, r
inicio
Leer(m)
Leer(n)
Leer(r)
r = 5 * m^2 + n^2
mostrar ( 'El valor de la funcin es ', r )
fin
105
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
En este ejercicio utilizaremos los mtodos de la clase Math, La clase Math tiene miembros dato y
funciones miembro estticas.
106
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Comprendido la clase Math, ahora pasamos a ejecutar el programa para ver los resultados
obtenidos.
107
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
108
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
LABORATORIO N XX
Ejercicio 1
Realizar un algoritmo que determine en que estacin del ao nos encontramos de acuerdo a la
siguiente tabla:
Valor Estacin
1 Verano
2 Otoo
3 Invierno
4 Primavera
Cdigo en Java
package prjestructuraselectivamultiple;
import javax.swing.JOptionPane;
109
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
NETBEANS 6.0
ESTRUCTURAS SELECTIVAS
1er caso
si (condicin) entonces
instruccion1 Cuando una estructura selectiva
fin_si simple tiene una sola instruccin
no lleva llaves
if (condicion)
instruccion1;
2do caso
si (condicin) entonces
instruccion1
instruccion2
.
.
instruccionN
fin_si
110
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de
Datos
1er caso
si (condicin) entonces
instruccion1
sino
instruccion2 Cuando en una estructura
fin_si selectiva doble; si existe dentro del
if una sola instruccin no lleva
llaves. Y dentro del else si existe
una sola instruccin tampoco lleva
if (condicion) llaves.
instruccion1;
else
instruccion2;
2do caso
si (condicin) entonces
instruccion1
instruccion2
.
.
instruccionN
sino
instruccion1
fin_si
111
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de
Datos
3er caso
si (condicin) entonces
instruccion1
instruccion2
.
.
instruccionN
sino
instruccion1
instruccion2
.
.
instruccionM
fin_si
Cuando en una estructura
if (condicion) selectiva doble; si existe dentro del
{ if varias instrucciones lleva llaves.
instruccion1; Y dentro del else si existe tambin
instruccion2; varias instrucciones lleva llaves.
.
.
instruccionN;
}
else
{
instruccion1;
instruccion2;
.
.
instruccionM;
}
switch (expresion)
{ Esta estructura es parecida que la
case 1: instruccion1; de pseudocdigo.
instruccion2; En el switch se evalua una
......... expresin y las opciones que
break; puede tomar.
case 2: instruccion1; Si es la 1era opcin (case 1) se
instruccion2; realizan todas sus instrucciones; al
......... terminar todas ellas se coloca en
break; la siguiente lnea la instruccin
case 3: instruccion1; break. La instruccin break;
instruccion2; significa que sale del cuerpo del
......... switch que esta enmarcado entre
break; llaves, y continua en la siguiente
. instruccin. Eso quiere decir, que
. al ingresar a cada opcin se llega a
. la instruccin break y sale del
switch.
case N: instruccion1; Se ingresa a la opcin default
instruccion2; siempre y cuando no se eliga
......... ninguna opcin de las establecidas
break;
default: instruccion1;
instruccion2;
.........
break;
}
si condicin entonces
si condicin entonces
instruccin 1
instruccin 2
......
instruccin N
fin_si
si_no
si condicin entonces
instruccin 1
instruccin 2
......
instruccin M
si_no
instruccin 1
instruccin 2
......
instruccin P
fin_si
fin_si
113
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y
Estructura de Datos
if (condicion)
{
if (condicion)
{
instruccion1;
instruccion2; Es bueno organizar la informacin
. del if y del else dentro de llaves
. para poder saber cuales son las
instruccionN; instrucciones que corresponden a
} cada uno
}
else
{
if (condicion)
{
instruccion1;
instruccion2;
.
.
instruccionM;
}
else
{
instruccion1;
instruccion2;
.
.
instruccionP;
}
}
114
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
NETBEANS 6.0
PROYECTO DE ESTRUCTURA SELECTIVA
DOBLE
LABORATORIO N 03 -EJERCICIO 01
Determinar si un alumno aprueba a desaprueba un curso, conociendo que aprobara si su
promedio de tres calificaciones es mayor o igual a 10.5; desaprobado en caso contrario.
115
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Ahora estamos listo para comenzar con la programacin de este ejercicio. Antes hay que recordar
como esta resuelto en algoritmo.
algoritmo Lab3Ejercicio01
var
entero : calif1, calif2, calif3
real : prom
inicio
Leer calif1, calif2, calif3
prom = (calif1 + calif2 + calif3)/3
si prom >= 10.5 entonces
Escribir 'ALUMNO APROBADO'
si no
Escribir 'ALUMNO DESAPROBADO'
fin_si
fin
116
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
package pkgEstructuraSelectivaDoble;
import javax.swing.JOptionPane;
}
}
117
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Dato adicional:
Estimados estudiantes pueden ustedes mejorar el cdigo a manera de prctica y mostrar en el
mismo mensaje de aprobado o desaprobado la nota promedio obtenida.
118
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
NETBEANS 6.0
ESTRUCTURA SELECTIVA MLTIPLE
LABORATORIO N 04 -EJERCICIO 03
Realizar un algoritmo que ingrese nmero del 1 al 10 y lo muestre en letras.
119
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Ahora estamos listo para comenzar con la programacin de este ejercicio. Antes hay que recordar
como esta resuelto en algoritmo.
Algoritmo Lab04Ejercicio03
var
entero: Numero
inicio
Leer Numero
en_caso (Numero)
1 : Mostrar 'UNO'
2 : Mostrar 'DOS'
3 : Mostrar 'TRES'
4 : Mostrar 'CUATRO'
5 : Mostrar 'CINCO'
6 : Mostrar 'SEIS'
7 : Mostrar 'SIETE'
8 : Mostrar 'OCHO'
9 : Mostrar 'NUEVE'
10 : Mostrar 'DIEZ'
sino : Mostrar 'Numero fuera del rango establecido'
fin_caso
fin
120
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
package pkgEstructuraSelectivaMultiple;
import javax.swing.JOptionPane;
121
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Nota
Los ejercicios 1 y 2 del Laboratorio 4 no se podrn llevar a NetBeans igual como est en el
pseudocdigo, porque estariamos evaluando una variable de tipo carcter.
EJECUCINDEL PROGRAMA
Ahora pasamos a ejecutar el programa para ver los resultados obtenidos.
122
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
NETBEANS 6.0
PROYECTO DE ESTRUCTURA SELECTIVA
ANIDADA
LABORATORIO N 05 -EJERCICIO 01
Leer un nmero entero y decir si es positivo, negativo o neutro.
123
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Ahora estamos listo para comenzar con la programacin de este ejercicio. Antes hay que recordar
como esta resuelto en algoritmo.
algoritmo Lab5Ejercicio01
var
entero : num
inicio
Leer num
si (num = 0) entonces
Escribir 'NMERO NEUTRO'
si no
si (num > 0) entonces
Escribir 'NMERO POSITIVO'
sino
Escribir 'NMERO NEGATIVO'
fin_si
fin_si
fin
124
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
package pkgEstructuraSelectivaAnidada;
import javax.swing.JOptionPane;
125
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de
Datos
126
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de
Datos
EJER 01
public static void main(String[] args){
int n1,n2,n3;
double pro;
n1=Integer.parseInt(JOptionPane.showInputDialog("ingese la 1ra Nota"));
n2=Integer.parseInt(JOptionPane.showInputDialog("ingese la 2da Nota"));
n3=Integer.parseInt(JOptionPane.showInputDialog("ingese la 3ra Nota"));
pro=(n1+n2+n3)/3;
if (pro>=10.5)
JOptionPane.showMessageDialog(null,"ALUMNOS APROBADO " + pro);
else
JOptionPane.showMessageDialog(null,"ALUMNO DESAPROBADO " + pro);
}
EJER N2
128
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de
Datos
129
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de
Datos
EJER 03
public static void main(String[] args) {
double compra,d,t;
compra=Integer.parseInt(JOptionPane.showInputDialog("ingese MONTO DE LA COMPRA"));
if(compra>1000)
d=compra*0.20;
else
d=0;
t=compra-d;
JOptionPane.showMessageDialog(null,"el descuento es de: " + d);
JOptionPane.showMessageDialog(null,"monto a pagar " + t);
}
130
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de
Datos
EJER 04
public static void main(String[] args) {
double c,d,t,p,x;
c=Integer.parseInt(JOptionPane.showInputDialog("ingese la cantidad de CAMISAS"));
p=Integer.parseInt(JOptionPane.showInputDialog("ingese EL PRECIO POR CAMISA"));
x=c*p;
if(c>3)
d=x*0.20;
else
d=x*0.10;
t=x-d;
JOptionPane.showMessageDialog(null,"el descuento es de: " + d);
JOptionPane.showMessageDialog(null,"monto a pagar " + t);
}
131
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Ejer 05
public static void main(String[] args) {
double d,t,p;
p=Integer.parseInt(JOptionPane.showInputDialog("ingese EL PRECIO DEL AUTO"));
if(p > 15000)
d=p*0.10;
else
d=p*0.05;
t=p-d;
JOptionPane.showMessageDialog(null,"el descuento es de : " + d);
JOptionPane.showMessageDialog(null,"monto a pagar " + t);
}
EJER 06
public static void main(String[] args) {
double h,s,t,p,horas_extras;
h=Integer.parseInt(JOptionPane.showInputDialog("ingese la cantidad de HORAS DE TRABAJO"));
if(h>40){
horas_extras=h-40;
p=40*16;
t=horas_extras*20;
}
else{
horas_extras=0;
p=h*16;
t=0;
}
s=p+t;
JOptionPane.showMessageDialog(null,"el n de horas extras es: " + horas_extras);
JOptionPane.showMessageDialog(null,"monto a pagar " + s);
}
132
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de
Datos
Ejer 07
public static void main(String[] args) {
double m,n;
m=Integer.parseInt(JOptionPane.showInputDialog("ingese EL 1 NUMERO"));
n=Integer.parseInt(JOptionPane.showInputDialog("ingese EL 2 NUMERO"));
if(n> m){
JOptionPane.showMessageDialog(null,"EL MAYOR ES:" + n);
JOptionPane.showMessageDialog(null,"EL MENOR ES : " + m);
}
else{
JOptionPane.showMessageDialog(null,"EL MAYOR ES:" + m);
JOptionPane.showMessageDialog(null,"EL MENOR ES : " + n);
}
}
133
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de
Datos
EJER 08
public static void main(String[] args) {
int m,n;
m=Integer.parseInt(JOptionPane.showInputDialog("ingese LA EDAD DE ANTONY"));
n=Integer.parseInt(JOptionPane.showInputDialog("ingese LA EDAD DE RUBEN"));
if(n> m){
JOptionPane.showMessageDialog(null,"EL MAYOR EDAD ES DE RUBEN:" + n);
JOptionPane.showMessageDialog(null,"EL MENOR EDAD ES DE ANTONY: " + m);
}
else{
JOptionPane.showMessageDialog(null,"EL MAYOR EDAD ES DE ANTONY:" + m);
JOptionPane.showMessageDialog(null,"EL MENOR EDAD ES DE RUBEN: " + n);
}
}
134
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
EJER 09
public static void main(String[] args) {
int m;
double s,d,c;
m=Integer.parseInt(JOptionPane.showInputDialog("MENU "+" 1.CONVERTIR DOLARES A SOLES "+"
2.CONVERTIR SOLES A DOLARES "+" ELIJA UNA OBCION (1 2)"));
if(m==1){
d=Integer.parseInt(JOptionPane.showInputDialog("INGRESE LA CANTIDAD DE DOLARES"));
c=d*2.8;
JOptionPane.showMessageDialog(null,"EL TOTAL ES:" + c + " Nuevos Soles");
}
if(m==2){
s=Integer.parseInt(JOptionPane.showInputDialog("INGRESE LA CANTIDAD DE SOLES"));
c=s/2.83;
JOptionPane.showMessageDialog(null,"EL TOTAL ES:" + c + " DOLARES");
}
}
EJER 10
public static void main(String[] args) {
int m;
double s,d,c,x,y;
m=Integer.parseInt(JOptionPane.showInputDialog("MENU "+" 1.CONVERTIR DOLARES A SOLES "+"
2.CONVERTIR SOLES A DOLARES "+" ELIJA UNA OBCION (1 2)"));
if(m==1){
135
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
136
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
NETBEANS 6.0
ESTRUCTURAS REPETITIVAS
1er caso
modificacin
condicin
inicializacin
2do caso
2 4
138
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
1er caso
hacer
instruccin 1
mientras (condicin)
do
Cuando una estructura repetitiva Do
instruccion1;
W hile tiene una sola instruccin no
while (condicion);
lleva llaves
2do caso
hacer
instruccin 1
instruccin 2
.
.
instruccin N
mientras (condicin)
do
{ Cuando una estructura repetitiva Do
instruccion1; W hile tiene de dos a ms
instruccion2; instrucciones lleva llaves
.
.
instruccionN;
}
while (condicion);
1
do
{
instruccion1;
instruccion2;
. Cuerpo del Do W hile
.
instruccionN;
}
while (condicion); 2
139
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
1er caso
2do caso
while (condicion)
{ Cuando una estructura repetitiva
instruccion1; W hile tiene de dos a ms
instruccion2; instrucciones lleva llaves
.
.
instruccionN;
}
140
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
while (condicion) 1
{
2 instruccion1;
instruccion2;
. Cuerpo del Do W hile
.
instruccionN;
141
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
NETBEANS 6.0
PROYECTO DE ESTRUCTURA REPETITIVA
FOR
Ahora estamos listo para comenzar con la programacin de este ejercicio. Antes hay que recordar
como esta resuelto en algoritmo.
algoritmo Lab06Ejercicio01
var
entero : num, producto, i
cadena: cad
inicio
Leer num
cad = ' '
si (num >0) entonces
desde i =1 hasta 12 inc 1 hacer
producto = i * num
cad = cad, i , ' * ' , num, ' = ', producto
fin_desde
Mostrar (cad)
sino
Mostrar ('Error de ingreso...!! El Numero debe ser mayor que cero')
fin_si
fin
143
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
package pkgfor;
import javax.swing.JOptionPane;
num=Integer.parseInt(JOptionPane.showInputDialog("Ingrese numero"));
if(num>0)
{
for(i=1;i<=12;i++)
{
producto=num*i;
cad=cad + i + " x " + num + " = " + producto + "\n";
}
JOptionPane.showMessageDialog(null, cad);
}
else
JOptionPane.showMessageDialog(null, "Error de ingreso..!! El numero debe ser mayor que cero");
}
}
144
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
2
3
5
6
145
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
En este ejercicio de estructura repetitiva For nos mostrar la tabla de multiplicar de un nmero
entero positivo.
146
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
1er caso
Ingresaremos un numero entero positivo:
2do caso
Ingresaremos un numero entero negativo:
147
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
NETBEANS 6.0
PROYECTO DE ESTRUCTURA REPETITIVA
DO WHILE
EJERCICIO 01
Realizar un programa para un Supermercado que calcule el total a pagar de un cliente, por la
compra de varios productos, el ingreso de las compras debe continuar si digitamos el valor 1, y 2
se termina el ingreso y muestra el resultado.
148
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Ahora estamos listo para comenzar con la programacin de este ejercicio. Antes hay que recordar
como esta resuelto en algoritmo.
algoritmo Ejercicio01
var
entero : CantProducto, opcion, cont
real : PrecioProducto, compra
inicio
compra=0
cont = 0
Hacer
cont = cont + 1
Leer PrecioProducto, CantProducto
compra = compra + PrecioProducto * CantProducto
149
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
package pkgDoWhile;
import javax. swing.JOptionPane;
public class DoWhile {
public static void main(String[ ] args) {
int cantProducto,opcion,cont;
double precioProducto,compra;
compra=0;cont=0;
do
{
//contador de productos ingresados
cont=cont+1;
//Ingreso de cantidad y precio del producto a comprar
cantProducto=Integer.parseInt(JOptionPane.showInputDialog("Ingrese Cantidad del Producto " + cont));
precioProducto=Double.parseDouble(JOptionPane.showInputDialog("Ingrese Precio Producto " + cont));
//Obtencion del subtotal de la compra de uno o mas productos
compra=compra + cantProducto * precioProducto;
150
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
2
3
5
4
7
8
151
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
En este ejercicio de estructura repetitiva Do While podemos ingresar un sin nmero de compras
siempre y cuando digitemos el valor 1 a la consulta Desea continuar [si=1 , no=2] : , si la
respuesta es positiva el programa va acumulando las compras subtotales en la variable compra.
Recordemos que una compra viene hacer el producto de la cantidad y el precio de un producto, es
decir:
Ahora la instruccin que me permite acumular los subtotales de las compras es:
1. Declaracin de variables.
2. Se inicializa las variables compra y cont con un valor igual a cero.
3. Do, instruccin que determina el comienzo del bucle Do While.
4. Esta instruccin nos sirve de contador de cuantas compras vamos realizando.
5. Ingreso de los datos de entrada de la 1era compra.
6. Esta instruccin se ejecuta de la siguiente manera:
8.1. Se multiplica el PrecioProducto * CantProducto
8.2. El resultado se suma con el valor de la variable compra, esta variable fue inicializado
con cero al comenzar el programa, es decir:
0 + PrecioProducto * CantProducto
8.3. El resultado de toda esta instruccin se almacena en la misma variable compra, que
nos servir como variable que va acumulando los subtotales de las compras.
7. En esta parte el programa nos pregunta si deseamos seguir ingresando compras.
8. Se evalua la condicin del While, aqu pueden pasar dos cosas:
8.1. Si la condicin es verdadera vuelve a ingresar al bucle y se continua con:
a. El paso 4, se incrementa el contador.
b. El paso 5; ingresamos los valores de una segunda compra.
c. El paso 6; se suma el valor de la primera compra que se tenia almacenado en la
variable compra con el producto de los datos de entrada de la segunda compra,
almacenando nuevamente el resultado en la variable compra.
d. Se realiza el paso 7.
e. Se realiza el paso 8, si vuelve a ingresar al bucle se incrementa el contador, se
ingresan los datos de la 3era compra y asi sucesivamente hasta llegar al paso 9.
8.2. Si la condicin es falso se continua con el paso 9.
9. Se muestra el resultado total de los N productos comprados.
152
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
1era compra
2da compra
153
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
154
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
NETBEANS 6.0
PROYECTO DE ESTRUCTURA REPETITIVA
WHILE
A continuacin resolveremos el siguiente proyecto.
LABORATORIO 06 - EJERCICIO 01
Disear un algoritmo que permita visualizar la tabla de multiplicar de un nmero entero ingresado
por teclado. Por ejemplo:
1x5=5
2 x 5 = 10
3 x 5 = 15
12 x 5 = 60
Ahora estamos listo para comenzar con la programacin de este ejercicio. Antes hay que recordar
como esta resuelto en algoritmo.
algoritmo Lab06Ejercicio01
var
entero : num, producto, i
cadena: cad
inicio
Leer num
i=1
cad = ' '
si (num >0) entonces
mientras(i <=12)
producto = i * num
cad = cad, i , ' * ' , num, ' = ', producto
i=i+1
fin_mientras
Mostrar (cad)
sino
Mostrar ('Error de ingreso...!! El Numero debe ser mayor que cero')
fin_si
fin
156
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
package pkgWhile;
import javax.swing.JOptionPane;
public class While {
public static void main(String[ ] args) {
int num, producto, i=1;
String cad="";
num=Integer.parseInt(JOptionPane.showInputDialog("Ingrese numero"));
if(num>0)
{
while(i<=12)
{
producto=num*i;
cad=cad + i + " x " + num + " = " + producto + "\n";
i=i+1;
}
JOptionPane.showMessageDialog(null, cad);
}
else
JOptionPane.showMessageDialog(null, "Error de ingreso..!! El numero debe ser mayor que cero");
}
}
157
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
2
3
5
6
7
158
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
En este ejercicio de estructura repetitiva While nos mostrar la tabla de multiplicar de un nmero
entero positivo.
1er caso
Ingresaremos un numero entero positivo:
159
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
2do caso
Ingresaremos un numero entero negativo:
160
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
DEFINICIONES BSICASDELAS
ESTRUCTURASDEDATOS
En programacin, una estructura de datos es una forma de organizar un conjunto de datos
elementales con el objetivo de facilitar su manipulacin. Un dato elemental es la mnima
informacin que se tiene en un sistema.
Existen dos clases de tipos de datos: Simples (sin estructuras) y Compuestos (estructurados).
Array (vector/matriz)
Registro
estticos Archivo (fichero)
Conjunto
Datos estructurados Cadena (string)
Lista (pila/cola)
dinmicos Lista enlazada
rbol
Grafo
Los tipos de datos simples o primitivos significa que no estn compuestos de otras estructuras de
datos; lo ms frecuentes y utilizados por casi todos los lenguajes de programacin son: enteros,
reales, carcter y lgico. Los tipos de datos compuestos estn construidos basados en tipos de
datos primitivos; el ejemplo ms significativo es la cadena (string) de caracteres.
Los tipos de datos simples pueden ser organizados en diferentes estructuras de datos: estticas y
dinmicas.
161
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Las estructuras de datos estticas son aqullas en las que el tamao ocupado en memoria se
define antes de que el programa se ejecute y no puede modificarse ese tamao durante la
ejecucin del programa. Estas estructuras estn en casi todos los lenguajes de programacin:
array (vectores y matrices), registros, etc.
Una caracterstica importante que diferencia a los tipos de datos es la siguiente: los tipos de datos
simples tienen como caracterstica comn que cada variable representa un elemento; los tipos de
datos estructurados, tienen como caracterstica comn que un identificador (nombre) puede
representar mltiples datos individuales, pudiendo cada uno de stos ser referenciado
independientemente.
La eleccin del tipo de estructura de datos idonea a cada aplicacin depender esencialmente del
tipo de aplicacin.
Ejemplo1:
Se tiene un array unidimensional llamado Notas de 10 elementos; este vector va almacenar
elementos de tipo de dato entero.
162
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
NombreDelArray
i=1
i=2
i=3
.
.
.
i=x
.
.
i=n
NombreDelArray
.
.
.
.
.
i=1
i=2
i=3
i=n
i=x
i=n
i= x
.
.
.
.
.
NombreDelArray
163
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
INGRESO DE DATOS
El ingreso de datos al arreglo se hace de la siguiente forma:
Sintaxis:
Notas
Notas[ 1 ] = 15 15
Notas[ 2 ] = 18 18
14
Notas[ 3 ] = 14
17
Notas[ 7 ] = 17
20
Notas[ 10 ] = 20
Podemos apreciar que para ingresar un elemento al arreglo se debe determinar en que lugar se
almacenar, para ello utilizamos el ndice. Por ejemplo:
Para este ejemplo la nota 14 se almacenar en el ndice 3, pero se puede almacenar en otro
ndice: Notas[ 5 ] = 14, o en otro: Notas[ 9 ] = 14. En la programacin podemos definir en que
ndice queremos almacenar un elemento.
Ejemplos:
164
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
Leer (arrayPrecios[i])
fin desde
MOSTRAR DATOS
Mostrar los datos de un arreglo unidimensional se hace de la siguiente forma:
Sintaxis:
NombreDelArray [ ndice ]
Mostrar (Notas[ 1 ])
Mostrar (Notas[ 2 ])
Mostrar (Notas[ 7 ])
Esta instruccin muestra el valor 17, y asi sucesivamente cada instruccin mostrar los elementos
del arreglo.
De la misma forma como se ha hecho el llenado de datos del arreglo arrayPrecios, tambin sern
necesarias las estructuras repetitivas para mostrar sus elementos.
Mostrar (arrayPrecios[i])
fin desde
Nota:
Y esta misma estructura repetitiva nos servir para poder hacer los clculos que deseamos
realizar con los elementos del arreglo.
165
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
OPERACIONES CONVECTORES
Para llevar acabo estas operaciones necesitaremos de un arreglo. A continuacin se muestra un
arreglo llamado Edad de 7 elementos que almacena datos de tipo entero.
.
.
.
Edad 23 12 56 31 8 72 49
166
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
FUNDAMENTOS DE PROGRAMACIN
Ejercicios:
1. Hallar el promedio de edad de las 20 personas que han ingresado a la fiesta.
2. En una panaderia se han realizado 10 ventas. Se les pide hallar la venta total del da y la
mayor venta.
3. En una ganaderia se han realizado 20 ventas de bidones de leche. Se les pide hallar la
venta promedio del da y la menor venta.
167
Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Algoritmos y Estructura de Datos
TRABAJO FINAL
Estimados estudiantes..!!
El trabajo final consiste en realizar un pequeo sistema en NetBeans utilizando todos los
conocimientos asimilados durante todo el semestre acadmico. El pequeo sistema ser
evualuado de la siguiente forma:
El pequeo sistema debe comenzar con una ventana de contrasea y si la clave es correcta
ingresar al men principal del sistema, luego dentro de ella se realizarn todos los procesos del
sistema.
Sistema de librera.
Sistema de biblioteca.
Sistema de farmacia.
Sistema de supermercado.
Sistema de banco.
Sistema de futbol del campeonato profesional del Per (Apertura y Clausura).
Sistema de hotel.
Saludos,
Ing. Arnaldo Gonzales.
168