Sunteți pe pagina 1din 11

Código FDE 048

GUÍA DE TRABAJO
Versión 03
SISTEMAS DE INFORMACIÓN
Fecha 2009-06-09

1. IDENTIFICACIÓN

Asignatura Laboratorio Lógica y Programación Guía No. 1


Área Básica de la Ingeniería Nivel II
Código LLI22 Pensum 10
Correquisito(s) LPI24 Prerrequisito(s)
Créditos 2 TPS 2 TIS 4 TPT 32 TIT
TRABAJO INDEPENDIENTE TRABAJO PRESENCIAL
Trabajo Trabajo Trabajo Trabajo
X X
Teórico Práctico Teórico Práctico

2. IDENTIFICACIÓN

COMPETENCIAS CONTENIDO TEMÁTICO INDICADOR DE LOGRO


Conceptos básicos de
Algoritmos y programación:

• Definición de
algoritmo
• Tipos de algoritmos
• Características de los
Algoritmos
Adquiere la destreza y
• Tipos de Datos y
capacidad para analizar e
Operadores
implementar soluciones
• Definición de variable
algorítmicas a problemas
• Clasificación de las Utiliza un lenguaje
relacionados con la
variables de programación para
información, basados en
o Por su contenido representar y ejecutar un
técnicas de programación algoritmo básico.
o Por su uso
orientadas a objetos y el
• Reglas para dar
dominio de un lenguaje que
nombre a un identificador
corresponda a este
• Aplicación de
paradigma.
algoritmos en un lenguaje
de programación.
• Sintaxis de
seudocódigo orientado a
objetos
• Conceptos Básicos
de Programación orientada
por objetos

3. RECURSOS REQUERIDOS
Código FDE 048
GUÍA DE TRABAJO
Versión 03
SISTEMAS DE INFORMACIÓN
Fecha 2009-06-09

 Un computador con el software de JCreator instalado y el JDK respectivo


de Java.

 Material bibliográfico, ejemplos realizados en sala de cómputo y


documentación de apoyo del sitio

4. MARCO TEÓRICO

Los algoritmos son secuencias de pasos lógicos y ordenados que le dan solución
a un problema, estos deben ser bien definidos y no tener ambigüedades. Existen
tres formas de representar un algoritmo, estas son: diagramas de flujo,
diagramas estructurados y pseudocódigo. Generalmente el pseudocódigo es
la forma más utilizada para escribir algoritmos, ya que estos facilitan su
posterior codificación a un lenguaje de programación.

El pseudocódigo es una forma de escribir algoritmos utilizando una mezcla de


lenguaje común, con instrucciones de programación, palabras claves, etc. El
objetivo es que el programador se centre en la solución lógica del algoritmo y no
en la implementación en un lenguaje de programación concreto (con las posibles
complicaciones en las reglas sintácticas), o en otras palabras, sólo ayudan a
Código FDE 048
GUÍA DE TRABAJO
Versión 03
SISTEMAS DE INFORMACIÓN
Fecha 2009-06-09

"pensar" un programa antes de escribirlo en un lenguaje de programación formal.


Existen diferentes formas de escribir algunas instrucciones en pseudocódigo, ya
que no existe un estándar, en cualquier caso, dichas instrucciones escritas en
una forma u otra deben siempre expresar lo mismo al codificarlas en un lenguaje
de programación.

Para adentrar al estudiante en el campo de la lógica y la programación, se


planteará a continuación un problema sencillo con su respectivo análisis
para que el estudiante realice el algoritmo y su codificación en el lenguaje de
programación Java.

Problema1

De un empleado se tiene el nombre y el salario anterior, se requiere hacer un


algoritmo que ingresando el porcentaje del aumento que obtuvo para el nuevo
año, imprima el nombre del empleado, el valor del aumento y el nuevo salario.

Análisis: Antes de proceder a resolver el problema, primero hay que entenderlo,


en este entendimiento se debe recoger la mayor cantidad de información y
realizar los siguientes pasos antes de pasar al algoritmo:

1. Determinar los datos de estrada: Los datos de entrada son todos aquellos
que el usuario deberá ingresar, son generalmente la alimentación del algoritmo.
Para el problema son: El nombre del empleado, el salario anterior y el porcentaje
que aumentó.

2. Determinar el proceso: aquí se debe tener claro cuáles son los cálculos u
operaciones que se deben realizar para obtener la salida deseada. En este caso
existen varias formas, una de ellas es calcular primero el valor del aumento
multiplicando el salario anterior por el porcentaje que aumentó, luego calcular el
nuevo salario sumando el salario anterior con el aumento.

3. Determinar la salida: La salida son los datos o la información que se desea


visualizar, en este caso es muy explícita: el nombre del empleado, el valor del
aumento y el nuevo salario.

Vale la pena recordar que una variable es un espacio de memoria que se reserva
para almacenar un dato o una información, y que el contenido de dicha variable
cambia en la ejecución del programa o del algoritmo. Las variables deben de ser
definidas o declaradas según el tipo de dato que se desea almacenar.
Código FDE 048
GUÍA DE TRABAJO
Versión 03
SISTEMAS DE INFORMACIÓN
Fecha 2009-06-09

De acuerdo a lo anterior es necesario determinar las variables necesarias para


almacenar los datos que requiere el algoritmo, tanto los datos de entrada como los
datos que resultan de las operaciones matemáticas y otros que se consideren
necesarios. Recordar que cada variable debe de ser definida o declarada según el
tipo de dato que se desea almacenar (números enteros o reales, cadenas de
caracteres o datos lógicos).
Código FDE 048
GUÍA DE TRABAJO
Versión 03
SISTEMAS DE INFORMACIÓN
Fecha 2009-06-09
Código FDE 048
GUÍA DE TRABAJO
Versión 03
SISTEMAS DE INFORMACIÓN
Fecha 2009-06-09

5. PROCEDIMIENTO:

A cada uno de los problemas que se enuncian a continuación se debe realizar el


análisis, el algoritmo en pseudocódigo y su codificación en el lenguaje de
programación Java.

En los lenguajes de programación al igual que en el pseudocódigo existen diferentes


formas de escribir ciertas instrucciones, como es el caso del ingreso de datos. En el
lenguaje Java se puede hacer uso de las clases que fueron creadas para este fin o
implementar una forma propia. Java incluye un conjunto de paquetes que agrupan
o contienen clases con características comunes, el programador puede reutilizar el
código de estas clases según su necesidad utilizando la instrucción import con el
nombre del paquete y la clase. El paquete java.lang contiene gran cantidad de
clases útiles para el programador, este paquete se importa de manera
predeterminada en todos los programas de Java; por ende, las clases en java.lang
son las únicas en la API que no requieren una declaración import. Un ejemplo de
esto es cuando utilizamos el método print o println que está en la clase System o
los métodos de la clase Math que contiene funcionalidades para realizar
operaciones matemáticas entre otras.

Observaciones que se deben tener en cuenta al programar en Java

 Por convención, el identificador del nombre de una clase siempre debe


comenzar con una letra mayúscula, y la primera letra de cada palabra
subsiguiente del identificador también debe ir en mayúscula.

 Seleccionar nombres de variables significativos ayuda a que un programa se


autodocumente (es decir, que sea más fácil entender con sólo leerlo, en lugar
de leer manuales o ver un número excesivo de comentarios).

 Por convención, los identificadores de nombre de variables empiezan con


una letra minúscula, y cada una de las palabras en el nombre, que van
después de la primera, deben empezar con una letra mayúscula. Por
ejemplo, el identificador primerNumero tiene una N mayúscula en su segunda
palabra, Numero.

 Java es sensible a mayúsculas y minúsculas. No utilizar la combinación


apropiada de letras minúsculas y mayúsculas para un identificador,
generalmente produce un error de compilación.

 Siempre que escriba una llave izquierda de apertura ({) en su programa,


escriba inmediatamente la llave derecha de cierre (}), esta práctica ayuda a
evitar errores debido a la omisión de una de las llaves.
Código FDE 048
GUÍA DE TRABAJO
Versión 03
SISTEMAS DE INFORMACIÓN
Fecha 2009-06-09

 El uso de paréntesis en las expresiones aritméticas complejas, incluso


cuando éstos no sean necesarios, puede hacer que las expresiones
aritméticas sean más fáciles de leer.

 Aplique sangría en todo el cuerpo de la clase, métodos y en las estructuras


de control como condicionales y estructuras repetitivas. Esto le da más
claridad al código y permite identificar errores con mayor facilidad.

 Familiarizarse con los mensajes de error de sintaxis que arroja el compilador


le ayudará a no cometer o corregir con mayor facilidad los errores
posteriormente.

 Cuando el compilador reporta un error de sintaxis, éste tal vez no se


encuentre en el número de línea indicado por el mensaje. Primero lea a que
se refiere el error; segundo verifique la línea en la que se reportó el error;
tercero si esa línea no contiene errores de sintaxis, verifique las líneas
anteriores. Puede ser que en la línea donde se reportó el error necesite de
otra instrucción antes que aún no se ha incluido.

 Cuando se está iniciando en la programación, es aconsejable agregar un


comentario de fin de línea después de la llave derecha de cierre (}), que
indique a qué método o clase pertenece.

 Todas las declaraciones import deben aparecer antes de declaración de


clase. Colocar una declaración import dentro del cuerpo de la declaración de
una clase, o después de la declaración de la misma, es un error de sintaxis.

 Por lo general, si olvida incluir una declaración import para una clase que
utilice en su programa, se produce un error de compilación que contiene el
mensaje: “cannot resolve symbol”. Cuando esto ocurra, verifique que haya
proporcionado las declaraciones import apropiadas y que los nombres en las
mismas estén escritos correctamente, incluyendo el uso apropiado de las
letras mayúsculas y minúsculas.

PROBLEMAS A RESOLVER

1. De un triángulo rectángulo se conocen las medidas de su hipotenusa y de uno


de sus catetos. Haga un algoritmo que permita calcular e imprimir la medida del
segundo cateto.

2. Una compañía de seguros cobra por una póliza ABC un valor por cada integrante
de la familia que corresponde al 6.5% del salario mínimo vigente, y adicionalmente
cobra el 5% del valor de la póliza por seguro de vida. Suponga que un cliente
desea comprar una póliza que cubra todos los miembros de su familia. Implemente
Código FDE 048
GUÍA DE TRABAJO
Versión 03
SISTEMAS DE INFORMACIÓN
Fecha 2009-06-09

una clase que imprima como salida el nombre de quien compró la póliza, el valor
del seguro de vida y el valor total a pagar.

3. Teniendo en cuenta la prioridad de operadores resuelva cada una de las siguientes


expresiones aritméticas sin usar la calculadora y codifíquelas en el lenguaje Java:

a) 5 + 8 * 2 – 8 mod 5 * 3 – 6 * 2 / 3
b) 2**3 + 5 – 4 * 2 + 7 mod 5 – 4 * 2
c) 3^3 + 6 – 2 + 7 * 3 + (6 + 2 * 3 mod 4) + 4
d) (7 * (10 - 5) mod 3) * 4 + 9
e) 7 * 10 - 5 mod 3 * 4 + 9
f) -4*7+2^3/4–5

4. Una empresa de servicios públicos cobra por metro cúbico de agua $1.500 y por
kilovatio/hora de consumo de energía cobra $130. Haga un algoritmo para
determinar el valor a pagar de una vivienda con base en la diferencia de la lectura
anterior y la lectura actual tanto de agua como de energía.

5. Convertir las siguientes expresiones algebraicas a expresiones algorítmicas:

6. Haga un algoritmo que permita ingresar una medida en metros e imprima su


equivalencia en centímetros, pulgadas, pies y kilómetros. Sabiendo que: un metro
tiene 100 centímetros, una pulgada tiene 2.54 centímetros, un kilómetro tiene
1000 metros y un pie tiene 12 pulgadas

7. Haga un algoritmo para leer la velocidad de un auto expresada en metros por


segundo e imprima la velocidad del auto expresada en kilómetros por hora.

8. En un almacén el valor unitario de un producto es de $20.000, por cada 10 artículos


que se compren el almacén rebaja $5.000 por unidad. Haga un algoritmo que
imprima el valor que pagará un cliente por la compra de dicho producto y la rebaja
que obtuvo. Nota: este problema no requiere el uso de condicionales, utilice solo
operadores aritméticos.

9. La nota final de un estudiante se calcula con base en los siguientes aspectos:


Un examen parcial del 15%
Código FDE 048
GUÍA DE TRABAJO
Versión 03
SISTEMAS DE INFORMACIÓN
Fecha 2009-06-09

Un examen final del 30%


Y tres talleres que conforman un 55%
Haga un algoritmo que imprima el número de documento del estudiante, el nombre
y la nota final.

10. Haga un algoritmo que permita ingresar una medida en metros e imprima su
equivalencia en centímetros, pulgadas, pies y kilómetros. Sabiendo que: un metro
tiene 100 centímetros, una pulgada tiene 2.54 centímetros, un kilómetro tiene 1000
metros y un pie tiene 12 pulgadas. Utilice solo las equivalencias dadas.

11. Una persona dejó una herencia en dólares y su voluntad fue de repartirla entre sus
tres hijos proporcionalmente a la edad de cada uno. Haga un algoritmo que imprima
el nombre de cada hijo y el valor le corresponde en pesos colombianos.

12. Conociendo el diámetro de una circunferencia, haga un algoritmo que permita


obtener el área y su longitud.

13. María, Ana y Luís tienen una empresa y cuentan con un presupuesto de
funcionamiento mensual de X millones. El presupuesto lo distribuyen en los
siguientes ítems: funcionamiento 55%, pago de empleados 28% y un 17% en
impuestos y servicios públicos. A María le corresponde pagar una tercera parte de
la mitad de cada ítem y el resto de los gastos se dividen entre Ana y Luis. Haga un
programa que imprima el valor de cada ítem y el valor que le corresponde pagar a
cada persona por cada ítem.

14. Se tiene un tanque de forma cilíndrica del cual se conoce la altura y el diámetro en
metros. Haga un algoritmo que imprima la capacidad del tanque en litros, sabiendo
que el volumen del cilindro es igual a PI * Radio² * Altura

15. Un empleado gana 3.5 salarios mínimos mensuales vigentes y le deducen el 10%
por un préstamo y el 3% de retención en la fuente. Haga un algoritmo que imprima;
el nombre del empleado, el salario bruto, el valor del descuento por préstamo, valor
del descuento por retención y el salario neto del trabajador.

16. Suponga que en una empresa hay tres tipos de empleados: ejecutivos,
administrativos y operarios. La empresa tiene un salario básico de X dólares
mensuales. El ejecutivo gana el doble del administrativo, el operario gana dos
terceras partes del administrativo más un 30% y el administrativo gana un salario
básico más un 20%. Haga un algoritmo que imprima el salario en pesos de cada
uno de los tipos de empleados.
Código FDE 048
GUÍA DE TRABAJO
Versión 03
SISTEMAS DE INFORMACIÓN
Fecha 2009-06-09

17. Una inmobiliaria vende terrenos a $1.000.000 el metro cuadrado. El cliente debe dar
una inicial del 15% y el resto lo paga en 12 cuotas a cero interés. Determine el valor
total a pagar y el valor de cada cuota conociendo el largo y el ancho del terreno.

18. Haga un algoritmo que permita ingresar un número entero, suponga que el número
siempre es de tres cifras, el algoritmo debe imprimir: La suma de todos los dígitos y
el número invertido. Ejemplo si se ingresa 423, la salida es: 9 y 324

19. Juan, reconocido estudiante de sistemas de información, quiere desarrollar un


programa que le ayude a calcular cuál es la nota mínima que debe sacar para
aprobar una materia algoritmos luego de saber su primera nota que equivale al
60% de la nota final (El rango de notas es de 0 a 5)

20. In ancient times, communication was not as swift as it is today. When a kingdom
was at war,it could take months to muster all the armed forces. But by using fire-lit
beacons at strategic locations, it was still possible to quickly send emergency
signals. When the first beacon is lit, all other beacons within sight from it are also
lit. All beacons within sight of these are then lit, and so on until all beacons are lit -
assuming of course that all beacons are within sight of each other, directly or
indirectly. If they are not, the dire news must be carried by riders between some
beacons.Write an algorithm that determines the distance between the armed forces
For simplicity, we model the country in the following way: an armed force is
represented as a point in the xy-plane and another armed force is represented as
another point in the xy plane.

6. BIBLIOGRAFÍA

Weiss, Mark Allen: "Estructuras de datos y algoritmos", Addison-Wesley


Iberoamericana, 1995.

•Kruse, Robert Leroy; Tondon, Clovis L.; Leung, Bruce P: "Data structures and
program design in C'', Prentice-Hall, 1997.

•Brassard, Gilles; Bratley, Paul: "Algorithmics: theory and practice", Prentice-


Hall, 1988.

•Sedgewick, Robert: "Algorithms in C++", Addison-Wesley, 1992.


•Osorio Rivera, Fray León. Lógica y programación orientada a objetos: un inicio
al desarrollo de software. - 1. ed. Publicación Medellín : Instituto Tecnológico
Metropolitano, 2008. 375 p
Código FDE 048
GUÍA DE TRABAJO
Versión 03
SISTEMAS DE INFORMACIÓN
Fecha 2009-06-09

•Osorio Rivera, Fray León. Introducción a la programación en Java : un enfoque


práctico. - 1. ed. Publicación Medellín : Instituto Tecnológico Metropolitano,
2007. 196 p

•OVIEDO REGINO, Efraín M. Lógica de programación. 2 ed.


Bogotá: Ecoe Ediciones, 2005. 316 p.

•JOYANES AGUILAR, Luis. Fundamentos de programación: algoritmos y


estructuras de datos. 3 ed. Madrid: McGraw-Hill, 2003. 1004 p.

•TUCKER, Allen B et al. Fundamentos de informática: lógica, resolución de


problemas, programas y computadoras. Madrid: McGraw-Hill, 1994. 392 p.

•JO ANN Smith. C++ Desarrollo de proyectos. México: Thomson, 2001. 234 p.

•VÁSQUEZ, L., Lógica para programación de computadores: fundamentos y


aplicaciones. 3 ed. Medellín: Ediciones Gráficas, 1986. 215 p.

Elaborado por: Diego Tangarife


Versión: 3
Fecha: Febrero 12 de 2019
Aprobado por:

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